From 55d93f019c282065d2c2c6f2ed09e55d16e50ca6 Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 4 Jan 2021 15:49:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=A7=AF=E5=88=86=E6=96=87=E6=A1=88?= =?UTF-8?q?=E6=8B=BC=E6=8E=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/topic/service/impl/ResiTopicServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 1320be4228..a4f80dbae0 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 @@ -1604,7 +1604,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl content.length() ? "\"" : "…\"") @@ -1619,7 +1619,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl content.length() ? "\"" : "…\"") @@ -1753,7 +1753,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl Date: Mon, 4 Jan 2021 18:09:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=8E=9F=E5=A7=8B=E8=AF=9D=E9=A2=98?= =?UTF-8?q?=E8=BD=AC=E6=88=90=E9=A1=B9=E7=9B=AE=E6=8E=A5=E5=8F=A3=E5=8F=91?= =?UTF-8?q?=E9=80=81=E7=A7=AF=E5=88=86=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/IssueServiceImpl.java | 16 ++++-- .../dto/topic/form/TopicEventFormDTO.java | 45 ++++++++++++++++ .../group/feign/ResiGroupOpenFeignClient.java | 10 ++++ .../ResiGroupOpenFeignClientFallback.java | 5 ++ .../topic/controller/ResiTopicController.java | 14 +++++ .../topic/service/ResiTopicService.java | 9 ++++ .../service/impl/ResiTopicServiceImpl.java | 54 +++++++++++++++++++ .../service/impl/TopicDraftServiceImpl.java | 2 +- 8 files changed, 151 insertions(+), 4 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicEventFormDTO.java diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 2fb277c4ec..89afe5967c 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; import com.alibaba.nacos.client.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -7,6 +8,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.enums.EventEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; @@ -26,6 +28,8 @@ import com.epmet.dao.IssueProcessDao; import com.epmet.dao.IssueProjectRelationDao; import com.epmet.dto.*; import com.epmet.dto.form.*; +import com.epmet.dto.form.IssueAuditionFormDTO; +import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueProcessEntity; @@ -40,10 +44,8 @@ import com.epmet.resi.group.dto.group.result.GroupInfoResultDTO; import com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO; import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; +import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; -import com.epmet.resi.group.dto.topic.form.ResiTopicTurnIssueFromDTO; -import com.epmet.resi.group.dto.topic.form.TopicIdListFormDTO; -import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO; import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.service.*; @@ -877,6 +879,14 @@ public class IssueServiceImpl extends BaseServiceImpl imp }catch(RenException e){ logger.error(e.getInternalMsg()); } + + //7:发送话题转议题积分事件 + TopicEventFormDTO eventParam = new TopicEventFormDTO(); + eventParam.setTopicId(entity.getSourceId()); + eventParam.setEvent(EventEnum.TOPIC_SHIFTED_TO_PROJECT); + if(!resiGroupOpenFeignClient.sendEvent(eventParam).success()){ + logger.warn("com.epmet.service.impl.IssueServiceImpl.shiftProject,话题被转为项目积分事件发送失败,参数:{}", JSON.toJSONString(formDTO)); + } } /** diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicEventFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicEventFormDTO.java new file mode 100644 index 0000000000..c6443c9d4a --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicEventFormDTO.java @@ -0,0 +1,45 @@ +package com.epmet.resi.group.dto.topic.form; + +import com.epmet.commons.tools.enums.EventEnum; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Description 话题相关积分入参dto + * @ClassName TopicEventFormDTO + * @Auth wangc + * @Date 2021-01-04 16:37 + */ +@Data +public class TopicEventFormDTO implements Serializable { + private static final long serialVersionUID = 2297474207576464905L; + + /** + * 话题Id + */ + @NotBlank(message = "话题Id不能为空") + private String topicId; + + /** + * 话题作者Id + */ + //private String topicAuthorId; + + /** + * 议题发起人Id + */ + private String issuePublisherId; + + /** + * 事件枚举 + */ + @NotNull(message = "楼院小组事件枚举类型不能为空") + private EventEnum event; + + /** + * 后续相关参数可再添加 + */ +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index d2ffdb794a..fcb56f25ba 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java @@ -174,4 +174,14 @@ public interface ResiGroupOpenFeignClient { */ @PostMapping("resi/group/topicdraft/autoAudit") Result autoAudit(); + + /** + * @Description 根据事件枚举发送积分事件 + * @param param + * @return void + * @author wangc + * @date 2021.01.04 16:41 + */ + @PostMapping("resi/group/topic/sendevent") + Result sendEvent(@RequestBody TopicEventFormDTO param); } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index 38dfbcb199..b8f7f9e2d7 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java @@ -122,4 +122,9 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien public Result autoAudit() { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "autoAudit"); } + + @Override + public Result sendEvent(TopicEventFormDTO param) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "sendEvent",param); + } } 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 d6e3bf75a6..ebd0bf7b0d 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 @@ -402,4 +402,18 @@ public class ResiTopicController { return new Result().ok(topicService.topicAttachmentList(formDTO)); } + /** + * @Description 根据事件枚举发送积分事件 + * @param param + * @return void + * @author wangc + * @date 2021.01.04 16:41 + */ + @PostMapping("sendevent") + public Result sendEvent(@RequestBody TopicEventFormDTO param){ + ValidatorUtils.validateEntity(param); + topicService.sendTopicPointEventByEventType(param); + return new Result(); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index 347f960f6e..e73a3f8c4e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -331,4 +331,13 @@ public interface ResiTopicService extends BaseService { * @Description 获取话题附件信息 **/ TopicAttachmentResultDTO topicAttachmentList(TopicAttachmentFormDTO formDTO); + + /** + * @Description 根据事件枚举发送积分事件 + * @param param + * @return void + * @author wangc + * @date 2021.01.04 16:41 + */ + void sendTopicPointEventByEventType(TopicEventFormDTO param); } \ No newline at end of file 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 a4f80dbae0..bd0a6e7963 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 @@ -1995,6 +1995,60 @@ public class ResiTopicServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); + //话题被转为项目 话题作者 + + BasePointEventMsg pointEventMsg = new BasePointEventMsg(); + pointEventMsg.setCustomerId(group.getCustomerId()); + pointEventMsg.setUserId(topic.getCreatedBy()); + pointEventMsg.setActionFlag(MqConstant.PLUS); + pointEventMsg.setIsCommon(false); + pointEventMsg.setEventTag(EventEnum.TOPIC_SHIFTED_TO_ISSUE.getEventTag()); + //某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为议题 + String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent()); + pointEventMsg.setRemark(new StringBuilder(group.getGroupName()).append("小组中发布的") + .append( + StringUtils.isBlank(content) ? "语音话题" : + "话题\"" + + content + .substring(NumConstant.ZERO,content.length() < NumConstant.TEN ? content.length() : NumConstant.TEN) + + (NumConstant.TEN > content.length() ? "\"" : "…\"") + ).append("被转为项目").toString()); + pointEventMsgList.add(pointEventMsg); + mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); + if(!SendMqMsgUtils.sendMsg(mqBaseMsgDTO).success()){ + log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(param)); + } + } + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java index d6975fa5de..61a490f58c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java @@ -916,7 +916,7 @@ public class TopicDraftServiceImpl extends BaseServiceImpl