From 3a6f68a40bb8be25ce19109ea595e8d0d7bfe510 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Fri, 05 Dec 2025 10:25:56 +0800
Subject: [PATCH] 修改
---
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java | 30 +++++++++++++++++-------------
1 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index fc23fee..db143f7 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -185,9 +185,9 @@
boolean pm_flag = BuyAndSellUtils.isTransTime(pm_begin, pm_end);
log.info("是否在上午交易时间 = {} 是否在下午交易时间 = {}", Boolean.valueOf(am_flag), Boolean.valueOf(pm_flag));
-// if (!am_flag && !pm_flag) {
-// return ServerResponse.createByErrorMsg("下单失败,不在交易时段内");
-// }
+ if (!am_flag && !pm_flag) {
+ return ServerResponse.createByErrorMsg("下单失败,不在交易时段内");
+ }
if (siteProduct.getHolidayDisplay()) {
return ServerResponse.createByErrorMsg("周末或节假日不能交易!");
}
@@ -1224,8 +1224,9 @@
stockListVO = SinaStockApi.assembleStockListVO(SinaStockApi.getSinaStock(position.getStockGid()));
}
- if (stockListVO.getNowPrice() == null) {
- stockListVO.setNowPrice("0");
+ if (stockListVO.getNowPrice() == null || new BigDecimal(stockListVO.getNowPrice()).compareTo(BigDecimal.ZERO) <= 0) {
+// stockListVO.setNowPrice("0");
+ stockListVO.setNowPrice(String.valueOf(position.getBuyOrderIdIndex()));
}
@@ -1877,8 +1878,8 @@
}
// stockListVO = SinaStockApi.assembleStockListVO(SinaStockApi.getSinaStock(position.getStockGid()));
nowPrice = stockListVO.getNowPrice();
- if (nowPrice == null) {
- if(position.getBuyOrderIdIndex().compareTo(BigDecimal.ZERO) > 0){
+ if (nowPrice == null || new BigDecimal(stockListVO.getNowPrice()).compareTo(BigDecimal.ZERO) <= 0) {
+ if(null != position.getBuyOrderIdIndex() && position.getBuyOrderIdIndex().compareTo(BigDecimal.ZERO) > 0){
nowPrice = String.valueOf(position.getBuyOrderIdIndex());
}else {
nowPrice = String.valueOf(position.getBuyOrderPrice());
@@ -2723,25 +2724,28 @@
public void synchronizePrice(){
Map<String,BigDecimal> priceMap = new HashMap<>();
List<UserPosition> userPositions = this.userPositionMapper.synchronizePrice();
+ log.info("-------------------同步收盘价,查询数据总量 {}个--------------",userPositions.size());
+ int count = 0;
for (UserPosition position : userPositions) {
if(priceMap.containsKey(position.getStockGid())){
BigDecimal newPrice = priceMap.get(position.getStockGid());
position.setBuyOrderIdIndex(newPrice);
+ userPositionMapper.updateByPrimaryKey(position);
}else {
StockListVO stockListVO = new StockListVO();
stockListVO = SinaStockApi.assembleLideStockListVO(LiDeDataUtils.getStock(position.getStockCode()));
if (ObjectUtils.isEmpty(stockListVO)) {
stockListVO = SinaStockApi.assembleStockListVO(SinaStockApi.getSinaStock(position.getStockGid()));
}
- if(stockListVO.getNowPrice() == null){
- stockListVO.setNowPrice(String.valueOf(position.getBuyOrderPrice()));
+ if(stockListVO.getNowPrice() != null && new BigDecimal(stockListVO.getNowPrice()).compareTo(BigDecimal.ZERO) > 0){
+ position.setBuyOrderIdIndex(new BigDecimal(stockListVO.getNowPrice()));
+ priceMap.put(position.getStockGid(),new BigDecimal(stockListVO.getNowPrice()));
+ userPositionMapper.updateByPrimaryKey(position);
}
- position.setBuyOrderIdIndex(new BigDecimal(stockListVO.getNowPrice()));
- priceMap.put(position.getStockGid(),new BigDecimal(stockListVO.getNowPrice()));
}
- userPositionMapper.updateByPrimaryKey(position);
+ count++;
}
- log.info("-------------------同步收盘价 {}个--------------");
+ log.info("-------------------同步收盘价 {}个--------------",count);
}
}
--
Gitblit v1.9.3