From 2e0a8f0a43e1172ee796ba6374099fd11c748422 Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Mon, 13 Apr 2026 17:21:30 +0800 Subject: [PATCH] =?UTF-8?q?bd=20bdleader=20=E9=87=91=E5=B8=81=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../team/bd/query/BdDetailsQryExe.java | 142 ++++++++---------- 1 file changed, 66 insertions(+), 76 deletions(-) diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/bd/query/BdDetailsQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/bd/query/BdDetailsQryExe.java index 52c204dd..10b202e6 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/bd/query/BdDetailsQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/bd/query/BdDetailsQryExe.java @@ -21,9 +21,11 @@ import com.red.circle.wallet.inner.model.dto.SalaryRunningWaterDTO; import com.red.circle.wallet.inner.model.dto.UserBankRunningWaterDTO; import com.red.circle.wallet.inner.model.dto.UserBankWithdrawMoneyApplyDTO; import com.red.circle.wallet.inner.model.enums.SalaryEvent; +import com.red.circle.wallet.inner.model.enums.SalaryType; import com.red.circle.wallet.inner.model.enums.UserBankWaterEvent; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.jetbrains.annotations.Nullable; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; @@ -92,6 +94,7 @@ public class BdDetailsQryExe { SalaryRunningWaterQueryInnerCmd qryCmd = new SalaryRunningWaterQueryInnerCmd(); qryCmd.setUserId(userId); qryCmd.setPageSize(500); + qryCmd.setSalaryType(filterType); // 调用 Wallet 服务查询流水 var response = userSalaryAccountClient.queryRunningWater(qryCmd); @@ -134,8 +137,9 @@ public class BdDetailsQryExe { private BdDetailItemCO convertWalletRecord(SalaryRunningWaterDTO water, String filterType, Map applyDTOMap, Map balanceRunningWaterDTOMap) { + String salaryType = water.getSalaryType(); String event = water.getSalaryEvent(); - if (event == null) { + if (salaryType == null) { return null; } @@ -145,11 +149,64 @@ public class BdDetailsQryExe { item.setTime(Timestamp.valueOf(water.getCreatedAt())); item.setTimeText(TIME_FORMATTER.format(water.getCreatedAt())); - // Cash out (提现) - if (SalaryEvent.WITHDRAW.getCode().equals(event)) { - if (!shouldIncludeType(filterType, "CASH_OUT")) { - return null; + // BD 收入 + if (SalaryType.BD_SALARY.getCode().equals(salaryType)) { + if (SalaryEvent.SALARY_BD.getCode().equals(event)) { + item.setType("BD_INCOME"); + item.setTypeText("BD's income"); + item.setAmount(water.getAmount()); + item.setAmountText("+$" + water.getAmount().toString()); + return item; } + return getBdDetailItemCO(water, filterType, item, balanceRunningWaterDTOMap, applyDTOMap); + } + + // BDLEADER 收入 + if (SalaryType.BD_LEADER_SALARY.getCode().equals(salaryType)) { + if (SalaryEvent.SALARY_BD_LEADER.getCode().equals(event)) { + item.setType("BD_LEADER_INCOME"); + item.setTypeText("BD Leader's income"); + item.setAmount(water.getAmount()); + item.setAmountText("+$" + water.getAmount().toString()); + return item; + } + + return getBdDetailItemCO(water, filterType, item, balanceRunningWaterDTOMap, applyDTOMap); + } + return null; + } + + @Nullable + private BdDetailItemCO getBdDetailItemCO(SalaryRunningWaterDTO water, String filterType, BdDetailItemCO item, + Map balanceRunningWaterDTOMap, + Map applyDTOMap) { + String event = water.getSalaryEvent(); + if (SalaryEvent.SALARY_EXCHANGE.getCode().equals(event)) { + item.setType("EXCHANGE"); + item.setTypeText("Exchange coins"); + // 兑换是支出,金额为负 + item.setAmount(water.getAmount().negate()); + item.setAmountText("-$" + water.getAmount().toString()); + return item; + } + + if (SalaryEvent.SALARY_TRANSFER.getCode().equals(event)) { + item.setType("TRANSFER"); + item.setTypeText("Transfer"); + + FreightBalanceRunningWaterDTO runningWaterDTO = balanceRunningWaterDTOMap.get(Long.parseLong(water.getTrackId())); + if (runningWaterDTO != null) { + item.setAmount(runningWaterDTO.getQuantity()); + item.setAmountText("+" + runningWaterDTO.getQuantity() + " coins"); + } else { + item.setAmount(water.getAmount()); + item.setAmountText("+" + water.getAmount() + " $"); + } + item.setUserInfo(new BdDetailItemCO.BdDetailUserInfo().setUserId(water.getAcceptUserId())); + return item; + } + + if (SalaryEvent.WITHDRAW.getCode().equals(event)) { UserBankWithdrawMoneyApplyDTO moneyApplyDTO = applyDTOMap.get(Long.parseLong(water.getTrackId())); item.setType("CASH_OUT"); @@ -187,79 +244,10 @@ public class BdDetailsQryExe { return item; } - // Transfer (转账) - if (SalaryEvent.SALARY_TRANSFER.getCode().equals(event)) { - if (!shouldIncludeType(filterType, "TRANSFER")) { - return null; - } - item.setType("TRANSFER"); - item.setTypeText("Transfer"); - - FreightBalanceRunningWaterDTO runningWaterDTO = balanceRunningWaterDTOMap.get(Long.parseLong(water.getTrackId())); - if (runningWaterDTO != null) { - item.setAmount(runningWaterDTO.getQuantity()); - item.setAmountText("+" + runningWaterDTO.getQuantity() + " coins"); - } else { - item.setAmount(water.getAmount()); - item.setAmountText("+" + water.getAmount() + " $"); - } - item.setUserInfo(new BdDetailItemCO.BdDetailUserInfo().setUserId(water.getAcceptUserId())); - return item; - } - - // Exchange coins (兑换金币) - if (SalaryEvent.SALARY_EXCHANGE.getCode().equals(event)) { - if (!shouldIncludeType(filterType, "EXCHANGE")) { - return null; - } - item.setType("EXCHANGE"); - item.setTypeText("Exchange coins"); - // 兑换是支出,金额为负 - item.setAmount(water.getAmount().negate()); - item.setAmountText("-$" + water.getAmount().toString()); - return item; - } - - // BD 收入 - if (SalaryEvent.SALARY_BD.getCode().equals(event)) { - if (!shouldIncludeType(filterType, "BD_SALARY_SETTLEMENT")) { - return null; - } - item.setType("BD_INCOME"); - item.setTypeText("BD's income"); - item.setAmount(water.getAmount()); - item.setAmountText("+$" + water.getAmount().toString()); - return item; - } - - // BDLEADER 收入 - if (SalaryEvent.SALARY_BD_LEADER.getCode().equals(event)) { - if (!shouldIncludeType(filterType, "BD_LEADER_SALARY_SETTLEMENT")) { - return null; - } - item.setType("BD_LEADER_INCOME"); - item.setTypeText("BD Leader's income"); - item.setAmount(water.getAmount()); - item.setAmountText("+$" + water.getAmount().toString()); - return item; - } - - // ADMIN 收入 - if (SalaryEvent.SALARY_ADMIN.getCode().equals(event)) { - if (!shouldIncludeType(filterType, "ADMIN_SALARY_SETTLEMENT")) { - return null; - } - item.setType("ADMIN_INCOME"); - item.setTypeText("Admin's income"); - item.setAmount(water.getAmount()); - item.setAmountText("+$" + water.getAmount().toString()); - return item; - } - - return null; } + /** * 查询 BD 收入记录 */ @@ -335,7 +323,9 @@ public class BdDetailsQryExe { } return filterType.equals("CASH_OUT") || filterType.equals("TRANSFER") || - filterType.equals("EXCHANGE"); + filterType.equals("EXCHANGE") || + filterType.equals("BD_SALARY") || + filterType.equals("BD_LEADER_SALARY") ; } /**