Explorar o código

互联互通对接调试:添加ConnectorID转换,类名称修改等

skyline hai 1 ano
pai
achega
481256b822
Modificáronse 34 ficheiros con 109 adicións e 163 borrados
  1. 1 1
      common/src/main/java/com/kym/common/handler/ResponseResultHandler.java
  2. 0 4
      entity/src/main/java/com/kym/entity/admin/vo/LocalStationVo.java
  3. 3 3
      entity/src/main/java/com/kym/entity/admin/vo/StationVo.java
  4. 2 2
      entity/src/main/java/com/kym/entity/platform/PlatformChargeDetails.java
  5. 2 2
      entity/src/main/java/com/kym/entity/platform/PlatformChargeOrder.java
  6. 3 3
      entity/src/main/java/com/kym/entity/platform/PlatformCheckOrderSeq.java
  7. 2 3
      entity/src/main/java/com/kym/entity/platform/PlatformConnectorInfo.java
  8. 2 2
      entity/src/main/java/com/kym/entity/platform/PlatformConnectorStatsInfo.java
  9. 2 2
      entity/src/main/java/com/kym/entity/platform/PlatformConnectorStatusInfo.java
  10. 7 7
      entity/src/main/java/com/kym/entity/platform/PlatformEquipmentInfo.java
  11. 3 4
      entity/src/main/java/com/kym/entity/platform/PlatformEquipmentStatsInfo.java
  12. 3 3
      entity/src/main/java/com/kym/entity/platform/PlatformNotificationChargeOrderInfo.java
  13. 3 3
      entity/src/main/java/com/kym/entity/platform/PlatformNotificationEquipChargeStatus.java
  14. 2 2
      entity/src/main/java/com/kym/entity/platform/PlatformNotificationStartChargeResult.java
  15. 2 2
      entity/src/main/java/com/kym/entity/platform/PlatformNotificationStopChargeResult.java
  16. 3 3
      entity/src/main/java/com/kym/entity/platform/PlatformPolicyInfo.java
  17. 2 2
      entity/src/main/java/com/kym/entity/platform/PlatformRespQueryToken.java
  18. 3 3
      entity/src/main/java/com/kym/entity/platform/PlatformStationInfo.java
  19. 3 3
      entity/src/main/java/com/kym/entity/platform/PlatformStationStatsInfo.java
  20. 5 5
      entity/src/main/java/com/kym/entity/platform/PlatformStationStatusInfo.java
  21. 8 8
      entity/src/main/java/com/kym/entity/platform/response/PlatformBusinessPolicy.java
  22. 1 1
      entity/src/main/java/com/kym/entity/platform/response/PlatformResponse.java
  23. 1 22
      miniapp/src/main/resources/application-dev.yml
  24. 1 22
      miniapp/src/main/resources/application-prod.yml
  25. 4 4
      service/src/main/java/com/kym/service/admin/StationService.java
  26. 8 8
      service/src/main/java/com/kym/service/admin/impl/StationServiceImpl.java
  27. 2 3
      service/src/main/java/com/kym/service/miniapp/ChargeService.java
  28. 0 1
      service/src/main/java/com/kym/service/miniapp/CollectService.java
  29. 3 4
      service/src/main/java/com/kym/service/miniapp/impl/ChargeServiceImpl.java
  30. 0 1
      service/src/main/java/com/kym/service/miniapp/impl/CollectServiceImpl.java
  31. 1 1
      service/src/main/java/com/kym/service/platform/PlatformApiService.java
  32. 1 1
      service/src/main/java/com/kym/service/platform/PlatformNotifyService.java
  33. 7 8
      service/src/main/java/com/kym/service/platform/impl/PlatformApiServiceImpl.java
  34. 19 20
      service/src/main/java/com/kym/service/platform/impl/PlatformNotifySServiceImpl.java

+ 1 - 1
common/src/main/java/com/kym/common/handler/ResponseResultHandler.java

@@ -1,7 +1,7 @@
 package com.kym.common.handler;
 
 import com.kym.common.R;
-import com.kym.entity.enplus.response.PlatformResponse;
+import com.kym.entity.platform.response.PlatformResponse;
 import org.springframework.core.MethodParameter;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;

+ 0 - 4
entity/src/main/java/com/kym/entity/admin/vo/LocalStationVo.java

@@ -1,15 +1,11 @@
 package com.kym.entity.admin.vo;
 
-import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
-import com.alibaba.fastjson2.annotation.JSONCreator;
-import com.alibaba.fastjson2.annotation.JSONField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import com.kym.entity.BaseEntity;
 import com.kym.entity.admin.Activity;
 import com.kym.entity.admin.EquipmentInfo;
-import com.kym.entity.enplus.EnEquipmentInfo;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;

+ 3 - 3
entity/src/main/java/com/kym/entity/admin/vo/StationVo.java

@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import com.kym.entity.BaseEntity;
 import com.kym.entity.admin.Activity;
-import com.kym.entity.enplus.EnEquipmentInfo;
+import com.kym.entity.platform.PlatformEquipmentInfo;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
@@ -190,7 +190,7 @@ public class StationVo extends BaseEntity implements Serializable {
      * 充电设备信息列表
      */
     @TableField(exist = false)
-    private List<EnEquipmentInfo> equipmentInfos;
+    private List<PlatformEquipmentInfo> equipmentInfos;
     /**
      * 站点活动
      */
@@ -200,6 +200,6 @@ public class StationVo extends BaseEntity implements Serializable {
     @JSONCreator
     public StationVo(@JSONField(name = "StationLng") Double lng, @JSONField(name = "StationLat") Double lat, @JSONField(name = "EquipmentInfos") JSONArray array) {
         this.location = JSONObject.of("stationLng", lng, "stationLat", lat);
-        this.equipmentInfos = array.toJavaList(EnEquipmentInfo.class);
+        this.equipmentInfos = array.toJavaList(PlatformEquipmentInfo.class);
     }
 }

+ 2 - 2
entity/src/main/java/com/kym/entity/enplus/EnChargeDetails.java → entity/src/main/java/com/kym/entity/platform/PlatformChargeDetails.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import lombok.Data;
 
@@ -10,7 +10,7 @@ import java.math.BigDecimal;
  * @date 2023-08-03 16:32
  */
 @Data
-public class EnChargeDetails {
+public class PlatformChargeDetails {
     private String DetailStartTime;
     private String DetailEndTime;
     /**

+ 2 - 2
entity/src/main/java/com/kym/entity/enplus/EnChargeOrder.java → entity/src/main/java/com/kym/entity/platform/PlatformChargeOrder.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import lombok.Data;
 
@@ -10,7 +10,7 @@ import java.math.BigDecimal;
  * @date 2023-08-04 10:29
  */
 @Data
-public class EnChargeOrder {
+public class PlatformChargeOrder {
     /**
      * 充电订单号
      */

+ 3 - 3
entity/src/main/java/com/kym/entity/enplus/EnCheckOrderSeq.java → entity/src/main/java/com/kym/entity/platform/PlatformCheckOrderSeq.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import lombok.Data;
 
@@ -11,7 +11,7 @@ import java.util.List;
  * @date 2023-08-04 10:25
  */
 @Data
-public class EnCheckOrderSeq {
+public class PlatformCheckOrderSeq {
 
     private String CheckOrderSeq;
     private String StartTime;
@@ -28,6 +28,6 @@ public class EnCheckOrderSeq {
      * 总金额
      */
     private BigDecimal TotalOrderMoney;
-    private List<EnChargeOrder> ChargeOrders;
+    private List<PlatformChargeOrder> ChargeOrders;
 
 }

+ 2 - 3
entity/src/main/java/com/kym/entity/enplus/EnConnectorInfo.java → entity/src/main/java/com/kym/entity/platform/PlatformConnectorInfo.java

@@ -1,7 +1,6 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import com.alibaba.fastjson2.annotation.JSONField;
-import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 
 /**
@@ -10,7 +9,7 @@ import lombok.Data;
  * @date 2023-07-31 15:30
  */
 @Data
-public class EnConnectorInfo {
+public class PlatformConnectorInfo {
     /**
      * 充电设备接口编码
      */

+ 2 - 2
entity/src/main/java/com/kym/entity/enplus/EnConnectorStatsInfo.java → entity/src/main/java/com/kym/entity/platform/PlatformConnectorStatsInfo.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import com.alibaba.fastjson2.annotation.JSONField;
 import lombok.Data;
@@ -11,7 +11,7 @@ import java.math.BigDecimal;
  * @date 2023-07-31 16:15
  */
 @Data
-public class EnConnectorStatsInfo {
+public class PlatformConnectorStatsInfo {
 
     /**
      * 充电设备接口编码

+ 2 - 2
entity/src/main/java/com/kym/entity/enplus/EnConnectorStatusInfo.java → entity/src/main/java/com/kym/entity/platform/PlatformConnectorStatusInfo.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import com.alibaba.fastjson2.annotation.JSONField;
 import lombok.Data;
@@ -9,7 +9,7 @@ import lombok.Data;
  * @date 2023-07-31 15:40
  */
 @Data
-public class EnConnectorStatusInfo {
+public class PlatformConnectorStatusInfo {
     /**
      * 充电设备接口编码
      */

+ 7 - 7
entity/src/main/java/com/kym/entity/enplus/EnEquipmentInfo.java → entity/src/main/java/com/kym/entity/platform/PlatformEquipmentInfo.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
@@ -16,7 +16,7 @@ import java.util.List;
  */
 @Data
 @Accessors(chain = true)
-public class EnEquipmentInfo {
+public class PlatformEquipmentInfo {
 
     /**
      * 设备编码
@@ -72,7 +72,7 @@ public class EnEquipmentInfo {
     /**
      * 充电设备接口信息列表
      */
-    private List<EnConnectorInfo> connectorInfos;
+    private List<PlatformConnectorInfo> connectorInfos;
 
     /**
      * 充电桩坐标
@@ -86,10 +86,10 @@ public class EnEquipmentInfo {
     private Double power;
 
     @JSONCreator
-    public EnEquipmentInfo(@JSONField(name = "ConnectorInfos") JSONArray array,
-                           @JSONField(name = "EquipmentLng") float equipmentLng,
-                           @JSONField(name = "EquipmentLat") float equipmentLat) {
-        this.connectorInfos = array.toJavaList(EnConnectorInfo.class);
+    public PlatformEquipmentInfo(@JSONField(name = "ConnectorInfos") JSONArray array,
+                                 @JSONField(name = "EquipmentLng") float equipmentLng,
+                                 @JSONField(name = "EquipmentLat") float equipmentLat) {
+        this.connectorInfos = array.toJavaList(PlatformConnectorInfo.class);
         this.location = JSONObject.of("equipmentLng", equipmentLng, "equipmentLat", equipmentLat);
     }
 

+ 3 - 4
entity/src/main/java/com/kym/entity/enplus/EnEquipmentStatsInfo.java → entity/src/main/java/com/kym/entity/platform/PlatformEquipmentStatsInfo.java

@@ -1,9 +1,8 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import com.alibaba.fastjson2.annotation.JSONField;
 import lombok.Data;
 
-import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -12,7 +11,7 @@ import java.util.List;
  * @date 2023-07-31 16:10
  */
 @Data
-public class EnEquipmentStatsInfo {
+public class PlatformEquipmentStatsInfo {
     /**
      * 设备编码
      * 设备唯一编码,对同一运营商,保证唯一
@@ -25,6 +24,6 @@ public class EnEquipmentStatsInfo {
     @JSONField(name = "equipmentElectricity")
     private Double EquipmentElectricity;
     @JSONField(name = "ConnectorStatsInfos")
-    private List<EnConnectorStatsInfo> connectorStatsInfos;
+    private List<PlatformConnectorStatsInfo> connectorStatsInfos;
 
 }

+ 3 - 3
entity/src/main/java/com/kym/entity/enplus/EnNotificationChargeOrderInfo.java → entity/src/main/java/com/kym/entity/platform/PlatformNotificationChargeOrderInfo.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import lombok.Data;
 
@@ -11,7 +11,7 @@ import java.util.List;
  * @date 2023-08-04 10:12
  */
 @Data
-public class EnNotificationChargeOrderInfo {
+public class PlatformNotificationChargeOrderInfo {
     private String StartChargeSeq;
     private String ConnectorID;
     private String StartTime;
@@ -47,7 +47,7 @@ public class EnNotificationChargeOrderInfo {
      * 时段数N 范围0~32
      */
     private int SumPeriod;
-    private List<EnChargeDetails> ChargeDetails;
+    private List<PlatformChargeDetails> ChargeDetails;
 
 
 }

+ 3 - 3
entity/src/main/java/com/kym/entity/enplus/EnNotificationEquipChargeStatus.java → entity/src/main/java/com/kym/entity/platform/PlatformNotificationEquipChargeStatus.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import lombok.Data;
 
@@ -11,7 +11,7 @@ import java.util.List;
  * @date 2023-08-03 16:22
  */
 @Data
-public class EnNotificationEquipChargeStatus {
+public class PlatformNotificationEquipChargeStatus {
 
     private String StartChargeSeq;
 
@@ -68,7 +68,7 @@ public class EnNotificationEquipChargeStatus {
      */
     private int SumPeriod;
 
-    private List<EnChargeDetails> ChargeDetails;
+    private List<PlatformChargeDetails> ChargeDetails;
 
 
 }

+ 2 - 2
entity/src/main/java/com/kym/entity/enplus/EnNotificationStartChargeResult.java → entity/src/main/java/com/kym/entity/platform/PlatformNotificationStartChargeResult.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import lombok.Data;
 
@@ -8,7 +8,7 @@ import lombok.Data;
  * @date 2023-08-04 10:05
  */
 @Data
-public class EnNotificationStartChargeResult {
+public class PlatformNotificationStartChargeResult {
 
     /**
      * 充电订单号

+ 2 - 2
entity/src/main/java/com/kym/entity/enplus/EnNotificationStopChargeResult.java → entity/src/main/java/com/kym/entity/platform/PlatformNotificationStopChargeResult.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import lombok.Data;
 
@@ -8,7 +8,7 @@ import lombok.Data;
  * @date 2023-08-04 10:05
  */
 @Data
-public class EnNotificationStopChargeResult {
+public class PlatformNotificationStopChargeResult {
 
     /**
      * 充电订单号

+ 3 - 3
entity/src/main/java/com/kym/entity/enplus/EnPolicyInfo.java → entity/src/main/java/com/kym/entity/platform/PlatformPolicyInfo.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import com.alibaba.fastjson2.annotation.JSONCreator;
 import com.alibaba.fastjson2.annotation.JSONField;
@@ -14,7 +14,7 @@ import java.time.format.DateTimeFormatter;
  * @date 2023-08-15 16:11
  */
 @Data
-public class EnPolicyInfo {
+public class PlatformPolicyInfo {
     public final static String[] PRICE_PERIOD = {"谷", "平", "峰", "尖"};
     /**
      * 价格时段(尖峰平谷)
@@ -37,7 +37,7 @@ public class EnPolicyInfo {
     private Double servicePrice;
 
     @JSONCreator
-    EnPolicyInfo(@JSONField(name = "StartTime") String startTime) {
+    PlatformPolicyInfo(@JSONField(name = "StartTime") String startTime) {
         this.startTime = LocalTime.parse(startTime, DateTimeFormatter.ofPattern("HHmmss"));
     }
 }

+ 2 - 2
entity/src/main/java/com/kym/entity/enplus/EnRespQueryToken.java → entity/src/main/java/com/kym/entity/platform/PlatformRespQueryToken.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import lombok.Data;
 
@@ -8,7 +8,7 @@ import lombok.Data;
  * @date 2023-07-31 11:32
  */
 @Data
-public class EnRespQueryToken {
+public class PlatformRespQueryToken {
     /**
      * 运营商ID
      */

+ 3 - 3
entity/src/main/java/com/kym/entity/enplus/EnStationInfo.java → entity/src/main/java/com/kym/entity/platform/PlatformStationInfo.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import lombok.Data;
 
@@ -11,7 +11,7 @@ import java.util.List;
  * @date 2023-07-31 14:55
  */
 @Data
-public class EnStationInfo {
+public class PlatformStationInfo {
 
 
     /**
@@ -147,5 +147,5 @@ public class EnStationInfo {
     /**
      * 充电设备信息列表
      */
-    private List<EnEquipmentInfo> EquipmentInfos;
+    private List<PlatformEquipmentInfo> EquipmentInfos;
 }

+ 3 - 3
entity/src/main/java/com/kym/entity/enplus/EnStationStatsInfo.java → entity/src/main/java/com/kym/entity/platform/PlatformStationStatsInfo.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import com.alibaba.fastjson2.annotation.JSONField;
 import lombok.Data;
@@ -12,7 +12,7 @@ import java.util.List;
  * @date 2023-07-31 16:02
  */
 @Data
-public class EnStationStatsInfo {
+public class PlatformStationStatsInfo {
     /**
      * 充电站ID
      */
@@ -38,6 +38,6 @@ public class EnStationStatsInfo {
      * 充电设备统计信息列表
      */
     @JSONField(name = "EquipmentStatsInfos")
-    private List<EnEquipmentStatsInfo> equipmentStatsInfos;
+    private List<PlatformEquipmentStatsInfo> equipmentStatsInfos;
 
 }

+ 5 - 5
entity/src/main/java/com/kym/entity/enplus/EnStationStatusInfo.java → entity/src/main/java/com/kym/entity/platform/PlatformStationStatusInfo.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.platform;
 
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.annotation.JSONCreator;
@@ -13,7 +13,7 @@ import java.util.List;
  * @date 2023-07-31 16:00
  */
 @Data
-public class EnStationStatusInfo {
+public class PlatformStationStatusInfo {
     /**
      * 充电站ID(20字符,运营商自定义的唯一编码,不足长度在前方补0)
      */
@@ -23,11 +23,11 @@ public class EnStationStatusInfo {
     /**
      * 充电设备接口状态列表
      */
-    private List<EnConnectorStatusInfo> connectorStatusInfos;
+    private List<PlatformConnectorStatusInfo> connectorStatusInfos;
 
     @JSONCreator
-    public EnStationStatusInfo(@JSONField(name = "connectorStatusInfos") JSONArray infos) {
-        this.connectorStatusInfos = infos.toJavaList(EnConnectorStatusInfo.class);
+    public PlatformStationStatusInfo(@JSONField(name = "connectorStatusInfos") JSONArray infos) {
+        this.connectorStatusInfos = infos.toJavaList(PlatformConnectorStatusInfo.class);
     }
 
 }

+ 8 - 8
entity/src/main/java/com/kym/entity/enplus/response/EnBusinessPolicy.java → entity/src/main/java/com/kym/entity/platform/response/PlatformBusinessPolicy.java

@@ -1,9 +1,9 @@
-package com.kym.entity.enplus.response;
+package com.kym.entity.platform.response;
 
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.annotation.JSONCreator;
 import com.alibaba.fastjson2.annotation.JSONField;
-import com.kym.entity.enplus.EnPolicyInfo;
+import com.kym.entity.platform.PlatformPolicyInfo;
 import lombok.Data;
 
 import java.util.List;
@@ -15,7 +15,7 @@ import java.util.stream.Collectors;
  * @date 2023-08-15 15:58
  */
 @Data
-public class EnBusinessPolicy {
+public class PlatformBusinessPolicy {
     /**
      * 业务策略查询流水号
      */
@@ -48,15 +48,15 @@ public class EnBusinessPolicy {
     /**
      * 单项业务策略信息
      */
-    private List<EnPolicyInfo> policyInfos;
+    private List<PlatformPolicyInfo> policyInfos;
 
     @JSONCreator
-    EnBusinessPolicy(@JSONField(name = "PolicyInfos") JSONArray array) {
-        this.policyInfos = array.toJavaList(EnPolicyInfo.class);
+    PlatformBusinessPolicy(@JSONField(name = "PolicyInfos") JSONArray array) {
+        this.policyInfos = array.toJavaList(PlatformPolicyInfo.class);
         // 将尖峰平谷信息填入EnPolicyInfo中
-        var elecPriceSet = policyInfos.stream().map(EnPolicyInfo::getElecPrice).collect(Collectors.toSet()).stream().sorted().toList();
+        var elecPriceSet = policyInfos.stream().map(PlatformPolicyInfo::getElecPrice).collect(Collectors.toSet()).stream().sorted().toList();
         if (elecPriceSet.size() > 1) {
-            policyInfos = policyInfos.stream().peek(price -> price.setPricePeriod(EnPolicyInfo.PRICE_PERIOD[elecPriceSet.indexOf(price.getElecPrice())])).toList();
+            policyInfos = policyInfos.stream().peek(price -> price.setPricePeriod(PlatformPolicyInfo.PRICE_PERIOD[elecPriceSet.indexOf(price.getElecPrice())])).toList();
         } else {
             // 统一电价
             policyInfos = policyInfos.stream().peek(price -> price.setPricePeriod("统")).toList();

+ 1 - 1
entity/src/main/java/com/kym/entity/enplus/response/PlatformResponse.java → entity/src/main/java/com/kym/entity/platform/response/PlatformResponse.java

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus.response;
+package com.kym.entity.platform.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;

+ 1 - 22
miniapp/src/main/resources/application-dev.yml

@@ -1,24 +1,3 @@
-# EN+充电配置
-en-plus:
-  # 运营商ID
-  operatorId: MA5HJNDG1
-  # 运营商密钥
-  operatorSecret: 5009db3dc1e94ea8
-  # 消息密钥
-  dataSecret: 8c15f5bf050948ba
-  # 消息密钥初始化向量
-  dataSecretIv: 915bea94fa13461d
-  # 签名密钥
-  sigSecret: 46050b0bb5b7415c
-  # 最小充电余额(分)
-  chargeMinAmount: 200
-  # 接口地址
-  apiDomain: https://dev.en-plus.cn/Charge/evcs/v1/MA5HJNDG1/
-  # sass配置
-  sass: https://dev.en-plus.cn/Charge/op/login?username=快与慢&password=Admin123
-  # sass结算订单
-  sassClose: https://dev.en-plus.cn/Charge/op/analyze/order/close?orderCode=
-
 # 微信支付
 wechat:
   payment:
@@ -131,4 +110,4 @@ spring:
           multiplier: 2
 
 kym:
-  notify-email: skyline@kuaiyuman.cn
+  notify-email: skyline@kuaiyuman.cn

+ 1 - 22
miniapp/src/main/resources/application-prod.yml

@@ -1,24 +1,3 @@
-# EN+充电配置
-en-plus:
-  # 运营商ID
-  operatorId: MA5HJNDG1
-  # 运营商密钥
-  operatorSecret: c7fd9b753a9f434e
-  # 消息密钥
-  dataSecret: 5cb7e12da198420a
-  # 消息密钥初始化向量
-  dataSecretIv: 8a6ac88326bc4d3f
-  # 签名密钥
-  sigSecret: 2365b20f69e44817
-  # 最小充电余额(分)
-  chargeMinAmount: 200
-  # 接口地址
-  apiDomain: https://api.en-plus.cn:8080/Charge/evcs/v1//MA5HJNDG1/
-  # sass配置
-  sass: https://api.en-plus.cn:8080/Charge/op/login?username=快与慢工程&password=Kuaiyuman2o22
-  # sass结算订单
-  sassClose: https://api.en-plus.cn:8080/Charge/op/analyze/order/close?orderCode=
-
 # 微信支付
 wechat:
   payment:
@@ -131,4 +110,4 @@ spring:
           multiplier: 2
 
 kym:
-  notify-email: zaizai@kuaiyuman.cn,skyline@kuaiyuman.cn
+  notify-email: zaizai@kuaiyuman.cn,skyline@kuaiyuman.cn

+ 4 - 4
service/src/main/java/com/kym/service/admin/StationService.java

@@ -10,8 +10,8 @@ import com.kym.entity.admin.Station;
 import com.kym.entity.admin.queryParams.StationQueryParam;
 import com.kym.entity.admin.vo.LocalStationVo;
 import com.kym.entity.admin.vo.StationVo;
-import com.kym.entity.enplus.EnStationStatsInfo;
-import com.kym.entity.enplus.EnStationStatusInfo;
+import com.kym.entity.platform.PlatformStationStatsInfo;
+import com.kym.entity.platform.PlatformStationStatusInfo;
 
 import java.util.List;
 import java.util.Map;
@@ -37,9 +37,9 @@ public interface StationService extends MPJBaseService<Station> {
     //    @DynamicCache // 方法的返回结果加一层方法缓存,5分钟内不变
     List<LocalStationVo> queryLocalStationInfo(int pageNum, int pageSize);
 
-    List<EnStationStatusInfo> stationStatus(String[] ids);
+    List<PlatformStationStatusInfo> stationStatus(String[] ids);
 
-    EnStationStatsInfo stationStats(String stationId, String startTime, String endTime);
+    PlatformStationStatsInfo stationStats(String stationId, String startTime, String endTime);
 
     void pullEnStationInfos(String stationId);
 

+ 8 - 8
service/src/main/java/com/kym/service/admin/impl/StationServiceImpl.java

@@ -15,9 +15,9 @@ import com.kym.entity.admin.*;
 import com.kym.entity.admin.queryParams.StationQueryParam;
 import com.kym.entity.admin.vo.LocalStationVo;
 import com.kym.entity.admin.vo.StationVo;
-import com.kym.entity.enplus.EnStationStatsInfo;
-import com.kym.entity.enplus.EnStationStatusInfo;
-import com.kym.entity.enplus.response.PlatformResponse;
+import com.kym.entity.platform.PlatformStationStatsInfo;
+import com.kym.entity.platform.PlatformStationStatusInfo;
+import com.kym.entity.platform.response.PlatformResponse;
 import com.kym.mapper.admin.StationMapper;
 import com.kym.service.admin.*;
 import com.kym.service.cache.KymCache;
@@ -225,14 +225,14 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
 
 
     @Override
-    public List<EnStationStatusInfo> stationStatus(String[] ids) {
+    public List<PlatformStationStatusInfo> stationStatus(String[] ids) {
         // 先对站点id进行分组,单独去请求各自互联互通平台数据
         var set = new HashSet<String>();
         for (String stationId : ids) {
             set.add(PlatformCache.INSTANCE.getPlatformNameByStationId(stationId));
         }
 
-        var res = new ArrayList<EnStationStatusInfo>();
+        var res = new ArrayList<PlatformStationStatusInfo>();
         set.forEach(platformName -> {
             var param = """
                     {
@@ -241,7 +241,7 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
                     """.formatted(String.join("\",\"", ids));
             var response = enPlusService.platformPost(platformName, CommonApi.EN_PLUS_QUERY_STATION_STATUS.getApi(platformName), enPlusService.buildPlatformParams(platformName, param));
             var enStationStatus = JSONObject.parseObject(PlatformAesUtil.decrypt(PlatformCache.INSTANCE.getPlatformByName(platformName),response.getData()));
-            res.addAll(enStationStatus.getJSONArray("StationStatusInfos").toJavaList(EnStationStatusInfo.class));
+            res.addAll(enStationStatus.getJSONArray("StationStatusInfos").toJavaList(PlatformStationStatusInfo.class));
         });
         return res;
     }
@@ -256,7 +256,7 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
      * @return
      */
     @Override
-    public EnStationStatsInfo stationStats(String stationId, String startTime, String endTime) {
+    public PlatformStationStatsInfo stationStats(String stationId, String startTime, String endTime) {
         var param = """
                 {
                     "StationID":"%s",
@@ -268,7 +268,7 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
         var response = enPlusService.platformPost(platformName, CommonApi.EN_PLUS_QUERY_STATION_STATS.getApi(platformName), enPlusService.buildPlatformParams(platformName, param));
         // TODO: 2023-08-12 包装成自己的数据格式
         var enStationStats = parsePlatformResponseData(response, platformName);
-        return enStationStats.getJSONObject("StationStats").toJavaObject(EnStationStatsInfo.class);
+        return enStationStats.getJSONObject("StationStats").toJavaObject(PlatformStationStatsInfo.class);
     }
 
 

+ 2 - 3
service/src/main/java/com/kym/service/miniapp/ChargeService.java

@@ -1,7 +1,6 @@
 package com.kym.service.miniapp;
 
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.kym.entity.enplus.response.EnBusinessPolicy;
+import com.kym.entity.platform.response.PlatformBusinessPolicy;
 import com.kym.entity.miniapp.ChargeOrder;
 
 import java.time.LocalDateTime;
@@ -25,7 +24,7 @@ public interface ChargeService {
 
     void queryStopCharge(long userId, String connectorId);
 
-    EnBusinessPolicy queryEquipBusinessPolicy(String connectorId);
+    PlatformBusinessPolicy queryEquipBusinessPolicy(String connectorId);
 
     Map<String, String> immediatelyCharge(String connectorId);
 

+ 0 - 1
service/src/main/java/com/kym/service/miniapp/CollectService.java

@@ -1,7 +1,6 @@
 package com.kym.service.miniapp;
 
 import com.github.yulichang.base.MPJBaseService;
-import com.kym.entity.enplus.EnStationStatusInfo;
 import com.kym.entity.miniapp.Collect;
 
 import java.util.List;

+ 3 - 4
service/src/main/java/com/kym/service/miniapp/impl/ChargeServiceImpl.java

@@ -5,7 +5,6 @@ import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
-import com.kym.common.annotation.PlatformConvert;
 import com.kym.common.constant.ResponseEnum;
 import com.kym.common.exception.BusinessException;
 import com.kym.common.utils.CommUtil;
@@ -14,7 +13,7 @@ import com.kym.entity.admin.Activity;
 import com.kym.entity.admin.ConnectorInfo;
 import com.kym.entity.admin.EquipmentInfo;
 import com.kym.entity.common.RedisKeys;
-import com.kym.entity.enplus.response.EnBusinessPolicy;
+import com.kym.entity.platform.response.PlatformBusinessPolicy;
 import com.kym.entity.miniapp.*;
 import com.kym.entity.miniapp.delay.DelayChargeOrder;
 import com.kym.service.admin.ConnectorInfoService;
@@ -565,11 +564,11 @@ public class ChargeServiceImpl implements ChargeService {
      * @return
      */
     @Override
-    public EnBusinessPolicy queryEquipBusinessPolicy(String connectorId) {
+    public PlatformBusinessPolicy queryEquipBusinessPolicy(String connectorId) {
         var platformName = PlatformCache.INSTANCE.getPlatformNameByConnectorId(connectorId);
         var equipBizSeq = OrderUtils.getOrderNo(PlatformCache.INSTANCE.getPlatformByName(platformName).getOperatorId());
         var data = enPlusService.queryEquipBusinessPolicy(platformName, equipBizSeq, connectorId);
-        return data.toJavaObject(EnBusinessPolicy.class);
+        return data.toJavaObject(PlatformBusinessPolicy.class);
     }
 
 }

+ 0 - 1
service/src/main/java/com/kym/service/miniapp/impl/CollectServiceImpl.java

@@ -3,7 +3,6 @@ package com.kym.service.miniapp.impl;
 import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.github.yulichang.base.MPJBaseServiceImpl;
-import com.kym.entity.enplus.EnStationStatusInfo;
 import com.kym.entity.miniapp.Collect;
 import com.kym.mapper.miniapp.CollectMapper;
 import com.kym.service.admin.StationService;

+ 1 - 1
service/src/main/java/com/kym/service/platform/PlatformApiService.java

@@ -2,7 +2,7 @@ package com.kym.service.platform;
 
 import com.alibaba.fastjson2.JSONObject;
 import com.kym.common.annotation.DynamicCache;
-import com.kym.entity.enplus.response.PlatformResponse;
+import com.kym.entity.platform.response.PlatformResponse;
 
 /**
  * @author skyline

+ 1 - 1
service/src/main/java/com/kym/service/platform/EnNotifyService.java → service/src/main/java/com/kym/service/platform/PlatformNotifyService.java

@@ -7,7 +7,7 @@ import com.alibaba.fastjson2.JSONObject;
  * @description
  * @date 2023-08-04 14:24
  */
-public interface EnNotifyService {
+public interface PlatformNotifyService {
 
 
     String handleNotificationStartChargeResult(String platformName, JSONObject json);

+ 7 - 8
service/src/main/java/com/kym/service/platform/impl/PlatformApiServiceImpl.java

@@ -16,8 +16,8 @@ import com.kym.common.utils.CommUtil;
 import com.kym.common.utils.PlatformAesUtil;
 import com.kym.common.utils.PlatformConvertUtil;
 import com.kym.entity.common.RedisKeys;
-import com.kym.entity.enplus.EnRespQueryToken;
-import com.kym.entity.enplus.response.PlatformResponse;
+import com.kym.entity.platform.PlatformRespQueryToken;
+import com.kym.entity.platform.response.PlatformResponse;
 import com.kym.service.cache.PlatformCache;
 import com.kym.service.platform.CommonApi;
 import com.kym.service.platform.PlatformApiService;
@@ -134,7 +134,7 @@ public class PlatformApiServiceImpl implements PlatformApiService {
         if (response != null && 0 == response.getRet()) {
             // 解密Data获取token
             var jsonObject = parsePlatformResponseData(response, platformName);
-            var platformRespQueryToken = parse(jsonObject.toJSONString(), EnRespQueryToken.class);
+            var platformRespQueryToken = parse(jsonObject.toJSONString(), PlatformRespQueryToken.class);
             log.debug("{}接口AccessToken:{}", platformName, platformRespQueryToken.toString());
             // 缓存token不同平台不同key,有效期7天(我们这里每次请求en+获取token的有效期并不是从7天开始,有效期是在en+的剩余有效时间)
             redisTemplate.opsForValue().set(RedisKeys.EN_PLUS_TOKEN + platformName, platformRespQueryToken.getAccessToken(), platformRespQueryToken.getTokenAvailableTime(), TimeUnit.SECONDS);
@@ -175,7 +175,6 @@ public class PlatformApiServiceImpl implements PlatformApiService {
     public String buildPlatformParams(String platformName, String params) {
         var platform = PlatformCache.INSTANCE.getPlatformByName(platformName);
         // 使用DataSecret对data加密
-//        var dataStr = PlatformAesUtil.encrypt(platform, params);
         var dataStr = PlatformAesUtil.encrypt(platform, params);
         // 时间戳
         var timeStamp = LocalDateTimeUtil.format(LocalDateTime.now(), DatePattern.PURE_DATETIME_PATTERN);
@@ -265,7 +264,7 @@ public class PlatformApiServiceImpl implements PlatformApiService {
      */
     @Override
     @DynamicCache(spel = "#connectorId")
-    public JSONObject queryEquipBusinessPolicy(String platformName, String equipBizSeq, String connectorId) {
+    public JSONObject queryEquipBusinessPolicy(@PlatformName String platformName, String equipBizSeq, @ConnectorID String connectorId) {
         var param = """
                 {
                     "EquipBizSeq":"%s",
@@ -287,7 +286,7 @@ public class PlatformApiServiceImpl implements PlatformApiService {
      * @return
      */
     @Override
-    public JSONObject queryStartCharge(String platformName, String startChargeSeq, String connectorId, String qrCode, Integer amount) {
+    public JSONObject queryStartCharge(@PlatformName String platformName, String startChargeSeq, @ConnectorID String connectorId, String qrCode, Integer amount) {
         var param = """
                 {
                     "StartChargeSeq":"%s",
@@ -319,7 +318,7 @@ public class PlatformApiServiceImpl implements PlatformApiService {
     }
 
     /**
-     * 与en+开发约定使用该接口更新正在充电中的订单的金额信息,解决充电过程中用户充值续充场景
+     * 与en+开发约定使用该接口更新正在充电中的订单的金额信息,解决充电过程中用户充值续充场景  todo 朗新不支持该功能
      *
      * @param platformName
      * @param startChargeSeq
@@ -347,7 +346,7 @@ public class PlatformApiServiceImpl implements PlatformApiService {
      * @return
      */
     @Override
-    public JSONObject queryStopCharge(String platformName, String startChargeSeq, String connectorId) {
+    public JSONObject queryStopCharge(@PlatformName String platformName, String startChargeSeq, String connectorId) {
         var param = """
                 {
                     "StartChargeSeq":"%s",

+ 19 - 20
service/src/main/java/com/kym/service/platform/impl/EnNotifyServiceImpl.java → service/src/main/java/com/kym/service/platform/impl/PlatformNotifySServiceImpl.java

@@ -5,11 +5,12 @@ import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.kym.common.utils.PlatformConvertUtil;
 import com.kym.entity.admin.ConnectorInfo;
 import com.kym.entity.admin.EquipmentInfo;
 import com.kym.entity.admin.MonitorLog;
 import com.kym.entity.common.RedisKeys;
-import com.kym.entity.enplus.EnConnectorStatusInfo;
+import com.kym.entity.platform.PlatformConnectorStatusInfo;
 import com.kym.entity.miniapp.Account;
 import com.kym.entity.miniapp.ChargeOrder;
 import com.kym.entity.miniapp.WalletDetail;
@@ -17,10 +18,10 @@ import com.kym.service.admin.ConnectorInfoService;
 import com.kym.service.admin.EquipmentInfoService;
 import com.kym.service.admin.MonitorLogService;
 import com.kym.service.cache.KymCache;
-import com.kym.service.platform.EnNotifyService;
-import com.kym.service.platform.PlatformApiService;
 import com.kym.service.factory.DiscountStrategyFactory;
 import com.kym.service.miniapp.*;
+import com.kym.service.platform.PlatformApiService;
+import com.kym.service.platform.PlatformNotifyService;
 import jakarta.annotation.PostConstruct;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -37,13 +38,12 @@ import java.util.stream.Collectors;
 
 /**
  * @author skyline
- * @description
- * @date 2023-08-04 14:26
+ * 接收处理互联互通平台推送信息
  */
 
 @Service
-public class EnNotifyServiceImpl implements EnNotifyService {
-    private static final Logger LOGGER = LoggerFactory.getLogger(EnNotifyServiceImpl.class);
+public class PlatformNotifySServiceImpl implements PlatformNotifyService {
+    private static final Logger LOGGER = LoggerFactory.getLogger(PlatformNotifySServiceImpl.class);
     public final StringRedisTemplate redisTemplate;
     private final PlatformApiService enPlusService;
     private final ChargeOrderService chargeOrderService;
@@ -53,16 +53,15 @@ public class EnNotifyServiceImpl implements EnNotifyService {
     private final MonitorLogService monitorLogService;
     private final EquipmentInfoService equipmentInfoService;
     private final ConnectorInfoService connectorInfoService;
-
     private final UserStationService userStationService;
 
     @Value("${kym.notify-email}")
     private String notifyEmail;
 
-    public EnNotifyServiceImpl(PlatformApiService enPlusService, ChargeOrderService chargeOrderService,
-                               ChargeService chargeService, AccountService accountService, WalletDetailService walletDetailService,
-                               MonitorLogService monitorLogService, EquipmentInfoService equipmentInfoService,
-                               ConnectorInfoService connectorInfoService, StringRedisTemplate redisTemplate, UserStationService userStationService) {
+    public PlatformNotifySServiceImpl(PlatformApiService enPlusService, ChargeOrderService chargeOrderService,
+                                      ChargeService chargeService, AccountService accountService, WalletDetailService walletDetailService,
+                                      MonitorLogService monitorLogService, EquipmentInfoService equipmentInfoService,
+                                      ConnectorInfoService connectorInfoService, StringRedisTemplate redisTemplate, UserStationService userStationService) {
         this.enPlusService = enPlusService;
         this.chargeOrderService = chargeOrderService;
         this.chargeService = chargeService;
@@ -91,10 +90,10 @@ public class EnNotifyServiceImpl implements EnNotifyService {
     @DS("db-admin")
     public String handleNotificationStationStatus(String platformName, JSONObject json) {
         var data = enPlusService.signValidation(platformName, json);
-        LOGGER.info("【EN+推送】收到充电桩设备状态变化推送:{},解密数据:{}", json, data);
+        LOGGER.info("【{}互联互通平台推送】收到充电桩设备状态变化推送:{},解密数据:{}", platformName, json, data);
         // 更新数据库,存入redis,发送邮件通知
-        var connectorStatusInfo = JSONObject.parseObject(data).getJSONObject("ConnectorStatusInfo").toJavaObject(EnConnectorStatusInfo.class);
-        var connectorId = connectorStatusInfo.getConnectorId();
+        var connectorStatusInfo = JSONObject.parseObject(data).getJSONObject("ConnectorStatusInfo").toJavaObject(PlatformConnectorStatusInfo.class);
+        var connectorId = PlatformConvertUtil.parse2LocalConnectorId(connectorStatusInfo.getConnectorId());
         var equipmentId = connectorId.substring(0, 16);
 
         equipmentInfoService.lambdaUpdate()
@@ -167,12 +166,12 @@ public class EnNotifyServiceImpl implements EnNotifyService {
     @Transactional(rollbackFor = Exception.class)
     @DS("db-miniapp")
     public String handleNotificationStartChargeResult(String platformName, JSONObject json) {
-        var data = enPlusService.signValidation(platformName,json);
+        var data = enPlusService.signValidation(platformName, json);
         LOGGER.info("【EN+推送】收到启动充电结果推送:{},解密数据:{}", json, data);
         var obj = JSONObject.parseObject(data);
         var startChargeSeq = obj.getString("StartChargeSeq");
         var startChargeSeqStat = obj.getIntValue("StartChargeSeqStat");
-        var connectorId = obj.getString("ConnectorID");
+        var connectorId = PlatformConvertUtil.parse2LocalConnectorId(obj.getString("ConnectorID"));
         var startTime = LocalDateTime.parse(obj.getString("StartTime"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
 
         // 更新订单状态
@@ -203,7 +202,7 @@ public class EnNotifyServiceImpl implements EnNotifyService {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public String handleNotificationEquipChargeStatus(String platformName, JSONObject json) {
-        var dataStr = enPlusService.signValidation(platformName,json);
+        var dataStr = enPlusService.signValidation(platformName, json);
         var data = JSONObject.parseObject(dataStr);
         LOGGER.info("【EN+推送】 :{},解密数据:{}", json, data);
         var startChargeSeq = data.getString("StartChargeSeq");
@@ -240,7 +239,7 @@ public class EnNotifyServiceImpl implements EnNotifyService {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public String handleNotificationStopChargeResult(String platformName, JSONObject json) {
-        var dataStr = enPlusService.signValidation(platformName,json);
+        var dataStr = enPlusService.signValidation(platformName, json);
         var data = JSONObject.parseObject(dataStr);
         LOGGER.info("【EN+推送】收到停止充电结果推送:{},解密数据:{}", json, data);
         var startChargeSeq = data.getString("StartChargeSeq");
@@ -268,7 +267,7 @@ public class EnNotifyServiceImpl implements EnNotifyService {
     @Override
     @DSTransactional(rollbackFor = Exception.class)
     public String handleNotificationChargeOrderInfo(String platformName, JSONObject json) {
-        var dataStr = enPlusService.signValidation(platformName,json);
+        var dataStr = enPlusService.signValidation(platformName, json);
         var data = JSONObject.parseObject(dataStr);
         LOGGER.info("【EN+推送】收到充电订单信息推送:{},解密数据:{}", json, data);
         var startChargeSeq = data.getString("StartChargeSeq");