From e26923972dffde65542e61d09032ee0234f0bb7f Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Sat, 18 May 2024 15:18:00 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/impl/PriceServicesImpl.java |   31 +++++++++++++++++++++----------
 1 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/PriceServicesImpl.java b/src/main/java/com/nq/service/impl/PriceServicesImpl.java
index 71345ac..90508f7 100644
--- a/src/main/java/com/nq/service/impl/PriceServicesImpl.java
+++ b/src/main/java/com/nq/service/impl/PriceServicesImpl.java
@@ -1,5 +1,6 @@
 package com.nq.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.google.gson.Gson;
@@ -11,6 +12,7 @@
 import com.nq.pojo.*;
 import com.nq.service.IPriceServices;
 import com.nq.service.IStockConfigServices;
+import com.nq.utils.PropertiesUtil;
 import com.nq.utils.http.HttpClientRequest;
 import com.nq.utils.redis.RedisKeyUtil;
 import com.nq.utils.timeutil.TimeUtil;
@@ -18,8 +20,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
+import java.io.*;
 import java.lang.reflect.Type;
 import java.math.BigDecimal;
 import  java.io.BufferedReader;
@@ -57,7 +58,7 @@
                 if(stockSetting.getType().equals("0")){
                     return  new BigDecimal(stockSetting.getPrice());
                 }else{
-                    String s = doGet(stock.getStockCode());
+                    String s = doPost(stock.getStockCode());
                     if(null != s){
                         Map<String, Object> stringObjectMap = jsonToMap(s);
                         return   new BigDecimal(stringObjectMap.get("last").toString()).multiply(new BigDecimal(stockSetting.getPrice()));
@@ -66,10 +67,10 @@
             }
         }
 
-        String s = doGet(stock.getStockCode());
+        String s = doPost(stock.getStockCode());
         if(null != s) {
             Map<String, Object> stringObjectMap = jsonToMap(s);
-            return  new BigDecimal(stringObjectMap.get("last").toString());
+            return  new BigDecimal(stringObjectMap.get("Last").toString());
         }
         return BigDecimal.ZERO;
     }
@@ -77,7 +78,7 @@
     @Override
     public Map<String, Object> getNewStock(String stockCode) {
         Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code",stockCode));
-        String s = doGet(stock.getStockCode());
+        String s = doPost(stock.getStockCode());
         if(null != s){
             Map<String, Object> stringObjectMap = jsonToMap(s);
             return   stringObjectMap;
@@ -100,14 +101,24 @@
         }
     }
 
-    public String doGet(String pid){
-        String  apiUrl  =  "http://api-in-2.js-stock.top/stock?pid="+pid+"&key=eVKtHt7aG4m6ozwWL9qG";
+    public String doPost(String pid){
+        String  apiUrl  =  PropertiesUtil.getProperty("MAS_HTTP_API")+"stock?key="+PropertiesUtil.getProperty("MAS_KEY");
         try  {
             URL  url  =  new  URL(apiUrl);
             HttpURLConnection  connection  =  (HttpURLConnection)  url.openConnection();
-            connection.setRequestMethod("GET");
+            connection.setRequestMethod("POST");
+            connection.setRequestProperty("Content-Type", "application/json");
+            connection.setDoOutput(true);
 
-            BufferedReader in  =  new  BufferedReader(new InputStreamReader(connection.getInputStream()));
+            String json = JSON.toJSONString(new HashMap<String, String>() {{
+                put("pid", pid);
+            }});
+            try(OutputStream os = connection.getOutputStream()) {
+                byte[] input = json.getBytes("utf-8");
+                os.write(input, 0, input.length);
+            }
+
+            BufferedReader in  = new  BufferedReader(new InputStreamReader(connection.getInputStream()));
             String  inputLine;
             StringBuffer  response  =  new  StringBuffer();
 

--
Gitblit v1.9.3