From fd112c08c7bdc1b549c92d1e851f948c3410c502 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Mon, 11 Aug 2025 18:30:18 +0800
Subject: [PATCH] 8.6二开 新增资金账户,对应资金购买对应股票
---
src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java | 22 +++---
src/main/java/com/nq/service/impl/UserRechargeServiceImpl.java | 2
src/main/java/com/nq/service/impl/UserAssetsServices.java | 55 ++++++++++++++---
src/main/java/com/nq/service/impl/DkServices.java | 3
src/main/java/com/nq/controller/UserApiController.java | 9 ++
src/main/java/com/nq/controller/protol/UserController.java | 3 +
src/main/java/com/nq/service/IUserAssetsServices.java | 17 ++++-
src/main/java/com/nq/enums/EConfigKey.java | 3 +
src/main/java/com/nq/service/impl/StockAiServiceImpl.java | 13 ++--
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java | 14 ++--
src/main/resources/application.yml | 2
src/main/java/com/nq/service/impl/UserServiceImpl.java | 32 +++++++---
12 files changed, 121 insertions(+), 54 deletions(-)
diff --git a/src/main/java/com/nq/controller/UserApiController.java b/src/main/java/com/nq/controller/UserApiController.java
index 5c4ab40..6bb13eb 100644
--- a/src/main/java/com/nq/controller/UserApiController.java
+++ b/src/main/java/com/nq/controller/UserApiController.java
@@ -9,6 +9,7 @@
import com.nq.dao.MoneyLogMapper;
import com.nq.dao.StockConfigMapper;
+import com.nq.enums.EConfigKey;
import com.nq.pojo.MoneyLog;
import com.nq.pojo.SiteSpread;
import com.nq.pojo.StockConfig;
@@ -145,9 +146,15 @@
@RequestMapping({"queryStockConfig.do"})
@ResponseBody
public ServerResponse updateConfig(){
- StockConfig stockConfig = stockConfigMapper.selectOne(new LambdaQueryWrapper<StockConfig>().eq(StockConfig::getCKey, "buy_handling_charge"));
+ StockConfig stockConfig = stockConfigMapper.selectOne(new LambdaQueryWrapper<StockConfig>().eq(StockConfig::getCKey, EConfigKey.BUY_HANDLING_CHARGE.getCode()));
return ServerResponse.createBySuccess(stockConfig);
+ }
+ @RequestMapping({"queryStockConfigTwo.do"})
+ @ResponseBody
+ public ServerResponse queryStockConfigTwo(){
+ StockConfig stockConfig = stockConfigMapper.selectOne(new LambdaQueryWrapper<StockConfig>().eq(StockConfig::getCKey, EConfigKey.EXCHANGE_HANDLING_CHARGE.getCode()));
+ return ServerResponse.createBySuccess(stockConfig);
}
@RequestMapping({"moneylogAll.do"})
diff --git a/src/main/java/com/nq/controller/protol/UserController.java b/src/main/java/com/nq/controller/protol/UserController.java
index 4fb7f15..caee80d 100644
--- a/src/main/java/com/nq/controller/protol/UserController.java
+++ b/src/main/java/com/nq/controller/protol/UserController.java
@@ -352,6 +352,9 @@
@ResponseBody
public ServerResponse transfer(@RequestParam("fromType") String fromType, @RequestParam("toType") String toType,
@RequestParam("amt") String amt, HttpServletRequest request) {
+ if (fromType.equals(toType)) {
+ return ServerResponse.createByErrorMsg("货币类型不能相同", request);
+ }
return iUserService.transfer(fromType, toType, amt,request);
}
diff --git a/src/main/java/com/nq/enums/EConfigKey.java b/src/main/java/com/nq/enums/EConfigKey.java
index ad544d8..60859aa 100644
--- a/src/main/java/com/nq/enums/EConfigKey.java
+++ b/src/main/java/com/nq/enums/EConfigKey.java
@@ -18,6 +18,9 @@
LIMIT_DOWN_IS_SELL("limit_down_is_sell","跌停是否可以平仓"),
AGENT_MAX_GRADE("agent_max_grade","最大代理等级"),
+ LOAN_INTEREST("loan_interest", "贷款利息"),
+ EXCHANGE_HANDLING_CHARGE("exchange_handling_charge", "货币兑换手续费"),
+
INDICES("indices","指数数据");
private String code;
diff --git a/src/main/java/com/nq/service/IUserAssetsServices.java b/src/main/java/com/nq/service/IUserAssetsServices.java
index 578745d..ffffcf0 100644
--- a/src/main/java/com/nq/service/IUserAssetsServices.java
+++ b/src/main/java/com/nq/service/IUserAssetsServices.java
@@ -19,7 +19,12 @@
* */
UserAssets assetsByTypeAndUserId(String accetType,Integer userId);
-
+ /**
+ * 根据id新增所有资产
+ * @param userId
+ * @return
+ */
+ void addUserAssetsListByUserId(Integer userId);
ServerResponse updateUserAssets(Integer id, String amt,String type);
@@ -58,10 +63,12 @@
Boolean aiAvailableBalanceChange(String accetType, Integer userId, EUserAssets eUserAssets, BigDecimal amount) throws Exception;
/**
- * 根据汇率转换MEX金额
- * @param accetType 账户类型
- * @param amount 转换金额
+ * 根据汇率转换
+ * @param fromType
+ * @param toType
+ * @param amount
* @return
+ * @throws Exception
*/
- BigDecimal exchangeAmountByRate(String accetType, BigDecimal amount) throws Exception;
+ BigDecimal exchangeAmountByRate(String fromType, String toType, BigDecimal amount) throws Exception;
}
diff --git a/src/main/java/com/nq/service/impl/DkServices.java b/src/main/java/com/nq/service/impl/DkServices.java
index e178195..179243f 100644
--- a/src/main/java/com/nq/service/impl/DkServices.java
+++ b/src/main/java/com/nq/service/impl/DkServices.java
@@ -9,6 +9,7 @@
import com.nq.dao.DkMapper;
import com.nq.dao.StockConfigMapper;
import com.nq.dao.UserMapper;
+import com.nq.enums.EConfigKey;
import com.nq.enums.EStockType;
import com.nq.enums.EUserAssets;
import com.nq.pojo.*;
@@ -188,7 +189,7 @@
}
dkModel.setDkRefundState(1);
//查看贷款利息
- StockConfig stockConfig = stockConfigMapper.selectOne(new QueryWrapper<StockConfig>().eq("c_key", "loan_interest"));
+ StockConfig stockConfig = stockConfigMapper.selectOne(new QueryWrapper<StockConfig>().eq("c_key", EConfigKey.LOAN_INTEREST.getCode()));
if (stockConfig != null) {
long day = DateTimeUtil.getDaysRoundedUp(dkModel.getLoanTime());
//利息 利率*贷款金额*借款天数
diff --git a/src/main/java/com/nq/service/impl/StockAiServiceImpl.java b/src/main/java/com/nq/service/impl/StockAiServiceImpl.java
index c51b3a0..07d4fa6 100644
--- a/src/main/java/com/nq/service/impl/StockAiServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockAiServiceImpl.java
@@ -106,12 +106,12 @@
return ServerResponse.createByErrorMsg("最低购买数量" + stockAI.getMinPrice(), request);
}
//获取用户账户
- UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.getDefault().getCode(), user.getId());
- BigDecimal finalBuyNum = buyNum;
+ UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(stockAI.getStockType(), user.getId());
+ /*BigDecimal finalBuyNum = buyNum;
//如果不是默认货币需要转换金额
if (!stockAI.getStockType().equals(EStockType.getDefault().getCode())) {
buyNum = userAssetsServices.exchangeAmountByRate(stockAI.getStockType(), buyNum);
- }
+ }*/
if(buyNum.compareTo(userAssets.getAvailableBalance()) > 0){
return ServerResponse.createByErrorMsg("可用余额不足" + userAssets.getAvailableBalance(), request);
}
@@ -119,14 +119,13 @@
if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
return ServerResponse.createByErrorMsg("请先缴清待补资金", request);
}
- //已经转化 直接穿默认类型
- iUserAssetsServices.aiAvailableBalanceChange(EStockType.getDefault().getCode(), user.getId(), EUserAssets.BUY_AI, buyNum);
+ iUserAssetsServices.aiAvailableBalanceChange(stockAI.getStockType(), user.getId(), EUserAssets.BUY_AI, buyNum);
StockAIOrder stockAIOrder = new StockAIOrder();
stockAIOrder.setUserId(user.getId());
stockAIOrder.setStockAiId(id.intValue());
stockAIOrder.setBuyDate(new Date());
- stockAIOrder.setBuyAmount(finalBuyNum);
- stockAIOrder.setRemainAmount(finalBuyNum);
+ stockAIOrder.setBuyAmount(buyNum);
+ stockAIOrder.setRemainAmount(buyNum);
stockAIOrder.setRealEarning(BigDecimal.valueOf(0));
stockAIOrder.setStatus(EStockAIOrderStatus.wait.getStatus()); //等待审核
stockAiOrderMapper.insert(stockAIOrder);
diff --git a/src/main/java/com/nq/service/impl/UserAssetsServices.java b/src/main/java/com/nq/service/impl/UserAssetsServices.java
index 88dbd31..8a4123b 100644
--- a/src/main/java/com/nq/service/impl/UserAssetsServices.java
+++ b/src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -17,6 +17,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -52,9 +53,9 @@
@Override
public UserAssets assetsByTypeAndUserId(String accetType, Integer userId) {
- if(!accetType.equals(EStockType.US.getCode())){
+ /*if(!accetType.equals(EStockType.US.getCode())){
accetType = EStockType.US.getCode();
- }
+ }*/
QueryWrapper<UserAssets> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("accect_type",accetType);
queryWrapper.eq("user_id",userId);
@@ -67,6 +68,36 @@
}
userAssets = userAssetsMapper.selectOne(queryWrapper);
return userAssets;
+ }
+
+ @Override
+ public void addUserAssetsListByUserId(Integer userId) {
+ QueryWrapper<UserAssets> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("user_id",userId);
+ List<UserAssets> userAssetsList = userAssetsMapper.selectList(queryWrapper);
+ List<EStockType> stockTypes = Arrays.asList(
+ EStockType.US,
+ EStockType.HK,
+ EStockType.IN,
+ EStockType.TW
+ );
+ for (EStockType stockType : stockTypes) {
+ //是否存在记录
+ boolean isExist = false;
+ if (!userAssetsList.isEmpty()) {
+ boolean hasType = userAssetsList.stream()
+ .anyMatch(assets -> stockType.getCode().equals(assets.getAccectType()));
+ if (hasType) {
+ isExist = true;
+ }
+ }
+ if (!isExist) { //不存在账户新增
+ UserAssets userAssets = new UserAssets();
+ userAssets.setUserId(userId);
+ userAssets.setAccectType(stockType.getCode());
+ userAssetsMapper.insert(userAssets);
+ }
+ }
}
@Override
@@ -170,12 +201,12 @@
@Override
public Boolean availablebalanceChange(String accetType, Integer userId, EUserAssets eUserAssets, BigDecimal amount, String desc, String descType) throws Exception {
//查询账户
- UserAssets userAssets = assetsByTypeAndUserId(EStockType.getDefault().getCode(), userId);
+ /*UserAssets userAssets = assetsByTypeAndUserId(EStockType.getDefault().getCode(), userId);
//是否需要转换金额
if (!accetType.equals(EStockType.getDefault().getCode())) {
amount = exchangeAmountByRate(accetType, amount);
- }
-
+ }*/
+ UserAssets userAssets = assetsByTypeAndUserId(accetType, userId);
UserPosition userPosition = userPositionMapper.selectOne(new LambdaQueryWrapper<UserPosition>().gt(UserPosition::getAmountToBeCovered, BigDecimal.ZERO).eq(UserPosition::getUserId,userAssets.getUserId()));
String type = eUserAssets.getDesc();
String before = userAssets.getAvailableBalance().toString();
@@ -307,11 +338,12 @@
public Boolean aiAvailableBalanceChange(String accetType, Integer userId, EUserAssets eUserAssets, BigDecimal amount) throws Exception {
//查询账户
- UserAssets userAssets = assetsByTypeAndUserId(EStockType.getDefault().getCode(), userId);
+ /*UserAssets userAssets = assetsByTypeAndUserId(EStockType.getDefault().getCode(), userId);
//是否需要转换金额
if (!accetType.equals(EStockType.getDefault().getCode())) {
amount = exchangeAmountByRate(accetType, amount);
- }
+ }*/
+ UserAssets userAssets = assetsByTypeAndUserId(accetType, userId);
String before = userAssets.getAvailableBalance().toString();
if (eUserAssets.getCode().equals(EUserAssets.BUY_AI.getCode())) {
//冻结金额
@@ -362,15 +394,16 @@
}
@Override
- public BigDecimal exchangeAmountByRate(String accetType, BigDecimal amount) throws Exception {
- EStockType stockType = EStockType.getEStockTypeByCode(accetType);
+ public BigDecimal exchangeAmountByRate(String fromType, String toType, BigDecimal amount) throws Exception {
+ EStockType stockType = EStockType.getEStockTypeByCode(fromType);
+ EStockType toStockType = EStockType.getEStockTypeByCode(toType);
ExchangeRate exchangeRate = exchangeRateRepository.findExchangeRateByCurrencyAndConversionCurrency(
- stockType.getSymbol(), EStockType.getDefault().getSymbol()).orElse(null);
+ stockType.getSymbol(), toStockType.getSymbol()).orElse(null);
if (exchangeRate != null) {
//转换为默认货币 保留5位小数
return amount.multiply(exchangeRate.getRata()).setScale(5, RoundingMode.HALF_UP);
} else {
- log.error("exchangeAmountByRate is null:{}>>{}", stockType.getSymbol(), EStockType.getDefault().getSymbol());
+ log.error("exchangeAmountByRate is null:{}>>{}", stockType.getSymbol(), toStockType.getSymbol());
throw new Exception("货币转换汇率未设置");
}
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index 3f70206..bbfb131 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -182,9 +182,9 @@
BigDecimal orderFree = siteSettingBuyFee.multiply(buyAmt);
BigDecimal needBuyAmt = buyAmt.add(orderFree);
//资金校验
- if (!stock.getStockType().equals(EStockType.getDefault().getCode())) {
+ /*if (!stock.getStockType().equals(EStockType.getDefault().getCode())) {
needBuyAmt = userAssetsServices.exchangeAmountByRate(stock.getStockType(), buyAmt);
- }
+ }*/
BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
BigDecimal availableBalance = fundratio.multiply(userAssets.getAvailableBalance());
if (availableBalance.compareTo(needBuyAmt) < 0) {
@@ -1809,9 +1809,9 @@
BigDecimal newBuyAmt = buyAmt;
//如果不是默认货币需要转换金额
- if (!stock.getStockType().equals(EStockType.getDefault().getCode())) {
+ /*if (!stock.getStockType().equals(EStockType.getDefault().getCode())) {
newBuyAmt = userAssetsServices.exchangeAmountByRate(stock.getStockType(), buyAmt);
- }
+ }*/
if(newBuyAmt.compareTo(userAssets.getAvailableBalance()) > 0){
return ServerResponse.createByErrorMsg("可用余额不足" + userAssets.getAvailableBalance(), request);
}
@@ -1829,9 +1829,9 @@
UserPosition userPosition = getUserPosition(dzId,num, user, stockDz, nowPrice, stock, buyAmt);
userPositionMapper.insert(userPosition);
BigDecimal buy_fee_amt = siteSettingBuyFee.multiply(newBuyAmt);
- //已经转化 直接传默认类型
- userAssetsServices.availablebalanceChange(EStockType.getDefault().getCode(), user.getId(), EUserAssets.BUY, newBuyAmt.negate(),"","");
- iUserAssetsServices.availablebalanceChange(EStockType.getDefault().getCode(), userAssets.getUserId(), EUserAssets.HANDLING_CHARGE, buy_fee_amt, "", "");
+
+ userAssetsServices.availablebalanceChange(stock.getStockType(), user.getId(), EUserAssets.BUY, newBuyAmt.negate(),"","");
+ iUserAssetsServices.availablebalanceChange(stock.getStockType(), userAssets.getUserId(), EUserAssets.HANDLING_CHARGE, buy_fee_amt, "", "");
return ServerResponse.createBySuccess("购买成功", request);
} catch (Exception e) {
log.error("大宗下单异常{}", e.getMessage());
diff --git a/src/main/java/com/nq/service/impl/UserRechargeServiceImpl.java b/src/main/java/com/nq/service/impl/UserRechargeServiceImpl.java
index 3a74ca2..974c520 100644
--- a/src/main/java/com/nq/service/impl/UserRechargeServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserRechargeServiceImpl.java
@@ -217,7 +217,7 @@
PageInfo pageInfo = new PageInfo(userRecharges);
for (int i = 0; i <userRecharges.size() ; i++) {
- SitePay s = sitePayMapper.selectById(userRecharges.get(i).getPayId());
+ //SitePay s = sitePayMapper.selectById(userRecharges.get(i).getPayId());
userRecharges.get(i).setAssetsType(EStockType.getDefault().getSymbol1());
userRecharges.get(i).setChannelName(EStockType.getDefault().getSymbol());
}
diff --git a/src/main/java/com/nq/service/impl/UserServiceImpl.java b/src/main/java/com/nq/service/impl/UserServiceImpl.java
index f5c8a42..aa2bf20 100644
--- a/src/main/java/com/nq/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -9,6 +9,7 @@
import com.google.common.collect.Lists;
import com.nq.common.ServerResponse;
import com.nq.dao.*;
+import com.nq.enums.EConfigKey;
import com.nq.enums.EStockType;
import com.nq.enums.EUserAssets;
import com.nq.pojo.*;
@@ -122,6 +123,9 @@
@Autowired
IUserService iUserService;
+ @Autowired
+ IStockConfigServices iStockConfigServices;
+
public ServerResponse reg(String yzmCode, String agentCode, String phone, String userPwd, HttpServletRequest request) {
if (StringUtils.isBlank(agentCode) || StringUtils.isBlank(phone) ||
@@ -193,8 +197,8 @@
if (user.getIsLogin().intValue() == 1) {
return ServerResponse.createByErrorMsg("登录失败。账户锁定",request);
}
- //默认资产
- userAssetsServices.assetsByTypeAndUserId(EStockType.getDefault().getCode(),user.getId());
+ //新增账号资产
+ userAssetsServices.addUserAssetsListByUserId(user.getId());
this.iSiteLoginLogService.saveLog(user, request);
return ServerResponse.createBySuccess(user);
}
@@ -571,7 +575,7 @@
- RUserAssets rUserAssets = new RUserAssets();
+ /*RUserAssets rUserAssets = new RUserAssets();
rUserAssets.setAccectType("ALL");
rUserAssets.setProfitAndLoss(AllProfitAndLose.setScale(s,BigDecimal.ROUND_DOWN).toString());
rUserAssets.setProfitAndLossUSD(AllProfitAndLose.setScale(s,BigDecimal.ROUND_DOWN).toString());
@@ -587,7 +591,7 @@
rUserAssets.setFreezeMoneyUSD(allFreeMoney.setScale(s,BigDecimal.ROUND_DOWN).toString());
rUserAssets.setSymbol("$");
rUserAssets.setSymbolCode("USD");
- rUserAssetsList.add(rUserAssets);
+ rUserAssetsList.add(rUserAssets);*/
return ServerResponse.createBySuccess(rUserAssetsList);
}
@@ -631,13 +635,23 @@
try {
User user = userService.getCurrentUser(request);
UserAssets formAssets = userAssetsServices.assetsByTypeAndUserId(fromType,user.getId());
- BigDecimal amtBig = new BigDecimal(amt);
- if(formAssets.getAvailableBalance().compareTo(amtBig)<0){
- return ServerResponse.createByErrorMsg("余额不足",request);
+ BigDecimal amtBig = new BigDecimal(amt).abs();
+
+ // 转换手续费率
+ BigDecimal siteSettingBuyFee = new BigDecimal(iStockConfigServices.queryByKey(EConfigKey.EXCHANGE_HANDLING_CHARGE.getCode()).getCValue()) ;
+ BigDecimal orderFree = siteSettingBuyFee.multiply(amtBig);
+ //资金校验
+ BigDecimal needAmt = amtBig.add(orderFree);
+ if(formAssets.getAvailableBalance().compareTo(needAmt)<0){
+ return ServerResponse.createByErrorMsg("余额不足", request);
}
- userAssetsServices.availablebalanceChange(fromType,user.getId(), EUserAssets.TRANSFER,amtBig.negate(),fromType+"/"+toType,"");
- amtBig = rateServices.currencyRate(EStockType.getEStockTypeByCode(fromType),EStockType.getEStockTypeByCode(toType)).multiply(amtBig);
+
+ userAssetsServices.availablebalanceChange(fromType, user.getId(), EUserAssets.HANDLING_CHARGE, orderFree, "", "");
+ userAssetsServices.availablebalanceChange(fromType, user.getId(), EUserAssets.TRANSFER, amtBig.negate(),fromType+"/"+toType,"");
+ //转换金额
+ amtBig = userAssetsServices.exchangeAmountByRate(fromType, toType, amtBig);
userAssetsServices.availablebalanceChange(toType,user.getId(),EUserAssets.TRANSFER,amtBig.setScale(5,RoundingMode.HALF_DOWN),fromType+"/"+toType,"");
+
return ServerResponse.createBySuccess();
} catch (Exception e) {
return ServerResponse.createByErrorMsg(e.getMessage());
diff --git a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
index f3f21f4..d05bc5d 100644
--- a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -144,10 +144,10 @@
}else{
bound = new BigDecimal(model.getApplyNums()).multiply(stockSubscribe.getPrice());
}
- //如果不是默认货币需要转换金额
+ /*//如果不是默认货币需要转换金额
if (!stockSubscribe.getStockType().equals(EStockType.getDefault().getCode())) {
bound = iUserAssetsServices.exchangeAmountByRate(stockSubscribe.getStockType(), bound);
- }
+ }*/
if(userAssets.getAvailableBalance().compareTo(bound) < 0){
return ServerResponse.createByErrorMsg("账户余额不足", request);
}
@@ -179,17 +179,17 @@
userAssets.setAmountToBeCovered(userAssets.getAmountToBeCovered().add(subtract.abs()));
}
userAssetsMapper.updateById(userAssets);
- //交易记录MEX
+ //交易记录
MoneyLog moneyLog = new MoneyLog();
EUserAssets eUserAssets = EUserAssets.BUY;
moneyLog.setDescs(eUserAssets.getDesc());
moneyLog.setBeFore(before);
moneyLog.setAfter(userAssets.getAvailableBalance().toString());
moneyLog.setAmount(bound.negate().toString());
- moneyLog.setAccectType(EStockType.getDefault().getCode());
+ moneyLog.setAccectType(stockSubscribe.getStockType());
moneyLog.setType(eUserAssets.getCode());
moneyLog.setUserId(user.getId()+"");
- moneyLog.setSymbol(EStockType.getDefault().getSymbol());
+ moneyLog.setSymbol(EStockType.getEStockTypeByCode(stockSubscribe.getStockType()).getSymbol());
moneyLog.setCreateTime(new Date());
moneyLogMapper.insert(moneyLog);
if (ret > 0) {
@@ -287,20 +287,20 @@
if(applyNumber > 0){
//需要退回的资金
refundPrice = userStockSubscribe.getBuyPrice().multiply(new BigDecimal(applyNumber));
- //如果不是默认货币需要转换金额
+ /*//如果不是默认货币需要转换金额
if (!stockSubscribe.getStockType().equals(EStockType.getDefault().getCode())) {
refundPrice = iUserAssetsServices.exchangeAmountByRate(stockSubscribe.getStockType(), refundPrice);
- }
+ }*/
userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(refundPrice));
userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(refundPrice));
}
}else{
if(applyNumber > 0){
refundPrice = userStockSubscribe.getBuyPrice().multiply(new BigDecimal(applyNumber));
- //如果不是默认货币需要转换金额
+ /*//如果不是默认货币需要转换金额
if (!stockSubscribe.getStockType().equals(EStockType.getDefault().getCode())) {
refundPrice = iUserAssetsServices.exchangeAmountByRate(stockSubscribe.getStockType(), refundPrice);
- }
+ }*/
BigDecimal subtract = refundPrice.subtract(userAssets.getAmountToBeCovered());
if(subtract.compareTo(BigDecimal.ZERO) <= 0){//如果退回的资金不足补足待补则直接减
userAssets.setAmountToBeCovered(userAssets.getAmountToBeCovered().subtract(refundPrice));
@@ -319,10 +319,10 @@
moneyLog.setBeFore(before);
moneyLog.setAfter(userAssets.getAvailableBalance().toString());
moneyLog.setAmount(refundPrice.toString());
- moneyLog.setAccectType(EStockType.getDefault().getCode());
+ moneyLog.setAccectType(stockSubscribe.getStockType());
moneyLog.setType(eUserAssets.getCode());
moneyLog.setUserId(userAssets.getUserId()+"");
- moneyLog.setSymbol(EStockType.getDefault().getSymbol());
+ moneyLog.setSymbol(EStockType.getEStockTypeByCode(stockSubscribe.getStockType()).getSymbol());
moneyLog.setCreateTime(new Date());
moneyLogMapper.insert(moneyLog);
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 703c3e1..c9b2f45 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -125,7 +125,7 @@
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:6306/stock_ci?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-# url: jdbc:mysql://127.0.0.1:3306/cgstock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+# url: jdbc:mysql://127.0.0.1:3306/stock_ci?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: stock_ci
password: 123456
druid:
--
Gitblit v1.9.3