From ca455909bc92b314ef00fa0f10290aa70932b071 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 03 Sep 2024 18:53:44 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/pojo/OrderEchoOut.java                        |    4 +-
 src/main/java/com/nq/service/impl/StockServiceImpl.java            |   20 +++------
 src/main/java/com/nq/service/impl/SiteNewsServiceImpl.java         |    7 ++-
 src/main/java/com/nq/pojo/UserWithdraw.java                        |    4 +-
 src/main/java/com/nq/pojo/User.java                                |    2 
 src/main/java/com/nq/service/impl/StockSettingServicesImpl.java    |   17 +++++++-
 src/main/java/com/nq/service/impl/UserPositionServiceImpl.java     |   29 ++++++++------
 src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java |   16 +++++++-
 src/main/java/com/nq/pojo/UserRecharge.java                        |    4 +-
 src/main/resources/application.yml                                 |    2 
 src/main/resources/mapper/UserMapper.xml                           |    3 -
 11 files changed, 67 insertions(+), 41 deletions(-)

diff --git a/src/main/java/com/nq/pojo/OrderEchoOut.java b/src/main/java/com/nq/pojo/OrderEchoOut.java
index 7b8606f..5388888 100644
--- a/src/main/java/com/nq/pojo/OrderEchoOut.java
+++ b/src/main/java/com/nq/pojo/OrderEchoOut.java
@@ -23,10 +23,10 @@
 
     private String returnOfRate;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Tokyo")
     private Date buyTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Tokyo")
     private Date endTime;
 
 
diff --git a/src/main/java/com/nq/pojo/User.java b/src/main/java/com/nq/pojo/User.java
index aebaf48..848aa13 100644
--- a/src/main/java/com/nq/pojo/User.java
+++ b/src/main/java/com/nq/pojo/User.java
@@ -35,6 +35,6 @@
     private String withdrawalPwd;
     private String vaildNumber;
     private String lever;
-    private String fundRatio;
+//    private String fundRatio;
 
 }
diff --git a/src/main/java/com/nq/pojo/UserRecharge.java b/src/main/java/com/nq/pojo/UserRecharge.java
index 43974c7..c67b6f1 100644
--- a/src/main/java/com/nq/pojo/UserRecharge.java
+++ b/src/main/java/com/nq/pojo/UserRecharge.java
@@ -39,9 +39,9 @@
     private String orderDesc;
 
     @Excel(name = "申请时间", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "Asia/Tokyo")
     private Date addTime;
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "Asia/Tokyo")
     @Excel(name = "支付时间", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd HH:mm:ss")
     private Date payTime;
     /*支付通道主键id*/
diff --git a/src/main/java/com/nq/pojo/UserWithdraw.java b/src/main/java/com/nq/pojo/UserWithdraw.java
index 9b27d1b..814ee53 100644
--- a/src/main/java/com/nq/pojo/UserWithdraw.java
+++ b/src/main/java/com/nq/pojo/UserWithdraw.java
@@ -23,10 +23,10 @@
     private Integer agentId;
     @Excel(name = "出金金额")
     private BigDecimal withAmt;
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Tokyo")
     @Excel(name = "申请时间", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd HH:mm:ss")
     private Date applyTime;
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Tokyo")
     @Excel(name = "出金时间", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd HH:mm:ss")
     private Date transTime;
 
diff --git a/src/main/java/com/nq/service/impl/SiteNewsServiceImpl.java b/src/main/java/com/nq/service/impl/SiteNewsServiceImpl.java
index 2afc133..815da0b 100644
--- a/src/main/java/com/nq/service/impl/SiteNewsServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/SiteNewsServiceImpl.java
@@ -148,8 +148,11 @@
                         siteNews.setSourceId(newsId);
                         siteNews.setSourceName("");
                         siteNews.setTitle(jsonObject.getString("title"));
-                        Long showTime = jsonObject.getLong("time");
-                        siteNews.setShowTime(new Date(showTime * 1000));
+                        if (jsonObject.has("time") && jsonObject.optLong("time") != 0) {
+                            Long showTime = jsonObject.getLong("time");
+                            siteNews.setShowTime(new Date(showTime * 1000));
+                        }
+
                         if(jsonObject.has("img")){
                             convertBase64ToImage(jsonObject.getString("img"),PropertiesUtil.getProperty("ftp.address")+newsId+".jpg");
                             siteNews.setImgurl(PropertiesUtil.getProperty("ftp.server.http.prefix")+newsId+".jpg");
diff --git a/src/main/java/com/nq/service/impl/StockServiceImpl.java b/src/main/java/com/nq/service/impl/StockServiceImpl.java
index 771f98c..d3a6f6a 100644
--- a/src/main/java/com/nq/service/impl/StockServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockServiceImpl.java
@@ -19,6 +19,7 @@
 import com.nq.pojo.*;
 import com.nq.pojo.reponse.RPageInfo;
 import com.nq.service.*;
+import com.nq.utils.ConverterUtil;
 import com.nq.utils.http.HttpClientRequest;
 import com.nq.utils.PropertiesUtil;
 import com.nq.utils.redis.RedisKeyUtil;
@@ -184,21 +185,14 @@
             stockListVOS.addAll(Objects.requireNonNull(StockApi.getStockReailTimes(stockList)));
         }
 
-        // Create a list to hold Futures
-        List<CompletableFuture<Void>> futures = new ArrayList<>();
-
-        // Use CompletableFuture to perform asynchronous processing for each stockListVO
         for (StockListVO stockListVO : stockListVOS) {
-            CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
-                stockListVO.setNowPrice(iPriceServices.getNowPrice(stockListVO.getCode(), stockType).toString());
-                Map<String, Object> newStock = iPriceServices.getNewStock(stockListVO.getCode());
-                stockListVO.setHcrateP(newStock.get("pcp").toString());
-            });
-            futures.add(future);
+            Stock stock = new Stock();
+            stock.setStockType(stockListVO.getStock_type());
+            stock.setStockCode(stockListVO.getCode());
+            StockRealTimeBean cacheRealTimeStock = RedisKeyUtil.getCacheRealTimeStock(stock);
+            stockListVO.setNowPrice(cacheRealTimeStock.getLast());
+            stockListVO.setHcrateP(cacheRealTimeStock.getPcp());
         }
-
-        // Wait for all futures to complete
-        CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join();
 
         RPageInfo pageInfo = new RPageInfo();
         pageInfo.setList(stockListVOS);
diff --git a/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java b/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java
index 32c3f72..b84e8ec 100644
--- a/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java
+++ b/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java
@@ -1,5 +1,6 @@
 package com.nq.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.nq.common.ServerResponse;
 import com.nq.dao.StockMapper;
@@ -26,6 +27,15 @@
 
     @Override
     public ServerResponse updateStockSetting(StockSetting stockSetting) {
+        Stock stock = stockMapper.findStockByCode(stockSetting.getStockCode());
+        if(stock == null){
+            return ServerResponse.createByErrorMsg("股票不存在");
+        }
+        Long count = stockSettingMapper.selectCount(new LambdaQueryWrapper<>(StockSetting.class)
+                .eq(StockSetting::getStockCode, stockSetting.getStockCode()).ne(StockSetting::getId,stockSetting.getId()));
+        if(count > 0){
+            return ServerResponse.createByErrorMsg("盘前股票已存在!");
+        }
        int ref =  stockSettingMapper.updateById(stockSetting);
        if(ref == 0){
            return   ServerResponse.createByErrorMsg("修改失败");
@@ -35,12 +45,15 @@
 
     @Override
     public ServerResponse saveStockSetting(StockSetting stockSetting) {
-
-
         Stock stock = stockMapper.findStockByCode(stockSetting.getStockCode());
         if(stock == null){
            return ServerResponse.createByErrorMsg("添加股票不存在");
         }
+        Long count = stockSettingMapper.selectCount(new LambdaQueryWrapper<>(StockSetting.class)
+                .eq(StockSetting::getStockCode, stockSetting.getStockCode()));
+        if(count > 0){
+            return ServerResponse.createByErrorMsg("盘前股票已存在!");
+        }
         int ref =  stockSettingMapper.insert(stockSetting);
         if(ref == 0){
             return  ServerResponse.createByErrorMsg("修改失败");
diff --git a/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java b/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java
index 3d476ab..5850e04 100644
--- a/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java
@@ -84,7 +84,13 @@
         }
         UserPendingorder userPendingorder = userPendingorderMapper.selectOne(new QueryWrapper<UserPendingorder>().eq("user_id", user.getId()).eq("stock_id", stockId).eq("status", 0));
         if (userPendingorder != null) {
-            return ServerResponse.createByErrorMsg("Please do not repeat the order",request);
+            String lang = request.getHeader("lang");
+            if(lang.equals("ja")){
+                String msg = "繰り返しの送信はご遠慮ください";
+                return ServerResponse.createByErrorMsg(msg);
+            }else{
+                return ServerResponse.createByErrorMsg("Please do not repeat the order",request);
+            }
         }
 
         userPendingorder = new UserPendingorder();
@@ -101,7 +107,13 @@
         userPendingorder.setStatus(0);
         int ret = userPendingorderMapper.insert(userPendingorder);
         if (ret > 0) {
-            return ServerResponse.createBySuccessMsg("If the pending order is successfully added, the order will be automatically placed if the order conditions are met",request);
+            String lang = request.getHeader("lang");
+            if(lang.equals("ja")){
+                String msg = "注文が成功しました。取引時間内に自動的に約定されます。";
+                return ServerResponse.createBySuccessMsg(msg);
+            }else{
+                return ServerResponse.createBySuccessMsg("If the pending order is successfully added, the order will be automatically placed if the order conditions are met",request);
+            }
         }
         return ServerResponse.createByErrorMsg("Add failure",request);
 
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index 47c6015..f62dfe2 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -149,9 +149,14 @@
         //判断股票是否在可交易时间段
         Boolean b = tradingHourService.timeCheck(stock.getStockCode());
         if (!b) {
-            return ServerResponse.createByErrorMsg("订单失败,不在交易时间之内", request);
+            String lang = request.getHeader("lang");
+            if(lang.equals("ja")){
+                String msg = "注文失敗、取引時間外です。";
+                return ServerResponse.createByErrorMsg(msg);
+            }else{
+                return ServerResponse.createByErrorMsg("订单失败,不在交易时间之内", request);
+            }
         }
-
 
        StockConfig mainBuyConfig =  iStockConfigServices.queryByKey(EConfigKey.MIN_BUY.getCode());
 
@@ -185,11 +190,11 @@
         BigDecimal buyAmt = nowPrice.multiply(new BigDecimal(buyNum)).divide(new BigDecimal(lever));
         BigDecimal orderFree = siteSettingBuyFee.multiply(buyAmt);
 
-        BigDecimal   fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
-        BigDecimal availableBalance =  fundratio.multiply(userAssets.getAvailableBalance());
-        if (availableBalance.compareTo(buyAmt.add(orderFree)) < 0) {
-            return ServerResponse.createByErrorMsg("订单失败,配资不足", request);
-        }
+//        BigDecimal   fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
+//        BigDecimal availableBalance =  fundratio.multiply(userAssets.getAvailableBalance());
+//        if (availableBalance.compareTo(buyAmt.add(orderFree)) < 0) {
+//            return ServerResponse.createByErrorMsg("订单失败,配资不足", request);
+//        }
         UserPosition userPosition = new UserPosition();
         if (profitTarget != null && profitTarget.compareTo(new BigDecimal("0")) > 0) {
             userPosition.setProfitTargetPrice(profitTarget);
@@ -1583,11 +1588,11 @@
             return ServerResponse.createByErrorMsg("最小购买数据" + stockDz.getStockNum(), request);
         }
         BigDecimal buyAmt = nowPrice.multiply(new BigDecimal(num.intValue()));
-        BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
-        BigDecimal availableBalance = fundratio.multiply(userAssets.getAvailableBalance());
-        if (buyAmt.compareTo(availableBalance) > 0) {
-            return ServerResponse.createByErrorMsg("订单失败,配资不足", request);
-        }
+//        BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
+//        BigDecimal availableBalance = fundratio.multiply(userAssets.getAvailableBalance());
+//        if (buyAmt.compareTo(availableBalance) > 0) {
+//            return ServerResponse.createByErrorMsg("订单失败,配资不足", request);
+//        }
 
         // 创建UserPosition对象
         UserPosition userPosition = new UserPosition();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 18d5047..61877f5 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -60,7 +60,7 @@
   urlPatterns: /system/*,/monitor/*,/tool/*
 spring:
   jackson:
-    time-zone: Asia/Kolkata
+    time-zone: Asia/Tokyo
   profiles:
     active: druid
   flyway:
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index 25e3a6a..7939d6b 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -25,14 +25,13 @@
         <result column="withdrawal_Pwd" property="withdrawalPwd"/>
         <result column="vaild_number"  property="vaildNumber"/>
         <result column="lever" property="lever"/>
-        <result column="fund_ratio"  property="fundRatio"/>
 
     </resultMap>
     <sql id="Base_Column_List">
     id, agent_id, agent_name, phone, user_pwd, with_pwd, nick_name, real_name, id_card, 
     account_type, is_lock, is_login,
     reg_time, reg_ip, reg_address, img1_key, img2_key, img3_key, is_active, auth_msg,
-    withdrawal_Pwd,vaild_number,lever,fund_ratio
+    withdrawal_Pwd,vaild_number,lever
   </sql>
 
 

--
Gitblit v1.9.3