From e68c33e84e7f85fe8504de9c105d8597b996a906 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 02 十二月 2024 18:05:08 +0800 Subject: [PATCH] 完成购物车支付业务逻辑 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java | 27 ++++++++++++++------------- 1 files changed, 14 insertions(+), 13 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java index eac7acd..b1c2894 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.account.service.impl; +import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.vo.CouponInfoVo; @@ -13,6 +14,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.time.Instant; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; @@ -41,7 +43,7 @@ * @return */ @Override - public List<PaymentUserCouponVo> getUserCoupon(Long userId, BigDecimal orderMoney, Integer type) { + public List<PaymentUserCouponVo> getUserCoupon(Long userId, Integer type) { List<UserCoupon> list = this.list(new LambdaQueryWrapper<UserCoupon>().eq(UserCoupon::getAppUserId, userId).eq(UserCoupon::getDelFlag, 0) .last(" and now() between start_time and end_time")); List<Integer> couponIds = list.stream().map(UserCoupon::getCouponId).collect(Collectors.toList()); @@ -54,6 +56,10 @@ List<PaymentUserCouponVo> infoVoList = new ArrayList<>(); for (UserCoupon userCoupon : list) { CouponInfo couponInfo = couponInfoList.stream().filter(s -> s.getId().equals(userCoupon.getCouponId())).findFirst().get(); + //排除商品券(商品券线下领取) + if(4 == couponInfo.getCouponType()){ + continue; + } PaymentUserCouponVo couponInfoVo = new PaymentUserCouponVo(); couponInfoVo.setId(userCoupon.getId()); couponInfoVo.setName(couponInfo.getCouponName()); @@ -64,19 +70,14 @@ couponInfoVo.setDiscount(couponInfo.getDiscount()); couponInfoVo.setPeriodEndTime(couponInfo.getPeriodStartTime().format(formatter)); couponInfoVo.setPeriodEndTime(couponInfo.getPeriodEndTime().format(formatter)); + String forGoodIds = couponInfo.getForGoodIds(); + Integer instant = JSON.parseArray(forGoodIds).getInteger(0); + if(-1 == instant){ + couponInfoVo.setForGoodIds(null); + }else{ + couponInfoVo.setForGoodIds(JSON.parseArray(forGoodIds, Integer.class)); + } couponInfoVo.setAvailable(false); - //满减券 - if(1 == couponInfo.getCouponType() && orderMoney.compareTo(couponInfo.getConditionAmount()) >= 0){ - couponInfoVo.setAvailable(true); - } - //代金券和折扣券 - if(2 == couponInfo.getCouponType() || 3 == couponInfo.getCouponType()){ - couponInfoVo.setAvailable(true); - } - //商品券 - if(4 == couponInfo.getCouponType() && 2 == type){ - couponInfoVo.setAvailable(true); - } infoVoList.add(couponInfoVo); } return infoVoList; -- Gitblit v1.7.1