Browse Source

小组成就消息变动

dev_shibei_match
jianjun 4 years ago
parent
commit
7851f3a440
  1. 2
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java
  2. 5
      epmet-module/epmet-message/epmet-message-client/pom.xml
  3. 68
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java
  4. 18
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  5. 1
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java
  6. 15
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  7. 13
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java

2
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java

@ -1,5 +1,6 @@
package com.epmet.commons.rocketmq.messages; package com.epmet.commons.rocketmq.messages;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -11,6 +12,7 @@ import java.io.Serializable;
* @date 2021/4/22 8:35 下午 * @date 2021/4/22 8:35 下午
*/ */
@Data @Data
@AllArgsConstructor
public class GroupAchievementMQMsg implements Serializable { public class GroupAchievementMQMsg implements Serializable {
private String customerId; private String customerId;

5
epmet-module/epmet-message/epmet-message-client/pom.xml

@ -26,6 +26,11 @@
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-rocketmq</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

68
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java

@ -0,0 +1,68 @@
package com.epmet.send;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.SystemMessageType;
import com.epmet.dto.form.SystemMsgFormDTO;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import lombok.extern.slf4j.Slf4j;
/**
* desc: 发送mq消息直接到rocketMq 系统
*
* @author: LiuJanJun
* @date: 2021/4/23 2:39 下午
* @versio: 1.0
*/
@Slf4j
public class SendMqMsgUtil {
private static final SendMqMsgUtil INSTANCE = new SendMqMsgUtil();
private SendMqMsgUtil() {
}
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
public static SendMqMsgUtil build() {
return INSTANCE;
}
public SendMqMsgUtil openFeignClient(EpmetMessageOpenFeignClient epmetMessageOpenFeignClient) {
this.epmetMessageOpenFeignClient = epmetMessageOpenFeignClient;
return this;
}
/**
* desc: 发送小组成就消息,计算小组成就
*
* @param msgContent
* @return boolean
* @author LiuJanJun
* @date 2021/4/23 3:01 下午
* @remark 失败重试1次
*/
public boolean sendGroupAchievementMqMsg(GroupAchievementMQMsg msgContent) {
try {
SystemMsgFormDTO systemMsgFormDTO = new SystemMsgFormDTO();
systemMsgFormDTO.setMessageType(SystemMessageType.GROUP_ACHIEVEMENT);
systemMsgFormDTO.setContent(msgContent);
Result sendMsgResult = null;
int retryTime = 1;
do {
sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(systemMsgFormDTO);
} while ((sendMsgResult == null || !sendMsgResult.success()) && retryTime++ < NumConstant.TWO);
if (sendMsgResult != null && sendMsgResult.success()) {
return true;
}
log.error("发送(小组成就)系统消息到message服务失败:{},msg:{}", JSON.toJSONString(sendMsgResult), JSON.toJSONString(systemMsgFormDTO));
} catch (Exception e) {
log.error("sendMqMsg exception", e);
}
return false;
}
}

18
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -38,7 +38,6 @@ import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.constant.ReadFlagConstant; import com.epmet.constant.ReadFlagConstant;
import com.epmet.constant.SystemMessageType;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.dto.result.UserRoleResultDTO;
@ -76,6 +75,7 @@ import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO;
import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO;
import com.epmet.resi.group.dto.member.result.AchievementResultDTO; import com.epmet.resi.group.dto.member.result.AchievementResultDTO;
import com.epmet.resi.group.dto.member.result.GroupAchievementDTO; import com.epmet.resi.group.dto.member.result.GroupAchievementDTO;
import com.epmet.send.SendMqMsgUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -662,18 +662,12 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
List<WxSubscribeMessageFormDTO> msgList = new ArrayList<>(); List<WxSubscribeMessageFormDTO> msgList = new ArrayList<>();
msgList.add(wxSubscribeMessageFormDTO); msgList.add(wxSubscribeMessageFormDTO);
epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList);
//发送小组成就消息 //发送小组成就消息
GroupAchievementMQMsg msgContent = new GroupAchievementMQMsg(); boolean flag = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient)
msgContent.setCustomerId(resiGroupDTO.getCustomerId()); .sendGroupAchievementMqMsg(new GroupAchievementMQMsg(resiGroupDTO.getCustomerId(),resiGroupDTO.getId(),AchievementTypeEnum.MEMBER.getCode()));
msgContent.setGroupId(resiGroupDTO.getId()); if (!flag) {
msgContent.setAchievementType(AchievementTypeEnum.MEMBER.getCode()); logger.error("发送(小组成就)系统消息到message服务失败");
SystemMsgFormDTO systemMsgFormDTO = new SystemMsgFormDTO();
systemMsgFormDTO.setMessageType(SystemMessageType.GROUP_ACHIEVEMENT);
systemMsgFormDTO.setContent(msgContent);
Result sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(systemMsgFormDTO);
if (!sendMsgResult.success()) {
logger.error("发送(小组成就)系统消息到message服务失败:{}", sendMsgResult.getInternalMsg());
} }
return new Result(); return new Result();
} }

1
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java

@ -47,6 +47,7 @@ public class ResiTopicController {
* @Author wangc * @Author wangc
* @Date 2020.03.31 13:15 * @Date 2020.03.31 13:15
**/ **/
@Deprecated
@PostMapping("createtopic") @PostMapping("createtopic")
public Result createTopic(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicPublishFormDTO topicPublishFormDTO){ public Result createTopic(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicPublishFormDTO topicPublishFormDTO){

15
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java

@ -22,6 +22,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.MqConstant; import com.epmet.commons.tools.constant.MqConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
@ -54,6 +55,7 @@ import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.modules.constant.GroupMemberConstant; import com.epmet.modules.constant.GroupMemberConstant;
import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.constant.ResiGroupRedisKeys;
import com.epmet.modules.constant.WxmpSubscribeConstant; import com.epmet.modules.constant.WxmpSubscribeConstant;
import com.epmet.modules.enums.AchievementTypeEnum;
import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.feign.GovIssueFeignClient; import com.epmet.modules.feign.GovIssueFeignClient;
import com.epmet.modules.feign.GovOrgFeignClient; import com.epmet.modules.feign.GovOrgFeignClient;
@ -96,9 +98,11 @@ import com.epmet.resi.group.dto.topic.form.*;
import com.epmet.resi.group.dto.topic.result.CheckTopicPublisherResultDTO; import com.epmet.resi.group.dto.topic.result.CheckTopicPublisherResultDTO;
import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO; import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO;
import com.epmet.resi.group.dto.topic.result.*; import com.epmet.resi.group.dto.topic.result.*;
import com.epmet.send.SendMqMsgUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.base.CharMatcher; import com.google.common.base.CharMatcher;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
@ -119,6 +123,7 @@ import java.util.stream.Collectors;
* @author generator generator@elink-cn.com * @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-31 * @since v1.0.0 2020-03-31
*/ */
@Data
@Service @Service
@Slf4j @Slf4j
public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopicEntity> implements ResiTopicService { public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopicEntity> implements ResiTopicService {
@ -767,6 +772,11 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
if(!SendMqMsgUtils.sendMsg(mqBaseMsgDTO).success()){ if(!SendMqMsgUtils.sendMsg(mqBaseMsgDTO).success()){
log.error("组长解决话题事件发送失败,参数:{}",JSON.toJSONString(closeFormDTO)); log.error("组长解决话题事件发送失败,参数:{}",JSON.toJSONString(closeFormDTO));
} }
//发送小组成就消息
boolean flag = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendGroupAchievementMqMsg(new GroupAchievementMQMsg(topic.getCustomerId(), topic.getGroupId(), AchievementTypeEnum.RESOVLE_TOPIC.getCode()));
if (!flag) {
log.error("发送(小组成就)系统消息到message服务失败");
}
} }
return new Result(); return new Result();
@ -1756,6 +1766,11 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
if(!SendMqMsgUtils.sendMsg(mqBaseMsgDTO).success()){ if(!SendMqMsgUtils.sendMsg(mqBaseMsgDTO).success()){
log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(topicTurnIssueFromDTO)); log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(topicTurnIssueFromDTO));
} }
//发送小组成就消息
boolean flag = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendGroupAchievementMqMsg(new GroupAchievementMQMsg(group.getCustomerId(), group.getGroupId(), AchievementTypeEnum.TOISSUE.getCode()));
if (!flag) {
log.error("发送(小组成就)系统消息到message服务失败");
}
} }
else { else {
ValidatorUtils.validateEntity(result, FirstTopicShiftedToIssueApplicationResultDTO.AllowAuditionGroup.class); ValidatorUtils.validateEntity(result, FirstTopicShiftedToIssueApplicationResultDTO.AllowAuditionGroup.class);

13
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java

@ -21,6 +21,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.MqConstant; import com.epmet.commons.tools.constant.MqConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
@ -40,7 +41,9 @@ import com.epmet.commons.tools.utils.*;
import com.epmet.dto.form.CommonGridIdFormDTO; import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.result.AllGridsByUserIdResultDTO; import com.epmet.dto.result.AllGridsByUserIdResultDTO;
import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.dto.result.CommonDataFilterResultDTO;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.modules.enums.AchievementTypeEnum;
import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.feign.GovOrgFeignClient; import com.epmet.modules.feign.GovOrgFeignClient;
import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.dao.ResiGroupDao;
@ -75,6 +78,7 @@ import com.epmet.resi.group.dto.topic.form.*;
import com.epmet.resi.group.dto.topic.result.DraftDetailResultDTO; import com.epmet.resi.group.dto.topic.result.DraftDetailResultDTO;
import com.epmet.resi.group.dto.topic.result.MyAuditingListResultDTO; import com.epmet.resi.group.dto.topic.result.MyAuditingListResultDTO;
import com.epmet.resi.group.dto.topic.result.TopicAuditResultDTO; import com.epmet.resi.group.dto.topic.result.TopicAuditResultDTO;
import com.epmet.send.SendMqMsgUtil;
import com.google.common.base.CharMatcher; import com.google.common.base.CharMatcher;
import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.common.util.concurrent.ThreadFactoryBuilder;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -149,6 +153,8 @@ public class TopicDraftServiceImpl extends BaseServiceImpl<TopicDraftDao, TopicD
private TopicDraftScanTaskService topicDraftScanTaskService; private TopicDraftScanTaskService topicDraftScanTaskService;
@Autowired @Autowired
private GovOrgFeignClient govOrgFeignClient; private GovOrgFeignClient govOrgFeignClient;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Value("${openapi.scan.server.url}") @Value("${openapi.scan.server.url}")
private String scanApiUrl; private String scanApiUrl;
@ -971,6 +977,13 @@ public class TopicDraftServiceImpl extends BaseServiceImpl<TopicDraftDao, TopicD
if(!mqResult.success()){ if(!mqResult.success()){
logger.error("发表话题积分添加失败"); logger.error("发表话题积分添加失败");
} }
//发送小组成就消息
boolean flag = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient)
.sendGroupAchievementMqMsg(new GroupAchievementMQMsg(customerId,groupId,AchievementTypeEnum.TOPIC.getCode()));
if (!flag) {
log.error("发送(小组成就)系统消息到message服务失败");
}
} }

Loading…
Cancel
Save