Commit 9007e5a0 by box

启用金额校验

parent 840ea36e
......@@ -47,6 +47,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.*;
......@@ -346,12 +348,13 @@ public class CouponServiceImpl implements CouponService {
}
List<CouponStateVo> couponStateVos = new ArrayList<>();
if (CollectionUtils.isNotEmpty(queryResponse.getResult().getAvailableCoupons())) {
List<Product> productList = Lists.newArrayList();
Long totalAmount = createProductRequest(cartGoods, productList, isNew);
queryResponse.getResult().getAvailableCoupons().forEach(dto -> {
CouponInfoDto couponInfo = dto.getCouponInfo();
CouponStateVo vo = new CouponStateVo();
vo.setCouponCode(couponInfo.getCode());
vo.setType(couponInfo.getType());
vo.setState(CouponStateEnum.STATE_0.getCode());
vo.setMinAmount(couponInfo.getMinAmount());
vo.setAmount(couponInfo.getFaceValue());
vo.setPriceDiscount(couponInfo.getFaceValue());
......@@ -360,6 +363,13 @@ public class CouponServiceImpl implements CouponService {
vo.setDailyAvailableTimes(couponInfo.getLeftAvailableNums());
vo.setAvailableTimes(couponInfo.getConfigMaxRedeemNums());
// 判断是否满足启用金额
if (couponInfo.getMinAmount() == null || totalAmount >= couponInfo.getMinAmount()) {
vo.setState(CouponStateEnum.STATE_0.getCode());
} else {
vo.setState(CouponStateEnum.STATE_1.getCode());
vo.setMessage("满" + new BigDecimal(couponInfo.getMinAmount()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP) + "元起用");
}
couponStateVos.add(vo);
});
}
......@@ -370,7 +380,6 @@ public class CouponServiceImpl implements CouponService {
CouponStateVo vo = new CouponStateVo();
vo.setCouponCode(couponInfo.getCode());
vo.setType(couponInfo.getType());
vo.setState(CouponStateEnum.STATE_1.getCode());
vo.setMinAmount(couponInfo.getMinAmount());
vo.setAmount(couponInfo.getFaceValue());
vo.setPriceDiscount(couponInfo.getFaceValue());
......@@ -378,6 +387,7 @@ public class CouponServiceImpl implements CouponService {
vo.setDiscount(couponInfo.getFaceValue());
vo.setDailyAvailableTimes(couponInfo.getLeftAvailableNums());
vo.setAvailableTimes(couponInfo.getConfigMaxRedeemNums());
vo.setState(CouponStateEnum.STATE_1.getCode());
vo.setMessage(dto.getUnAvailableReason());
couponStateVos.add(vo);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment