From 806006871071a024d79afb0cfc30cd8aebf12d13 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 26 Apr 2021 14:41:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=8B=E5=8A=A1=E6=8F=90=E4=BA=A4=E5=90=8E?= =?UTF-8?q?=E5=86=8D=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/send/SendMqMsgUtil.java | 2 +- .../service/impl/ResiGroupServiceImpl.java | 19 ++++++--- .../impl/StatsAchievementServiceImpl.java | 34 ++++++++-------- .../impl/ResiGroupMemberServiceImpl.java | 21 +++++++--- .../service/impl/ResiTopicServiceImpl.java | 39 ++++++++++++++----- .../service/impl/TopicDraftServiceImpl.java | 22 ++++++++--- 6 files changed, 94 insertions(+), 43 deletions(-) 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 index 13fcfa4367..1880cb8bac 100644 --- 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 @@ -50,7 +50,7 @@ public class SendMqMsgUtil { systemMsgFormDTO.setMessageType(SystemMessageType.GROUP_ACHIEVEMENT); systemMsgFormDTO.setContent(msgContent); Result sendMsgResult = null; - int retryTime = 1; + int retryTime = 0; do { sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(systemMsgFormDTO); } while ((sendMsgResult == null || !sendMsgResult.success()) && retryTime++ < NumConstant.TWO); 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 4b3abfb464..a630569ebb 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 @@ -665,11 +665,20 @@ public class ResiGroupServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(ResiGroupEntity::getDelFlag,'0'); - if (StringUtils.isNotBlank(customerId)){ - queryWrapper.lambda().eq(ResiGroupEntity::getCustomerId,customerId); - } - List groupEntities = resiGroupDao.selectList(queryWrapper); - groupEntities.forEach(group->{ - AchievementTypeEnum[] achievementTypeEnum = AchievementTypeEnum.values(); - for (AchievementTypeEnum anEnum : achievementTypeEnum) { - try { - Thread.sleep(2); - } catch (InterruptedException e) { - e.printStackTrace(); - } - calculateAcm(group.getCustomerId(),group.getId(),anEnum.getCode()); + //计算所有类型的 小组人数、话题数、转议题数、小组内问题解决数 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(ResiGroupEntity::getDelFlag, '0'); + if (StringUtils.isNotBlank(customerId)) { + queryWrapper.lambda().eq(ResiGroupEntity::getCustomerId, customerId); + } + List groupEntities = resiGroupDao.selectList(queryWrapper); + groupEntities.forEach(group -> { + AchievementTypeEnum[] achievementTypeEnum = AchievementTypeEnum.values(); + for (AchievementTypeEnum anEnum : achievementTypeEnum) { + try { + Thread.sleep(2); + } catch (InterruptedException e) { + e.printStackTrace(); } - }); + calculateAcm(group.getCustomerId(), group.getId(), anEnum.getCode()); + } + }); return true; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index b4bd5cd4d5..18ccfbc2c8 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -86,6 +86,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.support.TransactionSynchronizationAdapter; +import org.springframework.transaction.support.TransactionSynchronizationManager; import org.springframework.util.CollectionUtils; import java.text.DateFormat; @@ -657,11 +659,20 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); msgList.add(wxSubscribeMessageFormDTO); epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); - //发送小组成就消息 - boolean flag = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendGroupAchievementMqMsg(new GroupAchievementMQMsg(resiGroupMemberDTO.getCustomerId(), resiGroupMemberDTO.getResiGroupId(), AchievementTypeEnum.MEMBER.getCode())); - if (!flag) { - logger.error("发送(小组成就)系统消息到message服务失败"); - } + TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() { + @Override + public void afterCommit() { + try { + //发送小组成就消息 + boolean flag = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendGroupAchievementMqMsg(new GroupAchievementMQMsg(resiGroupMemberDTO.getCustomerId(), resiGroupMemberDTO.getResiGroupId(), AchievementTypeEnum.MEMBER.getCode())); + if (!flag) { + logger.error("发送(小组成就)系统消息到message服务失败"); + } + }catch (Exception e){ + logger.error("afterCommit",e); + } + } + }); } /** 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 74e775128d..e497e699c4 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 @@ -111,6 +111,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.support.TransactionSynchronizationAdapter; +import org.springframework.transaction.support.TransactionSynchronizationManager; import org.springframework.util.CollectionUtils; import java.text.SimpleDateFormat; @@ -777,10 +779,19 @@ public class ResiTopicServiceImpl extends BaseServiceImpl