## 转账、提现添加账户金额是否足够校验;
This commit is contained in:
		
							parent
							
								
									df08ec9173
								
							
						
					
					
						commit
						b7cf82d3b9
					
				| 
						 | 
				
			
			@ -336,11 +336,17 @@ public class ApiCuMemberTransferController extends BaseController {
 | 
			
		|||
        //转入币种ID(从配置中获取)
 | 
			
		||||
        Integer toPkAccount = iAccountServiceApi.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);
 | 
			
		||||
| 
						 | 
				
			
			@ -348,7 +354,6 @@ public class ApiCuMemberTransferController extends BaseController {
 | 
			
		|||
        return toAjax(iCuMemberTransferService.saveMemberTransferInfo(cuMemberTransfer, cuMemberAccount, toMemberAccount));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 判断是否走血缘
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -158,7 +166,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 更新交易流水和余额
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -183,9 +190,13 @@ 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);
 | 
			
		||||
| 
						 | 
				
			
			@ -227,7 +238,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
 | 
			
		|||
        return memberTrade;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 构造转入方交易明细
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -292,7 +302,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
 | 
			
		|||
        return remarks.toString();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Object[] selectMemberTransferList(CuMemberTransferVO cuMemberTransferVO) {
 | 
			
		||||
        CuMemberTransferVO memberTransferVO;
 | 
			
		||||
| 
						 | 
				
			
			@ -309,7 +318,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
 | 
			
		|||
        return new Object[]{cuMemberTransferExts, cuMemberTransferVOS};
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 页面显示公用参数
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -345,4 +353,3 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -110,7 +110,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;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -130,10 +132,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);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -241,6 +241,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">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,11 +4,7 @@ import lombok.AllArgsConstructor;
 | 
			
		|||
import lombok.Getter;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Description: 转账类型
 | 
			
		||||
 * @Author: ljc
 | 
			
		||||
 * @Time: 2022/9/26 10:33
 | 
			
		||||
 * @Classname: ETransferType
 | 
			
		||||
 * @Package_name: com.hzs.common.core.enums
 | 
			
		||||
 * 转账类型
 | 
			
		||||
 */
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@Getter
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue