ChargeDeviceController.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package com.zsElectric.boot.app.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.zsElectric.boot.app.model.entity.ChargeDevice;
  4. import com.zsElectric.boot.app.model.form.ChargeDeviceForm;
  5. import com.zsElectric.boot.app.model.query.ChargeDevicePageQuery;
  6. import com.zsElectric.boot.app.model.vo.ChargeDevicePageVO;
  7. import com.zsElectric.boot.app.service.ChargeDeviceService;
  8. import com.zsElectric.boot.common.enums.LogModuleEnum;
  9. import com.zsElectric.boot.common.annotation.Log;
  10. import com.zsElectric.boot.core.web.PageResult;
  11. import com.zsElectric.boot.core.web.Result;
  12. import io.swagger.v3.oas.annotations.Operation;
  13. import io.swagger.v3.oas.annotations.Parameter;
  14. import io.swagger.v3.oas.annotations.tags.Tag;
  15. import jakarta.validation.Valid;
  16. import lombok.RequiredArgsConstructor;
  17. import org.springframework.security.access.prepost.PreAuthorize;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.util.List;
  20. /**
  21. * 充电桩信息前端控制器
  22. *
  23. * @author boxun
  24. * @since 2024-07-29
  25. */
  26. @Tag(name = "充电桩信息接口")
  27. @RestController
  28. @RequestMapping("/api/v1/app/charge-device")
  29. @RequiredArgsConstructor
  30. public class ChargeDeviceController {
  31. private final ChargeDeviceService chargeDeviceService;
  32. @Operation(summary = "充电桩信息分页列表")
  33. @GetMapping("/page")
  34. @Log(value = "充电桩信息分页列表", module = LogModuleEnum.DEVICE)
  35. public PageResult<ChargeDevicePageVO> listPagedChargeDevices(ChargeDevicePageQuery queryParams) {
  36. IPage<ChargeDevicePageVO> result = chargeDeviceService.listPagedChargeDevices(queryParams);
  37. return PageResult.success(result);
  38. }
  39. @Operation(summary = "新增充电桩信息")
  40. @PostMapping
  41. @PreAuthorize("hasAuthority('app:chargeDevice:add')")
  42. @Log(value = "新增充电桩信息", module = LogModuleEnum.DEVICE)
  43. public Result<Boolean> saveChargeDevice(@RequestBody @Valid ChargeDeviceForm formData) {
  44. boolean result = chargeDeviceService.saveChargeDevice(formData);
  45. return Result.judge(result);
  46. }
  47. @Operation(summary = "充电桩信息表单数据")
  48. @GetMapping("/{id}/form")
  49. public Result<ChargeDeviceForm> getChargeDeviceForm(
  50. @Parameter(description = "充电桩ID") @PathVariable Long id
  51. ) {
  52. ChargeDeviceForm formData = chargeDeviceService.getChargeDeviceFormData(id);
  53. return Result.success(formData);
  54. }
  55. @Operation(summary = "修改充电桩信息")
  56. @PutMapping("/{id}")
  57. @PreAuthorize("hasAuthority('app:chargeDevice:edit')")
  58. @Log(value = "修改充电桩信息", module = LogModuleEnum.DEVICE)
  59. public Result<Boolean> updateChargeDevice(
  60. @Parameter(description = "充电桩ID") @PathVariable Long id,
  61. @RequestBody @Valid ChargeDeviceForm formData
  62. ) {
  63. boolean result = chargeDeviceService.updateChargeDevice(id, formData);
  64. return Result.judge(result);
  65. }
  66. @Operation(summary = "删除充电桩信息")
  67. @DeleteMapping("/{ids}")
  68. @PreAuthorize("hasAuthority('app:chargeDevice:delete')")
  69. @Log(value = "删除充电桩信息", module = LogModuleEnum.DEVICE)
  70. public Result<Boolean> deleteChargeDevices(
  71. @Parameter(description = "充电桩ID,多个以英文逗号(,)分割") @PathVariable String ids
  72. ) {
  73. boolean result = chargeDeviceService.deleteChargeDevices(ids);
  74. return Result.judge(result);
  75. }
  76. @Operation(summary = "根据充电站ID查询充电桩列表")
  77. @GetMapping("/station/{stationId}")
  78. public Result<List<ChargeDevice>> listByStationId(
  79. @Parameter(description = "充电站ID") @PathVariable Long stationId
  80. ) {
  81. List<ChargeDevice> list = chargeDeviceService.listByStationId(stationId);
  82. return Result.success(list);
  83. }
  84. @Operation(summary = "更新充电桩状态")
  85. @PutMapping("/{id}/status/{status}")
  86. @PreAuthorize("hasAuthority('app:chargeDevice:edit')")
  87. @Log(value = "更新充电桩状态", module = LogModuleEnum.DEVICE)
  88. public Result<Boolean> updateDeviceStatus(
  89. @Parameter(description = "充电桩ID") @PathVariable Long id,
  90. @Parameter(description = "状态") @PathVariable Long status
  91. ) {
  92. boolean result = chargeDeviceService.updateDeviceStatus(id, status);
  93. return Result.judge(result);
  94. }
  95. }