From ae1471f378f399f76518539ec8992e64a3673436 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期三, 08 一月 2025 15:26:06 +0800 Subject: [PATCH] 1.订单提交:订单最小金额配置 --- src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java | 65 ++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java index 5b9f19d..344ce2f 100644 --- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java +++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java @@ -6,6 +6,7 @@ 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.CreateCouponTemplateActivyDTO; import com.mzl.flower.dto.request.coupon.CreateCouponTemplateBO; import com.mzl.flower.dto.request.coupon.CreateCouponTemplateUserDTO; import com.mzl.flower.dto.request.coupon.QueryCouponDTO; @@ -13,14 +14,12 @@ import com.mzl.flower.dto.response.coupon.CouponTemplateUserVO; import com.mzl.flower.dto.response.coupon.CouponTemplateVO; import com.mzl.flower.entity.coupon.CouponTemplateDO; -import com.mzl.flower.enums.CouponCategoryEnum; -import com.mzl.flower.enums.CouponGetUserTypeEnum; -import com.mzl.flower.enums.CouponTypeEnum; -import com.mzl.flower.enums.CouponUsageTypeEnum; +import com.mzl.flower.enums.*; 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.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; @@ -47,21 +46,15 @@ @ApiOperation(value = "新增", notes = "新增") public ResponseEntity<ReturnDataDTO> create(@Validated @RequestBody CreateCouponTemplateUserDTO dto) { - if (dto.getCouponDiscountType().equals(CouponTypeEnum.DISCOUNT.getType()) && dto.getMinOrderAmount().compareTo(dto.getCouponDiscountValue()) < 0) { - throw new ValidationException("订单金额不能小于折扣金额"); - } - if (dto.getCouponDiscountType().equals(CouponTypeEnum.ZERO.getType()) && dto.getMinOrderAmount().compareTo(BigDecimal.ZERO) != 0) { - throw new ValidationException("无门槛的订单金额必须为0"); - } - + valid(dto); CreateCouponTemplateBO couponTemplateBO = new CreateCouponTemplateBO(); BeanUtils.copyProperties(dto, couponTemplateBO); // 设置成指定用户 - couponTemplateBO.setGetUserType(CouponGetUserTypeEnum.POINT.getType()); - // 设置成积分优惠券 + couponTemplateBO.setGetUserType(CouponGetUserTypeEnum.TARGET.getType()); + // 设置成用户优惠券 couponTemplateBO.setCategory(CouponCategoryEnum.USER.getStatus()); // 设置默认类型 couponTemplateBO.setUsageType(CouponUsageTypeEnum.GET_AFTER_TIME.getType()); @@ -79,14 +72,7 @@ dto.setId(id); - if (dto.getCouponDiscountType().equals(CouponTypeEnum.DISCOUNT.getType()) && dto.getMinOrderAmount().compareTo(dto.getCouponDiscountValue()) < 0) { - throw new ValidationException("订单金额不能小于折扣金额"); - } - - if (dto.getCouponDiscountType().equals(CouponTypeEnum.ZERO.getType()) && dto.getMinOrderAmount().compareTo(BigDecimal.ZERO) != 0) { - throw new ValidationException("无门槛的订单金额必须为0"); - } - + valid(dto); CouponTemplateDO couponTemplateDO = couponTemplateService.getById(dto.getId()); if (null == couponTemplateDO) { @@ -94,11 +80,12 @@ } CreateCouponTemplateBO couponTemplateBO = new CreateCouponTemplateBO(); + BeanUtils.copyProperties(couponTemplateDO,couponTemplateBO); BeanUtils.copyProperties(dto, couponTemplateBO); // 设置成指定用户 - couponTemplateBO.setGetUserType(CouponGetUserTypeEnum.POINT.getType()); - // 设置成积分优惠券 + couponTemplateBO.setGetUserType(CouponGetUserTypeEnum.TARGET.getType()); + // 设置成用户优惠券 couponTemplateBO.setCategory(CouponCategoryEnum.USER.getStatus()); // 设置默认类型 couponTemplateBO.setUsageType(CouponUsageTypeEnum.GET_AFTER_TIME.getType()); @@ -133,7 +120,7 @@ public ResponseEntity<ReturnDataDTO<Page<CouponTemplatePointVO>>> page( Page page, QueryCouponDTO dto ) { - // 设置只查询积分优惠券的 + // 设置只查询用户优惠券的 dto.setCategory(CouponCategoryEnum.USER.getStatus()); Page<CouponTemplateVO> resultPage = couponTemplateService.getPage(page, dto); return returnData(R.SUCCESS.getCode(), ConverterUtil.transPage(resultPage, CouponTemplateUserVO.class)); @@ -143,7 +130,7 @@ @ApiOperation(value = "查询-全部", notes = "查询-全部") public ResponseEntity<ReturnDataDTO<Page<CouponTemplateVO>>> list(QueryCouponDTO dto ) { - // 设置只查询积分优惠券的 + // 设置只查询用户优惠券的 dto.setCategory(CouponCategoryEnum.USER.getStatus()); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponTemplateService.getList(dto), CouponTemplateUserVO.class)); } @@ -156,6 +143,16 @@ CouponTemplateDO couponTemplateDO = couponTemplateService.getById(id); if (null == couponTemplateDO) { throw new ValidationException("优惠券不存在"); + } + + if(StringUtils.isNotBlank(couponTemplateDO.getStatus()) + && couponTemplateDO.getStatus().equals(CouponStatusEnum.ACTIVE.getStatus())){ + throw new ValidationException("已发布的的商品不可重复发布"); + } + + if(StringUtils.isNotBlank(couponTemplateDO.getStatus()) + && couponTemplateDO.getStatus().equals(CouponStatusEnum.EXPIRED.getStatus())){ + throw new ValidationException("已下架的商品不可重复上架"); } couponTemplateService.activeCouponTemplate(id); @@ -178,4 +175,22 @@ } + private void valid(CreateCouponTemplateUserDTO dto){ + if (StringUtils.isNotBlank(dto.getCouponDiscountType()) && dto.getCouponDiscountType().equals(CouponTypeEnum.DISCOUNT.getType())) { + + if(dto.getMinOrderAmount().compareTo(BigDecimal.ZERO)<=0){ + throw new ValidationException("优惠券使用条件不能小于0"); + } + if(dto.getMinOrderAmount().compareTo(dto.getCouponDiscountValue()) < 0){ + throw new ValidationException("优惠券使用条件不能小于面值金额"); + } + + } + + if (dto.getCouponDiscountType().equals(CouponTypeEnum.ZERO.getType()) && dto.getMinOrderAmount().compareTo(BigDecimal.ZERO) != 0) { + throw new ValidationException("无门槛的订单金额必须为0"); + } + } + + } -- Gitblit v1.9.3