调整一下抓取股票的时间
This commit is contained in:
@@ -35,6 +35,11 @@ public class StockListVO {
|
||||
/*是否添加自选:1、添加自选,0、未添加自选*/
|
||||
private String isOption;
|
||||
|
||||
private String pricechange;
|
||||
|
||||
|
||||
private String symbol;
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
@@ -255,4 +260,20 @@ public class StockListVO {
|
||||
public void setIsOption(String isOption) {
|
||||
this.isOption = isOption;
|
||||
}
|
||||
|
||||
public String getPricechange() {
|
||||
return pricechange;
|
||||
}
|
||||
|
||||
public void setPricechange(String pricechange) {
|
||||
this.pricechange = pricechange;
|
||||
}
|
||||
|
||||
public String getSymbol() {
|
||||
return symbol;
|
||||
}
|
||||
|
||||
public void setSymbol(String symbol) {
|
||||
this.symbol = symbol;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ public class MoneyScraper {
|
||||
private MoneyStockRepository moneyStockRepository;
|
||||
|
||||
@GetMapping("testScraperGetMoneyControlStock")
|
||||
@Scheduled(cron = "0 0 2 */1 * ?")
|
||||
//@Scheduled(cron = "0 0 2 */1 * ?")
|
||||
public void schedule(){
|
||||
List<String> letters = new ArrayList<>();
|
||||
for (char c = 'A'; c <= 'Z'; c++) {
|
||||
|
||||
88
src/main/java/cn/stock/market/web/MoneyProxyApiControl.java
Normal file
88
src/main/java/cn/stock/market/web/MoneyProxyApiControl.java
Normal file
@@ -0,0 +1,88 @@
|
||||
package cn.stock.market.web;
|
||||
|
||||
import cn.stock.market.dto.model.StockListVO;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.math.BigDecimal;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
||||
/**
|
||||
* @author gs
|
||||
* @date 2024/2/15 下午9:18
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
public class MoneyProxyApiControl {
|
||||
|
||||
|
||||
@RequestMapping(value = "/api/proxy/queryStockMoneyProxy",method = RequestMethod.GET)
|
||||
public StockListVO queryStockByMoneyIdAndExchangeType(String scId,String exchangeType){
|
||||
return stockByMoneyIdAndExchangeTypeFromHttp(scId,exchangeType);
|
||||
}
|
||||
|
||||
|
||||
public static StockListVO stockByMoneyIdAndExchangeTypeFromHttp(String scId, String exchangeType) {
|
||||
try {
|
||||
String url = "https://priceapi.moneycontrol.com/pricefeed/"+exchangeType+"/equitycash/" + scId ;
|
||||
URL obj = new URL(url);
|
||||
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
|
||||
con.setRequestMethod("GET");
|
||||
|
||||
int responseCode = con.getResponseCode();
|
||||
if (responseCode == HttpURLConnection.HTTP_OK) {
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
|
||||
String inputLine;
|
||||
StringBuilder response = new StringBuilder();
|
||||
while ((inputLine = in.readLine()) != null) {
|
||||
response.append(inputLine);
|
||||
}
|
||||
in.close();
|
||||
// 解析JSON数据
|
||||
JSONObject jsonObject = null;
|
||||
try {
|
||||
jsonObject = JSONObject.parseObject(response.toString());
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
log.info("stockByCodeAndExchangeType:获取 sc_id:{}, exchangeType: {} 的实时价格的结果:{} ",scId,exchangeType,jsonObject.toJSONString());
|
||||
StockListVO stockListVO = mapJsonToMoneyStockListVO(jsonObject);
|
||||
stockListVO.setStock_type(exchangeType);
|
||||
return stockListVO;
|
||||
} else {
|
||||
log.error("HTTP request failed with response code: " + responseCode);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("stockByMoneyIdAndExchangeTypeFromHttp",e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private static StockListVO mapJsonToMoneyStockListVO(JSONObject jsonObject) {
|
||||
StockListVO stockListVO = new StockListVO();
|
||||
if (jsonObject != null) {
|
||||
JSONObject data = jsonObject.getJSONObject("data");
|
||||
if(data!=null&&!data.isEmpty()){
|
||||
stockListVO.setName(data.getString("company"));
|
||||
stockListVO.setCode(data.getString("code"));
|
||||
stockListVO.setSpell(data.getString("company"));
|
||||
stockListVO.setGid(data.getString("symbol"));
|
||||
stockListVO.setNowPrice(data.getString("pricecurrent"));
|
||||
stockListVO.setOpen_px(data.getString("OPN"));
|
||||
stockListVO.setPreclose_px(data.getString("priceprevclose"));
|
||||
stockListVO.setHcrate(new BigDecimal(data.getString("pricepercentchange")));
|
||||
stockListVO.setSymbol(data.getString("symbol"));
|
||||
stockListVO.setPricechange(data.getString("pricechange"));
|
||||
}
|
||||
}
|
||||
return stockListVO;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user