Commit 387a3dcc authored by lisong's avatar lisong

消息推送修改

parent 990046ca
...@@ -34,6 +34,7 @@ import com.yeejoin.amos.fas.business.service.model.ToipResponse; ...@@ -34,6 +34,7 @@ import com.yeejoin.amos.fas.business.service.model.ToipResponse;
import com.yeejoin.amos.fas.business.util.CacheFactory; import com.yeejoin.amos.fas.business.util.CacheFactory;
import com.yeejoin.amos.fas.business.util.CacheMap; import com.yeejoin.amos.fas.business.util.CacheMap;
import com.yeejoin.amos.fas.business.util.JSONUtil; import com.yeejoin.amos.fas.business.util.JSONUtil;
import com.yeejoin.amos.fas.business.vo.MessageVO;
import com.yeejoin.amos.fas.business.vo.Toke; import com.yeejoin.amos.fas.business.vo.Toke;
import com.yeejoin.amos.fas.common.enums.ContingencyPlanStatusEnum; import com.yeejoin.amos.fas.common.enums.ContingencyPlanStatusEnum;
import com.yeejoin.amos.fas.common.enums.PlanRecordStatusEnum; import com.yeejoin.amos.fas.common.enums.PlanRecordStatusEnum;
...@@ -502,12 +503,21 @@ public class ContingencyAction implements CustomerAction { ...@@ -502,12 +503,21 @@ public class ContingencyAction implements CustomerAction {
contingencyPlanInstanceMapper.updateMessageById(planInstance); contingencyPlanInstanceMapper.updateMessageById(planInstance);
} }
//极光推送 //极光推送
iPlanVisual3dService.sendMessage(batchNo, buttonCode, null); // iPlanVisual3dService.sendMessage(buttonCode, null);
PushMsgParam pushMsgParam = new PushMsgParam(); // PushMsgParam pushMsgParam = new PushMsgParam();
pushMsgParam.setSubject("应急处置执行任务提醒"); // pushMsgParam.setSubject("应急处置执行任务提醒");
pushMsgParam.setContent("【" + actionName + "】- " + DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss")); // pushMsgParam.setContent("【" + actionName + "】- " + DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
pushMsgParam.setType(JPushTypeEnum.TAG.getCode()); // pushMsgParam.setType(JPushTypeEnum.TAG.getCode());
iPlanVisual3dService.sendMessage(batchNo, buttonCode, pushMsgParam);
MessageVO messageVO = new MessageVO();
messageVO.setTitle("应急处置执行任务提醒");
messageVO.setBody("【" + actionName + "】- 【已完成】-" + DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
messageVO.setMsgType("emergencyPlan");
messageVO.setCategory(1);
messageVO.setIsSendApp(true);
messageVO.setIsSendWeb(true);
messageVO.setRelationId(batchNo);
iPlanVisual3dService.sendMessage(buttonCode, messageVO);
} }
} }
......
...@@ -13,6 +13,7 @@ import java.util.stream.Collectors; ...@@ -13,6 +13,7 @@ import java.util.stream.Collectors;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.fas.business.service.intfc.*; import com.yeejoin.amos.fas.business.service.intfc.*;
import com.yeejoin.amos.fas.business.vo.MessageVO;
import com.yeejoin.amos.fas.business.vo.PlanStepJsonVO; import com.yeejoin.amos.fas.business.vo.PlanStepJsonVO;
import com.yeejoin.amos.fas.common.enums.PlanReplyMessageEnum; import com.yeejoin.amos.fas.common.enums.PlanReplyMessageEnum;
import com.yeejoin.amos.fas.datasync.bo.ContingencyOriginalDataSyncBo; import com.yeejoin.amos.fas.datasync.bo.ContingencyOriginalDataSyncBo;
...@@ -22,6 +23,7 @@ import com.yeejoin.amos.feign.privilege.model.RoleModel; ...@@ -22,6 +23,7 @@ import com.yeejoin.amos.feign.privilege.model.RoleModel;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -142,6 +144,9 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla ...@@ -142,6 +144,9 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
@Autowired @Autowired
private PlanDetailMapper planDetailMapper; private PlanDetailMapper planDetailMapper;
@Value("${rocket-plan-execute-topic}")
private String planExecute;
/** /**
* 创建预案执行记录 * 创建预案执行记录
* *
...@@ -368,7 +373,18 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla ...@@ -368,7 +373,18 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
ContingencyPlanInstance planInstance = contingencyInstance.updateExtendColumn(contingencyPlanInstance); ContingencyPlanInstance planInstance = contingencyInstance.updateExtendColumn(contingencyPlanInstance);
BeanUtils.copyProperties(planInstance, contingencyPlanInstance); BeanUtils.copyProperties(planInstance, contingencyPlanInstance);
// 确认后,移动端极光推送 // 确认后,移动端极光推送
planVisual3dService.sendMessage(batchNo, code, null); MessageVO messageVO = new MessageVO();
messageVO.setTitle("应急处置执行任务提醒");
messageVO.setBody("【" + contingencyPlanInstance.getCategory() + "】- 【已完成】-" + DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
messageVO.setMsgType("emergencyPlan");
messageVO.setCategory(1);
messageVO.setIsSendApp(true);
messageVO.setIsSendWeb(true);
messageVO.setRelationId(batchNo);
planVisual3dService.sendMessage(code, messageVO);
// 发送mqtt消息
rocketMQService.sendMsg(planExecute, "plan_process", messageVO.getBody());
} }
ContingencyPlanInstance instance = repository.save(contingencyPlanInstance); ContingencyPlanInstance instance = repository.save(contingencyPlanInstance);
// 异步数据同步之消息发送 // 异步数据同步之消息发送
......
...@@ -24,6 +24,7 @@ import com.yeejoin.amos.fas.business.util.JSONUtil; ...@@ -24,6 +24,7 @@ import com.yeejoin.amos.fas.business.util.JSONUtil;
import com.yeejoin.amos.fas.business.util.StringUtil; import com.yeejoin.amos.fas.business.util.StringUtil;
import com.yeejoin.amos.fas.business.vo.ButtonJsonVO; import com.yeejoin.amos.fas.business.vo.ButtonJsonVO;
import com.yeejoin.amos.fas.business.vo.ContingencyPlanInstanceVO; import com.yeejoin.amos.fas.business.vo.ContingencyPlanInstanceVO;
import com.yeejoin.amos.fas.business.vo.MessageVO;
import com.yeejoin.amos.fas.business.vo.PlanStepJsonVO; import com.yeejoin.amos.fas.business.vo.PlanStepJsonVO;
import com.yeejoin.amos.fas.business.vo.PlanStepVo; import com.yeejoin.amos.fas.business.vo.PlanStepVo;
import com.yeejoin.amos.fas.business.vo.Toke; import com.yeejoin.amos.fas.business.vo.Toke;
...@@ -566,46 +567,39 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService { ...@@ -566,46 +567,39 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService {
// } // }
@Override @Override
public void sendMessage(String batchNo, String buttonCode, PushMsgParam pushMsgParam) { public void sendMessage(String buttonCode, MessageVO messageVO) {
List<String> userIds = getUserIds(buttonCode); List<String> userIds = getUserIds(buttonCode);
if (!CollectionUtils.isEmpty(userIds)) { if (!CollectionUtils.isEmpty(userIds)) {
if (pushMsgParam != null) { messageVO.setRecivers(userIds);
pushMsgParam.setRecivers(userIds); sendMessage(messageVO);
sendMessage(batchNo, pushMsgParam);
} else {
PushMsgParam msgParam = new PushMsgParam();
msgParam.setRecivers(userIds);
sendMessage(batchNo, msgParam);
}
} }
} }
private void sendMessage(String batchNo, PushMsgParam pushMsgParam){ private void sendMessage(MessageVO messageVO){
try { try {
MessageModel model = new MessageModel(); MessageModel model = new MessageModel();
model.setMsgType("emergencyPlan"); model.setMsgType(messageVO.getMsgType());
// 关联id // 关联id
if (!ObjectUtils.isEmpty(batchNo)){ if (!ObjectUtils.isEmpty(messageVO.getRelationId())){
model.setRelationId(batchNo); model.setRelationId(messageVO.getRelationId());
} }
// 发送人ids // 发送人ids
model.setRecivers(pushMsgParam.getRecivers()); model.setRecivers(messageVO.getRecivers());
model.setIsSendApp(true); model.setIsSendApp(messageVO.getIsSendApp());
model.setIsSendWeb(false); model.setIsSendWeb(messageVO.getIsSendWeb());
if (!ObjectUtils.isEmpty(pushMsgParam) && !ObjectUtils.isEmpty(pushMsgParam.getSubject())){ if (!ObjectUtils.isEmpty(messageVO) && !ObjectUtils.isEmpty(messageVO.getTitle())){
model.setTitle(pushMsgParam.getSubject()); model.setTitle(messageVO.getTitle());
} }
if (!ObjectUtils.isEmpty(pushMsgParam) && !ObjectUtils.isEmpty(pushMsgParam.getContent())){ if (!ObjectUtils.isEmpty(messageVO) && !ObjectUtils.isEmpty(messageVO.getBody())){
model.setBody(pushMsgParam.getContent()); model.setBody(messageVO.getBody());
} }
model.setTerminal("APP/WEB"); model.setTerminal(messageVO.getTerminal());
// 0 任务 1 通知
model.setCategory(1); model.setCategory(messageVO.getCategory());
String title = model.getTitle();
String body = model.getBody(); if (StringUtils.isBlank(model.getBody()) || StringUtils.isBlank(model.getTitle())) {
if (StringUtils.isBlank(title) || StringUtils.isBlank(body)) { return;
model.setTitle("应急处置通知");
model.setBody("应急处置通知");
} }
model.setRelationId(String.valueOf(System.currentTimeMillis())); model.setRelationId(String.valueOf(System.currentTimeMillis()));
Systemctl.messageClient.create(model); Systemctl.messageClient.create(model);
......
...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.fas.business.jpush.PushMsgParam; import com.yeejoin.amos.fas.business.jpush.PushMsgParam;
import com.yeejoin.amos.fas.business.service.model.ToipResponse; import com.yeejoin.amos.fas.business.service.model.ToipResponse;
import com.yeejoin.amos.fas.business.vo.ContingencyPlanInstanceVO; import com.yeejoin.amos.fas.business.vo.ContingencyPlanInstanceVO;
import com.yeejoin.amos.fas.business.vo.MessageVO;
import com.yeejoin.amos.fas.business.vo.PlanStepVo; import com.yeejoin.amos.fas.business.vo.PlanStepVo;
import com.yeejoin.amos.fas.business.vo.TreeSubjectVo; import com.yeejoin.amos.fas.business.vo.TreeSubjectVo;
import com.yeejoin.amos.fas.core.common.request.CommonPageable; import com.yeejoin.amos.fas.core.common.request.CommonPageable;
...@@ -120,11 +121,10 @@ public interface IPlanVisual3dService { ...@@ -120,11 +121,10 @@ public interface IPlanVisual3dService {
/** /**
* 消息推送 * 消息推送
* @param batchNo
* @param buttonCode * @param buttonCode
* @param pushMsgParam * @param messageVO
*/ */
void sendMessage(String batchNo, String buttonCode, PushMsgParam pushMsgParam); void sendMessage(String buttonCode, MessageVO messageVO);
/** /**
......
package com.yeejoin.amos.fas.business.vo;
import lombok.Data;
import java.util.List;
@Data
public class MessageVO {
/**
* 接收人ids
*/
private List<String> recivers;
/**
* 关联id
*/
private String relationId;
private String title;
private String body;
/**
* 任务 0 通知 1
*/
private Integer category;
private String msgType;
private String terminal;
private Boolean isRead;
private Boolean isSendApp;
private Boolean isSendWeb;
}
...@@ -86,6 +86,9 @@ rocketmq.producer.namesrvAddr2=172.16.3.135:9876 ...@@ -86,6 +86,9 @@ rocketmq.producer.namesrvAddr2=172.16.3.135:9876
rocket-plan-topic =topic_fire_emergency_plan rocket-plan-topic =topic_fire_emergency_plan
rocket-equip-alarm-topic =topic_fire_equip_alarm rocket-equip-alarm-topic =topic_fire_equip_alarm
# 预案执行
rocket-plan-execute-topic =topic_plan-execute
#规则ip配置,用于多网卡及docker镜像启动时添加 #规则ip配置,用于多网卡及docker镜像启动时添加
#rule.definition.local-ip=172.16.11.201 #rule.definition.local-ip=172.16.11.201
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment