From e054a42d169c8f716a46b00ae8efcab25c94d56f Mon Sep 17 00:00:00 2001 From: wangguorui <2069821375@qq.com> Date: Tue, 7 Apr 2026 16:22:40 +0800 Subject: [PATCH] =?UTF-8?q?20260407=20=E9=92=B1=E5=8C=85=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=AD=97=E6=AE=B5=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/cash/CashCollectionController.java | 19 ++++++++++++++++++- .../demo/serviceImpl/cash/CashAuditServiceImpl.java | 18 ++++++++++++++++++ .../serviceImpl/cash/CashCollectionServiceImpl.java | 6 +++--- .../resources/cashMapper/CashCollectionMapper.xml | 16 +++++++++------- 4 files changed, 48 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/example/demo/controller/cash/CashCollectionController.java b/src/main/java/com/example/demo/controller/cash/CashCollectionController.java index 95f5b2c..65aad69 100644 --- a/src/main/java/com/example/demo/controller/cash/CashCollectionController.java +++ b/src/main/java/com/example/demo/controller/cash/CashCollectionController.java @@ -865,7 +865,24 @@ public class CashCollectionController { } // 翻译交易类型 if (vo.getType() != null) { - String typeText = vo.getType() == 0 ? "充值" : (vo.getType() == 1 ? "消耗" : "退款"); + String typeText; + switch (vo.getType()) { + case 0: + typeText = "充值"; + break; + case 1: + typeText = "消耗"; + break; + case 2: + typeText = "退款"; + break; + case 3: + typeText = "软件购买"; + break; + default: + typeText = "未知"; + break; + } vo.setTypeText(languageTranslationUtil.translate(typeText, lang)); } // 翻译状态 diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java index f8e98fa..8b305de 100644 --- a/src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java @@ -238,6 +238,24 @@ public class CashAuditServiceImpl implements CashAuditService { user.setRechargeNum(1); //充值次数加一 auditMapper.updateUserGold(user); } + else { + // 先从数据库中获取订单的 walletId + CashRecord dbRecord = cashCollectionMapper.selectByOrderCode(orderCode); + Integer walletId = dbRecord != null ? dbRecord.getWalletId() : null; + // 创建钱包明细记录 + UserWalletRecord walletRecord = new UserWalletRecord(); + walletRecord.setJwcode(order.getJwcode()); + walletRecord.setWalletId(walletId); + walletRecord.setType(3); // 3=软件购买 + walletRecord.setTransactionCurrency(order.getPaymentCurrency()); + walletRecord.setAmount(order.getPaymentAmount().intValue()); + walletRecord.setOrderCode(orderCode); + walletRecord.setDescription(order.getGoodsName()+order.getGoodNum()+order.getNumUnit()); + walletRecord.setStatus(0); // 0=正常 + cashCollectionMapper.insertUserWalletRecord(walletRecord); + log.info("创建钱包明细记录:jwcode={}, walletId={}, orderCode={}, amount={}", + order.getJwcode(), walletId, orderCode, order.getPermanentGold()); + } } else if (action == 2) { //驳回 updateOrder.setStatus(2); updateOrder.setRejectReason(rejectReason); diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java index f9a2ea7..2cba3a6 100644 --- a/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java @@ -76,6 +76,9 @@ public class CashCollectionServiceImpl implements CashCollectionService { if (cashCollection.getActivity() == null || cashCollection.getActivity().isEmpty()) { throw new IllegalArgumentException("活动不能为空"); } + if (cashCollection.getWalletId() == null || cashCollection.getWalletId() < 1 || cashCollection.getWalletId() > 10) { + throw new IllegalArgumentException("钱包 ID 为 1~10"); + } if (cashCollection.getGoodsName() == null|| cashCollection.getGoodsName().isEmpty()) { throw new IllegalArgumentException("产品名称不能为空"); } @@ -83,9 +86,6 @@ public class CashCollectionServiceImpl implements CashCollectionService { if (cashCollection.getPermanentGold() == 0 && cashCollection.getFreeGold() == 0) { throw new IllegalArgumentException("金币数量不能为空"); } - if (cashCollection.getWalletId() == null || cashCollection.getWalletId() < 1 || cashCollection.getWalletId() > 10) { - throw new IllegalArgumentException("钱包 ID 为 1~10"); - } } if (!cashCollection.getGoodsName().equals("金币充值")) { if (cashCollection.getGoodNum() == 0) { diff --git a/src/main/resources/cashMapper/CashCollectionMapper.xml b/src/main/resources/cashMapper/CashCollectionMapper.xml index b410e5c..daec598 100644 --- a/src/main/resources/cashMapper/CashCollectionMapper.xml +++ b/src/main/resources/cashMapper/CashCollectionMapper.xml @@ -226,13 +226,15 @@