Commit 387a3dcc authored by lisong's avatar lisong

消息推送修改

parent 990046ca
......@@ -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.CacheMap;
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.common.enums.ContingencyPlanStatusEnum;
import com.yeejoin.amos.fas.common.enums.PlanRecordStatusEnum;
......@@ -502,12 +503,21 @@ public class ContingencyAction implements CustomerAction {
contingencyPlanInstanceMapper.updateMessageById(planInstance);
}
//极光推送
iPlanVisual3dService.sendMessage(batchNo, buttonCode, null);
PushMsgParam pushMsgParam = new PushMsgParam();
pushMsgParam.setSubject("应急处置执行任务提醒");
pushMsgParam.setContent("【" + actionName + "】- " + DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
pushMsgParam.setType(JPushTypeEnum.TAG.getCode());
iPlanVisual3dService.sendMessage(batchNo, buttonCode, pushMsgParam);
// iPlanVisual3dService.sendMessage(buttonCode, null);
// PushMsgParam pushMsgParam = new PushMsgParam();
// pushMsgParam.setSubject("应急处置执行任务提醒");
// pushMsgParam.setContent("【" + actionName + "】- " + DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
// pushMsgParam.setType(JPushTypeEnum.TAG.getCode());
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;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
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.common.enums.PlanReplyMessageEnum;
import com.yeejoin.amos.fas.datasync.bo.ContingencyOriginalDataSyncBo;
......@@ -22,6 +23,7 @@ import com.yeejoin.amos.feign.privilege.model.RoleModel;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -142,6 +144,9 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
@Autowired
private PlanDetailMapper planDetailMapper;
@Value("${rocket-plan-execute-topic}")
private String planExecute;
/**
* 创建预案执行记录
*
......@@ -368,7 +373,18 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
ContingencyPlanInstance planInstance = contingencyInstance.updateExtendColumn(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);
// 异步数据同步之消息发送
......
......@@ -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.vo.ButtonJsonVO;
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.PlanStepVo;
import com.yeejoin.amos.fas.business.vo.Toke;
......@@ -566,46 +567,39 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService {
// }
@Override
public void sendMessage(String batchNo, String buttonCode, PushMsgParam pushMsgParam) {
public void sendMessage(String buttonCode, MessageVO messageVO) {
List<String> userIds = getUserIds(buttonCode);
if (!CollectionUtils.isEmpty(userIds)) {
if (pushMsgParam != null) {
pushMsgParam.setRecivers(userIds);
sendMessage(batchNo, pushMsgParam);
} else {
PushMsgParam msgParam = new PushMsgParam();
msgParam.setRecivers(userIds);
sendMessage(batchNo, msgParam);
}
messageVO.setRecivers(userIds);
sendMessage(messageVO);
}
}
private void sendMessage(String batchNo, PushMsgParam pushMsgParam){
private void sendMessage(MessageVO messageVO){
try {
MessageModel model = new MessageModel();
model.setMsgType("emergencyPlan");
model.setMsgType(messageVO.getMsgType());
// 关联id
if (!ObjectUtils.isEmpty(batchNo)){
model.setRelationId(batchNo);
if (!ObjectUtils.isEmpty(messageVO.getRelationId())){
model.setRelationId(messageVO.getRelationId());
}
// 发送人ids
model.setRecivers(pushMsgParam.getRecivers());
model.setIsSendApp(true);
model.setIsSendWeb(false);
if (!ObjectUtils.isEmpty(pushMsgParam) && !ObjectUtils.isEmpty(pushMsgParam.getSubject())){
model.setTitle(pushMsgParam.getSubject());
model.setRecivers(messageVO.getRecivers());
model.setIsSendApp(messageVO.getIsSendApp());
model.setIsSendWeb(messageVO.getIsSendWeb());
if (!ObjectUtils.isEmpty(messageVO) && !ObjectUtils.isEmpty(messageVO.getTitle())){
model.setTitle(messageVO.getTitle());
}
if (!ObjectUtils.isEmpty(pushMsgParam) && !ObjectUtils.isEmpty(pushMsgParam.getContent())){
model.setBody(pushMsgParam.getContent());
if (!ObjectUtils.isEmpty(messageVO) && !ObjectUtils.isEmpty(messageVO.getBody())){
model.setBody(messageVO.getBody());
}
model.setTerminal("APP/WEB");
// 0 任务 1 通知
model.setCategory(1);
String title = model.getTitle();
String body = model.getBody();
if (StringUtils.isBlank(title) || StringUtils.isBlank(body)) {
model.setTitle("应急处置通知");
model.setBody("应急处置通知");
model.setTerminal(messageVO.getTerminal());
model.setCategory(messageVO.getCategory());
if (StringUtils.isBlank(model.getBody()) || StringUtils.isBlank(model.getTitle())) {
return;
}
model.setRelationId(String.valueOf(System.currentTimeMillis()));
Systemctl.messageClient.create(model);
......
......@@ -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.service.model.ToipResponse;
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.TreeSubjectVo;
import com.yeejoin.amos.fas.core.common.request.CommonPageable;
......@@ -120,11 +121,10 @@ public interface IPlanVisual3dService {
/**
* 消息推送
* @param batchNo
* @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
rocket-plan-topic =topic_fire_emergency_plan
rocket-equip-alarm-topic =topic_fire_equip_alarm
# 预案执行
rocket-plan-execute-topic =topic_plan-execute
#规则ip配置,用于多网卡及docker镜像启动时添加
#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