From 77f227d8b1d00f6507184f8cd2fdec19deacd936 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Mon, 22 Dec 2025 11:18:03 +0800
Subject: [PATCH] 1
---
trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java | 76 ++++++++++++++++++++++++--------------
1 files changed, 48 insertions(+), 28 deletions(-)
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java
index 3a0cf8f..9d94c8a 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java
@@ -87,9 +87,9 @@
Page<StockDzDto> page = new Page<>(pageNum, pageSize);
page = stockDzMapper.findStockTypeDz(page,orderBy,keyWords,formatDate, stockType);
page.getRecords().forEach(stockDzDto -> {
- Realtime realtime = this.dataService.realtime(stockDzDto.getStockCode()).get(0);
- if (realtime != null) {
- stockDzDto.setCurrentPrice(realtime.getClose());
+ List<Realtime> list = this.dataService.realtime(stockDzDto.getStockCode());
+ if (!list.isEmpty() && list.get(0) != null) {
+ stockDzDto.setCurrentPrice(list.get(0).getClose());
}
});
return Result.succeed(page);
@@ -116,16 +116,22 @@
return Result.failed("股票代码已存在");
}
- Item item = itemService.findBySymbol(stockCode);
- if(item == null){
- return Result.failed("不存在该股票");
+ StockDz stockDz = new StockDz();
+ if (stockType.equalsIgnoreCase(Item.indices)) {
+ stockDz.setStockName(stockCode);
+ stockDz.setStockCode(stockCode);
+ stockDz.setStockSpell(stockCode);
+ } else {
+ Item item = itemService.findBySymbol(stockCode);
+ if(item == null){
+ return Result.failed("不存在该股票");
+ }
+ stockDz.setStockName(item.getSymbolFullName());
+ stockDz.setStockCode(item.getSymbol());
+ stockDz.setStockSpell(item.getSymbolData());
}
- StockDz stockDz = new StockDz();
- stockDz.setStockName(item.getSymbolFullName());
- stockDz.setStockCode(item.getSymbol());
stockDz.setStockType(stockType);
- stockDz.setStockSpell(item.getSymbolData());
stockDz.setIsLock(0);
stockDz.setIsShow(1);
stockDz.setAddTime(new Date());
@@ -167,19 +173,26 @@
return Result.failed("股票代码已存在");
}
- Item item = itemService.findBySymbol(model.getStockCode());
- if(item == null){
- return Result.failed("不存在该股票");
- }
-
StockDz stockDz = stockDzMapper.selectById(model.getUuid());
if(stockDz == null){
return Result.failed("不存在该大宗信息");
}
- //model.setStockName(item.getSymbolFullName());
- model.setStockCode(item.getSymbol());
+
+ if (!stockDz.getStockType().equalsIgnoreCase(Item.indices)) {
+ Item item = itemService.findBySymbol(model.getStockCode());
+ if(item == null){
+ return Result.failed("不存在该股票");
+ } else {
+ model.setStockCode(item.getSymbol());
+ model.setStockSpell(item.getSymbolData());
+ }
+ } else {
+ model.setStockCode(model.getStockCode());
+ model.setStockSpell(model.getStockCode());
+ model.setStockName(model.getStockCode());
+ }
model.setStockType(stockDz.getStockType());
- model.setStockSpell(item.getSymbolData());
+
return stockDzMapper.updateById(model) > 0 ? Result.succeed("修改成功") : Result.failed("修改失败");
}
@@ -200,11 +213,13 @@
if (!page.getRecords().isEmpty()) {
List<ExchangeApplyOrderDzDto> list = page.getRecords();
list.forEach(dz -> {
- double closePrice;
+ double closePrice = 0;
if (state != null) { //持仓
- Realtime realtime = this.dataService.realtime(dz.getSymbol()).get(0);
- //获取现价
- closePrice = realtime.getClose();
+ List<Realtime> realtimeList = this.dataService.realtime(dz.getSymbol());
+ if (!realtimeList.isEmpty() && realtimeList.get(0) != null) {
+ //获取现价
+ closePrice = realtimeList.get(0).getClose();
+ }
} else { //已结算
closePrice = dz.getClosePrice();
}
@@ -309,9 +324,11 @@
}
if (!isAdmin) { //后台买入不判断
- boolean isOpen = MarketOpenChecker.isMarketOpenBuyDz(Item.US_STOCKS);
- if (!isOpen) {
- return Result.failed("当前股市休市");
+ if (!stockDz.getStockName().contains("测试")) {
+ boolean isOpen = MarketOpenChecker.isMarketOpenBuyDz(Item.US_STOCKS);
+ if (!isOpen) {
+ return Result.failed("当前股市休市");
+ }
}
}
@@ -599,7 +616,7 @@
double closeAmt;
String symbol = stockDz.getStockCode();
- double closePrice;
+ double closePrice = 0;
if (isETF) {
//按日收益率结算
closeAmt = order.getPrice();
@@ -607,8 +624,11 @@
closePrice = closeAmt;
closeAmt = closeAmt - orderFree.doubleValue();
} else {
- Realtime realtime = this.dataService.realtime(symbol).get(0);
- closePrice = realtime.getClose();
+ List<Realtime> realtimeList = this.dataService.realtime(symbol);
+ if (!realtimeList.isEmpty() && realtimeList.get(0) != null) {
+ //获取现价
+ closePrice = realtimeList.get(0).getClose();
+ }
closeAmt = closePrice * num - orderFree.doubleValue();
}
if (closeAmt < 0) {
--
Gitblit v1.9.3