gongzuming
2024-10-27 c25b0632e4a360f7499f1c79ff1d70a67919e008
src/main/java/com/mzl/flower/service/impl/wallet/WalletBillRecordServiceImpl.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mzl.flower.constant.Constants;
import com.mzl.flower.constant.LockConstants;
import com.mzl.flower.dto.request.wallet.CreateWalletBillRecordDTO;
import com.mzl.flower.dto.request.wallet.QueryWalletBillRecordDTO;
import com.mzl.flower.dto.response.wallet.WalletBillRecordVO;
import com.mzl.flower.dto.request.wallet.QueryWalletBillDTO;
import com.mzl.flower.dto.response.wallet.WalletBillRecordVO;
import com.mzl.flower.entity.payment.Transfer;
import com.mzl.flower.entity.payment.TransferDetail;
@@ -23,7 +26,6 @@
import com.mzl.flower.utils.ExcelExportUtil;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
@@ -35,6 +37,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.List;
/**
 * <p>
@@ -94,7 +97,7 @@
                walletBillRecordDO.update("sys");
                walletBillRecordMapper.updateById(walletBillRecordDO);
                //更新钱包
                WalletDO walletDO = walletService.getBySupplierId(walletBillRecordDO.getWalletId());
                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)) {
@@ -117,6 +120,7 @@
                if (StringUtils.isEmpty(walletBillRecordDO.getWithdrawRecordId())) {
                    WalletWithdrawRecordDO withdrawRecordDO = walletWithdrawRecordMapper.selectById(walletBillRecordDO.getWithdrawRecordId());
                    withdrawRecordDO.setWithdrawState(Constants.WALLET_WITHDRAW_STATE.SUCCESS.name());
                    walletBillRecordDO.setRemark("账户资金提现完成");
                    walletWithdrawRecordMapper.updateById(withdrawRecordDO);
                }
@@ -124,7 +128,7 @@
                walletBillRecordDO.setTransferState(Constants.SETTLEMENT_STATUS.FAILED.name());
                walletBillRecordDO.update("sys");
                walletBillRecordMapper.updateById(walletBillRecordDO);
                WalletDO walletDO = walletService.getBySupplierId(walletBillRecordDO.getWalletId());
                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)) {
@@ -147,6 +151,7 @@
                if (StringUtils.isEmpty(walletBillRecordDO.getWithdrawRecordId())) {
                    WalletWithdrawRecordDO withdrawRecordDO = walletWithdrawRecordMapper.selectById(walletBillRecordDO.getWithdrawRecordId());
                    withdrawRecordDO.setWithdrawState(Constants.WALLET_WITHDRAW_STATE.FAILURE.name());
                    walletBillRecordDO.setRemark("账户资金提现失败");
                    walletWithdrawRecordMapper.updateById(withdrawRecordDO);
                }
            }
@@ -172,7 +177,7 @@
            int a = 0;
            objs[a++] = sn; // 序号
            objs[a++] = o.getSupplierName()+":"+o.getSupplierId(); // 供应商信息
            objs[a++] = o.getTypeStr(); // 变动类型
            objs[a++] = o.getTypeName(); // 变动类型
            objs[a++] = o.getOriginalAmount(); // 原金额
            objs[a++] = o.getChangeAmount(); // 变动金额
            objs[a++] = o.getBalance(); //现余额
@@ -192,4 +197,11 @@
            log.error(e.getMessage(), e);
        }
    }
    @Override
    public Page<WalletBillRecordVO> getPage(Page page, QueryWalletBillDTO dto) {
        List<WalletBillRecordVO> list = walletBillRecordMapper.getPage(page,dto);
        page.setRecords(list);
        return page;
    }
}