Commit 415a36f2 authored by 高建强's avatar 高建强

item:应急处置执行推送优化

parent c172298e
...@@ -12,8 +12,8 @@ import java.util.Optional; ...@@ -12,8 +12,8 @@ import java.util.Optional;
import java.util.stream.Collectors; 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.action.mq.WebMqttComponent;
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;
...@@ -23,7 +23,6 @@ import com.yeejoin.amos.feign.privilege.model.RoleModel; ...@@ -23,7 +23,6 @@ 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;
...@@ -58,7 +57,7 @@ import com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance; ...@@ -58,7 +57,7 @@ import com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance;
import com.yeejoin.amos.fas.dao.entity.Equipment; import com.yeejoin.amos.fas.dao.entity.Equipment;
@Service @Service
public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPlanInstance, String>*/ implements IContingencyInstance { public class ContingencyInstanceImpl implements IContingencyInstance {
private static final Logger log = LoggerFactory.getLogger(ContingencyInstanceImpl.class); private static final Logger log = LoggerFactory.getLogger(ContingencyInstanceImpl.class);
...@@ -116,7 +115,7 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla ...@@ -116,7 +115,7 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
private ContingencyPlanInstanceMapper contingencyPlanInstanceMapper; private ContingencyPlanInstanceMapper contingencyPlanInstanceMapper;
@Autowired @Autowired
private IPlanVisual3dService planVisual3dService; private WebMqttComponent webMqttComponent;
@Value("classpath:/json/plan-step.json") @Value("classpath:/json/plan-step.json")
private Resource planStepResource; private Resource planStepResource;
...@@ -132,10 +131,6 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla ...@@ -132,10 +131,6 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
@Value("${plan.instance.personImg}") @Value("${plan.instance.personImg}")
private String personImg; private String personImg;
/* public ContingencyInstanceImpl(IContingencyPlanInstanceRepository repository) {
super(repository);
this.repository = repository;
}*/
@Autowired @Autowired
ContingencyAction contingencyAction; ContingencyAction contingencyAction;
...@@ -144,9 +139,6 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla ...@@ -144,9 +139,6 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
@Autowired @Autowired
private PlanDetailMapper planDetailMapper; private PlanDetailMapper planDetailMapper;
@Value("${rocket-plan-execute-topic}")
private String planExecute;
/** /**
* 创建预案执行记录 * 创建预案执行记录
* *
...@@ -372,19 +364,8 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla ...@@ -372,19 +364,8 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
contingencyPlanInstance.setRunstate(true); contingencyPlanInstance.setRunstate(true);
ContingencyPlanInstance planInstance = contingencyInstance.updateExtendColumn(contingencyPlanInstance); ContingencyPlanInstance planInstance = contingencyInstance.updateExtendColumn(contingencyPlanInstance);
BeanUtils.copyProperties(planInstance, contingencyPlanInstance); BeanUtils.copyProperties(planInstance, contingencyPlanInstance);
// 确认后,移动端极光推送 String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan");
MessageVO messageVO = new MessageVO(); webMqttComponent.publish(topic, "应急处置执行任务完成提醒");
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);
// 异步数据同步之消息发送 // 异步数据同步之消息发送
......
...@@ -7,16 +7,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -7,16 +7,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.yeejoin.amos.component.feign.config.InnerInvokException; import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.fas.business.action.mq.WebMqttComponent;
import com.yeejoin.amos.fas.business.constants.FasConstant; import com.yeejoin.amos.fas.business.constants.FasConstant;
import com.yeejoin.amos.fas.business.dao.mapper.*; import com.yeejoin.amos.fas.business.dao.mapper.*;
import com.yeejoin.amos.fas.business.dao.repository.*; import com.yeejoin.amos.fas.business.dao.repository.*;
import com.yeejoin.amos.fas.business.feign.IMaasVisualServer; import com.yeejoin.amos.fas.business.feign.IMaasVisualServer;
import com.yeejoin.amos.fas.business.feign.PrivilegeFeign; import com.yeejoin.amos.fas.business.feign.PrivilegeFeign;
import com.yeejoin.amos.fas.business.feign.PushFeign;
import com.yeejoin.amos.fas.business.feign.RemoteSecurityService; import com.yeejoin.amos.fas.business.feign.RemoteSecurityService;
import com.yeejoin.amos.fas.business.jpush.JPushTypeEnum;
import com.yeejoin.amos.fas.business.jpush.PushMsgParam;
import com.yeejoin.amos.fas.business.service.intfc.IContingencyPlanService;
import com.yeejoin.amos.fas.business.service.intfc.IDictService; import com.yeejoin.amos.fas.business.service.intfc.IDictService;
import com.yeejoin.amos.fas.business.service.intfc.IPlanVisual3dService; import com.yeejoin.amos.fas.business.service.intfc.IPlanVisual3dService;
import com.yeejoin.amos.fas.business.service.model.ToipResponse; import com.yeejoin.amos.fas.business.service.model.ToipResponse;
...@@ -32,16 +29,12 @@ import com.yeejoin.amos.fas.business.vo.TreeSubjectVo; ...@@ -32,16 +29,12 @@ import com.yeejoin.amos.fas.business.vo.TreeSubjectVo;
import com.yeejoin.amos.fas.core.util.CommonResponse; import com.yeejoin.amos.fas.core.util.CommonResponse;
import com.yeejoin.amos.fas.core.util.CommonResponseUtil; import com.yeejoin.amos.fas.core.util.CommonResponseUtil;
import com.yeejoin.amos.fas.dao.entity.*; import com.yeejoin.amos.fas.dao.entity.*;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel; import com.yeejoin.amos.feign.privilege.model.RoleModel;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import com.yeejoin.amos.feign.systemctl.model.MessageModel; import com.yeejoin.amos.feign.systemctl.model.MessageModel;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -50,10 +43,8 @@ import org.springframework.stereotype.Service; ...@@ -50,10 +43,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import javax.management.relation.Role;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
...@@ -98,22 +89,18 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService { ...@@ -98,22 +89,18 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService {
@Autowired @Autowired
IContingencyPlanInstanceRepository iContingencyPlanInstanceRepository; IContingencyPlanInstanceRepository iContingencyPlanInstanceRepository;
@Autowired @Autowired
private ContingencyPlanInstanceMapper contingencyPlanInstanceMapper; private ContingencyPlanInstanceMapper contingencyPlanInstanceMapper;
@Autowired
private WebMqttComponent webMqttComponent;
@Value("classpath:/json/plan-step.json") @Value("classpath:/json/plan-step.json")
private Resource planStepResource; private Resource planStepResource;
@Autowired @Autowired
private PushFeign pushFeign;
@Autowired
private IContingencyPlanInstanceRepository repository; private IContingencyPlanInstanceRepository repository;
@Autowired
private EmqKeeper emqKeeper;
@Value("${spring.application.name}") @Value("${spring.application.name}")
private String serviceName; private String serviceName;
...@@ -465,12 +452,8 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService { ...@@ -465,12 +452,8 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService {
} }
dto.setContent(StringUtil.isNotEmpty(dto.getContent()) ? dto.getContent() : ""); dto.setContent(StringUtil.isNotEmpty(dto.getContent()) ? dto.getContent() : "");
repository.save(dto); repository.save(dto);
try {
String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan"); String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan");
emqKeeper.getMqttClient().publish(topic, JSON.toJSONString(dto).getBytes(), 0, Boolean.FALSE); webMqttComponent.publish(topic, "{'msgType':'REPLYMESSAGE'}");
} catch (MqttException e) {
e.printStackTrace();
}
return dto; return dto;
} }
...@@ -534,45 +517,12 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService { ...@@ -534,45 +517,12 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService {
return contingencyInstanceInfoMapper.selectDisposalActionList(type, status, roles, batchNo); return contingencyInstanceInfoMapper.selectDisposalActionList(type, status, roles, batchNo);
} }
// @Override
// public void sendMessage(String json, String buttonCode) {
// String userIdsJoin = getUserIds(buttonCode);
// //极光推送
// PushMsgParam pushMsgParam = new PushMsgParam();
// pushMsgParam.setRecivers(Arrays.asList(userIdsJoin.split(",")));
// pushMsgParam.setContent(json);
// pushMsgParam.setSubject("REPLYMESSAGE");
// pushMsgParam.setType(JPushTypeEnum.REPLY_MESSAGE.getCode());
// pushFeign.sendMessageone(pushMsgParam);
// }
//
// @Override
// public void sendMessage(String buttonCode) {
// String userIdsJoin = getUserIds(buttonCode);
// //极光推送
// PushMsgParam pushMsgParam = new PushMsgParam();
// pushMsgParam.setRecivers(Arrays.asList(userIdsJoin.split(",")));
// pushMsgParam.setContent(JPushTypeEnum.ALL.getName());
// pushMsgParam.setSubject(JPushTypeEnum.ALL.getName());
// pushMsgParam.setType(JPushTypeEnum.ALL.getCode());
// pushFeign.sendMessageone(pushMsgParam);
// }
//
// @Override
// public void sendMessage(String buttonCode, PushMsgParam pushMsgParam) {
// String userIdsJoin = getUserIds(buttonCode);
// //极光推送
// pushMsgParam.setRecivers(Arrays.asList(userIdsJoin.split(",")));
// pushFeign.sendMessageone(pushMsgParam);
// }
@Override @Override
public void sendMessage(String buttonCode, MessageVO messageVO) { 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)) {
messageVO.setRecivers(userIds); messageVO.setRecivers(userIds);
sendMessage(messageVO); sendMessage(messageVO);
} }
} }
...@@ -675,7 +625,6 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService { ...@@ -675,7 +625,6 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService {
userIds.add(String.valueOf(map.get("userId"))); userIds.add(String.valueOf(map.get("userId")));
} }
} }
// String.join(",", userIds)
return userIds; return userIds;
} }
} }
...@@ -58,7 +58,7 @@ emqx.password=public ...@@ -58,7 +58,7 @@ emqx.password=public
file.downLoad.url=http://172.16.11.201:9000/ file.downLoad.url=http://172.16.11.201:9000/
#应急处置移动端默认头像地址 #应急处置移动端默认头像地址
plan.instance.personImg=upload/3dview_icon/头像.png plan.instance.personImg=upload/3dview_icon/plan_via.png
# 是否使用rocketmq on/off # 是否使用rocketmq on/off
rocketmq.producer.sysIsUsed=off rocketmq.producer.sysIsUsed=off
...@@ -86,9 +86,6 @@ rocketmq.producer.namesrvAddr2=172.16.3.135:9876 ...@@ -86,9 +86,6 @@ 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