Commit c549def2 authored by duanruiming's avatar duanruiming

Merge remote-tracking branch 'origin/master'

parents 57a5a358 53fd61c0
package net.wanji.web.task;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.bo.CrossIdBO;
import net.wanji.databus.dao.mapper.BaseCrossInfoMapper;
import net.wanji.databus.po.BaseCrossInfoPO;
import net.wanji.databus.vo.CrossInfoVO;
import net.wanji.web.service.impl.PlanSendServiceImpl;
import org.apache.commons.collections.CollectionUtils;
import org.joda.time.LocalDateTime;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import java.util.ArrayList;
import java.util.List;
/**
* @author zhouleilei
* 信号机同步任务
* @date 2025/02/18 11:35
*/
//@Component
//@RequiredArgsConstructor
@Slf4j
public class SignalSynchronizationTask {
@Autowired
private BaseCrossInfoMapper baseCrossInfoMapper;
@Autowired
private PlanSendServiceImpl planSendService;
@Scheduled(fixedRate = 1 * 1000)
public void syncSignalStatus() {
log.info("===开始同步,当前时间:{}", LocalDateTime.now());
CrossInfoVO crossInfoVO = new CrossInfoVO();
crossInfoVO.setIsSignal(1);
List<BaseCrossInfoPO> baseCrossInfoPOS = baseCrossInfoMapper.selectAll(crossInfoVO);
List<String> errorCrossIds = new ArrayList<>();
List<String> okCrossIds = new ArrayList<>();
if (CollectionUtils.isNotEmpty(baseCrossInfoPOS)) {
baseCrossInfoPOS.forEach(po -> {
CrossIdBO crossIdBO = new CrossIdBO();
crossIdBO.setCrossId(po.getId());
try {
JsonViewObject jsonViewObject = planSendService.syncScheme(crossIdBO);
if (jsonViewObject.getCode() == 200) {
okCrossIds.add(po.getId());
log.info("路口同步成功,路口号:{},时间:{}",po.getId(),LocalDateTime.now());
} else {
errorCrossIds.add(po.getId());
log.error("路口同步失败路口号:{},时间:{}",po.getId(),LocalDateTime.now());
}
} catch (Exception e) {
throw new RuntimeException(e);
}
});
}
log.info("===同步完成,当前时间:{},成功路口:{},失败路口:{}", LocalDateTime.now(), okCrossIds, errorCrossIds);
System.exit(0);
}
}
utc.service.url=http://173.17.0.1:32000/utc
utc.dt.service.url=http://173.17.0.1:39002/utc-dt
utc.hisense.service.url=http://173.17.0.1:39003/utc-hisense
control.url=http://173.17.0.1:32001/web
ehualu.url=http://173.17.0.1:30015
\ No newline at end of file
utc.service.url=http://192.168.150.1:32000/utc
utc.dt.service.url=http://192.168.150.1:39002/utc-dt
utc.hisense.service.url=http://192.168.150.1:39003/utc-hisense
control.url=http://192.168.150.1:32001/web
ehualu.url=http://192.168.150.1:30015
\ No newline at end of file
......@@ -806,23 +806,9 @@ public class StaticInfoServiceImpl implements StaticInfoService {
element.addElement(HttpConstants.MESSAGETYPE).setText(HttpConstants.MESSAGETYPE_30);
Element messageContent = (Element) document.selectSingleNode(HttpConstants.SYSTEMSCRIPTION_MESSAGECONTENT);
messageContent.addElement(HttpConstants.SPOT).setText(crossInfoPOExt.getCode());
//获取当前运行的方案号
/*
//获取当前运行的方案号 从灯态中获取
Integer integer = planMap.get(crossSchemeRingsDTO.getCrossId());
/*if (ObjectUtil.isEmpty(integer)){
CoordinationStatus coordinationStatus = crossPlan(crossSchemeRingsDTO.getCrossId());
if (ObjectUtil.isEmpty(coordinationStatus)) {
//获取方案号失败
log.error("请求方案环图前,获取当前运行方案号失败,crossId:{}", crossSchemeRingsDTO.getCrossId());
return null;
} else if ("255".equals(coordinationStatus.getCoordPatternStatus())) {
//黃闪
CrossSchemeRings crossSchemeRings = new CrossSchemeRings();
crossSchemeRings.setSpot(crossSchemeRingsDTO.getCrossId());
crossSchemeRings.setPattern(coordinationStatus.getCoordPatternStatus());
return crossSchemeRings;
}
integer = Integer.valueOf(coordinationStatus.getCoordPatternStatus());
}*/
if (ObjectUtil.isEmpty(integer)){
//获取方案号失败
log.error("请求方案环图前,获取当前运行方案号失败,没有该路口的灯态信息,crossId:{}", crossSchemeRingsDTO.getCrossId());
......@@ -834,8 +820,23 @@ public class StaticInfoServiceImpl implements StaticInfoService {
crossSchemeRings.setPattern(String.valueOf(integer));
return crossSchemeRings;
}
messageContent.addElement(HttpConstants.PATTERN).setText(String.valueOf(integer));*/
//获取当前运行的方案号 从海信视图获取
CoordinationStatus coordinationStatus = crossPlan(crossSchemeRingsDTO.getCrossId());
if (ObjectUtil.isEmpty(coordinationStatus)) {
//获取方案号失败
log.error("请求方案环图前,获取当前运行方案号失败,crossId:{}", crossSchemeRingsDTO.getCrossId());
return null;
} else if ("255".equals(coordinationStatus.getCoordPatternStatus())) {
//黃闪
CrossSchemeRings crossSchemeRings = new CrossSchemeRings();
crossSchemeRings.setSpot(crossSchemeRingsDTO.getCrossId());
crossSchemeRings.setPattern(coordinationStatus.getCoordPatternStatus());
return crossSchemeRings;
}
messageContent.addElement(HttpConstants.PATTERN).setText(coordinationStatus.getCoordPatternStatus());
messageContent.addElement(HttpConstants.PATTERN).setText(String.valueOf(integer));
//给海信发送http请求
String post = OkHttpClientUtil.xmlPost(hisenseUrl, document.asXML());
......
package net.wanji.utc.util;
import cn.hutool.core.util.ObjectUtil;
import io.swagger.annotations.ApiModelProperty;
import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
/**
* @ClassName ApiModelPropertyUtils
* @Description 通过反射打印 属性的注解
* @Author zhouleilei
* @Date 2025/2/12 17:22
*/
public class ApiModelPropertyUtils {
public static void main(String[] args) {
// GreenwaveScenePO areaIndex = new GreenwaveScenePO();
// System.out.println(areaIndex.toString().replaceAll("=null",""));
// 替换为你的类
Class<BaseCrossSchemePO> clazz = BaseCrossSchemePO.class;
List<String> list = new ArrayList<>();
// 遍历所有字段
for (Field field : clazz.getDeclaredFields()) {
// 获取 @ApiModelProperty 注解
ApiModelProperty apiModelProperty = field.getAnnotation(ApiModelProperty.class);
if (apiModelProperty != null) {
System.out.print(field.getName() +"\t");
System.out.println(ObjectUtil.isNotEmpty(apiModelProperty.value())?apiModelProperty.value():apiModelProperty.name());
// list.add(apiModelProperty.value());
// 你可以继续打印其他属性如 notes, required 等
}
}
}
}
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