| | |
| | | } |
| | | } |
| | | |
| | | // 优先用满足条件且抵扣金额最大的 |
| | | List<XpAppUserCoupon> discountUserCoupons = couponList.stream().filter(e -> e.getCouponType() == 1).sorted(Comparator.comparing(XpAppUserCoupon::getMoney).reversed()).collect(Collectors.toList()); |
| | | if(!discountUserCoupons.isEmpty()){ |
| | | userCouponVo.setId(discountUserCoupons.get(0).getId()); |
| | | userCouponVo.setMoney(discountUserCoupons.get(0).getMoney().doubleValue()); |
| | | if(dto.getUserCouponId()!=null){ |
| | | XpAppUserCoupon coupon = couponList.get(0); |
| | | userCouponVo.setId(coupon.getId()); |
| | | userCouponVo.setMoney(coupon.getMoney().doubleValue()); |
| | | return R.ok(userCouponVo); |
| | | }else { |
| | | // 优先用满足条件且抵扣金额最大的 |
| | | List<XpAppUserCoupon> discountUserCoupons = couponList.stream().filter(e -> e.getCouponType() == 1).sorted(Comparator.comparing(XpAppUserCoupon::getMoney).reversed()).collect(Collectors.toList()); |
| | | if(!discountUserCoupons.isEmpty()){ |
| | | userCouponVo.setId(discountUserCoupons.get(0).getId()); |
| | | userCouponVo.setMoney(discountUserCoupons.get(0).getMoney().doubleValue()); |
| | | return R.ok(userCouponVo); |
| | | } |
| | | List<XpAppUserCoupon> fullUserCoupons = couponList.stream().filter(e -> e.getCouponType() == 2 && e.getFullMoney().doubleValue()>dto.getTotalAmount()).sorted(Comparator.comparing(XpAppUserCoupon::getMoney).reversed()).collect(Collectors.toList()); |
| | | if(!fullUserCoupons.isEmpty()){ |
| | | userCouponVo.setId(fullUserCoupons.get(0).getId()); |
| | | userCouponVo.setMoney(fullUserCoupons.get(0).getMoney().doubleValue()); |
| | | return R.ok(userCouponVo); |
| | | } |
| | | return R.ok(userCouponVo); |
| | | } |
| | | List<XpAppUserCoupon> fullUserCoupons = couponList.stream().filter(e -> e.getCouponType() == 2 && e.getFullMoney().doubleValue()>dto.getTotalAmount()).sorted(Comparator.comparing(XpAppUserCoupon::getMoney).reversed()).collect(Collectors.toList()); |
| | | if(!fullUserCoupons.isEmpty()){ |
| | | userCouponVo.setId(fullUserCoupons.get(0).getId()); |
| | | userCouponVo.setMoney(fullUserCoupons.get(0).getMoney().doubleValue()); |
| | | return R.ok(userCouponVo); |
| | | } |
| | | return R.ok(userCouponVo); |
| | | |
| | | } |
| | | @PostMapping("/inner/appUserCoupon/useUserCoupon") |
| | | public R<BigDecimal> useUserCoupon(@RequestBody UseUserCouponDto dto) { |