diff --git a/src/main/java/com/ycwl/basic/pricing/controller/VoucherUsageController.java b/src/main/java/com/ycwl/basic/pricing/controller/VoucherUsageController.java index b4836415..0c4f47cd 100644 --- a/src/main/java/com/ycwl/basic/pricing/controller/VoucherUsageController.java +++ b/src/main/java/com/ycwl/basic/pricing/controller/VoucherUsageController.java @@ -1,14 +1,11 @@ package com.ycwl.basic.pricing.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ycwl.basic.common.ApiResponse; +import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.pricing.dto.req.VoucherUsageHistoryReq; import com.ycwl.basic.pricing.dto.resp.VoucherUsageRecordResp; import com.ycwl.basic.pricing.dto.resp.VoucherUsageStatsResp; import com.ycwl.basic.pricing.service.IVoucherUsageService; -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 lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -22,13 +19,11 @@ import java.util.List; @RestController @RequestMapping("/api/pricing/voucher/usage") @RequiredArgsConstructor -@Tag(name = "券码使用记录管理", description = "券码使用历史和统计API") public class VoucherUsageController { - + private final IVoucherUsageService voucherUsageService; - + @PostMapping("/history") - @Operation(summary = "分页查询券码使用记录") public ApiResponse> getUsageHistory(@RequestBody VoucherUsageHistoryReq req) { try { Page result = voucherUsageService.getUsageHistory(req); @@ -38,11 +33,10 @@ public class VoucherUsageController { return ApiResponse.fail("查询失败: " + e.getMessage()); } } - + @GetMapping("/{voucherCode}/records") - @Operation(summary = "获取指定券码的使用记录") public ApiResponse> getRecordsByCode( - @Parameter(description = "券码") @PathVariable String voucherCode) { + @PathVariable String voucherCode) { try { List records = voucherUsageService.getUsageRecordsByCode(voucherCode); return ApiResponse.success(records); @@ -51,11 +45,10 @@ public class VoucherUsageController { return ApiResponse.fail("查询失败: " + e.getMessage()); } } - + @GetMapping("/{voucherCode}/stats") - @Operation(summary = "获取券码使用统计信息") public ApiResponse getUsageStats( - @Parameter(description = "券码") @PathVariable String voucherCode) { + @PathVariable String voucherCode) { try { VoucherUsageStatsResp stats = voucherUsageService.getUsageStats(voucherCode); if (stats == null) { @@ -67,12 +60,11 @@ public class VoucherUsageController { return ApiResponse.fail("查询失败: " + e.getMessage()); } } - + @GetMapping("/user/{faceId}/scenic/{scenicId}") - @Operation(summary = "获取用户在指定景区的券码使用记录") public ApiResponse> getUserUsageRecords( - @Parameter(description = "用户faceId") @PathVariable Long faceId, - @Parameter(description = "景区ID") @PathVariable Long scenicId) { + @PathVariable Long faceId, + @PathVariable Long scenicId) { try { List records = voucherUsageService.getUserUsageRecords(faceId, scenicId); return ApiResponse.success(records); @@ -81,11 +73,10 @@ public class VoucherUsageController { return ApiResponse.fail("查询失败: " + e.getMessage()); } } - + @GetMapping("/batch/{batchId}/stats") - @Operation(summary = "获取批次券码使用统计信息") public ApiResponse> getBatchUsageStats( - @Parameter(description = "批次ID") @PathVariable Long batchId) { + @PathVariable Long batchId) { try { List statsList = voucherUsageService.getBatchUsageStats(batchId); return ApiResponse.success(statsList); diff --git a/src/main/java/com/ycwl/basic/pricing/mapper/PriceVoucherUsageRecordMapper.java b/src/main/java/com/ycwl/basic/pricing/mapper/PriceVoucherUsageRecordMapper.java index 324d5a35..4b9c8744 100644 --- a/src/main/java/com/ycwl/basic/pricing/mapper/PriceVoucherUsageRecordMapper.java +++ b/src/main/java/com/ycwl/basic/pricing/mapper/PriceVoucherUsageRecordMapper.java @@ -102,13 +102,13 @@ public interface PriceVoucherUsageRecordMapper extends BaseMapper" + - "SELECT * FROM price_voucher_usage_record WHERE deleted = 0 " + - "AND batch_id = #{batchId} " + - "AND voucher_code LIKE CONCAT('%', #{voucherCode}, '%') " + - "AND face_id = #{faceId} " + - "AND scenic_id = #{scenicId} " + - "AND use_time >= #{startTime} " + - "AND use_time <= #{endTime} " + + "SELECT * FROM price_voucher_usage_record WHERE deleted = 0" + + "AND batch_id = #{batchId}" + + " 0\">AND voucher_code LIKE CONCAT('%', #{voucherCode}, '%')" + + "AND face_id = #{faceId}" + + "AND scenic_id = #{scenicId}" + + "AND use_time >= #{startTime}" + + "AND use_time <= #{endTime}" + "ORDER BY use_time DESC" + "") Page selectPageWithConditions(Page page,