## 转账、提现添加账户金额是否足够校验;

This commit is contained in:
cabbage 2025-09-17 11:10:41 +08:00
parent eb57ef70d5
commit 903cc305ac
5 changed files with 46 additions and 23 deletions

View File

@ -313,10 +313,15 @@ public class ApiCuMemberTransferController extends BaseController {
Integer toPkAccount = accountServiceApi.getPkAccount(pkAccount).getData();
CuMemberTransfer cuMemberTransfer = CuMemberTransfer.builder().pkMember(pkMember)
.pkAccount(pkAccount).transferCode(code).toPkMember(toPkMember)
.pkToAccount(toPkAccount).pkRate(currencyDTO.getPkId())
.transferMoney(transferMoney).remarks(cuMemberTransferParam.getRemarks())
.serviceCharge(serviceRatio).issuedAmount(issuedAmount)
.pkAccount(pkAccount)
.transferCode(code)
.toPkMember(toPkMember)
.pkToAccount(toPkAccount)
.pkRate(currencyDTO.getPkId())
.transferMoney(transferMoney)
.remarks(cuMemberTransferParam.getRemarks())
.serviceCharge(serviceRatio)
.issuedAmount(issuedAmount)
.build();
cuMemberTransfer.setPkCountry(pkCountry);
cuMemberTransfer.setPkCreator(pkMember);

View File

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.msg.FinanceMsgConstants;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.exception.ServiceException;
import com.hzs.common.core.utils.CommonUtil;
import com.hzs.common.domain.member.account.CuMemberAccount;
import com.hzs.common.domain.member.account.CuMemberTrade;
@ -106,9 +107,16 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
@Transactional(rollbackFor = Exception.class)
@Override
public Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount, CuMemberAccount toMemberAccount) {
Integer row = baseMapper.insert(cuMemberTransfer);
this.updateTradeAndBalancd(cuMemberTransfer, ETransferType.TRANSFER_OUT.getValue());
this.updateTradeAndBalancd(cuMemberTransfer, ETransferType.TRANSFER_IN.getValue());
int row = baseMapper.insert(cuMemberTransfer);
if (row == 0) {
throw new ServiceException("转账失败,请确认后重试");
}
if (this.updateTradeAndBalancd(cuMemberTransfer, ETransferType.TRANSFER_OUT.getValue()) == 0) {
throw new ServiceException("转账失败,请确认后重试");
}
if (this.updateTradeAndBalancd(cuMemberTransfer, ETransferType.TRANSFER_IN.getValue()) == 0) {
throw new ServiceException("转账失败,请确认后重试");
}
ChargingBonusDetail(cuMemberTransfer, cuMemberAccount, toMemberAccount);
return row;
}
@ -182,11 +190,15 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
BigDecimal amount = type == (ETransferType.TRANSFER_OUT.getValue()) ? transferMoney.negate() : transferMoney;
Integer pkAccountValue = iCuMemberBaseService.getAccountValueById(pkAccount);
CuMemberAccountParam param = CuMemberAccountParam.builder().pkMember(memberId)
.accountType(pkAccountValue).amount(amount).pkModified(cuMemberTransfer.getPkCreator())
.accountClassify(ETradeClassify.TRANSFER.getValue()).pkCountry(cuMemberTransfer.getPkCountry())
.transferType(type).build();
CuMemberAccountParam param = CuMemberAccountParam.builder()
.pkMember(memberId)
.accountType(pkAccountValue)
.amount(amount)
.pkModified(cuMemberTransfer.getPkCreator())
.accountClassify(ETradeClassify.TRANSFER.getValue())
.pkCountry(cuMemberTransfer.getPkCountry())
.transferType(type)
.build();
return iCuMemberAccountService.updateMemberAccountByMemberCode(param);
}

View File

@ -113,7 +113,9 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
public Integer saveMemberWithdrawInfo(CuMemberWithdraw cuMemberWithdraw) {
int row = baseMapper.insert(cuMemberWithdraw);
if (row != 0) {
this.updateTradeAndBalancd(cuMemberWithdraw, EOperationMethod.INSERT);
if (this.updateTradeAndBalancd(cuMemberWithdraw, EOperationMethod.INSERT) == 0) {
throw new ServiceException("提现失败,请确认后重试");
}
}
return row;
}
@ -133,10 +135,15 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
//提现金额
BigDecimal cashAmount = cuMemberWithdraw.getCashAmount();
BigDecimal amount = eMethodType.equals(EOperationMethod.INSERT) ? cashAmount.negate() : cashAmount;
CuMemberAccountParam param = CuMemberAccountParam.builder().pkMember(cuMemberWithdraw.getPkMember())
.accountType(accountType).amount(amount).pkModified(cuMemberWithdraw.getPkCreator())
.accountClassify(ETradeClassify.WITHDRAWAL.getValue()).pkCountry(cuMemberWithdraw.getPkCountry())
.transferType(ETransferType.TRANSFER_IN.getValue()).build();
CuMemberAccountParam param = CuMemberAccountParam.builder()
.pkMember(cuMemberWithdraw.getPkMember())
.accountType(accountType)
.amount(amount)
.pkModified(cuMemberWithdraw.getPkCreator())
.accountClassify(ETradeClassify.WITHDRAWAL.getValue())
.pkCountry(cuMemberWithdraw.getPkCountry())
.transferType(ETransferType.TRANSFER_IN.getValue())
.build();
return iCuMemberAccountService.updateMemberAccountByMemberCode(param);
}

View File

@ -231,6 +231,9 @@
<if test="account2 != null">
and account2 + #{account2} >= 0
</if>
<if test="account4 != null">
and account4 + #{account4} >= 0
</if>
</update>
<select id="queryMemberAccountByMemberCode" resultType="com.hzs.member.account.dto.CuMemberRechargeAccountParam">

View File

@ -23,11 +23,7 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* @Description: 防止表单重复提交处理
* @Author: jiang chao
* @Time: 2023/6/15 9:24
* @Classname: RepeatSubmitOldAspectAdvice
* @PackageName: com.hzs.common.core.aspect
* 防止表单重复提交处理
*/
@Slf4j
@Aspect
@ -67,7 +63,7 @@ public class RepeatSubmitSimpleAspectAdvice {
Map<String, Object> nowDataMap = new HashMap<>();
nowDataMap.put(REPEAT_PARAMS, nowParams);
nowDataMap.put(REPEAT_TIME, System.currentTimeMillis());
nowDataMap.put(REPEAT_TIME, System.currentTimeMillis() / 1000);
// 请求地址作为存放cache的key值
String url = request.getRequestURI();