From a25380dc1ea32eeab17a816574672fe851a089a1 Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 25 Dec 2020 17:19:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E9=80=81=E7=A7=AF=E5=88=86=E7=9A=84?= =?UTF-8?q?=E6=96=87=E6=A1=88=E6=8B=BC=E6=8E=A5=20=20=20=20=E7=A7=AF?= =?UTF-8?q?=E5=88=86=E8=A7=84=E5=88=99=E8=84=9A=E6=9C=AC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migration/V0.0.4__addNewRuleTemplate.sql | 4 +- .../impl/ResiTopicCommentServiceImpl.java | 17 +++- .../service/impl/ResiTopicServiceImpl.java | 90 ++++++++++++++++--- .../service/impl/TopicDraftServiceImpl.java | 37 ++++++-- 4 files changed, 128 insertions(+), 20 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.4__addNewRuleTemplate.sql b/epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.4__addNewRuleTemplate.sql index 069008ec48..6c8838b5cf 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.4__addNewRuleTemplate.sql +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.4__addNewRuleTemplate.sql @@ -23,13 +23,13 @@ INSERT INTO point_rule_default ( VALUES ( '3','发布话题', - '对小组内话题进行15字以上评论','publish_one_topic', + '楼院小组内通过我有话说功能发布话题','publish_one_topic', '1','plus', 15,'每天上限为15分',null,'day',5,'time','0','0',0,'APP_USER',now(),'APP_USER',now() ), ( '4','参与话题', - '楼院小组内通过我有话说功能发布话题','participate_one_topic', + '对小组内话题进行15字以上评论','participate_one_topic', '1','plus', 6,'每天上限为6分',null,'day',2,'time','0','0',0,'APP_USER',now(),'APP_USER',now() ), diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java index b51e0c02cb..02f9e44a2b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java @@ -43,6 +43,7 @@ import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.modules.comment.entity.ResiTopicCommentEntity; import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.feign.EpmetUserFeignClient; +import com.epmet.modules.group.redis.ResiGroupRedis; import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.member.redis.ResiGroupMemberRedis; import com.epmet.modules.member.service.ResiGroupMemberService; @@ -97,6 +98,9 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl NumConstant.FIFTEEN){ //mq的事件类型 MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); @@ -248,6 +252,17 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl NumConstant.TEN ? + (topic.getTopicContent().substring(NumConstant.TEN) + "…") : + topic.getTopicContent()); + builder.append("\""); + } + pointEventMsg.setRemark(builder.toString()); pointEventMsgList.add(pointEventMsg); mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); 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 c12a36fb6d..d17e85f490 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 @@ -1580,42 +1580,55 @@ public class ResiTopicServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); //1.话题被转为议题 组内成员 - group.getTopicAuthorId(); + BasePointEventMsg pointEventMsg = new BasePointEventMsg(); pointEventMsg.setCustomerId(groupCache.getCustomerId()); - //pointEventMsg.setUserId(inviter); + pointEventMsg.setUserId(group.getTopicAuthorId()); pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setIsCommon(false); - //pointEventMsg.setTargetDate(groupMemeberOperationDTO.getCreatedTime()); - pointEventMsg.setEventTag(EventEnum.TOPIC_SHIFTED_TO_ISSUE.getEventTag()); + //某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为议题 + + pointEventMsg.setRemark(new StringBuilder(groupCache.getGroupName()).append("小组中发布的") + .append( + StringUtils.isBlank(topic.getTopicContent()) ? "语音话题" : + "\"" + + topic.getTopicContent() + .substring(topic.getTopicContent().length() < NumConstant.TEN ? topic.getTopicContent().length() : NumConstant.TEN) + + (NumConstant.TEN > topic.getTopicContent().length() ? "\"" : "…\"") + ).append("被转为议题").toString()); pointEventMsgList.add(pointEventMsg); //2.转话题为议题 组长 - topicTurnIssueFromDTO.getUserId(); - pointEventMsg.setCustomerId(groupCache.getCustomerId()); - //pointEventMsg.setUserId(inviter); + pointEventMsg.setUserId(topicTurnIssueFromDTO.getUserId()); pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setIsCommon(false); - //pointEventMsg.setTargetDate(groupMemeberOperationDTO.getCreatedTime()); pointEventMsg.setEventTag(EventEnum.SHIFT_TOPIC_TO_ISSUE.getEventTag()); - + //将话题“某某某…” (前十个字后面省略号) 转为议题 + pointEventMsg.setRemark(new StringBuilder("将话题") + .append( + "\"" + + topic.getTopicContent() + .substring(topic.getTopicContent().length() < NumConstant.TEN ? topic.getTopicContent().length() : NumConstant.TEN) + + (NumConstant.TEN > topic.getTopicContent().length() ? "\"" : "…\"") + ).append("转为议题").toString()); pointEventMsgList.add(pointEventMsg); mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); if(!SendMqMsgUtils.sendMsg(mqBaseMsgDTO).success()){ - log.error("事件发送失败,参数:{}",JSON.toJSONString(topicTurnIssueFromDTO)); + log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(topicTurnIssueFromDTO)); } } else { @@ -1699,6 +1712,59 @@ public class ResiTopicServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); + //1.话题被转为议题 组内成员 + + BasePointEventMsg pointEventMsg = new BasePointEventMsg(); + pointEventMsg.setCustomerId(groupCache.getCustomerId()); + pointEventMsg.setUserId(group.getTopicAuthorId()); + pointEventMsg.setActionFlag(MqConstant.PLUS); + pointEventMsg.setIsCommon(false); + + //某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为议题 + + pointEventMsg.setRemark(new StringBuilder(groupCache.getGroupName()).append("小组中发布的") + .append( + StringUtils.isBlank(topic.getTopicContent()) ? "语音话题" : + "\"" + + topic.getTopicContent() + .substring(topic.getTopicContent().length() < NumConstant.TEN ? topic.getTopicContent().length() : NumConstant.TEN) + + (NumConstant.TEN > topic.getTopicContent().length() ? "\"" : "…\"") + ).append("被转为议题").toString()); + pointEventMsgList.add(pointEventMsg); + + //2.转话题为议题 组长 + + pointEventMsg.setCustomerId(groupCache.getCustomerId()); + pointEventMsg.setUserId(param.getUserId()); + pointEventMsg.setActionFlag(MqConstant.PLUS); + pointEventMsg.setIsCommon(false); + pointEventMsg.setEventTag(EventEnum.SHIFT_TOPIC_TO_ISSUE.getEventTag()); + //将话题“某某某…” (前十个字后面省略号) 转为议题 + pointEventMsg.setRemark(new StringBuilder("将话题") + .append( + "\"" + + topic.getTopicContent() + .substring(topic.getTopicContent().length() < NumConstant.TEN ? topic.getTopicContent().length() : NumConstant.TEN) + + (NumConstant.TEN > topic.getTopicContent().length() ? "\"" : "…\"") + ).append("转为议题").toString()); + pointEventMsgList.add(pointEventMsg); + + mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); + if(!SendMqMsgUtils.sendMsg(mqBaseMsgDTO).success()){ + log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(param)); + } } return issueInfo; } 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 97532861c0..753804175b 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 @@ -638,8 +638,15 @@ public class TopicDraftServiceImpl extends BaseServiceImpl item.setStatus(TopicConstant.APPROVED)); topicDraftAttachmentService.updateBatchById(ConvertUtils.sourceToTarget(voiceList, TopicDraftAttachmentEntity.class)); } + //发送积分 - sendMqMsg(draft.getCreatedBy(), draft.getCustomerId()); + StringBuilder breviary = new StringBuilder(); + if(!StringUtils.isBlank(draft.getTopicContent())){ + breviary.append("\""); + breviary.append(draft.getTopicContent().length() > NumConstant.TEN ? (draft.getTopicContent().substring(NumConstant.TEN) + "…") : draft.getTopicContent()); + breviary.append("\""); + }else breviary.append("语音话题"); + sendMqMsg(draft.getCreatedBy(), draft.getCustomerId(),draft.getCreatedTime(),resiGroupRedis.get(draft.getGroupId()).getGroupName(),breviary.toString()); } //记录操作记录 entity = baseDao.selectById(formDTO.getTopicDraftId()); @@ -750,11 +757,30 @@ public class TopicDraftServiceImpl extends BaseServiceImpl NumConstant.TEN ? (draft.getTopicContent().substring(NumConstant.TEN) + "…") : draft.getTopicContent()); + breviary.append("\""); + }else breviary.append("语音话题"); + sendMqMsg(tokenDto.getUserId(), formDTO.getCustomerId(),draft.getCreatedTime(),resiGroupRedis.get(draft.getGroupId()).getGroupName(),breviary.toString()); - private void sendMqMsg(String userId, String customerId) { + } + + /** + * @Description 发送积分事件 + * @param userId + * @param customerId + * @param targetDate 可为空 + * @param groupName + * @param topicBreviary 话题内容摘要"内容…" 如果没有文字则是"语音话题" + * @return void + * @author wangc + * @date 2020.12.25 15:45 + */ + private void sendMqMsg(String userId, String customerId, Date targetDate, String groupName, String topicBreviary) { //6.发送积分 MqBaseMsgDTO mqBaseMsgDTO=new MqBaseMsgDTO(); //mq的事件类型 @@ -767,6 +793,8 @@ public class TopicDraftServiceImpl extends BaseServiceImpl