提现修改

This commit is contained in:
张松
2025-01-06 11:24:59 +08:00
parent f45341c550
commit 81386e2f7d
3 changed files with 73 additions and 7 deletions

View File

@@ -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<CashOut> {
BigDecimal selectSumMoney(@Param("userId") Long userId, @Param("state") Integer state);
List<CashOut> selectSumByUserIdList(ArrayList<Long> userIdList, Integer state);
List<CashOut> countByUserIdList(Set<Long> userIdList);
}

View File

@@ -594,7 +594,56 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
public PageUtils auditPage(Map<String, Object> params) {
PageHelper.startPage(ParamPageUtils.getPageNum(params), ParamPageUtils.getPageSize(params));
CashOut cashOut = BeanUtil.toBean(params, CashOut.class);
List<CashOut> page = baseMapper.selectCashOutPage(cashOut, false);
LambdaQueryWrapper<CashOut> 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<CashOut> page;
if (queryWrapper.isEmptyOfWhere()) {
page = list();
}else {
page = list(queryWrapper);
}
if (!page.isEmpty()) {
Set<Long> userIdList = page.stream().map(CashOut::getUserId).collect(Collectors.toSet());
Map<Long, CashOut> 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<CashOut> pageInfo = new PageInfo<>(page);
return PageUtils.page(pageInfo);
}

View File

@@ -61,10 +61,24 @@
GROUP BY
user_id
</select>
<select id="countByUserIdList" resultType="com.sqx.modules.pay.entity.CashOut">
SELECT user_id as userId,
ROUND(SUM(CASE WHEN state = 1 THEN money ELSE 0 END), 2) AS total,
COUNT(CASE WHEN state = 1 THEN 1 END) AS count,
ROUND(SUM(CASE WHEN state = 3 THEN money ELSE 0 END), 2) AS verifyTotal,
COUNT(CASE WHEN state = 3 THEN 1 END) AS verifyCount
FROM cash_out
GROUP BY user_id;
</select>
<select id="selectCashOutPage" resultType="com.sqx.modules.pay.entity.CashOut">
SELECT c.*,
ifnull(u.user_name,"用户不存在") as userName,
s.username as sysUserName
ifnull(u.user_name,"用户不存在") as userName
# s.username as sysUserName
<if test="isApp == false">
,ifnull(t.total,0.00) as total,
ifnull(t.count,0) as count,
@@ -73,7 +87,7 @@
</if>
FROM cash_out c
left join tb_user u on c.user_id = u.user_id
left join sys_user s on s.user_id= c.sys_user_id
# left join sys_user s on s.user_id= c.sys_user_id
<if test="isApp == false">
left join (select user_id,ROUND(sum(money),2) as total,count(*) as count from cash_out where state = 1 GROUP BY user_id) t on c.user_id = t.user_id
left join (select user_id,ROUND(sum(money),2) as total,count(*) as count from cash_out where state = 3 GROUP BY user_id) t1 on c.user_id = t1.user_id
@@ -91,9 +105,9 @@
<if test="cashOut.sysUserId!=null">
and c.sys_user_id = #{cashOut.sysUserId}
</if>
<if test="cashOut.sysUserName!=null and cashOut.sysUserName!=''">
and s.username = #{cashOut.sysUserName}
</if>
<!-- <if test="cashOut.sysUserName!=null and cashOut.sysUserName!=''">-->
<!-- and s.username = #{cashOut.sysUserName}-->
<!-- </if>-->
<if test="cashOut.userType!=null">
and c.user_type = #{cashOut.userType}
</if>