From 1442f149019ee0590389abd7a88a79c4d9b59034 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 27 五月 2025 18:23:34 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/WithdrawServiceImpl.java | 87 +++++++++++++++++-------------------------- 1 files changed, 35 insertions(+), 52 deletions(-) diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/WithdrawServiceImpl.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/WithdrawServiceImpl.java index 93a6cb6..5e28ae5 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/WithdrawServiceImpl.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/WithdrawServiceImpl.java @@ -1,17 +1,13 @@ package com.ruoyi.user.service.impl; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.admin.api.entity.WithdrawalSetting; -import com.ruoyi.admin.api.feignClient.AdminClient; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.exception.GlobalException; -import com.ruoyi.user.entity.Order; +import com.ruoyi.order.api.entity.Order; +import com.ruoyi.order.api.feignClient.WithdrawClient; import com.ruoyi.user.entity.RecoveryServe; import com.ruoyi.user.entity.User; -import com.ruoyi.user.entity.Withdraw; -import com.ruoyi.user.mapper.WithdrawMapper; -import com.ruoyi.user.service.OrderService; import com.ruoyi.user.service.RecoveryServeService; import com.ruoyi.user.service.UserService; import com.ruoyi.user.service.WithdrawService; @@ -24,55 +20,49 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** - * <p> * 用户提现申请记录表 服务实现类 - * </p> * * @author hjl * @since 2024-06-07 */ @Service -public class WithdrawServiceImpl extends ServiceImpl<WithdrawMapper, Withdraw> implements WithdrawService { +public class WithdrawServiceImpl implements WithdrawService { - @Resource - private OrderService orderService; @Resource private RecoveryServeService recoveryServeService; @Resource private UserService userService; @Resource - private AdminClient adminClient; + private WithdrawClient withdrawClient; @Override - public WithdrawListVO withdrawList(Integer userid) { + public WithdrawListVO withdrawList(Integer userid, Integer pageNum, Integer pageSize) { WithdrawListVO withdrawList = new WithdrawListVO(); - List<Order> orderList = orderService.lambdaQuery().eq(Order::getUserId, userid) - .eq(Order::getState, 3).eq(Order::getIsDelete, 0).list(); + Page<Order> orderList = withdrawClient.withdrawListByUser(userid, pageNum, pageSize).getData(); // 总金额 BigDecimal totalMoney = BigDecimal.ZERO; // 未提现金额 BigDecimal undelivered = BigDecimal.ZERO; // 已提现金额 BigDecimal withdrawn = BigDecimal.ZERO; - if (!orderList.isEmpty()) { + if (!orderList.getRecords().isEmpty()) { // 总金额 - totalMoney = orderList.stream().map(Order::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); - // 未提现金额 - undelivered = orderList.stream().filter(data -> Constants.ZERO.equals(data.getIsWithdrawal())) + totalMoney = orderList.getRecords().stream().map(Order::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + // 未提现金额withdrawn + withdrawn = orderList.getRecords().stream().filter(data -> Constants.ZERO.equals(data.getIsWithdrawal())) .map(Order::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); // 已提现金额 - withdrawn = orderList.stream().filter(data -> Constants.ONE.equals(data.getIsWithdrawal())) + undelivered = orderList.getRecords().stream().filter(data -> Constants.ONE.equals(data.getIsWithdrawal())) .map(Order::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); } withdrawList.setMoneyCount(new WithdrawMoneyVO(totalMoney, undelivered, withdrawn)); // 回收服务列表 - List<Integer> serveIds = orderList.stream().map(Order::getServeId).collect(Collectors.toList()); + List<Integer> serveIds = orderList.getRecords().stream().map(Order::getServeId).collect(Collectors.toList()); LambdaQueryChainWrapper<RecoveryServe> wrapper = recoveryServeService.lambdaQuery() .eq(RecoveryServe::getIsDelete, 0); wrapper = serveIds.isEmpty() ? wrapper : wrapper.in(RecoveryServe::getId, serveIds); @@ -80,51 +70,44 @@ Map<Integer, RecoveryServe> serveMap = serveList.stream().collect(Collectors.toMap(RecoveryServe::getId, serve -> serve)); // 订单列表 List<WithdrawOrderVO> list = new ArrayList<>(); - for (Order order : orderList) { + for (Order order : orderList.getRecords()) { RecoveryServe recoveryServe = serveMap.get(order.getServeId()); WithdrawOrderVO withdrawOrder = new WithdrawOrderVO(); + withdrawOrder.setOrderId(order.getId()); withdrawOrder.setOrderNumber(order.getOrderNumber()); withdrawOrder.setServeId(order.getServeId()); withdrawOrder.setServeName(recoveryServe.getServeName()); withdrawOrder.setServeDescribe(recoveryServe.getServeDescribe()); withdrawOrder.setCover(recoveryServe.getCover()); - withdrawOrder.setCompleteTime(order.getCompleteTime()); + withdrawOrder.setCompleteTime(order.getCreateTime()); withdrawOrder.setIsWithdrawal(order.getIsWithdrawal()); + withdrawOrder.setMoney(order.getOrderMoney()); + withdrawOrder.setPackageInfo(order.getPackageInfo()); + if (order.getAddress()!=null) { + withdrawOrder.setAddress(order.getReservationAddress() + order.getAddress()); + }else { + withdrawOrder.setAddress(order.getReservationAddress()); + } list.add(withdrawOrder); } - withdrawList.setWithdrawOrder(list); + Page<WithdrawOrderVO> page = new Page<>(); + page.setSize(orderList.getSize()); + page.setCurrent(orderList.getCurrent()); + page.setPages(orderList.getPages()); + page.setTotal(orderList.getTotal()); + page.setRecords(list); + withdrawList.setWithdrawOrder(page); return withdrawList; } @Override @Transactional(rollbackFor = Exception.class) - public Boolean confirmWithdraw(Integer orderId, Integer userid) { - Order order = orderService.lambdaQuery().eq(Order::getId, orderId).eq(Order::getIsDelete, 0).one(); - if (null == order) { - throw new GlobalException("订单信息异常!"); - } - // 校验提现 - List<Withdraw> list = this.lambdaQuery().eq(Withdraw::getUserId, userid) - .eq(Withdraw::getOrderId, order).list(); - List<Integer> stateList = list.stream().map(Withdraw::getState).collect(Collectors.toList()); - if (stateList.contains(Constants.ZERO)) { - throw new GlobalException("当前订单已提交提现申请,请等待审核!"); - } else if (stateList.contains(Constants.ONE)) { - throw new GlobalException("当前订单已提现通过!"); - } + public Boolean confirmWithdraw(String orderId, Integer userid) { User user = userService.lambdaQuery().eq(User::getId, userid).eq(User::getIsDelete, 0).one(); - // 系统审核设置 - WithdrawalSetting setting = adminClient.withdrawProcess().getData(); - Withdraw withdraw = new Withdraw(); - if (Constants.ZERO.equals(setting.getEnableProcess())) { - withdraw.setState(Constants.ZERO); - // todo 商家微信打款至微信零钱 + if (null == user) { + throw new GlobalException("提现失败,登录用户信息异常!"); } - withdraw.setUserId(user.getId()); - withdraw.setUserPhone(user.getPhone()); - withdraw.setApplyForTime(new Date()); - withdraw.setApplyForMoney(order.getOrderMoney()); - withdraw.setOrderId(orderId); - return this.save(withdraw); + return withdrawClient.confirmWithdrawByUser(orderId, userid, user.getOpenId(), user.getPhone()).getData(); } + } -- Gitblit v1.7.1