|
@@ -9,16 +9,21 @@ import com.ruoyi.common.core.utils.SpringUtils;
|
|
|
import com.ruoyi.common.core.utils.StringUtils;
|
|
|
import com.ruoyi.common.core.utils.uuid.IdUtils;
|
|
|
import com.ruoyi.system.api.RemoteDeptService;
|
|
|
+import com.ruoyi.system.api.RemoteFileService;
|
|
|
import com.ruoyi.system.api.domain.SysDept;
|
|
|
import com.sooka.sponest.event.centereventtdeptevent.domain.CentereventDeptEvent;
|
|
|
import com.sooka.sponest.event.centereventtdeptevent.service.ICentereventDeptEventService;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.CentereventTEventcatalogue;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.DaHuaEventBO;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.dahua.*;
|
|
|
+import com.sooka.sponest.event.centereventteventcatalogue.domain.haikang.EventSmokeVo;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.haikang.EventsVo;
|
|
|
+import com.sooka.sponest.event.centereventteventcatalogue.domain.haikang.HaiKangEventSmokeVo;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.haikang.HaiKangEventVo;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.sensor.SensorEventVo;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.tower.TowerEventVo;
|
|
|
+import com.sooka.sponest.event.centereventteventcatalogue.domain.vo.DroneVO;
|
|
|
+import com.sooka.sponest.event.centereventteventcatalogue.mapper.AlarmEventMapper;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.service.AlarmEventService;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.service.ICentereventTEventcatalogueService;
|
|
|
import com.sooka.sponest.event.centereventteventtype.domain.CentereventTEventtype;
|
|
@@ -28,10 +33,12 @@ import com.sooka.sponest.event.centereventtfirelog.service.ICentereventTFireLogS
|
|
|
import com.sooka.sponest.event.remoteapi.RemoteDataService;
|
|
|
import com.sooka.sponest.event.remoteapi.domain.CenterdataTAttach;
|
|
|
import com.sooka.sponest.event.utils.GWHttpUtilsTest65;
|
|
|
+import com.sooka.sponest.event.utils.NetworkImageToMultipartFile;
|
|
|
import com.sooka.sponest.event.utils.RemoteApiUtil;
|
|
|
import com.sooka.sponest.monitor.api.RemoteMonitorService;
|
|
|
import com.sooka.sponest.monitor.api.domain.CenterdataTAidevicedept;
|
|
|
import com.sooka.sponest.monitor.api.domain.CenterdataTCamera;
|
|
|
+import com.sooka.sponest.monitor.api.domain.CentermonitorTUav;
|
|
|
import org.apache.commons.collections4.MapUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -44,9 +51,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
|
|
|
import static com.ruoyi.common.core.utils.DateUtils.YYYY_MM_DD_HH_MM_SS;
|
|
|
import static com.sooka.sponest.event.utils.EventConstants.*;
|
|
@@ -71,6 +76,12 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
@Autowired
|
|
|
private ICentereventTEventtypeService centereventTEventtypeService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private RemoteFileService fileService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AlarmEventMapper alarmEventMapper;
|
|
|
+
|
|
|
@Value("${sooka.dahuaservice.detail}")
|
|
|
private String detailUrl;
|
|
|
|
|
@@ -83,7 +94,8 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public String insertHaiKangFireEvent(EventsVo eventsVo) {
|
|
|
+ public String insertHaiKangFireEvent(HaiKangEventVo haiKangEventVo) {
|
|
|
+ EventsVo eventsVo = haiKangEventVo.getEvents()[0];
|
|
|
// 验证是否配置摄像头通道
|
|
|
CenterdataTCamera centerdataTCamera = SpringUtils.getBean(RemoteMonitorService.class).getInfoByChannelCode(eventsVo.getSrcIndex()).getData();
|
|
|
if (StringUtils.isNull(centerdataTCamera)) {
|
|
@@ -97,13 +109,13 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
return "";
|
|
|
}
|
|
|
// 事件目录
|
|
|
- String eventName = eventsVo.getData().getAlarm().getEventName();
|
|
|
- String eventDescription = eventsVo.getData().getAlarm().toString();
|
|
|
- String longitude = eventsVo.getData().getAlarm().getLongitude();
|
|
|
- String latitude = eventsVo.getData().getAlarm().getLatitude();
|
|
|
- String reportor = eventsVo.getSrcName();
|
|
|
- Date reportTime = eventsVo.getData().getSendTime();
|
|
|
- String address = eventsVo.getData().getAlarm().getPlaceName();
|
|
|
+ String eventName = centerdataTCamera.getCameraName() + DateUtils.parseDateToStr(YYYY_MM_DD_HH_MM_SS, haiKangEventVo.getSendTime()) + "火情事件";
|
|
|
+ String eventDescription = eventsVo.toString(centerdataTCamera);
|
|
|
+ String longitude = centerdataTCamera.getLongitude();
|
|
|
+ String latitude = centerdataTCamera.getLatitude();
|
|
|
+ String reportor = centerdataTCamera.getCameraName();
|
|
|
+ Date reportTime = haiKangEventVo.getSendTime();
|
|
|
+ String address = eventsVo.getSrcName();
|
|
|
CentereventTEventcatalogue centereventTEventcatalogue = new CentereventTEventcatalogue("1", null, eventName, eventDescription, longitude, latitude, reportor, reportTime, address);
|
|
|
centereventTEventcatalogue = this.insertEventCatalogue(centereventTEventcatalogue, centerdataTCamera, null);
|
|
|
// 事件部门
|
|
@@ -111,19 +123,20 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
// 事件日志
|
|
|
String logId = this.insertEventLog(centereventTEventcatalogue);
|
|
|
// 附件
|
|
|
- if (StringUtils.isNotBlank(eventsVo.getData().getImageUrl())) {
|
|
|
+ JSONObject picObj = JSONObject.parseObject(JSON.toJSONString(eventsVo.getData())).getJSONArray("fireDetection").getJSONObject(0);
|
|
|
+ if (StringUtils.isNotBlank(picObj.getString("imageUrl"))) {
|
|
|
CenterdataTAttach tAttach = new CenterdataTAttach();
|
|
|
tAttach.setBusId(logId);
|
|
|
- tAttach.setAttachPath(eventsVo.getData().getImageUrl());
|
|
|
+ tAttach.setAttachPath(picObj.getString("imageUrl").substring(picObj.getString("imageUrl").indexOf("/pic?")));
|
|
|
tAttach.setBusIndx(BUS_INDEX_1);
|
|
|
tAttach.setBusSource("HIK_1");
|
|
|
tAttach.setFileType(FILE_TYPE_1);
|
|
|
remoteDataService.insertAttach(tAttach);
|
|
|
}
|
|
|
- if (StringUtils.isNotBlank(eventsVo.getData().getVisiblePicUrl())) {
|
|
|
+ if (StringUtils.isNotBlank(picObj.getString("visiblePicUrl"))) {
|
|
|
CenterdataTAttach tAttach = new CenterdataTAttach();
|
|
|
tAttach.setBusId(logId);
|
|
|
- tAttach.setAttachPath(eventsVo.getData().getVisiblePicUrl());
|
|
|
+ tAttach.setAttachPath(picObj.getString("visiblePicUrl").substring(picObj.getString("visiblePicUrl").indexOf("/pic?")));
|
|
|
tAttach.setBusIndx(BUS_INDEX_1);
|
|
|
tAttach.setBusSource("HIK_1");
|
|
|
tAttach.setFileType(FILE_TYPE_1);
|
|
@@ -149,31 +162,31 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
return "";
|
|
|
}
|
|
|
// 验证事件类型是否配置对应报文码值--只能从数据库配
|
|
|
- CentereventTEventtype centereventTEventtype = centereventTEventtypeService.selectCentereventTEventtypeByCode(haiKangEventVo.getEvents()[0].getData().getText()[0].getAlarmType());
|
|
|
+ CentereventTEventtype centereventTEventtype = centereventTEventtypeService.selectCentereventTEventtypeByCode(eventsVo.getEventTypeCode());
|
|
|
if (StringUtils.isNull(centereventTEventtype)) {
|
|
|
- logger.info("无法匹配相关事件!报文码值为:{}", haiKangEventVo.getEvents()[0].getData().getText()[0].getAlarmType());
|
|
|
+ logger.info("无法匹配相关事件!报文码值为:{}", eventsVo.getEventTypeCode());
|
|
|
return "";
|
|
|
}
|
|
|
// 事件目录
|
|
|
String eventType = centereventTEventtype.getParentId();
|
|
|
String eventTypeXl = centereventTEventtype.getId();
|
|
|
- String eventName = centerdataTCamera.getCameraName() + haiKangEventVo.getSendTime() + eventsVo.getData().getText()[0].getAlarmTypeName();
|
|
|
+ String eventName = centerdataTCamera.getCameraName() + DateUtils.parseDateToStr(YYYY_MM_DD_HH_MM_SS, haiKangEventVo.getSendTime()) + eventsVo.getEventName();
|
|
|
String eventDescription = eventsVo.toString(centerdataTCamera);
|
|
|
String longitude = centerdataTCamera.getLongitude();
|
|
|
String latitude = centerdataTCamera.getLatitude();
|
|
|
- String reportor = eventsVo.getSrcName();
|
|
|
+ String reportor = centerdataTCamera.getCameraName();
|
|
|
Date reportTime = haiKangEventVo.getSendTime();
|
|
|
- String address = eventsVo.getData().getText()[0].getOrgName();
|
|
|
+ String address = eventsVo.getSrcName();
|
|
|
CentereventTEventcatalogue centereventTEventcatalogue = new CentereventTEventcatalogue(eventType, eventTypeXl, eventName, eventDescription, longitude, latitude, reportor, reportTime, address);
|
|
|
centereventTEventcatalogue = this.insertEventCatalogue(centereventTEventcatalogue, centerdataTCamera, null);
|
|
|
// 事件部门
|
|
|
this.insertEventDept(centereventTEventcatalogue, listDept);
|
|
|
// 事件日志
|
|
|
String logId = this.insertEventLog(centereventTEventcatalogue);
|
|
|
- if (StringUtils.isNotBlank(eventsVo.getData().getText()[0].getAlarmPicUrl())) {
|
|
|
+ if (StringUtils.isNotBlank(eventsVo.getSnappedPicUrl())) {
|
|
|
CenterdataTAttach tAttach = new CenterdataTAttach();
|
|
|
tAttach.setBusId(logId);
|
|
|
- tAttach.setAttachPath(eventsVo.getData().getText()[0].getAlarmPicUrl());
|
|
|
+ tAttach.setAttachPath(eventsVo.getSnappedPicUrl());
|
|
|
tAttach.setBusIndx("bus_indx_city");
|
|
|
tAttach.setBusSource("HIK_2");
|
|
|
tAttach.setFileType(FILE_TYPE_1);
|
|
@@ -201,6 +214,7 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
centereventTEventcatalogue.setCreateBy(centerdataTCamera.getId());
|
|
|
centereventTEventcatalogue.setCreateName(centerdataTCamera.getCameraName());
|
|
|
centereventTEventcatalogue.setCreateTime(null == createTime ? DateUtils.getNowDate() : createTime);
|
|
|
+ logger.info("写入事件主表:-->{}", centereventTEventcatalogue.getEventCode());
|
|
|
centereventTEventcatalogueService.insertCentereventTEventcatalogue(centereventTEventcatalogue);
|
|
|
return centereventTEventcatalogue;
|
|
|
}
|
|
@@ -256,6 +270,7 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
centereventTDeptEvent.setCreateTime(centereventTEventcatalogue.getCreateTime());
|
|
|
centereventTDeptEventService.insertCentereventTDeptEvent(centereventTDeptEvent);
|
|
|
});
|
|
|
+ logger.info("写入事件部门表:-->{}", centereventTEventcatalogue.getEventCode());
|
|
|
}
|
|
|
|
|
|
// 事件日志
|
|
@@ -268,6 +283,13 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
centereventTFireLog.setOperationType(LOG_OPER_TYPE_3);
|
|
|
centereventTFireLog.setCreateName(centereventTEventcatalogue.getCreateName());
|
|
|
centereventTFireLog.setCreateTime(centereventTEventcatalogue.getCreateTime());
|
|
|
+ if(StringUtils.isNotEmpty(centereventTEventcatalogue.getLongitude())){
|
|
|
+ centereventTFireLog.setLongitude(centereventTEventcatalogue.getLongitude());
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(centereventTEventcatalogue.getLatitude())){
|
|
|
+ centereventTFireLog.setLatitude(centereventTEventcatalogue.getLatitude());
|
|
|
+ }
|
|
|
+ logger.info("写入事件部门表:-->{}", centereventTEventcatalogue.getEventCode());
|
|
|
centereventTFireLogService.insertCentereventTFireLog(centereventTFireLog);
|
|
|
return centereventTFireLog.getId();
|
|
|
}
|
|
@@ -673,4 +695,158 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
this.insertEventLog(centereventTEventcatalogue);
|
|
|
return centereventTEventcatalogue.getEventCode() + "_" + eventtype.getEventTypeName();
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int insertDroneEvent(List<DroneVO> alarmData) {
|
|
|
+ Map<Object, Object> eventType = new HashMap<>();
|
|
|
+ eventType.put("Sheep","222");
|
|
|
+ eventType.put("Car","218");
|
|
|
+
|
|
|
+ Map<Object, Object> eventLabel = new HashMap<>();
|
|
|
+ eventLabel.put("Sheep","区域入侵");
|
|
|
+ eventLabel.put("Car","工程车检测");
|
|
|
+
|
|
|
+ // 将告警图片转换为本地图片
|
|
|
+ alarmData.parallelStream().forEach(item -> {
|
|
|
+ item.setId(IdUtils.simpleUUID());
|
|
|
+ try {
|
|
|
+ Optional.ofNullable(NetworkImageToMultipartFile.downloadImageToMultipartFile(item.getPhotoPath()))
|
|
|
+ .map(multipartFile -> fileService.upload(multipartFile).getData())
|
|
|
+ .ifPresent(data -> item.setLocalPath(data.getUrl()));
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.error("Failed to process image for item {}: {}", item.getId(), e.getMessage());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 通过无人机id, 获取无人机信息和绑定的指挥中心
|
|
|
+ alarmData.forEach(alarm->{
|
|
|
+ CentermonitorTUav data = SpringUtils.getBean(RemoteMonitorService.class).selectUavByUavId(alarm.getCopterId()).getData();
|
|
|
+ /**
|
|
|
+ * 牛羊 Sheep:222
|
|
|
+ * 车辆 Car: 218
|
|
|
+ */
|
|
|
+
|
|
|
+ String eventName = data.getUavName()+"上报"+MapUtils.getString(eventLabel, alarm.getAlarmType())+"事件";
|
|
|
+ String eventDescription = "基站:"+data.getBaseStationName()+",无人机:"+data.getUavName()+",经度:"+alarm.getLongitude()+",纬度:"+alarm.getLatitude()+",海拔:"+alarm.getAltitude();
|
|
|
+
|
|
|
+ //创建事件主体, 写入事件表.
|
|
|
+ CentereventTEventcatalogue centereventTEventcatalogue = new CentereventTEventcatalogue("2", MapUtils.getString(eventType, alarm.getAlarmType()), eventName, eventDescription, alarm.getLongitude(), alarm.getLatitude(), data.getUavName(), alarm.getCreationTime(), "");
|
|
|
+ centereventTEventcatalogue.setLongitude(alarm.getLongitude());
|
|
|
+ centereventTEventcatalogue.setLatitude(alarm.getLatitude());
|
|
|
+ centereventTEventcatalogue.setReportSource(REPORTING_SOURCE_6);
|
|
|
+ CenterdataTCamera centerdataTCamera = new CenterdataTCamera();
|
|
|
+ centerdataTCamera.setId(alarm.getCopterId());
|
|
|
+ centerdataTCamera.setCameraName(data.getUavName());
|
|
|
+ centereventTEventcatalogue = this.insertEventCatalogue(centereventTEventcatalogue, centerdataTCamera, alarm.getCreationTime());
|
|
|
+
|
|
|
+ String eventCode = centereventTEventcatalogue.getEventCode();
|
|
|
+ String createName = centereventTEventcatalogue.getCreateName();
|
|
|
+ Date createTime = centereventTEventcatalogue.getCreateTime();
|
|
|
+ // 事件部门
|
|
|
+ data.getDeptList().forEach(item -> {
|
|
|
+ CentereventDeptEvent centereventTDeptEvent = new CentereventDeptEvent();
|
|
|
+ centereventTDeptEvent.setId(IdUtils.fastSimpleUUID());
|
|
|
+ centereventTDeptEvent.setEventCode(eventCode);
|
|
|
+ centereventTDeptEvent.setDeptId(item.getDeptId());
|
|
|
+ centereventTDeptEvent.setDeptName(item.getDeptName());
|
|
|
+ centereventTDeptEvent.setIsUrged(SYS_ISURGE_2);
|
|
|
+ centereventTDeptEvent.setEventStatus("上报");
|
|
|
+ centereventTDeptEvent.setEventStatusValue(FOREST_EVENT_STATUS_1);
|
|
|
+ centereventTDeptEvent.setDeptHandleType(DEPT_HANDLE_TYPE_2);
|
|
|
+ centereventTDeptEvent.setCreateBy(alarm.getCopterId());
|
|
|
+ centereventTDeptEvent.setCreateName(createName);
|
|
|
+ centereventTDeptEvent.setCreateTime(createTime);
|
|
|
+ centereventTDeptEventService.insertCentereventTDeptEvent(centereventTDeptEvent);
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ //事件日志
|
|
|
+ CentereventTFireLog centereventTFireLog = new CentereventTFireLog();
|
|
|
+ centereventTFireLog.setId(IdUtils.simpleUUID());
|
|
|
+ centereventTFireLog.setEventCode(centereventTEventcatalogue.getEventCode());
|
|
|
+ centereventTFireLog.setLogContent(centereventTEventcatalogue.getEventName() + System.getProperty("line.separator") + centereventTEventcatalogue.getEventDescription());
|
|
|
+ centereventTFireLog.setOperation(BUS_OPER_TYPE_2);
|
|
|
+ centereventTFireLog.setOperationType(LOG_OPER_TYPE_4);
|
|
|
+ centereventTFireLog.setCreateBy(alarm.getCopterId());
|
|
|
+ centereventTFireLog.setCreateName(centereventTEventcatalogue.getCreateName());
|
|
|
+ centereventTFireLog.setCreateTime(centereventTEventcatalogue.getCreateTime());
|
|
|
+ if(StringUtils.isNotEmpty(centereventTEventcatalogue.getLongitude())){
|
|
|
+ centereventTFireLog.setLongitude(centereventTEventcatalogue.getLongitude());
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(centereventTEventcatalogue.getLatitude())){
|
|
|
+ centereventTFireLog.setLatitude(centereventTEventcatalogue.getLatitude());
|
|
|
+ }
|
|
|
+ centereventTFireLogService.insertCentereventTFireLog(centereventTFireLog);
|
|
|
+
|
|
|
+ //事件附件
|
|
|
+ if (StringUtils.isNotBlank(alarm.getLocalPath())) {
|
|
|
+ CenterdataTAttach tAttach = new CenterdataTAttach();
|
|
|
+ tAttach.setBusId(centereventTFireLog.getId());
|
|
|
+ tAttach.setAttachPath(alarm.getLocalPath());
|
|
|
+ tAttach.setBusIndx(BUS_INDEX_2);
|
|
|
+ tAttach.setBusSource("UAV_1");
|
|
|
+ tAttach.setFileType(FILE_TYPE_1);
|
|
|
+ remoteDataService.insertAttach(tAttach);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ return alarmEventMapper.insertDrone(alarmData);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public String insertHaiKangSmokeEvent(HaiKangEventSmokeVo eventSmokeVo) {
|
|
|
+ EventSmokeVo eventsVo = eventSmokeVo.getEvents()[0];
|
|
|
+ // 验证是否配置摄像头通道
|
|
|
+ CenterdataTCamera centerdataTCamera = SpringUtils.getBean(RemoteMonitorService.class).getInfoByChannelCode(eventsVo.getSrcIndex()).getData();
|
|
|
+ if (StringUtils.isNull(centerdataTCamera)) {
|
|
|
+ logger.info(ERROR_MSG_CHANNEL, eventsVo.getSrcIndex());
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ // 验证是否配置指挥中心
|
|
|
+ List<CenterdataTAidevicedept> listDept = SpringUtils.getBean(RemoteMonitorService.class).listForCommandCenter(centerdataTCamera.getId(), "1", "1").getData();
|
|
|
+ if (StringUtils.isEmpty(listDept)) {
|
|
|
+ logger.info(ERROR_MSG_DEPT, centerdataTCamera.getCameraCode());
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ // 验证事件类型是否配置对应报文码值--只能从数据库配
|
|
|
+ CentereventTEventtype centereventTEventtype = centereventTEventtypeService.selectCentereventTEventtypeByCode(eventsVo.getEventTypeCode());
|
|
|
+ if (StringUtils.isNull(centereventTEventtype)) {
|
|
|
+ logger.info("无法匹配相关事件!报文码值为:{}", eventsVo.getEventTypeCode());
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ // 事件目录
|
|
|
+ String eventType = centereventTEventtype.getParentId();
|
|
|
+ String eventTypeXl = centereventTEventtype.getId();
|
|
|
+ String eventName = centerdataTCamera.getCameraName() + DateUtils.parseDateToStr(YYYY_MM_DD_HH_MM_SS, eventSmokeVo.getSendTime()) + eventsVo.getEventName();
|
|
|
+ String eventDescription = eventsVo.toString(centerdataTCamera);
|
|
|
+ String longitude = centerdataTCamera.getLongitude();
|
|
|
+ String latitude = centerdataTCamera.getLatitude();
|
|
|
+ String reportor = centerdataTCamera.getCameraName();
|
|
|
+ Date reportTime = eventSmokeVo.getSendTime();
|
|
|
+ String address = eventsVo.getSrcName();
|
|
|
+ CentereventTEventcatalogue centereventTEventcatalogue = new CentereventTEventcatalogue(eventType, eventTypeXl, eventName, eventDescription, longitude, latitude, reportor, reportTime, address);
|
|
|
+ centereventTEventcatalogue = this.insertEventCatalogue(centereventTEventcatalogue, centerdataTCamera, null);
|
|
|
+ // 事件部门
|
|
|
+ this.insertEventDept(centereventTEventcatalogue, listDept);
|
|
|
+ // 事件日志
|
|
|
+ String logId = this.insertEventLog(centereventTEventcatalogue);
|
|
|
+ if (StringUtils.isNotBlank(eventsVo.getSnappedPicUrl())) {
|
|
|
+ CenterdataTAttach tAttach = new CenterdataTAttach();
|
|
|
+ tAttach.setBusId(logId);
|
|
|
+ JSONObject jsonObject = JSON.parseObject(MapUtils.getString(eventsVo.getData(),"transInfo"));
|
|
|
+ String imageUrl = jsonObject.getString("imageUrl");
|
|
|
+
|
|
|
+ Optional.ofNullable(NetworkImageToMultipartFile.downloadImageToMultipartFile(imageUrl))
|
|
|
+ .map(multipartFile -> fileService.upload(multipartFile).getData())
|
|
|
+ .ifPresent(data -> tAttach.setAttachPath(data.getUrl()));
|
|
|
+
|
|
|
+ tAttach.setBusIndx("bus_indx_smoke");
|
|
|
+ tAttach.setBusSource("HIK_3");
|
|
|
+ tAttach.setFileType(FILE_TYPE_1);
|
|
|
+ remoteDataService.insertAttach(tAttach);
|
|
|
+ }
|
|
|
+ return centereventTEventcatalogue.getEventCode();
|
|
|
+ }
|
|
|
}
|