From 5e6b9cdb9cdf8c9362491b337a4e15bf1a107125 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 10 二月 2025 11:14:21 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 108 insertions(+), 11 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 f9346b3..11e81bc 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
@@ -32,9 +32,7 @@
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
+import java.util.concurrent.*;
 import java.util.stream.Collectors;
 
 /**
@@ -143,10 +141,13 @@
 	 */
 	@PostMapping("/query_token")
 	public BaseResult queryToken(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
+		log.info("三方平台获取token请求参数:" + JacksonUtils.toJson(baseRequest));
 		BaseResult baseResult = requestCheck(false, baseRequest, request);
 		if(0 != baseResult.getRet()){
+			log.info("三方平台获取token响应Data:");
 			baseResult.setData("");
 			baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
+			log.info("三方平台获取token响应参数:" + JacksonUtils.toJson(baseResult));
 			return baseResult;
 		}
 		QueryTokenResult queryTokenResult = new QueryTokenResult();
@@ -156,23 +157,28 @@
 			queryTokenResult.setFailReason(1);
 			//参数加密
 			String jsonString = JacksonUtils.toJson(queryTokenResult);
+			log.info("三方平台获取token响应Data:" + jsonString);
 			String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
 			baseResult.setData(encrypt);
 			baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
+			log.info("三方平台获取token响应参数:" + JacksonUtils.toJson(baseResult));
 			return baseResult;
 		}
 		
 		//解密参数
 		String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
+		log.info("三方平台获取token请求Data:" + decrypt);
 		QueryToken queryToken = JSON.parseObject(decrypt, QueryToken.class);
 		if(!queryToken.getOperatorSecret().equals(operator.getOurOperatorSecret())){
 			queryTokenResult.setSuccStat(1);
 			queryTokenResult.setFailReason(2);
 			//参数加密
 			String jsonString = JacksonUtils.toJson(queryTokenResult);
+			log.info("三方平台获取token响应Data:" + jsonString);
 			String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
 			baseResult.setData(encrypt);
 			baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
+			log.info("三方平台获取token响应参数:" + JacksonUtils.toJson(baseResult));
 			return baseResult;
 		}
 		
@@ -188,9 +194,11 @@
 		queryTokenResult.setTokenAvailableTime(expires_in * 60);
 		//参数加密
 		String jsonString = JacksonUtils.toJson(queryTokenResult);
+		log.info("三方平台获取token响应Data:" + jsonString);
 		String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
 		baseResult.setData(encrypt);
 		baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
+		log.info("三方平台获取token响应参数:" + JacksonUtils.toJson(baseResult));
 		return baseResult;
 	}
 	
@@ -204,16 +212,20 @@
 	 */
 	@PostMapping("/query_stations_info")
 	public BaseResult queryStationsInfo(@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();
@@ -232,9 +244,11 @@
 		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;
 	}
 	
@@ -476,15 +490,19 @@
 	 */
 	@PostMapping("/query_station_status")
 	public BaseResult queryStationStatus(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
+		log.info("三方平台获取设备接口状态请求参数:" + JacksonUtils.toJson(baseRequest));
 		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);
 		QueryStationStatus queryStationsInfo = JSON.parseObject(decrypt, QueryStationStatus.class);
 		List<Integer> collect = queryStationsInfo.getStationIDs().stream().map(Integer::valueOf).collect(Collectors.toList());
 		List<Site> data = siteClient.getSiteByIds(collect).getData();
@@ -536,9 +554,11 @@
 		result.setStationStatusInfos(StationStatusInfos);
 		//参数加密
 		String jsonString = JacksonUtils.toJson(result);
+		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;
 	}
 	
@@ -552,16 +572,20 @@
 	 */
 	@PostMapping("/query_station_stats")
 	public BaseResult queryStationStats(@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);
 		QueryStationStats queryStationStats = JSON.parseObject(decrypt, QueryStationStats.class);
 		QueryStationStatsResult result = new QueryStationStatsResult();
 		ChargingPercentProvinceDto dto = new ChargingPercentProvinceDto();
@@ -606,9 +630,11 @@
 		result.setStationStats(stationStats);
 		//参数加密
 		String jsonString = JacksonUtils.toJson(result);
+		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;
 	}
 	
@@ -619,22 +645,27 @@
 	 */
 	@PostMapping("/query_equip_auth")
 	public BaseResult queryEquipAuth(@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);
 		QueryEquipAuth queryEquipAuth = JSON.parseObject(decrypt, QueryEquipAuth.class);
 		String connectorID = queryEquipAuth.getConnectorID();
 		TChargingGun tChargingGun = chargingGunClient.getChargingGunById(Integer.valueOf(connectorID)).getData();
 		if(null == tChargingGun){
 			baseResult.setRet(4004);
 			baseResult.setMsg("connectorID 参数无效");
+			log.info("三方平台设备认证响应参数:" + JacksonUtils.toJson(baseResult));
 			return baseResult;
 		}
 		QueryEquipAuthResult queryEquipAuthResult = new QueryEquipAuthResult();
@@ -673,9 +704,11 @@
 		}
 		//参数加密
 		String jsonString = JacksonUtils.toJson(queryEquipAuthResult);
+		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;
 	}
 	
@@ -687,16 +720,20 @@
 	 */
 	@PostMapping("/query_equip_business_policy")
 	public BaseResult queryEquipBusinessPolicy(@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);
 		QueryEquipBusinessPolicy queryEquipBusinessPolicy = JSON.parseObject(decrypt, QueryEquipBusinessPolicy.class);
 		
 		//构建返回结果
@@ -712,9 +749,11 @@
 			baseResult.setMsg("connectorID 参数无效");
 			//参数加密
 			String jsonString = JacksonUtils.toJson(queryEquipBusinessPolicyResult);
+			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;
 		}
 		Integer accountingStrategyId = tChargingGun.getAccountingStrategyId();
@@ -729,9 +768,11 @@
 			queryEquipBusinessPolicyResult.setSumPeriod(0);
 			//参数加密
 			String jsonString = JacksonUtils.toJson(queryEquipBusinessPolicyResult);
+			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;
 		}
 		List<PolicyInfo> PolicyInfos = new ArrayList<>();
@@ -746,9 +787,11 @@
 		queryEquipBusinessPolicyResult.setPolicyInfos(PolicyInfos);
 		//参数加密
 		String jsonString = JacksonUtils.toJson(queryEquipBusinessPolicyResult);
+		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;
 	}
 	
@@ -802,16 +845,20 @@
 	 */
 	@PostMapping("/query_start_charge")
 	public BaseResult queryStartCharge(@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);
 		QueryStartCharge queryStartCharge = JSON.parseObject(decrypt, QueryStartCharge.class);
 		
 		//构建返回结果
@@ -829,9 +876,11 @@
 			result.setStartChargeSeqStat(5);
 			//参数加密
 			String jsonString = JacksonUtils.toJson(result);
+			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;
 		}
 		//设备离线
@@ -841,9 +890,11 @@
 			result.setStartChargeSeqStat(5);
 			//参数加密
 			String jsonString = JacksonUtils.toJson(result);
+			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;
 		}
 		//调用充电接口
@@ -862,9 +913,11 @@
 			result.setStartChargeSeqStat(2);
 			//参数加密
 			String jsonString = JacksonUtils.toJson(result);
+			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;
 		}
 		result.setStartChargeSeqStat(1);
@@ -872,9 +925,11 @@
 		result.setFailReason(0);
 		//参数加密
 		String jsonString = JacksonUtils.toJson(result);
+		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;
 	}
 	
@@ -919,6 +974,22 @@
 				}
 			});
 		}
+
+		//定义定时任务推送订单状态
+		ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
+		Runnable task = new Runnable() {
+			@Override
+			public void run() {
+				TChargingOrder chargingOrder = chargingOrderClient.getChargingOrderByStartChargeSeq(result.getStartChargeSeq()).getData();
+				if(null == chargingOrder || chargingOrder.getStatus() != 3){
+					scheduler.shutdown();
+					return;
+				}
+				notificationEquipChargeStatus(result.getStartChargeSeq(), operator.getId());
+			}
+		};
+		//一分钟执行一次
+		scheduler.scheduleAtFixedRate(task, 1, 1, TimeUnit.MINUTES);
 		return R.ok();
 	}
 	
@@ -930,24 +1001,30 @@
 	 */
 	@PostMapping("/query_equip_charge_status")
 	public BaseResult queryEquipChargeStatus(@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);
 		QueryEquipChargeStatus queryEquipChargeStatus = JSON.parseObject(decrypt, QueryEquipChargeStatus.class);
 		//校验token和签名
 		QueryEquipChargeStatusResult queryEquipChargeStatusResult = buildQueryEquipChargeStatusResult(queryEquipChargeStatus.getStartChargeSeq());
 		//参数加密
 		String jsonString = JacksonUtils.toJson(queryEquipChargeStatusResult);
+		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;
 	}
 	
@@ -1016,7 +1093,7 @@
 		queryEquipChargeStatusResult.setVoltageA(chargingOrder.getVoltage());
 		queryEquipChargeStatusResult.setSoc(chargingOrder.getTotalElectricity());
 		queryEquipChargeStatusResult.setStartTime((null == chargingOrder.getStartTime() ? chargingOrder.getCreateTime() : chargingOrder.getStartTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-		queryEquipChargeStatusResult.setEndTime((null == chargingOrder.getStartTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+		queryEquipChargeStatusResult.setEndTime((null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
 		queryEquipChargeStatusResult.setTotalPower(chargingOrder.getElectricity());
 		queryEquipChargeStatusResult.setElecMoney(chargingOrder.getTotalElectricity());
 		queryEquipChargeStatusResult.setSeviceMoney(chargingOrder.getServiceCharge());
@@ -1027,7 +1104,7 @@
 		List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData();
 		
 		LocalDateTime startTime = chargingOrder.getStartTime();
-		LocalDateTime endTime = chargingOrder.getEndTime();
+		LocalDateTime endTime = null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime();
 		String s_format = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
 		String e_format = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
 		for (TChargingOrderAccountingStrategy datum : data) {
@@ -1063,7 +1140,7 @@
 	 * @return
 	 */
 	@PostMapping("/notificationEquipChargeStatus")
-	public R notificationEquipChargeStatus(@RequestParam("startChargeSeq") String startChargeSeq, @RequestParam("operatorId") Integer operatorId){
+	public R notificationEquipChargeStatus(@RequestParam(value = "startChargeSeq") String startChargeSeq, @RequestParam(value = "operatorId") Integer operatorId){
 		QueryEquipChargeStatusResult queryEquipChargeStatusResult = buildQueryEquipChargeStatusResult(startChargeSeq);
 		Operator operator = operatorClient.getOperatorById(operatorId).getData();
 		NotificationEquipChargeStatusResult notificationEquipChargeStatusResult = TCECUtil.notificationEquipChargeStatus(operator, queryEquipChargeStatusResult);
@@ -1105,16 +1182,20 @@
 	 */
 	@PostMapping("/query_stop_charge")
 	public BaseResult queryStopCharge(@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);
 		QueryStopCharge queryStopCharge = JSON.parseObject(decrypt, QueryStopCharge.class);
 		QueryStopChargeResult queryStopChargeResult = new QueryStopChargeResult();
 		queryStopChargeResult.setStartChargeSeq(queryStopCharge.getStartChargeSeq());
@@ -1129,16 +1210,20 @@
 			queryStopChargeResult.setFailReason(3);
 			//参数加密
 			String jsonString = JacksonUtils.toJson(queryStopChargeResult);
+			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;
 		}
 		//参数加密
 		String jsonString = JacksonUtils.toJson(queryStopChargeResult);
+		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;
 	}
 	
@@ -1250,7 +1335,7 @@
 		}
 		notificationChargeOrderInfo.setConnectorID(chargingOrder.getChargingGunId().toString());
 		notificationChargeOrderInfo.setStartTime((null == chargingOrder.getStartTime() ? chargingOrder.getCreateTime() : chargingOrder.getStartTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-		notificationChargeOrderInfo.setEndTime((null == chargingOrder.getStartTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+		notificationChargeOrderInfo.setEndTime((null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
 		notificationChargeOrderInfo.setTotalPower(chargingOrder.getElectricity());
 		notificationChargeOrderInfo.setTotalElecMoney(chargingOrder.getTotalElectricity());
 		notificationChargeOrderInfo.setTotalSeviceMoney(chargingOrder.getServiceCharge());
@@ -1282,7 +1367,7 @@
 		List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData();
 		
 		LocalDateTime startTime = chargingOrder.getStartTime();
-		LocalDateTime endTime = chargingOrder.getEndTime();
+		LocalDateTime endTime = null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime();
 		String s_format = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
 		String e_format = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
 		for (TChargingOrderAccountingStrategy datum : data) {
@@ -1313,23 +1398,27 @@
 	
 	
 	/**
-	 * 二维码查询抢号(快电)
+	 * 二维码查询枪号(快电)
 	 * @param baseRequest
 	 * @param request
 	 * @return
 	 */
 	@PostMapping("/query_terminal_code")
 	public BaseResult queryTerminalCode(@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);
 		QueryTerminalCode queryTerminalCode = JSON.parseObject(decrypt, QueryTerminalCode.class);
 		String qrCode = queryTerminalCode.getQRCode();
 		String substring = qrCode.substring(qrCode.indexOf("=") + 1);
@@ -1338,9 +1427,11 @@
 		
 		//参数加密
 		String jsonString = JacksonUtils.toJson(queryTerminalCodeResult);
+		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;
 	}
 	
@@ -1394,24 +1485,30 @@
 	 */
 	@PostMapping("/query_charge_order_info")
 	public BaseResult queryChargeOrderInfo(@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);
 		QueryChargeOrderInfo queryChargeOrderInfo = JSON.parseObject(decrypt, QueryChargeOrderInfo.class);
 		//构建返回结果
 		QueryChargeOrderInfoResult result = buildQueryChargeOrderInfoResult(queryChargeOrderInfo);
 		//参数加密
 		String jsonString = JacksonUtils.toJson(result);
+		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;
 	}
 	
@@ -1436,7 +1533,7 @@
 			orderInfo.setStartChargeSeq(chargingOrder.getStartChargeSeq());
 			orderInfo.setConnectorID(chargingOrder.getChargingGunId().toString());
 			orderInfo.setStartTime((null == chargingOrder.getStartTime() ? chargingOrder.getCreateTime() : chargingOrder.getStartTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-			orderInfo.setEndTime((null == chargingOrder.getStartTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+			orderInfo.setEndTime((null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
 			orderInfo.setTotalPower(chargingOrder.getTotalElectricity());
 			orderInfo.setTotalElecMoney(chargingOrder.getElectrovalence());
 			orderInfo.setTotalSeviceMoney(chargingOrder.getServiceCharge());
@@ -1461,7 +1558,7 @@
 			List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData();
 			
 			LocalDateTime startTime = chargingOrder.getStartTime();
-			LocalDateTime endTime = chargingOrder.getEndTime();
+			LocalDateTime endTime = null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime();
 			String s_format = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
 			String e_format = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
 			for (TChargingOrderAccountingStrategy datum : data) {

--
Gitblit v1.7.1