From 3b4bd94a21864b9b638395c95c467bb82a2f157e Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 26 三月 2025 21:25:22 +0800
Subject: [PATCH] 监管平台

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController1.java |  258 ---------------------------------------------------
 1 files changed, 3 insertions(+), 255 deletions(-)

diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController1.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController1.java
index 43c6faa..7b24b27 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController1.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController1.java
@@ -31,6 +31,7 @@
 import com.ruoyi.other.api.feignClient.SystemConfigurationClient;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -56,7 +57,8 @@
 	
 	@Resource
 	private SiteClient siteClient;
-	
+	@Autowired
+	private TCECSuperviseUtil tcecSuperviseUtil;
 	@Resource
 	private ChargingPileClient chargingPileClient;
 	
@@ -1809,262 +1811,8 @@
 		log.info("监管平台查询充电站信息响应参数:" + JacksonUtils.toJson(baseResult));
 		return baseResult;
 	}
-	/**
-	 * 推送充电用能统计
-	 * @return
-	 */
-	@PostMapping("/supervise_notification_operation_stats_info")
-	public void superviseNotificationOperationStatsInfo(){
-		List<Site> data = siteClient.getSiteAll().getData();
-		LocalDateTime now = LocalDateTime.now();
-		LocalDateTime startLocalDateTime = now.minusDays(1);
-		LocalDateTime endLocalDateTime = now.minusDays(1);
-		// 获取今天凌晨
-		startLocalDateTime.withHour(0);
-		startLocalDateTime.withMinute(0);
-		startLocalDateTime.withSecond(0);
-		String start = DateUtils.localDateTimeToString(startLocalDateTime);
-		endLocalDateTime.withHour(23);
-		endLocalDateTime.withMinute(59);
-		endLocalDateTime.withSecond(59);
-		String end = DateUtils.localDateTimeToString(endLocalDateTime);
-		ChargingStatisticeDTO chargingStatisticeDTO = new ChargingStatisticeDTO();
-		chargingStatisticeDTO.setStartTime(startLocalDateTime);
-		chargingStatisticeDTO.setEndTime(endLocalDateTime);
-		List<TChargingOrder> data1 = chargingOrderClient.getChargingStatistics(chargingStatisticeDTO).getData();
-		List<StationStatsInfo> stationStatsInfos = new ArrayList<>();
-		for (Site datum : data) {
-			StationStatsInfo stationStatsInfo = new StationStatsInfo();
-			stationStatsInfo.setStationID(datum.getId().toString());
-			stationStatsInfo.setEquipmentOwnerID("906171535");
-			stationStatsInfo.setOperatorID("906171535");
-			stationStatsInfo.setStationClassification(1);
-			stationStatsInfo.setStartTime(start);
-			stationStatsInfo.setEndTime(end);
-			List<TChargingOrder> chargingOrders = data1.stream().filter(e -> e.getSiteId().equals(datum.getId())).collect(Collectors.toList());
-			// 充电电量
-			BigDecimal electricity = new BigDecimal("0");
-			int chargingCount = 0;
-			for (TChargingOrder chargingOrder : chargingOrders) {
-				if (chargingOrder.getElectricity()!=null){
-					electricity = electricity.add(chargingOrder.getElectricity());
-					chargingCount++;
-				}
-			}
-			stationStatsInfo.setStationElectricity(electricity.divide(new BigDecimal("24")).setScale(4, BigDecimal.ROUND_DOWN));
-			stationStatsInfo.setStationTotalChargeEnergy(electricity.setScale(4, BigDecimal.ROUND_DOWN));
-			stationStatsInfo.setStationTotalWarningNum(0);
-			stationStatsInfo.setStationTotalOtherEnergy(new BigDecimal("0"));
-			stationStatsInfo.setStationTotalChargeNum(chargingCount);
-			//构建设备统计数据
-			List<EquipmentStatsInfo> EquipmentStatsInfos = new ArrayList<>();
-			Map<Integer, List<TChargingOrder>> collect = chargingOrders.stream().collect(Collectors.groupingBy(TChargingOrder::getChargingPileId));
-			for (Integer integer : collect.keySet()) {
-				List<TChargingOrder> tChargingOrders = collect.get(integer);
-				BigDecimal reduce1 = tChargingOrders.stream().map(TChargingOrder::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
-				EquipmentStatsInfo equipmentStatsInfo = new EquipmentStatsInfo();
-				equipmentStatsInfo.setEquipmentClassification(1);
-				long chargingTime = 0L;
-				for (TChargingOrder tChargingOrder : tChargingOrders) {
-					// 累加充电时长
-					LocalDateTime startTime = tChargingOrder.getStartTime();
-					LocalDateTime endTime = tChargingOrder.getEndTime();
-					// 计算时间差 单位分钟
-					chargingTime += ChronoUnit.SECONDS.between(startTime, endTime)/60;
-				}
-				equipmentStatsInfo.setEquipmentTotalChargeTime(chargingTime);
-				equipmentStatsInfo.setEquipmentTotalChargeNum(tChargingOrders.size());
-				equipmentStatsInfo.setEquipmentTotalWarningNum(0);
-				equipmentStatsInfo.setEquipmentID(integer.toString());
-				equipmentStatsInfo.setEquipmentElectricity(reduce1);
-				//构建设备接口统计数据
-				Map<Integer, List<TChargingOrder>> collect2 = tChargingOrders.stream().collect(Collectors.groupingBy(TChargingOrder::getChargingGunId));
-				List<ConnectorStatsInfo> ConnectorStatsInfos = new ArrayList<>();
-				for (Integer integer1 : collect2.keySet()) {
-					List<TChargingOrder> tChargingOrders1 = collect2.get(integer1);
-					BigDecimal reduce2 = tChargingOrders1.stream().map(TChargingOrder::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
 
-					TChargingGun chargingGun = chargingGunClient.getChargingGunById(integer1).getData();
-					ConnectorStatsInfo connectorStatsInfo = new ConnectorStatsInfo();
-					connectorStatsInfo.setConnectorID(chargingGun.getFullNumber());
-					connectorStatsInfo.setConnectorElectricity(reduce2);
-					ConnectorStatsInfos.add(connectorStatsInfo);
-				}
-				equipmentStatsInfo.setConnectorStatsInfos(ConnectorStatsInfos);
-				EquipmentStatsInfos.add(equipmentStatsInfo);
-			}
-			stationStatsInfo.setEquipmentStatsInfos(EquipmentStatsInfos);
-			stationStatsInfos.add(stationStatsInfo);
-		}
-	}
-	/**
-	 * 推送充换电站实时功率
-	 * @return
-	 */
-	@PostMapping("/supervise_notification_realtime_power_info")
-	public void superviseNotificationRealtimePowerInfo(){
 
-	}
-
-	/**
-	 * 推送充换电站信息
-	 * @param datum
-	 * @return
-	 */
-	@PostMapping("/supervise_notification_station_info")
-	public void superviseNotificationStationInfo(@RequestBody Site datum){
-		BaseResult baseResult = new BaseResult();
-		StationInfo stationInfo = new StationInfo();
-		List<TChargingPile> tChargingPiles = chargingPileClient.getChargingPileBySiteIds(Collections.singletonList(datum.getId())).getData();
-		List<Integer> collect1 = tChargingPiles.stream().map(TChargingPile::getId).collect(Collectors.toList());
-		List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(collect1).getData();
-		String serviceTel = systemConfigurationClient.getServerPhone().getData();
-		stationInfo.setAreaCodeCountryside(datum.getAreaCodeCountryside());
-		stationInfo.setStationClassification(datum.getStationClassification());
-		stationInfo.setGeneralApplicationType(datum.getGeneralApplicationType());
-		if (org.springframework.util.StringUtils.hasLength(datum.getSwapMatchCars())){
-			stationInfo.setSwapMatchCars(Arrays.asList(datum.getSwapMatchCars().split(",")));
-		}
-		stationInfo.setBusineHours(datum.getStartServiceTime());
-		stationInfo.setRoundTheClock(datum.getRoundTheClock());
-		stationInfo.setParkType(datum.getParkType());
-		stationInfo.setElectricityFee("{"+datum.getElectricityFee()+"}");
-		stationInfo.setServiceFee("{"+datum.getServiceFee()+"}");
-		stationInfo.setParkFee("{\"rules\":"+datum.getParkFee()+","+"\"freeDuration\":"+datum.getParkFeeFree()+"}");
-		stationInfo.setElectricityType(datum.getElectricityType());
-		stationInfo.setBusinessExpandType(datum.getBusinessExpandType());
-		stationInfo.setCapacity(datum.getCapacity());
-		stationInfo.setRatedPower(datum.getRatedPower());
-		stationInfo.setPeriodFee(datum.getPeriodFee());
-		stationInfo.setOfficialRunTime(datum.getOfficialRunTime());
-		stationInfo.setStationOrientation(datum.getStationOrientation());
-		stationInfo.setStationArea(datum.getStationArea());
-		stationInfo.setHavePerson(datum.getHavePerson());
-		stationInfo.setVideoMonitor(datum.getVideoMonitor());
-		if (StringUtils.isNotEmpty(datum.getSupportingFacilities())){
-			String[] split = datum.getSupportingFacilities().split(",");
-			List<Integer> collect = Arrays.stream(split).map(Integer::parseInt).collect(Collectors.toList());
-			stationInfo.setSupportingFacilities(collect);
-		}
-		stationInfo.setPrinterFlag(datum.getPrinterFlag());
-		stationInfo.setBarrierFlag(datum.getBarrierFlag());
-		stationInfo.setParkingLockFlag(datum.getParkingLockFlag());
-		stationInfo.setEquipmentOwnerName(datum.getEquipmentOwnerName());
-		stationInfo.setResidentNo(datum.getResidentNo());
-		stationInfo.setSupplyType(datum.getSupplyType());
-		stationInfo.setWattHourMeterNo(datum.getWattHourMeterNo());
-		BigDecimal forwardPower = datum.getForwardPower();
-		if (forwardPower!=null){
-			stationInfo.setForwardPower(forwardPower.setScale(4, BigDecimal.ROUND_HALF_UP).toString());
-		}
-		stationInfo.setRecordUniqueNo(datum.getRecordUniqueNo());
-		stationInfo.setStationID(datum.getId().toString());
-		stationInfo.setOperatorID("906171535");
-		stationInfo.setEquipmentOwnerID("906171535");
-		stationInfo.setStationName(datum.getName());
-		stationInfo.setCountryCode(StringUtils.isNotEmpty(datum.getCountryCode()) ? datum.getCountryCode() : "CN");
-		stationInfo.setAreaCode(datum.getDistrictsCode());
-		stationInfo.setAddress(datum.getAddress());
-		stationInfo.setStationTel(datum.getPhone());
-		stationInfo.setServiceTel(serviceTel);
-		switch (datum.getSiteType()){
-			case 0:
-				stationInfo.setStationType(StationTypeEnum.OTHER.getType());
-				break;
-			case 1:
-				stationInfo.setStationType(StationTypeEnum.PUBLIC.getType());
-				break;
-			case 2:
-				stationInfo.setStationType(StationTypeEnum.PERSONAGE.getType());
-				break;
-			case 3:
-				stationInfo.setStationType(StationTypeEnum.BUS_SPECIFIC.getType());
-				break;
-			case 4:
-				stationInfo.setStationType(StationTypeEnum.SANITATION_SPECIFIC.getType());
-				break;
-			case 5:
-				stationInfo.setStationType(StationTypeEnum.LOGISTICS_SPECIFIC.getType());
-				break;
-			case 6:
-				stationInfo.setStationType(StationTypeEnum.TEXT_SPECIFIC.getType());
-				break;
-		}
-		if(datum.getStatus() == 1){
-			stationInfo.setStationStatus(StationStatusEnum.NORMAL_USE.getStatus());
-		}
-		if(datum.getStatus() == 2){
-			stationInfo.setStationStatus(StationStatusEnum.MAINTAIN.getStatus());
-		}
-		if(datum.getStatus() == 3){
-			stationInfo.setStationStatus(StationStatusEnum.OFF_LINE.getStatus());
-		}
-		stationInfo.setParkNums(datum.getParkingSpace());
-		stationInfo.setStationLat(new BigDecimal(datum.getLat()).setScale(6, RoundingMode.DOWN));
-		stationInfo.setStationLng(new BigDecimal(datum.getLon()).setScale(6, RoundingMode.DOWN));
-		stationInfo.setConstruction(datum.getConstructionSite() == 0 ? ConstructionEnum.OTHER.getType() : datum.getConstructionSite());
-		stationInfo.setPictures(StringUtils.isNotEmpty(datum.getImgUrl()) ? Arrays.asList(datum.getImgUrl().split(",")) : new ArrayList<>());
-		stationInfo.setSiteGuide(datum.getGuide());
-		stationInfo.setMatchCars(datum.getVehicleDescription());
-		stationInfo.setElectricityFee(datum.getRateDescription());
-		//构建充电设备信息数据
-		stationInfo.setEquipmentInfos(buildEquipmentInfo(datum.getId(), tChargingPiles, chargingGunList));
-		// 推送
-		HttpRequest post = HttpUtil.createPost(url + "supervise_notification_station_info");
-		buildBody(post, stationInfo);
-		HttpResponse execute = post.execute();
-		if(200 != execute.getStatus()){
-			log.error("推送监管平台电站信息失败:" + execute.body());
-			return ;
-		}
-		log.info("推送监管平台电站信息响应:" + execute.body());
-		String data = baseResult.getData();
-		// 转化为json
-		if(!data.contains("0")){
-			log.error("推送监管平台电站信息失败:" + baseResult.getMsg());
-			// 重试
-			for (int i = 1; i <= 3; i++) {
-				try {
-					Thread.sleep(5000);
-					HttpRequest post1 = HttpUtil.createPost(url + "supervise_notification_station_info");
-					buildBody(post1, stationInfo);
-					HttpResponse execute1 = post1.execute();
-					if(200 == execute1.getStatus()){
-						log.info("重试次数:"+i+"推送监管平台电站信息响应:" + execute1.body());
-						BaseResult baseResult2 = JSON.parseObject(execute1.body(), BaseResult.class);
-						String data1 = baseResult2.getData();
-						if (data1.contains("0")){
-							break;
-						}
-					}
-				} catch (InterruptedException e) {
-                    throw new RuntimeException(e);
-                }
-            }
-		}
-	}
-	/**
-	 * 构建请求参数和消息头
-	 * @param post
-	 * @param o
-	 */
-	public static void buildBody(HttpRequest post, Object o){
-		Long timeStamp = Long.valueOf(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
-		post.contentType("application/json;charset=utf-8");
-//		post.header("Authorization", "Bearer " + getToken(operator));
-		BaseRequest baseRequest = new BaseRequest();
-		baseRequest.setOperatorID("906171535");
-		baseRequest.setTimeStamp(timeStamp);
-		baseRequest.setSeq("0001");
-		String jsonString = JacksonUtils.toJson(o);
-		String encrypt = AESUtil.encrypt(jsonString, ourDataSecret, ourDataSecretIv);
-		baseRequest.setData(encrypt);
-		baseRequest.setSig(TCECUtil.ourBuildSign(baseRequest));
-		log.info("监管平台推送参数:" + JacksonUtils.toJson(baseRequest));
-		String request_json = JacksonUtils.toJson(baseRequest);
-		post.body(request_json);
-
-	}
 
 //
 //

--
Gitblit v1.7.1