From a768dc3daa04d35fedfbe75c0a59b9b2545b85c4 Mon Sep 17 00:00:00 2001 From: gongzuming <gongzuming> Date: 星期四, 19 九月 2024 16:59:33 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2' --- src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 114 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java new file mode 100644 index 0000000..4bc4d77 --- /dev/null +++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java @@ -0,0 +1,114 @@ +package com.mzl.flower.web.v2.coupon; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.mzl.flower.base.BaseController; +import com.mzl.flower.base.R; +import com.mzl.flower.base.ReturnDataDTO; +import com.mzl.flower.config.exception.ValidationException; +import com.mzl.flower.dto.request.coupon.CreateCouponRecordDTO; +import com.mzl.flower.dto.request.coupon.QueryCouponRecordDTO; +import com.mzl.flower.dto.response.coupon.CouponRecordResultVO; +import com.mzl.flower.dto.response.coupon.CouponRecordVO; +import com.mzl.flower.entity.coupon.CouponRecordDO; +import com.mzl.flower.entity.coupon.CouponTemplateDO; +import com.mzl.flower.enums.CouponStatusEnum; +import com.mzl.flower.service.coupon.CouponRecordService; +import com.mzl.flower.service.coupon.CouponTemplateService2; +import com.mzl.flower.utils.ConverterUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + + +/** +* @author @TaoJie +* @since 2024-08-27 +*/ +@RestController +@RequestMapping("/v2/coupon-record") +@Api(value = "优惠券记录管理-活动", tags = "优惠券记录管理") +@Validated +public class CouponRecordController extends BaseController { + + @Autowired + CouponRecordService couponRecordService; + + @Autowired + private CouponTemplateService2 couponTemplateService; + + + @PostMapping("") + @ApiOperation(value = "新增", notes = "新增") + public ResponseEntity<ReturnDataDTO> create(@Validated @RequestBody CreateCouponRecordDTO dto) { + + final CouponTemplateDO couponTemplateDO = couponTemplateService.getById(dto.getCouponId()); + if(null==couponTemplateDO){ + throw new ValidationException("优惠券不存在"); + } + + if(StringUtils.isNotBlank(couponTemplateDO.getStatus()) && couponTemplateDO.getStatus().equals(CouponStatusEnum.INACTIVE.getStatus())){ + throw new ValidationException("优惠券还未发布"); + } + if(StringUtils.isNotBlank(couponTemplateDO.getStatus()) && couponTemplateDO.getStatus().equals(CouponStatusEnum.EXPIRED.getStatus())){ + throw new ValidationException("优惠券已下架"); + } + + couponRecordService.createCouponRecord(dto); + return returnData(R.SUCCESS.getCode(), null); + } + + @PutMapping("/{id}") + @ApiOperation(value = "修改", notes = "修改") + public ResponseEntity<ReturnDataDTO> update(@PathVariable String id,@Validated @RequestBody CreateCouponRecordDTO dto) { + + dto.setId(id); + + CouponRecordDO couponRecordDO= couponRecordService.getById(dto.getId()); + if(null==couponRecordDO){ + throw new ValidationException("优惠券记录不存在"); + } + + return returnData(R.SUCCESS.getCode(), couponRecordService.updateCouponRecord(dto)); + } + + @DeleteMapping("/{id}") + @ApiOperation(value = "删除", notes = "删除") + public ResponseEntity<ReturnDataDTO> delete(@PathVariable String id ) { + + CouponRecordDO couponRecordDO= couponRecordService.getById(id); + if(null==couponRecordDO){ + throw new ValidationException("优惠券记录不存在"); + } + couponRecordService.deleteCouponRecord(id); + return returnData(R.SUCCESS.getCode(), null); + } + + @GetMapping("/{id}") + @ApiOperation(value = "详情", notes = "详情") + public ResponseEntity<ReturnDataDTO> get(@PathVariable String id) { + CouponRecordVO couponRecordVO=couponRecordService.getCouponRecordById(id); + return returnData(R.SUCCESS.getCode(),ConverterUtil.transObject(couponRecordVO, CouponRecordResultVO.class)); + } + + @GetMapping("/page") + @ApiOperation(value = "查询-分页", notes = "查询-分页") + public ResponseEntity<ReturnDataDTO<Page<CouponRecordVO>>> page( + Page page, QueryCouponRecordDTO dto + ) { + return returnData(R.SUCCESS.getCode(), ConverterUtil.transPage(couponRecordService.getPage(page,dto), CouponRecordResultVO.class)); + } + + @GetMapping("/list") + @ApiOperation(value = "查询-全部", notes = "查询-全部") + public ResponseEntity<ReturnDataDTO<Page<CouponRecordVO>>> list(QueryCouponRecordDTO dto + ) { + return returnData(R.SUCCESS.getCode(),ConverterUtil.transList(couponRecordService.getList(dto), CouponRecordResultVO.class)); + + } + +} \ No newline at end of file -- Gitblit v1.9.3