skyline 2 éve
szülő
commit
4b24b40be4

+ 6 - 6
miniapp/src/main/java/com/kym/miniapp/controller/ChargerController.java

@@ -62,9 +62,9 @@ public class ChargerController {
     }
 
     @ApiLog("启动充电")
-    @GetMapping("/startCharge")
-    R startCharge(@RequestParam("connectorId") String connectorId, @RequestParam("stationId") String stationId) {
-        return R.success(chargeService.queryStartCharge(connectorId, stationId));
+    @GetMapping("/startCharge/{connectorId}")
+    R startCharge(@PathVariable("connectorId") String connectorId) {
+        return R.success(chargeService.queryStartCharge(connectorId));
     }
 
     @ApiLog("停止充电")
@@ -75,9 +75,9 @@ public class ChargerController {
     }
 
     @ApiLog("查询充电状态")
-    @GetMapping("/chargeStatus/{startChargeSeq}")
-    R<ChargeOrder> chargeStatus(@PathVariable("startChargeSeq") String startChargeSeq) {
-        return R.success(chargeService.queryEquipChargeStatus(startChargeSeq));
+    @GetMapping("/chargeStatus")
+    R<ChargeOrder> chargeStatus() {
+        return R.success(chargeService.queryEquipChargeStatus());
     }
 
     @ApiLog("查询设备充电策略")

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

@@ -12,9 +12,9 @@ import java.util.Map;
  */
 public interface ChargeService {
 
-    Map queryStartCharge(String connectorId, String stationId);
+    Map queryStartCharge(String connectorId);
 
-    ChargeOrder queryEquipChargeStatus(String startChargeSeq);
+    ChargeOrder queryEquipChargeStatus();
 
     void queryStopCharge(String connectorId);
 

+ 25 - 7
service/src/main/java/com/kym/service/miniapp/impl/ChargeServiceImpl.java

@@ -52,9 +52,11 @@ public class ChargeServiceImpl implements ChargeService {
      * @return
      */
     @Override
-    public Map queryStartCharge(String connectorId, String stationId) {
+    public Map queryStartCharge(String connectorId) {
         var userId = StpUtil.getSession().getLong("userId");
-        connectorId = getConnectorId(connectorId);
+        var map = getConnectorIdAndStationId(connectorId);
+        connectorId = map.get("connectorId");
+        var stationId = map.get("stationId");
 
         // 二维码文本
         var qrCode = "";
@@ -122,15 +124,15 @@ public class ChargeServiceImpl implements ChargeService {
     /**
      * 请求EN+设备充电状态
      *
-     * @param startChargeSeq
      * @return
      */
     @Override
-    public ChargeOrder queryEquipChargeStatus(String startChargeSeq) {
+    public ChargeOrder queryEquipChargeStatus() {
         var userId = StpUtil.getLoginIdAsLong();
         var chargeOrder = chargeOrderService.getChargingOrderByUserId(userId);
         if (chargeOrder != null) {
             // 查询充电
+            var startChargeSeq = chargeOrder.getStartChargeSeq();
             var data = enPlusService.queryEquipChargeStatus(startChargeSeq);
 
             // 更新订单信息
@@ -150,18 +152,34 @@ public class ChargeServiceImpl implements ChargeService {
         }
     }
 
-    public String getConnectorId(String connectorId) {
+    public Map<String, String> getConnectorIdAndStationId(String connectorId) {
+        var stationId = "";
         if (connectorId.length() == 6) {
             // 查询EN+设备SN
             var equipmentRelation = equipmentRelationService.getByShortId(connectorId);
             connectorId = equipmentRelation.getEquipmentId();
+            stationId = equipmentRelation.getStationId();
             if (connectorId.length() == 16) {
                 // 如果是16位,末尾补1作为单枪枪号
                 connectorId = connectorId.concat("1");
             }
+        } else {
+            // 充电桩编号错误
+            LOGGER.error("设备编码错误:{}", connectorId);
+            throw new BusinessException(ResponseEnum.EQUIP_CONNECTOR_ID_ERROR);
         }
-        if (connectorId.length() == 16) {
-            connectorId = connectorId.concat("1");
+        return Map.of("connectorId", connectorId, "stationId", stationId);
+    }
+
+    public String getConnectorId(String connectorId) {
+        if (connectorId.length() == 6) {
+            // 查询EN+设备SN
+            var equipmentRelation = equipmentRelationService.getByShortId(connectorId);
+            connectorId = equipmentRelation.getEquipmentId();
+            if (connectorId.length() == 16) {
+                // 如果是16位,末尾补1作为单枪枪号
+                connectorId = connectorId.concat("1");
+            }
         } else {
             // 充电桩编号错误
             LOGGER.error("设备编码错误:{}", connectorId);