From e0256316b31ded9be3bc0f978391dc9aaee21a45 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 04 Sep 2024 17:28:14 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java | 40 +++++++++++++++++++++++-----------------
1 files changed, 23 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index 6bdb651..9344aa9 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -149,9 +149,14 @@
//判断股票是否在可交易时间段
Boolean b = tradingHourService.timeCheck(stock.getStockCode());
if (!b) {
- return ServerResponse.createByErrorMsg("订单失败,不在交易时间之内", request);
+ String lang = request.getHeader("lang");
+ if(lang.equals("ja")){
+ String msg = "注文失敗、取引時間外です。";
+ return ServerResponse.createByErrorMsg(msg);
+ }else{
+ return ServerResponse.createByErrorMsg("订单失败,不在交易时间之内", request);
+ }
}
-
StockConfig mainBuyConfig = iStockConfigServices.queryByKey(EConfigKey.MIN_BUY.getCode());
@@ -185,10 +190,8 @@
BigDecimal buyAmt = nowPrice.multiply(new BigDecimal(buyNum)).divide(new BigDecimal(lever));
BigDecimal orderFree = siteSettingBuyFee.multiply(buyAmt);
- BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
- BigDecimal availableBalance = fundratio.multiply(userAssets.getAvailableBalance());
- if (availableBalance.compareTo(buyAmt.add(orderFree)) < 0) {
- return ServerResponse.createByErrorMsg("订单失败,配资不足", request);
+ if (userAssets.getAvailableBalance().compareTo(buyAmt.add(orderFree)) < 0) {
+ return ServerResponse.createByErrorMsg("订单失败,余额不足", request);
}
UserPosition userPosition = new UserPosition();
if (profitTarget != null && profitTarget.compareTo(new BigDecimal("0")) > 0) {
@@ -331,7 +334,7 @@
UserAssets userAssets = userAssetsMapper.selectOne(new LambdaQueryWrapper<UserAssets>()
.eq(UserAssets::getUserId, userPosition.getUserId())
- .eq(UserAssets::getAccectType, "IN")
+ .eq(UserAssets::getAccectType, "JP")
);
if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
return ServerResponse.createByErrorMsg("请先缴清待补资金", request);
@@ -1201,8 +1204,10 @@
userPosition.setStockCode(stock.getStockCode());
userPosition.setStockSpell(stock.getStockSpell());
userPosition.setStockName(userStockSubscribe.getNewName());
- userPosition.setStockGid(stockSubscribe.getStockType() + userStockSubscribe.getNewCode());
-
+ StringBuffer gid = new StringBuffer();
+ gid.append(stockSubscribe.getStockType()!=null?stockSubscribe.getStockType():"");
+ gid.append(userStockSubscribe.getNewCode()!=null?userStockSubscribe.getNewCode():"stock code invaild");
+ userPosition.setStockGid(gid.toString());
userPosition.setBuyOrderId(GeneratePosition.getPositionId());
userPosition.setBuyOrderTime(new Date());
userPosition.setBuyOrderPrice(userStockSubscribe.getBuyPrice());
@@ -1258,6 +1263,7 @@
return ServerResponse.createByErrorMsg("新股转持仓失败");
}
userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(userPosition.getOrderTotalPrice()));
+ userAssets.setFreezeMoney(userAssets.getFreezeMoney()!=null?userAssets.getFreezeMoney().setScale(2,BigDecimal.ROUND_UP):null);
userAssetsMapper.updateById(userAssets);
if (ret > 0) {
userStockSubscribe.setStatus(5);
@@ -1554,7 +1560,7 @@
if (siteProduct.getRealNameDisplay() && user.getIsLock().intValue() == 1) {
return ServerResponse.createByErrorMsg("Order failed, account has been locked");
}
- UserAssets userAssets = userAssetsServices.assetsByTypeAndUserId("IN", user.getId());
+ UserAssets userAssets = userAssetsServices.assetsByTypeAndUserId("JP", user.getId());
if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
return ServerResponse.createByErrorMsg("请先缴清待补资金", request);
}
@@ -1580,11 +1586,11 @@
return ServerResponse.createByErrorMsg("最小购买数据" + stockDz.getStockNum(), request);
}
BigDecimal buyAmt = nowPrice.multiply(new BigDecimal(num.intValue()));
- BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
- BigDecimal availableBalance = fundratio.multiply(userAssets.getAvailableBalance());
- if (buyAmt.compareTo(availableBalance) > 0) {
- return ServerResponse.createByErrorMsg("订单失败,配资不足", request);
- }
+// BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
+// BigDecimal availableBalance = fundratio.multiply(userAssets.getAvailableBalance());
+// if (buyAmt.compareTo(availableBalance) > 0) {
+// return ServerResponse.createByErrorMsg("订单失败,配资不足", request);
+// }
// 创建UserPosition对象
UserPosition userPosition = new UserPosition();
@@ -1618,7 +1624,7 @@
userPosition.setOrderSpread(BigDecimal.ZERO);
userPositionMapper.insert(userPosition);
- userAssetsServices.availablebalanceChange(EStockType.IN.getCode(), user.getId(), EUserAssets.BUY, buyAmt.negate(),"","");
+ userAssetsServices.availablebalanceChange(EStockType.JP.getCode(), user.getId(), EUserAssets.BUY, buyAmt.negate(),"","");
return ServerResponse.createBySuccess("购买成功", request);
}
@@ -1642,7 +1648,7 @@
for (UserPosition position : list) {
UserAssets userAssets = userAssetsMapper.selectOne(new LambdaQueryWrapper<UserAssets>()
.eq(UserAssets::getUserId, position.getUserId())
- .eq(UserAssets::getAccectType, "IN")
+ .eq(UserAssets::getAccectType, "JP")
);
if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
continue;
--
Gitblit v1.9.3