1
zj
2026-01-14 8ebbfce918f12ce02ace2e614fa54ab1059f7334
src/main/java/com/nq/service/impl/StockAiServiceImpl.java
@@ -106,12 +106,12 @@
                    return ServerResponse.createByErrorMsg("最低购买数量" + stockAI.getMinPrice(), request);
                }
                //获取用户账户
                UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.MX.getCode(), user.getId());
                BigDecimal finalBuyNum = buyNum;
                //如果不是墨西哥币需要转换金额
                if (!stockAI.getStockType().equals(EStockType.MX.getCode())) {
                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);
                }
                //已经转化 直接穿MEX类型
                iUserAssetsServices.aiAvailableBalanceChange(EStockType.MX.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);
@@ -203,8 +202,8 @@
                || model.getSuccessRate() == null || model.getExpectedEarning() == null || StringUtils.isBlank(model.getStatus())) {
                return ServerResponse.createByErrorMsg("请完善必填信息");
            }
            if (!model.getStockType().equals(EStockType.US.getCode()) && !model.getStockType().equals(EStockType.MX.getCode())) {
                return ServerResponse.createByErrorMsg("只能选择美股或墨西哥股");
            if (!EStockType.isExistByCode(model.getStockType())) {
                return ServerResponse.createByErrorMsg("股票市场不存在");
            }
            //新增
            if (model.getId() == null) {