Browse Source

志愿者mq

dev
jianjun 3 years ago
parent
commit
188dee7192
  1. 5
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java
  2. 45
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqBaseFormDTO.java
  3. 5
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java
  4. 4
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SystemMsgFormDTO.java
  5. 30
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java
  6. 4
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java
  7. 19
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

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

@ -74,4 +74,9 @@ public interface TopicConstants {
* 社区服务原居民需求 * 社区服务原居民需求
*/ */
String COMMUNITY_SERVICE="community_service"; String COMMUNITY_SERVICE="community_service";
/**
* 志愿者
*/
String VOLUNTEER ="volunteer";
} }

45
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqBaseFormDTO.java

@ -0,0 +1,45 @@
package com.epmet.commons.tools.dto.form.mq;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* desc:rocketmq 基础参数
*
* @author zhaoqifeng
* @dscription
* @date 2021/6/7 16:23
*/
@NoArgsConstructor
@Data
public class MqBaseFormDTO implements Serializable {
private static final long serialVersionUID = -6616119263736477518L;
/**
* 客户Id
*/
private String customerId;
/**
* 对象id 没有则查询全部
*/
private String objectId;
/**
* 对象id 没有则查询全部
*/
private List<String> objectIdList;
public MqBaseFormDTO(String customerId, String objectId) {
this.customerId = customerId;
this.objectId = objectId;
}
public MqBaseFormDTO(String customerId, List<String> objectIdList) {
this.customerId = customerId;
this.objectIdList = objectIdList;
}
}

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

@ -105,6 +105,11 @@ public interface SystemMessageType {
*/ */
String IC_RESI_USER_DEL = "ic_resi_user_del"; String IC_RESI_USER_DEL = "ic_resi_user_del";
/**
* 志愿者变动
*/
String VOLUNTEER_CHANGED = "volunteer_changed";
/** /**
* 需求完成如果服务方是区域化党建单位重新计算这个单位的满意度 * 需求完成如果服务方是区域化党建单位重新计算这个单位的满意度
*/ */

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

@ -1,9 +1,13 @@
package com.epmet.dto.form; package com.epmet.dto.form;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
@AllArgsConstructor
@NoArgsConstructor
@Data @Data
public class SystemMsgFormDTO { public class SystemMsgFormDTO {

30
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java

@ -3,6 +3,7 @@ package com.epmet.send;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.epmet.commons.rocketmq.messages.*; import com.epmet.commons.rocketmq.messages.*;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.form.mq.MqBaseFormDTO;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.SystemMessageType; import com.epmet.constant.SystemMessageType;
import com.epmet.dto.form.SystemMsgFormDTO; import com.epmet.dto.form.SystemMsgFormDTO;
@ -207,6 +208,35 @@ public class SendMqMsgUtil {
return true; return true;
} }
log.error("发送(项目变动)系统消息到message服务失败:{},msg:{}", JSON.toJSONString(sendMsgResult), JSON.toJSONString(systemMsgFormDTO)); log.error("发送(项目变动)系统消息到message服务失败:{},msg:{}", JSON.toJSONString(sendMsgResult), JSON.toJSONString(systemMsgFormDTO));
} catch (Exception e) {
log.error("sendProjectMqMsg exception", e);
}
return false;
}
/**
* desc: 发送mq消息
*
* @param msgContent
* @return boolean
* @author LiuJanJun
* @date 2021/4/23 3:01 下午
* @remark 失败重试1次,调用端自行判断如果失败是否要继续执行
*/
public boolean sendRocketMqMsg(String msgType, MqBaseFormDTO msgContent) {
try {
SystemMsgFormDTO form = new SystemMsgFormDTO(msgType,msgContent);
Result sendMsgResult;
log.info("sendRocketMqMsg param:{}",msgContent);
int retryTime = 0;
do {
sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(form);
} while ((sendMsgResult == null || !sendMsgResult.success()) && retryTime++ < NumConstant.TWO);
if (sendMsgResult != null && sendMsgResult.success()) {
return true;
}
log.error("发送系统消息到message服务失败:{},msg:{}", JSON.toJSONString(sendMsgResult), JSON.toJSONString(form));
} catch (Exception e) { } catch (Exception e) {
log.error("sendMqMsg exception", e); log.error("sendMqMsg exception", e);
} }

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

@ -230,6 +230,10 @@ public class SystemMessageServiceImpl implements SystemMessageService {
case SystemMessageType.FINISH_USER_DEMAND: case SystemMessageType.FINISH_USER_DEMAND:
topic=TopicConstants.COMMUNITY_SERVICE; topic=TopicConstants.COMMUNITY_SERVICE;
break; break;
//志愿者变动
case SystemMessageType.VOLUNTEER_CHANGED:
topic=TopicConstants.VOLUNTEER;
break;
default: default:
logger.error("getTopicByMsgType msgType:{} is not support for any topic", msgType); logger.error("getTopicByMsgType msgType:{} is not support for any topic", msgType);
} }

19
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -30,6 +30,7 @@ import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.mq.MqBaseFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.dto.result.OptionDataResultDTO; import com.epmet.commons.tools.dto.result.OptionDataResultDTO;
import com.epmet.commons.tools.enums.IcFormCodeEnum; import com.epmet.commons.tools.enums.IcFormCodeEnum;
@ -60,6 +61,7 @@ import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient;
import com.epmet.feign.OssFeignClient; import com.epmet.feign.OssFeignClient;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO; import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO;
import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.IcResiUserExportService; import com.epmet.service.IcResiUserExportService;
import com.epmet.service.IcResiUserImportService; import com.epmet.service.IcResiUserImportService;
import com.epmet.service.IcResiUserService; import com.epmet.service.IcResiUserService;
@ -217,9 +219,24 @@ public class IcResiUserController implements ResultDataResolver {
form.setMessageType(SystemMessageType.IC_RESI_USER_ADD); form.setMessageType(SystemMessageType.IC_RESI_USER_ADD);
form.setContent(mqMsg); form.setContent(mqMsg);
epmetMessageOpenFeignClient.sendSystemMsgByMQ(form); epmetMessageOpenFeignClient.sendSystemMsgByMQ(form);
this.sendVolunteerMsg(tokenDto.getCustomerId(), resiUserId);
return new Result(); return new Result();
} }
/**
* desc:发送 志愿者变动消息
* @param customerId
* @param resiUserId
*/
private void sendVolunteerMsg(String customerId, String resiUserId) {
//发送志愿者人员消息变动
boolean flag = SendMqMsgUtil.build().sendRocketMqMsg(SystemMessageType.VOLUNTEER_CHANGED, new MqBaseFormDTO(customerId, resiUserId));
if (!flag){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"发送志愿者变动消息失败","发送志愿者变动消息失败");
}
}
/** /**
* @Author sun * @Author sun
* @Description 党建互联平台--修改居民信息 * @Description 党建互联平台--修改居民信息
@ -230,6 +247,8 @@ public class IcResiUserController implements ResultDataResolver {
String resiUserId = icResiUserService.edit(tokenDto, formDTO); String resiUserId = icResiUserService.edit(tokenDto, formDTO);
//推送MQ事件 //推送MQ事件
editResiMq(tokenDto.getCustomerId(), resiUserId); editResiMq(tokenDto.getCustomerId(), resiUserId);
this.sendVolunteerMsg(tokenDto.getCustomerId(), resiUserId);
return new Result(); return new Result();
} }

Loading…
Cancel
Save