# 常用模块
**Repository Path**: a65625460/common-modules
## Basic Information
- **Project Name**: 常用模块
- **Description**: 用户保存常用的模块
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-12-08
- **Last Updated**: 2022-12-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 常用模块
## ES查询模块
### 模块名
common-es-0
### 功能
提供一个ES的查询框架
可打包后在其他SpringBoot项目中通过Maven引入
```xml
com.dong
common-es-0
0.0.1-SNAPSHOT
```
### 说明
1. 包含对象:
1. EsViewDTO:用户操作的对象,需要实现该抽象类
2. EsBaseDTO:ES查询的参数对象,通过 EsViewDTO#build 转换而来
3. EsResult:ES查询结束后返回的结果对象
2. 操作流程
1. 创建类继承 EsViewDTO 对象,添加注解来指定查询参数
2. 创建类继承 EsBaseDTO 对象,添加对ES索引中字段的映射
3. 编写查询代码
1. 创建 EsViewDTO 的子类对象,填充查询参数
2. 调用 EsViewDTO#build 获取 EsBaseDTO 的子类对象
3. 调用 EsService#doQueryCommon 方法开始查询并获取返回对象 EsResult
3. 样例代码:com.dong.example
### 依赖
可以自行调整版本
```xml
2.6.2
8.2.2
3.10
2.0.1
1.2.83
2.9.2
org.apache.commons
commons-pool2
${commons-pool2.version}
org.elasticsearch
elasticsearch
${elasticsearch.version}
co.elastic.clients
elasticsearch-java
${elasticsearch.version}
org.elasticsearch.client
elasticsearch-rest-client-sniffer
${elasticsearch.version}
org.apache.commons
commons-lang3
${commons-lang3.version}
com.alibaba
fastjson
${fastjson.version}
jakarta.json
jakarta.json-api
${jakarta-json.version}
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
```
### 配置
```yml
# ES 配置
es:
# ES地址(需要加端口号),多个地址使用,分隔
hosts:
- 127.0.0.1:9200
- 192.168.33.16:9200
# 用户名
username: elastic
# 密码
password: elastic
# 是否打印输出语句
print: true
# 是否开启SSL查询
ssl: true
# 排除springboot集成的 ElasticsearchRestClientAutoConfiguration
# 如果不排除会自动开启 sniff 任务,并且访问 127.0.0.1 地址导致报错
# sniff 会定时去读取集群中所有节点的地址,并更新到ES请求的备选节点中
spring:
autoconfigure:
exclude:
- org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration
```
### 扩展
本模块提供了一些线程的参数查询的类,如需实现特殊需求,需要自行扩展,扩展步骤如下:
1. 创建类继承 DTOCastMethod,并重写父类方法
2. 创建类继承 EsSearchParam 的对应的子类,并重写父类方法
1. EsAggsParam:聚合相关
2. EsSortParam:排序相关
3. EsPageParam:分页相关
4. EsQueryParam:查询相关
5. EsSourceParam:显示字段相关
方法实现方式可以参考已有的子类
实现完成后,可以通过注解 DTOCastAnno 在 EsViewDTO 子类对象上面使用
## Redis模块
### 模块名
common-redis-0
### 功能
提供redis的操作模块
可打包后在其他SpringBoot项目中通过Maven引入
```xml
com.dong
common-redis-0
0.0.1-SNAPSHOT
```
### 说明
1. 注入 RedisService 对象
2. 通过 RedisService#getResource 获取 jedis对象
3. 使用完毕,调用 RedisService#returnResource 归还对象
### 依赖
可以自行调整版本
```xml
2.9.0
redis.clients
jedis
${jedis.version}
```
### 配置
```yml
# redis配置
redis:
# redis 地址
host: 127.0.0.1
# redis 端口
port: 6379
# 密码
password: 123456
# 需要使用到的db,用,隔开
dbs: 0,1
```