From 81386e2f7dffc5f445d2752d394d40c7eaea7b42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Mon, 6 Jan 2025 11:24:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E7=8E=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sqx/modules/pay/dao/CashOutDao.java | 3 ++ .../pay/service/impl/CashOutServiceImpl.java | 51 ++++++++++++++++++- src/main/resources/mapper/pay/CashDao.xml | 26 +++++++--- 3 files changed, 73 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/sqx/modules/pay/dao/CashOutDao.java b/src/main/java/com/sqx/modules/pay/dao/CashOutDao.java index cb46b76e..db7df678 100644 --- a/src/main/java/com/sqx/modules/pay/dao/CashOutDao.java +++ b/src/main/java/com/sqx/modules/pay/dao/CashOutDao.java @@ -9,6 +9,7 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Set; /** * @author fang @@ -46,4 +47,6 @@ public interface CashOutDao extends BaseMapper { BigDecimal selectSumMoney(@Param("userId") Long userId, @Param("state") Integer state); List selectSumByUserIdList(ArrayList userIdList, Integer state); + + List countByUserIdList(Set userIdList); } diff --git a/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java index e123e71a..f3d93bb7 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java @@ -594,7 +594,56 @@ public class CashOutServiceImpl extends ServiceImpl impleme public PageUtils auditPage(Map params) { PageHelper.startPage(ParamPageUtils.getPageNum(params), ParamPageUtils.getPageSize(params)); CashOut cashOut = BeanUtil.toBean(params, CashOut.class); - List page = baseMapper.selectCashOutPage(cashOut, false); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (cashOut.getUserId() != null) { + queryWrapper.eq(CashOut::getUserId, cashOut.getUserId()); + } + if (StrUtil.isNotBlank(cashOut.getUserName())) { + queryWrapper.like(CashOut::getUserName, cashOut.getUserName()); + } + if (StrUtil.isNotBlank(cashOut.getZhifubaoName())) { + queryWrapper.like(CashOut::getZhifubaoName, cashOut.getZhifubaoName()); + } + if (StrUtil.isNotBlank(cashOut.getZhifubao())) { + queryWrapper.like(CashOut::getZhifubao, cashOut.getZhifubao()); + } + if (cashOut.getUserType() != null) { + queryWrapper.eq(CashOut::getUserType, cashOut.getUserType()); + } + if (cashOut.getState() != null) { + queryWrapper.eq(CashOut::getState, cashOut.getState()); + } + + if (StrUtil.isNotBlank(cashOut.getStartTime()) && StrUtil.isNotBlank(cashOut.getEndTime())) { + queryWrapper.between(CashOut::getCreateAt, cashOut.getStartTime(), cashOut.getEndTime()); + }else if (StrUtil.isNotBlank(cashOut.getStartTime())) { + queryWrapper.ge(CashOut::getCreateAt, cashOut.getStartTime()); + }else if (StrUtil.isNotBlank(cashOut.getEndTime())) { + queryWrapper.le(CashOut::getCreateAt, cashOut.getEndTime()); + } + + List page; + if (queryWrapper.isEmptyOfWhere()) { + page = list(); + }else { + page = list(queryWrapper); + } + + if (!page.isEmpty()) { + Set userIdList = page.stream().map(CashOut::getUserId).collect(Collectors.toSet()); + Map countInfoMap = cashOutDao.countByUserIdList(userIdList).stream().collect(Collectors.toMap(CashOut::getUserId, item -> item)); + page.forEach(item -> { + CashOut countInfo = countInfoMap.get(item.getUserId()); + if (countInfo != null) { + item.setTotal(countInfo.getTotal()); + item.setCount(countInfo.getCount()); + item.setVerifyCount(countInfo.getVerifyCount()); + item.setVerifyTotal(countInfo.getVerifyTotal()); + } + }); + } + PageInfo pageInfo = new PageInfo<>(page); return PageUtils.page(pageInfo); } diff --git a/src/main/resources/mapper/pay/CashDao.xml b/src/main/resources/mapper/pay/CashDao.xml index 140f2b9e..81fbb266 100644 --- a/src/main/resources/mapper/pay/CashDao.xml +++ b/src/main/resources/mapper/pay/CashDao.xml @@ -61,10 +61,24 @@ GROUP BY user_id + + + + +