# manual-translator-plugin
**Repository Path**: manual-translator/manual-translator-plugin
## Basic Information
- **Project Name**: manual-translator-plugin
- **Description**: 基础组件
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-02-26
- **Last Updated**: 2022-03-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# manual-translator-plugin
## 介绍
基础组件
## 软件架构
为manual-translator项目提供基础组件服务
## 使用说明
### email-plugin 邮件组件
#### 使用
**引入jar包**
```xml
com.mt
translator-plugin-email-starter
1.0-SNAPSHOT
```
**配置yml文件**
```yaml
mt:
plugin:
email:
mail-server-host: smtp.qq.com
mail-server-port: 465
mail-sender-address: XXXXXX
mail-sender-username: XXXXXX
mail-sender-password: XXXXXX
mail-sender-nick: XXXXXX
ssl: true
```
**代码**
```java
// 注入emailSender对象
@Autowired
private EmailSender emailSender;
// 发送邮件
public BaseResult> sendEmail() {
// 发送邮件
MailInfo mailInfo = new MailInfo();
mailInfo.setContent("
sendHtmlEmail测试内容
");
mailInfo.setSubject("hybrid激活邮件");
mailInfo.addAddressee("1311220942@qq.com");
emailSender.sendHtmlEmail(mailInfo);
return BaseResult.success();
}
```
### prevent-repeat-plugin 防重复提交组件
#### 使用
**引入jar包**
```xml
com.mt
translator-plugin-prevent-repeat-starter
1.0-SNAPSHOT
```
**配置yml文件**
```yaml
mt:
plugin:
prevent-repeat:
token-key:
```
**代码**
```java
// 加上注解设置重复请求超时时间(ms)
@PreventRepeat(5000)
@RequestMapping("/preventRepeatDemo")
public BaseResult> preventRepeatDemo(PreventRepeatParam repeatParam) {
return BaseResult.success();
}
```
### redis-plugin redis多数据源组件
#### 使用
**引入jar包**
```xml
com.mt
translator-plugin-redis-starter
1.0-SNAPSHOT
```
**配置yml文件**
```yaml
mt:
plugin:
redis:
data-sources:
redis01:
host: localhost
port: 6379
database: 10
lettuce:
pool:
max-active: 8
max-idle: 8
min-idle: 0
```
**代码**
```java
// 注入redisTemplate(注入到容器中的对象名会根据数据源名称进行拼接)
@Resource
private StringRedisTemplate redis01StringRedisTemplate;
@Resource
private RedisTemplate redis01RedisTemplate;
```
### validate-plugin 参数验证组件
#### 使用
**引入jar包**
```xml
com.mt
translator-plugin-validate-starter
1.0-SNAPSHOT
```
**代码**
```java
// 本组件基于jsr303进行扩展,使用参考jsr303
@RequestMapping("/validateDemo")
public BaseResult> validateDemo(@Validated ValidateDemoParam param) {
return BaseResult.success(param);
}
/**
* ValidateDemo 参数
*/
@Setter
@Getter
public class ValidateDemoParam implements Serializable {
@NotNull(message = "ID不能为空!")
private Integer id;
@NotBlank(message = "名称不能为空!")
private String name;
@NotNull(message = "number不能为空!")
@IntValue(message = "非法的number参数!", values = {1, 2, 3})
private Integer number;
@Valid // 子对象验证需要加valid
@Size(message = "子列表不能为空!", min = 1)
private List childrenList;
}
/**
* 子类
*/
@Setter
@Getter
class Children implements Serializable {
@NotBlank(message = "子名称不能为空!")
private String childrenName;
}
```