Browse Source

党员认证消息处理

bug
zhangyuan 4 years ago
parent
commit
5055bdbf7d
  1. 2
      epdc-cloud-commons-yushan
  2. 3
      epdc-cloud-group/pom.xml
  3. 36
      epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/group/dao/UserGroupDao.java
  4. 11
      epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/group/service/UserGroupService.java
  5. 27
      epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/group/service/impl/UserGroupServiceImpl.java
  6. 44
      epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/rocketmq/consumer/UserModifyConsumer.java
  7. 23
      epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/rocketmq/dto/UserModifyDTO.java
  8. 35
      epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicService.java
  9. 1
      epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicServiceImpl.java
  10. 1
      epdc-cloud-group/src/main/resources/application.yml
  11. 4
      epdc-cloud-group/src/main/resources/mapper/group/UserGroupDao.xml

2
epdc-cloud-commons-yushan

@ -1 +1 @@
Subproject commit 235f56d5ea756317efe54c5e0d4be0ac45e09155
Subproject commit 9d7cf7e81ccc634751f032f72e5333a90eb40ee2

3
epdc-cloud-group/pom.xml

@ -155,6 +155,7 @@
<!--RocketMQ-->
<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.user.group>userGroup</rocketmq.consumer.user.group>
</properties>
</profile>
@ -199,6 +200,7 @@
<!--RocketMQ-->
<rocketmq.name.server>47.104.85.99:9876</rocketmq.name.server>
<rocketmq.consumer.group>organizationGroup</rocketmq.consumer.group>
<rocketmq.consumer.user.group>userGroup</rocketmq.consumer.user.group>
</properties>
<!--<properties>
<server.port>9063</server.port>
@ -237,6 +239,7 @@
<!--RocketMQ-->
<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.user.group>userGroup</rocketmq.consumer.user.group>
</properties>
</profile>
</profiles>

36
epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/group/dao/UserGroupDao.java

@ -24,6 +24,7 @@ import com.elink.esua.epdc.dto.group.form.GroupUserRemoveOrQuitFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.modules.group.entity.UserGroupEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@ -38,80 +39,83 @@ import java.util.Map;
public interface UserGroupDao extends BaseDao<UserGroupEntity> {
/**
*
* 社群成员列表
*
* @params [params]
* @return java.util.List<com.elink.esua.epdc.dto.group.UserGroupDTO>
* @params [params]
* @author liuchuang
* @since 2019/10/17 10:31
*/
List<UserGroupDTO> selectListOfGroupUsers(Map<String, Object> params);
List<UserGroupDTO> selectListOfGroupUsers(Map<String, Object> params);
/**
*
* 移动端-社群成员列表
*
* @params [groupId]
* @return java.util.List<com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO>
* @params [groupId]
* @author liuchuang
* @since 2019/10/21 11:14
*/
List<GroupUserListResultDTO> selectListOfGroupUsersByState(String groupId, Integer state);
/**
*
* 群主信息
*
* @params [groupId]
* @return com.elink.esua.epdc.dto.group.UserGroupDTO
* @params [groupId]
* @author liuchuang
* @since 2019/10/22 15:57
*/
UserGroupDTO selectOneOfLordInfoByGroupId(String groupId);
/**
*
* 操作社群成员
*
* @params [formDto]
* @return void
* @params [formDto]
* @author liuchuang
* @since 2019/10/23 12:00
*/
void updateMemberState(GroupUserRemoveOrQuitFormDTO formDto);
/**
*
* 获取社群成员信息
*
* @params [groupId, userId, states]
* @return com.elink.esua.epdc.dto.group.UserGroupDTO
* @params [groupId, userId, states]
* @author liuchuang
* @since 2019/10/23 13:47
*/
UserGroupDTO selectOnOfUserInfo(String groupId, String userId, int[] states);
/**
*
* 获取社群用户ID
*
* @params [groupId, states]
* @return java.util.List<java.lang.String>
* @params [groupId, states]
* @author liuchuang
* @since 2019/10/23 15:04
*/
List<String> selectListOfGroupUserIdsByState(String groupId, int[] states);
/**
*
* 更新社群用户党员标识
*
* @params [formDto]
* @return void
* @params [formDto]
* @author liuchuang
* @since 2019/11/11 14:30
*/
void updateGroupUsersPartyMember(GroupUserPartyMemberFormDTO formDto);
/**
* 更新党员标识
*
* @param userId
* @return void
* @author zhy
* @date 2021/8/30 14:28
*/
void updatePartyFlag(@Param("userId") String userId);
}

11
epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/group/service/UserGroupService.java

@ -29,6 +29,7 @@ import com.elink.esua.epdc.dto.group.form.GroupUserRemoveOrQuitFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserReviewFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.modules.group.entity.UserGroupEntity;
import com.elink.esua.epdc.modules.rocketmq.dto.UserModifyDTO;
import java.util.List;
import java.util.Map;
@ -188,4 +189,14 @@ public interface UserGroupService extends BaseService<UserGroupEntity> {
* @since 2019/11/11 14:27
*/
Result modifyGroupUsersPartyMember(GroupUserPartyMemberFormDTO formDto);
/**
* 党员认证处理
*
* @param dto
* @return void
* @author zhy
* @date 2021/8/30 14:21
*/
void modifyUserInfo(UserModifyDTO dto);
}

27
epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/group/service/impl/UserGroupServiceImpl.java

@ -20,15 +20,14 @@ package com.elink.esua.epdc.modules.group.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
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.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.SysSmsTemplateConstant;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.constant.GroupNoticeConstant;
import com.elink.esua.epdc.dto.enums.GroupStateEnum;
import com.elink.esua.epdc.dto.enums.GroupUserStateEnum;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
@ -46,6 +45,7 @@ import com.elink.esua.epdc.modules.group.dao.UserGroupDao;
import com.elink.esua.epdc.modules.group.entity.UserGroupEntity;
import com.elink.esua.epdc.modules.group.service.GroupService;
import com.elink.esua.epdc.modules.group.service.UserGroupService;
import com.elink.esua.epdc.modules.rocketmq.dto.UserModifyDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -91,8 +91,8 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
return ConvertUtils.sourceToTarget(entityList, UserGroupDTO.class);
}
private QueryWrapper<UserGroupEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<UserGroupEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<UserGroupEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -165,7 +165,7 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
List<UserGroupEntity> userGroupEntities = new ArrayList<>(formDto.getMembers().size());
List<String> userMobiles = new ArrayList<>();
UserGroupEntity entity = null;
for (GroupUserFormDTO userDto:
for (GroupUserFormDTO userDto :
formDto.getMembers()) {
entity = new UserGroupEntity();
entity.setGroupId(formDto.getGroupId());
@ -185,7 +185,7 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
// 获取社群信息
GroupDTO groupDto = groupService.get(formDto.getGroupId());
// 组装发送消息内容
for (UserGroupEntity userGroupEntity:
for (UserGroupEntity userGroupEntity :
userGroupEntities) {
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
informationFormDTO.setContent(GroupNoticeConstant.NOTICE_GROUP_USER_INVITED_CONTENT.replace("groupName", groupDto.getGroupName()));
@ -211,7 +211,7 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
public Result modifyGroupUsers(GroupUserReviewFormDTO formDto) {
List<UserGroupEntity> userGroupEntities = new ArrayList<>(formDto.getMembers().size());
UserGroupEntity entity = null;
for (UserReviewDto userReviewDto:
for (UserReviewDto userReviewDto :
formDto.getMembers()) {
entity = new UserGroupEntity();
entity.setId(userReviewDto.getId());
@ -224,7 +224,7 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
// 获取社群信息
GroupDTO groupDto = groupService.get(formDto.getGroupId());
// 组装发送消息内容
for (UserReviewDto userReviewDto:
for (UserReviewDto userReviewDto :
formDto.getMembers()) {
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
informationFormDTO.setType(GroupNoticeConstant.NOTICE_TYPE_AUDIT_NOTICE);
@ -263,7 +263,7 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
return new Result().error("获取用户绑定网格信息失败");
}
for (UserGridRelationDTO dto:
for (UserGridRelationDTO dto :
listResult.getData()) {
// 获取网格党员群信息
GroupDTO groupDto = groupService.getPartyGroupInfoByGridId(dto.getGridId());
@ -292,6 +292,13 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
return new Result();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void modifyUserInfo(UserModifyDTO dto) {
// 更新党员标识
baseDao.updatePartyFlag(dto.getUserId());
}
/**
* @Description: 被邀请入群短信通知
* @Param: [userMobiles]
@ -299,7 +306,7 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
* @Author: zy
* @Date: 2020-01-08
*/
private void invitePlusGroupSmsNotification(List<String> userMobiles){
private void invitePlusGroupSmsNotification(List<String> userMobiles) {
// 审核操作发送短信
SmsNoticeFormDTO sms = new SmsNoticeFormDTO();
sms.setMobiles(userMobiles);

44
epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/rocketmq/consumer/UserModifyConsumer.java

@ -0,0 +1,44 @@
package com.elink.esua.epdc.modules.rocketmq.consumer;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant;
import com.elink.esua.epdc.modules.group.service.UserGroupService;
import com.elink.esua.epdc.modules.rocketmq.dto.UserModifyDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.spring.annotation.MessageModel;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 用户党员认证
*
* @author zhy
* @date 2021/8/30 14:11
*/
@Slf4j
@Component
@RocketMQMessageListener(topic = RocketMqConstant.MQ_TOPIC_USER, consumerGroup = "${rocketmq.consumer.user.group}", messageModel = MessageModel.BROADCASTING)
public class UserModifyConsumer implements RocketMQListener<MessageExt> {
@Autowired
private UserGroupService userGroupService;
@Override
public void onMessage(MessageExt messageExt) {
log.info("EPDC-GROUP-SERVER消费消息START:{topic:{}, msgId:{}}", RocketMqConstant.MQ_TOPIC_USER, messageExt.getMsgId());
try {
String charset = "UTF-8";
String body = new String(messageExt.getBody(), charset);
UserModifyDTO dto = JSONObject.parseObject(body, UserModifyDTO.class);
// 用户党员认证
userGroupService.modifyUserInfo(dto);
log.info("EPDC-GROUP-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_USER, messageExt.getMsgId(), body);
} catch (Exception e) {
log.info("EPDC-GROUP-SERVER消费消息失败:msgId:{}", messageExt.getMsgId());
e.printStackTrace();
}
}
}

23
epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/rocketmq/dto/UserModifyDTO.java

@ -0,0 +1,23 @@
package com.elink.esua.epdc.modules.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;
}

35
epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicService.java

@ -28,6 +28,7 @@ import com.elink.esua.epdc.dto.topic.form.*;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO;
import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.modules.rocketmq.dto.UserModifyDTO;
import com.elink.esua.epdc.modules.topic.entity.TopicEntity;
import java.util.List;
@ -52,11 +53,10 @@ public interface TopicService extends BaseService<TopicEntity> {
PageData<TopicDTO> page(Map<String, Object> params);
/**
*
* 话题列表
*
* @params [params]
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.topic.TopicDTO>
* @params [params]
* @author liuchuang
* @since 2019/11/12 9:43
*/
@ -73,11 +73,10 @@ public interface TopicService extends BaseService<TopicEntity> {
List<TopicDTO> list(Map<String, Object> params);
/**
*
* 移动端-话题列表
*
* @params [formDto]
* @return java.util.List<com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>
* @params [formDto]
* @author liuchuang
* @since 2019/11/11 15:08
*/
@ -130,101 +129,93 @@ public interface TopicService extends BaseService<TopicEntity> {
void updateCommentNum(String id);
/**
*
* 移动端-发布话题
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/11/6 15:53
*/
Result saveTopic(TopicSubmitFormDTO formDto);
/**
*
* 移动端-话题详情
*
* @params [id]
* @return com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO
* @params [id]
* @author liuchuang
* @since 2019/11/7 15:34
*/
TopicDetailResultDTO getTopicDetailById(TopicDetailFormDTO formDto);
/**
*
* 关闭话题
*
* @params [formDto, operatorUser操作人0-群主1-网格长]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto, operatorUser操作人0-群主1-网格长]
* @author liuchuang
* @since 2019/11/7 16:50
*/
Result modifyTopicState(TopicCloseFormDTO formDto, String operatorUser);
/**
*
* 话题审核记录
*
* @params [topicId]
* @return java.util.List<com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO>
* @params [topicId]
* @author liuchuang
* @since 2019/11/8 9:35
*/
List<TopicAuditRecordResultDTO> listOfTopicAuditRecord(String topicId);
/**
*
* 移动端-转议题
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/11/8 10:41
*/
Result changeToIssue(TopicChangeToIssueFormDTO formDto);
/**
*
* 话题转议题回调
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/11/11 10:50
*/
Result reviewCallback(TopicReviewFormDTO formDto);
/**
*
* 话题详情
*
* @params [id]
* @return com.elink.esua.epdc.dto.topic.TopicDetailDTO
* @params [id]
* @author liuchuang
* @since 2019/11/12 10:24
*/
TopicDetailDTO getDetail(String id);
/**
*
* 话题修改组织机构信息
*
* @params [dto]
* @return void
* @params [dto]
* @author liuchuang
* @since 2020/3/7 1:23
*/
void modifyOrganizationInfo(OrganizationModifyDTO dto);
/**
*
* 更新话题表党员群名称
*
* @params [groups]
* @return void
* @params [groups]
* @author liuchuang
* @since 2020/3/7 12:20
*/
void modifyPartyGroupNameByGroupId(List<GroupDTO> groups);
}

1
epdc-cloud-group/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicServiceImpl.java

@ -54,6 +54,7 @@ import com.elink.esua.epdc.modules.feign.EventFeignClient;
import com.elink.esua.epdc.modules.group.service.GroupService;
import com.elink.esua.epdc.modules.group.service.UserGroupService;
import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.modules.rocketmq.dto.UserModifyDTO;
import com.elink.esua.epdc.modules.topic.dao.TopicDao;
import com.elink.esua.epdc.modules.topic.entity.GroupTopicUserReadEntity;
import com.elink.esua.epdc.modules.topic.entity.TopicAuditRecordEntity;

1
epdc-cloud-group/src/main/resources/application.yml

@ -112,3 +112,4 @@ rocketmq:
name-server: @rocketmq.name.server@
consumer:
group: @rocketmq.consumer.group@
user: @rocketmq.consumer.user.group@

4
epdc-cloud-group/src/main/resources/mapper/group/UserGroupDao.xml

@ -97,4 +97,8 @@
UPDATE epdc_user_group SET PARTY_MEMBER = #{partyMember} WHERE USER_ID = #{userId}
</update>
<update id="updatePartyFlag">
UPDATE epdc_user_group SET PARTY_MEMBER = 1 WHERE USER_ID = #{userId}
</update>
</mapper>

Loading…
Cancel
Save