Browse Source

解除对易联云的依赖

dev
wangxianzhang 4 years ago
parent
commit
87c2ed4945
  1. 11
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java
  2. 10
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java
  3. 22
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java
  4. 18
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java
  5. 46
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java
  6. 45
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java
  7. 4
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SystemMsgFormDTO.java
  8. 15
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java
  9. 16
      epmet-module/epmet-point/epmet-point-server/pom.xml
  10. 27
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java
  11. 236
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/listener/PointListener.java
  12. 4
      epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml
  13. 31
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java
  14. 23
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java
  15. 27
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java
  16. 97
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  17. 18
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java

11
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java

@ -41,10 +41,19 @@ public interface ConsomerGroupConstants {
*/ */
String PROJECT_OPERATION_LOG_GROUP = "project_operation_log_group"; String PROJECT_OPERATION_LOG_GROUP = "project_operation_log_group";
/** /**
* 积分操作消费组 * 积分操作日志消费组
*/ */
String POINT_OPERATION_LOG_GROUP = "point_operation_log_group"; String POINT_OPERATION_LOG_GROUP = "point_operation_log_group";
/**
* 爱心互助积分操作消费组
*/
String EPMET_HEART_POINT_OPERATION_GROUP = "epmet_heart_point_operation_group";
/**
* 楼院小组积分操作消费组
*/
String RESI_GROUP_POINT_OPERATION_GROUP = "resi_group_point_operation_group";
/** /**
* 开放的对接数据(中间库) 组织变更事件监听器分组 * 开放的对接数据(中间库) 组织变更事件监听器分组
*/ */

10
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java

@ -58,4 +58,14 @@ public interface TopicConstants {
* 需求完成如果服务方是区域化党建单位重新计算这个单位的满意度 * 需求完成如果服务方是区域化党建单位重新计算这个单位的满意度
*/ */
String CAL_PARTY_UNIT_SATISFACTION = "cal_party_unit_satisfaction"; String CAL_PARTY_UNIT_SATISFACTION = "cal_party_unit_satisfaction";
/**
* 爱心互助
*/
String EPMET_HEART = "epmet_heart";
/**
* 楼院小组
*/
String RESI_GROUP = "resi_group";
} }

22
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java

@ -36,16 +36,19 @@ import com.epmet.commons.tools.security.dto.TokenDto;
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.commons.tools.utils.SendMqMsgUtils; import com.epmet.commons.tools.utils.SendMqMsgUtils;
import com.epmet.constant.SystemMessageType;
import com.epmet.dao.ActLivePicDao; import com.epmet.dao.ActLivePicDao;
import com.epmet.dao.ActLiveRecDao; import com.epmet.dao.ActLiveRecDao;
import com.epmet.dto.ActInfoDTO; import com.epmet.dto.ActInfoDTO;
import com.epmet.dto.ActLivePicDTO; import com.epmet.dto.ActLivePicDTO;
import com.epmet.dto.ActLiveRecDTO; import com.epmet.dto.ActLiveRecDTO;
import com.epmet.dto.form.SystemMsgFormDTO;
import com.epmet.dto.form.resi.ResiActInsertLiveFormDTO; import com.epmet.dto.form.resi.ResiActInsertLiveFormDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.dto.result.resi.ResiActLiveRecResultDTO; import com.epmet.dto.result.resi.ResiActLiveRecResultDTO;
import com.epmet.entity.ActLivePicEntity; import com.epmet.entity.ActLivePicEntity;
import com.epmet.entity.ActLiveRecEntity; import com.epmet.entity.ActLiveRecEntity;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.redis.ActLiveRecRedis; import com.epmet.redis.ActLiveRecRedis;
import com.epmet.service.ActInfoService; import com.epmet.service.ActInfoService;
@ -81,6 +84,9 @@ public class ActLiveRecServiceImpl extends BaseServiceImpl<ActLiveRecDao, ActLiv
@Autowired @Autowired
private ActInfoService actInfoService; private ActInfoService actInfoService;
@Autowired
private EpmetMessageOpenFeignClient messageOpenFeignClient;
@Value("${openapi.scan.server.url}") @Value("${openapi.scan.server.url}")
private String scanApiUrl; private String scanApiUrl;
@Value("${openapi.scan.method.textSyncScan}") @Value("${openapi.scan.method.textSyncScan}")
@ -226,11 +232,11 @@ public class ActLiveRecServiceImpl extends BaseServiceImpl<ActLiveRecDao, ActLiv
// 查询 活动信息 // 查询 活动信息
ActInfoDTO actInfoDTO = actInfoService.get(formDTO.getActId()); ActInfoDTO actInfoDTO = actInfoService.get(formDTO.getActId());
MqBaseMsgDTO mqBaseMsgDTO=new MqBaseMsgDTO(); //MqBaseMsgDTO mqBaseMsgDTO=new MqBaseMsgDTO();
//mq的事件类型 //mq的事件类型
mqBaseMsgDTO.setEventClass(EventEnum.ACTIVE_INSERT_LIVE.getEventClass()); //mqBaseMsgDTO.setEventClass(EventEnum.ACTIVE_INSERT_LIVE.getEventClass());
//事件code //事件code
mqBaseMsgDTO.setEventTag(EventEnum.ACTIVE_INSERT_LIVE.getEventTag()); //mqBaseMsgDTO.setEventTag(EventEnum.ACTIVE_INSERT_LIVE.getEventTag());
List<BasePointEventMsg> actPointEventMsgList=new ArrayList<>(); List<BasePointEventMsg> actPointEventMsgList=new ArrayList<>();
BasePointEventMsg actPointEventMsg=new BasePointEventMsg(); BasePointEventMsg actPointEventMsg=new BasePointEventMsg();
actPointEventMsg.setCustomerId(formDTO.getCustomerId()); actPointEventMsg.setCustomerId(formDTO.getCustomerId());
@ -242,8 +248,14 @@ public class ActLiveRecServiceImpl extends BaseServiceImpl<ActLiveRecDao, ActLiv
actPointEventMsg.setSourceId(formDTO.getActId()); actPointEventMsg.setSourceId(formDTO.getActId());
actPointEventMsgList.add(actPointEventMsg); actPointEventMsgList.add(actPointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(actPointEventMsgList)); //mqBaseMsgDTO.setMsg(JSON.toJSONString(actPointEventMsgList));
Result result= SendMqMsgUtils.sendMsg(mqBaseMsgDTO); //Result result= SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
SystemMsgFormDTO msgForm = new SystemMsgFormDTO();
msgForm.setMessageType(SystemMessageType.ACTIVE_INSERT_LIVE);
msgForm.setContent(actPointEventMsgList);
Result result = messageOpenFeignClient.sendSystemMsgByMQ(msgForm);
if(!result.success()){ if(!result.success()){
logger.error("添加活动实况,事件发送失败"); logger.error("添加活动实况,事件发送失败");
} }

18
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java

@ -34,11 +34,13 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SendMqMsgUtils; import com.epmet.commons.tools.utils.SendMqMsgUtils;
import com.epmet.constant.SmsTemplateConstant; import com.epmet.constant.SmsTemplateConstant;
import com.epmet.constant.SystemMessageType;
import com.epmet.dao.VolunteerInfoDao; import com.epmet.dao.VolunteerInfoDao;
import com.epmet.dto.HeartUserInfoDTO; import com.epmet.dto.HeartUserInfoDTO;
import com.epmet.dto.VolunteerInfoDTO; import com.epmet.dto.VolunteerInfoDTO;
import com.epmet.dto.form.CommonCustomerFormDTO; import com.epmet.dto.form.CommonCustomerFormDTO;
import com.epmet.dto.form.SendVerificationCodeFormDTO; import com.epmet.dto.form.SendVerificationCodeFormDTO;
import com.epmet.dto.form.SystemMsgFormDTO;
import com.epmet.dto.form.resi.ResiSendSmsCodeFormDTO; import com.epmet.dto.form.resi.ResiSendSmsCodeFormDTO;
import com.epmet.dto.form.resi.ResiVolunteerAuthenticateFormDTO; import com.epmet.dto.form.resi.ResiVolunteerAuthenticateFormDTO;
import com.epmet.dto.result.ResiUserBaseInfoResultDTO; import com.epmet.dto.result.ResiUserBaseInfoResultDTO;
@ -128,11 +130,11 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
} }
private void grantActPoints(ResiVolunteerAuthenticateFormDTO formDTO){ private void grantActPoints(ResiVolunteerAuthenticateFormDTO formDTO){
MqBaseMsgDTO mqBaseMsgDTO=new MqBaseMsgDTO(); //MqBaseMsgDTO mqBaseMsgDTO=new MqBaseMsgDTO();
//mq的事件类型 //mq的事件类型
mqBaseMsgDTO.setEventClass(EventEnum.REGISTER_VOLUNTEER.getEventClass()); //mqBaseMsgDTO.setEventClass(EventEnum.REGISTER_VOLUNTEER.getEventClass());
//事件code //事件code
mqBaseMsgDTO.setEventTag(EventEnum.REGISTER_VOLUNTEER.getEventTag()); //mqBaseMsgDTO.setEventTag(EventEnum.REGISTER_VOLUNTEER.getEventTag());
List<BasePointEventMsg> actPointEventMsgList=new ArrayList<>(); List<BasePointEventMsg> actPointEventMsgList=new ArrayList<>();
BasePointEventMsg actPointEventMsg=new BasePointEventMsg(); BasePointEventMsg actPointEventMsg=new BasePointEventMsg();
actPointEventMsg.setCustomerId(formDTO.getCustomerId()); actPointEventMsg.setCustomerId(formDTO.getCustomerId());
@ -143,8 +145,14 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
actPointEventMsg.setIsCommon(false); actPointEventMsg.setIsCommon(false);
actPointEventMsgList.add(actPointEventMsg); actPointEventMsgList.add(actPointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(actPointEventMsgList)); //mqBaseMsgDTO.setMsg(JSON.toJSONString(actPointEventMsgList));
Result result= SendMqMsgUtils.sendMsg(mqBaseMsgDTO); //Result result= SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
SystemMsgFormDTO msgForm = new SystemMsgFormDTO();
msgForm.setMessageType(SystemMessageType.REGISTER_VOLUNTEER);
msgForm.setContent(actPointEventMsgList);
Result result = epmetMessageOpenFeignClient.sendSystemMsgByMQ(msgForm);
if(!result.success()){ if(!result.success()){
logger.error("志愿者认证事件发送失败"); logger.error("志愿者认证事件发送失败");
} }

46
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java

@ -18,12 +18,10 @@ import com.epmet.commons.tools.scan.param.TextTaskDTO;
import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.scan.result.SyncScanResult;
import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.utils.*;
import com.epmet.constant.ActConstant; import com.epmet.constant.*;
import com.epmet.constant.ActMessageConstant;
import com.epmet.constant.ReadFlagConstant;
import com.epmet.constant.UserMessageTypeConstant;
import com.epmet.dao.*; import com.epmet.dao.*;
import com.epmet.dto.*; import com.epmet.dto.*;
import com.epmet.dto.form.SystemMsgFormDTO;
import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.dto.form.UserMessageFormDTO;
import com.epmet.dto.form.WxSubscribeMessageFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO;
import com.epmet.dto.form.work.*; import com.epmet.dto.form.work.*;
@ -917,11 +915,11 @@ public class WorkActServiceImpl implements WorkActService {
String opAgencyId=userResult.getData().getId(); String opAgencyId=userResult.getData().getId();
//备注 //备注
String remark=String.format(ActMessageConstant.ACT_POINTS_EVENT_REMARK,actInfoDTO.getTitle()); String remark=String.format(ActMessageConstant.ACT_POINTS_EVENT_REMARK,actInfoDTO.getTitle());
MqBaseMsgDTO mqBaseMsgDTO=new MqBaseMsgDTO(); //MqBaseMsgDTO mqBaseMsgDTO=new MqBaseMsgDTO();
//mq的事件类型 //mq的事件类型
mqBaseMsgDTO.setEventClass(EventEnum.ACTIVE_SEND_POINT.getEventClass()); //mqBaseMsgDTO.setEventClass(EventEnum.ACTIVE_SEND_POINT.getEventClass());
//事件code //事件code
mqBaseMsgDTO.setEventTag(EventEnum.ACTIVE_SEND_POINT.getEventTag()); //mqBaseMsgDTO.setEventTag(EventEnum.ACTIVE_SEND_POINT.getEventTag());
List<BasePointEventMsg> basePointEventMsgArrayList=new ArrayList<>(); List<BasePointEventMsg> basePointEventMsgArrayList=new ArrayList<>();
for(ActUserRelationEntity actUserRelationEntity:actUserRelationEntityList){ for(ActUserRelationEntity actUserRelationEntity:actUserRelationEntityList){
BasePointEventMsg basePointEventMsg=new BasePointEventMsg(); BasePointEventMsg basePointEventMsg=new BasePointEventMsg();
@ -937,15 +935,22 @@ public class WorkActServiceImpl implements WorkActService {
basePointEventMsg.setOperatorId(loginUserUtil.getLoginUserId()); basePointEventMsg.setOperatorId(loginUserUtil.getLoginUserId());
basePointEventMsgArrayList.add(basePointEventMsg); basePointEventMsgArrayList.add(basePointEventMsg);
} }
mqBaseMsgDTO.setMsg(JSON.toJSONString(basePointEventMsgArrayList)); //mqBaseMsgDTO.setMsg(JSON.toJSONString(basePointEventMsgArrayList));
Result result=SendMqMsgUtils.sendMsg(mqBaseMsgDTO); //Result result=SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
SystemMsgFormDTO systemMsgFormDTO = new SystemMsgFormDTO();
systemMsgFormDTO.setMessageType(SystemMessageType.ACTIVE_SEND_POINT);
systemMsgFormDTO.setContent(basePointEventMsgArrayList);
Result result = epmetMessageOpenFeignClient.sendSystemMsgByMQ(systemMsgFormDTO);
ActGrantPointLogEntity actGrantPointLogEntity=new ActGrantPointLogEntity(); ActGrantPointLogEntity actGrantPointLogEntity=new ActGrantPointLogEntity();
actGrantPointLogEntity.setActId(actInfoDTO.getId()); actGrantPointLogEntity.setActId(actInfoDTO.getId());
actGrantPointLogEntity.setCustomerId(actInfoDTO.getCustomerId()); actGrantPointLogEntity.setCustomerId(actInfoDTO.getCustomerId());
actGrantPointLogEntity.setOperatorId(loginUserUtil.getLoginUserId()); actGrantPointLogEntity.setOperatorId(loginUserUtil.getLoginUserId());
actGrantPointLogEntity.setRemark(remark); actGrantPointLogEntity.setRemark(remark);
actGrantPointLogEntity.setReward(actInfoDTO.getReward()); actGrantPointLogEntity.setReward(actInfoDTO.getReward());
actGrantPointLogEntity.setSendMsg(JSON.toJSONString(mqBaseMsgDTO)); actGrantPointLogEntity.setSendMsg(JSON.toJSONString(systemMsgFormDTO));
actGrantPointLogEntity.setResponseMsg(JSON.toJSONString(result)); actGrantPointLogEntity.setResponseMsg(JSON.toJSONString(result));
actGrantPointLogDao.insert(actGrantPointLogEntity); actGrantPointLogDao.insert(actGrantPointLogEntity);
if(!result.success()){ if(!result.success()){
@ -958,11 +963,11 @@ public class WorkActServiceImpl implements WorkActService {
//查询当前用户所属组织信息 //查询当前用户所属组织信息
Result<CustomerAgencyDTO> userResult = govOrgOpenFeignClient.getAgencyByStaff(loginUserUtil.getLoginUserId()); Result<CustomerAgencyDTO> userResult = govOrgOpenFeignClient.getAgencyByStaff(loginUserUtil.getLoginUserId());
String opAgencyId = userResult.getData().getId(); String opAgencyId = userResult.getData().getId();
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); //MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
//mq的事件类型 //mq的事件类型
mqBaseMsgDTO.setEventClass(EventEnum.ACTIVE_SEND_POINT.getEventClass()); //mqBaseMsgDTO.setEventClass(EventEnum.ACTIVE_SEND_POINT.getEventClass());
//事件code //事件code
mqBaseMsgDTO.setEventTag(EventEnum.ACTIVE_SEND_POINT.getEventTag()); //mqBaseMsgDTO.setEventTag(EventEnum.ACTIVE_SEND_POINT.getEventTag());
List<BasePointEventMsg> basePointEventMsgArrayList = new ArrayList<>(); List<BasePointEventMsg> basePointEventMsgArrayList = new ArrayList<>();
BasePointEventMsg basePointEventMsg = new BasePointEventMsg(); BasePointEventMsg basePointEventMsg = new BasePointEventMsg();
basePointEventMsg.setOpAgencyId(opAgencyId); basePointEventMsg.setOpAgencyId(opAgencyId);
@ -976,9 +981,16 @@ public class WorkActServiceImpl implements WorkActService {
basePointEventMsg.setSourceId(formDTO.getSourceId()); basePointEventMsg.setSourceId(formDTO.getSourceId());
basePointEventMsg.setOperatorId(loginUserUtil.getLoginUserId()); basePointEventMsg.setOperatorId(loginUserUtil.getLoginUserId());
basePointEventMsgArrayList.add(basePointEventMsg); basePointEventMsgArrayList.add(basePointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(basePointEventMsgArrayList)); //mqBaseMsgDTO.setMsg(JSON.toJSONString(basePointEventMsgArrayList));
logger.info("发送消息入参:"+JSON.toJSON(mqBaseMsgDTO)); //logger.info("发送消息入参:"+JSON.toJSON(mqBaseMsgDTO));
Result result = SendMqMsgUtils.sendMsg(mqBaseMsgDTO); //Result result = SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
SystemMsgFormDTO msgForm = new SystemMsgFormDTO();
msgForm.setMessageType(SystemMessageType.ACTIVE_SEND_POINT);
msgForm.setContent(basePointEventMsgArrayList);
Result result = epmetMessageOpenFeignClient.sendSystemMsgByMQ(msgForm);
logger.info("发送消息返参:"+JSON.toJSON(result)); logger.info("发送消息返参:"+JSON.toJSON(result));
ActGrantPointLogEntity actGrantPointLogEntity=new ActGrantPointLogEntity(); ActGrantPointLogEntity actGrantPointLogEntity=new ActGrantPointLogEntity();
actGrantPointLogEntity.setActId(formDTO.getSourceId()); actGrantPointLogEntity.setActId(formDTO.getSourceId());
@ -986,7 +998,7 @@ public class WorkActServiceImpl implements WorkActService {
actGrantPointLogEntity.setOperatorId(loginUserUtil.getLoginUserId()); actGrantPointLogEntity.setOperatorId(loginUserUtil.getLoginUserId());
actGrantPointLogEntity.setRemark(formDTO.getRemark()); actGrantPointLogEntity.setRemark(formDTO.getRemark());
actGrantPointLogEntity.setReward(formDTO.getReward()); actGrantPointLogEntity.setReward(formDTO.getReward());
actGrantPointLogEntity.setSendMsg(JSON.toJSONString(mqBaseMsgDTO)); actGrantPointLogEntity.setSendMsg(JSON.toJSONString(msgForm));
actGrantPointLogEntity.setResponseMsg(JSON.toJSONString(result)); actGrantPointLogEntity.setResponseMsg(JSON.toJSONString(result));
actGrantPointLogDao.insert(actGrantPointLogEntity); actGrantPointLogDao.insert(actGrantPointLogEntity);
if (!result.success()) { if (!result.success()) {

45
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java

@ -104,4 +104,49 @@ public interface SystemMessageType {
* 需求完成如果服务方是区域化党建单位重新计算这个单位的满意度 * 需求完成如果服务方是区域化党建单位重新计算这个单位的满意度
*/ */
String CAL_PARTY_UNIT_SATISFACTION = "cal_party_unit_satisfaction"; String CAL_PARTY_UNIT_SATISFACTION = "cal_party_unit_satisfaction";
/**
* 活动发放积分
*/
String ACTIVE_SEND_POINT = "active_send_point";
/**
* 认证志愿者
*/
String REGISTER_VOLUNTEER = "register_volunteer";
/**
* 添加活动实况
*/
String ACTIVE_INSERT_LIVE = "active_insert_live";
/**
* 拉新用户入组
*/
String INVITE_NEW_INTO_GROUP = "invite_new_into_group";
/**
* 邀请已注册的用户入组
*/
String INVITE_RESI_INTO_GROUP = "invite_resi_into_group";
/**
* 发布话题
*/
String PUBLISH_ONE_TOPIC = "publish_one_topic";
/**
* 对小组内话题进行15字以上评论
*/
String PARTICIPATE_ONE_TOPIC = "participate_one_topic";
/**
* 话题被转为议题(小组中发布的话题被组长转为议题)
*/
String TOPIC_TO_ISSUE = "topic_to_issue";
/**
* 转话题为议题(将自建小组中话题转为议题)
*/
String SHIFT_TOPIC_TO_ISSUE = "shift_topic_to_issue";
/**
* 话题被转为项目
*/
String TOPIC_TO_PROJECT = "topic_to_project";
/**
* 组长解决组内话题
*/
String LEADER_RESOLVE_TOPIC = "leader_resolve_topic";
} }

4
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SystemMsgFormDTO.java

@ -19,6 +19,6 @@ public class SystemMsgFormDTO {
@NotNull(message = "消息内容不能为空", groups = { SendMsgByMQ.class }) @NotNull(message = "消息内容不能为空", groups = { SendMsgByMQ.class })
private Object content; private Object content;
@NotNull(message = "pendingMsgLabel不能为空", groups = { AckMsgByMQ.class }) //@NotNull(message = "pendingMsgLabel不能为空", groups = { AckMsgByMQ.class })
private String pendingMsgLabel; //private String pendingMsgLabel;
} }

15
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java

@ -195,6 +195,21 @@ public class SystemMessageServiceImpl implements SystemMessageService {
case SystemMessageType.CAL_PARTY_UNIT_SATISFACTION: case SystemMessageType.CAL_PARTY_UNIT_SATISFACTION:
topic=TopicConstants.CAL_PARTY_UNIT_SATISFACTION; topic=TopicConstants.CAL_PARTY_UNIT_SATISFACTION;
break; break;
case SystemMessageType.INVITE_NEW_INTO_GROUP:
case SystemMessageType.INVITE_RESI_INTO_GROUP:
case SystemMessageType.PUBLISH_ONE_TOPIC:
case SystemMessageType.PARTICIPATE_ONE_TOPIC:
case SystemMessageType.TOPIC_TO_ISSUE:
case SystemMessageType.SHIFT_TOPIC_TO_ISSUE:
case SystemMessageType.TOPIC_TO_PROJECT:
case SystemMessageType.LEADER_RESOLVE_TOPIC:
topic = TopicConstants.RESI_GROUP;
break;
case SystemMessageType.ACTIVE_SEND_POINT:
case SystemMessageType.REGISTER_VOLUNTEER:
case SystemMessageType.ACTIVE_INSERT_LIVE:
topic = TopicConstants.EPMET_HEART;
break;
} }
return topic; return topic;
} }

16
epmet-module/epmet-point/epmet-point-server/pom.xml

@ -167,6 +167,10 @@
<!--钉钉 机器人地址--> <!--钉钉 机器人地址-->
<dingTalk.robot.webHook>https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4</dingTalk.robot.webHook> <dingTalk.robot.webHook>https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4</dingTalk.robot.webHook>
<dingTalk.robot.secret>SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd</dingTalk.robot.secret> <dingTalk.robot.secret>SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd</dingTalk.robot.secret>
<!--rocketmq-->
<rocketmq.enable>true</rocketmq.enable>
<rocketmq.nameserver>192.168.1.140:9876;192.168.1.141:9876</rocketmq.nameserver>
</properties> </properties>
</profile> </profile>
<profile> <profile>
@ -210,6 +214,10 @@
<!--钉钉 机器人地址--> <!--钉钉 机器人地址-->
<dingTalk.robot.webHook>https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4</dingTalk.robot.webHook> <dingTalk.robot.webHook>https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4</dingTalk.robot.webHook>
<dingTalk.robot.secret>SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd</dingTalk.robot.secret> <dingTalk.robot.secret>SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd</dingTalk.robot.secret>
<!--rocketmq-->
<rocketmq.enable>true</rocketmq.enable>
<rocketmq.nameserver>192.168.1.140:9876;192.168.1.141:9876</rocketmq.nameserver>
</properties> </properties>
</profile> </profile>
<profile> <profile>
@ -253,6 +261,10 @@
<!--钉钉 机器人地址--> <!--钉钉 机器人地址-->
<dingTalk.robot.webHook>https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4</dingTalk.robot.webHook> <dingTalk.robot.webHook>https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4</dingTalk.robot.webHook>
<dingTalk.robot.secret>SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd</dingTalk.robot.secret> <dingTalk.robot.secret>SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd</dingTalk.robot.secret>
<!--rocketmq-->
<rocketmq.enable>true</rocketmq.enable>
<rocketmq.nameserver>192.168.10.161:9876</rocketmq.nameserver>
</properties> </properties>
</profile> </profile>
<profile> <profile>
@ -296,6 +308,10 @@
<!--生产钉钉 机器人地址--> <!--生产钉钉 机器人地址-->
<dingTalk.robot.webHook>https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c</dingTalk.robot.webHook> <dingTalk.robot.webHook>https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c</dingTalk.robot.webHook>
<dingTalk.robot.secret>SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1</dingTalk.robot.secret> <dingTalk.robot.secret>SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1</dingTalk.robot.secret>
<!--rocketmq-->
<rocketmq.enable>true</rocketmq.enable>
<rocketmq.nameserver>192.168.11.187:9876;192.168.11.184:9876</rocketmq.nameserver>
</properties> </properties>
</profile> </profile>
</profiles> </profiles>

27
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java

@ -0,0 +1,27 @@
package com.epmet.mq;
import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants;
import com.epmet.commons.rocketmq.constants.TopicConstants;
import com.epmet.commons.rocketmq.register.MQAbstractRegister;
import com.epmet.commons.rocketmq.register.MQConsumerProperties;
import com.epmet.mq.listener.PointListener;
import com.epmet.service.UserPointActionLogService;
import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class RocketMQConsumerRegister extends MQAbstractRegister {
@Autowired
private UserPointActionLogService userPointActionLogService;
@Override
public void registerAllListeners(String env, MQConsumerProperties consumerProperties) {
// 客户初始化监听器注册
register(consumerProperties, ConsomerGroupConstants.RESI_GROUP_POINT_OPERATION_GROUP, MessageModel.CLUSTERING, TopicConstants.RESI_GROUP, "*", new PointListener(userPointActionLogService));
register(consumerProperties, ConsomerGroupConstants.EPMET_HEART_POINT_OPERATION_GROUP, MessageModel.CLUSTERING, TopicConstants.EPMET_HEART, "*", new PointListener(userPointActionLogService));
// ...其他监听器类似
}
}

236
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/listener/PointListener.java

@ -0,0 +1,236 @@
package com.epmet.mq.listener;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.rocketmq.constants.MQUserPropertys;
import com.epmet.commons.rocketmq.messages.LoginMQMsg;
import com.epmet.commons.tools.distributedlock.DistributedLock;
import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg;
import com.epmet.commons.tools.enums.EventEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.constant.SystemMessageType;
import com.epmet.service.UserPointActionLogService;
import dto.form.SendPointFormDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.common.message.MessageExt;
import org.redisson.api.RLock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* @author wxz
* @Description 登录操作日志监听器
* @return
* @date 2021.06.07 16:12
*/
@Slf4j
public class PointListener implements MessageListenerConcurrently {
private RedisUtils redisUtils;
private UserPointActionLogService userPointActionLogService;
public PointListener(UserPointActionLogService userPointActionLogService) {
this.userPointActionLogService = userPointActionLogService;
}
@Override
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) {
if (redisUtils == null) {
redisUtils = SpringContextUtils.getBean(RedisUtils.class);
}
try {
msgs.forEach(msg -> consumeMessage(msg));
} catch (Exception e) {
log.error(ExceptionUtils.getErrorStackTrace(e));
return ConsumeConcurrentlyStatus.RECONSUME_LATER;
}
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
}
private void consumeMessage(MessageExt messageExt) {
String tags = messageExt.getTags();
String msg = new String(messageExt.getBody());
String pendingMsgLabel = messageExt.getUserProperty(MQUserPropertys.BLOCKED_MSG_LABEL);
log.info("【积分操作监听器】-收到消息内容:{}", msg);
DistributedLock distributedLock = null;
RLock lock = null;
try {
distributedLock = SpringContextUtils.getBean(DistributedLock.class);
lock = distributedLock.getLock("lock:point_operation", 30L, 30L, TimeUnit.SECONDS);
switch (tags) {
case SystemMessageType.PARTICIPATE_ONE_TOPIC:
resiGroupPointOpe(msg);
break;
case SystemMessageType.ACTIVE_SEND_POINT:
// 爱心活动积分发放
activeSendPoint(msg);
break;
case SystemMessageType.ACTIVE_INSERT_LIVE:
// 添加活动实况
activeInsertLive(msg);
break;
case SystemMessageType.REGISTER_VOLUNTEER:
// 注册志愿者
registerVolunteer(msg);
break;
case SystemMessageType.TOPIC_TO_ISSUE:
// 话题被组长转为议题
topicToIssue(msg);
break;
case SystemMessageType.TOPIC_TO_PROJECT:
// 话题转为项目
topicToProject(msg);
break;
case SystemMessageType.INVITE_RESI_INTO_GROUP:
inviteResiIntoGroup(msg);
break;
case SystemMessageType.INVITE_NEW_INTO_GROUP:
inviteNewIntoGroup(msg);
break;
case SystemMessageType.SHIFT_TOPIC_TO_ISSUE:
shiftTopicToIssue(msg);
break;
case SystemMessageType.PUBLISH_ONE_TOPIC:
publicOneTopic(msg);
break;
case SystemMessageType.LEADER_RESOLVE_TOPIC:
leaderResolveTopic(msg);
break;
}
} catch (RenException e) {
// 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试
log.error("【积分操作监听器】消费消息失败:".concat(ExceptionUtils.getErrorStackTrace(e)));
} catch (Exception e) {
// 不是我们自己抛出的异常,可以让MQ重试
log.error("【积分操作监听器】消费消息失败:".concat(ExceptionUtils.getErrorStackTrace(e)));
throw e;
} finally {
distributedLock.unLock(lock);
}
if (StringUtils.isNotBlank(pendingMsgLabel)) {
try {
removePendingMqMsgCache(pendingMsgLabel);
} catch (Exception e) {
log.error("【登录操作事件监听器】-删除mq阻塞消息缓存失败:{}", ExceptionUtils.getErrorStackTrace(e));
}
}
}
private void leaderResolveTopic(String msg) {
List<BasePointEventMsg> formList = JSON.parseArray(msg, BasePointEventMsg.class);
formList.forEach(obj -> {
userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj);
});
}
private void publicOneTopic(String msg) {
List<BasePointEventMsg> formList = JSON.parseArray(msg, BasePointEventMsg.class);
formList.forEach(obj -> {
userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj);
});
}
private void shiftTopicToIssue(String msg) {
List<BasePointEventMsg> formList = JSON.parseArray(msg, BasePointEventMsg.class);
formList.forEach(obj -> {
userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj);
});
}
private void inviteNewIntoGroup(String msg) {
List<BasePointEventMsg> formList = JSON.parseArray(msg, BasePointEventMsg.class);
formList.forEach(obj -> {
userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj);
});
}
private void inviteResiIntoGroup(String msg) {
List<BasePointEventMsg> formList = JSON.parseArray(msg, BasePointEventMsg.class);
formList.forEach(obj -> {
userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj);
});
}
private void topicToProject(String msg) {
List<BasePointEventMsg> formList = JSON.parseArray(msg, BasePointEventMsg.class);
formList.forEach(obj -> {
userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj);
});
}
private void topicToIssue(String msg) {
List<BasePointEventMsg> formList = JSON.parseArray(msg, BasePointEventMsg.class);
formList.forEach(obj -> {
userPointActionLogService.grantPointByEvent(obj.getEventTag(), obj);
});
}
private void registerVolunteer(String msg) {
List<BasePointEventMsg> formList = JSON.parseArray(msg, BasePointEventMsg.class);
formList.forEach(obj -> {
userPointActionLogService.grantPointByEvent(EventEnum.REGISTER_VOLUNTEER.getEventTag(),obj);
});
}
private void activeInsertLive(String msg) {
List<BasePointEventMsg> formList = JSON.parseArray(msg, BasePointEventMsg.class);
formList.forEach(obj -> {
userPointActionLogService.grantPointByEvent(EventEnum.ACTIVE_INSERT_LIVE.getEventTag(), obj);
});
}
private void activeSendPoint(String msg) {
List<SendPointFormDTO> formDTO = JSON.parseArray(msg, SendPointFormDTO.class);
userPointActionLogService.grantPoint(formDTO);
}
private void resiGroupPointOpe(String msg) {
List<BasePointEventMsg> formList = JSON.parseArray(msg, BasePointEventMsg.class);
formList.forEach(obj -> {
userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj);
});
}
/**
* @description
*
* @param pendingMsgLabel
* @return
* @author wxz
* @date 2021.10.14 16:32:32
*/
private void removePendingMqMsgCache(String pendingMsgLabel) {
String key = RedisKeys.blockedMqMsgKey(pendingMsgLabel);
redisUtils.delete(key);
//logger.info("【登录操作事件监听器】删除pendingMsgLabel成功:{}", pendingMsgLabel);
}
}

4
epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml

@ -141,3 +141,7 @@ shutdown:
graceful: graceful:
enable: true #是否开启优雅停机 enable: true #是否开启优雅停机
waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警
rocketmq:
enable: @rocketmq.enable@
name-server: @rocketmq.nameserver@

31
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.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.constants.TopicConstants;
import com.epmet.commons.tools.constant.EpmetRoleKeyConstant; import com.epmet.commons.tools.constant.EpmetRoleKeyConstant;
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;
@ -34,12 +35,15 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SendMqMsgUtils; import com.epmet.commons.tools.utils.SendMqMsgUtils;
import com.epmet.constant.SystemMessageType;
import com.epmet.dto.IssueShareLinkRecordDTO; import com.epmet.dto.IssueShareLinkRecordDTO;
import com.epmet.dto.IssueShareLinkVisitRecordDTO; import com.epmet.dto.IssueShareLinkVisitRecordDTO;
import com.epmet.dto.form.CommonGridIdFormDTO; import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO; import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.dto.form.SystemMsgFormDTO;
import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.dto.result.CommonDataFilterResultDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.feign.GovIssueOpenFeignClient;
import com.epmet.modules.feign.GovOrgFeignClient; import com.epmet.modules.feign.GovOrgFeignClient;
@ -120,6 +124,8 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl<GroupMemeb
private GovOrgFeignClient govOrgFeignClient; private GovOrgFeignClient govOrgFeignClient;
@Autowired @Autowired
private GroupInvitationService groupInvitationService; private GroupInvitationService groupInvitationService;
@Autowired
private EpmetMessageOpenFeignClient messageOpenFeignClient;
@Override @Override
public PageData<GroupMemeberOperationDTO> page(Map<String, Object> params) { public PageData<GroupMemeberOperationDTO> page(Map<String, Object> params) {
@ -352,10 +358,13 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl<GroupMemeb
} }
//mq的事件类型 //mq的事件类型
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); //MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
//事件code //事件code
mqBaseMsgDTO.setEventTag(isNew ? EventEnum.INVITE_NEW_RESIDENT_INTO_GROUP.getEventTag() : EventEnum.INVITE_RESIDENT_INTO_GROUP.getEventTag()); //mqBaseMsgDTO.setEventTag(isNew ? EventEnum.INVITE_NEW_RESIDENT_INTO_GROUP.getEventTag() : EventEnum.INVITE_RESIDENT_INTO_GROUP.getEventTag());
mqBaseMsgDTO.setEventClass("resi_group"); //mqBaseMsgDTO.setEventClass("resi_group");
String eventTag = isNew ? SystemMessageType.INVITE_NEW_INTO_GROUP : SystemMessageType.INVITE_RESI_INTO_GROUP;
List<BasePointEventMsg> pointEventMsgList = new ArrayList<>(); List<BasePointEventMsg> pointEventMsgList = new ArrayList<>();
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); BasePointEventMsg pointEventMsg = new BasePointEventMsg();
pointEventMsg.setCustomerId(resiGroupDTO.getCustomerId()); pointEventMsg.setCustomerId(resiGroupDTO.getCustomerId());
@ -368,8 +377,8 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl<GroupMemeb
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);
pointEventMsg.setTargetDate(current); pointEventMsg.setTargetDate(current);
pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag()); pointEventMsg.setEventTag(eventTag);
pointEventMsg.setEventClass(mqBaseMsgDTO.getEventClass()); pointEventMsg.setEventClass(TopicConstants.RESI_GROUP);
//pointEventMsg.setRemark("通过".concat(StringUtils.equals(param.getShareLinkType(),"topic") //pointEventMsg.setRemark("通过".concat(StringUtils.equals(param.getShareLinkType(),"topic")
// ? "话题":"议题").concat("分享链接邀请").concat(isNew ? "新" : "").concat("用户进组")); // ? "话题":"议题").concat("分享链接邀请").concat(isNew ? "新" : "").concat("用户进组"));
@ -387,9 +396,15 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl<GroupMemeb
} }
pointEventMsgList.add(pointEventMsg); pointEventMsgList.add(pointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); //mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList));
Result sendResult = SendMqMsgUtils.sendMsg(mqBaseMsgDTO); //Result sendResult = SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
if(!sendResult.success()){
SystemMsgFormDTO form = new SystemMsgFormDTO();
form.setMessageType(SystemMessageType.INVITE_NEW_INTO_GROUP);
form.setContent(pointEventMsgList);
Result sendMsgResult = messageOpenFeignClient.sendSystemMsgByMQ(form);
if(!sendMsgResult.success()){
log.error((isNew ? "拉新用户入组事件发送失败" : "邀请已注册用户入组事件发送失败").concat(",参数:{}"),JSON.toJSONString(param)); log.error((isNew ? "拉新用户入组事件发送失败" : "邀请已注册用户入组事件发送失败").concat(",参数:{}"),JSON.toJSONString(param));
} }
} }

23
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java

@ -34,6 +34,7 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SendMqMsgUtils; import com.epmet.commons.tools.utils.SendMqMsgUtils;
import com.epmet.constant.ReadFlagConstant; import com.epmet.constant.ReadFlagConstant;
import com.epmet.constant.SystemMessageType;
import com.epmet.constant.UserMessageTypeConstant; import com.epmet.constant.UserMessageTypeConstant;
import com.epmet.dto.IssueShareLinkVisitRecordDTO; import com.epmet.dto.IssueShareLinkVisitRecordDTO;
import com.epmet.dto.form.CommonGridIdFormDTO; import com.epmet.dto.form.CommonGridIdFormDTO;
@ -673,10 +674,13 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
} }
//mq的事件类型 //mq的事件类型
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); //MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
mqBaseMsgDTO.setEventClass("resi_group"); //mqBaseMsgDTO.setEventClass("resi_group");
//事件code //事件code
mqBaseMsgDTO.setEventTag(isNew ? EventEnum.INVITE_NEW_RESIDENT_INTO_GROUP.getEventTag() : EventEnum.INVITE_RESIDENT_INTO_GROUP.getEventTag()); //mqBaseMsgDTO.setEventTag(isNew ? EventEnum.INVITE_NEW_RESIDENT_INTO_GROUP.getEventTag() : EventEnum.INVITE_RESIDENT_INTO_GROUP.getEventTag());
String eventTag = isNew ? SystemMessageType.INVITE_NEW_INTO_GROUP : SystemMessageType.INVITE_RESI_INTO_GROUP;
List<BasePointEventMsg> pointEventMsgList = new ArrayList<>(); List<BasePointEventMsg> pointEventMsgList = new ArrayList<>();
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); BasePointEventMsg pointEventMsg = new BasePointEventMsg();
pointEventMsg.setCustomerId(groupCache.getCustomerId()); pointEventMsg.setCustomerId(groupCache.getCustomerId());
@ -689,7 +693,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);
pointEventMsg.setTargetDate(groupMemeberOperationDTO.getCreatedTime()); pointEventMsg.setTargetDate(groupMemeberOperationDTO.getCreatedTime());
pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag()); pointEventMsg.setEventTag(eventTag);
//pointEventMsg.setRemark("通过".concat(StringUtils.equals(groupMemeberOperationDTO.getEnterGroupType(),ModuleConstant.ENTER_GROUP_TYPE_TOPIC_LINK) //pointEventMsg.setRemark("通过".concat(StringUtils.equals(groupMemeberOperationDTO.getEnterGroupType(),ModuleConstant.ENTER_GROUP_TYPE_TOPIC_LINK)
//? "话题":"议题").concat("分享链接邀请").concat(isNew ? "新" : "").concat("用户进组")); //? "话题":"议题").concat("分享链接邀请").concat(isNew ? "新" : "").concat("用户进组"));
List<String> userParam = new LinkedList<>(); List<String> userParam = new LinkedList<>();
@ -707,8 +711,15 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
pointEventMsgList.add(pointEventMsg); pointEventMsgList.add(pointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); //mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList));
Result result= SendMqMsgUtils.sendMsg(mqBaseMsgDTO); //Result result= SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
SystemMsgFormDTO sendMsgForm = new SystemMsgFormDTO();
sendMsgForm.setMessageType(eventTag);
sendMsgForm.setContent(pointEventMsgList);
Result result = epmetMessageOpenFeignClient.sendSystemMsgByMQ(sendMsgForm);
if(!result.success()){ if(!result.success()){
logger.error((isNew ? "拉新用户入组事件发送失败" : "邀请已注册用户入组事件发送失败").concat(",参数:{}"),JSON.toJSONString(agreeApplyFormDTO)); logger.error((isNew ? "拉新用户入组事件发送失败" : "邀请已注册用户入组事件发送失败").concat(",参数:{}"),JSON.toJSONString(agreeApplyFormDTO));
} }

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

@ -40,10 +40,12 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.commons.tools.utils.SendMqMsgUtils; import com.epmet.commons.tools.utils.SendMqMsgUtils;
import com.epmet.dto.form.CommonGridIdFormDTO; import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.form.SystemMsgFormDTO;
import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.dto.result.CommonDataFilterResultDTO;
import com.epmet.dto.result.UserInfoResultDTO; import com.epmet.dto.result.UserInfoResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.modules.comment.entity.ResiTopicCommentEntity; import com.epmet.modules.comment.entity.ResiTopicCommentEntity;
import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.constant.ResiGroupRedisKeys;
import com.epmet.modules.constant.WxmpSubscribeConstant; import com.epmet.modules.constant.WxmpSubscribeConstant;
@ -127,6 +129,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl<ResiTopicCommen
private NoticeCommentService noticeCommentService; private NoticeCommentService noticeCommentService;
@Autowired @Autowired
private ResiTopicCommentAttachmentService resiTopicCommentAttachmentService; private ResiTopicCommentAttachmentService resiTopicCommentAttachmentService;
@Autowired
private EpmetMessageOpenFeignClient messageOpenFeignClient;
@Value("${openapi.scan.server.url}") @Value("${openapi.scan.server.url}")
private String scanApiUrl; private String scanApiUrl;
@ -266,11 +270,14 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl<ResiTopicCommen
Integer commentCount = baseDao.selectCommentCountByUserId(tokenDto.getUserId()); Integer commentCount = baseDao.selectCommentCountByUserId(tokenDto.getUserId());
if (null == commentCount || commentCount <= NumConstant.THREE){ if (null == commentCount || commentCount <= NumConstant.THREE){
if (StringUtils.isNotBlank(commentContent) && commentContent.length() > NumConstant.FIFTEEN){ if (StringUtils.isNotBlank(commentContent) && commentContent.length() > NumConstant.FIFTEEN){
String eventClass = EventEnum.PARTICIPATE_ONE_TOPIC.getEventClass();
String eventTag = EventEnum.PARTICIPATE_ONE_TOPIC.getEventTag();
//mq的事件类型 //mq的事件类型
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); //MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
mqBaseMsgDTO.setEventClass(EventEnum.PARTICIPATE_ONE_TOPIC.getEventClass()); //mqBaseMsgDTO.setEventClass(EventEnum.PARTICIPATE_ONE_TOPIC.getEventClass());
//事件code //事件code
mqBaseMsgDTO.setEventTag(EventEnum.PARTICIPATE_ONE_TOPIC.getEventTag()); //mqBaseMsgDTO.setEventTag(EventEnum.PARTICIPATE_ONE_TOPIC.getEventTag());
List<BasePointEventMsg> pointEventMsgList = new ArrayList<>(); List<BasePointEventMsg> pointEventMsgList = new ArrayList<>();
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); BasePointEventMsg pointEventMsg = new BasePointEventMsg();
String customerId = resiTopicdDao.selectCustomerIdByTopicId(resiCommentFormDTO.getTopicId()); String customerId = resiTopicdDao.selectCustomerIdByTopicId(resiCommentFormDTO.getTopicId());
@ -297,8 +304,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl<ResiTopicCommen
// 加分 // 加分
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);
pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag()); pointEventMsg.setEventTag(eventTag);
pointEventMsg.setEventClass(mqBaseMsgDTO.getEventClass()); pointEventMsg.setEventClass(eventClass);
//某某小组中评论话题“某某某…” //某某小组中评论话题“某某某…”
StringBuilder builder = new StringBuilder(groupRedis.get(topic.getGroupId()).getGroupName()).append("小组中评论"); StringBuilder builder = new StringBuilder(groupRedis.get(topic.getGroupId()).getGroupName()).append("小组中评论");
String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent()); String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent());
@ -317,8 +324,14 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl<ResiTopicCommen
pointEventMsg.setRemark(builder.toString()); pointEventMsg.setRemark(builder.toString());
pointEventMsgList.add(pointEventMsg); pointEventMsgList.add(pointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); SystemMsgFormDTO msgForm = new SystemMsgFormDTO();
Result msgResult= SendMqMsgUtils.sendMsg(mqBaseMsgDTO); msgForm.setMessageType(eventTag);
msgForm.setContent(pointEventMsgList);
Result msgResult = messageOpenFeignClient.sendSystemMsgByMQ(msgForm);
//mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList));
//Result msgResult= SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
if(!msgResult.success()){ if(!msgResult.success()){
logger.error(TopicConstant.COMMENT_TOPIC_FAILURE); logger.error(TopicConstant.COMMENT_TOPIC_FAILURE);
} }

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

@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.constants.TopicConstants;
import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; 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;
@ -45,6 +46,7 @@ import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constant.OrgInfoConstant; import com.epmet.constant.OrgInfoConstant;
import com.epmet.constant.SystemMessageType;
import com.epmet.constant.WxmpMessageConstant; import com.epmet.constant.WxmpMessageConstant;
import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.IssueApplicationDTO; import com.epmet.dto.IssueApplicationDTO;
@ -414,10 +416,14 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
if (null != publishTopicCount && publishTopicCount <= NumConstant.THREE){ if (null != publishTopicCount && publishTopicCount <= NumConstant.THREE){
//mq的事件类型 //mq的事件类型
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); //MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
mqBaseMsgDTO.setEventClass(EventEnum.PUBLISH_ONE_TOPIC.getEventClass()); //mqBaseMsgDTO.setEventClass(EventEnum.PUBLISH_ONE_TOPIC.getEventClass());
//事件code //事件code
mqBaseMsgDTO.setEventTag(EventEnum.PUBLISH_ONE_TOPIC.getEventTag()); //mqBaseMsgDTO.setEventTag(EventEnum.PUBLISH_ONE_TOPIC.getEventTag());
String eventClass = TopicConstants.RESI_GROUP;
String eventTag = SystemMessageType.PUBLISH_ONE_TOPIC;
List<BasePointEventMsg> pointEventMsgList = new ArrayList<>(); List<BasePointEventMsg> pointEventMsgList = new ArrayList<>();
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); BasePointEventMsg pointEventMsg = new BasePointEventMsg();
ResiGroupInfoRedisDTO resiGroupInfoRedisDTO = resiGroupRedis.get(resiTopicPublishFormDTO.getGroupId()); ResiGroupInfoRedisDTO resiGroupInfoRedisDTO = resiGroupRedis.get(resiTopicPublishFormDTO.getGroupId());
@ -449,13 +455,19 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
// 加分 // 加分
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);
pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag()); pointEventMsg.setEventTag(eventTag);
pointEventMsg.setEventClass(mqBaseMsgDTO.getEventClass()); pointEventMsg.setEventClass(eventClass);
pointEventMsgList.add(pointEventMsg); pointEventMsgList.add(pointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); //mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList));
Result msgResult= SendMqMsgUtils.sendMsg(mqBaseMsgDTO); //Result msgResult= SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
if(!msgResult.success()){
SystemMsgFormDTO msgFormDTO = new SystemMsgFormDTO();
msgFormDTO.setMessageType(eventTag);
msgFormDTO.setContent(pointEventMsgList);
Result sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(msgFormDTO);
if(!sendMsgResult.success()){
logger.error(TopicConstant.CREATE_TOPIC_FAILURE); logger.error(TopicConstant.CREATE_TOPIC_FAILURE);
} }
} }
@ -810,10 +822,10 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
//mq的事件类型 //mq的事件类型
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); //MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
mqBaseMsgDTO.setEventClass("resi_group"); //mqBaseMsgDTO.setEventClass("resi_group");
//事件code 组长解决组内话题 //事件code 组长解决组内话题
mqBaseMsgDTO.setEventTag(EventEnum.LEADER_RESOLVE_TOPIC.getEventTag()); //mqBaseMsgDTO.setEventTag(EventEnum.LEADER_RESOLVE_TOPIC.getEventTag());
List<BasePointEventMsg> pointEventMsgList = new ArrayList<>(); List<BasePointEventMsg> pointEventMsgList = new ArrayList<>();
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); BasePointEventMsg pointEventMsg = new BasePointEventMsg();
@ -840,8 +852,15 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
"已被解决"); "已被解决");
pointEventMsgList.add(pointEventMsg); pointEventMsgList.add(pointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); //mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList));
if (!SendMqMsgUtils.sendMsg(mqBaseMsgDTO).success()) { //Result<String> result = SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
SystemMsgFormDTO msgFormDTO = new SystemMsgFormDTO();
msgFormDTO.setContent(pointEventMsgList);
msgFormDTO.setMessageType(SystemMessageType.LEADER_RESOLVE_TOPIC);
Result result = epmetMessageOpenFeignClient.sendSystemMsgByMQ(msgFormDTO);
if (!result.success()) {
log.error("组长解决话题事件发送失败,参数:{}", JSON.toJSONString(closeFormDTO)); log.error("组长解决话题事件发送失败,参数:{}", JSON.toJSONString(closeFormDTO));
} }
} }
@ -1931,15 +1950,22 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
).append("转为议题").toString()); ).append("转为议题").toString());
pointEventMsgList.add(pointEventMsg2); pointEventMsgList.add(pointEventMsg2);
pointEventMsgList.forEach(item -> { pointEventMsgList.forEach(item -> {
MqBaseMsgDTO msgDTO = new MqBaseMsgDTO(); //MqBaseMsgDTO msgDTO = new MqBaseMsgDTO();
msgDTO.setEventClass("resi_group"); //msgDTO.setEventClass("resi_group");
//事件code 因为楼院小组的事件回调统一入口,外层的EventTag不能够判断具体的事件 //事件code 因为楼院小组的事件回调统一入口,外层的EventTag不能够判断具体的事件
//因为可能会一次发送多个事件集合,需要对集合里的对象逐个判断 //因为可能会一次发送多个事件集合,需要对集合里的对象逐个判断
msgDTO.setEventTag(EventEnum.SHIFT_TOPIC_TO_ISSUE.getEventTag()); //msgDTO.setEventTag(EventEnum.SHIFT_TOPIC_TO_ISSUE.getEventTag());
List<BasePointEventMsg> msgList = new ArrayList<>(); List<BasePointEventMsg> msgList = new ArrayList<>();
msgList.add(item); msgList.add(item);
msgDTO.setMsg(JSON.toJSONString(msgList)); //msgDTO.setMsg(JSON.toJSONString(msgList));
if(!SendMqMsgUtils.sendMsg(msgDTO).success()){
SystemMsgFormDTO msgForm = new SystemMsgFormDTO();
msgForm.setMessageType(SystemMessageType.SHIFT_TOPIC_TO_ISSUE);
msgForm.setContent(msgList);
Result sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(msgForm);
//Result<String> sendMsgResult = SendMqMsgUtils.sendMsg(msgDTO);
if(!sendMsgResult.success()){
log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(topicTurnIssueFromDTO)); log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(topicTurnIssueFromDTO));
} }
}); });
@ -2104,15 +2130,22 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
).append("转为议题").toString()); ).append("转为议题").toString());
pointEventMsgList.add(pointEventMsg2); pointEventMsgList.add(pointEventMsg2);
pointEventMsgList.forEach(item -> { pointEventMsgList.forEach(item -> {
MqBaseMsgDTO msgDTO = new MqBaseMsgDTO(); //MqBaseMsgDTO msgDTO = new MqBaseMsgDTO();
msgDTO.setEventClass("resi_group"); //msgDTO.setEventClass("resi_group");
//事件code 因为楼院小组的事件回调统一入口,外层的EventTag不能够判断具体的事件 //事件code 因为楼院小组的事件回调统一入口,外层的EventTag不能够判断具体的事件
//因为可能会一次发送多个事件集合,需要对集合里的对象逐个判断 //因为可能会一次发送多个事件集合,需要对集合里的对象逐个判断
msgDTO.setEventTag(EventEnum.SHIFT_TOPIC_TO_ISSUE.getEventTag()); //msgDTO.setEventTag(EventEnum.SHIFT_TOPIC_TO_ISSUE.getEventTag());
List<BasePointEventMsg> msgList = new ArrayList<>(); List<BasePointEventMsg> msgList = new ArrayList<>();
msgList.add(item); msgList.add(item);
msgDTO.setMsg(JSON.toJSONString(msgList)); //msgDTO.setMsg(JSON.toJSONString(msgList));
if(!SendMqMsgUtils.sendMsg(msgDTO).success()){
SystemMsgFormDTO sendMsgForm = new SystemMsgFormDTO();
sendMsgForm.setContent(msgList);
sendMsgForm.setMessageType(SystemMessageType.SHIFT_TOPIC_TO_ISSUE);
Result sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(sendMsgForm);
//Result<String> sendMsgResult = SendMqMsgUtils.sendMsg(msgDTO);
if(!sendMsgResult.success()){
log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(param)); log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(param));
} }
}); });
@ -2462,10 +2495,10 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
//某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为项目 //某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为项目
if(EventEnum.TOPIC_SHIFTED_TO_PROJECT == param.getEvent()){ if(EventEnum.TOPIC_SHIFTED_TO_PROJECT == param.getEvent()){
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); //MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
mqBaseMsgDTO.setEventClass("resi_group"); //mqBaseMsgDTO.setEventClass("resi_group");
mqBaseMsgDTO.setEventTag(EventEnum.TOPIC_SHIFTED_TO_PROJECT.getEventTag()); //mqBaseMsgDTO.setEventTag(EventEnum.TOPIC_SHIFTED_TO_PROJECT.getEventTag());
List<BasePointEventMsg> pointEventMsgList = new ArrayList<>(); List<BasePointEventMsg> pointEventMsgList = new ArrayList<>();
//话题被转为项目 话题作者 //话题被转为项目 话题作者
@ -2493,8 +2526,16 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
+ (NumConstant.TEN > content.length() ? "\"" : "…\"") + (NumConstant.TEN > content.length() ? "\"" : "…\"")
).append("被转为项目").toString()); ).append("被转为项目").toString());
pointEventMsgList.add(pointEventMsg); pointEventMsgList.add(pointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); //mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList));
if(!SendMqMsgUtils.sendMsg(mqBaseMsgDTO).success()){
//Result<String> sendMsgResult = SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
SystemMsgFormDTO sendMsgForm = new SystemMsgFormDTO();
sendMsgForm.setContent(pointEventMsgList);
sendMsgForm.setMessageType(SystemMessageType.TOPIC_TO_PROJECT);
Result sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(sendMsgForm);
if(!sendMsgResult.success()){
log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(param)); log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(param));
} }
} }

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

@ -38,7 +38,9 @@ import com.epmet.commons.tools.scan.result.SyncScanResult;
import com.epmet.commons.tools.scan.result.VoiceResultDTO; import com.epmet.commons.tools.scan.result.VoiceResultDTO;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.utils.*;
import com.epmet.constant.SystemMessageType;
import com.epmet.dto.form.CommonGridIdFormDTO; import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.form.SystemMsgFormDTO;
import com.epmet.dto.result.AllGridsByUserIdResultDTO; import com.epmet.dto.result.AllGridsByUserIdResultDTO;
import com.epmet.dto.result.UserInfoResultDTO; import com.epmet.dto.result.UserInfoResultDTO;
import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.dto.result.CommonDataFilterResultDTO;
@ -1004,11 +1006,11 @@ public class TopicDraftServiceImpl extends BaseServiceImpl<TopicDraftDao, TopicD
private void sendMqMsg(String userId, String customerId, Date targetDate, String groupName, String topicBreviary, String agencyId, private void sendMqMsg(String userId, String customerId, Date targetDate, String groupName, String topicBreviary, String agencyId,
String gridId, String groupId, String topicId) { String gridId, String groupId, String topicId) {
//6.发送积分 //6.发送积分
MqBaseMsgDTO mqBaseMsgDTO=new MqBaseMsgDTO(); //MqBaseMsgDTO mqBaseMsgDTO=new MqBaseMsgDTO();
//mq的事件类型 //mq的事件类型
mqBaseMsgDTO.setEventClass(EventEnum.PUBLISH_ONE_TOPIC.getEventClass()); //mqBaseMsgDTO.setEventClass(EventEnum.PUBLISH_ONE_TOPIC.getEventClass());
//事件code //事件code
mqBaseMsgDTO.setEventTag(EventEnum.PUBLISH_ONE_TOPIC.getEventTag()); //mqBaseMsgDTO.setEventTag(EventEnum.PUBLISH_ONE_TOPIC.getEventTag());
List<BasePointEventMsg> actPointEventMsgList=new ArrayList<>(); List<BasePointEventMsg> actPointEventMsgList=new ArrayList<>();
BasePointEventMsg actPointEventMsg=new BasePointEventMsg(); BasePointEventMsg actPointEventMsg=new BasePointEventMsg();
actPointEventMsg.setCustomerId(customerId); actPointEventMsg.setCustomerId(customerId);
@ -1026,8 +1028,14 @@ public class TopicDraftServiceImpl extends BaseServiceImpl<TopicDraftDao, TopicD
actPointEventMsg.setEventClass(EventEnum.PUBLISH_ONE_TOPIC.getEventClass()); actPointEventMsg.setEventClass(EventEnum.PUBLISH_ONE_TOPIC.getEventClass());
actPointEventMsgList.add(actPointEventMsg); actPointEventMsgList.add(actPointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(actPointEventMsgList)); //mqBaseMsgDTO.setMsg(JSON.toJSONString(actPointEventMsgList));
Result mqResult = SendMqMsgUtils.sendMsg(mqBaseMsgDTO); //Result mqResult = SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
SystemMsgFormDTO sendMsgForm = new SystemMsgFormDTO();
sendMsgForm.setContent(actPointEventMsgList);
sendMsgForm.setMessageType(SystemMessageType.PUBLISH_ONE_TOPIC);
Result mqResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(sendMsgForm);
if(!mqResult.success()){ if(!mqResult.success()){
logger.error("发表话题积分添加失败"); logger.error("发表话题积分添加失败");
} }

Loading…
Cancel
Save