From 8ec45e21fe9feb4ca8910325f6e19076ec8c4916 Mon Sep 17 00:00:00 2001 From: sunflower2014 Date: Tue, 17 Jun 2025 08:01:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E8=AE=AF=E7=B2=BE=E9=80=89=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E9=A1=B5=E5=A2=9E=E5=8A=A0=E8=A1=8C=E4=B8=9A=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E5=92=8C=E6=A6=82=E5=BF=B5=E6=A0=87=E7=AD=BE=E6=90=9C?= =?UTF-8?q?=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/IndustryController.java | 21 ++++++- .../admin/controller/NewsController.java | 8 ++- admin/src/main/resources/application.yml | 25 ++++---- admin/src/main/resources/sql/20250613.sql | 1 + .../{ => sql}/全量资讯库相关脚本.sql | 0 .../reference/core/mapper/NewsMapper.java | 32 +++++++++- .../vo/industry/IndustryHierarchyVO.java | 60 +++++++++++++++++++ .../vo/{tag => industry}/IndustryVO.java | 8 +-- .../core/service/IndustryService.java | 19 +++++- .../reference/core/service/NewsService.java | 51 ++++++++++++++-- 10 files changed, 197 insertions(+), 28 deletions(-) create mode 100644 admin/src/main/resources/sql/20250613.sql rename admin/src/main/resources/{ => sql}/全量资讯库相关脚本.sql (100%) create mode 100644 core/src/main/java/com/jinrui/reference/core/model/vo/industry/IndustryHierarchyVO.java rename core/src/main/java/com/jinrui/reference/core/model/vo/{tag => industry}/IndustryVO.java (95%) diff --git a/admin/src/main/java/com/jinrui/reference/admin/controller/IndustryController.java b/admin/src/main/java/com/jinrui/reference/admin/controller/IndustryController.java index 40ea234..fa3d9e5 100644 --- a/admin/src/main/java/com/jinrui/reference/admin/controller/IndustryController.java +++ b/admin/src/main/java/com/jinrui/reference/admin/controller/IndustryController.java @@ -1,5 +1,7 @@ package com.jinrui.reference.admin.controller; +import java.util.List; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.StringUtils; @@ -16,7 +18,8 @@ import com.jinrui.reference.admin.service.AdminJwtService; import com.jinrui.reference.core.model.dto.news.SaveIndustryDTO; import com.jinrui.reference.core.model.vo.PageObject; import com.jinrui.reference.core.model.vo.ResultObject; -import com.jinrui.reference.core.model.vo.tag.IndustryVO; +import com.jinrui.reference.core.model.vo.industry.IndustryHierarchyVO; +import com.jinrui.reference.core.model.vo.industry.IndustryVO; import com.jinrui.reference.core.service.IndustryService; /** @@ -99,6 +102,22 @@ public class IndustryController { return industryService.update(saveIndustryDTO.getId(), saveIndustryDTO.getPrimaryName(), saveIndustryDTO.getSecondaryName()); } + @GetMapping("/hierarchy") + public ResultObject> getHierarchy(@RequestHeader("auth-token") String token) { + AdminUser adminUser = AdminJwtService.parseToken(token); + if (adminUser == null) { + log.warn("解析token {}拿不到AdminUser对象!", token); + return ResultObject.failed("登陆Token有误,请联系系统管理员!"); + } + + if (!adminUser.isActive()) { + log.warn("当前用户已被封禁! id = {}", adminUser.getId()); + return ResultObject.failed("当前用户已被封禁!请联系系统管理员!"); + } + + return industryService.getHierarchy(); + } + /** * 行业分类搜索接口 * diff --git a/admin/src/main/java/com/jinrui/reference/admin/controller/NewsController.java b/admin/src/main/java/com/jinrui/reference/admin/controller/NewsController.java index d3d968b..c6e9c3b 100644 --- a/admin/src/main/java/com/jinrui/reference/admin/controller/NewsController.java +++ b/admin/src/main/java/com/jinrui/reference/admin/controller/NewsController.java @@ -193,6 +193,8 @@ public class NewsController { @GetMapping public PageObject queryNews(@RequestHeader("auth-token") String token, @RequestParam(value = "keyword", required = false) String keyword, + @RequestParam(value = "tag", required = false) String tag, + @RequestParam(value = "industry", required = false) String industry, @RequestParam(value = "minScore", required = false) Double minScore, @RequestParam(value = "maxScore", required = false) Double maxScore, @RequestParam(value = "column", required = false) String columnList, @@ -220,13 +222,13 @@ public class NewsController { } log.info("path: /news, method: GET, request user id: {}, keyword: {}, column: {}, status: {}, " + - "page: {}, size: {}, last: {}, current: {}, orderBy: {}", - adminUser.getId(), keyword, columnList, status, page, size, last, current, orderBy); + "page: {}, size: {}, last: {}, current: {}, orderBy: {}, tag: {}, industry: {}", + adminUser.getId(), keyword, columnList, status, page, size, last, current, orderBy, tag, industry); } catch (Exception e) { log.error("解析登陆Token出错!", e); return PageObject.failedPage(500, "服务端错误,请联系系统管理员!"); } - return newsService.queryNews(keyword, columnList, status, page, size, last, current, orderBy, minScore, maxScore); + return newsService.queryNews(keyword, columnList, status, page, size, last, current, orderBy, minScore, maxScore, tag, industry); } @GetMapping("/score") diff --git a/admin/src/main/resources/application.yml b/admin/src/main/resources/application.yml index d66ab44..5220e0e 100644 --- a/admin/src/main/resources/application.yml +++ b/admin/src/main/resources/application.yml @@ -19,21 +19,22 @@ spring: datasource: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://10.127.2.207:3306/reference?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai - username: financial_prod - password: mmTFncqmDal5HLRGY0BV - # url: jdbc:mysql://121.37.185.246:3306/reference?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai - # username: root - # password: Xgf_8000 +# url: jdbc:mysql://192.168.0.142:3306/reference?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai +# username: financial_prod +# password: mmTFncqmDal5HLRGY0BV + url: jdbc:mysql://121.37.185.246:3306/reference?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai + username: root + password: Xgf_8000 redis: - host: 10.127.2.209 +# host: 192.168.0.172 +# port: 6379 +# password: Xgf_redis + host: 123.60.153.169 port: 6379 - password: dMrt4kmwiW6LDJXy - #host: 123.60.153.169 - #port: 6379 - #password: Xgf_redis + password: Xgf_redis elasticsearch: scheme: http + # 111.13.176.3 host: 10.127.2.194 port: 9200 enable: true @@ -42,4 +43,4 @@ elasticsearch: mybatis: type-handlers-package:com.jinrui.reference.core.typehandler api: - key: WBysu6N1z26AbA12l \ No newline at end of file + key: WBysu6N1z26AbA12l \ No newline at end of file diff --git a/admin/src/main/resources/sql/20250613.sql b/admin/src/main/resources/sql/20250613.sql new file mode 100644 index 0000000..c27b167 --- /dev/null +++ b/admin/src/main/resources/sql/20250613.sql @@ -0,0 +1 @@ +alter table tag add level tinyint after name; \ No newline at end of file diff --git a/admin/src/main/resources/全量资讯库相关脚本.sql b/admin/src/main/resources/sql/全量资讯库相关脚本.sql similarity index 100% rename from admin/src/main/resources/全量资讯库相关脚本.sql rename to admin/src/main/resources/sql/全量资讯库相关脚本.sql diff --git a/core/src/main/java/com/jinrui/reference/core/mapper/NewsMapper.java b/core/src/main/java/com/jinrui/reference/core/mapper/NewsMapper.java index ea5685c..71956f7 100644 --- a/core/src/main/java/com/jinrui/reference/core/mapper/NewsMapper.java +++ b/core/src/main/java/com/jinrui/reference/core/mapper/NewsMapper.java @@ -100,6 +100,18 @@ public interface NewsMapper { "" + "inner join news_column_rel on news.id = news_column_rel.news_id " + "" + + "" + + " inner join news_tag_rel on news.id = news_tag_rel.news_id and tag_id in " + + "\n" + + "#{id}\n" + + "" + + "" + + "" + + " inner join news_industry_rel on news.id = news_industry_rel.news_id and industry_id in " + + "\n" + + "#{id}\n" + + "" + + "" + " left join news_tags on news.newsinfo_id = news_tags.newsinfo_id " + "" + "" + @@ -134,13 +146,27 @@ public interface NewsMapper { @Param("last") Integer last, @Param("orderBy") String orderBy, @Param("limit") int limit, - @Param("offset") int offset); + @Param("offset") int offset, + @Param("tags") List tags, + @Param("industries") List industries); @Select("