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

This commit is contained in:
cabbage 2025-09-16 09:42:04 +08:00
parent a7cf25a210
commit ee489b6368
6 changed files with 45 additions and 30 deletions

View File

@ -180,7 +180,6 @@ public class ApiCuMemberTransferController extends BaseController {
return iCuMemberServiceLogService.selectServiceValue(log); return iCuMemberServiceLogService.selectServiceValue(log);
} }
/** /**
* 用户转账 * 用户转账
* *
@ -338,11 +337,17 @@ public class ApiCuMemberTransferController extends BaseController {
//转入币种ID从配置中获取 //转入币种ID从配置中获取
Integer toPkAccount = iAccountServiceApi.getPkAccount(pkAccount).getData(); Integer toPkAccount = iAccountServiceApi.getPkAccount(pkAccount).getData();
CuMemberTransfer cuMemberTransfer = CuMemberTransfer.builder().pkMember(pkMember) CuMemberTransfer cuMemberTransfer = CuMemberTransfer.builder()
.pkAccount(pkAccount).transferCode(code).toPkMember(toPkMember) .pkMember(pkMember)
.pkToAccount(toPkAccount).pkRate(currencyDTO.getPkId()) .pkAccount(pkAccount)
.transferMoney(transferMoney).remarks(cuMemberTransferParam.getRemarks()) .transferCode(code)
.serviceCharge(serviceRatio).issuedAmount(issuedAmount) .toPkMember(toPkMember)
.pkToAccount(toPkAccount)
.pkRate(currencyDTO.getPkId())
.transferMoney(transferMoney)
.remarks(cuMemberTransferParam.getRemarks())
.serviceCharge(serviceRatio)
.issuedAmount(issuedAmount)
.build(); .build();
cuMemberTransfer.setPkCountry(pkCountry); cuMemberTransfer.setPkCountry(pkCountry);
cuMemberTransfer.setPkCreator(pkMember); cuMemberTransfer.setPkCreator(pkMember);
@ -350,7 +355,6 @@ public class ApiCuMemberTransferController extends BaseController {
return toAjax(iCuMemberTransferService.saveMemberTransferInfo(cuMemberTransfer, cuMemberAccount, toMemberAccount)); return toAjax(iCuMemberTransferService.saveMemberTransferInfo(cuMemberTransfer, cuMemberAccount, toMemberAccount));
} }
/** /**
* 判断是否走血缘 * 判断是否走血缘
* *

View File

@ -72,7 +72,6 @@ public interface ICuMemberTransferService extends IService<CuMemberTransfer> {
*/ */
BdTransfer getBdTransfer(Integer pkCountry); BdTransfer getBdTransfer(Integer pkCountry);
/** /**
* 保存转账 * 保存转账
* *

View File

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.msg.FinanceMsgConstants; import com.hzs.common.core.constant.msg.FinanceMsgConstants;
import com.hzs.common.core.enums.*; import com.hzs.common.core.enums.*;
import com.hzs.common.core.exception.ServiceException;
import com.hzs.common.core.utils.CommonUtil; import com.hzs.common.core.utils.CommonUtil;
import com.hzs.common.domain.member.account.CuMemberAccount; import com.hzs.common.domain.member.account.CuMemberAccount;
import com.hzs.common.domain.member.account.CuMemberTrade; import com.hzs.common.domain.member.account.CuMemberTrade;
@ -65,7 +66,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
return iTransferServiceApi.queryTransfer(pkCountry).getData(); return iTransferServiceApi.queryTransfer(pkCountry).getData();
} }
@Override @Override
public Boolean isBloodKinshipOnUmbrella(Long pkMember, Long toPkMember) { public Boolean isBloodKinshipOnUmbrella(Long pkMember, Long toPkMember) {
//查找血缘伞上推荐人 //查找血缘伞上推荐人
@ -108,9 +108,16 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount, CuMemberAccount toMemberAccount) { public Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount, CuMemberAccount toMemberAccount) {
Integer row = baseMapper.insert(cuMemberTransfer); int row = baseMapper.insert(cuMemberTransfer);
this.updateTradeAndBalancd(cuMemberTransfer, ETransferType.TRANSFER_OUT.getValue()); if (row == 0) {
this.updateTradeAndBalancd(cuMemberTransfer, ETransferType.TRANSFER_IN.getValue()); 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); ChargingBonusDetail(cuMemberTransfer, cuMemberAccount, toMemberAccount);
return row; return row;
} }
@ -160,7 +167,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
} }
} }
/** /**
* 更新交易流水和余额 * 更新交易流水和余额
* *
@ -185,9 +191,13 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
BigDecimal amount = type == (ETransferType.TRANSFER_OUT.getValue()) ? transferMoney.negate() : transferMoney; BigDecimal amount = type == (ETransferType.TRANSFER_OUT.getValue()) ? transferMoney.negate() : transferMoney;
Integer pkAccountValue = iCuMemberBaseService.getAccountValueById(pkAccount); Integer pkAccountValue = iCuMemberBaseService.getAccountValueById(pkAccount);
CuMemberAccountParam param = CuMemberAccountParam.builder().pkMember(memberId) CuMemberAccountParam param = CuMemberAccountParam.builder()
.accountType(pkAccountValue).amount(amount).pkModified(cuMemberTransfer.getPkCreator()) .pkMember(memberId)
.accountClassify(ETradeClassify.TRANSFER.getValue()).pkCountry(cuMemberTransfer.getPkCountry()) .accountType(pkAccountValue)
.amount(amount)
.pkModified(cuMemberTransfer.getPkCreator())
.accountClassify(ETradeClassify.TRANSFER.getValue())
.pkCountry(cuMemberTransfer.getPkCountry())
.transferType(type).build(); .transferType(type).build();
return iCuMemberAccountService.updateMemberAccountByMemberCode(param); return iCuMemberAccountService.updateMemberAccountByMemberCode(param);
@ -229,7 +239,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
return memberTrade; return memberTrade;
} }
/** /**
* 构造转入方交易明细 * 构造转入方交易明细
* *
@ -294,7 +303,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
return remarks.toString(); return remarks.toString();
} }
@Override @Override
public Object[] selectMemberTransferList(CuMemberTransferVO cuMemberTransferVO) { public Object[] selectMemberTransferList(CuMemberTransferVO cuMemberTransferVO) {
CuMemberTransferVO memberTransferVO; CuMemberTransferVO memberTransferVO;
@ -311,7 +319,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
return new Object[]{cuMemberTransferExts, cuMemberTransferVOS}; return new Object[]{cuMemberTransferExts, cuMemberTransferVOS};
} }
/** /**
* 页面显示公用参数 * 页面显示公用参数
* *
@ -347,4 +354,3 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
} }
} }

View File

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

View File

@ -241,6 +241,9 @@
<if test="account2 != null"> <if test="account2 != null">
and account2 + #{account2} >= 0 and account2 + #{account2} >= 0
</if> </if>
<if test="account4 != null">
and account4 + #{account4} >= 0
</if>
</update> </update>
<select id="queryMemberAccountByPkCountry" resultType="com.hzs.common.domain.member.ext.CuMemberAccountExt"> <select id="queryMemberAccountByPkCountry" resultType="com.hzs.common.domain.member.ext.CuMemberAccountExt">

View File

@ -4,11 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
/** /**
* @Description: 转账类型 * 转账类型
* @Author: ljc
* @Time: 2022/9/26 10:33
* @Classname: ETransferType
* @Package_name: com.hzs.common.core.enums
*/ */
@AllArgsConstructor @AllArgsConstructor
@Getter @Getter