Commit 850eff85 by box

Merge branch 'feature/box/查卡包链路优化' into develop

parents cdfec6e0 9007e5a0
...@@ -47,6 +47,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -47,6 +47,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalTime; import java.time.LocalTime;
import java.util.*; import java.util.*;
...@@ -346,12 +348,13 @@ public class CouponServiceImpl implements CouponService { ...@@ -346,12 +348,13 @@ public class CouponServiceImpl implements CouponService {
} }
List<CouponStateVo> couponStateVos = new ArrayList<>(); List<CouponStateVo> couponStateVos = new ArrayList<>();
if (CollectionUtils.isNotEmpty(queryResponse.getResult().getAvailableCoupons())) { if (CollectionUtils.isNotEmpty(queryResponse.getResult().getAvailableCoupons())) {
List<Product> productList = Lists.newArrayList();
Long totalAmount = createProductRequest(cartGoods, productList, isNew);
queryResponse.getResult().getAvailableCoupons().forEach(dto -> { queryResponse.getResult().getAvailableCoupons().forEach(dto -> {
CouponInfoDto couponInfo = dto.getCouponInfo(); CouponInfoDto couponInfo = dto.getCouponInfo();
CouponStateVo vo = new CouponStateVo(); CouponStateVo vo = new CouponStateVo();
vo.setCouponCode(couponInfo.getCode()); vo.setCouponCode(couponInfo.getCode());
vo.setType(couponInfo.getType()); vo.setType(couponInfo.getType());
vo.setState(CouponStateEnum.STATE_0.getCode());
vo.setMinAmount(couponInfo.getMinAmount()); vo.setMinAmount(couponInfo.getMinAmount());
vo.setAmount(couponInfo.getFaceValue()); vo.setAmount(couponInfo.getFaceValue());
vo.setPriceDiscount(couponInfo.getFaceValue()); vo.setPriceDiscount(couponInfo.getFaceValue());
...@@ -360,6 +363,13 @@ public class CouponServiceImpl implements CouponService { ...@@ -360,6 +363,13 @@ public class CouponServiceImpl implements CouponService {
vo.setDailyAvailableTimes(couponInfo.getLeftAvailableNums()); vo.setDailyAvailableTimes(couponInfo.getLeftAvailableNums());
vo.setAvailableTimes(couponInfo.getConfigMaxRedeemNums()); 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); couponStateVos.add(vo);
}); });
} }
...@@ -370,7 +380,6 @@ public class CouponServiceImpl implements CouponService { ...@@ -370,7 +380,6 @@ public class CouponServiceImpl implements CouponService {
CouponStateVo vo = new CouponStateVo(); CouponStateVo vo = new CouponStateVo();
vo.setCouponCode(couponInfo.getCode()); vo.setCouponCode(couponInfo.getCode());
vo.setType(couponInfo.getType()); vo.setType(couponInfo.getType());
vo.setState(CouponStateEnum.STATE_1.getCode());
vo.setMinAmount(couponInfo.getMinAmount()); vo.setMinAmount(couponInfo.getMinAmount());
vo.setAmount(couponInfo.getFaceValue()); vo.setAmount(couponInfo.getFaceValue());
vo.setPriceDiscount(couponInfo.getFaceValue()); vo.setPriceDiscount(couponInfo.getFaceValue());
...@@ -378,6 +387,7 @@ public class CouponServiceImpl implements CouponService { ...@@ -378,6 +387,7 @@ public class CouponServiceImpl implements CouponService {
vo.setDiscount(couponInfo.getFaceValue()); vo.setDiscount(couponInfo.getFaceValue());
vo.setDailyAvailableTimes(couponInfo.getLeftAvailableNums()); vo.setDailyAvailableTimes(couponInfo.getLeftAvailableNums());
vo.setAvailableTimes(couponInfo.getConfigMaxRedeemNums()); vo.setAvailableTimes(couponInfo.getConfigMaxRedeemNums());
vo.setState(CouponStateEnum.STATE_1.getCode());
vo.setMessage(dto.getUnAvailableReason()); vo.setMessage(dto.getUnAvailableReason());
couponStateVos.add(vo); 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