1
zj
2025-07-29 b9b0b7bd2a50063f56ac572d4d87c5da12c175a3
1
1 files modified
15 ■■■■ changed files
src/main/java/com/nq/controller/backend/SmartIntradayController.java 15 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/controller/backend/SmartIntradayController.java
@@ -11,6 +11,7 @@
import com.nq.dao.*;
import com.nq.enums.EConfigKey;
import com.nq.enums.EStockType;
import com.nq.enums.EUserAssets;
import com.nq.pojo.*;
import com.nq.service.*;
import com.nq.service.impl.IntradayOrderSerivceImpl;
@@ -72,7 +73,8 @@
    @Autowired
    private UserPositionMapper userPositionMapper;
    @Autowired
    IStockConfigServices iStockConfigServices;
    /**
     * 添加智能日内
@@ -188,6 +190,9 @@
        intradayOrder.setIsLocked(vo.getIsLocked());
        intradayOrder.setStockId(stock.getId());
        // 手续费率
        BigDecimal siteSettingBuyFee = new BigDecimal(iStockConfigServices.queryByKey(EConfigKey.BUY_HANDLING_CHARGE.getCode()).getCValue()) ;
        if(vo.getAuditStatus() == 2){
            UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.JP.getCode(), intradayOrder.getUserId());
            BigDecimal orderAmount = vo.getOrderAmount();
@@ -197,13 +202,17 @@
        }
        BigDecimal stockQuantity = new BigDecimal(intradayOrder.getStockQuantity());//股票数量
        BigDecimal totalPrice = intradayOrder.getStockPrice().multiply(stockQuantity);//订单总价
        //手续费
        BigDecimal orderFree = siteSettingBuyFee.multiply(totalPrice);
        totalPrice = orderFree.add(totalPrice);
        if(intradayOrder.getOrderAmount().compareTo(totalPrice) < 0){
            return ServerResponse.createByErrorMsg("股票总价超过订单金额!");
        }
        User user = userMapper.selectById(intradayOrder.getUserId());
        //结余资金返还账户
        BigDecimal surplusAmount = intradayOrder.getOrderAmount().subtract(totalPrice);//结余
@@ -231,7 +240,7 @@
        userPosition.setOrderLever(1);
        userPosition.setOrderTotalPrice(totalPrice);
        // 手续费
        userPosition.setOrderFee(BigDecimal.ZERO);
        userPosition.setOrderFee(orderFree);
        userPosition.setOrderSpread(BigDecimal.ZERO);
        userPosition.setSpreadRatePrice(BigDecimal.ZERO);
        BigDecimal profit_and_lose = new BigDecimal("0");