diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 348c52c..e6f4525 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -46,7 +46,7 @@ webhook: - ls - apt-get update - apt-get install -y curl - - curl --max-time 30 http://124.156.133.209:11113/api/webhook/justpull?project=india_market_java\&setenv_file=alpha.sh\&publish_env=alpha\&shell=india/deploy-test.sh + - curl --max-time 30 http://43.132.212.180:11113/api/webhook/justpull?project=india_market_java\&setenv_file=alpha.sh\&publish_env=alpha\&shell=deploy-test.sh - echo ">>>>>>Start Deploy Finish<<<<<<" diff --git a/src/main/generated/cn/stock/market/infrastructure/db/po/QBtodayStockPO.java b/src/main/generated/cn/stock/market/infrastructure/db/po/QBtodayStockPO.java index 9811eca..c062b9c 100644 --- a/src/main/generated/cn/stock/market/infrastructure/db/po/QBtodayStockPO.java +++ b/src/main/generated/cn/stock/market/infrastructure/db/po/QBtodayStockPO.java @@ -23,6 +23,10 @@ public class QBtodayStockPO extends EntityPathBase { public final NumberPath id = createNumber("id", Integer.class); + public final NumberPath isLock = createNumber("isLock", Integer.class); + + public final NumberPath isShow = createNumber("isShow", Integer.class); + public final DateTimePath lastUpdateTime = createDateTime("lastUpdateTime", java.util.Date.class); public final StringPath selfUrl = createString("selfUrl"); diff --git a/src/main/java/cn/stock/market/dto/model/StockListVO.java b/src/main/java/cn/stock/market/dto/model/StockListVO.java index 27b67f1..5b5d001 100644 --- a/src/main/java/cn/stock/market/dto/model/StockListVO.java +++ b/src/main/java/cn/stock/market/dto/model/StockListVO.java @@ -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; + } } diff --git a/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java b/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java index f507632..dd901e3 100644 --- a/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java +++ b/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java @@ -50,7 +50,7 @@ public class MoneyScraper { private MoneyStockRepository moneyStockRepository; @GetMapping("testScraperGetMoneyControlStock") - @Scheduled(cron = "0 0 2 */2 * ?") + //@Scheduled(cron = "0 0 2 */1 * ?") public void schedule(){ List letters = new ArrayList<>(); for (char c = 'A'; c <= 'Z'; c++) { diff --git a/src/main/java/cn/stock/market/web/MoneyApiController.java b/src/main/java/cn/stock/market/web/MoneyApiController.java index 8750ce3..d0bc595 100644 --- a/src/main/java/cn/stock/market/web/MoneyApiController.java +++ b/src/main/java/cn/stock/market/web/MoneyApiController.java @@ -206,7 +206,6 @@ public class MoneyApiController { } return ServerResponse.createBySuccess(json1); } - } catch (Exception e) { } // 如果不是最后一次重试,则等待一段时间再进行下一次重试 diff --git a/src/main/java/cn/stock/market/web/MoneyProxyApiControl.java b/src/main/java/cn/stock/market/web/MoneyProxyApiControl.java new file mode 100644 index 0000000..0ebe7ca --- /dev/null +++ b/src/main/java/cn/stock/market/web/MoneyProxyApiControl.java @@ -0,0 +1,81 @@ +package cn.stock.market.web; + +import cn.stock.market.dto.model.StockListVO; +import com.alibaba.fastjson.JSON; +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 JSONObject queryStockByMoneyIdAndExchangeType(String scId,String exchangeType){ + return stockByMoneyIdAndExchangeTypeFromHttp(scId,exchangeType); + } + + + public static JSONObject 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数据 + log.info("stockByCodeAndExchangeType:获取 sc_id:{}, exchangeType: {} 的实时价格的结果:{} ",scId,exchangeType,response.toString()); + return JSONObject.parseObject(response.toString()); + } else { + log.error("HTTP request failed with response code: " + responseCode); + } + } catch (Exception e) { + log.error("stockByMoneyIdAndExchangeTypeFromHttp",e); + } + return new JSONObject(); + } + + + 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; + } + +}