소스 검색

互联互通对接调试:ConnectorID拼接转换使用注解方式

skyline 1 년 전
부모
커밋
d2de86725f

+ 14 - 0
common/src/main/java/com/kym/common/annotation/ConnectorID.java

@@ -0,0 +1,14 @@
+package com.kym.common.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * 标记ConnectorID
+ *
+ * @author skyline
+ */
+@Target(ElementType.PARAMETER)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface ConnectorID {
+}

+ 14 - 0
common/src/main/java/com/kym/common/annotation/PlatformConvert.java

@@ -0,0 +1,14 @@
+package com.kym.common.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * 平台数据转换注解
+ *
+ * @author skyline
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface PlatformConvert {
+}

+ 14 - 0
common/src/main/java/com/kym/common/annotation/PlatformName.java

@@ -0,0 +1,14 @@
+package com.kym.common.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * 标记platformName
+ *
+ * @author skyline
+ */
+@Target(ElementType.PARAMETER)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface PlatformName {
+}

+ 87 - 0
common/src/main/java/com/kym/common/aspect/PlatformConvertAspect.java

@@ -0,0 +1,87 @@
+package com.kym.common.aspect;
+
+import com.kym.common.annotation.ConnectorID;
+import com.kym.common.annotation.PlatformName;
+import com.kym.common.exception.BusinessException;
+import com.kym.common.utils.PlatformConvertUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Parameter;
+
+
+/**
+ * APP日志,切面处理类
+ *
+ * @author skyline
+ */
+@Aspect
+@Component
+@Slf4j
+public class PlatformConvertAspect {
+
+
+    /**
+     * 切点
+     */
+    @Pointcut("@annotation(com.kym.common.annotation.PlatformConvert)")
+    public void platformConvertPointCut() {
+    }
+
+    @Around("platformConvertPointCut()")
+    Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {
+        return convert(joinPoint);
+    }
+
+
+    private Object convert(ProceedingJoinPoint joinPoint) throws Throwable {
+        if (joinPoint == null) {
+            throw new IllegalArgumentException("joinPoint cannot be null");
+        }
+
+        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+        Method method = signature.getMethod();
+        if (method == null) {
+            throw new IllegalArgumentException("method cannot be null");
+        }
+
+        Parameter[] parameters = method.getParameters();
+        Object[] args = joinPoint.getArgs();
+        Platform platformName = Platform.EN_PLUS;
+
+        for (int i = 0; i < parameters.length; i++) {
+            Parameter parameter = parameters[i];
+            if (parameter.isAnnotationPresent(PlatformName.class)) {
+                if (args[i] != null) {
+                    platformName = Platform.valueOf(args[i].toString());
+                }
+            } else if (parameter.isAnnotationPresent(ConnectorID.class)) {
+                if (args[i] != null) {
+                    switch (platformName) {
+                        case EN_PLUS:
+                            args[i] = PlatformConvertUtil.parse2LocalConnectorId(args[i].toString());
+                            break;
+                        case LONGSHINE:
+                            args[i] = PlatformConvertUtil.convert2LongshineConnectorId(args[i].toString());
+                            break;
+                        default:
+                            throw new BusinessException("不支持的平台:" + platformName);
+                    }
+                }
+            }
+        }
+
+        return joinPoint.proceed(args);
+    }
+
+    // 枚举类定义
+    enum Platform {
+        EN_PLUS, LONGSHINE
+    }
+}

+ 0 - 21
common/src/main/java/com/kym/common/config/EnPlusConfig.java

@@ -1,21 +0,0 @@
-package com.kym.common.config;
-
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
-
-
-@Data
-@Configuration("EnPlusConfig")
-@ConfigurationProperties(prefix = "en-plus")
-public class EnPlusConfig {
-    private String operatorId;
-    private String operatorSecret;
-    private String dataSecret;
-    private String dataSecretIv;
-    private String sigSecret;
-    private int chargeMinAmount;
-    private String apiDomain;
-    private String sass;
-    private String sassClose;
-}

+ 58 - 0
common/src/main/java/com/kym/common/utils/PlatformConvertUtil.java

@@ -0,0 +1,58 @@
+package com.kym.common.utils;
+
+import com.alibaba.fastjson2.JSONObject;
+
+/**
+ * 互联互通平台转换工具
+ *
+ * @author skyline
+ */
+public class PlatformConvertUtil {
+
+    public static String queryStartChargeParamsConvert(String platformName, String paramsJson, Integer balance) {
+        // 如果是朗新平台,参数增加ChargingAmt(单位元),其他为amount(单位分)
+        var json = JSONObject.parseObject(paramsJson);
+        if ("EN_PLUS".equals(platformName)) {
+            // EN+平台不做超消费控制,自行实现低于0.5元自动停止充电
+            json.put("amount", balance - 50);
+            return json.toJSONString();
+        }
+        if ("LONGSHINE".equals(platformName)) {
+            // 朗新平台默认低于1元则下发停止充电指令,这里加0.5统一成低于0.5元则停止充电防止超金额消费
+            json.put("ChargingAmt", balance + 0.5);
+            return json.toJSONString();
+        }
+        return paramsJson;
+    }
+
+
+    /**
+     * 将ConnectorID转化成本地格式
+     *
+     * @param connectorId
+     * @return
+     */
+    public static String parse2LocalConnectorId(String connectorId) {
+        if (connectorId.contains("_")) {
+            return connectorId.replaceAll("_", "");
+        }
+        return connectorId;
+    }
+
+    /**
+     * 转换成朗新格式的ConnectorID
+     *
+     * @param connectorId
+     * @return
+     */
+    public static String convert2LongshineConnectorId(String connectorId) {
+        // connectorId包含"_"并且"_"在倒数第二位
+        if (connectorId.contains("_") && connectorId.indexOf("_") == connectorId.length() - 2) {
+            // 在connectorId最后一位前添加字符"_"
+            return connectorId;
+        } else {
+            return connectorId.substring(0, connectorId.length() - 1) + "_" + connectorId.substring(connectorId.length() - 1);
+        }
+    }
+
+}

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

@@ -7,7 +7,7 @@ import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.kym.common.annotation.DynamicCache;
-import com.kym.service.enplus.EnPlusApi;
+import com.kym.service.platform.CommonApi;
 import com.kym.common.exception.BusinessException;
 import com.kym.common.utils.CommUtil;
 import com.kym.common.utils.PlatformAesUtil;
@@ -22,7 +22,7 @@ import com.kym.mapper.admin.StationMapper;
 import com.kym.service.admin.*;
 import com.kym.service.cache.KymCache;
 import com.kym.service.cache.PlatformCache;
-import com.kym.service.enplus.PlatformApiService;
+import com.kym.service.platform.PlatformApiService;
 import com.kym.service.mybatisplus.MyBaseServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.aop.framework.AopContext;
@@ -94,7 +94,7 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
                     "LastQueryTime":""
                 }
                 """.formatted(pageNum, pageSize);
-        var response = enPlusService.platformPost(platformName, EnPlusApi.EN_PLUS_QUERY_STATION_INFO.getApi(platformName), enPlusService.buildPlatformParams(platformName, param));
+        var response = enPlusService.platformPost(platformName, CommonApi.EN_PLUS_QUERY_STATION_INFO.getApi(platformName), enPlusService.buildPlatformParams(platformName, param));
         var enStations = parsePlatformResponseData(response, platformName);
         var stationList = enStations.getJSONArray("StationInfos").toJavaList(StationVo.class);
         // 我方station表数据
@@ -140,7 +140,7 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
                     "LastQueryTime":""
                 }
                 """.formatted(pageNum, pageSize);
-        var response = enPlusService.platformPost(platformName, EnPlusApi.EN_PLUS_QUERY_STATION_INFO.getApi(platformName), enPlusService.buildPlatformParams(platformName, param));
+        var response = enPlusService.platformPost(platformName, CommonApi.EN_PLUS_QUERY_STATION_INFO.getApi(platformName), enPlusService.buildPlatformParams(platformName, param));
         var enStations = parsePlatformResponseData(response, platformName);
         var stationList = enStations.getJSONArray("StationInfos").toJavaList(StationVo.class);
         // 我方station表数据
@@ -239,7 +239,7 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
                         "StationIDs":["%s"]
                     }
                     """.formatted(String.join("\",\"", ids));
-            var response = enPlusService.platformPost(platformName, EnPlusApi.EN_PLUS_QUERY_STATION_STATUS.getApi(platformName), enPlusService.buildPlatformParams(platformName, param));
+            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));
         });
@@ -265,7 +265,7 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
                 }
                 """.formatted(stationId, startTime, endTime);
         var platformName = PlatformCache.INSTANCE.getPlatformNameByStationId(stationId);
-        var response = enPlusService.platformPost(platformName, EnPlusApi.EN_PLUS_QUERY_STATION_STATS.getApi(platformName), enPlusService.buildPlatformParams(platformName, param));
+        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);

+ 2 - 1
service/src/main/java/com/kym/service/miniapp/impl/ChargeOrderServiceImpl.java

@@ -70,7 +70,8 @@ public class ChargeOrderServiceImpl extends MyBaseServiceImpl<ChargeOrderMapper,
     private final StationStatMonthService stationStatMonthService;
 
     private final StringRedisTemplate redisTemplate;
-    @Value("${en-plus.sassClose}")
+
+//    @Value("${en-plus.sassClose}")
     public String saasClose;
 
 

+ 13 - 16
service/src/main/java/com/kym/service/miniapp/impl/ChargeServiceImpl.java

@@ -5,7 +5,7 @@ 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.config.EnPlusConfig;
+import com.kym.common.annotation.PlatformConvert;
 import com.kym.common.constant.ResponseEnum;
 import com.kym.common.exception.BusinessException;
 import com.kym.common.utils.CommUtil;
@@ -22,7 +22,7 @@ import com.kym.service.admin.EquipmentInfoService;
 import com.kym.service.admin.EquipmentRelationService;
 import com.kym.service.cache.KymCache;
 import com.kym.service.cache.PlatformCache;
-import com.kym.service.enplus.PlatformApiService;
+import com.kym.service.platform.PlatformApiService;
 import com.kym.service.jobs.DelayService;
 import com.kym.service.miniapp.*;
 import org.slf4j.Logger;
@@ -60,14 +60,14 @@ public class ChargeServiceImpl implements ChargeService {
     private final OrderCouponService orderCouponService;
     private final AccountService accountService;
     private final PlatformApiService enPlusService;
-    private final EnPlusConfig enPlusConfig;
     private final DelayService<DelayChargeOrder> startDelayService;
     private final DelayService<DelayChargeOrder> stopDelayService;
 
     public ChargeServiceImpl(EquipmentRelationService equipmentRelationService, EquipmentInfoService equipmentInfoService,
                              ConnectorInfoService connectorInfoService, ChargeOrderService chargeOrderService,
-                             OrderRechargeRightsService orderRechargeRightsService, UserRechargeRightsService userRechargeRightsService, UserCouponService userCouponService, OrderCouponService orderCouponService,
-                             AccountService accountService, PlatformApiService enPlusService, EnPlusConfig enPlusConfig,
+                             OrderRechargeRightsService orderRechargeRightsService, UserRechargeRightsService userRechargeRightsService,
+                             UserCouponService userCouponService, OrderCouponService orderCouponService,
+                             AccountService accountService, PlatformApiService enPlusService,
                              @Qualifier("StartChargeDelayJob") @Lazy DelayService<DelayChargeOrder> startDelayService,
                              @Qualifier("StopChargeDelayJob") @Lazy DelayService<DelayChargeOrder> stopDelayService, StringRedisTemplate redisTemplate) {
         this.equipmentRelationService = equipmentRelationService;
@@ -80,7 +80,6 @@ public class ChargeServiceImpl implements ChargeService {
         this.orderCouponService = orderCouponService;
         this.accountService = accountService;
         this.enPlusService = enPlusService;
-        this.enPlusConfig = enPlusConfig;
         this.startDelayService = startDelayService;
         this.stopDelayService = stopDelayService;
         this.redisTemplate = redisTemplate;
@@ -210,7 +209,7 @@ public class ChargeServiceImpl implements ChargeService {
 
         if (order == null) {
             // 充电订单号/设备认证号
-            String startChargeSeq = OrderUtils.getOrderNo(enPlusConfig.getOperatorId());
+            String startChargeSeq = OrderUtils.getOrderNo(PlatformCache.INSTANCE.getPlatformByName(PlatformCache.INSTANCE.getPlatformNameByConnectorId(connectorId)).getOperatorId());
 
             // 组装订单数据
             order = new ChargeOrder();
@@ -298,10 +297,7 @@ public class ChargeServiceImpl implements ChargeService {
             }
         }
 
-        // 传递给EN+的余额要小于实际余额,防止订单超扣的情况,这里少传0.5元
-        // TODO: 2023-11-30 快充这里考虑过充的金额要提高
-        var amount = account.getBalance() - 50;
-        return startCharge(order, connectorId, amount);
+        return startCharge(order, connectorId, account.getBalance());
 
     }
 
@@ -369,10 +365,10 @@ public class ChargeServiceImpl implements ChargeService {
      *
      * @param order
      * @param connectorId
-     * @param amount
+     * @param balance
      * @return
      */
-    private Map<String, String> startCharge(ChargeOrder order, String connectorId, int amount) {
+    private Map<String, String> startCharge(ChargeOrder order, String connectorId, int balance) {
 
         // 请求设备认证
         var equipAuth = enPlusService.queryEquipAuth(PlatformCache.INSTANCE.getPlatformNameByConnectorId(connectorId), connectorId, order.getStartChargeSeq());
@@ -384,7 +380,7 @@ public class ChargeServiceImpl implements ChargeService {
             try {
                 // 二维码文本
                 var qrCode = "";
-                startCharge = enPlusService.queryStartCharge(PlatformCache.INSTANCE.getPlatformNameByConnectorId(connectorId), order.getStartChargeSeq(), connectorId, qrCode, amount);
+                startCharge = enPlusService.queryStartCharge(PlatformCache.INSTANCE.getPlatformNameByConnectorId(connectorId), order.getStartChargeSeq(), connectorId, qrCode, balance);
             } catch (Exception e) {
                 // 这里可能超时,忽略
                 LOGGER.error("EN+启动充电超时,订单:{}", order.getStartChargeSeq());
@@ -570,8 +566,9 @@ public class ChargeServiceImpl implements ChargeService {
      */
     @Override
     public EnBusinessPolicy queryEquipBusinessPolicy(String connectorId) {
-        var equipBizSeq = OrderUtils.getOrderNo(enPlusConfig.getOperatorId());
-        var data = enPlusService.queryEquipBusinessPolicy(PlatformCache.INSTANCE.getPlatformNameByConnectorId(connectorId), equipBizSeq, 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);
     }
 

+ 1 - 3
service/src/main/java/com/kym/service/enplus/Api.java → service/src/main/java/com/kym/service/platform/Api.java

@@ -1,6 +1,4 @@
-package com.kym.service.enplus;
-
-import org.springframework.web.bind.annotation.RequestMethod;
+package com.kym.service.platform;
 
 /**
  * @author skyline

+ 2 - 3
service/src/main/java/com/kym/service/enplus/EnPlusApi.java → service/src/main/java/com/kym/service/platform/CommonApi.java

@@ -1,8 +1,7 @@
-package com.kym.service.enplus;
+package com.kym.service.platform;
 
 import com.kym.service.cache.PlatformCache;
 import lombok.AllArgsConstructor;
-import lombok.Getter;
 import org.springframework.web.bind.annotation.RequestMethod;
 
 
@@ -12,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
  * @date 2023-07-29 12:33
  */
 @AllArgsConstructor
-public enum EnPlusApi implements Api {
+public enum CommonApi implements Api {
 
     // 认证-获取token
     EN_PLUS_QUERY_TOKEN("query_token", RequestMethod.POST), //获取AccessToken

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

@@ -1,4 +1,4 @@
-package com.kym.service.enplus;
+package com.kym.service.platform;
 
 import com.alibaba.fastjson2.JSONObject;
 

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

@@ -1,4 +1,4 @@
-package com.kym.service.enplus;
+package com.kym.service.platform;
 
 import com.alibaba.fastjson2.JSONObject;
 import com.kym.common.annotation.DynamicCache;
@@ -21,7 +21,6 @@ public interface PlatformApiService {
 
     String signValidation(String platformName, JSONObject json);
 
-
     JSONObject queryEquipAuth(String platformName, String connectorId, String equipAuthSeq);
 
     @DynamicCache(spel = "#connectorId")

+ 3 - 3
service/src/main/java/com/kym/service/enplus/impl/EnNotifyServiceImpl.java → service/src/main/java/com/kym/service/platform/impl/EnNotifyServiceImpl.java

@@ -1,4 +1,4 @@
-package com.kym.service.enplus.impl;
+package com.kym.service.platform.impl;
 
 import cn.hutool.extra.mail.MailUtil;
 import com.alibaba.fastjson2.JSONObject;
@@ -17,8 +17,8 @@ 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.enplus.EnNotifyService;
-import com.kym.service.enplus.PlatformApiService;
+import com.kym.service.platform.EnNotifyService;
+import com.kym.service.platform.PlatformApiService;
 import com.kym.service.factory.DiscountStrategyFactory;
 import com.kym.service.miniapp.*;
 import jakarta.annotation.PostConstruct;

+ 19 - 15
service/src/main/java/com/kym/service/enplus/impl/PlatformApiServiceImpl.java → service/src/main/java/com/kym/service/platform/impl/PlatformApiServiceImpl.java

@@ -1,25 +1,28 @@
-package com.kym.service.enplus.impl;
+package com.kym.service.platform.impl;
 
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.LocalDateTimeUtil;
 import cn.hutool.crypto.digest.HMac;
 import cn.hutool.crypto.digest.HmacAlgorithm;
 import com.alibaba.fastjson2.JSONObject;
+import com.kym.common.annotation.ConnectorID;
 import com.kym.common.annotation.DynamicCache;
+import com.kym.common.annotation.PlatformConvert;
+import com.kym.common.annotation.PlatformName;
 import com.kym.common.constant.ResponseEnum;
-import com.kym.service.enplus.EnPlusApi;
 import com.kym.common.exception.BusinessException;
 import com.kym.common.exception.EnPushException;
 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.service.cache.PlatformCache;
-import com.kym.service.enplus.PlatformApiService;
+import com.kym.service.platform.CommonApi;
+import com.kym.service.platform.PlatformApiService;
 import lombok.extern.slf4j.Slf4j;
 import okhttp3.*;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
@@ -126,7 +129,7 @@ public class PlatformApiServiceImpl implements PlatformApiService {
 
         var requestParams = buildPlatformParams(platformName, data);
 
-        var response = platformGetToken(EnPlusApi.EN_PLUS_QUERY_TOKEN.getApi(platformName), requestParams);
+        var response = platformGetToken(CommonApi.EN_PLUS_QUERY_TOKEN.getApi(platformName), requestParams);
 
         if (response != null && 0 == response.getRet()) {
             // 解密Data获取token
@@ -237,15 +240,16 @@ public class PlatformApiServiceImpl implements PlatformApiService {
      * @param equipAuthSeq 格式:运营商ID+唯一编码 27字符
      * @return
      */
+    @PlatformConvert
     @Override
-    public JSONObject queryEquipAuth(String platformName, String connectorId, String equipAuthSeq) {
+    public JSONObject queryEquipAuth(@PlatformName String platformName, @ConnectorID String connectorId, String equipAuthSeq) {
         var param = """
                 {
                     "EquipAuthSeq":"%s",
                     "ConnectorID":"%s"
                 }
-                """.formatted(equipAuthSeq, connectorId);
-        var response = platformPost(platformName, EnPlusApi.EN_PLUS_QUERY_EQUIP_AUTH.getApi(platformName), buildPlatformParams(platformName, param));
+                """.formatted(equipAuthSeq, PlatformConvertUtil.convert2LongshineConnectorId(connectorId));
+        var response = platformPost(platformName, CommonApi.EN_PLUS_QUERY_EQUIP_AUTH.getApi(platformName), buildPlatformParams(platformName, param));
 
         return parsePlatformResponseData(response, platformName);
     }
@@ -268,7 +272,7 @@ public class PlatformApiServiceImpl implements PlatformApiService {
                     "ConnectorID":"%s"
                 }
                 """.formatted(equipBizSeq, connectorId);
-        var response = platformPost(platformName, EnPlusApi.EN_PLUS_QUERY_EQUIP_BUSINESS_POLICY.getApi(platformName), buildPlatformParams(platformName, param));
+        var response = platformPost(platformName, CommonApi.EN_PLUS_QUERY_EQUIP_BUSINESS_POLICY.getApi(platformName), buildPlatformParams(platformName, param));
         return parsePlatformResponseData(response, platformName);
     }
 
@@ -289,10 +293,10 @@ public class PlatformApiServiceImpl implements PlatformApiService {
                     "StartChargeSeq":"%s",
                     "ConnectorID":"%s",
                     "QRCode":"%s",
-                    "amount":"%d"
                 }
-                """.formatted(startChargeSeq, connectorId, qrCode, amount);
-        var response = platformPost(platformName, EnPlusApi.EN_PLUS_QUERY_START_CHARGE.getApi(platformName), buildPlatformParams(platformName, param));
+                """.formatted(startChargeSeq, PlatformConvertUtil.convert2LongshineConnectorId(connectorId), qrCode);
+        var completeParams = PlatformConvertUtil.queryStartChargeParamsConvert(platformName, param, amount);
+        var response = platformPost(platformName, CommonApi.EN_PLUS_QUERY_START_CHARGE.getApi(platformName), buildPlatformParams(platformName, completeParams));
         return parsePlatformResponseData(response, platformName);
     }
 
@@ -310,7 +314,7 @@ public class PlatformApiServiceImpl implements PlatformApiService {
                     "StartChargeSeq":"%s"
                 }
                 """.formatted(startChargeSeq);
-        var response = platformPost(platformName, EnPlusApi.EN_PLUS_QUERY_EQUIP_CHARGE_STATUS.getApi(platformName), buildPlatformParams(platformName, param));
+        var response = platformPost(platformName, CommonApi.EN_PLUS_QUERY_EQUIP_CHARGE_STATUS.getApi(platformName), buildPlatformParams(platformName, param));
         return parsePlatformResponseData(response, platformName);
     }
 
@@ -330,7 +334,7 @@ public class PlatformApiServiceImpl implements PlatformApiService {
                     "amount":%d
                 }
                 """.formatted(startChargeSeq, amount);
-        var response = platformPost(platformName, EnPlusApi.EN_PLUS_QUERY_EQUIP_CHARGE_STATUS.getApi(platformName), buildPlatformParams(platformName, param));
+        var response = platformPost(platformName, CommonApi.EN_PLUS_QUERY_EQUIP_CHARGE_STATUS.getApi(platformName), buildPlatformParams(platformName, param));
         return parsePlatformResponseData(response, platformName);
     }
 
@@ -350,7 +354,7 @@ public class PlatformApiServiceImpl implements PlatformApiService {
                     "ConnectorID":"%s"
                 }
                 """.formatted(startChargeSeq, connectorId);
-        var response = platformPost(platformName, EnPlusApi.EN_PLUS_QUERY_STOP_CHARGE.getApi(platformName), buildPlatformParams(platformName, param));
+        var response = platformPost(platformName, CommonApi.EN_PLUS_QUERY_STOP_CHARGE.getApi(platformName), buildPlatformParams(platformName, param));
         return parsePlatformResponseData(response, platformName);
     }
 

+ 1 - 1
service/src/main/java/com/kym/service/wechat/impl/WxPayServiceImpl.java

@@ -24,7 +24,7 @@ import com.kym.entity.wechat.*;
 import com.kym.service.admin.ActivityService;
 import com.kym.service.admin.InvoiceDetailService;
 import com.kym.service.cache.PlatformCache;
-import com.kym.service.enplus.PlatformApiService;
+import com.kym.service.platform.PlatformApiService;
 import com.kym.service.miniapp.*;
 import com.kym.service.wechat.WxPayService;
 import com.wechat.pay.java.core.Config;