From 52081904dc467b81db0b28ff7cfed5979f14d1d2 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 08 十一月 2024 19:52:04 +0800
Subject: [PATCH] add:钱包功能调整1108-2
---
src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java | 74 +++++++++++++++++++++----------------
1 files changed, 42 insertions(+), 32 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 a472602..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,22 +6,20 @@
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.CreateCouponTemplatePointDTO;
import com.mzl.flower.dto.request.coupon.CreateCouponTemplateUserDTO;
import com.mzl.flower.dto.request.coupon.QueryCouponDTO;
import com.mzl.flower.dto.response.coupon.CouponTemplatePointVO;
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;
@@ -29,11 +27,6 @@
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
/**
@@ -53,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());
@@ -81,17 +68,11 @@
@PutMapping("/{id}")
@ApiOperation(value = "修改", notes = "修改")
- public ResponseEntity<ReturnDataDTO> update(@Validated @RequestBody CreateCouponTemplateUserDTO dto) {
+ public ResponseEntity<ReturnDataDTO> update(@PathVariable String id,@Validated @RequestBody CreateCouponTemplateUserDTO dto) {
+ 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) {
@@ -99,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());
@@ -138,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));
@@ -148,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));
}
@@ -161,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);
@@ -183,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