From 96bcc0cf7bf00ab75d01f81586f1e8cb320fd69d Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Wed, 14 Jan 2026 16:13:25 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A2=E5=8C=85=E6=98=BE=E7=A4=BA=E6=89=A3?= =?UTF-8?q?=E5=AE=8C=E6=89=8B=E7=BB=AD=E8=B4=B9=E7=9A=84=E9=87=91=E9=A2=9D?= 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 | 6 +++--- 2 files changed, 6 insertions(+), 8 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 b7a94a8b..4d90a041 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,8 +68,6 @@ 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()); @@ -77,12 +75,12 @@ public class GrabUserRedPacketCmdExe { ResponseAssert.isTrue(OtherErrorCode.RED_PACKET_ALREADY_GRABBED, setSuccess); CompletableFuture.runAsync(() -> { - asyncProcessGrab(packetId, cmd.getReqSysOrigin().getOrigin(), userId, receiveAmount); + asyncProcessGrab(packetId, cmd.getReqSysOrigin().getOrigin(), userId, amount); }, redPacketAsyncExecutor); - log.info("领取用户红包成功 userId={} packetId={} amount={}", userId, packetId, receiveAmount); + log.info("领取用户红包成功 userId={} packetId={} amount={}", userId, packetId, amount); - return UserRedPacketAppConvertor.toGrabResultCO(packetId, receiveAmount, senderUserId); + return UserRedPacketAppConvertor.toGrabResultCO(packetId, amount, 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 73bbf0e4..4606b998 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 @@ -73,7 +73,7 @@ public class SendUserRedPacketCmdExe { UserRedPacket redPacket = buildRedPacket(cmd, senderUserId, receiverUserId, packetId, expireTime, handlingFee); userRedPacketGateway.save(redPacket); - deductUserGold(senderUserId, cmd, packetId, handlingFee); + deductUserGold(senderUserId, cmd, packetId); cacheRedPacketData(redPacket); @@ -106,7 +106,7 @@ public class SendUserRedPacketCmdExe { /** * 扣除用户金币(红包金额 + 手续费) */ - private void deductUserGold(Long userId, SendUserRedPacketCmd cmd, String packetId, Long handlingFee) { + private void deductUserGold(Long userId, SendUserRedPacketCmd cmd, String packetId) { // 发红包不再扣除手续费 Long totalDeduct = cmd.getTotalAmount(); @@ -138,7 +138,7 @@ public class SendUserRedPacketCmdExe { .senderUserId(senderUserId) .receiverUserId(receiverUserId) .packetType(RoomRedPacketType.FIXED.getCode()) - .totalAmount(cmd.getTotalAmount()) + .totalAmount(cmd.getTotalAmount() - handlingFee) .handlingFee(handlingFee) .expireTime(expireTime) .status(UserRedPacketStatus.PENDING.getCode())