|
@@ -7,7 +7,6 @@ import cn.hutool.core.util.ReflectUtil;
|
|
|
import cn.hutool.http.HttpUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.zfjg.common.core.constant.CacheConstants;
|
|
|
import com.zfjg.common.core.enums.JobTypeEnum;
|
|
@@ -18,7 +17,6 @@ import com.zfjg.manage.api.domain.device.Device;
|
|
|
import com.zfjg.manage.api.domain.enforce.job.EnforceJob;
|
|
|
import com.zfjg.manage.api.domain.enforce.job.EnforceJobReport;
|
|
|
import com.zfjg.manage.api.domain.enforce.obj.EnforceObj;
|
|
|
-import com.zfjg.manage.api.domain.enforce.obj.EnforceObjArchitecture;
|
|
|
import com.zfjg.manage.api.domain.enforce.obj.EnforceObjTag;
|
|
|
import com.zfjg.manage.api.domain.enforce.obj.Tag;
|
|
|
import com.zfjg.manage.api.domain.enforce.video.EnforceVideo;
|
|
@@ -42,7 +40,6 @@ import com.zfjg.system.api.domain.SysDictData;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.http.HttpEntity;
|
|
|
import org.springframework.http.HttpHeaders;
|
|
@@ -54,6 +51,7 @@ import org.springframework.web.client.RestTemplate;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.Serializable;
|
|
|
import java.util.*;
|
|
|
+import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
@@ -99,9 +97,7 @@ public class DefaultLjZfjgSyncDataService implements ILjZfjgSyncDataService {
|
|
|
log.info("未开启两江数据推送接口");
|
|
|
return;
|
|
|
}
|
|
|
- if (checkParams(obj, "id", "deviceName", "cameraIndexCode", "serialNo", "deviceIndexCode", "enforceOrgName", "registerTime",
|
|
|
- "deviceStatus", "bindStatus", "enforceOrgId", "isDeleted", "createTime", "updateTime"
|
|
|
- )) {
|
|
|
+ if (checkParams(obj, "id", "deviceName", "cameraIndexCode", "serialNo", "deviceIndexCode", "enforceOrgName", "registerTime", "deviceStatus", "bindStatus", "enforceOrgId", "isDeleted", "createTime", "updateTime")) {
|
|
|
request("/device", obj, checkIsLjData(MapUtil.getStr(obj, "enforceOrgId")));
|
|
|
} else if (checkParams(obj, "id")) {
|
|
|
Device device = Optional.ofNullable(deviceService.getById((Serializable) obj.get("id"))).orElse(new Device());
|
|
@@ -147,8 +143,7 @@ public class DefaultLjZfjgSyncDataService implements ILjZfjgSyncDataService {
|
|
|
return;
|
|
|
}
|
|
|
if (checkParams(obj, "id")) {
|
|
|
- EnforceJob enforceJob = Optional.ofNullable(enforceJobService.getRealJobById((Serializable) obj.get("id")))
|
|
|
- .orElse(new EnforceJob());
|
|
|
+ EnforceJob enforceJob = Optional.ofNullable(enforceJobService.getRealJobById((Serializable) obj.get("id"))).orElse(new EnforceJob());
|
|
|
if (!JobTypeEnum.REPORT.getValue().equals(enforceJob.getJobType()) || !checkIsLjData(enforceJob.getEnforceOrgId())) {
|
|
|
throw new ServiceException("不是两江举报投诉任务不进行同步: " + enforceJob);
|
|
|
}
|
|
@@ -208,10 +203,7 @@ public class DefaultLjZfjgSyncDataService implements ILjZfjgSyncDataService {
|
|
|
log.info("未开启两江数据推送接口");
|
|
|
return;
|
|
|
}
|
|
|
- if (checkParams(obj, "id", "enforceOrgName", "enforceObjName", "manageStatus", "enforceOrgId", "enforceObjType", "architectureType",
|
|
|
- "holeResponsibility", "createUserId", "updateUserId",
|
|
|
- "isDeleted", "selectTimes", "dataSources", "isLabel", "extractNum", "createTime", "updateTime"
|
|
|
- )) {
|
|
|
+ if (checkParams(obj, "id", "enforceOrgName", "enforceObjName", "manageStatus", "enforceOrgId", "enforceObjType", "architectureType", "holeResponsibility", "createUserId", "updateUserId", "isDeleted", "selectTimes", "dataSources", "isLabel", "extractNum", "createTime", "updateTime")) {
|
|
|
request("/enforce_obj", obj, checkIsLjData(MapUtil.getStr(obj, "enforceOrgId")));
|
|
|
} else if (checkParams(obj, "id")) {
|
|
|
EnforceObj enforceObj = Optional.ofNullable(enforceObjService.getById((Serializable) obj.get("id"))).orElse(new EnforceObj());
|
|
@@ -255,8 +247,7 @@ public class DefaultLjZfjgSyncDataService implements ILjZfjgSyncDataService {
|
|
|
log.info("未开启两江数据推送接口");
|
|
|
return;
|
|
|
}
|
|
|
- if (checkParams(obj, "id", "mediaId", "deviceId", "deviceName", "enforceOrgId", "enforceOrgName", "videoType", "videoBeginTime", "videoEndTime",
|
|
|
- "isDeleted", "fileId", "duration", "timeOut", "createTime")) {
|
|
|
+ if (checkParams(obj, "id", "mediaId", "deviceId", "deviceName", "enforceOrgId", "enforceOrgName", "videoType", "videoBeginTime", "videoEndTime", "isDeleted", "fileId", "duration", "timeOut", "createTime")) {
|
|
|
obj.put("timeOut", 0);
|
|
|
request("/device_video", obj, checkIsLjData(MapUtil.getStr(obj, "enforceOrgId")));
|
|
|
} else if (checkParams(obj, "id")) {
|
|
@@ -332,14 +323,14 @@ public class DefaultLjZfjgSyncDataService implements ILjZfjgSyncDataService {
|
|
|
}
|
|
|
List<EnforceJobFireRoomDTO> enforceJobFireRoomDTOS = enforceObjServiceExtend.enforceJobFireRoomList();
|
|
|
if (enforceJobFireRoomDTOS.isEmpty()) {
|
|
|
- System.out.println("未找到不合格的消控室");
|
|
|
+ log.error("未找到不合格的消控室");
|
|
|
return;
|
|
|
}
|
|
|
- System.out.println("不合格的消控室" + enforceJobFireRoomDTOS);
|
|
|
+ log.info("不合格的消控室{}", enforceJobFireRoomDTOS);
|
|
|
Map<String, String> stringStringMap = enforceJobFireRoomDTOS.stream().collect(Collectors.toMap(EnforceJobFireRoomDTO::getEnforceObjId, EnforceJobFireRoomDTO::getJobId));
|
|
|
List<String> ids = enforceJobFireRoomDTOS.stream().map(EnforceJobFireRoomDTO::getEnforceObjId).collect(Collectors.toList());
|
|
|
List<EnforceObj> enforceObjs = enforceObjService.listByIds(ids);
|
|
|
- System.out.println("不合格的消控室执法对象" + enforceObjs);
|
|
|
+ log.info("不合格的消控室执法对象{}", enforceObjs);
|
|
|
for (EnforceObj enforceObj : enforceObjs) {
|
|
|
String eventCondition = "A11";
|
|
|
if (ObjectUtil.isNotEmpty(enforceObj.getPlaceType())) {
|
|
@@ -388,12 +379,7 @@ public class DefaultLjZfjgSyncDataService implements ILjZfjgSyncDataService {
|
|
|
EnforceJob enforceJob = enforceJobService.getById(jobId);
|
|
|
|
|
|
JSONObject response = GaoDeMapUtil.geoEncode(enforceJob.getStartLongitude(), enforceJob.getStartLatitude());
|
|
|
- String streetName = Optional.of(response).filter(it -> it.containsKey("regeocode"))
|
|
|
- .map(it -> it.getJSONObject("regeocode"))
|
|
|
- .filter(it -> it.containsKey("addressComponent"))
|
|
|
- .map(it -> it.getJSONObject("addressComponent"))
|
|
|
- .filter(it -> it.containsKey("township"))
|
|
|
- .map(it -> it.getString("township")).orElse("");
|
|
|
+ String streetName = Optional.of(response).filter(it -> it.containsKey("regeocode")).map(it -> it.getJSONObject("regeocode")).filter(it -> it.containsKey("addressComponent")).map(it -> it.getJSONObject("addressComponent")).filter(it -> it.containsKey("township")).map(it -> it.getString("township")).orElse("");
|
|
|
if (StringUtils.isEmpty(streetName)) {
|
|
|
System.out.println(enforceObj.getEnforceObjName() + "发送至发送数据到IRS交互应用找不到街道");
|
|
|
continue;
|
|
@@ -416,17 +402,70 @@ public class DefaultLjZfjgSyncDataService implements ILjZfjgSyncDataService {
|
|
|
|
|
|
Map<String, Object> param = BeanUtil.beanToMap(startEventDto, false, true);
|
|
|
log.error("单位发送至发送数据到IRS交互应用参数: {}", JSON.toJSONString(param));
|
|
|
- String startEventString = HttpUtil.createPost("http://183.66.101.165:9408/api/event/start/v1")
|
|
|
- .body(JSON.toJSONString(param))
|
|
|
- .execute()
|
|
|
- .sync()
|
|
|
- .body();
|
|
|
+ String startEventString = HttpUtil.createPost("http://183.66.101.165:9408/api/event/start/v1").body(JSON.toJSONString(param)).execute().sync().body();
|
|
|
System.out.println("单位发送至发送数据到IRS交互应用: " + startEventString);
|
|
|
log.error("单位发送至发送数据到IRS交互应用: {}", startEventString);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public void updateUseWater() {
|
|
|
+ List<EnforceJobFireRoomDTO> enforceJobFireRoomDTOS = enforceObjServiceExtend.enforceJobUseWaterList();
|
|
|
+ if (enforceJobFireRoomDTOS.isEmpty()) {
|
|
|
+ log.error("未找到不合格的消防给水设施");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ log.info("找到不合格的消防给水设施{}", enforceJobFireRoomDTOS);
|
|
|
+ Map<String, List<EnforceJobFireRoomDTO>> stringStringMap = enforceJobFireRoomDTOS.stream().collect(Collectors.groupingBy(EnforceJobFireRoomDTO::getEnforceObjId));
|
|
|
+ List<String> ids = enforceJobFireRoomDTOS.stream().map(EnforceJobFireRoomDTO::getEnforceObjId).collect(Collectors.toList());
|
|
|
+ List<EnforceObj> enforceObjs = enforceObjService.listByIds(ids);
|
|
|
+ log.info("找到不合格的消防给水设施执法对象{}", enforceObjs);
|
|
|
+ for (EnforceObj enforceObj : enforceObjs) {
|
|
|
+ String eventCondition = " ";
|
|
|
+ System.out.println(enforceObj.getEnforceObjName() + " 发送找到不合格的消防给水设施执法对象情形为: " + eventCondition);
|
|
|
+
|
|
|
+ if (!stringStringMap.containsKey(enforceObj.getId())) {
|
|
|
+ log.error("找到不合格的消防给水设施执法对象发送数据到IRS交互应用找不到ID");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ List<EnforceJobFireRoomDTO> jobFireRoomDTOS = stringStringMap.get(enforceObj.getId());
|
|
|
+ String jobId = jobFireRoomDTOS.stream().filter(it -> StringUtils.isNoneBlank(it.getJobId())).map(EnforceJobFireRoomDTO::getJobId).findFirst().get();
|
|
|
+ EnforceJob enforceJob = enforceJobService.getById(jobId);
|
|
|
+
|
|
|
+ JSONObject response = GaoDeMapUtil.geoEncode(enforceJob.getStartLongitude(), enforceJob.getStartLatitude());
|
|
|
+ String streetName = Optional.ofNullable(response).filter(it -> it.containsKey("regeocode")).map(it -> it.getJSONObject("regeocode")).filter(it -> it.containsKey("addressComponent")).map(it -> it.getJSONObject("addressComponent")).filter(it -> it.containsKey("township")).map(it -> it.getString("township")).orElse("");
|
|
|
+ if (StringUtils.isBlank(streetName)) {
|
|
|
+ System.out.println(enforceObj.getEnforceObjName() + "发送找到不合格的消防给水设施执法对象IRS交互应用找不到街道");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String areaName = Optional.ofNullable(response).filter(it -> it.containsKey("regeocode")).map(it -> it.getJSONObject("regeocode")).filter(it -> it.containsKey("addressComponent")).map(it -> it.getJSONObject("addressComponent")).filter(it -> it.containsKey("district")).map(it -> it.getString("district")).orElse("");
|
|
|
+ StartEventDto startEventDto = new StartEventDto();
|
|
|
+ startEventDto.setAreaName(areaName);
|
|
|
+ startEventDto.setEventCondition(eventCondition);
|
|
|
+ startEventDto.setEventType(6);
|
|
|
+ startEventDto.setBelongCounty("");
|
|
|
+ String itemNames = jobFireRoomDTOS.stream().map(EnforceJobFireRoomDTO::getItemName).filter(StringUtils::isNoneBlank).reduce((s1, s2) -> s1 + "," + s2).orElse("");
|
|
|
+ itemNames += jobFireRoomDTOS.stream().map(EnforceJobFireRoomDTO::getItemContent).filter(StringUtils::isNoneBlank).reduce((s1, s2) -> s1 + "," + s2).orElse("");
|
|
|
+ startEventDto.setEventContent(enforceObj.getEnforceObjName() + ":不合格的消防给水设施执法项目: " + itemNames);
|
|
|
+ startEventDto.setEventTitle(enforceObj.getEnforceObjName() + ":不合格的消防给水设施执法项目: " + itemNames);
|
|
|
+ startEventDto.setProcessId(" ");
|
|
|
+ startEventDto.setSource("zfjg");
|
|
|
+ startEventDto.setAddress(enforceObj.getEnforceObjAddress());
|
|
|
+ startEventDto.setStreetName(streetName);
|
|
|
+ startEventDto.setPhoneNumber(enforceObj.getContactPhone());
|
|
|
+ startEventDto.setLon(enforceJob.getStartLongitude());
|
|
|
+ startEventDto.setLat(enforceJob.getStartLatitude());
|
|
|
+
|
|
|
+ Map<String, Object> param = BeanUtil.beanToMap(startEventDto, false, true);
|
|
|
+ log.info("单位发送至发送数据到IRS交互应用参数: {}", JSON.toJSONString(param));
|
|
|
+
|
|
|
+ String startEventString = HttpUtil.createPost("http://183.66.101.165:9408/api/event/start/v1").body(JSON.toJSONString(param)).execute().sync().body();
|
|
|
+ System.out.println("单位发送至发送数据到IRS交互应用: " + startEventString);
|
|
|
+ log.info("单位发送至发送数据到IRS交互应用: {}", startEventString);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private HttpHeaders auth(HttpHeaders requestHeaders) {
|
|
|
requestHeaders.set("Content-type", "application/json; charset=utf-8");
|
|
|
return requestHeaders;
|