From 00885319fe99d583bf83d1777c5cbcee01dc11e1 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 12 Aug 2025 18:40:09 +0800
Subject: [PATCH] 8.6二开 对应账户提现、后台充值功能
---
src/main/java/com/nq/service/impl/StockAiServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 37 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/StockAiServiceImpl.java b/src/main/java/com/nq/service/impl/StockAiServiceImpl.java
index a17362f..07d4fa6 100644
--- a/src/main/java/com/nq/service/impl/StockAiServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockAiServiceImpl.java
@@ -3,7 +3,6 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
-import com.nq.Repository.ExchangeRateRepository;
import com.nq.common.ResponseCode;
import com.nq.common.ServerResponse;
import com.nq.dao.StockAiMapper;
@@ -12,9 +11,11 @@
import com.nq.enums.*;
import com.nq.pojo.*;
import com.nq.service.*;
+import com.nq.vo.stock.ai.StockAIOrderPositionVO;
import com.nq.vo.stock.ai.StockAiOrderTypeVO;
import com.nq.vo.stock.ai.StockAiOrderVO;
import com.nq.vo.stock.ai.StockAiVO;
+import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -44,6 +45,8 @@
IUserService iUserService;
@Autowired
IUserAssetsServices iUserAssetsServices;
+ @Autowired
+ private UserAssetsServices userAssetsServices;
/**
* 获取上架ai产品
@@ -52,11 +55,12 @@
* @return
*/
@Override
- public ServerResponse getStockAiList(Integer pageNum, Integer pageSize) {
+ public ServerResponse getStockAiList(Integer pageNum, Integer pageSize, String stockName) {
try {
PageHelper.startPage(pageNum, pageSize);
List<StockAI> stockAiList = stockAiMapper.selectList(new QueryWrapper<StockAI>()
- .eq("status", EStockAIStatus.online.getValue()));
+ .eq("status", EStockAIStatus.online.getValue())
+ .eq(StringUtils.isNotBlank(stockName),"stock_name", stockName));
// 获取分页信息
PageInfo<StockAI> pageInfo = new PageInfo<>(stockAiList);
return ServerResponse.createBySuccess(pageInfo);
@@ -102,19 +106,11 @@
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())) {
- EStockType stockType = EStockType.getEStockTypeByCode(stockAI.getStockType());
-
- ExchangeRate exchangeRate = exchangeRateRepository.findExchangeRateByCurrencyAndConversionCurrency(stockType.getSymbol(), EStockType.MX.getSymbol())
- .orElse(null);
- if (exchangeRate == null) {
- return ServerResponse.createByErrorMsg("当前货币汇率无法转换");
- }
- //转换为墨西哥币
- buyNum = iUserAssetsServices.exchangeAmountByRate(buyNum, exchangeRate.getRata());
+ 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);
@@ -202,12 +198,12 @@
if (model == null) {
return ServerResponse.createByErrorMsg("editStockAi model is null");
}
- if (model.getStockType().isEmpty() || model.getStockName().isEmpty() || model.getMinPrice() == null
- || model.getSuccessRate() == null || model.getExpectedEarning() == null || model.getStatus().isEmpty()) {
+ if (StringUtils.isBlank(model.getStockType()) || StringUtils.isBlank(model.getStockName()) || model.getMinPrice() == null
+ || 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) {
@@ -364,7 +360,27 @@
return ServerResponse.createBySuccess("操作成功");
}
} catch (Exception e) {
- log.error("StockAiService openPosition error", e);
+ log.error("StockAiService orderOperation error", e);
+ }
+ return ServerResponse.createByError();
+ }
+
+ /**
+ * 建仓列表
+ * @param pageNum
+ * @param pageSize
+ * @param stockAiOrderId
+ * @return
+ */
+ @Override
+ public ServerResponse getPositionList(Integer pageNum, Integer pageSize, Integer stockAiOrderId) {
+ try {
+ PageHelper.startPage(pageNum, pageSize);
+ List<StockAIOrderPositionVO> positionVOList = stockAiOrderPositionMapper.getPositionListByOrderId(stockAiOrderId);
+ PageInfo<StockAIOrderPositionVO> pageInfo = new PageInfo<>(positionVOList);
+ return ServerResponse.createBySuccess(pageInfo);
+ } catch (Exception e) {
+ log.error("StockAiService getPositionList error", e);
}
return ServerResponse.createByError();
}
--
Gitblit v1.9.3