puzhibing
2024-10-26 a04b7fbcb90b0f8f124f03d075b1630559620a72
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -63,37 +63,37 @@
 */
@Service
public class TShoppingOrderServiceImpl extends ServiceImpl<TShoppingOrderMapper, TShoppingOrder> implements TShoppingOrderService {
    @Resource
    private TokenService tokenService;
    @Resource
    private GoodsClient goodsClient;
    @Resource
    private CouponClient couponClient;
    @Resource
    private AppUserClient appUserClient;
    @Resource
    private AppUserAddressClient appUserAddressClient;
    @Resource
    private AppCouponClient appCouponClient;
    @Resource
    private WxPaymentClient wxPaymentClient;
    @Resource
    private AliPaymentClient aliPaymentClient;
    @Resource
    private TShoppingOrderRefundService shoppingOrderRefundService;
    @Autowired
    public RedisTemplate redisTemplate;
    @Override
    public TActivityVO activityStatistics(TActivityStatisticsQuery dto) {
@@ -115,8 +115,11 @@
        BigDecimal vipActivity = new BigDecimal("0");
        // 赠送会员
        BigDecimal grantVip = new BigDecimal("0");
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        for (TActivityStatisticslVO tActivityStatisticslVO : list1) {
            TAppUser data = appUserClient.getUserById(tActivityStatisticslVO.getAppUserId()).getData();
            if (data!=null){
                tActivityStatisticslVO.setPhone(data.getPhone());
            }
            // 判断享有了哪些类型
            switch (tActivityStatisticslVO.getOrderType()){
                case 1:
@@ -196,7 +199,6 @@
                    if (tActivityStatisticslVO.getCouponDiscountAmount()!=null
                            &&
                        (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
                        coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount());
                        stringBuilder.append("优惠券抵扣").append("+");
                }
                    if (tActivityStatisticslVO.getVipDiscountAmount()!=null &&(tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
@@ -216,13 +218,11 @@
                    if (tActivityStatisticslVO.getCouponDiscountAmount()!=null
                            &&
                            (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
                        coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount());
                        stringBuilder1.append("优惠券抵扣").append("+");
                    }
                    if (tActivityStatisticslVO.getVipDiscountAmount()!=null
                            &&
                            (tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
                        discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount());
                        stringBuilder1.append("会员抵扣").append("+");
                    }
                    if (stringBuilder1.length()>0){
@@ -233,23 +233,16 @@
                    break;
                case 3:
                    // 会员订单 优惠金额大于0
                    if (tActivityStatisticslVO.getVipDiscountAmount()!=null
                            &&
                            (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
                        vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount());
                    }
                    tActivityStatisticslVO.setType("会员活动");
                    tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                    break;
                case 4:
                    // 赠送会员订单 如果支付金额为0 那么就是后台赠送的会员
                    if (tActivityStatisticslVO.getPaymentAmount().compareTo(BigDecimal.ZERO)==0){
                        grantVip = grantVip.add(tActivityStatisticslVO.getOrderAmount());
                        tActivityStatisticslVO.setType("赠送会员");
                        tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                    }else{
                        // 赠送
                        grantVip = grantVip.add(tActivityStatisticslVO.getVipDiscountAmount());
                        tActivityStatisticslVO.setType("赠送会员");
                        tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                    }
@@ -265,8 +258,8 @@
        res.setGrantVip(grantVip);
        return res;
    }
    /**
     * 获取小程序商城购买订单列表
     * @param query
@@ -313,8 +306,8 @@
        map.put("total", count);
        return map;
    }
    /**
     * 获取购买订单详情
     * @param id
@@ -364,8 +357,8 @@
        }
        return info;
    }
    /**
     * 取消订单
     * @param id
@@ -386,10 +379,10 @@
        if(shoppingOrder.getPaymentAmount().compareTo(bigDecimal) == 0 && shoppingOrder.getStatus() == 4){
            return AjaxResult.error("订单已取消,不能重复操作");
        }
        //退款金额
        BigDecimal refundAmount = shoppingOrder.getPaymentAmount().subtract(bigDecimal);
        //先查询第三方订单状态订单是否退款
        //支付方式(1=微信,2=支付宝)
        Integer paymentType = shoppingOrder.getPaymentType();
@@ -438,7 +431,7 @@
        shoppingOrderRefund.setRefundRemark("全额退款");
        shoppingOrderRefund.setRefundTotalAmount(refundAmount.add(bigDecimal));
        shoppingOrderRefund.setPayAmount(shoppingOrder.getPaymentAmount());
        shoppingOrder.setCancellationTime(LocalDateTime.now());
        shoppingOrder.setCancellationId(shoppingOrder.getAppUserId());
        if(1 == paymentType){
@@ -474,8 +467,8 @@
        }
        return AjaxResult.success();
    }
    /**
     * 商城订单取消订单微信退款处理
     * @param out_refund_no 退款单号
@@ -500,7 +493,7 @@
        shoppingOrder.setRefundStatus(2);
        shoppingOrder.setRefundTime(one.getRefundTime());
        this.updateById(shoppingOrder);
        //商品
        if(shoppingOrder.getOrderType() == 1){
            //redis锁 和支付使用同一个锁
@@ -541,7 +534,7 @@
        }
        return AjaxResult.success();
    }
    /**
     * 获取未开票的订单列表
     * @param query