forked from angelo/java-retail-app
## 转账、提现添加账户金额是否足够校验;
This commit is contained in:
parent
06b49ac25c
commit
8b0c5667eb
|
@ -311,11 +311,17 @@ public class ApiCuMemberTransferController extends BaseController {
|
|||
//转入币种ID(从配置中获取)
|
||||
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)
|
||||
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)
|
||||
.build();
|
||||
cuMemberTransfer.setPkCountry(pkCountry);
|
||||
cuMemberTransfer.setPkCreator(pkMember);
|
||||
|
|
|
@ -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;
|
||||
|
@ -84,9 +85,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;
|
||||
}
|
||||
|
@ -160,11 +168,14 @@ 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())
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -233,6 +233,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">
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue