From eaf85b386cf8103755a529b33d8dcc24eeff8f73 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期日, 16 三月 2025 12:58:57 +0800
Subject: [PATCH] 监管平台

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java |  234 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 176 insertions(+), 58 deletions(-)

diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
index 5484a0c..5f4ca19 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
@@ -276,6 +276,45 @@
 		List<StationInfo> StationInfos = new ArrayList<>();
 		for (Site datum : sites) {
 			StationInfo stationInfo = new StationInfo();
+			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");
@@ -324,7 +363,7 @@
 			stationInfo.setPictures(StringUtils.isNotEmpty(datum.getImgUrl()) ? Arrays.asList(datum.getImgUrl().split(",")) : new ArrayList<>());
 			stationInfo.setSiteGuide(datum.getGuide());
 			stationInfo.setMatchCars(datum.getVehicleDescription());
-			stationInfo.setBusineHours(datum.getStartServiceTime() + "-" + datum.getEndServiceTime());
+//			stationInfo.setBusineHours(datum.getStartServiceTime() + "-" + datum.getEndServiceTime());
 			stationInfo.setElectricityFee(datum.getRateDescription());
 			//添加停车费信息
 			Optional<TParkingLot> first = parkingLots.stream().filter(s -> s.getSiteId().equals(datum.getId())).findFirst();
@@ -332,7 +371,6 @@
 				TParkingLot tParkingLot = first.get();
 				buildPlaceHolder(tParkingLot, stationInfo);
 			}
-			
 			//构建充电设备信息数据
 			stationInfo.setEquipmentInfos(buildEquipmentInfo(datum.getId(), tChargingPiles, chargingGunList));
 			StationInfos.add(stationInfo);
@@ -379,6 +417,8 @@
 			equipmentInfo.setManufacturerID(tChargingPile.getManufacturerCode());
 			equipmentInfo.setManufacturerName(tChargingPile.getManufacturer());
 			equipmentInfo.setEquipmentModel(tChargingPile.getEquipmentType());
+			equipmentInfo.setEquipmentUniqueNumber(tChargingPile.getEquipmentUniqueNumber());
+			equipmentInfo.setEquipmentClassification(tChargingPile.getEquipmentClassification());
 			if(null != tChargingPile.getProductionDate()){
 				equipmentInfo.setProductionDate(tChargingPile.getProductionDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
 			}
@@ -397,6 +437,12 @@
 					break;
 				case 4:
 					equipmentInfo.setEquipmentType(EquipmentTypeEnum.WIRELESS_DEVICE.getType());
+					break;
+				case 5:
+					equipmentInfo.setEquipmentType(EquipmentTypeEnum.ORDER.getType());
+					break;
+				case 6:
+					equipmentInfo.setEquipmentType(EquipmentTypeEnum.V2G.getType());
 					break;
 			}
 			
@@ -421,6 +467,14 @@
 			ConnectorInfo connectorInfo = new ConnectorInfo();
 			connectorInfo.setConnectorID(chargingGun.getFullNumber());
 			connectorInfo.setConnectorName(chargingGun.getName());
+			connectorInfo.setEquipmentClassification(chargingGun.getEquipmentClassification());
+			connectorInfo.setConstantVoltageLowerLimits(chargingGun.getConstantVoltageLowerLimits());
+			connectorInfo.setConstantVoltageUpperLimits(chargingGun.getConstantVoltageUpperLimits());
+			connectorInfo.setConstantCurrentLowerLimits(chargingGun.getConstantCurrentLowerLimits());
+			connectorInfo.setConstantCurrentUpperLimits(chargingGun.getConstantCurrentUpperLimits());
+			connectorInfo.setAuxPower(chargingGun.getAuxPower());
+			connectorInfo.setOpreateStatus(chargingGun.getOpreateStatus());
+			connectorInfo.setOpreateHours(chargingGun.getOpreateHours());
 			switch (chargingGun.getType()){
 				case 0:
 					connectorInfo.setConnectorType(ConnectorTypeEnum.OTHER.getType());
@@ -441,8 +495,6 @@
 					connectorInfo.setConnectorType(ConnectorTypeEnum.WIRELESS_CHARGING_STAND.getType());
 					break;
 			}
-			connectorInfo.setVoltageUpperLimits(chargingGun.getUpperRatedVoltage().intValue());
-			connectorInfo.setVoltageLowerLimits(chargingGun.getLowerLimitOfRatedVoltage().intValue());
 			connectorInfo.setCurrent(chargingGun.getRatedCurrent().intValue());
 			connectorInfo.setPower(chargingGun.getRatedPower());
 			connectorInfo.setParkNo(chargingGun.getParkingNumber());
@@ -1637,8 +1689,6 @@
 	
 	
 	/*********************数据监管平台接口*********************/
-	
-	
 	/**
 	 * 查询运营商信息
 	 * @param baseRequest
@@ -1671,14 +1721,22 @@
 			pageSize = 50;
 		}
 		String operatorTel = systemConfigurationClient.getServerPhone().getData();
+		SuperviseQueryOperatorInfoResultPage superviseQueryOperatorInfoResultPage = new SuperviseQueryOperatorInfoResultPage();
+		superviseQueryOperatorInfoResultPage.setPageNo(1);
+		superviseQueryOperatorInfoResultPage.setPageCount(1);
+		superviseQueryOperatorInfoResultPage.setItemSize(1);
+
 		SuperviseQueryOperatorInfoResult superviseQueryOperatorInfoResult = new SuperviseQueryOperatorInfoResult();
 		superviseQueryOperatorInfoResult.setOperatorID("906171535");
 		superviseQueryOperatorInfoResult.setOperatorUSCID("91510903906171535D");
 		superviseQueryOperatorInfoResult.setOperatorName("四川明星新能源科技有限公司");
 		superviseQueryOperatorInfoResult.setOperatorTel1(operatorTel);
-		
+		List<SuperviseQueryOperatorInfoResult> superviseQueryOperatorInfoResults = new ArrayList<>();
+		superviseQueryOperatorInfoResults.add(superviseQueryOperatorInfoResult);
+		// 将superviseQueryOperatorInfoResults转化为json数组
+		superviseQueryOperatorInfoResultPage.setOperatorInfos(superviseQueryOperatorInfoResults);
+		String jsonString = JacksonUtils.toJson(superviseQueryOperatorInfoResultPage);
 		//参数加密
-		String jsonString = JacksonUtils.toJson(superviseQueryOperatorInfoResult);
 		log.info("监管平台查询充电站信息响应Data:" + jsonString);
 		String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
 		baseResult.setData(encrypt);
@@ -1686,57 +1744,117 @@
 		log.info("监管平台查询充电站信息响应参数:" + JacksonUtils.toJson(baseResult));
 		return baseResult;
 	}
+
+
 	
-	
-	
-//	/**
-//	 * 查询充电站信息
-//	 * @param baseRequest
-//	 * @param request
-//	 * @return
-//	 */
-//	@PostMapping("/supervise_query_stations_info")
-//	public BaseResult superviseQueryStationsInfo(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
-//		log.info("监管平台查询充电站信息请求参数:" + JacksonUtils.toJson(baseRequest));
-//		//校验token和签名
-//		BaseResult baseResult = requestCheck(true, baseRequest, request);
-//		if(0 != baseResult.getRet()){
-//			log.info("监管平台查询充电站信息响应Data:");
-//			baseResult.setData("");
-//			baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
-//			log.info("监管平台查询充电站信息响应参数:" + JacksonUtils.toJson(baseResult));
-//			return baseResult;
-//		}
-//		Operator operator = baseResult.getOperator();
-//		//解密参数
-//		String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
-//		log.info("监管平台查询充电站信息请求Data:" + decrypt);
-//		QueryStationsInfo queryStationsInfo = JSON.parseObject(decrypt, QueryStationsInfo.class);
-//		Integer pageNo = queryStationsInfo.getPageNo();
-//		Integer pageSize = queryStationsInfo.getPageSize();
-//		List<String> stationIDs = queryStationsInfo.getStationIDs();
-//		if(null == pageNo){
-//			pageNo = 1;
-//		}
-//		if(null == pageSize){
-//			pageSize = 50;
-//		}
-//		PageInfo<Site> siteListPaging = siteClient.getSiteListPaging(pageNo, pageSize, stationIDs);
-//		List<TParkingLot> parkingLots = parkingLotClient.getAllParkingLot().getData();
-//		QueryStationsInfoResult queryStationsInfoResult = new QueryStationsInfoResult();
-//		queryStationsInfoResult.setPageNo(pageNo);
-//		queryStationsInfoResult.setPageCount((0 == (siteListPaging.getTotal() % pageSize) ? 0 : 1) + Double.valueOf(siteListPaging.getTotal() / pageSize).intValue());
-//		queryStationsInfoResult.setItemSize(Long.valueOf(siteListPaging.getTotal()).intValue());
-//		queryStationsInfoResult.setStationInfos(superviseBuildSite(parkingLots, siteListPaging.getRecords()));
-//		//参数加密
-//		String jsonString = JacksonUtils.toJson(queryStationsInfoResult);
-//		log.info("监管平台查询充电站信息响应Data:" + jsonString);
-//		String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
-//		baseResult.setData(encrypt);
-//		baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
-//		log.info("监管平台查询充电站信息响应参数:" + JacksonUtils.toJson(baseResult));
-//		return baseResult;
-//	}
+	/**
+	 * 查询充电站信息
+	 * @param baseRequest
+	 * @param request
+	 * @return
+	 */
+	@PostMapping("/supervise_query_stations_info")
+	public BaseResult superviseQueryStationsInfo(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
+		log.info("监管平台查询充电站信息请求参数:" + JacksonUtils.toJson(baseRequest));
+		//校验token和签名
+		BaseResult baseResult = requestCheck(true, baseRequest, request);
+		if(0 != baseResult.getRet()){
+			log.info("监管平台查询充电站信息响应Data:");
+			baseResult.setData("");
+			baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
+			log.info("监管平台查询充电站信息响应参数:" + JacksonUtils.toJson(baseResult));
+			return baseResult;
+		}
+		Operator operator = baseResult.getOperator();
+		//解密参数
+		String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
+		log.info("监管平台查询充电站信息请求Data:" + decrypt);
+		QueryStationsInfo queryStationsInfo = JSON.parseObject(decrypt, QueryStationsInfo.class);
+		Integer pageNo = queryStationsInfo.getPageNo();
+		Integer pageSize = queryStationsInfo.getPageSize();
+		List<String> stationIDs = queryStationsInfo.getStationIDs();
+		if(null == pageNo){
+			pageNo = 1;
+		}
+		if(null == pageSize){
+			pageSize = 50;
+		}
+		PageInfo<Site> siteListPaging = siteClient.getSiteListPaging(pageNo, pageSize, stationIDs);
+		List<TParkingLot> parkingLots = parkingLotClient.getAllParkingLot().getData();
+		QueryStationsInfoResult queryStationsInfoResult = new QueryStationsInfoResult();
+		queryStationsInfoResult.setPageNo(pageNo);
+		queryStationsInfoResult.setPageCount((0 == (siteListPaging.getTotal() % pageSize) ? 0 : 1) + Double.valueOf(siteListPaging.getTotal() / pageSize).intValue());
+		queryStationsInfoResult.setItemSize(Long.valueOf(siteListPaging.getTotal()).intValue());
+		queryStationsInfoResult.setStationInfos(buildSite(parkingLots, siteListPaging.getRecords()));
+		//参数加密
+		String jsonString = JacksonUtils.toJson(queryStationsInfoResult);
+		log.info("监管平台查询充电站信息响应Data:" + jsonString);
+		String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
+		baseResult.setData(encrypt);
+		baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
+		log.info("监管平台查询充电站信息响应参数:" + JacksonUtils.toJson(baseResult));
+		return baseResult;
+	}
+	/**
+	 * 查询充电站信息
+	 * @param baseRequest
+	 * @param request
+	 * @return
+	 */
+	@PostMapping("/supervise_notification_operation_stats_info")
+	public BaseResult superviseNotificationOperationStatsInfo(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
+		log.info("监管平台查询充电站信息请求参数:" + JacksonUtils.toJson(baseRequest));
+		//校验token和签名
+		BaseResult baseResult = requestCheck(true, baseRequest, request);
+		if(0 != baseResult.getRet()){
+			log.info("监管平台查询充电站信息响应Data:");
+			baseResult.setData("");
+			baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
+			log.info("监管平台查询充电站信息响应参数:" + JacksonUtils.toJson(baseResult));
+			return baseResult;
+		}
+		Operator operator = baseResult.getOperator();
+		//解密参数
+		String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
+		log.info("监管平台查询充电站信息请求Data:" + decrypt);
+		QueryStationsInfo queryStationsInfo = JSON.parseObject(decrypt, QueryStationsInfo.class);
+		Integer pageNo = queryStationsInfo.getPageNo();
+		Integer pageSize = queryStationsInfo.getPageSize();
+		List<String> stationIDs = queryStationsInfo.getStationIDs();
+		if(null == pageNo){
+			pageNo = 1;
+		}
+		if(null == pageSize){
+			pageSize = 50;
+		}
+		PageInfo<Site> siteListPaging = siteClient.getSiteListPaging(pageNo, pageSize, stationIDs);
+		List<TParkingLot> parkingLots = parkingLotClient.getAllParkingLot().getData();
+		QueryStationsInfoResult queryStationsInfoResult = new QueryStationsInfoResult();
+		queryStationsInfoResult.setPageNo(pageNo);
+		queryStationsInfoResult.setPageCount((0 == (siteListPaging.getTotal() % pageSize) ? 0 : 1) + Double.valueOf(siteListPaging.getTotal() / pageSize).intValue());
+		queryStationsInfoResult.setItemSize(Long.valueOf(siteListPaging.getTotal()).intValue());
+		queryStationsInfoResult.setStationInfos(buildSite(parkingLots, siteListPaging.getRecords()));
+		//参数加密
+		String jsonString = JacksonUtils.toJson(queryStationsInfoResult);
+		log.info("监管平台查询充电站信息响应Data:" + jsonString);
+		String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
+		baseResult.setData(encrypt);
+		baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
+		log.info("监管平台查询充电站信息响应参数:" + JacksonUtils.toJson(baseResult));
+		return baseResult;
+	}
+
+	/**
+	 * 推送充换电站信息
+	 * @param site
+	 * @return
+	 */
+	@PostMapping("/supervise_notification_station_info")
+	public BaseResult superviseNotificationStationInfo(@RequestBody Site site){
+		BaseResult baseResult = new BaseResult();
+
+		return baseResult;
+	}
 //
 //
 //	/**

--
Gitblit v1.7.1