CouponController.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.zsElectric.boot.app.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.zsElectric.boot.app.model.form.CouponForm;
  4. import com.zsElectric.boot.app.model.query.CouponPageQuery;
  5. import com.zsElectric.boot.app.model.vo.CouponPageVO;
  6. import com.zsElectric.boot.app.service.CouponService;
  7. import com.zsElectric.boot.common.annotation.Log;
  8. import com.zsElectric.boot.common.enums.LogModuleEnum;
  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 lombok.RequiredArgsConstructor;
  15. import org.springframework.security.access.prepost.PreAuthorize;
  16. import org.springframework.web.bind.annotation.*;
  17. /**
  18. * 优惠券接口
  19. */
  20. @Tag(name = "优惠券接口")
  21. @RestController
  22. @RequestMapping("/api/v1/app/coupon")
  23. @RequiredArgsConstructor
  24. public class CouponController {
  25. private final CouponService couponService;
  26. @Operation(summary = "优惠券分页列表")
  27. @GetMapping("/page")
  28. @Log(value = "优惠券分页列表", module = LogModuleEnum.OTHER)
  29. public PageResult<CouponPageVO> listPagedCoupons(CouponPageQuery queryParams) {
  30. IPage<CouponPageVO> result = couponService.listPagedCoupons(queryParams);
  31. return PageResult.success(result);
  32. }
  33. @Operation(summary = "优惠券详情")
  34. @GetMapping("/{id}")
  35. @Log(value = "优惠券详情", module = LogModuleEnum.OTHER)
  36. public Result<CouponForm> getCouponFormData(
  37. @Parameter(description = "优惠券ID") @PathVariable Long id) {
  38. CouponForm formData = couponService.getCouponFormData(id);
  39. return Result.success(formData);
  40. }
  41. @Operation(summary = "新增优惠券")
  42. @PostMapping
  43. @PreAuthorize("hasRole('ADMIN')")
  44. @Log(value = "新增优惠券", module = LogModuleEnum.OTHER)
  45. public Result<Boolean> saveCoupon(@RequestBody CouponForm formData) {
  46. boolean result = couponService.saveCoupon(formData);
  47. return Result.success(result);
  48. }
  49. @Operation(summary = "修改优惠券")
  50. @PutMapping("/{id}")
  51. @PreAuthorize("hasRole('ADMIN')")
  52. @Log(value = "修改优惠券", module = LogModuleEnum.OTHER)
  53. public Result<Boolean> updateCoupon(
  54. @Parameter(description = "优惠券ID") @PathVariable Long id,
  55. @RequestBody CouponForm formData) {
  56. boolean result = couponService.updateCoupon(id, formData);
  57. return Result.success(result);
  58. }
  59. @Operation(summary = "删除优惠券")
  60. @DeleteMapping("/{ids}")
  61. @PreAuthorize("hasRole('ADMIN')")
  62. @Log(value = "删除优惠券", module = LogModuleEnum.OTHER)
  63. public Result<Boolean> deleteCoupons(
  64. @Parameter(description = "优惠券ID,多个以英文逗号(,)分割") @PathVariable String ids) {
  65. boolean result = couponService.deleteCoupons(ids);
  66. return Result.success(result);
  67. }
  68. }