|
|
@@ -0,0 +1,115 @@
|
|
|
+package com.zsElectric.boot.app.controller;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.zsElectric.boot.app.model.entity.ChargeOrderInfo;
|
|
|
+import com.zsElectric.boot.app.model.form.ChargeOrderInfoForm;
|
|
|
+import com.zsElectric.boot.app.model.query.ChargeOrderInfoPageQuery;
|
|
|
+import com.zsElectric.boot.app.model.vo.ChargeOrderInfoPageVO;
|
|
|
+import com.zsElectric.boot.app.service.ChargeOrderInfoService;
|
|
|
+import com.zsElectric.boot.common.enums.LogModuleEnum;
|
|
|
+import com.zsElectric.boot.common.annotation.Log;
|
|
|
+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 jakarta.validation.Valid;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
+import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 充电订单信息前端控制器
|
|
|
+ *
|
|
|
+ * @author boxun
|
|
|
+ * @since 2024-07-30
|
|
|
+ */
|
|
|
+@Tag(name = "充电订单信息接口")
|
|
|
+@RestController
|
|
|
+@RequestMapping("/api/v1/app/charge-order")
|
|
|
+@RequiredArgsConstructor
|
|
|
+public class ChargeOrderInfoController {
|
|
|
+
|
|
|
+ private final ChargeOrderInfoService chargeOrderInfoService;
|
|
|
+
|
|
|
+ @Operation(summary = "充电订单信息分页列表")
|
|
|
+ @GetMapping("/page")
|
|
|
+ @Log(value = "充电订单信息分页列表", module = LogModuleEnum.ORDER)
|
|
|
+ public PageResult<ChargeOrderInfoPageVO> listPagedChargeOrderInfos(ChargeOrderInfoPageQuery queryParams) {
|
|
|
+ IPage<ChargeOrderInfoPageVO> result = chargeOrderInfoService.listPagedChargeOrderInfos(queryParams);
|
|
|
+ return PageResult.success(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Operation(summary = "充电订单信息详细列表(包含关联信息)")
|
|
|
+ @GetMapping("/page/details")
|
|
|
+ @Log(value = "充电订单信息详细列表", module = LogModuleEnum.ORDER)
|
|
|
+ public PageResult<ChargeOrderInfoPageVO> listPagedChargeOrderInfosWithDetails(ChargeOrderInfoPageQuery queryParams) {
|
|
|
+ IPage<ChargeOrderInfoPageVO> result = chargeOrderInfoService.listPagedChargeOrderInfosWithDetails(queryParams);
|
|
|
+ return PageResult.success(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Operation(summary = "新增充电订单信息")
|
|
|
+ @PostMapping
|
|
|
+ @PreAuthorize("hasAuthority('app:chargeOrder:add')")
|
|
|
+ @Log(value = "新增充电订单信息", module = LogModuleEnum.ORDER)
|
|
|
+ public Result<Boolean> saveChargeOrderInfo(@RequestBody @Valid ChargeOrderInfoForm formData) {
|
|
|
+ boolean result = chargeOrderInfoService.saveChargeOrderInfo(formData);
|
|
|
+ return Result.judge(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Operation(summary = "充电订单信息表单数据")
|
|
|
+ @GetMapping("/{id}/form")
|
|
|
+ public Result<ChargeOrderInfoForm> getChargeOrderInfoForm(
|
|
|
+ @Parameter(description = "订单ID") @PathVariable Long id
|
|
|
+ ) {
|
|
|
+ ChargeOrderInfoForm formData = chargeOrderInfoService.getChargeOrderInfoFormData(id);
|
|
|
+ return Result.success(formData);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Operation(summary = "修改充电订单信息")
|
|
|
+ @PutMapping("/{id}")
|
|
|
+ @PreAuthorize("hasAuthority('app:chargeOrder:edit')")
|
|
|
+ @Log(value = "修改充电订单信息", module = LogModuleEnum.ORDER)
|
|
|
+ public Result<Boolean> updateChargeOrderInfo(
|
|
|
+ @Parameter(description = "订单ID") @PathVariable Long id,
|
|
|
+ @RequestBody @Valid ChargeOrderInfoForm formData
|
|
|
+ ) {
|
|
|
+ boolean result = chargeOrderInfoService.updateChargeOrderInfo(id, formData);
|
|
|
+ return Result.judge(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Operation(summary = "删除充电订单信息")
|
|
|
+ @DeleteMapping("/{ids}")
|
|
|
+ @PreAuthorize("hasAuthority('app:chargeOrder:delete')")
|
|
|
+ @Log(value = "删除充电订单信息", module = LogModuleEnum.ORDER)
|
|
|
+ public Result<Boolean> deleteChargeOrderInfos(
|
|
|
+ @Parameter(description = "订单ID,多个以英文逗号(,)分割") @PathVariable String ids
|
|
|
+ ) {
|
|
|
+ boolean result = chargeOrderInfoService.deleteChargeOrderInfos(ids);
|
|
|
+ return Result.judge(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Operation(summary = "根据订单号查询订单")
|
|
|
+ @GetMapping("/order-no/{chargeOrderNo}")
|
|
|
+ public Result<ChargeOrderInfoForm> getByChargeOrderNo(
|
|
|
+ @Parameter(description = "充电订单号") @PathVariable String chargeOrderNo
|
|
|
+ ) {
|
|
|
+ ChargeOrderInfo orderInfo = chargeOrderInfoService.getByChargeOrderNo(chargeOrderNo);
|
|
|
+ if (orderInfo == null) {
|
|
|
+ return Result.failed("订单不存在");
|
|
|
+ }
|
|
|
+ ChargeOrderInfoForm formData = chargeOrderInfoService.getChargeOrderInfoFormData(orderInfo.getId());
|
|
|
+ return Result.success(formData);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Operation(summary = "导出充电订单信息")
|
|
|
+ @GetMapping("/export")
|
|
|
+ @PreAuthorize("hasAuthority('app:chargeOrder:export')")
|
|
|
+ @Log(value = "导出充电订单信息", module = LogModuleEnum.ORDER)
|
|
|
+ public Result<List<ChargeOrderInfoPageVO>> exportChargeOrderInfos(ChargeOrderInfoPageQuery queryParams) {
|
|
|
+ List<ChargeOrderInfoPageVO> list = chargeOrderInfoService.listForExport(queryParams);
|
|
|
+ return Result.success(list);
|
|
|
+ }
|
|
|
+}
|