123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package com.gzlh.bus;
- import cn.hutool.core.util.StrUtil;
- import cn.hutool.extra.spring.SpringUtil;
- import cn.hutool.http.HttpResponse;
- import cn.hutool.http.HttpUtil;
- import cn.hutool.json.JSONObject;
- import cn.hutool.json.JSONUtil;
- import com.gzlh.config.ModuleEnum;
- import com.gzlh.config.SystemObject;
- import com.gzlh.device.led.utils.LedOptions;
- import com.gzlh.device.plc.event.PLCEvent;
- import com.gzlh.entity.CommandBO;
- import com.gzlh.entity.ReqBO;
- import com.gzlh.utils.DeviceCache;
- import com.gzlh.utils.WordHandlerUtils;
- import lombok.extern.slf4j.Slf4j;
- @Slf4j
- public class SubmitThread implements Runnable{
- @Override
- public void run() {
- String api = SysConfig.managerSetting.getServerUrl() + "/open/submit";
- ReqBO reqBO=EventDataManager.getCacheData();
- String bodyParams = JSONUtil.toJsonStr(reqBO);
- if (StrUtil.isEmpty(bodyParams)
- || ChannelCacheManager.checkExit(reqBO.getCarNo())
- ||!ChannelCacheManager.stateEnable(SysConfig.channelSetting.getChannelCode())) {
- return;
- }
- ChannelCacheManager.addCache(reqBO.getCarNo());
- log.info("Req:{}", bodyParams);
- EventBus eventBus = SpringUtil.getBean(EventBus.class);
- try (HttpResponse response = HttpUtil.createPost(api).body(WordHandlerUtils.AESEncrypt(bodyParams)).execute()) {
- log.info("提交通道数据-返回结果:{}", response.body());
- if (response.getStatus() == 200) {
- String body = response.body();
- JSONObject jsonObject = JSONUtil.parseObj(body);
- // 返回数据解密
- String data = WordHandlerUtils.AESDecrypt(jsonObject.get("data").toString());
- log.info("data:{}", data);
- CommandBO commandBO = JSONUtil.toBean(data, CommandBO.class);
- LedOptions options = new LedOptions().setLine("04").setShowType("00");
- if (jsonObject.getInt("code") == 200) {
- log.info("抬杆放行============");
- eventBus.startEvent(ModuleEnum.PLC_MODULE.getModuleEn() + "." + PLCEvent.RAILING_RISE);
- options.setColor("02");
- if (ModuleEnum.LED_MODULE.getModuleEn().equalsIgnoreCase(commandBO.getCommand().getModule())) {
- SystemObject.ledFactory.handler(SysConfig.serialSetting.getLed().getBrand())
- .sendMsg(commandBO.getCommand().getExtra(), options);
- }
- } else {
- options.setColor("01");
- if (ModuleEnum.LED_MODULE.getModuleEn().equalsIgnoreCase(commandBO.getCommand().getModule())) {
- SystemObject.ledFactory.handler(SysConfig.serialSetting.getLed().getBrand())
- .sendMsg(commandBO.getCommand().getExtra(), options);
- } else {
- eventBus.startEvent(commandBO.getCommand().getModule() + "." + commandBO.getCommand().getCommand());
- }
- if (SysConfig.channelSetting.getChannelType() == 1) {
- eventBus.startEvent(ModuleEnum.PLC_MODULE.getModuleEn() + "." + PLCEvent.CHECK_ADMIN_FAILED);
- }
- }
- } else {
- eventBus.startEvent(ModuleEnum.PLC_MODULE.getModuleEn() + "." + PLCEvent.SUBMIT_TIMEOUT);
- }
- }
- // 重置记录的设备触发时间
- DeviceCache.resetTimeMap();
- }
- }
|