diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java
index 148dd4cc6e..f54a2bee52 100644
--- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java
+++ b/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;
+import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
@@ -11,6 +12,7 @@ import java.io.Serializable;
* @date 2021/4/22 8:35 下午
*/
@Data
+@AllArgsConstructor
public class GroupAchievementMQMsg implements Serializable {
private String customerId;
diff --git a/epmet-module/epmet-message/epmet-message-client/pom.xml b/epmet-module/epmet-message/epmet-message-client/pom.xml
index 4c7ff05c15..1f18392613 100644
--- a/epmet-module/epmet-message/epmet-message-client/pom.xml
+++ b/epmet-module/epmet-message/epmet-message-client/pom.xml
@@ -26,6 +26,11 @@
io.springfox
springfox-swagger-ui
+
+ com.epmet
+ epmet-commons-rocketmq
+ 2.0.0
+
diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java
new file mode 100644
index 0000000000..b7dfb15d5d
--- /dev/null
+++ b/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;
+ }
+
+}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
index 9b1f83503a..a6641fcaa9 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
+++ b/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.ScanContentUtils;
import com.epmet.constant.ReadFlagConstant;
-import com.epmet.constant.SystemMessageType;
import com.epmet.dto.form.*;
import com.epmet.dto.result.UserResiInfoResultDTO;
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.result.AchievementResultDTO;
import com.epmet.resi.group.dto.member.result.GroupAchievementDTO;
+import com.epmet.send.SendMqMsgUtil;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -662,18 +662,12 @@ public class ResiGroupServiceImpl extends BaseServiceImpl msgList = new ArrayList<>();
msgList.add(wxSubscribeMessageFormDTO);
epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList);
+
//发送小组成就消息
- GroupAchievementMQMsg msgContent = new GroupAchievementMQMsg();
- msgContent.setCustomerId(resiGroupDTO.getCustomerId());
- msgContent.setGroupId(resiGroupDTO.getId());
- msgContent.setAchievementType(AchievementTypeEnum.MEMBER.getCode());
-
- 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());
+ boolean flag = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient)
+ .sendGroupAchievementMqMsg(new GroupAchievementMQMsg(resiGroupDTO.getCustomerId(),resiGroupDTO.getId(),AchievementTypeEnum.MEMBER.getCode()));
+ if (!flag) {
+ logger.error("发送(小组成就)系统消息到message服务失败");
}
return new Result();
}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java
index 419f927f83..1cfbf15f4a 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java
+++ b/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
* @Date 2020.03.31 13:15
**/
+ @Deprecated
@PostMapping("createtopic")
public Result createTopic(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicPublishFormDTO topicPublishFormDTO){
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
index da9ed2253e..0f42f3fcf8 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
+++ b/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.metadata.IPage;
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.MqConstant;
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.ResiGroupRedisKeys;
import com.epmet.modules.constant.WxmpSubscribeConstant;
+import com.epmet.modules.enums.AchievementTypeEnum;
import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.feign.GovIssueFeignClient;
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.GovTopicIssueInfoResultDTO;
import com.epmet.resi.group.dto.topic.result.*;
+import com.epmet.send.SendMqMsgUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.google.common.base.CharMatcher;
+import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
@@ -119,6 +123,7 @@ import java.util.stream.Collectors;
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-31
*/
+@Data
@Service
@Slf4j
public class ResiTopicServiceImpl extends BaseServiceImpl implements ResiTopicService {
@@ -767,6 +772,11 @@ public class ResiTopicServiceImpl extends BaseServiceImpl