Browse Source

党员认证发送rockerMQ

master
zhangyuan 4 years ago
parent
commit
8d83ea068f
  1. 3
      epdc-cloud-user/pom.xml
  2. 23
      epdc-cloud-user/src/main/java/com/elink/esua/epdc/rocketmq/dto/UserModifyDTO.java
  3. 42
      epdc-cloud-user/src/main/java/com/elink/esua/epdc/rocketmq/producer/UserModifyProducer.java
  4. 59
      epdc-cloud-user/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  5. 2
      epdc-cloud-user/src/main/resources/application.yml

3
epdc-cloud-user/pom.xml

@ -173,6 +173,7 @@
<!--RocketMQ--> <!--RocketMQ-->
<rocketmq.name.server>47.104.85.99:9876;114.215.125.123:9876</rocketmq.name.server> <rocketmq.name.server>47.104.85.99:9876;114.215.125.123:9876</rocketmq.name.server>
<rocketmq.consumer.group>organizationGroup</rocketmq.consumer.group> <rocketmq.consumer.group>organizationGroup</rocketmq.consumer.group>
<rocketmq.producer.user.group>userGroup</rocketmq.producer.user.group>
</properties> </properties>
</profile> </profile>
@ -209,6 +210,7 @@
<!--RocketMQ--> <!--RocketMQ-->
<rocketmq.name.server>47.104.85.99:9876;114.215.125.123:9876</rocketmq.name.server> <rocketmq.name.server>47.104.85.99:9876;114.215.125.123:9876</rocketmq.name.server>
<rocketmq.consumer.group>organizationGroup</rocketmq.consumer.group> <rocketmq.consumer.group>organizationGroup</rocketmq.consumer.group>
<rocketmq.producer.user.group>userGroup</rocketmq.producer.user.group>
</properties> </properties>
</profile> </profile>
@ -244,6 +246,7 @@
<!--RocketMQ--> <!--RocketMQ-->
<rocketmq.name.server>172.16.1.242:9876;172.16.1.243:9876</rocketmq.name.server> <rocketmq.name.server>172.16.1.242:9876;172.16.1.243:9876</rocketmq.name.server>
<rocketmq.consumer.group>organizationGroup</rocketmq.consumer.group> <rocketmq.consumer.group>organizationGroup</rocketmq.consumer.group>
<rocketmq.producer.user.group>userGroup</rocketmq.producer.user.group>
</properties> </properties>
</profile> </profile>
</profiles> </profiles>

23
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;
}

42
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();
}
}
}

59
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.afterturn.easypoi.excel.entity.ImportParams;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; 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.dynamic.datasource.annotation.DataSource;
import com.elink.esua.epdc.commons.mybatis.enums.EpdcDelFlagEnum; 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.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.mybatis.utils.DeptEntityUtils; 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.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant; 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.constant.StrConstant;
import com.elink.esua.epdc.commons.tools.enums.UserAuthTypeEnum; import com.elink.esua.epdc.commons.tools.enums.UserAuthTypeEnum;
import com.elink.esua.epdc.commons.tools.enums.UserSexEnum; 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.dao.UserDao;
import com.elink.esua.epdc.datasources.DataSourceNames; import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.dto.*; 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.EpdcCompleteAppUserDTO;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO; 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.form.*;
import com.elink.esua.epdc.dto.epdc.result.*; import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.entity.*; 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.exception.UserModuleErrorCode;
import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO; 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.service.*;
import com.elink.esua.epdc.util.AppUserUtils; import com.elink.esua.epdc.util.AppUserUtils;
import com.google.common.collect.Lists; 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.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -94,10 +79,6 @@ import java.io.File;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; 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<UserDao, UserEntity> implem
@Autowired @Autowired
private AdminFeignClient adminFeignClient; private AdminFeignClient adminFeignClient;
@Autowired
private UserModifyProducer userModifyProducer;
@Override @Override
@DataSource(value = DataSourceNames.FIRST) @DataSource(value = DataSourceNames.FIRST)
public PageData<UserDTO> page(Map<String, Object> params) { public PageData<UserDTO> page(Map<String, Object> params) {
@ -282,6 +266,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
userTagRelationService.addUserTagRelation(dto.getId(), UserTagEnum.PARTY_MEMBER.value()); userTagRelationService.addUserTagRelation(dto.getId(), UserTagEnum.PARTY_MEMBER.value());
} }
// 党员认证发送MQ消息
sendMqMessage(dto);
return new Result<>(); return new Result<>();
} }
@ -910,6 +897,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
userTagRelationService.addUserTagRelation(completeAppUser.getId(), UserTagEnum.PARTY_MEMBER.value()); userTagRelationService.addUserTagRelation(completeAppUser.getId(), UserTagEnum.PARTY_MEMBER.value());
// 生成党员认证通过记录 // 生成党员认证通过记录
generateUserAuthenticateHistory(completeAppUser, UserAuthTypeEnum.PARTY_AUTH, YesOrNoEnum.YES, null); generateUserAuthenticateHistory(completeAppUser, UserAuthTypeEnum.PARTY_AUTH, YesOrNoEnum.YES, null);
// 党员认证发送MQ消息
sendMqMessage(ConvertUtils.sourceToTarget(formDto.getCompleteAppUser(), UserDTO.class));
return Boolean.TRUE; return Boolean.TRUE;
} }
} }
@ -1074,11 +1063,11 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
// 已认证待审核列表 // 已认证待审核列表
workUserFromDto.setAuthenticatedFlag(AppUserStatesEnum.STATE_COMPLETED_INFORMATION_PENDING_REVIEW.value()); 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()); workUserFromDto.setPartyFlag(YesOrNoEnum.NO.value());
return new Result().ok(baseDao.selectPartyAuthenticationFailedList(workUserFromDto)); return new Result().ok(baseDao.selectPartyAuthenticationFailedList(workUserFromDto));
}else { } else {
// 已认证居民待审核 列表 // 已认证居民待审核 列表
return new Result().ok(baseDao.selectListAuthenticatedUserForWork(workUserFromDto)); return new Result().ok(baseDao.selectListAuthenticatedUserForWork(workUserFromDto));
} }
@ -1677,4 +1666,20 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
partyMembersDao.insert(entity); 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));
}
} }

2
epdc-cloud-user/src/main/resources/application.yml

@ -116,5 +116,7 @@ mybatis-plus:
rocketmq: rocketmq:
name-server: @rocketmq.name.server@ name-server: @rocketmq.name.server@
producer:
group: @rocketmq.producer.user.group@
consumer: consumer:
group: @rocketmq.consumer.group@ group: @rocketmq.consumer.group@

Loading…
Cancel
Save