From 15dcbd07dfb421e81bf2401cc37b8a6bca6d4211 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 24 十月 2025 18:34:49 +0800
Subject: [PATCH] 修改bug
---
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java | 222 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 218 insertions(+), 4 deletions(-)
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
index 3f991b8..9cf18a7 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -18,12 +18,15 @@
import com.ruoyi.chargingPile.api.domain.SiteMenu;
import com.ruoyi.chargingPile.mapper.SiteMapper;
import com.ruoyi.chargingPile.service.*;
+import com.ruoyi.chargingPile.util.UUIDUtil;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.integration.api.elutong.model.*;
+import com.ruoyi.integration.api.feignClient.ELuTongClient;
import com.ruoyi.integration.api.feignClient.IntegrationClient;
import com.ruoyi.integration.api.feignClient.TCECClient;
import com.ruoyi.other.api.domain.TVip;
@@ -41,7 +44,11 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.time.format.DateTimeFormatter;
import java.util.*;
+import java.util.concurrent.LinkedBlockingDeque;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@@ -90,6 +97,8 @@
@Resource
private TCECClient tcecClient;
+
+ @Resource ELuTongClient eLuTongClient;
/**
@@ -196,10 +205,188 @@
}
site.setMark(0);
this.save(site);
- // 推送充电站数据给监管平台
+
+ if(StringUtils.isNotEmpty(site.getSerAreaCode())){
+ ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.SECONDS, new LinkedBlockingDeque<>());
+ threadPoolExecutor.execute(()->{
+ StationInfoReq stationInfoReq = new StationInfoReq();
+ stationInfoReq.setOperatorId("91510903906171535D");
+ stationInfoReq.setStationId(site.getCode());
+ OperatorInfo operatorInfo = new OperatorInfo();
+ operatorInfo.setOperatorId("91510903906171535D");
+ operatorInfo.setOperatorName("四川明星新能源科技有限公司");
+ operatorInfo.setOperatorTel1("18683346252");
+ operatorInfo.setOperatorTel2("13982508784");
+ operatorInfo.setOperatorRegAddress("遂宁市船山区渠河南路18号");
+ operatorInfo.setOperatorNote("");
+ stationInfoReq.setOperatorInfo(operatorInfo);
+ List<StationInfo> stationInfos = new ArrayList<>();
+ stationInfos.add(buildStationInfo(site));
+ stationInfoReq.setItemSize(stationInfos.size());
+ stationInfoReq.setStationInfos(stationInfos);
+ R r = eLuTongClient.pushStationInfo(stationInfoReq);
+ if(200 != r.getCode()){
+ System.out.println(r.getMsg());
+ }
+ });
+ }
return AjaxResult.success();
}
-
+
+
+ private StationInfo buildStationInfo(Site site){
+ StationInfo stationInfo = new StationInfo();
+ stationInfo.setSerAreaCode(site.getSerAreaCode());
+ stationInfo.setOperatorId("91510903906171535D");
+ stationInfo.setStationId(site.getCode());
+ stationInfo.setStationName(site.getName());
+ stationInfo.setStationMode("CD");
+ stationInfo.setAreaCode(site.getDistrictsCode());
+ stationInfo.setServiceTel(site.getServicePhone());
+ switch (site.getSiteType()){
+ case 0:
+ stationInfo.setStationType(255);
+ break;
+ case 1:
+ stationInfo.setStationType(1);
+ break;
+ case 2:
+ stationInfo.setStationType(50);
+ break;
+ case 3:
+ stationInfo.setStationType(100);
+ break;
+ case 4:
+ stationInfo.setStationType(101);
+ break;
+ case 5:
+ stationInfo.setStationType(102);
+ break;
+ case 6:
+ stationInfo.setStationType(103);
+ break;
+ }
+ switch (site.getStatus()){
+ case 3:
+ stationInfo.setStationStatus(5);
+ break;
+ case 2:
+ stationInfo.setStationStatus(6);
+ break;
+ case 1:
+ stationInfo.setStationStatus(50);
+ break;
+ }
+ stationInfo.setParkNums(site.getParkingSpace());
+ stationInfo.setStationLng(Double.parseDouble(site.getLon()));
+ stationInfo.setStationLat(Double.parseDouble(site.getLat()));
+ stationInfo.setSiteGuide(site.getGuide());
+ switch (site.getConstructionSite()){
+ case 1:
+ stationInfo.setConstruction(1);
+ break;
+ case 2:
+ stationInfo.setConstruction(2);
+ break;
+ case 3:
+ stationInfo.setConstruction(3);
+ break;
+ case 4:
+ stationInfo.setConstruction(4);
+ break;
+ case 5:
+ stationInfo.setConstruction(5);
+ break;
+ case 6:
+ stationInfo.setConstruction(6);
+ break;
+ case 7:
+ stationInfo.setConstruction(7);
+ break;
+ case 8:
+ stationInfo.setConstruction(8);
+ break;
+ case 9:
+ stationInfo.setConstruction(9);
+ break;
+ case 10:
+ stationInfo.setConstruction(10);
+ break;
+ case 11:
+ stationInfo.setConstruction(11);
+ break;
+ case 0:
+ stationInfo.setConstruction(255);
+ break;
+ }
+ if(StringUtils.isNotEmpty(site.getImgUrl())){
+ stationInfo.setPictures(Arrays.asList(site.getImgUrl().split(",")));
+ }
+ stationInfo.setMatchCars(site.getVehicleDescription());
+ stationInfo.setBusinessHours(site.getStartServiceTime() + " - " + site.getEndServiceTime());
+ stationInfo.setSiteGuide("");
+ stationInfo.setPictures(new ArrayList<>());
+ stationInfo.setMatchCars("");
+ stationInfo.setElectricityFee(BigDecimal.ZERO);
+ stationInfo.setServiceFee(BigDecimal.ZERO);
+ stationInfo.setParkFee(BigDecimal.ZERO);
+ stationInfo.setPayment("2");
+ stationInfo.setSupportOrder(0);
+ stationInfo.setEquipmentInfos(buildEquipmentInfo(site));
+ return stationInfo;
+ }
+
+ private List<EquipmentInfo> buildEquipmentInfo(Site site){
+ List<TChargingPile> list = chargingPileService.list(new LambdaQueryWrapper<TChargingPile>()
+ .eq(TChargingPile::getSiteId, site.getId()).eq(TChargingPile::getDelFlag, 0));
+ return new ArrayList<EquipmentInfo>(){{
+ for (TChargingPile chargingPile : list) {
+ EquipmentInfo equipmentInfo = new EquipmentInfo();
+ equipmentInfo.setEquipmentId(chargingPile.getCode());
+ equipmentInfo.setEquipmentName(chargingPile.getName());
+ equipmentInfo.setManufacturerId(StringUtils.isNotEmpty(chargingPile.getManufacturerCode()) ? chargingPile.getManufacturerCode() : "91510900MACPB4NJ4E");
+ equipmentInfo.setManufacturerName(StringUtils.isNotEmpty(chargingPile.getManufacturer()) ? chargingPile.getManufacturer() : "");
+ equipmentInfo.setEquipmentModel(StringUtils.isNotEmpty(chargingPile.getEquipmentType()) ? chargingPile.getEquipmentType() : "");
+ if(null != chargingPile.getProductionDate()){
+ equipmentInfo.setProductionDate(chargingPile.getProductionDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ }else{
+ equipmentInfo.setProductionDate("");
+ }
+ equipmentInfo.setEquipmentType(0 == chargingPile.getType() ? 5 : chargingPile.getType());
+ if(StringUtils.isNotEmpty(chargingPile.getEquipmentLng())){
+ equipmentInfo.setEquipmentLng(Double.parseDouble(chargingPile.getEquipmentLng()));
+ }
+ if(StringUtils.isNotEmpty(chargingPile.getEquipmentLat())){
+ equipmentInfo.setEquipmentLat(Double.parseDouble(chargingPile.getEquipmentLat()));
+ }
+ equipmentInfo.setPower(chargingPile.getRatedPower().doubleValue());
+ equipmentInfo.setConnectorInfos(buildConnectorInfo(chargingPile));
+ add(equipmentInfo);
+ }
+ }};
+ }
+
+
+ private List<ConnectorInfo> buildConnectorInfo(TChargingPile chargingPile){
+ List<TChargingGun> list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>()
+ .eq(TChargingGun::getChargingPileId, chargingPile.getId()).eq(TChargingGun::getDelFlag, 0));
+ return new ArrayList<ConnectorInfo>(){{
+ for (TChargingGun chargingGun : list) {
+ ConnectorInfo connectorInfo = new ConnectorInfo();
+ connectorInfo.setConnectorId(chargingGun.getFullNumber());
+ connectorInfo.setConnectorName(chargingGun.getName());
+ connectorInfo.setConnectorType(0 == chargingGun.getType() ? 6 : chargingGun.getType());
+ connectorInfo.setVoltageUpperLimits(chargingGun.getUpperRatedVoltage().intValue());
+ connectorInfo.setVoltageLowerLimits(chargingGun.getLowerLimitOfRatedVoltage().intValue());
+ connectorInfo.setCurrent(chargingGun.getRatedCurrent().intValue());
+ connectorInfo.setPower(chargingGun.getRatedPower().doubleValue());
+ connectorInfo.setParkNo(chargingGun.getParkingNumber());
+ connectorInfo.setNationalStandard(Integer.parseInt(chargingGun.getNationalStandard()));
+ connectorInfo.setParkNo("");
+ add(connectorInfo);
+ }
+ }};
+ }
/**
* 编辑站点
@@ -227,6 +414,31 @@
}
this.updateById(site);
+ tcecClient.superviseNotificationStationInfo(site.getId());
+ if(StringUtils.isNotEmpty(site.getSerAreaCode())){
+ ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.SECONDS, new LinkedBlockingDeque<>());
+ threadPoolExecutor.execute(()->{
+ StationInfoReq stationInfoReq = new StationInfoReq();
+ stationInfoReq.setOperatorId("91510903906171535D");
+ stationInfoReq.setStationId(site.getCode());
+ OperatorInfo operatorInfo = new OperatorInfo();
+ operatorInfo.setOperatorId("91510903906171535D");
+ operatorInfo.setOperatorName("四川明星新能源科技有限公司");
+ operatorInfo.setOperatorTel1("18683346252");
+ operatorInfo.setOperatorTel2("13982508784");
+ operatorInfo.setOperatorRegAddress("遂宁市船山区渠河南路18号");
+ operatorInfo.setOperatorNote("");
+ stationInfoReq.setOperatorInfo(operatorInfo);
+ List<StationInfo> stationInfos = new ArrayList<>();
+ stationInfos.add(buildStationInfo(site));
+ stationInfoReq.setItemSize(stationInfos.size());
+ stationInfoReq.setStationInfos(stationInfos);
+ R r = eLuTongClient.pushStationInfo(stationInfoReq);
+ if(200 != r.getCode()){
+ System.out.println(r.getMsg());
+ }
+ });
+ }
return AjaxResult.success();
}
@@ -516,7 +728,9 @@
integrationClient.setupBillingModel1(tChargingPile.getCode(), JSON.toJSONString(accountingStrategyDetails));
}
- //推送三方平台
- tcecClient.notificationStationChange(Arrays.asList(id));
+ if(1 == site.getIsOpenSynchronization()){
+ //推送三方平台
+ tcecClient.notificationStationChange(Arrays.asList(id));
+ }
}
}
--
Gitblit v1.7.1