From d08fe17ae9056598aa82efb85ac81a893f4cdf36 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期日, 28 九月 2025 15:20:43 +0800 Subject: [PATCH] 修改上传e路通bug --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/util/TaskUtil.java | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 111 insertions(+), 6 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/util/TaskUtil.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/util/TaskUtil.java index f544069..3df518d 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/util/TaskUtil.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/util/TaskUtil.java @@ -1,30 +1,135 @@ package com.ruoyi.chargingPile.util; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.chargingPile.api.model.TChargingGun; +import com.ruoyi.chargingPile.service.ISiteService; +import com.ruoyi.chargingPile.service.TChargingGunService; import com.ruoyi.chargingPile.service.TChargingPileService; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.integration.api.elutong.model.*; +import com.ruoyi.integration.api.feignClient.ELuTongClient; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.web.context.WebServerInitializedEvent; +import org.springframework.context.ApplicationListener; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; /** * 定时任务工具类 */ +@Slf4j @Component -public class TaskUtil { +public class TaskUtil implements ApplicationListener<WebServerInitializedEvent> { @Resource - private TChargingPileService chargingPileService;; + private TChargingPileService chargingPileService; + + private Integer port = null; + + @Resource + private ELuTongClient eLuTongClient; + + @Resource + private ISiteService siteService; + + @Resource + private TChargingGunService chargingGunService; + @Override + public void onApplicationEvent(WebServerInitializedEvent event) { + port = event.getWebServer().getPort(); + System.out.println("端口号:" + port); + } + + /** + * 每隔1分钟去处理的定时任务 + */ + @Scheduled(fixedRate = 60000) + public void taskMinute(){ + if(null != port && port == 5300){ + chargingPileService.updateStatus(); + pushStationsStatus(); + } + } /** - * 每隔一分钟去处理的定时任务 + * 1分钟定时推送设备状态E路通 */ - @Scheduled(fixedRate = 1000 * 60) - public void taskMinute(){ - + private void pushStationsStatus(){ + List<Site> list = siteService.list(new LambdaQueryWrapper<Site>().eq(Site::getDelFlag, 0).isNotNull(Site::getSerAreaCode)); + for (Site site : list) { + if(StringUtils.isEmpty(site.getSerAreaCode())){ + continue; + } + StationsStatusReq stationsStatusReq = new StationsStatusReq(); + stationsStatusReq.setOperatorId("91510903906171535D"); + stationsStatusReq.setSerAreaCode(site.getSerAreaCode()); + stationsStatusReq.setStationId(site.getId().toString()); + List<StationStatusInfo> stationStausInfos = new ArrayList<>(); + stationStausInfos.add(buildStationStaus(site)); + stationsStatusReq.setItemSize(stationStausInfos.size()); + stationsStatusReq.setStationStatusInfos(stationStausInfos); + R r = eLuTongClient.pushStationsStatus(stationsStatusReq); + if(200 != r.getCode()){ + log.error(r.getMsg()); + } + } + + } + + + private StationStatusInfo buildStationStaus(Site site){ + StationStatusInfo stationStausInfo = new StationStatusInfo(); + stationStausInfo.setStationId(site.getId().toString()); + stationStausInfo.setConnectorStatusInfos(buildConnectorStatus(site)); + return stationStausInfo; + } + + private List<ConnectorStatusInfo> buildConnectorStatus(Site site){ + List<TChargingGun> list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getDelFlag, 0) + .eq(TChargingGun::getSiteId, site.getId())); + return new ArrayList<ConnectorStatusInfo>(){{ + for (TChargingGun chargingGun : list) { + ConnectorStatusInfo connectorStatusInfo = new ConnectorStatusInfo(); + connectorStatusInfo.setConnectorId(chargingGun.getId().toString()); + switch (chargingGun.getStatus()){ + case 1: + connectorStatusInfo.setStatus(0); + break; + case 2: + connectorStatusInfo.setStatus(1); + break; + case 3: + connectorStatusInfo.setStatus(2); + break; + case 4: + connectorStatusInfo.setStatus(3); + break; + case 5: + connectorStatusInfo.setStatus(3); + break; + case 6: + connectorStatusInfo.setStatus(4); + break; + case 7: + connectorStatusInfo.setStatus(255); + break; + } + connectorStatusInfo.setSoc(0D); + connectorStatusInfo.setRemainingTime(0); + add(connectorStatusInfo); + } + }}; } } -- Gitblit v1.7.1