diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/enums/MessageTypeEnum.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/enums/MessageTypeEnum.java index 737ff61..581200b 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/enums/MessageTypeEnum.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/enums/MessageTypeEnum.java @@ -9,7 +9,8 @@ public enum MessageTypeEnum { USER_REGISTRATION(1, "用户注册"), SUBMIT_MESSAGE(2, "提交留言"), - BINDING_INSTRUMENTS(3, "绑定仪器"); + BINDING_INSTRUMENTS(3, "绑定仪器"), + COMPLETE_USER_INFORMATION(4, "完善用户信息"); private final Integer code; private final String info; diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/enums/WxUserIntegralMessageTypeEnum.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/enums/WxUserIntegralMessageTypeEnum.java index 8891ee6..a31b142 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/enums/WxUserIntegralMessageTypeEnum.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/enums/WxUserIntegralMessageTypeEnum.java @@ -3,7 +3,7 @@ package com.flossom.common.core.enums; /** * wx_user_script_log *

- * 消息类型:0、未知,1、用户注册,2、绑定仪器,3、打卡活动,4、护理计划,5、问卷活动,6、会员管理,7、消息模板 + * 消息类型:0、未知,1、用户注册,2、绑定仪器,3、打卡活动,4、护理计划,5、问卷活动,6、会员管理,7、消息模板,8、留言,9、完善用户信息 */ public enum WxUserIntegralMessageTypeEnum { @@ -15,7 +15,8 @@ public enum WxUserIntegralMessageTypeEnum { QUESTIONNAIRE_ACTIVITY(5, "问卷活动"), MEMBER_MANAGEMENT(6, "会员管理"), MESSAGE_TEMPLATE(7, "消息模板"), - LEAVE_MESSAGE(8, "留言"); + LEAVE_MESSAGE(8, "留言"), + COMPLETE_USER_INFORMATION(9, "完善用户信息"); private final Integer code; private final String info; diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/CtLeaveMessageMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/CtLeaveMessageMapper.xml index 24dcf32..baf9cf6 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/CtLeaveMessageMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/CtLeaveMessageMapper.xml @@ -117,5 +117,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and create_time <= #{params.endTime} + order by create_time desc diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/CtleaveMessageServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/CtleaveMessageServiceImpl.java index 16b6124..969d298 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/CtleaveMessageServiceImpl.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/CtleaveMessageServiceImpl.java @@ -2,12 +2,14 @@ package com.flossom.miniProgram.service.impl; import com.flossom.common.core.domain.entity.CtLeaveMessage; import com.flossom.common.core.domain.entity.WxScriptMessage; +import com.flossom.common.core.domain.entity.WxUserMember; import com.flossom.common.core.domain.entity.WxUserScriptLog; import com.flossom.common.core.enums.CtLeaveMessageEnum; import com.flossom.common.core.enums.MessageTypeEnum; import com.flossom.common.core.enums.WxUserIntegralMessageTypeEnum; import com.flossom.common.core.mapper.CtLeaveMessageMapper; import com.flossom.common.core.mapper.WxScriptMessageMapper; +import com.flossom.common.core.mapper.WxUserMemberMapper; import com.flossom.common.core.mapper.WxUserScriptLogMapper; import com.flossom.common.core.utils.DateUtils; import com.flossom.common.security.utils.SecurityUtils; @@ -30,6 +32,9 @@ public class CtleaveMessageServiceImpl implements ICtleaveMeassageService { @Autowired private WxUserScriptLogMapper wxUserScriptLogMapper; + @Autowired + private WxUserMemberMapper wxUserMemberMapper; + @Transactional @Override public int saveCtleaveMeassage(CtLeaveMessage ctLeaveMessage) { @@ -56,10 +61,14 @@ public class CtleaveMessageServiceImpl implements ICtleaveMeassageService { CtLeaveMessageEnum ctLeaveMessageEnum = CtLeaveMessageEnum.fromString(ctLeaveMessage.getSource()); ctLeaveMessage.setSourceName(ctLeaveMessageEnum.getRemark()); ctLeaveMessage.setCreateTime(new Date()); - ctLeaveMessage.setUserId(SecurityUtils.getLoginUser().getWxUserMember().getId()); - ctLeaveMessage.setUserImg(SecurityUtils.getLoginUser().getWxUserMember().getHeadimg()); - ctLeaveMessage.setUserName(SecurityUtils.getLoginUser().getWxUserMember().getNickname()); - ctLeaveMessage.setUserPhone(SecurityUtils.getLoginUser().getWxUserMember().getMobile()); + WxUserMember wxUserMember = wxUserMemberMapper.selectWxUserMemberById(SecurityUtils.getLoginUser().getWxUserMember().getId()); + if (wxUserMember != null) { + ctLeaveMessage.setUserId(wxUserMember.getId()); + ctLeaveMessage.setUserNumber(wxUserMember.getId().intValue()); + ctLeaveMessage.setUserImg(wxUserMember.getHeadimg()); + ctLeaveMessage.setUserName(wxUserMember.getNickname()); + ctLeaveMessage.setUserPhone(wxUserMember.getMobile()); + } return ctLeaveMessageMapper.insertCtLeaveMessage(ctLeaveMessage); } } diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxUserMemberServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxUserMemberServiceImpl.java index 073024c..672908f 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxUserMemberServiceImpl.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxUserMemberServiceImpl.java @@ -80,6 +80,8 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService { // 未注册用户,就注册游客账户 // 2.1、封装微信用户信息 wxUserMember = new WxUserMember(); + // 即将过期积分,默认为0 + wxUserMember.setExpireCredit(0); wxUserMember.setOpenid(wxCode2SessionRet.getOpenid()); wxUserMember.setUnionid(wxCode2SessionRet.getUnionid()); wxUserMember.setLoginTime(DateUtils.getNowDate()); @@ -206,6 +208,24 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService { wxUserIntegralLog.setRemarkContent("首次完善用户信息"); wxUserIntegralLogMapper.insertWxUserIntegralLog(wxUserIntegralLog); + // 2.4、用户注册成功发送消息 + WxScriptMessage wxScriptMessage = wxScriptMessageMapper.selectOneByMessageType(MessageTypeEnum.COMPLETE_USER_INFORMATION.getCode()); + if (wxScriptMessage != null) { + WxUserScriptLog wxUserScriptLog = new WxUserScriptLog(); + BeanUtils.copyProperties(wxScriptMessage, wxUserScriptLog); + wxUserScriptLog.setId(null); + wxUserScriptLog.setWxUserId(SecurityUtils.getLoginUser().getWxUserMember().getId()); + wxUserScriptLog.setMessageType(WxUserIntegralMessageTypeEnum.COMPLETE_USER_INFORMATION.getCode()); + wxUserScriptLog.setIsCustom(0); + wxUserScriptLog.setTitile(wxScriptMessage.getMessageTitle()); + wxUserScriptLog.setContent(wxScriptMessage.getMessageContent()); + wxUserScriptLog.setCreateTime(DateUtils.getNowDate()); + wxUserScriptLog.setCreateBy(null); + wxUserScriptLog.setUpdateTime(null); + wxUserScriptLog.setUpdateBy(null); + wxUserScriptLogMapper.insertWxUserScriptLog(wxUserScriptLog); + } + // TODO: 首次完善,增加加分 (对接数云未完成) } BeanUtils.copyProperties(userMemberUpdateVo, wxUserMember); @@ -228,7 +248,10 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService { @Override @Transactional(propagation = Propagation.SUPPORTS) public LoginUserVo refreshWxUserInfo() { - String openid = SecurityUtils.getLoginUser().getWxUserMember().getOpenid(); + LoginUser loginUser = SecurityUtils.getLoginUser(); + + // 响应最新数据 + String openid = loginUser.getWxUserMember().getOpenid(); WxUserMember wxUserMember = wxUserMemberMapper.selectWxUserMemberByOpenId(openid); if (wxUserMember == null) { logger.error("刷新用户信息失败"); @@ -238,6 +261,11 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService { BeanUtils.copyProperties(wxUserMember, loginUserVo); loginUserVo.setToken(null); loginUserVo.setIntegralText(null); + + // 刷新缓存信息 + String userKey = CacheConstants.LOGIN_TOKEN_KEY + loginUser.getToken(); + loginUser.setWxUserMember(wxUserMember); + redisService.setCacheObject(userKey, loginUser, CacheConstants.EXPIRATION, TimeUnit.MINUTES); return loginUserVo; } diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/CtLeaveMessageController.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/CtLeaveMessageController.java index b645d19..7ad55a1 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/CtLeaveMessageController.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/CtLeaveMessageController.java @@ -50,14 +50,14 @@ public class CtLeaveMessageController extends BaseController startPage(); // List list = ctLeaveMessageService.selectCtLeaveMessageList(ctLeaveMessage); List list = ctLeaveMessageService.selectCtLeaveMessageByCondition(ctLeaveMessage); - for (CtLeaveMessage leaveMessage: list) { - System.out.println("获取到用户id="+leaveMessage.getUserId()); - if (Objects.nonNull(leaveMessage.getUserId())) { - WxUserMember userMember = wxUserMemberService.selectWxUserMemberByIdInit(leaveMessage.getUserId()); - System.out.println("获取到用户="+userMember); - leaveMessage.setWxUserMember(userMember); - } - } +// for (CtLeaveMessage leaveMessage: list) { +// System.out.println("获取到用户id="+leaveMessage.getUserId()); +// if (Objects.nonNull(leaveMessage.getUserId())) { +// WxUserMember userMember = wxUserMemberService.selectWxUserMemberByIdInit(leaveMessage.getUserId()); +// System.out.println("获取到用户="+userMember); +// leaveMessage.setWxUserMember(userMember); +// } +// } return getDataTable(list); } diff --git a/flossom-ui/src/views/system/leaveMessage/index.vue b/flossom-ui/src/views/system/leaveMessage/index.vue index f7c9a66..9fe9b06 100644 --- a/flossom-ui/src/views/system/leaveMessage/index.vue +++ b/flossom-ui/src/views/system/leaveMessage/index.vue @@ -84,21 +84,23 @@ - + - - - + + + @@ -139,7 +141,7 @@ - + diff --git a/flossom-ui/src/views/system/member/index.vue b/flossom-ui/src/views/system/member/index.vue index 42745c8..a57c0b6 100644 --- a/flossom-ui/src/views/system/member/index.vue +++ b/flossom-ui/src/views/system/member/index.vue @@ -606,6 +606,8 @@ 问卷活动 会员管理 消息模板 + 用户留言 + 完善用户信息 diff --git a/flossom-ui/src/views/system/scriptMessage/index.vue b/flossom-ui/src/views/system/scriptMessage/index.vue index 38326a1..9b22506 100644 --- a/flossom-ui/src/views/system/scriptMessage/index.vue +++ b/flossom-ui/src/views/system/scriptMessage/index.vue @@ -133,6 +133,7 @@ 用户注册 提交留言 仪器绑定 + 完善用户信息 @@ -207,6 +208,7 @@ + diff --git a/flossom-ui/src/views/system/siteCarouselInfo/index.vue b/flossom-ui/src/views/system/siteCarouselInfo/index.vue index 4a906df..8b800bf 100644 --- a/flossom-ui/src/views/system/siteCarouselInfo/index.vue +++ b/flossom-ui/src/views/system/siteCarouselInfo/index.vue @@ -529,7 +529,7 @@ export default { { required: true, message: "跳转参数不能为空", trigger: "blur" } ], redirectUrl: [ - { required: true, message: "页面链接不能为空", trigger: "blur" } + { required: true, message: "小程序页面不能为空", trigger: "blur" } ], videoNo: [ { required: true, message: "视频号ID不能为空", trigger: "blur" }