ChargeStationController.java 3.9 KB

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