提交 c4ffb0c5 作者: yanxin

1、整合nacos和openFeign

2、专家库字段完善
上级 2f0acdd3
......@@ -5,7 +5,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.5.RELEASE</version>
<version>2.7.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zzsn</groupId>
......@@ -17,6 +17,13 @@
<java.version>1.8</java.version>
<!--打包跳过测试-->
<maven.test.skip>true</maven.test.skip>
<hutool.version>5.8.11</hutool.version>
<lombok.version>1.18.6</lombok.version>
<mybatis-plus.version>3.3.2</mybatis-plus.version>
<dynamic-datasource.version>2.5.4</dynamic-datasource.version>
<druid.version>1.1.17</druid.version>
<fastjson.version>2.0.26</fastjson.version>
<nacos.version>2021.0.1.0</nacos.version>
</properties>
<dependencies>
<dependency>
......@@ -24,38 +31,60 @@
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--测试类-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.10</version>
</dependency>
<!--mybatis plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>${dynamic-datasource.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
<scope>runtime</scope>
</dependency>
<!-- druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<!-- es-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>4.0.5.RELEASE</version>
</dependency>
<!-- excel工具包 -->
......@@ -81,35 +110,29 @@
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.8</version>
<version>${hutool.version}</version>
</dependency>
<!-- json-->
<!-- json -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.25</version>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>2.3.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<!--<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.0</version>
</dependency>
</dependency>-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
......@@ -126,6 +149,30 @@
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- nacos 服务的注册发现 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${nacos.version}</version>
</dependency>
<!-- nacos 配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${nacos.version}</version>
</dependency>
<!-- openfeign依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>3.1.1</version>
</dependency>
<!-- openfeign负载均衡依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
<version>3.1.1</version>
</dependency>
</dependencies>
<build>
......@@ -149,5 +196,27 @@
</resource>
</resources>
</build>
<!-- 环境 -->
<profiles>
<!-- 基础单体环境 -->
<profile>
<id>base</id>
<activation>
<!--默认激活配置-->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!--当前环境-->
<profile.name>base</profile.name>
</properties>
</profile>
<!-- 整合nacos作为配置中心,注册中心 -->
<profile>
<id>nacos</id>
<properties>
<!--当前环境-->
<profile.name>nacos</profile.name>
</properties>
</profile>
</profiles>
</project>
package com.zzsn.leaderbase.config;
import com.alibaba.nacos.api.exception.NacosException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
//根据当前环境判断是否启用nacos配置
@Configuration
@ConditionalOnProperty(prefix = "spring.profiles",value = "active",havingValue = "nacos")
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.zzsn.leaderbase.feign.api")
public class NacosConfig {
private static final Logger log = LoggerFactory.getLogger(NacosConfig.class);
@Value("${spring.application.name}")
private String serviceName;
@PostConstruct
public void registerInstance() throws NacosException {
log.info("nacos服务注册成功:{}",serviceName);
}
}
......@@ -86,6 +86,20 @@ public class CharacterBasicInfo extends Model<CharacterBasicInfo> {
private Integer sort;
//是否主条目(1-主条目;0-非主条目)
private Integer mainEntry;
//顶尖专家/领军专家
private String expertType;
//研究领域
private String researchField;
//已选入的人才计划
private String talentPlanning;
//专业技术职称
private String technicalTitles;
//专业技术职称取得时间
private String technicalDate;
//参加工作时间
private String workDate;
//创建人
private String createBy;
//创建时间
......
package com.zzsn.leaderbase.util;
import cn.hutool.core.net.URLDecoder;
import com.alibaba.fastjson.JSON;
import lombok.Data;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
/**
* @Description: 并发调用限制工具
* @Author: jeecg-boot
* @Date: 2024-01-04
* @Version: V1.0
*/
@Data
public class AuthUtil {
public final static String LOGIN_USER_HEADER = "loginUser";
static SimpleDateFormat format;
public static LoginUser getLoginUser() {
try {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String userInfo = URLDecoder.decode(request.getHeader(LOGIN_USER_HEADER), StandardCharsets.UTF_8);
return JSON.parseObject(userInfo, LoginUser.class);
}catch (Exception e){
return null;
}
}
/**
* 检查是否可以访问
* @param code 服务编码
* @return null:无有效记录,true:可以访问,false:不能访问
*/
public static Boolean checkVisit(String code, HttpServletRequest request){
return null;
}
}
......@@ -35,10 +35,7 @@ import org.elasticsearch.client.core.MainResponse;
import org.elasticsearch.client.indices.CreateIndexRequest;
import org.elasticsearch.client.indices.CreateIndexResponse;
import org.elasticsearch.client.indices.GetIndexRequest;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.core.TimeValue;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
......@@ -61,6 +58,9 @@ import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.search.collapse.CollapseBuilder;
import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
import org.elasticsearch.search.sort.SortOrder;
import org.elasticsearch.xcontent.XContentBuilder;
import org.elasticsearch.xcontent.XContentFactory;
import org.elasticsearch.xcontent.XContentType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
......
package com.zzsn.leaderbase.util;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/**
* <p>
* 在线用户信息
* </p>
*
* @Author scott
* @since 2018-12-20
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class LoginUser {
/**
* 登录人id
*/
private String id;
/**
* 登录人账号
*/
private String username;
/**
* 登录人名字
*/
private String realname;
/**
* 登录人密码
*/
private String password;
/**
* md5密码盐
*/
private String salt;
/**
* 当前登录部门code
*/
private String orgCode;
/**
* 头像
*/
private String avatar;
/**
* 生日
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date birthday;
/**
* 性别(1:男 2:女)
*/
private Integer sex;
/**
* 电子邮件
*/
private String email;
/**
* 电话
*/
private String phone;
/**
* 状态(1:正常 2:冻结 )
*/
private Integer status;
private Integer delFlag;
/**
* 同步工作流引擎1同步0不同步
*/
private Integer activitiSync;
/**
* 创建时间
*/
private Date createTime;
/**
* 身份(1 普通员工 2 上级)
*/
private Integer userIdentity;
/**
* 管理部门ids
*/
private String departIds;
/**
* 职务,关联职务表
*/
private String post;
/**
* 座机号
*/
private String telephone;
/**多租户id配置,编辑用户的时候设置*/
private String relTenantIds;
/**设备id uniapp推送用*/
private String clientId;
/**1-超级用户;2-普通用户;3-管理员用户(租户下)*/
private Integer category;
private List<String> roles;
/**用户绑定的角色所属的项目的id集合*/
List<String> projectIds;
}
spring:
servlet:
multipart:
#单个上传文件大小
max-file-size: 100MB
#总上传文件大小
max-request-size: 1000MB
main:
allow-circular-references: true
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
datasource:
druid:
stat-view-servlet:
enabled: false
loginUsername: admin
loginPassword: '*@!#ZZsn.9988'
allow:
web-stat-filter:
enabled: false
connection-error-retry-attempts: 0
dynamic:
druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
# 连接池的配置信息
# 初始化大小,最小,最大
initial-size: 5
min-idle: 5
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,slf4j
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource:
master:
driver-class-name: com.mysql.cj.jdbc.Driver
#url: jdbc:mysql://192.168.0.52:3306/clb_project?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
url: jdbc:mysql://1.95.14.228:3306/clb_project?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: ciglobal
password: _PSuWVQ4CLpX
elasticsearch:
rest:
uris: ["1.95.3.121"]
username: elastic
password: zzsn9988
redis:
database: 0
host: 1.95.69.2
password: RPHZgkDQ4zGJ
port: 6380
kafka:
bootstrap-servers: 1.95.78.131:9092
consumer:
group-id: groupName
auto-offset-reset: earliest
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
python:
getInfoUrl: http://1.95.72.159:1818/update_extraction/
# getInfoUrl: http://192.168.1.116:1818/update_extraction/
es1:
endpoint1: 1.95.38.69
endpoint1port: 9700
endpoint2: 1.95.87.177
endpoint2port: 9700
endpoint3: 1.95.3.121
endpoint3port: 9200
username: elastic
password: zzsn9988
mybatis-plus:
mapper-locations: mapper/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true
sys_base_label_type_id: 1772144267639111681
\ No newline at end of file
spring:
config:
# nacos配置中心必须加此项配置,否则会因为配置文件加载顺序原因导致配置中心配置无效
import: "optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}?group=${spring.cloud.nacos.config.group}"
cloud:
nacos:
# nacos 服务注册
discovery:
enabled: true
server-addr: nacos:8848
namespace: # 命名空间
# nacos 配置中心
config:
username: nacos
password: nacos
server-addr: nacos:8848
namespace: # 命名空间
group: clb-service
prefix: ${spring.application.name} # 配置前缀,默认是应用名
file-extension: yaml
......@@ -2,55 +2,20 @@ server:
port: 9098
servlet:
context-path: /userserver
spring:
servlet:
multipart:
#单个上传文件大小
max-file-size: 100MB
#总上传文件大小
max-request-size: 1000MB
datasource:
url: jdbc:mysql://114.116.44.11:3306/clb_project?useUnicode=true&characterEncoding=utf-8&AllowPublicKeyRetrieval=True&serverTimezone=Asia/Shanghai&autoReconnect=true&rewriteBatchedStatements=true
username: ciglobal
password: _PSuWVQ4CLpX
elasticsearch:
rest:
uris: ["1.95.3.121"]
username: elastic
password: zzsn9988
redis:
database: 0
host: 114.116.90.53
password: RPHZgkDQ4zGJ
port: 6380
kafka:
bootstrap-servers: 1.95.78.131:9092
consumer:
group-id: groupName
auto-offset-reset: earliest
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
python:
getInfoUrl: http://1.95.72.159:1818/update_extraction/
# getInfoUrl: http://192.168.1.116:1818/update_extraction/
es1:
endpoint1: 1.95.38.69
endpoint1port: 9700
endpoint2: 1.95.87.177
endpoint2port: 9700
endpoint3: 1.95.3.121
endpoint3port: 9200
username: elastic
password: zzsn9988
mybatis-plus:
mapper-locations: mapper/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true
profiles:
active: @profile.name@
application:
name: leader-base
main:
allow-bean-definition-overriding: true
cloud:
nacos:
discovery:
#默认禁用nacos注册发现
enabled: false
sys_base_label_type_id: 1772144267639111681
\ No newline at end of file
# datasource:
# url: jdbc:mysql://1.95.14.228:3306/clb_project?useUnicode=true&characterEncoding=utf-8&AllowPublicKeyRetrieval=True&serverTimezone=Asia/Shanghai&autoReconnect=true&rewriteBatchedStatements=true
# username: ciglobal
# password: _PSuWVQ4CLpX
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论