From 3ba78182c15b2c228a57c44184015f9732049b4d Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Wed, 14 Jan 2026 14:25:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E7=BA=A2=E5=8C=85=E4=B8=8D=E6=89=A3?= =?UTF-8?q?=E9=99=A4=E6=89=8B=E7=BB=AD=E8=B4=B9=EF=BC=8C=20=E9=A2=86?= =?UTF-8?q?=E7=BA=A2=E5=8C=85=E6=89=A3=E9=99=A4=E6=89=8B=E7=BB=AD=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/command/redpacket/GrabUserRedPacketCmdExe.java | 8 +++++--- .../app/command/redpacket/SendUserRedPacketCmdExe.java | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/redpacket/GrabUserRedPacketCmdExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/redpacket/GrabUserRedPacketCmdExe.java index 4d90a041..b7a94a8b 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/redpacket/GrabUserRedPacketCmdExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/redpacket/GrabUserRedPacketCmdExe.java @@ -68,6 +68,8 @@ public class GrabUserRedPacketCmdExe { ResponseAssert.isTrue(OtherErrorCode.RED_PACKET_ALREADY_GRABBED, UserRedPacketStatus.PENDING.getCode().equals(status)); Long amount = Long.valueOf(String.valueOf(packetData.get("totalAmount"))); + Long handlingFee = Long.valueOf(String.valueOf(packetData.get("handlingFee"))); + Long receiveAmount = amount - handlingFee; Long senderUserId = Long.valueOf(String.valueOf(packetData.get("senderUserId"))); long expireSeconds = Math.max(60, Duration.between(LocalDateTime.now(), expireTime).getSeconds()); @@ -75,12 +77,12 @@ public class GrabUserRedPacketCmdExe { ResponseAssert.isTrue(OtherErrorCode.RED_PACKET_ALREADY_GRABBED, setSuccess); CompletableFuture.runAsync(() -> { - asyncProcessGrab(packetId, cmd.getReqSysOrigin().getOrigin(), userId, amount); + asyncProcessGrab(packetId, cmd.getReqSysOrigin().getOrigin(), userId, receiveAmount); }, redPacketAsyncExecutor); - log.info("领取用户红包成功 userId={} packetId={} amount={}", userId, packetId, amount); + log.info("领取用户红包成功 userId={} packetId={} amount={}", userId, packetId, receiveAmount); - return UserRedPacketAppConvertor.toGrabResultCO(packetId, amount, senderUserId); + return UserRedPacketAppConvertor.toGrabResultCO(packetId, receiveAmount, senderUserId); } /** diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/redpacket/SendUserRedPacketCmdExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/redpacket/SendUserRedPacketCmdExe.java index c6236a18..01805a8e 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/redpacket/SendUserRedPacketCmdExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/redpacket/SendUserRedPacketCmdExe.java @@ -91,7 +91,8 @@ public class SendUserRedPacketCmdExe { * 扣除用户金币(红包金额 + 手续费) */ private void deductUserGold(Long userId, SendUserRedPacketCmd cmd, String packetId, Long handlingFee) { - Long totalDeduct = cmd.getTotalAmount() + handlingFee; + // 发红包不再扣除手续费 + Long totalDeduct = cmd.getTotalAmount(); GoldReceiptCmd build = GoldReceiptCmd.builder() .appExpenditure()