From 4c453de7d2445ef8666966dc0974ab5c9096f8e3 Mon Sep 17 00:00:00 2001 From: yz <3614508250@qq.com> Date: Thu, 4 Jul 2024 09:01:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=87=8D=E5=BA=86=E4=BA=8C?= =?UTF-8?q?=E5=B8=88=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-druid.yml | 141 +++++++++++++++--- .../src/main/resources/application.yml | 26 ++-- .../controller/DocInfoController.java | 30 +++- .../business/service/DocInfoService.java | 4 + .../ElasticsearchMonitorProperties.java | 2 +- .../biemo/elasticsearch/util/EsService.java | 4 + .../src/main/resources/hanlp.properties | 49 ++++++ .../ruoyi/system/mapper/SysDeptMapper.java | 6 +- .../service/impl/SysUserServiceImpl.java | 19 ++- .../resources/mapper/system/SysDeptMapper.xml | 3 + 10 files changed, 237 insertions(+), 47 deletions(-) create mode 100644 ruoyi-biemo/src/main/resources/hanlp.properties diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index 541794b..55f1f5a 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -1,21 +1,122 @@ +### 数据源配置 +#spring: +# data: +# mongodb: +# database: makesoft +## host: 39.108.144.227 +## port: 1471 +# host: 120.78.220.29 +# port: 27017 +# username: makesoft +# password: makesoft +## host: 118.31.7.2 +## port: 27017 +## username: root +## password: root +# #elasticsearch: +# #rest: +# #uris: http://39.108.144.227:9200 +# +# datasource: +# type: com.alibaba.druid.pool.DruidDataSource +# driverClassName: com.mysql.cj.jdbc.Driver +# druid: +# # 主库数据源 +# master: +# url: jdbc:mysql://120.78.220.29:3306/makesoft?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 +# username: root +# password: Biemo123 +## url: jdbc:mysql://39.108.144.227:1637/makesoft?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 +## username: root +## password: Biemo123 +## url: jdbc:mysql://118.31.7.2:3306/makesoft?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 +## username: root +## password: sztzjy2017 +# # 从库数据源 +# slave: +# # 从数据源开关/默认关闭 +# enabled: false +# url: +# username: +# password: +# # 初始连接数 +# initialSize: 5 +# # 最小连接池数量 +# minIdle: 10 +# # 最大连接池数量 +# maxActive: 20 +# # 配置获取连接等待超时的时间 +# maxWait: 120000 +# # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 +# timeBetweenEvictionRunsMillis: 120000 +# # 配置一个连接在池中最小生存的时间,单位是毫秒 +# minEvictableIdleTimeMillis: 600000 +# # 配置一个连接在池中最大生存的时间,单位是毫秒 +# maxEvictableIdleTimeMillis: 1800000 +# # 配置检测连接是否有效 +# validationQuery: SELECT 1 FROM DUAL +# testWhileIdle: true +# testOnBorrow: false +# testOnReturn: false +# webStatFilter: +# enabled: true +# statViewServlet: +# enabled: true +# # 设置白名单,不填则允许所有访问 +# allow: +# url-pattern: /druid/* +# # 控制台管理用户名和密码 +# login-username: ruoyi +# login-password: 123456 +# filter: +# stat: +# enabled: true +# # 慢SQL记录 +# log-slow-sql: true +# slow-sql-millis: 1000 +# merge-sql: true +# wall: +# config: +# multi-statement-allow: true +# +#elasticsearch: +# schema: http +# address: 120.78.220.29:9200 +## address: 39.108.144.227:3135 +## address: 118.31.7.2:9200 +# connectTimeout: 10000 +# socketTimeout: 10000 +# connectionRequestTimeout: 10000 +# maxConnectNum: 100 +# maxConnectPerRoute: 100 +## username: elastic +## password: es@test001 +# +#sso: +# apiUrl: http://test.vsp.cqooc.com/open/api/v2/oauth/token?appId={APPID}&signature={SIGNATURE}&ticket={TICKET} +# password: admin123 +# secretKey: 4ce36bf549d64d44b6cbc48e926abb05 +# appId: cb00a3e26b963b25e28cae6e046f1190 +#report: +# uploadUrl: http://test.vsp.cqooc.com/open/api/v2/upload/data +# refreshUrl: http://test.vsp.cqooc.com/open/api/v2/oauth/refresh?token=TOKEN&appid=APPID&signature=SIGNATURE +# validateUrl: http://vsp.cqooc.com/open/api/v2/oauth/validate?username=USERNAME&password=PASSWORD&nonce=NONCE&cnonce=CNONCE&appid=APPID&signature=SIGNATURE +# uploadAttachmentUrl: http://test.vsp.cqooc.com/open/api/v2/upload/attachment?access_token=ACCESS_TOKEN&appid=APPID&originId=ORIGINID&filename=FILENAME&title=TITLE&remarks=REMARKS +# getReportListUrl: http://test.vsp.cqooc.com/open/api/v2/query/data?appId=APPID&accessToken=ACCESS_TOKEN&signature=SIGNATURE + + +##################重庆二师配置 +# 项目相关配置 # 数据源配置 spring: data: mongodb: database: makesoft -# host: 39.108.144.227 -# port: 1471 - host: 120.78.220.29 + host: 10.3.116.99 port: 27017 username: makesoft password: makesoft -# host: 118.31.7.2 -# port: 27017 -# username: root -# password: root - #elasticsearch: - #rest: - #uris: http://39.108.144.227:9200 + datasource: type: com.alibaba.druid.pool.DruidDataSource @@ -23,15 +124,9 @@ spring: druid: # 主库数据源 master: -# url: jdbc:mysql://120.78.220.29:3306/makesoft?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 -# username: root -# password: Biemo123 - url: jdbc:mysql://39.108.144.227:1637/makesoft?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://10.3.116.99:3306/makesoft?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: Biemo123 -# url: jdbc:mysql://118.31.7.2:3306/makesoft?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 -# username: root -# password: sztzjy2017 # 从库数据源 slave: # 从数据源开关/默认关闭 @@ -40,11 +135,11 @@ spring: username: password: # 初始连接数 - initialSize: 5 + initialSize: 10 # 最小连接池数量 minIdle: 10 # 最大连接池数量 - maxActive: 20 + maxActive: 100 # 配置获取连接等待超时的时间 maxWait: 120000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 @@ -81,16 +176,14 @@ spring: elasticsearch: schema: http - address: 120.78.220.29:9200 -# address: 39.108.144.227:3135 -# address: 118.31.7.2:9200 + address: 10.3.116.99:9200 connectTimeout: 10000 socketTimeout: 10000 connectionRequestTimeout: 10000 maxConnectNum: 100 maxConnectPerRoute: 100 -# username: elastic -# password: es@test001 + username: elastic + password: es@test001 sso: apiUrl: http://test.vsp.cqooc.com/open/api/v2/oauth/token?appId={APPID}&signature={SIGNATURE}&ticket={TICKET} diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index e80942f..60ad34f 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -18,7 +18,7 @@ ruoyi: # 开发环境配置 server: # 服务器的HTTP端口,默认为8080 - port: 7777 + port: 8888 servlet: # 应用的访问路径 context-path: / @@ -62,17 +62,11 @@ spring: # redis 配置 redis: # 地址 -# host: 39.108.144.227 -# host: 39.108.144.227 - host: localhost - # 端口,默认为6379 -# port: 1135 +# host: 120.78.220.29 +# port: 6379 + host: 10.3.116.99 port: 6379 - # 数据库索引 -# database: 0 - # 密码 -# password: 123@Biemo.com -# password: '' + # 连接超时时间 timeout: 10s lettuce: @@ -126,13 +120,17 @@ xss: # 匹配链接 urlPatterns: /system/*,/monitor/*,/tool/* -## 文件存储 + + + +# 文件存储 #file: # type: local -# path: /usr/local/tianzeProject/foreignExchange/uploadFile +# path: D:/home/planting_inspect/file -# 文件存储 +# +## 文件存储 file: type: local path: /usr/local/textjar/upload/uploadReport \ No newline at end of file diff --git a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java index 392bf56..74c49c6 100644 --- a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java +++ b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java @@ -9,14 +9,12 @@ import com.hankcs.hanlp.corpus.document.sentence.word.Word; import com.hankcs.hanlp.dictionary.CustomDictionary; import com.hankcs.hanlp.seg.Segment; import com.hankcs.hanlp.seg.common.Term; -import com.ruoyi.biemo.business.domain.Category; -import com.ruoyi.biemo.business.domain.DocInfo; -import com.ruoyi.biemo.business.domain.EmotionResult; -import com.ruoyi.biemo.business.domain.WordCloudItem; +import com.ruoyi.biemo.business.domain.*; import com.ruoyi.biemo.business.service.CategoryService; import com.ruoyi.biemo.business.service.DocInfoService; import com.ruoyi.biemo.core.page.Page; import com.ruoyi.biemo.core.page.PageFactory; +import com.ruoyi.biemo.mongodb.utils.MongoHelper; import com.ruoyi.biemo.nlp.DependencyParserUtils; import com.ruoyi.biemo.nlp.TextClassificationUtils; import com.ruoyi.biemo.utils.MyObjects; @@ -34,6 +32,7 @@ import org.springframework.data.mongodb.core.query.Update; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import javax.swing.plaf.synth.SynthOptionPaneUI; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; @@ -56,6 +55,27 @@ public class DocInfoController extends BaseController { private DocInfoService docInfoService; @Autowired private CategoryService categoryService; + @Autowired + private MongoHelper mongoHelper; + + @GetMapping("/test") + public void test(){ + List all2 = mongoHelper.findAll(Report.class); + System.out.println("ZZZ1:"+all2.size()); + System.out.println("ZZZ11:"+all2.get(0).getId()); + List all1 = mongoHelper.findAll(Category.class); + System.out.println("ZZZ2:"+all1.size()); + System.out.println("ZZZ22:"+all1.get(0).getId()); + List all = mongoHelper.findAll(DocInfo.class); + System.out.println("ZZZ3:"+all.size()); + System.out.println("ZZZ33:"+all.get(0).getId()); + DocInfo byId1 = mongoTemplate.findById("648c3996656fae4c70ccde97", DocInfo.class); + System.out.println("BBBDDD:"+byId1); + System.out.println("BBBDDD:"+byId1.getId()); + DocInfo byId = mongoHelper.findById("648c3996656fae4c70ccde97", DocInfo.class); + System.out.println("bbb:"+byId); + System.out.println("bbb:"+byId.getId()); + } /** * 查询文章管理列表 @@ -65,6 +85,8 @@ public class DocInfoController extends BaseController { public Page list(DocInfo docInfo) { Page page = docInfoService.selectDocInfoPage(docInfo,PageFactory.defaultPage()); + System.out.println(page.getRows().get(0)); + List rows = page.getRows(); page.getRows().forEach(doc->{ Category category = new Category(); category = categoryService.selectCategoryById(doc.getCateId()); diff --git a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/service/DocInfoService.java b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/service/DocInfoService.java index 04d531c..c561f95 100644 --- a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/service/DocInfoService.java +++ b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/service/DocInfoService.java @@ -58,7 +58,11 @@ public class DocInfoService extends EsService { @Override protected DocInfo loadData(SearchSourceBuilder context, SearchHit hit) { String id = hit.getId(); + System.out.println("id:"+id); + System.out.println("TTTT:"+id+"TTTT"); if (Objects.isNull(id) || StringUtil.isEmpty(id)) return null; + DocInfo byId = mongoHelper.findById(id, DocInfo.class); + System.out.println("mongo:"+byId.getId()); return mongoHelper.findById(id, DocInfo.class); } diff --git a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/elasticsearch/entity/ElasticsearchMonitorProperties.java b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/elasticsearch/entity/ElasticsearchMonitorProperties.java index 0364779..25fed81 100644 --- a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/elasticsearch/entity/ElasticsearchMonitorProperties.java +++ b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/elasticsearch/entity/ElasticsearchMonitorProperties.java @@ -55,7 +55,7 @@ public class ElasticsearchMonitorProperties { // public String getUserName() { // return userName; // } -// + // public void setUserName(String userName) { // this.userName = userName; // } diff --git a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/elasticsearch/util/EsService.java b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/elasticsearch/util/EsService.java index b0318fe..171ebf3 100644 --- a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/elasticsearch/util/EsService.java +++ b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/elasticsearch/util/EsService.java @@ -375,6 +375,7 @@ public abstract class EsService { try { List content = new ArrayList<>(); Long total = search(content,builder); + System.out.println("*****:"+content.get(0).getId()); List res = new ArrayList<>(); if(searchFrom){ res = sequenceLoadData(content); @@ -438,6 +439,9 @@ public abstract class EsService { }else{ searchResponse = client.search(searchRequest, RequestOptions.DEFAULT); SearchHits hits = searchResponse.getHits(); + System.out.println(index); + SearchHit[] hits1 = hits.getHits(); + System.out.println(hits1[0].getId()); total = hits.getTotalHits().value; // 不分页情况下 总条数超过10000 if(total>MAX_RESULT_WINDOW&&flag){ diff --git a/ruoyi-biemo/src/main/resources/hanlp.properties b/ruoyi-biemo/src/main/resources/hanlp.properties new file mode 100644 index 0000000..79877b6 --- /dev/null +++ b/ruoyi-biemo/src/main/resources/hanlp.properties @@ -0,0 +1,49 @@ +# Root path of data +root=/usr/local/textjar/analysis-hanlp/ +#root=D:/tianze/文本大数据/analysis-hanlp/ + + +# Core dictionary path +CoreDictionaryPath=data/dictionary/CoreNatureDictionary.txt + +# BiGram dictionary path +BiGramDictionaryPath=data/dictionary/CoreNatureDictionary.ngram.txt + +# Core stop word dictionary path +CoreStopWordDictionaryPath=data/dictionary/stopwords.txt + +# Core synonym dictionary path +CoreSynonymDictionaryDictionaryPath=data/dictionary/synonym/CoreSynonym.txt + +# Person name dictionary path +PersonDictionaryPath=data/dictionary/person/nr.txt + +# Person name dictionary tr path +PersonDictionaryTrPath=data/dictionary/person/nr.tr.txt + +# Tc dictionary root path +tcDictionaryRoot=data/dictionary/tc + +# Custom dictionary path +CustomDictionaryPath=data/dictionary/custom/CustomDictionary.txt; ModernChineseSupplementaryWord.txt; ChinesePlaceName.txt ns; PersonalName.txt; OrganizationName.txt; ShanghaiPlaceName.txt ns;data/dictionary/person/nrf.txt nrf; + +# HMM segment model path +#HMMSegmentModelPath=data/model/segment/HMMSegmentModel.bin + +# True of false show term nature +#ShowTermNature=true + +# IO Adapter +##IOAdapter=com.hankcs.hanlp.corpus.io.FileIOAdapter + +#感知机词法分析器 +PerceptronCWSModelPath=data/model/perceptron/pku199801/cws.bin +PerceptronPOSModelPath=data/model/perceptron/pku199801/pos.bin +PerceptronNERModelPath=data/model/perceptron/pku199801/ner.bin + +#CRF词法分析器 +CRFCWSModelPath=data/model/crf/pku199801/cws.txt.bin +CRFPOSModelPath=data/model/crf/pku199801/pos.txt.bin +CRFNERModelPath=data/model/crf/pku199801/ner.txt.bin + +#更多配置项请参考 https://github.com/hankcs/HanLP/blob/master/src/main/java/com/hankcs/hanlp/HanLP.java#L59 自行添加 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java index 9ddd2f1..67e5efe 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java @@ -3,7 +3,9 @@ package com.ruoyi.system.mapper; import java.util.List; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; + +import cn.hutool.db.meta.JdbcType; +import org.apache.ibatis.annotations.*; import com.ruoyi.common.core.domain.entity.SysDept; /** @@ -118,4 +120,6 @@ public interface SysDeptMapper * @return 结果 */ public int deleteDeptById(Long deptId); + + SysDept selectDeptByDeptName(@Param("stuClass") String stuClass); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 29b489e..42e753d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.system.service.impl; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.exception.ServiceException; @@ -66,6 +67,9 @@ public class SysUserServiceImpl implements ISysUserService @Autowired SysRoleDeptMapper roleDeptMapper; + @Autowired + SysDeptMapper deptMapper; + /** * 根据条件分页查询用户列表 * @@ -258,7 +262,10 @@ public class SysUserServiceImpl implements ISysUserService public int insertUser(SysUser user) { // 新增用户信息 String deptName = roleDeptMapper.selectNameById(user.getDeptId()); - user.setStuClass(deptName); + if("".equals(deptName) || deptName==null){ + }else { + user.setStuClass(deptName); + } int rows = userMapper.insertUser(user); // 新增用户岗位关联 insertUserPost(user); @@ -510,22 +517,28 @@ public class SysUserServiceImpl implements ISysUserService { // 验证是否存在这个用户 SysUser u = userMapper.selectUserByUserName(user.getUserName()); - if (StringUtils.isNull(u)) + // 验证班级是否存在 + SysDept dept=deptMapper.selectDeptByDeptName(user.getStuClass()); + if (StringUtils.isNull(u) && StringUtils.isNotNull(dept)) { BeanValidators.validateWithException(validator, user); user.setPassword(SecurityUtils.encryptPassword(password)); user.setCreateBy(operName); + user.setDeptId(dept.getDeptId()); this.insertUser(user); successNum++; successMsg.append("
" + successNum + "、账号 " + user.getUserName() + " 导入成功"); } - else if (isUpdateSupport) + else if (isUpdateSupport && StringUtils.isNotNull(dept)) { BeanValidators.validateWithException(validator, user); user.setUpdateBy(operName); this.updateUser(user); successNum++; successMsg.append("
" + successNum + "、账号 " + user.getUserName() + " 更新成功"); + }else if( StringUtils.isNull(dept)){ + failureNum++; + failureMsg.append("
" + failureNum + "、班级不存在"); } else { diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml index b01bb32..d9297cb 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -79,6 +79,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +