skyline 2 éve
szülő
commit
fed411b7fb

+ 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.EnResponse;
+import com.kym.entity.enplus.response.EnResponse;
 import org.springframework.core.MethodParameter;
 import org.springframework.http.MediaType;
 import org.springframework.http.server.ServerHttpRequest;

+ 23 - 0
entity/src/main/java/com/kym/entity/enplus/EnPolicyInfo.java

@@ -0,0 +1,23 @@
+package com.kym.entity.enplus;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author skyline
+ * @description
+ * @date 2023-08-15 16:11
+ */
+public class EnPolicyInfo {
+    /**
+     * 时段开始时间点
+     */
+    private LocalDateTime startTime;
+    /**
+     * 时段电费 小数点后4位
+     */
+    private Double elecPrice;
+    /**
+     * 时段服务费 小数点后4位
+     */
+    private Double servicePrice;
+}

+ 40 - 0
entity/src/main/java/com/kym/entity/enplus/response/EnBusinessPolicy.java

@@ -0,0 +1,40 @@
+package com.kym.entity.enplus.response;
+
+import com.kym.entity.enplus.EnPolicyInfo;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author skyline
+ * @description
+ * @date 2023-08-15 15:58
+ */
+@Data
+public class EnBusinessPolicy {
+    /**
+     * 业务策略查询流水号
+     */
+    private String equipBizSeq;
+    /**
+     * 充电设备接口编码
+     */
+    private String connectorId;
+    /**
+     * 操作结果
+     * 0:失败
+     * 1:成功
+     */
+    private Integer succstat;
+    /**
+     * 失败原因
+     * 0:无
+     * 1:此充电桩业务策略不存在
+     */
+    private Integer failReason;
+    /**
+     * 时段数N 0~32
+     */
+    private Integer sumPeriod;
+    private List<EnPolicyInfo> policyInfos;
+}

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

@@ -1,4 +1,4 @@
-package com.kym.entity.enplus;
+package com.kym.entity.enplus.response;
 
 import lombok.Data;
 import lombok.NoArgsConstructor;

+ 1 - 1
miniapp/src/main/java/com/kym/miniapp/controller/AccountController.java

@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2023-08-07
  */
 @RestController
-@RequestMapping("/api/account/")
+@RequestMapping("/account/")
 public class AccountController {
 
     @Autowired

+ 1 - 1
miniapp/src/main/java/com/kym/miniapp/controller/CarsController.java

@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2023-07-26
  */
 @RestController
-@RequestMapping("/api/cars")
+@RequestMapping("/cars")
 public class CarsController {
 
 }

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

@@ -4,7 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
 import com.kym.common.R;
 import com.kym.common.annotation.SysLog;
 import com.kym.entity.admin.Station;
-import com.kym.entity.enplus.EnResponse;
+import com.kym.entity.enplus.response.EnResponse;
 import com.kym.entity.miniapp.ChargeOrder;
 import com.kym.service.admin.StationService;
 import com.kym.service.enplus.EnNotifyService;
@@ -25,7 +25,7 @@ import java.util.List;
  * @since 2023-06-27
  */
 @RestController
-@RequestMapping("/api/charge/")
+@RequestMapping("/charge/")
 public class ChargerController {
 
     @Autowired
@@ -92,6 +92,10 @@ public class ChargerController {
         return R.success(chargeService.queryEquipChargeStatus(startChargeSeq));
     }
 
+    R businessPolicy(){
+
+        return R.success();
+    }
 
     //====================================================以上是请求EN+接口==============================================================
 
@@ -100,11 +104,12 @@ public class ChargerController {
     //====================================================以下是EN+推送接口==============================================================
 
     /**
-     * EN+ 设备状态变化推送
+     * EN+设备状态变化推送
      *
      * @param json
      * @return 0:接收 1:丢弃/忽略,不需要重试
      */
+    @SysLog("EN+设备状态变化推送")
     @PostMapping("/notification_stationStatus")
     JSONObject notificationStationStatus(@RequestBody JSONObject json) {
         // TODO: 2023-08-05 验签 业务逻辑
@@ -115,11 +120,12 @@ public class ChargerController {
 
 
     /**
-     * EN+ 推送启动充电结果
+     * EN+推送启动充电结果
      *
      * @param json
      * @return StartChargeSeq SuccStat 0:成功 1:失败  FailReason 0:无 1:接收失败
      */
+    @SysLog("EN+推送启动充电结果")
     @PostMapping("/notification_start_charge_result")
     @ResponseBody
     EnResponse notificationStartChargeResult(@RequestBody JSONObject json) {
@@ -128,11 +134,12 @@ public class ChargerController {
 
 
     /**
-     * 推送启动充电结果
+     * EN+推送启动状态
      *
      * @param json
      * @return
      */
+    @SysLog("EN+推送启动充电结果")
     @PostMapping("/notification_start_charge_status")
     EnResponse notificationStartChargeStatus(@RequestBody JSONObject json) {
         return new EnResponse(enNotifyService.handleNotificationEquipChargeStatus(json));

+ 1 - 1
miniapp/src/main/java/com/kym/miniapp/controller/FileController.java

@@ -21,7 +21,7 @@ import java.io.IOException;
  * @date 2023-07-29 10:54
  */
 @RestController
-@RequestMapping("/api/file")
+@RequestMapping("/file")
 public class FileController {
 
     @Resource

+ 1 - 1
miniapp/src/main/java/com/kym/miniapp/controller/PaymentController.java

@@ -16,7 +16,7 @@ import java.math.BigDecimal;
  * @date 2023-07-22 20:36
  */
 @RestController
-@RequestMapping("/api/pay")
+@RequestMapping("/pay")
 public class PaymentController {
 
     @Autowired

+ 1 - 1
miniapp/src/main/java/com/kym/miniapp/controller/UserController.java

@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.*;
  * @since 2023-06-27
  */
 @RestController
-@RequestMapping("/api/user")
+@RequestMapping("/user")
 public class UserController {
 
     @Autowired

+ 5 - 1
service/src/main/java/com/kym/service/enplus/EnPlusService.java

@@ -1,7 +1,7 @@
 package com.kym.service.enplus;
 
 import com.alibaba.fastjson2.JSONObject;
-import com.kym.entity.enplus.EnResponse;
+import com.kym.entity.enplus.response.EnResponse;
 
 /**
  * @author skyline
@@ -20,6 +20,10 @@ public interface EnPlusService {
 
     JSONObject queryEquipAuth(String connectorId, String equipAuthSeq);
 
+    JSONObject queryEquipBusinessPolicy(String equipBizSeq, String connectorId);
+
+    JSONObject queryStartCharge(String startChargeSeq, String connectorId, String qrCode, Integer amount);
+
     JSONObject queryEquipChargeStatus(String startChargeSeq);
 
     JSONObject queryStopCharge(String startChargeSeq, String connectorId);

+ 13 - 9
service/src/main/java/com/kym/service/enplus/impl/EnPlusServiceImpl.java

@@ -11,7 +11,7 @@ import com.kym.common.exception.BusinessException;
 import com.kym.common.exception.EnPushException;
 import com.kym.common.utils.AESUtil;
 import com.kym.entity.enplus.EnRespQueryToken;
-import com.kym.entity.enplus.EnResponse;
+import com.kym.entity.enplus.response.EnResponse;
 import com.kym.service.enplus.EnPlusService;
 import okhttp3.*;
 import org.slf4j.Logger;
@@ -216,36 +216,40 @@ public class EnPlusServiceImpl implements EnPlusService {
      * 查询业务策略信息
      *
      * @param equipBizSeq 业务策略查询流水号 格式:运营商ID+唯一编码 27字符
-     * @param connectorID 充电设备接口编码
+     * @param connectorId 充电设备接口编码
      * @return
      */
-    JSONObject queryEquipBusinessPolicy(String equipBizSeq, String connectorID) {
+    @Override
+    public JSONObject queryEquipBusinessPolicy(String equipBizSeq, String connectorId) {
         var param = """
                 {
                     "EquipBizSeq":%s,
                     "ConnectorID":%s
                 }
-                """.formatted(equipBizSeq, connectorID);
+                """.formatted(equipBizSeq, connectorId);
         var response = enPlusPost(EnPlusApi.EN_PLUS_QUERY_STATION_STATS.getApi(), buildParams(param));
         return JSONObject.parseObject(AESUtil.decrypt(response.getData()));
     }
 
     /**
-     * 请求启动充电
+     * 请求EN+启动充电
      *
      * @param startChargeSeq
-     * @param connectorID
+     * @param connectorId
      * @param qrCode
+     * @param amount
      * @return
      */
-    JSONObject queryStartCharge(String startChargeSeq, String connectorID, String qrCode) {
+    @Override
+    public JSONObject queryStartCharge(String startChargeSeq, String connectorId, String qrCode, Integer amount) {
         var param = """
                 {
                     "StartChargeSeq":%s,
                     "ConnectorID":%s,
-                    "QRCode":%s
+                    "QRCode":%s,
+                    "amount",%d
                 }
-                """.formatted(startChargeSeq, connectorID, qrCode);
+                """.formatted(startChargeSeq, connectorId, qrCode, amount);
         var response = enPlusPost(EnPlusApi.EN_PLUS_QUERY_START_CHARGE.getApi(), buildParams(param));
         return JSONObject.parseObject(AESUtil.decrypt(response.getData()));
     }

+ 8 - 30
service/src/main/java/com/kym/service/miniapp/impl/ChargeServiceImpl.java

@@ -1,11 +1,8 @@
 package com.kym.service.miniapp.impl;
 
 import cn.dev33.satoken.stp.StpUtil;
-import com.alibaba.fastjson2.JSONObject;
 import com.kym.common.constant.ResponseEnum;
-import com.kym.common.enums.EnPlusApi;
 import com.kym.common.exception.BusinessException;
-import com.kym.common.utils.AESUtil;
 import com.kym.common.utils.IDGenerator;
 import com.kym.entity.miniapp.ChargeOrder;
 import com.kym.service.admin.EquipmentInfoService;
@@ -42,9 +39,6 @@ public class ChargeServiceImpl implements ChargeService {
     @Autowired
     private AccountService accountService;
 
-    @Autowired
-    private EquipmentInfoService equipmentInfoService;
-
     @Autowired
     private EnPlusService enPlusService;
 
@@ -94,7 +88,7 @@ public class ChargeServiceImpl implements ChargeService {
             if (equipAuth.containsKey("SuccStat") && equipAuth.getIntValue("SuccStat") == 0) {
                 // TODO 查询业务策略信息(计费信息),目前计费在EN+完成,后续自主计费需要开发
                 // 启动充电
-                var startCharge = queryStartCharge(startChargeSeq, connectorId, qrCode, amount);
+                var startCharge = enPlusService.queryStartCharge(startChargeSeq, connectorId, qrCode, amount);
                 if (startCharge.containsKey("SuccStat") && startCharge.getIntValue("SuccStat") == 0) {
                     // 启动成功,生成充电订单
                     var order = new ChargeOrder();
@@ -136,29 +130,6 @@ public class ChargeServiceImpl implements ChargeService {
     }
 
 
-    /**
-     * 请求EN+启动充电
-     *
-     * @param startChargeSeq
-     * @param connectorId
-     * @param qrCode
-     * @param amount
-     * @return
-     */
-    public JSONObject queryStartCharge(String startChargeSeq, String connectorId, String qrCode, Integer amount) {
-        var param = """
-                {
-                    "StartChargeSeq":%s,
-                    "ConnectorID":%s,
-                    "QRCode":%s,
-                    "amount",%d
-                }
-                """.formatted(startChargeSeq, connectorId, qrCode, amount);
-        var response = enPlusService.enPlusPost(EnPlusApi.EN_PLUS_QUERY_START_CHARGE.getApi(), enPlusService.buildParams(param));
-        return JSONObject.parseObject(AESUtil.decrypt(response.getData()));
-    }
-
-
     /**
      * 请求EN+设备充电状态
      *
@@ -214,4 +185,11 @@ public class ChargeServiceImpl implements ChargeService {
     }
 
 
+    void queryEquipBusinessPolicy(){
+        var equipBizSeq = "";
+        var connectorId = "";
+        var data =enPlusService.queryEquipBusinessPolicy(equipBizSeq, connectorId);
+
+    }
+
 }

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

@@ -159,13 +159,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             car.setUserId(userVo.getId());
             car.setPlateNo(userVo.defaultPlateNo);
             // 设置为默认
-            car.setIsDefult(true);
+            car.setIsDefault(true);
             if (car.getVin() != null) {
                 car.setVin(userVo.getVin());
             }
             // 将用户名下其他车辆设为非默认
             var cars = carsService.listByMap(Map.of("user_id", userVo.getId()));
-            cars.stream().filter(c -> !userVo.getDefaultPlateNo().equals(c.getEngineNo())).peek(s -> s.setIsDefult(false)).collect(Collectors.toList());
+            cars.stream().filter(c -> !userVo.getDefaultPlateNo().equals(c.getEngineNo())).peek(s -> s.setIsDefault(false)).collect(Collectors.toList());
             carsService.updateBatchById(cars);
             var wrapper = new QueryWrapper<Cars>();
             wrapper.eq("plate_no", userVo.getDefaultPlateNo());