diff --git a/epdc-cloud-user/pom.xml b/epdc-cloud-user/pom.xml index 29472c0..b2c6cc4 100644 --- a/epdc-cloud-user/pom.xml +++ b/epdc-cloud-user/pom.xml @@ -173,6 +173,7 @@ 47.104.85.99:9876;114.215.125.123:9876 organizationGroup + userGroup @@ -209,6 +210,7 @@ 47.104.85.99:9876;114.215.125.123:9876 organizationGroup + userGroup @@ -244,6 +246,7 @@ 172.16.1.242:9876;172.16.1.243:9876 organizationGroup + userGroup diff --git a/epdc-cloud-user/src/main/java/com/elink/esua/epdc/rocketmq/dto/UserModifyDTO.java b/epdc-cloud-user/src/main/java/com/elink/esua/epdc/rocketmq/dto/UserModifyDTO.java new file mode 100644 index 0000000..1d52ea6 --- /dev/null +++ b/epdc-cloud-user/src/main/java/com/elink/esua/epdc/rocketmq/dto/UserModifyDTO.java @@ -0,0 +1,23 @@ +package com.elink.esua.epdc.rocketmq.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 用户党员认证-接收MQ消息DTO + * 由于党员认证是单向的,所以不需要再记录新旧党员标识 + * + * @author zhy + * @date 2021/8/30 14:05 + */ +@Data +public class UserModifyDTO implements Serializable { + private static final long serialVersionUID = -5692602006311937083L; + + /** + * 用户ID + */ + private String userId; + +} diff --git a/epdc-cloud-user/src/main/java/com/elink/esua/epdc/rocketmq/producer/UserModifyProducer.java b/epdc-cloud-user/src/main/java/com/elink/esua/epdc/rocketmq/producer/UserModifyProducer.java new file mode 100644 index 0000000..0ceed0f --- /dev/null +++ b/epdc-cloud-user/src/main/java/com/elink/esua/epdc/rocketmq/producer/UserModifyProducer.java @@ -0,0 +1,42 @@ +package com.elink.esua.epdc.rocketmq.producer; + +import lombok.extern.slf4j.Slf4j; +import org.apache.rocketmq.client.producer.SendResult; +import org.apache.rocketmq.common.message.Message; +import org.apache.rocketmq.spring.core.RocketMQTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 用户党员认证-发送MQ消息 + * + * @author zhy + * @date 2021/8/30 13:55 + */ +@Slf4j +@Component +public class UserModifyProducer { + + @Autowired + private RocketMQTemplate rocketMQTemplate; + + /** + * 发送消息 + * + * @return void + * @params [topic, tag, keys, body] + * @author liuchuang + * @since 2020/3/6 21:09 + */ + public void sendMessage(String topic, String tag, String keys, String body) { + Message message = new Message(topic, tag, keys, body.getBytes()); + try { + SendResult sendResult = rocketMQTemplate.getProducer().send(message); + log.info("EPDC-USER-SERVER发送消息结果:{sendStatus:{}, topic:{}, msgId:{}}", sendResult.getSendStatus(), topic, sendResult.getMsgId()); + } catch (Exception e) { + log.error("EPDC-USER-SERVER发送消息异常:{topic:{}, tag:{}, keys:{}, body:{}}", topic, tag, keys, body); + e.printStackTrace(); + } + } + +} diff --git a/epdc-cloud-user/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/epdc-cloud-user/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java index 95c800c..9167aa6 100644 --- a/epdc-cloud-user/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java +++ b/epdc-cloud-user/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java @@ -21,16 +21,18 @@ import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.elink.esua.epdc.commons.dynamic.datasource.annotation.DataSource; import com.elink.esua.epdc.commons.mybatis.enums.EpdcDelFlagEnum; -import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.mybatis.utils.DeptEntityUtils; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; +import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant; import com.elink.esua.epdc.commons.tools.constant.StrConstant; import com.elink.esua.epdc.commons.tools.enums.UserAuthTypeEnum; import com.elink.esua.epdc.commons.tools.enums.UserSexEnum; @@ -49,22 +51,9 @@ import com.elink.esua.epdc.dao.UserAuthenticateHistoryDao; import com.elink.esua.epdc.dao.UserDao; import com.elink.esua.epdc.datasources.DataSourceNames; import com.elink.esua.epdc.dto.*; -import com.elink.esua.epdc.dto.epdc.UserCarInfoDTO; -import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO; -import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; -import com.elink.esua.epdc.dto.epdc.result.*; -import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; -import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; -import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.constant.AuthenticatedConsant; -import com.elink.esua.epdc.constant.UserFieldConsant; -import com.elink.esua.epdc.dao.*; -import com.elink.esua.epdc.dto.CachingUserInfoDTO; -import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; -import com.elink.esua.epdc.dto.UserDTO; -import com.elink.esua.epdc.dto.UserGridRelationDTO; import com.elink.esua.epdc.dto.epdc.EpdcCompleteAppUserDTO; import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO; +import com.elink.esua.epdc.dto.epdc.UserCarInfoDTO; import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.result.*; import com.elink.esua.epdc.entity.*; @@ -75,15 +64,11 @@ import com.elink.esua.epdc.excel.UserExcel; import com.elink.esua.epdc.exception.UserModuleErrorCode; import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO; +import com.elink.esua.epdc.rocketmq.dto.UserModifyDTO; +import com.elink.esua.epdc.rocketmq.producer.UserModifyProducer; import com.elink.esua.epdc.service.*; import com.elink.esua.epdc.util.AppUserUtils; import com.google.common.collect.Lists; -import com.elink.esua.epdc.exception.UserModuleErrorCode; -import com.elink.esua.epdc.feign.AdminFeignClient; -import com.elink.esua.epdc.service.PartyMembersService; -import com.elink.esua.epdc.service.UserGridRelationService; -import com.elink.esua.epdc.service.UserInvitationRecordService; -import com.elink.esua.epdc.service.UserService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -94,10 +79,6 @@ import java.io.File; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Map; /** * 用户信息表 @@ -135,6 +116,9 @@ public class UserServiceImpl extends BaseServiceImpl implem @Autowired private AdminFeignClient adminFeignClient; + @Autowired + private UserModifyProducer userModifyProducer; + @Override @DataSource(value = DataSourceNames.FIRST) public PageData page(Map params) { @@ -282,6 +266,9 @@ public class UserServiceImpl extends BaseServiceImpl implem userTagRelationService.addUserTagRelation(dto.getId(), UserTagEnum.PARTY_MEMBER.value()); } + // 党员认证发送MQ消息 + sendMqMessage(dto); + return new Result<>(); } @@ -910,6 +897,8 @@ public class UserServiceImpl extends BaseServiceImpl implem userTagRelationService.addUserTagRelation(completeAppUser.getId(), UserTagEnum.PARTY_MEMBER.value()); // 生成党员认证通过记录 generateUserAuthenticateHistory(completeAppUser, UserAuthTypeEnum.PARTY_AUTH, YesOrNoEnum.YES, null); + // 党员认证发送MQ消息 + sendMqMessage(ConvertUtils.sourceToTarget(formDto.getCompleteAppUser(), UserDTO.class)); return Boolean.TRUE; } } @@ -1074,11 +1063,11 @@ public class UserServiceImpl extends BaseServiceImpl implem // 已认证待审核列表 workUserFromDto.setAuthenticatedFlag(AppUserStatesEnum.STATE_COMPLETED_INFORMATION_PENDING_REVIEW.value()); // 党员认证失败(用户状态为待认证) - if(YesOrNoEnum.YES.value().equals(partyFlag)){ + if (YesOrNoEnum.YES.value().equals(partyFlag)) { // 用户认证状态 实为 居民 workUserFromDto.setPartyFlag(YesOrNoEnum.NO.value()); return new Result().ok(baseDao.selectPartyAuthenticationFailedList(workUserFromDto)); - }else { + } else { // 已认证居民待审核 列表 return new Result().ok(baseDao.selectListAuthenticatedUserForWork(workUserFromDto)); } @@ -1677,4 +1666,20 @@ public class UserServiceImpl extends BaseServiceImpl implem partyMembersDao.insert(entity); } + /** + * 发送MQ消息 + * + * @param dto + * @return void + * @author zhy + * @date 2021/8/30 14:09 + */ + private void sendMqMessage(UserDTO dto) { + + UserModifyDTO body = new UserModifyDTO(); + body.setUserId(dto.getId()); + userModifyProducer.sendMessage(RocketMqConstant.MQ_TOPIC_USER, RocketMqConstant.MQ_TAG_USER, + dto.getId(), JSONObject.toJSONString(body)); + } + } diff --git a/epdc-cloud-user/src/main/resources/application.yml b/epdc-cloud-user/src/main/resources/application.yml index d973bb3..aa59669 100644 --- a/epdc-cloud-user/src/main/resources/application.yml +++ b/epdc-cloud-user/src/main/resources/application.yml @@ -116,5 +116,7 @@ mybatis-plus: rocketmq: name-server: @rocketmq.name.server@ + producer: + group: @rocketmq.producer.user.group@ consumer: group: @rocketmq.consumer.group@