浏览代码

refactor(api): 将ChargingController接口调用改为POST并使用DTO接收参数

- 将查询业务策略接口由GET改为POST,参数封装为QueryEquipBusinessPolicyRequestDTO
- 将请求设备认证接口由GET改为POST,参数封装为QueryEquipAuthRequestDTO
- 将查询充电站信息接口由GET改为POST,参数封装为QueryStationsInfoRequestDTO
- 将查询充电状态接口由GET改为POST,参数封装为QueryChargingStatusRequestDTO
- 将请求停止充电接口由GET改为POST,参数封装为StopChargingRequestDTO
- 新增相关请求参数的DTO类,统一请求参数封装格式
- 删除业务侧Mapper接口ChargingOrderMapper和ChargingStationMapper代码
SheepHy 1 周之前
父节点
当前提交
0e1fb60634

+ 0 - 17
src/main/java/com/zsElectric/openapi/business/mapper/ChargingOrderMapper.java

@@ -1,17 +0,0 @@
-package com.zsElectric.openapi.business.mapper;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * 充电订单Mapper(业务系统数据)
- * 使用@DS("business")注解指定使用业务数据库
- *
- * @author Ray.Hao
- */
-@Mapper
-@DS("business") // 指定使用业务数据库
-public interface ChargingOrderMapper extends BaseMapper<ChargingOrder> {
-
-}

+ 0 - 17
src/main/java/com/zsElectric/openapi/business/mapper/ChargingStationMapper.java

@@ -1,17 +0,0 @@
-package com.zsElectric.openapi.business.mapper;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * 充电站Mapper(业务系统数据)
- * 使用@DS("business")注解指定使用业务数据库
- *
- * @author Ray.Hao
- */
-@Mapper
-@DS("business") // 指定使用业务数据库
-public interface ChargingStationMapper extends BaseMapper<ChargingStation> {
-
-}

+ 20 - 36
src/main/java/com/zsElectric/openapi/controller/ChargingController.java

@@ -3,11 +3,10 @@ package com.zsElectric.openapi.controller;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.zsElectric.openapi.business.service.ChargingBusinessService;
 import com.zsElectric.openapi.common.Result;
-import com.zsElectric.openapi.dto.StartChargingRequestDTO;
+import com.zsElectric.openapi.dto.*;
 import com.zsElectric.openapi.mapper.ApiLogMapper;
 import com.zsElectric.openapi.vo.*;
 import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -33,14 +32,11 @@ public class ChargingController {
      * 查询业务策略信息
      */
     @Operation(summary = "查询业务策略信息", description = "查询充电桩的价格策略信息")
-    @GetMapping("/query_equip_business_policy")
+    @PostMapping("/query_equip_business_policy")
     public Result<ChargingPricePolicyVO> queryEquipBusinessPolicy(
-            @Parameter(description = "设备业务流水号", example = "123456789123456789123456789")
-            @RequestParam("EquipBizSeq") String EquipBizSeq,
-            @Parameter(description = "充电设备接口编码")
-            @RequestParam("ConnectorID") String ConnectorID) throws Exception {
-        log.info("查询业务策略信息, EquipBizSeq={}, ConnectorID={}", EquipBizSeq, ConnectorID);
-        ChargingPricePolicyVO result = chargingBusinessService.queryEquipBusinessPolicy(EquipBizSeq, ConnectorID);
+            @RequestBody QueryEquipBusinessPolicyRequestDTO requestDTO) throws Exception {
+        log.info("查询业务策略信息, EquipBizSeq={}, ConnectorID={}", requestDTO.getEquipBizSeq(), requestDTO.getConnectorID());
+        ChargingPricePolicyVO result = chargingBusinessService.queryEquipBusinessPolicy(requestDTO.getEquipBizSeq(), requestDTO.getConnectorID());
         return Result.success(result);
     }
 
@@ -48,14 +44,11 @@ public class ChargingController {
      * 请求设备认证
      */
     @Operation(summary = "请求设备认证", description = "设备认证请求")
-    @GetMapping("/query_equip_auth")
+    @PostMapping("/query_equip_auth")
     public Result<EquipmentAuthResponseVO> queryEquipAuth(
-            @Parameter(description = "设备认证流水号")
-            @RequestParam("EquipAuthSeq") String EquipAuthSeq,
-            @Parameter(description = "充电设备接口编码")
-            @RequestParam("ConnectorID") String ConnectorID) throws JsonProcessingException {
-        log.info("请求设备认证, EquipAuthSeq={}, ConnectorID={}", EquipAuthSeq, ConnectorID);
-        EquipmentAuthResponseVO result = chargingBusinessService.queryEquipAuth(EquipAuthSeq, ConnectorID);
+            @RequestBody QueryEquipAuthRequestDTO requestDTO) throws JsonProcessingException {
+        log.info("请求设备认证, EquipAuthSeq={}, ConnectorID={}", requestDTO.getEquipAuthSeq(), requestDTO.getConnectorID());
+        EquipmentAuthResponseVO result = chargingBusinessService.queryEquipAuth(requestDTO.getEquipAuthSeq(), requestDTO.getConnectorID());
         return Result.success(result);
     }
 
@@ -63,16 +56,11 @@ public class ChargingController {
      * 查询充电站信息
      */
     @Operation(summary = "查询充电站信息", description = "查询充电站基本信息")
-    @GetMapping("/query_stations_info")
+    @PostMapping("/query_stations_info")
     public Result<QueryStationsInfoVO> queryStationsInfo(
-            @Parameter(description = "最后一次查询时间")
-            @RequestParam(value = "LastQueryTime", required = false) String LastQueryTime,
-            @Parameter(description = "页码")
-            @RequestParam(value = "PageNo", defaultValue = "1") Integer PageNo,
-            @Parameter(description = "页大小")
-            @RequestParam(value = "PageSize", defaultValue = "10") Integer PageSize) throws Exception {
-        log.info("查询充电站信息, LastQueryTime={}, PageNo={}, PageSize={}", LastQueryTime, PageNo, PageSize);
-        QueryStationsInfoVO result = chargingBusinessService.queryStationsInfo(LastQueryTime, PageNo, PageSize);
+            @RequestBody QueryStationsInfoRequestDTO requestDTO) throws Exception {
+        log.info("查询充电站信息, LastQueryTime={}, PageNo={}, PageSize={}", requestDTO.getLastQueryTime(), requestDTO.getPageNo(), requestDTO.getPageSize());
+        QueryStationsInfoVO result = chargingBusinessService.queryStationsInfo(requestDTO.getLastQueryTime(), requestDTO.getPageNo(), requestDTO.getPageSize());
         return Result.success(result);
     }
 
@@ -106,10 +94,9 @@ public class ChargingController {
     @Operation(summary = "查询充电状态", description = "查询当前充电状态")
     @PostMapping("/query_equip_charge_status")
     public Result<ChargingStatusQueryResponseVO> queryChargingStatus(
-            @Parameter(description = "充电订单号(格式:运营商ID+唯一编号)")
-            @RequestParam("StartChargeSeq") String StartChargeSeq) throws JsonProcessingException {
-        log.info("查询充电状态, StartChargeSeq={}", StartChargeSeq);
-        ChargingStatusQueryResponseVO result = chargingBusinessService.queryChargingStatus(StartChargeSeq);
+            @RequestBody QueryChargingStatusRequestDTO requestDTO) throws JsonProcessingException {
+        log.info("查询充电状态, StartChargeSeq={}", requestDTO.getStartChargeSeq());
+        ChargingStatusQueryResponseVO result = chargingBusinessService.queryChargingStatus(requestDTO.getStartChargeSeq());
         return Result.success(result);
     }
 
@@ -117,14 +104,11 @@ public class ChargingController {
      * 请求停止充电
      */
     @Operation(summary = "请求停止充电", description = "停止充电")
-    @GetMapping("/query_stop_charge")
+    @PostMapping("/query_stop_charge")
     public Result<StopChargingOperationResponseVO> stopCharging(
-            @Parameter(description = "充电订单号(格式:运营商ID+唯一编号)")
-            @RequestParam("StartChargeSeq") String StartChargeSeq,
-            @Parameter(description = "充电设备接口编码")
-            @RequestParam("ConnectorID") String ConnectorID) throws JsonProcessingException {
-        log.info("请求停止充电, StartChargeSeq={}, ConnectorID={}", StartChargeSeq, ConnectorID);
-        StopChargingOperationResponseVO result = chargingBusinessService.stopCharging(StartChargeSeq, ConnectorID);
+            @RequestBody StopChargingRequestDTO requestDTO) throws JsonProcessingException {
+        log.info("请求停止充电, StartChargeSeq={}, ConnectorID={}", requestDTO.getStartChargeSeq(), requestDTO.getConnectorID());
+        StopChargingOperationResponseVO result = chargingBusinessService.stopCharging(requestDTO.getStartChargeSeq(), requestDTO.getConnectorID());
         return Result.success(result);
     }
 }

+ 20 - 0
src/main/java/com/zsElectric/openapi/dto/QueryChargingStatusRequestDTO.java

@@ -0,0 +1,20 @@
+package com.zsElectric.openapi.dto;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+@Schema(description = "查询充电状态DTO")
+@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
+public class QueryChargingStatusRequestDTO {
+
+    @NotBlank(message = "充电订单号不能为空")
+    @Schema(description = "充电订单号(格式:运营商ID+唯一编号)", required = true)
+    @JsonProperty("StartChargeSeq")
+    private String startChargeSeq;
+}

+ 25 - 0
src/main/java/com/zsElectric/openapi/dto/QueryEquipAuthRequestDTO.java

@@ -0,0 +1,25 @@
+package com.zsElectric.openapi.dto;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+@Schema(description = "请求设备认证DTO")
+@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
+public class QueryEquipAuthRequestDTO {
+
+    @NotBlank(message = "设备认证流水号不能为空")
+    @Schema(description = "设备认证流水号", required = true)
+    @JsonProperty("EquipAuthSeq")
+    private String equipAuthSeq;
+
+    @NotBlank(message = "充电设备接口编码不能为空")
+    @Schema(description = "充电设备接口编码", required = true)
+    @JsonProperty("ConnectorID")
+    private String connectorID;
+}

+ 25 - 0
src/main/java/com/zsElectric/openapi/dto/QueryEquipBusinessPolicyRequestDTO.java

@@ -0,0 +1,25 @@
+package com.zsElectric.openapi.dto;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+@Schema(description = "查询业务策略信息DTO")
+@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
+public class QueryEquipBusinessPolicyRequestDTO {
+
+    @NotBlank(message = "设备业务流水号不能为空")
+    @Schema(description = "设备业务流水号", example = "123456789123456789123456789", required = true)
+    @JsonProperty("EquipBizSeq")
+    private String equipBizSeq;
+
+    @NotBlank(message = "充电设备接口编码不能为空")
+    @Schema(description = "充电设备接口编码", required = true)
+    @JsonProperty("ConnectorID")
+    private String connectorID;
+}

+ 29 - 0
src/main/java/com/zsElectric/openapi/dto/QueryStationsInfoRequestDTO.java

@@ -0,0 +1,29 @@
+package com.zsElectric.openapi.dto;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+@Schema(description = "查询充电站信息DTO")
+@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
+public class QueryStationsInfoRequestDTO {
+
+    @Schema(description = "最后一次查询时间")
+    @JsonProperty("LastQueryTime")
+    private String lastQueryTime;
+
+    @Schema(description = "页码", defaultValue = "1", required = true)
+    @JsonProperty("PageNo")
+    @NotNull
+    private Integer pageNo;
+
+    @Schema(description = "页大小", defaultValue = "10", required = true)
+    @JsonProperty("PageSize")
+    @NotNull
+    private Integer pageSize;
+}

+ 29 - 0
src/main/java/com/zsElectric/openapi/dto/StopChargingRequestDTO.java

@@ -0,0 +1,29 @@
+package com.zsElectric.openapi.dto;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+@Schema(description = "请求停止充电DTO")
+@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
+public class StopChargingRequestDTO {
+
+    @NotBlank(message = "充电订单号不能为空")
+    @Schema(description = "充电订单号(格式:运营商ID+唯一编号)",
+            example = "123456789201805071630123456",
+            required = true)
+    @JsonProperty("StartChargeSeq")
+    private String startChargeSeq;
+
+    @NotBlank(message = "充电设备接口编码不能为空")
+    @Schema(description = "充电设备接口编码",
+            example = "3702120244102_1",
+            required = true)
+    @JsonProperty("ConnectorID")
+    private String connectorID;
+}