From 19db7c0f6d4e2619c48a1d0ef95843ad64c76e57 Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Tue, 18 Nov 2025 20:49:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E8=B5=84=E6=8F=90=E7=8E=B0=E9=80=80?= =?UTF-8?q?=E5=9B=9E=E6=8E=A5=E9=80=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/cmd/SalaryWithdrawInnerCmd.java | 2 ++ .../user/UserBankBalanceBackServiceImpl.java | 22 ++++++++++--------- .../salary/SalaryWithdrawRefundCmdExe.java | 6 ++--- .../app/convertor/SalaryAccountConvertor.java | 13 ++++++----- .../wallet/app/dto/cmd/SalaryWithdrawCmd.java | 2 ++ .../SalaryAccountInnerConvertor.java | 7 +++--- 6 files changed, 30 insertions(+), 22 deletions(-) diff --git a/rc-service/rc-inner-api/wallet-inner/wallet-inner-model/src/main/java/com/red/circle/wallet/inner/model/cmd/SalaryWithdrawInnerCmd.java b/rc-service/rc-inner-api/wallet-inner/wallet-inner-model/src/main/java/com/red/circle/wallet/inner/model/cmd/SalaryWithdrawInnerCmd.java index ef696c4a..86b7e17e 100644 --- a/rc-service/rc-inner-api/wallet-inner/wallet-inner-model/src/main/java/com/red/circle/wallet/inner/model/cmd/SalaryWithdrawInnerCmd.java +++ b/rc-service/rc-inner-api/wallet-inner/wallet-inner-model/src/main/java/com/red/circle/wallet/inner/model/cmd/SalaryWithdrawInnerCmd.java @@ -44,6 +44,8 @@ public class SalaryWithdrawInnerCmd implements Serializable { */ private Long serviceCharge; + private String salaryType; + /** * 备注. */ diff --git a/rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/user/UserBankBalanceBackServiceImpl.java b/rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/user/UserBankBalanceBackServiceImpl.java index 8e4a2b0a..50450257 100644 --- a/rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/user/UserBankBalanceBackServiceImpl.java +++ b/rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/user/UserBankBalanceBackServiceImpl.java @@ -818,17 +818,10 @@ public class UserBankBalanceBackServiceImpl implements UserBankBalanceBackServic ) ); - if (WithdrawMoneyApprovalProcessStatus.NOT_PASS.equals(status)) { - - } - // 如果是驳回则将金额还给用户银行卡账户且插入返还日志 -// if (Objects.isNull(apply.getAmountType())) { -// saveUserBankBalance(param, apply); -// } else if (Objects.equals(apply.getAmountType(), TeamPolicyTypeEnum.SALARY_DIAMOND.name())){ -// saveUserBankDiamondBalance(param, apply); -// } - + if (Objects.isNull(apply.getAmountType())) { + saveUserBankBalance(param, apply); + } } @Override @@ -911,6 +904,15 @@ public class UserBankBalanceBackServiceImpl implements UserBankBalanceBackServic return; } + SalaryWithdrawInnerCmd withdrawInnerCmd = new SalaryWithdrawInnerCmd(); + withdrawInnerCmd.setUserId(apply.getSubmitUserId()); + withdrawInnerCmd.setOpUserId(param.getUpdateUser()); + withdrawInnerCmd.setSysOrigin(apply.getSysOrigin()); + withdrawInnerCmd.setRemark(param.getRemark()); + withdrawInnerCmd.setSalaryType("BD_SALARY"); + withdrawInnerCmd.setAmount(apply.getAmount()); + userSalaryAccountClient.withdrawRefund(withdrawInnerCmd); + ResponseAssert.requiredSuccess(userBankBalanceClient.incr( new UserBankBalanceIncrCmd() .setUserId(apply.getSubmitUserId()) diff --git a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/salary/SalaryWithdrawRefundCmdExe.java b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/salary/SalaryWithdrawRefundCmdExe.java index aa6ea1dd..46bb369c 100644 --- a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/salary/SalaryWithdrawRefundCmdExe.java +++ b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/command/salary/SalaryWithdrawRefundCmdExe.java @@ -3,6 +3,7 @@ package com.red.circle.wallet.app.command.salary; import com.red.circle.wallet.app.convertor.SalaryAccountConvertor; import com.red.circle.wallet.app.dto.cmd.SalaryWithdrawCmd; import com.red.circle.wallet.domain.gateway.SalaryAccountGateway; +import com.red.circle.wallet.domain.salary.SalaryReceipt; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; @@ -17,8 +18,7 @@ public class SalaryWithdrawRefundCmdExe { private final SalaryAccountConvertor salaryAccountConvertor; public void execute(SalaryWithdrawCmd cmd) { - // 提现回退 - - + SalaryReceipt receipt = salaryAccountConvertor.toWithdrawRefundReceipt(cmd); + salaryAccountGateway.changeBalance(receipt); } } diff --git a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/convertor/SalaryAccountConvertor.java b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/convertor/SalaryAccountConvertor.java index 0ac3665a..496adece 100644 --- a/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/convertor/SalaryAccountConvertor.java +++ b/rc-service/rc-service-wallet/wallet-application/src/main/java/com/red/circle/wallet/app/convertor/SalaryAccountConvertor.java @@ -15,7 +15,7 @@ import com.red.circle.wallet.domain.salary.SalaryReceiptRes; import com.red.circle.wallet.domain.salary.SalaryType; import com.red.circle.wallet.infra.database.rds.entity.salary.SalaryAccountBalance; import com.red.circle.wallet.infra.database.rds.entity.salary.SalaryAccountRunningWater; -import java.math.BigDecimal; + import java.time.ZoneId; import java.util.Objects; import org.springframework.stereotype.Component; @@ -46,19 +46,20 @@ public class SalaryAccountConvertor { .setOpUserId(cmd.getReqUserId()); } - public SalaryReceipt toWithdrawReceipt(SalaryWithdrawCmd cmd) { + public SalaryReceipt toWithdrawRefundReceipt(SalaryWithdrawCmd cmd) { SalaryReceipt receipt = new SalaryReceipt() - .setReceiptType(ReceiptType.EXPENDITURE) + .setReceiptType(ReceiptType.INCOME) .setUserId(cmd.getReqUserId()) + .setAcceptUserId(cmd.getReqUserId()) .setSysOrigin(cmd.getReqSysOrigin().getOrigin()) .setSalaryType(SalaryType.of(cmd.getSalaryType())) - .setSalaryEvent(SalaryEvent.WITHDRAW) + .setSalaryEvent(SalaryEvent.WITHDRAW_REFUND) .setAmount(PennyAmount.ofDollar(cmd.getAmount())) .setTrackId(IdWorkerUtils.getIdStr()) - .setEventDesc("提现") + .setEventDesc("提现退回") .setRemark(cmd.getRemark()) .setOpUserType(OpUserType.APP) - .setOpUserId(cmd.getReqUserId()); + .setOpUserId(cmd.getOpUserId()); // if (Objects.nonNull(cmd.getServiceCharge()) && cmd.getServiceCharge() > 0) { // receipt.setServiceCharge(cmd.getServiceCharge()); diff --git a/rc-service/rc-service-wallet/wallet-client/src/main/java/com/red/circle/wallet/app/dto/cmd/SalaryWithdrawCmd.java b/rc-service/rc-service-wallet/wallet-client/src/main/java/com/red/circle/wallet/app/dto/cmd/SalaryWithdrawCmd.java index a744641c..a467efc5 100644 --- a/rc-service/rc-service-wallet/wallet-client/src/main/java/com/red/circle/wallet/app/dto/cmd/SalaryWithdrawCmd.java +++ b/rc-service/rc-service-wallet/wallet-client/src/main/java/com/red/circle/wallet/app/dto/cmd/SalaryWithdrawCmd.java @@ -38,6 +38,8 @@ public class SalaryWithdrawCmd extends AppExtCommand { */ // private Long serviceCharge; + private Long opUserId; + /** * 备注. */ diff --git a/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/convertor/SalaryAccountInnerConvertor.java b/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/convertor/SalaryAccountInnerConvertor.java index 1a373a14..32a47b6b 100644 --- a/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/convertor/SalaryAccountInnerConvertor.java +++ b/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/convertor/SalaryAccountInnerConvertor.java @@ -52,11 +52,12 @@ public class SalaryAccountInnerConvertor { SalaryWithdrawCmd cmd = new SalaryWithdrawCmd(); cmd.setAmount(innerCmd.getAmount()); cmd.setRemark(innerCmd.getRemark()); + cmd.setSalaryType(innerCmd.getSalaryType()); // 设置请求来源信息 - cmd.setReqSysOrigin(ReqSysOrigin.of(innerCmd.getSysOrigin())); - cmd.setReqUserId(innerCmd.getOpUserId()); - + cmd.setReqSysOrigin(ReqSysOrigin.of(innerCmd.getSysOrigin())); + cmd.setReqUserId(innerCmd.getUserId()); + cmd.setOpUserId(innerCmd.getOpUserId()); return cmd; }