| | |
| | | couponListVo.setType(type); |
| | | couponListVo.setEffectiveTime(userCoupon.get("endTime").toString()); |
| | | String content = userCoupon.get("content").toString(); |
| | | BigDecimal orderAmount = BigDecimal.valueOf(price == null ? 0D : price).max(BigDecimal.ZERO); |
| | | if (type == 1) {//满减{"num1":1,"num2":1} |
| | | JSONObject jsonObject = JSON.parseObject(content); |
| | | Double num1 = jsonObject.getDouble("conditionalAmount"); |
| | |
| | | } |
| | | couponListVo.setUseCondition("满" + num1 + "元可用"); |
| | | couponListVo.setFavorable(jsonObject.getString("deductionAmount")); |
| | | BigDecimal discount = BigDecimal.valueOf(jsonObject.getDouble("deductionAmount")) |
| | | .min(orderAmount); |
| | | couponListVo.setDiscountAmount(discount); |
| | | couponListVo.setPayableAmount(orderAmount.subtract(discount)); |
| | | } |
| | | if (type == 2) {//代金券{"num1":1} |
| | | JSONObject jsonObject = JSON.parseObject(content); |
| | |
| | | if (num1 == null) { |
| | | num1 = 0d; |
| | | } |
| | | if (price.compareTo(num1) < 0) { |
| | | continue; |
| | | } |
| | | // 代金券可全额抵扣,面额超过订单金额时按订单金额抵扣,不应从列表中剔除。 |
| | | couponListVo.setUseCondition(""); |
| | | couponListVo.setFavorable(num1 + ""); |
| | | BigDecimal discount = BigDecimal.valueOf(num1).max(BigDecimal.ZERO).min(orderAmount); |
| | | couponListVo.setDiscountAmount(discount); |
| | | couponListVo.setPayableAmount(orderAmount.subtract(discount)); |
| | | } |
| | | if (type == 3) {//体验券{"num1":1} |
| | | JSONObject jsonObject = JSON.parseObject(content); |