package com.zsElectric.boot.app.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.zsElectric.boot.app.model.form.StationTimePriceForm; import com.zsElectric.boot.app.model.query.StationTimePricePageQuery; import com.zsElectric.boot.app.model.vo.StationTimePricePageVO; import com.zsElectric.boot.app.service.StationTimePriceService; import com.zsElectric.boot.common.annotation.Log; import com.zsElectric.boot.common.enums.LogModuleEnum; import com.zsElectric.boot.core.web.PageResult; import com.zsElectric.boot.core.web.Result; 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 org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; /** * 充电站时间段单价接口 */ @Tag(name = "充电站时间段单价接口") @RestController @RequestMapping("/api/v1/app/station-time-price") @RequiredArgsConstructor public class StationTimePriceController { private final StationTimePriceService stationTimePriceService; @Operation(summary = "充电站时间段单价分页列表") @GetMapping("/page") @Log(value = "充电站时间段单价分页列表", module = LogModuleEnum.OTHER) public PageResult listPagedStationTimePrices(StationTimePricePageQuery queryParams) { IPage result = stationTimePriceService.listPagedStationTimePrices(queryParams); return PageResult.success(result); } @Operation(summary = "充电站时间段单价详情") @GetMapping("/{id}") @Log(value = "充电站时间段单价详情", module = LogModuleEnum.OTHER) public Result getStationTimePriceFormData( @Parameter(description = "充电站时间段单价ID") @PathVariable Long id) { StationTimePriceForm formData = stationTimePriceService.getStationTimePriceFormData(id); return Result.success(formData); } @Operation(summary = "新增充电站时间段单价") @PostMapping @PreAuthorize("hasRole('ADMIN')") @Log(value = "新增充电站时间段单价", module = LogModuleEnum.OTHER) public Result saveStationTimePrice(@RequestBody StationTimePriceForm formData) { boolean result = stationTimePriceService.saveStationTimePrice(formData); return Result.success(result); } @Operation(summary = "修改充电站时间段单价") @PutMapping("/{id}") @PreAuthorize("hasRole('ADMIN')") @Log(value = "修改充电站时间段单价", module = LogModuleEnum.OTHER) public Result updateStationTimePrice( @Parameter(description = "充电站时间段单价ID") @PathVariable Long id, @RequestBody StationTimePriceForm formData) { boolean result = stationTimePriceService.updateStationTimePrice(id, formData); return Result.success(result); } @Operation(summary = "删除充电站时间段单价") @DeleteMapping("/{ids}") @PreAuthorize("hasRole('ADMIN')") @Log(value = "删除充电站时间段单价", module = LogModuleEnum.OTHER) public Result deleteStationTimePrices( @Parameter(description = "充电站时间段单价ID,多个以英文逗号(,)分割") @PathVariable String ids) { boolean result = stationTimePriceService.deleteStationTimePrices(ids); return Result.success(result); } }