Commit 31fae67f authored by duanruiming's avatar duanruiming

[update] 添加海康信号机校时查询

parent e436d7eb
package net.wanji.utc.po.hk.response;
import lombok.Data;
/**
* @author duanruiming
* @date 2023/08/08 16:58
*/
@Data
public class SignalTimePO {
private String crossCode;
private String time;
}
package net.wanji.utc.service.staticinfo;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.vo.DetailCrossInfoVO;
import net.wanji.utc.common.genericentity.ManufacturerRes;
......@@ -9,4 +10,6 @@ import net.wanji.utc.common.genericentity.ManufacturerRes;
*/
public interface OthersStaticInfoService {
ManufacturerRes<DetailCrossInfoVO> crossBasicInfo(String manufacturerCode);
JsonViewObject signalTime(String crossId) throws Exception;
}
package net.wanji.utc.service.staticinfo.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import net.wanji.common.enums.DateStyle;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.utils.tool.JacksonUtils;
import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.vo.DetailCrossInfoVO;
import net.wanji.utc.common.commonentity.HttpRequest;
import net.wanji.utc.common.genericentity.ManufacturerRes;
import net.wanji.utc.po.hk.response.HKResponse;
import net.wanji.utc.po.hk.response.SignalTimePO;
import net.wanji.utc.service.staticinfo.OthersStaticInfoService;
import net.wanji.utc.util.HttpRestUtil;
import net.wanji.utc.util.PathUtil;
import net.wanji.utc.util.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.*;
import static net.wanji.utc.common.constant.Constants.HK_SUCCESS_STRING_CODE;
/**
* @author Kent HAN
* @date 2022/11/16 11:03
......@@ -20,6 +36,11 @@ import org.springframework.stereotype.Service;
public class OthersStaticInfoServiceImpl implements OthersStaticInfoService {
@Autowired
private HttpRestUtil httpRestUtil;
@Autowired
private ArtemisConfig artemisConfig;
@Autowired
private CrossInfoMapper crossInfoMapper;
@Override
public ManufacturerRes<DetailCrossInfoVO> crossBasicInfo(String manufacturerCode) {
......@@ -30,4 +51,23 @@ public class OthersStaticInfoServiceImpl implements OthersStaticInfoService {
}
return JSON.parseObject(result, new TypeReference<ManufacturerRes<DetailCrossInfoVO>>() {});
}
@Override
public JsonViewObject signalTime(String crossId) throws Exception {
CrossInfoPO crossInfoPO = crossInfoMapper.selectByPrimaryKey(crossId);
Map<String, String> path = PathUtil.getPathMapByApiCode("getSignalSysTime");
String requestBody = JacksonUtils.getInstance().writeValueAsString(Arrays.asList(crossInfoPO.getCode()));
String responseStr = ArtemisHttpUtil.doPostStringArtemis(artemisConfig, path, requestBody, null,
null, "application/json", null);
HKResponse hkResponse = JSONObject.parseObject(responseStr, HKResponse.class);
if (Objects.nonNull(hkResponse) && Objects.equals(HK_SUCCESS_STRING_CODE, hkResponse.getCode())) {
String dataStr = String.valueOf(hkResponse.getData());
List<SignalTimePO> signalTimePOs = JSONObject.parseObject(dataStr, new TypeReference<List<SignalTimePO>>(){});
for (SignalTimePO signalTimePO : signalTimePOs) {
Date date = new SimpleDateFormat(DateStyle.YYYY_MM_DD_HH_MM_SS.getValue()).parse(signalTimePO.getTime());
return JsonViewObject.newInstance().success(date);
}
}
return JsonViewObject.newInstance().fail("获取信号机校时失败");
}
}
......@@ -45,6 +45,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
private final CrossSchedulesMapper crossSchedulesMapper;
private final WanJiCommonStaticInfoService wanjiCommonStaticInfoService;
private final CrossInfoCache crossInfoCache;
private final OthersStaticInfoService othersStaticInfoService;
@Override
@Transactional
......@@ -166,7 +167,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
}
@Override
public net.wanji.databus.vo.PlanSectionVO buildPlanSectionResponse(String crossId) {
public PlanSectionVO buildPlanSectionResponse(String crossId) {
List<CrossPlanPO> crossPlanPOList = crossPlanMapper.selectByCrossId(crossId);
List<CrossSectionPO> crossSectionPOList = crossSectionMapper.selectByCrossId(crossId);
......@@ -178,12 +179,12 @@ public class StaticInfoServiceImpl implements StaticInfoService {
}
@Override
public net.wanji.databus.vo.PlanSectionVO buildPlanSectionResponse(String crossId, Integer planNo) {
public PlanSectionVO buildPlanSectionResponse(String crossId, Integer planNo) {
List<CrossPlanPO> crossPlanPOList = crossPlanMapper.selectByCrossIdAndPlanNo(crossId, planNo);
Integer planId = crossPlanMapper.selectIdByNo(crossId, planNo);
List<CrossSectionPO> crossSectionPOList = crossSectionMapper.selectByCrossIdAndPlanId(crossId, planId);
net.wanji.databus.vo.PlanSectionVO planSectionVO = new net.wanji.databus.vo.PlanSectionVO();
PlanSectionVO planSectionVO = new PlanSectionVO();
planSectionVO.setCrossPlanPOList(crossPlanPOList);
planSectionVO.setCrossSectionPOList(crossSectionPOList);
......@@ -201,6 +202,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
String manufacturerCode = crossInfoCache.getManufacturerCodeByCrossId(crossId);
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
if (Objects.equals(BasicEnum.ManufacturerEnum.HK.getCode(), manufacturerCode)) {
jsonViewObject = othersStaticInfoService.signalTime(crossId);
} else {
jsonViewObject = wanjiCommonStaticInfoService.signalTime(crossId);
}
......
......@@ -2,6 +2,8 @@ spring:
application:
# dubbo启动需要程序名称
name: utc
jackson:
time-zone: GMT+8
main:
allow-circular-references: true
cloud:
......
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