update m2pool 管理系统下架币种后,对应挖矿账户删除后,待支付汇总无法获取起付额问题修复

This commit is contained in:
yyb
2026-01-30 15:35:24 +08:00
parent 3811eec33f
commit c33a55c2fb
2 changed files with 7 additions and 8 deletions

View File

@@ -1,5 +1,6 @@
package com.m2pool.manage.service.impl; package com.m2pool.manage.service.impl;
import cn.hutool.json.JSONUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.m2pool.common.core.Result.R; import com.m2pool.common.core.Result.R;
@@ -249,17 +250,16 @@ public class ManageUserServiceImpl implements ManageUserService {
public TableDataInfo<SummaryOfPendingPaymentsDto> summaryOfPendingPayments(PageVo pageVo) { public TableDataInfo<SummaryOfPendingPaymentsDto> summaryOfPendingPayments(PageVo pageVo) {
PageHelper.startPage(pageVo.getPageNum(), pageVo.getPageSize()); PageHelper.startPage(pageVo.getPageNum(), pageVo.getPageSize());
List<SummaryOfPendingPaymentsDto> summaryOfPendingPaymentsList = manageWalletOutInMapper.summaryOfPendingPayments(); List<SummaryOfPendingPaymentsDto> summaryOfPendingPaymentsList = manageWalletOutInMapper.summaryOfPendingPayments();
System.out.println("起付额:"+summaryOfPendingPaymentsList);
//查询起付额 //查询起付额
List<SummaryOfPendingPaymentsDto> startPayments = manageBroadcastMapper.getStartPayments(summaryOfPendingPaymentsList); List<SummaryOfPendingPaymentsDto> startPayments = manageBroadcastMapper.getStartPayments(summaryOfPendingPaymentsList);
// 创建一个 Map 用于存储第二个集合中元素的 user 和 coin 组合对应的 startPayAmount
// 创建一个 Map 用于存储第二个集合中元素的 user 和 coin 组合对应的 startPayAmount . 这里可以优化一下防止多key报错不过一般不出这个问题
Map<String, BigDecimal> startPayAmountMap = startPayments.stream() Map<String, BigDecimal> startPayAmountMap = startPayments.stream()
.collect(Collectors.toMap( .collect(Collectors.toMap(
dto -> dto.getUser() + "_" + dto.getCoin(), dto -> dto.getUser() + "_" + dto.getCoin(),
SummaryOfPendingPaymentsDto::getStartPayAmount SummaryOfPendingPaymentsDto::getStartPayAmount,
(existing, replacement) -> replacement
)); ));
System.out.println("起付额22:"+startPayAmountMap);
// 遍历第一个集合,根据 user 和 coin 从 Map 中查找对应的 startPayAmount 并填充 // 遍历第一个集合,根据 user 和 coin 从 Map 中查找对应的 startPayAmount 并填充
for (SummaryOfPendingPaymentsDto dto : summaryOfPendingPaymentsList) { for (SummaryOfPendingPaymentsDto dto : summaryOfPendingPaymentsList) {
String key = dto.getUser() + "_" + dto.getCoin(); String key = dto.getUser() + "_" + dto.getCoin();

View File

@@ -167,10 +167,9 @@
user_account_balance uab user_account_balance uab
JOIN user_miner_account uma ON uma.id = uab.ma_id JOIN user_miner_account uma ON uma.id = uab.ma_id
WHERE WHERE
uab.status = 0 AND (
<foreach collection="list" item="item" separator="OR"> <foreach collection="list" item="item" separator="OR">
(`miner_user` = #{item.user} AND coin = #{item.coin}) (`miner_user` = #{item.user} AND coin = #{item.coin})
</foreach>) </foreach>
</select> </select>
<select id="getAccountIdsByCoinAndStatus" resultType="com.m2pool.manage.dto.AccountIdsDto"> <select id="getAccountIdsByCoinAndStatus" resultType="com.m2pool.manage.dto.AccountIdsDto">
@@ -193,7 +192,7 @@
</update> </update>
<update id="updateUserAccountBalanceStatusByIds"> <update id="updateUserAccountBalanceStatusByIds">
UPDATE user_account_balance SET status = #{newStatus} WHERE ma_id IN UPDATE user_account_balance SET status = #{newStatus} WHERE id IN
<foreach collection="ids" item="id" separator="," open="(" close=")"> <foreach collection="ids" item="id" separator="," open="(" close=")">
#{id} #{id}
</foreach> </foreach>