diff --git a/docs/databases/tables_modify.sql b/docs/databases/tables_modify.sql index c875e16..5b5776a 100644 --- a/docs/databases/tables_modify.sql +++ b/docs/databases/tables_modify.sql @@ -21,4 +21,12 @@ insert into sys_message values (3,341,'交易物流','您有新的物流信息','您的订单商品已经到取货点,请在7日内取出。',now(),now(),0,1), (4,341,'云链助手','该施肥了','春天已经至,已到施肥时间。。',now(),now(),0,1); -SELECT id,user_id,code,params,content,ctime,utime,status FROM sys_message WHERE user_id = 341 ORDER BY ctime desc \ No newline at end of file +SELECT id,user_id,code,params,content,ctime,utime,status FROM sys_message WHERE user_id = 341 ORDER BY ctime desc + + +ALTER TABLE mallplus1.sys_message MODIFY COLUMN id int(10) unsigned auto_increment NOT NULL; +ALTER TABLE mallplus1.sys_message MODIFY COLUMN status tinyint(3) unsigned DEFAULT 0 NOT NULL COMMENT '0未查看,1已查看'; +ALTER TABLE mallplus1.sys_message MODIFY COLUMN utime bigint(20) unsigned NULL COMMENT '查看时间'; +ALTER TABLE mallplus1.sys_message MODIFY COLUMN content text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容'; +ALTER TABLE mallplus1.sys_message MODIFY COLUMN params varchar(5000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数'; +ALTER TABLE mallplus1.sys_message MODIFY COLUMN code varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息编码'; diff --git a/docs/images/icon物流.png b/docs/images/icon物流.png new file mode 100644 index 0000000..f8b523b Binary files /dev/null and b/docs/images/icon物流.png differ diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/controller/SysMessageController.java b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/controller/SysMessageController.java index 7cac749..5645929 100644 --- a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/controller/SysMessageController.java +++ b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/controller/SysMessageController.java @@ -1,7 +1,18 @@ package com.zscat.mallplus.ums.controller; +import com.zscat.mallplus.annotation.SysLog; +import com.zscat.mallplus.ums.entity.SysMessage; +import com.zscat.mallplus.ums.entity.UmsMember; import com.zscat.mallplus.ums.service.ISysMessageService; +import com.zscat.mallplus.ums.vo.SysMessageSendSelectVo; +import com.zscat.mallplus.utils.CommonResult; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -19,8 +30,49 @@ import javax.annotation.Resource; @RequestMapping("/ums/sysMessage") public class SysMessageController { + private static final Logger log = LoggerFactory.getLogger(SysMessageController.class); + @Resource private ISysMessageService messageService; + @PostMapping(value = "/sendToOne") + public Object sendToOne(@RequestBody SysMessage entity) { + try { + if (messageService.sendToOne(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("向指定会员 {} 发信息失败:{}", entity.getUserId(), e.getMessage()); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + @PostMapping(value = "/sendToAll") + public Object sendToAll(@RequestBody SysMessage entity) { + try { + if (messageService.sendToAll(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("向所有会员发信息失败:{}", e.getMessage()); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + @PostMapping(value = "/sendToSelect") + public Object sendToSelect(@RequestBody SysMessageSendSelectVo vo) { + try { + if (messageService.sendToSelect(vo)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("向所选会员发信息失败:{}", e.getMessage()); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + } diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/controller/UmsMemberController.java b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/controller/UmsMemberController.java index e01c0d7..7841161 100644 --- a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/controller/UmsMemberController.java +++ b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/controller/UmsMemberController.java @@ -174,7 +174,7 @@ public class UmsMemberController { @SysLog(MODULE = "ums", REMARK = "删除会员表") @ApiOperation("删除会员表") @GetMapping(value = "/delete/{id}") - @PreAuthorize("hasAuthority('ums:UmsMember:delete')") +// @PreAuthorize("hasAuthority('ums:UmsMember:delete')") public Object deleteUmsMember(@ApiParam("会员表id") @PathVariable Long id) { try { if (ValidatorUtils.empty(id)) { diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/ISysMessageService.java b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/ISysMessageService.java index 736a5bc..40b4684 100644 --- a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/ISysMessageService.java +++ b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/ISysMessageService.java @@ -2,6 +2,7 @@ package com.zscat.mallplus.ums.service; import com.baomidou.mybatisplus.extension.service.IService; import com.zscat.mallplus.ums.entity.SysMessage; +import com.zscat.mallplus.ums.vo.SysMessageSendSelectVo; /** *

@@ -13,4 +14,11 @@ import com.zscat.mallplus.ums.entity.SysMessage; */ public interface ISysMessageService extends IService { + boolean sendToOne(SysMessage entity); + + boolean sendToAll(SysMessage entity); + + boolean sendToSelect(SysMessageSendSelectVo vo); + + boolean sendOrderDeliver(String orderNo,Integer userId); } diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/IUmsMemberService.java b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/IUmsMemberService.java index 6f5967d..2d34d88 100644 --- a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/IUmsMemberService.java +++ b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/IUmsMemberService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.zscat.mallplus.ums.entity.UmsMember; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -19,4 +20,6 @@ public interface IUmsMemberService extends IService { void updataMemberOrderInfo(); Map memberMonthStatic( String date); + + List listAll(); } diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/impl/SysMessageServiceImpl.java b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/impl/SysMessageServiceImpl.java index 066e05d..2376693 100644 --- a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/impl/SysMessageServiceImpl.java +++ b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/impl/SysMessageServiceImpl.java @@ -2,10 +2,17 @@ package com.zscat.mallplus.ums.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zscat.mallplus.ums.entity.SysMessage; +import com.zscat.mallplus.ums.entity.UmsMember; import com.zscat.mallplus.ums.mapper.SysMessageMapper; import com.zscat.mallplus.ums.service.ISysMessageService; +import com.zscat.mallplus.ums.service.IUmsMemberService; +import com.zscat.mallplus.ums.vo.SysMessageSendSelectVo; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 站内信 服务实现类 @@ -17,4 +24,51 @@ import org.springframework.stereotype.Service; @Service public class SysMessageServiceImpl extends ServiceImpl implements ISysMessageService { + @Autowired + private IUmsMemberService memberService; + + @Override + public boolean sendToOne(SysMessage entity) { + entity.setId(null); + return this.save(entity); + } + + @Override + public boolean sendToAll(SysMessage entity) { + List memberList = memberService.listAll(); +// List messList = new ArrayList<>(); + for (UmsMember member : memberList) { +// SysMessage + entity.setId(null); + Integer id = Math.toIntExact(member.getId()); + entity.setUserId(id); +// messList.add(en) + this.save(entity); + } + return true; + } + + @Override + public boolean sendToSelect(SysMessageSendSelectVo vo) { + SysMessage entity = vo.getSysMessage(); + List userIdList = vo.getUserIdList(); + for (Integer memberId : userIdList) { + entity.setId(null); + entity.setUserId(memberId); + this.save(entity); + } + return true; + } + + @Override + public boolean sendOrderDeliver(String orderNo, Integer userId) { + SysMessage entity = new SysMessage(); + entity.setId(null); + entity.setCode("交易物流"); + entity.setParams("货物已发出"); + entity.setContent("你的订单号码为:"+orderNo+" 的货物已经发出,请您留意物流信息!"); + entity.setUserId(userId); + this.save(entity); + return true; + } } diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/impl/UmsMemberServiceImpl.java b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/impl/UmsMemberServiceImpl.java index 808a2e2..16703b1 100644 --- a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/impl/UmsMemberServiceImpl.java +++ b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/impl/UmsMemberServiceImpl.java @@ -58,4 +58,9 @@ public class UmsMemberServiceImpl extends ServiceImpl listAll() { + return baseMapper.selectList(new QueryWrapper()); + } } diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/vo/SysMessageSendSelectVo.java b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/vo/SysMessageSendSelectVo.java new file mode 100644 index 0000000..1717df4 --- /dev/null +++ b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/vo/SysMessageSendSelectVo.java @@ -0,0 +1,29 @@ +package com.zscat.mallplus.ums.vo; + +import com.zscat.mallplus.ums.entity.SysMessage; + +import java.util.ArrayList; +import java.util.List; + +public class SysMessageSendSelectVo { + + private List userIdList = new ArrayList<>(); + + private SysMessage sysMessage; + + public List getUserIdList() { + return userIdList; + } + + public void setUserIdList(List userIdList) { + this.userIdList = userIdList; + } + + public SysMessage getSysMessage() { + return sysMessage; + } + + public void setSysMessage(SysMessage sysMessage) { + this.sysMessage = sysMessage; + } +} diff --git a/mallplus-admin/src/main/resources/application-dev.properties b/mallplus-admin/src/main/resources/application-dev.properties index 233c9dc..7f32296 100644 --- a/mallplus-admin/src/main/resources/application-dev.properties +++ b/mallplus-admin/src/main/resources/application-dev.properties @@ -6,7 +6,7 @@ spring.redis.host=127.0.0.1 # Redis\u670D\u52A1\u5668\u8FDE\u63A5\u7AEF\u53E3 spring.redis.port=6379 # Redis\u670D\u52A1\u5668\u8FDE\u63A5\u5BC6\u7801\uFF08\u9ED8\u8BA4\u4E3A\u7A7A\uFF09 -spring.redis.password=123456 +spring.redis.password= # \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09 spring.redis.pool.max-active=8 # \u8FDE\u63A5\u6C60\u6700\u5927\u963B\u585E\u7B49\u5F85\u65F6\u95F4\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09 diff --git a/mallplus-mbg/src/main/java/com/zscat/mallplus/ums/entity/SysMessage.java b/mallplus-mbg/src/main/java/com/zscat/mallplus/ums/entity/SysMessage.java index 6ce24d4..cdd8cdf 100644 --- a/mallplus-mbg/src/main/java/com/zscat/mallplus/ums/entity/SysMessage.java +++ b/mallplus-mbg/src/main/java/com/zscat/mallplus/ums/entity/SysMessage.java @@ -49,7 +49,7 @@ public class SysMessage implements Serializable { /** * 创建时间 */ - private Long ctime; + private Long ctime = System.currentTimeMillis(); /** * 查看时间 @@ -62,7 +62,7 @@ public class SysMessage implements Serializable { private Boolean status = false; public String getCdate() { - cdate = ""; + String cdate = ""; if (ctime != null && ctime > 0) { cdate = DateUtil.format(new Date(ctime), "yyyy-MM-dd"); } @@ -70,17 +70,17 @@ public class SysMessage implements Serializable { } public String getUdate() { - udate = ""; + String udate = ""; if (utime != null && utime > 0) { udate = DateUtil.format(new Date(utime), "yyyy-MM-dd"); } return udate; } - @TableField(exist = false) - private String cdate; - @TableField(exist = false) - private String udate; +// @TableField(exist = false) +// private String cdate; +// @TableField(exist = false) +// private String udate; public Integer getId() { diff --git a/mallplusui-web-admin/config/dev.env.js b/mallplusui-web-admin/config/dev.env.js index 522063d..1d2045d 100644 --- a/mallplusui-web-admin/config/dev.env.js +++ b/mallplusui-web-admin/config/dev.env.js @@ -4,6 +4,6 @@ const prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"', - BASE_API: '"http://mall.yyundong.com/adminapi"', - // BASE_API: '"http://127.0.0.1:8085"' + // BASE_API: '"http://mall.yyundong.com/adminapi"', + BASE_API: '"http://127.0.0.1:8085"' }) diff --git a/mallplusui-web-admin/src/api/ums/sysMessage.js b/mallplusui-web-admin/src/api/ums/sysMessage.js index 26d9f31..34c8459 100644 --- a/mallplusui-web-admin/src/api/ums/sysMessage.js +++ b/mallplusui-web-admin/src/api/ums/sysMessage.js @@ -1,80 +1,22 @@ import request from '@/utils/request' -export function fetchList(params) { - return request({ - url:'/ums/UmsMember/list', - method:'get', - params:params - }) -} -export function createMember(data) { - return request({ - url:'/ums/UmsMember/create', - method:'post', - data:data - }) -} -export function updateShowStatus(data) { - return request({ - url:'/ums/UmsMember/update/showStatus', - method:'post', - data:data - }) -} - -export function updateFactoryStatus(data) { - return request({ - url:'/ums/UmsMember/update/factoryStatus', - method:'post', - data:data - }) -} - -export function deleteMember(id) { - return request({ - url:'/ums/UmsMember/delete/'+id, - method:'get', - }) -} - -export function getMember(id) { - return request({ - url:'/ums/UmsMember/'+id, - method:'get', - }) -} -export function updateMember(data) { +export function sendToOne(data) { return request({ - url:'/ums/UmsMember/update', + url:'/ums/sysMessage/sendToOne', method:'post', data:data }) } -export function updateMemberOrderInfo() { +export function sendToAll(data) { return request({ - url:'/ums/UmsMember/updateMemberOrderInfo', - method:'post' - }) -} - -export function fetchBlanceList(id) { - return request({ - url:'/ums/UmsMember/fetchBlanceList/'+id, - method:'get', - }) -} - -export function handleEditBlance(data) { - return request({ - url:'/ums/UmsMember/handleEditBlance', + url:'/ums/sysMessage/sendToAll', method:'post', data:data }) } - -export function handleEditIntegration(data) { +export function sendToSelect(data) { return request({ - url:'/ums/UmsMember/handleEditIntegration', + url:'/ums/sysMessage/sendToSelect', method:'post', data:data }) diff --git a/mallplusui-web-admin/src/styles/index.scss b/mallplusui-web-admin/src/styles/index.scss index 9e43a5e..0faa5b0 100644 --- a/mallplusui-web-admin/src/styles/index.scss +++ b/mallplusui-web-admin/src/styles/index.scss @@ -136,6 +136,7 @@ a:hover { .operate-container .btn-add { float: right; + margin-left: 20px; } //表格栏样式 diff --git a/mallplusui-web-admin/src/views/ums/member/index.vue b/mallplusui-web-admin/src/views/ums/member/index.vue index b82bf2b..580a43e 100644 --- a/mallplusui-web-admin/src/views/ums/member/index.vue +++ b/mallplusui-web-admin/src/views/ums/member/index.vue @@ -16,18 +16,20 @@ 数据列表 - + 向选择会员发送信息 +

@@ -91,7 +93,7 @@