From 6404cb07e5281cfd901267c4fd560ba89bd5e2fd Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 04 Sep 2024 16:49:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ysz' into ysz
---
src/main/java/com/nq/service/impl/UserAssetsServices.java | 43 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserAssetsServices.java b/src/main/java/com/nq/service/impl/UserAssetsServices.java
index 9506c9e..a364a0d 100644
--- a/src/main/java/com/nq/service/impl/UserAssetsServices.java
+++ b/src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -38,9 +38,6 @@
@Override
public UserAssets assetsByTypeAndUserId(String accetType, Integer userId) {
- if(accetType.equals("SZHB")){
- accetType = "US";
- }
QueryWrapper<UserAssets> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("accect_type",accetType);
queryWrapper.eq("user_id",userId);
@@ -77,6 +74,13 @@
}else{
userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(bigAmt));
}
+ }else{
+ if(userAssets.getAvailableBalance().compareTo(BigDecimal.ZERO) <= 0){
+ return ServerResponse.createByErrorMsg("客户账户余额为0");
+ }else if(userAssets.getAvailableBalance().subtract(bigAmt.abs()).compareTo(BigDecimal.ZERO) < 0){
+ return ServerResponse.createByErrorMsg("客户账户余额不足扣款");
+ }
+ userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(bigAmt));
}
if( userAssetsMapper.updateById(userAssets)>0){
return ServerResponse.createBySuccess();
@@ -85,7 +89,7 @@
}
}else{
if(type.equals("2")){
- return userRechargeService.createOrder(userAssets.getUserId(),1,bigAmt.intValue(),"1");
+ return userRechargeService.createOrder(userAssets.getUserId(),1,bigAmt.intValue(),"1",userAssets.getAccectType());
}else{
@@ -104,12 +108,37 @@
@Override
public BigDecimal getAvailableBalance(String accetType, Integer userId) {
- if(accetType.equals("SZHB")){
- accetType = "US";
- }
return assetsByTypeAndUserId(accetType,userId).getAvailableBalance();
}
+ @Override
+ public int updateById(UserAssets userAssets) {
+ return userAssetsMapper.updateById(userAssets);
+ }
+
+ @Override
+ public Boolean availablebalanceChangePart(String accetType, Integer userId, EUserAssets eUserAssets, BigDecimal amount, BigDecimal freezeMoney) {
+ UserAssets userAssets = assetsByTypeAndUserId(accetType,userId);
+ String before = userAssets.getAvailableBalance().toString();
+ String accectType = userAssets.getAccectType();
+ if(Objects.equals(eUserAssets.getCode(), EUserAssets.PART_CLOSE_POSITION.getCode())){
+ userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
+ userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(freezeMoney));
+ }
+ String after = userAssets.getAvailableBalance().toString();
+ MoneyLog moneyLog = new MoneyLog();
+ moneyLog.setDescs(eUserAssets.getDesc());
+ moneyLog.setBeFore(before);
+ moneyLog.setAfter(after);
+ moneyLog.setAmount(amount.toString());
+ moneyLog.setAccectType(accectType);
+ moneyLog.setType(eUserAssets.getCode());
+ moneyLog.setUserId(userId+"");
+ moneyLog.setSymbol(EStockType.getEStockTypeByCode(accetType).getSymbol());
+ moneyLog.setCreateTime(new Date());
+ moneyLogMapper.insert(moneyLog);
+ return userAssetsMapper.updateById(userAssets)>1;
+ }
@Override
public Boolean availablebalanceChange(String accetType, Integer userId, EUserAssets eUserAssets, BigDecimal amount, String desc, String descType) {
--
Gitblit v1.9.3