From 52081904dc467b81db0b28ff7cfed5979f14d1d2 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 08 十一月 2024 19:52:04 +0800
Subject: [PATCH] add:钱包功能调整1108-2
---
src/main/java/com/mzl/flower/dto/request/wallet/QueryWalletBillRecordDTO.java | 2
src/main/java/com/mzl/flower/dto/request/wallet/QueryWalletWithdrawDTO.java | 2
src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java | 7 +++
src/main/java/com/mzl/flower/service/impl/wallet/WalletBillRecordServiceImpl.java | 63 ++++++++++++++-----------------
src/main/java/com/mzl/flower/web/v2/wallet/WalletWithdrawRecordController.java | 2
5 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/src/main/java/com/mzl/flower/dto/request/wallet/QueryWalletBillRecordDTO.java b/src/main/java/com/mzl/flower/dto/request/wallet/QueryWalletBillRecordDTO.java
index 5450fc8..3334a3f 100644
--- a/src/main/java/com/mzl/flower/dto/request/wallet/QueryWalletBillRecordDTO.java
+++ b/src/main/java/com/mzl/flower/dto/request/wallet/QueryWalletBillRecordDTO.java
@@ -11,7 +11,7 @@
public class QueryWalletBillRecordDTO {
@ApiModelProperty(value = "供应商Id")
- private Long supplierId;
+ private String supplierId;
@ApiModelProperty(value = "供应商名称")
private String supplierName;
diff --git a/src/main/java/com/mzl/flower/dto/request/wallet/QueryWalletWithdrawDTO.java b/src/main/java/com/mzl/flower/dto/request/wallet/QueryWalletWithdrawDTO.java
index 0116ae1..c4e4a0e 100644
--- a/src/main/java/com/mzl/flower/dto/request/wallet/QueryWalletWithdrawDTO.java
+++ b/src/main/java/com/mzl/flower/dto/request/wallet/QueryWalletWithdrawDTO.java
@@ -11,7 +11,7 @@
public class QueryWalletWithdrawDTO {
@ApiModelProperty(value = "供应商Id")
- private Long supplierId;
+ private String supplierId;
@ApiModelProperty(value = "供应商名称")
private String supplierName;
diff --git a/src/main/java/com/mzl/flower/service/impl/wallet/WalletBillRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/wallet/WalletBillRecordServiceImpl.java
index 0b6b115..1154701 100644
--- a/src/main/java/com/mzl/flower/service/impl/wallet/WalletBillRecordServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/wallet/WalletBillRecordServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mzl.flower.config.exception.ValidationException;
import com.mzl.flower.config.security.SecurityUtils;
import com.mzl.flower.constant.Constants;
import com.mzl.flower.constant.LockConstants;
@@ -102,40 +103,25 @@
walletBillRecordDO.setRemark("微信商户转账成功");
walletBillRecordMapper.updateById(walletBillRecordDO);
//更新钱包
-// WalletDO walletDO = walletService.getOrCreateBySupplierId(walletBillRecordDO.getWalletId());
-// RLock lock = redissonClient.getLock(String.format(LockConstants.WALLET_ID_KEY, walletDO.getId()));
-// try {
-// if (lock.tryLock(10, 30, TimeUnit.SECONDS)) {
-// try {
-// if (!ObjectUtils.isEmpty(walletDO)) {
-// WalletBillRecordDO walletBillRecordDO2 = new WalletBillRecordDO();
-// walletBillRecordDO2.setId(UUIDGenerator.getUUID());
-// walletBillRecordDO2.setSupplierId(walletDO.getSupplierId());
-// walletBillRecordDO2.setWalletId(walletDO.getId());
-// walletBillRecordDO2.setType(Constants.BILL_CHANGE_TYPE.withdraw.name());
-// // 发起提现
-// walletBillRecordDO2.setWithdrawType(Constants.BILL_WITHDRAW_TYPE.success.name());
-// walletBillRecordDO2.setMethod(Constants.BILL_CHANGE_METHOD.reduce.name());
-// walletBillRecordDO2.setOriginalAmount(walletDO.getWithdrawableAmount());
-// walletBillRecordDO2.setChangeAmount(BigDecimal.ZERO);
-// walletBillRecordDO2.setBalance(walletDO.getWithdrawableAmount());
-// walletBillRecordDO2.create(SecurityUtils.getUserId());
-// walletBillRecordDO.setId(UUIDGenerator.getUUID());
-// // 保存账单明细
-// walletBillRecordService.save(walletBillRecordDO);
-// //提现中金额:减少提现中金额
-// walletDO.setWithdrawingAmount(walletDO.getWithdrawingAmount().subtract(walletBillRecordDO.getChangeAmount()));
-// //已提现金额:增加已提现金额
-// walletDO.setWithdrawnAmount(walletDO.getWithdrawnAmount().add(walletBillRecordDO.getChangeAmount()));
-// walletMapper.updateById(walletDO);
-// }
-// } finally {
-// lock.unlock();
-// }
-// }
-// } catch (InterruptedException e) {
-// throw new RuntimeException(e);
-// }
+ WalletDO walletDO = walletService.getOrCreateBySupplierId(walletBillRecordDO.getSupplierId());
+ RLock lock = redissonClient.getLock(String.format(LockConstants.WALLET_ID_KEY, walletDO.getId()));
+ try {
+ if (lock.tryLock(10, 30, TimeUnit.SECONDS)) {
+ try {
+ if (!ObjectUtils.isEmpty(walletDO)) {
+ //提现中金额:减少提现中金额
+ walletDO.setWithdrawingAmount(walletDO.getWithdrawingAmount().subtract(walletBillRecordDO.getChangeAmount()));
+ //已提现金额:增加已提现金额
+ walletDO.setWithdrawnAmount(walletDO.getWithdrawnAmount().add(walletBillRecordDO.getChangeAmount()));
+ walletMapper.updateById(walletDO);
+ }
+ } finally {
+ lock.unlock();
+ }
+ }
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
//回写提现状态
if (!StringUtils.isEmpty(walletBillRecordDO.getWithdrawRecordId())) {
WalletWithdrawRecordDO withdrawRecordDO = walletWithdrawRecordMapper.selectById(walletBillRecordDO.getWithdrawRecordId());
@@ -147,7 +133,7 @@
walletBillRecordDO.setTransferState(Constants.SETTLEMENT_STATUS.FAILED.name());
walletBillRecordDO.update("sys");
walletBillRecordMapper.updateById(walletBillRecordDO);
- WalletDO walletDO = walletService.getOrCreateBySupplierId(walletBillRecordDO.getWalletId());
+ WalletDO walletDO = walletService.getOrCreateBySupplierId(walletBillRecordDO.getSupplierId());
RLock lock = redissonClient.getLock(String.format(LockConstants.WALLET_ID_KEY, walletDO.getId()));
try {
if (lock.tryLock(10, 30, TimeUnit.SECONDS)) {
@@ -197,6 +183,13 @@
@Override
public Page<WalletBillRecordVO> queryPage(QueryWalletBillRecordDTO queryWalletBillRecordDTO, Page page) {
+ try {
+ if (!StringUtils.isEmpty(queryWalletBillRecordDTO.getSupplierId())) {
+ Long supplierId = Long.parseLong(queryWalletBillRecordDTO.getSupplierId());
+ }
+ } catch (Exception e) {
+ throw new ValidationException("供应商ID格式不正确");
+ }
List<WalletBillRecordVO> list = walletBillRecordMapper.queryPage(queryWalletBillRecordDTO, page);
page.setRecords(list);
return page;
diff --git a/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
index 0fe7d36..1b6b228 100644
--- a/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
@@ -181,6 +181,13 @@
@Override
public Page<WalletWithdrawRecordVO> queryPage(QueryWalletWithdrawDTO queryWalletDTO, Page page) {
+ try {
+ if (!StringUtils.isEmpty(queryWalletDTO.getSupplierId())) {
+ Long supplierId = Long.parseLong(queryWalletDTO.getSupplierId());
+ }
+ } catch (Exception e) {
+ throw new ValidationException("供应商ID格式不正确");
+ }
List<WalletWithdrawRecordVO> list = walletWithdrawRecordMapper.queryPage(queryWalletDTO, page);
page.setRecords(list);
return page;
diff --git a/src/main/java/com/mzl/flower/web/v2/wallet/WalletWithdrawRecordController.java b/src/main/java/com/mzl/flower/web/v2/wallet/WalletWithdrawRecordController.java
index c7e5eec..e3bdbc9 100644
--- a/src/main/java/com/mzl/flower/web/v2/wallet/WalletWithdrawRecordController.java
+++ b/src/main/java/com/mzl/flower/web/v2/wallet/WalletWithdrawRecordController.java
@@ -98,7 +98,7 @@
public ResponseEntity<ReturnDataDTO<Page<WalletWithdrawRecordDO>>> page(Page page, QueryWalletWithdrawDTO dto
) {
// 根据当前用户获取供应商
- dto.setSupplierId(supplierService.getCurrentSupplier().getId());
+ dto.setSupplierId(String.valueOf(supplierService.getCurrentSupplier().getId()));
return returnData(R.SUCCESS.getCode(), walletWithdrawRecordService.queryPage(dto, page));
}
--
Gitblit v1.9.3