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 + + + + +