From ce3b68cce4b030e222448044adf7325d0c897376 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 13 二月 2025 14:02:00 +0800 Subject: [PATCH] 优化功能 --- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java | 132 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 118 insertions(+), 14 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..f931203 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; } @@ -257,7 +271,7 @@ stationInfo.setOperatorID("906171535"); stationInfo.setEquipmentOwnerID("906171535"); stationInfo.setStationName(datum.getName()); - stationInfo.setCountryCode(datum.getCountryCode()); + stationInfo.setCountryCode(StringUtils.isNotEmpty(datum.getCountryCode()) ? datum.getCountryCode() : "CN"); stationInfo.setAreaCode(datum.getDistrictsCode()); stationInfo.setAddress(datum.getAddress()); stationInfo.setStationTel(datum.getPhone()); @@ -379,6 +393,7 @@ //构建设备接口信息 equipmentInfo.setConnectorInfos(buildConnectorInfos(tChargingPile.getId(), tChargingPile.getCode(), chargingGunList)); + equipmentInfo.setPower(tChargingPile.getRatedPower()); equipmentInfos.add(equipmentInfo); } return equipmentInfos; @@ -461,6 +476,9 @@ connectorStatusInfo.setStatus(255); break; } + ConnectorStatusInfo connectorStatusInfo1 = new ConnectorStatusInfo(); + BeanUtils.copyProperties(connectorStatusInfo, connectorStatusInfo1); + connectorStatusInfo.setConnectorStatusInfo(connectorStatusInfo1); List<Operator> operators = operatorClient.getAllOperator().getData(); for (Operator operator : operators) { TCECUtil.notificationStationStatus(operator, connectorStatusInfo); @@ -476,15 +494,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 +558,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 +576,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 +634,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 +649,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 +708,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 +724,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 +753,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 +772,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 +791,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 +849,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 +880,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 +894,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; } //调用充电接口 @@ -851,7 +906,7 @@ addTripartitePlatformOrder.setStartChargeSeq(queryStartCharge.getStartChargeSeq()); addTripartitePlatformOrder.setChargingGunId(tChargingGun.getId()); addTripartitePlatformOrder.setOperatorId(operator.getOperatorId()); - addTripartitePlatformOrder.setPaymentAmount(queryStartCharge.getChargingAmt()); + addTripartitePlatformOrder.setPaymentAmount(null == queryStartCharge.getChargingAmt() ? new BigDecimal(9999) : queryStartCharge.getChargingAmt()); addTripartitePlatformOrder.setRechargePaymentType(0); addTripartitePlatformOrder.setPlateNum(queryStartCharge.getPlateNum()); R order = chargingOrderClient.addTripartitePlatformOrder(addTripartitePlatformOrder); @@ -862,9 +917,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 +929,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 +978,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 +1005,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 +1097,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 +1108,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 +1144,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 +1186,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 +1214,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 +1339,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 +1371,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,34 +1402,43 @@ /** - * 二维码查询抢号(快电) + * 二维码查询枪号(快电) * @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); + TChargingGun chargingGun = chargingGunClient.getChargingGunByFullNumber(substring).getData(); QueryTerminalCodeResult queryTerminalCodeResult = new QueryTerminalCodeResult(); - queryTerminalCodeResult.setTerminalCode(substring); + if(null != chargingGun){ + queryTerminalCodeResult.setTerminalCode(chargingGun.getId().toString()); + } //参数加密 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 +1492,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 +1540,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 +1565,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