From a00c6d07e4c8eb629e5ffe4661dcde2686c1df53 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期五, 18 七月 2025 18:51:08 +0800 Subject: [PATCH] 修改bug 分佣退回 判断是否可以退款 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java | 32 ++++++++++++++++++++++++++++++-- 1 files changed, 30 insertions(+), 2 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java index 49bb5c0..b920461 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java @@ -69,6 +69,10 @@ private CompanyTypeService companyTypeService; + @Resource + private AccountDetailMapper accountDetailMapper; + + @Override public IPage<OrderPageVO> getOrderPage(OrderPageDTO dto) { IPage<OrderPageVO> page = new Page<>(dto.getPageNum(), dto.getPageSize()); @@ -614,6 +618,15 @@ order.setRefundTime(LocalDateTime.now()); companyMapper.updateById(company); }else{ + // 判断是否能退 + if(order.getShareUserId()!=null){ + User user = appUserMapper.selectById(order.getShareUserId()); + if(user.getBalance().doubleValue()<order.getCommissionPrice().doubleValue()){ + throw new ServiceException("退款失败,卖家上级余额不足"); + } + } + + R r = refundPayMoney(order);//退款 if (200 == r.getCode()) { //退款申请成功 @@ -683,14 +696,29 @@ order.setIsRefund(1); order.setRefundTime(LocalDateTime.now()); this.baseMapper.updateById(order); + //将分佣次数加回 - User user = appUserMapper.selectById(order.getUserId()); - User inviter = appUserMapper.selectById(user.getInviteId()); + User inviter = appUserMapper.selectById(company.getUserId()); if (inviter!=null && inviter.getIsDelete()==0){ inviter.setInviteNum(inviter.getInviteNum()+1); appUserMapper.updateById(inviter); } + // 分佣退回 + if(order.getShareUserId()!=null && order.getCommissionPrice().doubleValue()>0){ + User user = appUserMapper.selectById(order.getShareUserId()); + user.setBalance(user.getBalance().subtract(order.getCommissionPrice())); + appUserMapper.updateById(user); + AccountDetail accountDetail = new AccountDetail(); + accountDetail.setUserId(order.getShareUserId()); + accountDetail.setType(2); + accountDetail.setCategory(4); + accountDetail.setSourceId(order.getId()); + accountDetail.setMoney(order.getCommissionPrice()); + accountDetail.setRemark("订单取消分佣退回"); + accountDetailMapper.insert(accountDetail); + } + //商品状态修改 company.setStatus(1); companyMapper.updateById(company); -- Gitblit v1.7.1