From ef392a7fe7429e5da1c5fc94fe103b066a6c2593 Mon Sep 17 00:00:00 2001 From: dengli Date: Thu, 11 Jan 2024 18:04:32 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E6=96=B0=E9=97=BB=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../market/domain/basic/service/StockService.java | 12 ++++++++---- .../market/infrastructure/job/InvestingTask.java | 6 +++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/java/cn/stock/market/domain/basic/service/StockService.java b/src/main/java/cn/stock/market/domain/basic/service/StockService.java index fa8d0c9..1e29ea0 100644 --- a/src/main/java/cn/stock/market/domain/basic/service/StockService.java +++ b/src/main/java/cn/stock/market/domain/basic/service/StockService.java @@ -272,8 +272,9 @@ public class StockService { return result; } - public String getNewsInfo(String url) { + public List getNewsInfo(String url) { String result = ""; + List list = new ArrayList<>(); try { // 使用Jsoup连接到网页 Document doc = Jsoup.connect(url) @@ -281,11 +282,14 @@ public class StockService { .header("Referer", "https://www.business-standard.com/") .header("Accept-Language", "en-US,en;q=0.9") .get(); - result = doc.html().substring(doc.html().indexOf("articleBody") + 15, doc.html().indexOf(",\"author\":") - 1); + result = doc.html().substring(doc.html().indexOf("articleBody") + 14, doc.html().indexOf(",\"author\":") - 1); + list.add(result); + list.add(doc.html().substring(doc.html().indexOf("og:title") + 19, doc.html().indexOf("") + 6, n.indexOf("
") - 47); SiteNews siteNews = new SiteNews(); siteNews.setAddTime(new Date()); siteNews.setSourceId(id); - siteNews.setTitle(title); siteNews.setDescription(time); siteNews.setImgurl(imgUrl); - siteNews.setContent(stockService.getNewsInfo(contentUrl)); + List newsInfo = stockService.getNewsInfo(contentUrl); + siteNews.setContent(newsInfo.get(0)); + siteNews.setTitle(newsInfo.get(1)); List list = newsRepository.findAll(QSiteNewsPO.siteNewsPO.sourceId.eq(id)); if (list.size() == 0) { newsRepository.save(siteNews); From 7524952c4636ed4e410cfb38de8be20ce3f0508a Mon Sep 17 00:00:00 2001 From: william Date: Sat, 27 Apr 2024 08:46:05 +0800 Subject: [PATCH 2/8] =?UTF-8?q?docker=E9=95=9C=E5=83=8F=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 21 +++++++++++++++++++++ Dockerfile | 17 +++++++++++++++++ docker-entrypoint.sh | 17 +++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-entrypoint.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0656680..f794c4f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ stages: # 构建 - build + - docker - webhook build: @@ -37,6 +38,26 @@ build: - mvn clean install -Dmaven.test.skip=true - ls - echo ">>>>>>Finish Building<<<<<<" +docker: + stage: docker + tags: + - hk2 + dependencies: + - build + only: + - main + - develop + script: + - echo ">>>>>>Start Building Image<<<<<<" + - ls + - ls target + - echo $DOCKER_PASSWORD + - echo $CI_PIPELINE_ID + - docker build -t juyoutech/india_market_java:latest . + - docker tag juyoutech/india_market_java:latest juyoutech/india_market_java:$CI_PIPELINE_ID + - docker login -u juyoutech -p $DOCKER_PASSWORD + - docker push juyoutech/india_market_java:latest + - docker push juyoutech/india_market_java:$CI_PIPELINE_ID webhook: stage: webhook only: diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..361bae0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM openjdk:8 + +RUN echo "deb http://archive.debian.org/debian/ stretch main contrib non-free" > /etc/apt/sources.list \ + && echo "deb-src http://archive.debian.org/debian/ stretch main contrib non-free" >> /etc/apt/sources.list \ + && echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/10no-check-valid + +RUN apt-get update +#RUN apt-get install -y iputils-ping dnsutils vim net-tools --allow-unauthenticated + +WORKDIR /app + +COPY target/india_market_java.jar /app/app.jar + +COPY docker-entrypoint.sh /usr/local/bin/ +RUN chmod +x /usr/local/bin/docker-entrypoint.sh + +CMD ["docker-entrypoint.sh"] \ No newline at end of file diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..0e94e40 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +export JAVA_OPTS="$JAVA_OPTS -XX:-OmitStackTraceInFastThrow \ +-Ddb.url='jdbc:mysql://$MYSQL_HOST:$MYSQL_PORT/$MYSQL_DB?useUnicode=true&autoReconnect=true&allowPublicKeyRetrieval=true&useSSL=false' \ +-Ddb.username=$MYSQL_USER \ +-Ddb.password=$MYSQL_PASSWORD \ +-Dredis.ip=$REDIS_HOST \ +-Dredis.port=$REDIS_PORT \ +-Dredis.pwd=$REDIS_PASSWORD \ +-Denable.scheduled=false" + +echo 'param:'$@ +echo 'JAVA_OPTS:'$JAVA_OPTS + +java $JAVA_OPTS -jar /app/app.jar $@ + +tail -f /dev/null \ No newline at end of file From d24ce12179f38d6e057ac7241083a838e9db81e8 Mon Sep 17 00:00:00 2001 From: william Date: Sat, 27 Apr 2024 08:58:06 +0800 Subject: [PATCH 3/8] 1 --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f794c4f..8925756 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -55,7 +55,7 @@ docker: - echo $CI_PIPELINE_ID - docker build -t juyoutech/india_market_java:latest . - docker tag juyoutech/india_market_java:latest juyoutech/india_market_java:$CI_PIPELINE_ID - - docker login -u juyoutech -p $DOCKER_PASSWORD + - docker login -u juyoutech -p dckr_pat_8rg23IBA2kZMOCX4IJKApb8m5l8 - docker push juyoutech/india_market_java:latest - docker push juyoutech/india_market_java:$CI_PIPELINE_ID webhook: From 3982de78be932913136b60046e259801218bf444 Mon Sep 17 00:00:00 2001 From: william Date: Sat, 27 Apr 2024 09:00:47 +0800 Subject: [PATCH 4/8] 1 --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8925756..c6a9c88 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -55,9 +55,11 @@ docker: - echo $CI_PIPELINE_ID - docker build -t juyoutech/india_market_java:latest . - docker tag juyoutech/india_market_java:latest juyoutech/india_market_java:$CI_PIPELINE_ID + - docker tag juyoutech/india_market_java:latest juyoutech/india_market_java:$CI_COMMIT_BRANCH - docker login -u juyoutech -p dckr_pat_8rg23IBA2kZMOCX4IJKApb8m5l8 - docker push juyoutech/india_market_java:latest - docker push juyoutech/india_market_java:$CI_PIPELINE_ID + - docker push juyoutech/india_market_java:$CI_COMMIT_BRANCH webhook: stage: webhook only: From f6cc52bb9c0220328dc76a496328463b7b047542 Mon Sep 17 00:00:00 2001 From: Administrator Date: Mon, 29 Apr 2024 10:23:45 +0000 Subject: [PATCH 5/8] =?UTF-8?q?=E6=9B=B4=E6=94=B9docker=E9=95=9C=E5=83=8F?= =?UTF-8?q?=E7=9A=84=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c6a9c88..151cf1a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -53,13 +53,13 @@ docker: - ls target - echo $DOCKER_PASSWORD - echo $CI_PIPELINE_ID - - docker build -t juyoutech/india_market_java:latest . - - docker tag juyoutech/india_market_java:latest juyoutech/india_market_java:$CI_PIPELINE_ID - - docker tag juyoutech/india_market_java:latest juyoutech/india_market_java:$CI_COMMIT_BRANCH + - docker build -t juyoutech/india_stock_market:latest . + - docker tag juyoutech/india_stock_market:latest juyoutech/india_stock_market:$CI_PIPELINE_ID + - docker tag juyoutech/india_stock_market:latest juyoutech/india_stock_market:$CI_COMMIT_BRANCH - docker login -u juyoutech -p dckr_pat_8rg23IBA2kZMOCX4IJKApb8m5l8 - - docker push juyoutech/india_market_java:latest - - docker push juyoutech/india_market_java:$CI_PIPELINE_ID - - docker push juyoutech/india_market_java:$CI_COMMIT_BRANCH + - docker push juyoutech/india_stock_market:latest + - docker push juyoutech/india_stock_market:$CI_PIPELINE_ID + - docker push juyoutech/india_stock_market:$CI_COMMIT_BRANCH webhook: stage: webhook only: From 0cec27728210bbd3026de9b60f5d9672c1b62e10 Mon Sep 17 00:00:00 2001 From: william Date: Mon, 29 Apr 2024 23:35:09 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 151cf1a..7258c6b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ stages: # 构建 - build - - docker + - dockerize - webhook build: @@ -38,8 +38,8 @@ build: - mvn clean install -Dmaven.test.skip=true - ls - echo ">>>>>>Finish Building<<<<<<" -docker: - stage: docker +dockerize: + stage: dockerize tags: - hk2 dependencies: From efae848b4f8c7fabbe4a0dd35ebb64fad2f42ea8 Mon Sep 17 00:00:00 2001 From: william Date: Tue, 30 Apr 2024 21:47:07 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-entrypoint.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 0e94e40..90a2a85 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,13 +1,17 @@ #!/bin/sh export JAVA_OPTS="$JAVA_OPTS -XX:-OmitStackTraceInFastThrow \ --Ddb.url='jdbc:mysql://$MYSQL_HOST:$MYSQL_PORT/$MYSQL_DB?useUnicode=true&autoReconnect=true&allowPublicKeyRetrieval=true&useSSL=false' \ --Ddb.username=$MYSQL_USER \ --Ddb.password=$MYSQL_PASSWORD \ --Dredis.ip=$REDIS_HOST \ --Dredis.port=$REDIS_PORT \ --Dredis.pwd=$REDIS_PASSWORD \ --Denable.scheduled=false" + -Dspring.redis.host=$REDIS_HOST \ + -Dspring.redis.password=$REDIS_PASS \ + -Dmarket.domain=$MARKET_HOST \ + -Dspring.redis.port=$REDIS_PORT \ + -Dspring.datasource.stock-market.url=jdbc:mysql://$MYSQL_HOST:$MYSQL_PORT/$MARKET_MYSQL_DB?useUnicode=true&autoReconnect=true&allowPublicKeyRetrieval=true&useSSL=true \ + -Dspring.datasource.stock-market.username=$MYSQL_USER \ + -Dspring.datasource.stock-market.password=$MYSQL_PASS \ + -Dspring.datasource.stock.url=jdbc:mysql://$MYSQL_HOST:$MYSQL_PORT/$MYSQL_DB?useUnicode=true&autoReconnect=true&allowPublicKeyRetrieval=true&useSSL=true \ + -Dspring.datasource.stock.username=$MYSQL_USER \ + -Dspring.datasource.stock.password=$MYSQL_PASS + echo 'param:'$@ echo 'JAVA_OPTS:'$JAVA_OPTS From d8862710a19ab7a450deb4edcd82323c12302ce0 Mon Sep 17 00:00:00 2001 From: william Date: Wed, 1 May 2024 00:17:46 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/stock/market/web/ArticleApiController.java | 2 +- .../cn/stock/market/web/BTodayStockController.java | 4 ++-- src/main/java/cn/stock/market/web/InfoController.java | 2 +- .../java/cn/stock/market/web/MoneyApiController.java | 10 +++++----- .../java/cn/stock/market/web/MoneyProxyApiControl.java | 3 ++- .../java/cn/stock/market/web/SiteNewsController.java | 2 +- .../java/cn/stock/market/web/StockApiController.java | 2 +- .../java/cn/stock/market/web/TodayApiController.java | 2 +- 8 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/java/cn/stock/market/web/ArticleApiController.java b/src/main/java/cn/stock/market/web/ArticleApiController.java index 81a1f35..4befd79 100644 --- a/src/main/java/cn/stock/market/web/ArticleApiController.java +++ b/src/main/java/cn/stock/market/web/ArticleApiController.java @@ -20,7 +20,7 @@ import cn.stock.market.domain.basic.service.SiteArticleService; import cn.stock.market.utils.ServerResponse; @Controller -@RequestMapping({"/api/market/art/", "/api/hq/art/"}) +@RequestMapping({"/market/api/market/art/","/market/api/market/art/","/api/market/art/", "/api/hq/art/"}) @Api(tags = "公告信息") public class ArticleApiController extends BaseController { diff --git a/src/main/java/cn/stock/market/web/BTodayStockController.java b/src/main/java/cn/stock/market/web/BTodayStockController.java index b7d68df..1692773 100644 --- a/src/main/java/cn/stock/market/web/BTodayStockController.java +++ b/src/main/java/cn/stock/market/web/BTodayStockController.java @@ -35,7 +35,7 @@ public class BTodayStockController { @Autowired private BtodayStockService btodayStockService; - @GetMapping("/api/bToday/kLine") + @GetMapping({"/market/api/bToday/kLine","/api/bToday/kLine"}) @ApiOperation(value = "股票详情K线图",httpMethod = "GET") @ApiImplicitParams({ @ApiImplicitParam(name="exchange",value = "BSE或者NSE"), @@ -140,7 +140,7 @@ public class BTodayStockController { "fromredis: 标志是否来自 Redis 缓存,false 表示不是", response = JSONObject.class), }) - @GetMapping("/api/bToday/stockDetail") + @GetMapping({"/market/api/bToday/stockDetail","/api/bToday/stockDetail"}) @EncryptFilter(decryptRequest = false) public com.alibaba.fastjson.JSONObject getPriceChartCompanyPullView( @RequestParam(value = "exchange") String exchange, diff --git a/src/main/java/cn/stock/market/web/InfoController.java b/src/main/java/cn/stock/market/web/InfoController.java index e4db529..f4f73cc 100644 --- a/src/main/java/cn/stock/market/web/InfoController.java +++ b/src/main/java/cn/stock/market/web/InfoController.java @@ -25,7 +25,7 @@ import springfox.documentation.annotations.ApiIgnore; * @created Dec 4, 2018 10:22:44 PM */ @RestController -@RequestMapping("/api/hq/") +@RequestMapping({"/market/api/hq/","/api/hq/"}) @ApiIgnore public class InfoController { @Value("${spring.application.name}") diff --git a/src/main/java/cn/stock/market/web/MoneyApiController.java b/src/main/java/cn/stock/market/web/MoneyApiController.java index acfd693..8356f93 100644 --- a/src/main/java/cn/stock/market/web/MoneyApiController.java +++ b/src/main/java/cn/stock/market/web/MoneyApiController.java @@ -168,7 +168,7 @@ public class MoneyApiController { "priceprevclose: 前一交易日的收盘价\n" + "30DayAvg: 过去30天的平均", response = JSONObject.class), }) - @GetMapping("/api/market/money/getStockDetail") + @GetMapping({"/market/api/market/money/getStockDetail","/api/market/money/getStockDetail"}) @ResponseBody @EncryptFilter(decryptRequest = false) @@ -511,7 +511,7 @@ public class MoneyApiController { @ApiResponse(code = 200, message = "" + "股票推荐相关: top gainer", response = JSONObject.class), }) - @GetMapping("/api/market/money/getTopGainer") + @GetMapping({"/market/api/market/money/getTopGainer","/api/market/money/getTopGainer"}) @ResponseBody @EncryptFilter(decryptRequest = false) @@ -556,7 +556,7 @@ public class MoneyApiController { @ApiResponse(code = 200, message = "" + "股票推荐相关: TopLoser", response = JSONObject.class), }) - @GetMapping("/api/market/money/getTopLoser") + @GetMapping({"/market/api/market/money/getTopLoser","/api/market/money/getTopLoser"}) @ResponseBody @EncryptFilter(decryptRequest = false) @@ -609,7 +609,7 @@ public class MoneyApiController { @ApiResponse(code = 200, message = "" + "股票推荐相关: top active", response = JSONObject.class), }) - @GetMapping("/api/market/money/getTopActives") + @GetMapping({"/market/api/market/money/getTopActives","/api/market/money/getTopActives"}) @ResponseBody @EncryptFilter(decryptRequest = false) @@ -654,7 +654,7 @@ public class MoneyApiController { - @GetMapping("/api/market/money/history/kLine") + @GetMapping({"/market/api/market/money/history/kLine","/api/market/money/history/kLine"}) @ApiOperation(value = "获取kline的money数据源", notes = "获取kline的money数据源",response = StockHistoryResponse.class) @ApiImplicitParams({ @ApiImplicitParam(name = "symbol", value = "Stock symbol 对应的是NSEID 或者是BSEID", required = true, dataType = "String", paramType = "query"), diff --git a/src/main/java/cn/stock/market/web/MoneyProxyApiControl.java b/src/main/java/cn/stock/market/web/MoneyProxyApiControl.java index 0ebe7ca..2bb0313 100644 --- a/src/main/java/cn/stock/market/web/MoneyProxyApiControl.java +++ b/src/main/java/cn/stock/market/web/MoneyProxyApiControl.java @@ -7,6 +7,7 @@ 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 org.springframework.web.bind.annotation.GetMapping; import java.io.BufferedReader; import java.io.InputStreamReader; @@ -23,7 +24,7 @@ import java.net.URL; public class MoneyProxyApiControl { - @RequestMapping(value = "/api/proxy/queryStockMoneyProxy",method = RequestMethod.GET) + @GetMapping({"/market/api/proxy/queryStockMoneyProxy","/api/proxy/queryStockMoneyProxy"}) public JSONObject queryStockByMoneyIdAndExchangeType(String scId,String exchangeType){ return stockByMoneyIdAndExchangeTypeFromHttp(scId,exchangeType); } diff --git a/src/main/java/cn/stock/market/web/SiteNewsController.java b/src/main/java/cn/stock/market/web/SiteNewsController.java index 5589ad6..a509522 100644 --- a/src/main/java/cn/stock/market/web/SiteNewsController.java +++ b/src/main/java/cn/stock/market/web/SiteNewsController.java @@ -18,7 +18,7 @@ import cn.stock.market.domain.basic.service.SiteNewsService; import cn.stock.market.utils.ServerResponse; @Controller -@RequestMapping({"/api/market/news/", "/api/hq/news/"}) +@RequestMapping({"/market/api/market/news/", "/market/api/hq/news/","/api/market/news/", "/api/hq/news/"}) @Api(tags="新闻资讯") public class SiteNewsController { private static final Logger log = LoggerFactory.getLogger(SiteNewsController.class); diff --git a/src/main/java/cn/stock/market/web/StockApiController.java b/src/main/java/cn/stock/market/web/StockApiController.java index aea2683..eb697ab 100644 --- a/src/main/java/cn/stock/market/web/StockApiController.java +++ b/src/main/java/cn/stock/market/web/StockApiController.java @@ -56,7 +56,7 @@ import springfox.documentation.annotations.ApiIgnore; @Controller @Api(value = "/StockApiController", tags = "股票行情") -@RequestMapping({"/api/market/stock/", "/api/hq/stock/"}) +@RequestMapping({"/market/api/market/stock/", "/market/api/hq/stock/","/api/market/stock/", "/api/hq/stock/"}) public class StockApiController { private static final Logger log = LoggerFactory.getLogger(StockApiController.class); diff --git a/src/main/java/cn/stock/market/web/TodayApiController.java b/src/main/java/cn/stock/market/web/TodayApiController.java index 2fb4931..883f0fa 100644 --- a/src/main/java/cn/stock/market/web/TodayApiController.java +++ b/src/main/java/cn/stock/market/web/TodayApiController.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.ResponseBody; @Controller @Api(value = "/TodayApiController", tags = "today股票行情") -@RequestMapping({"/api/market/today/"}) +@RequestMapping({"/market/api/market/today/","/api/market/today/"}) public class TodayApiController { @RequestMapping({"getTopGainers.do"})