Browse Source

20260407 钱包明细页面字段更新

lijianlin/feature-20260401-现金管理四期
wangguorui 2 days ago
parent
commit
e054a42d16
  1. 19
      src/main/java/com/example/demo/controller/cash/CashCollectionController.java
  2. 18
      src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java
  3. 6
      src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java
  4. 4
      src/main/resources/cashMapper/CashCollectionMapper.xml

19
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));
}
// 翻译状态

18
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);

6
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) {

4
src/main/resources/cashMapper/CashCollectionMapper.xml

@ -228,10 +228,12 @@
<select id="selectAuditByOrderCode" resultType="com.example.demo.domain.entity.CashRecord">
select crc.id,jwcode,name,market,ra.activity_name as activity,
order_code,bank_code,goods_name,good_num,num_unit,permanent_gold,free_gold,
payment_currency,payment_amount,pay_type,pay_time,crc.status,submitter_id,
r1.rate_name as payment_currency,r2.rate_name as received_currency,payment_amount,pay_type,pay_time,crc.status,submitter_id,
voucher,remark,version,received_market
from cash_record_collection crc
left join recharge_activity ra on ra.id = crc.activity
left join rate r1 on r1.id = crc.payment_currency
left join rate r2 on r2.id = crc.received_currency
where order_code=#{orderCode}
</select>
<!--根据精网号获取姓名-->

Loading…
Cancel
Save