ChargingBusinessController.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package com.zsElectric.boot.charging.controller;
  2. import com.fasterxml.jackson.core.JsonProcessingException;
  3. import com.zsElectric.boot.charging.dto.StartChargingRequestDTO;
  4. import com.zsElectric.boot.charging.dto.StartChargingResponseVO;
  5. import com.zsElectric.boot.charging.service.ChargingBusinessService;
  6. import com.zsElectric.boot.charging.vo.*;
  7. import com.zsElectric.boot.common.annotation.Log;
  8. import com.zsElectric.boot.common.enums.LogModuleEnum;
  9. import com.zsElectric.boot.core.web.Result;
  10. import io.swagger.v3.oas.annotations.Operation;
  11. import io.swagger.v3.oas.annotations.media.Schema;
  12. import io.swagger.v3.oas.annotations.tags.Tag;
  13. import lombok.RequiredArgsConstructor;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.List;
  17. @Slf4j
  18. @RestController
  19. @RequiredArgsConstructor
  20. @Tag(name = "充电业务相关接口")
  21. @RequestMapping("/dev/v1/business")
  22. public class ChargingBusinessController {
  23. private final ChargingBusinessService chargingBusinessService;
  24. /**
  25. * <p>查询业务策略信息</p>
  26. * @author SheepHy
  27. * @param EquipBizSeq 设备业务流水号
  28. * @param ConnectorID 充电设备接口编码
  29. * @return 返回值描述,如无返回值则为void 返回值为类则包含{@link ChargingPricePolicyVO}
  30. *
  31. */
  32. @Operation(summary = "查询业务策略信息")
  33. @GetMapping("/queryEquipBusinessPolicy")
  34. @Log(value = "查询业务策略信息", module = LogModuleEnum.PARKING_CALL, params = true, result = true)
  35. public Result<ChargingPricePolicyVO> queryEquipBusinessPolicy(@RequestParam("EquipBizSeq") @Schema(description = "设备业务流水号", example = "123456789123456789123456789") String EquipBizSeq,
  36. @RequestParam("ConnectorID") @Schema(description = "充电设备接口编码") String ConnectorID) throws Exception{
  37. return Result.success(chargingBusinessService.queryEquipBusinessPolicy(EquipBizSeq, ConnectorID));
  38. }
  39. /**
  40. * <p>请求设备认证</p>
  41. * @author SheepHy
  42. * @param EquipAuthSeq 设备认证流水号
  43. * @param ConnectorID 充电设备接口编码
  44. * @return 返回值描述,如无返回值则为void 返回值为类则包含{@link EquipmentAuthResponseVO}
  45. *
  46. */
  47. @Operation(summary = "请求设备认证")
  48. @GetMapping("/queryEquipAuth")
  49. @Log(value = "请求设备认证", module = LogModuleEnum.PARKING_CALL, params = true, result = true)
  50. public Result<EquipmentAuthResponseVO> queryEquipAuth(String EquipAuthSeq, String ConnectorID) throws JsonProcessingException {
  51. return Result.success(chargingBusinessService.queryEquipAuth(EquipAuthSeq, ConnectorID));
  52. }
  53. /**
  54. * <p>查询充电站信息</p>
  55. * @author wzq
  56. * @param LastQueryTime 最后一次查询时间
  57. * @param PageNo 页码
  58. * @param PageSize 页大小
  59. * @return 充电站信息列表
  60. *
  61. */
  62. @Operation(summary = "查询充电站信息")
  63. @GetMapping("/queryStationsInfo")
  64. @Log(value = "查询充电站信息", module = LogModuleEnum.PARKING_CALL, params = true, result = true)
  65. public Result<QueryStationsInfoVO> queryStationsInfo(@RequestParam(value = "LastQueryTime", required = false) @Schema(description = "最后一次查询时间") String LastQueryTime,
  66. @RequestParam(value = "PageNo",defaultValue = "1") @Schema(description = "页码") Integer PageNo,
  67. @RequestParam(value = "PageSize", defaultValue = "10") @Schema(description = "页大小") Integer PageSize) throws Exception {
  68. return Result.success(chargingBusinessService.queryStationsInfo(LastQueryTime, PageNo, PageSize));
  69. }
  70. /**
  71. * <p>设备接口状态查询</p>
  72. * @author wzq
  73. * @param stationIDs 充电站ID列表
  74. * @return 设备接口状态
  75. *
  76. */
  77. @Operation(summary = "设备接口状态查询")
  78. @PostMapping("/queryStationStatus")
  79. @Log(value = "设备接口状态查询", module = LogModuleEnum.PARKING_CALL, params = true, result = true)
  80. public Result<QueryStationStatusVO> queryStationStatus(@RequestBody List<String> stationIDs) throws JsonProcessingException {
  81. return Result.success(chargingBusinessService.queryStationStatus(stationIDs));
  82. }
  83. /**
  84. * <p>请求启动充电</p>
  85. * @author SheepHy
  86. * @param requestDTO,参数为类则包含{@link StartChargingRequestDTO}
  87. * @return 返回值描述,如无返回值则为void 返回值为类则包含{@link StartChargingResponseVO}
  88. */
  89. @Operation(summary = "请求启动充电")
  90. @PostMapping("/startCharging")
  91. @Log(value = "请求启动充电", module = LogModuleEnum.PARKING_CALL, params = true, result = true)
  92. public Result<StartChargingResponseVO> startCharging(@RequestBody StartChargingRequestDTO requestDTO) throws JsonProcessingException {
  93. return Result.success(chargingBusinessService.startCharging(requestDTO));
  94. }
  95. /**
  96. * <p>查询充电状态</p>
  97. * @author SheepHy
  98. */
  99. @Operation(summary = "查询充电状态")
  100. @PostMapping("/queryChargingStatus")
  101. @Log(value = "查询充电状态", module = LogModuleEnum.PARKING_CALL, params = true, result = true)
  102. public Result<Object> queryChargingStatus(@RequestParam("StartChargeSeq") @Schema(description = "充电订单号(格式:运营商ID+唯一编号)") String StartChargeSeq) throws JsonProcessingException {
  103. return Result.success(chargingBusinessService.queryChargingStatus(StartChargeSeq));
  104. }
  105. /**
  106. * <p>请求停止充电</p>
  107. * @author SheepHy
  108. */
  109. @Operation(summary = "请求停止充电")
  110. @GetMapping("/stopCharging")
  111. @Log(value = "请求停止充电", module = LogModuleEnum.PARKING_CALL, params = true, result = true)
  112. public Result<StopChargingOperationResponseVO> stopCharging(@RequestParam("StartChargeSeq") @Schema(description = "充电订单号(格式:运营商ID+唯一编号)") String StartChargeSeq,
  113. @RequestParam("ConnectorID") @Schema(description = "充电设备接口编码") String ConnectorID) throws JsonProcessingException {
  114. return Result.success(chargingBusinessService.stopCharging(StartChargeSeq, ConnectorID));
  115. }
  116. }