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 @@