@llryiop/avatar-boot-cli 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/exam-question-generate-api.md +163 -0
- package/package.json +1 -1
- package/src/prompts.js +3 -3
- package/src/transform.js +1 -1
- package/templates/.claude/skills/avatar-boot-starter-feign/README.md +243 -0
- package/templates/.claude/skills/avatar-boot-starter-feign/SKILL.md +47 -219
- package/templates/.claude/skills/avatar-boot-starter-feign/references//345/212/237/350/203/275/350/257/246/350/247/243.md +65 -0
- package/templates/.claude/skills/avatar-boot-starter-feign/references//345/277/253/351/200/237/346/216/245/345/205/245/346/214/207/345/215/227.md +75 -0
- package/templates/.claude/skills/avatar-boot-starter-feign/references//351/205/215/347/275/256/345/217/202/350/200/203.md +70 -0
- package/templates/.claude/skills/avatar-boot-starter-job/README.md +437 -0
- package/templates/.claude/skills/avatar-boot-starter-job/SKILL.md +35 -414
- package/templates/.claude/skills/avatar-boot-starter-job/references//345/270/270/350/247/201/351/227/256/351/242/230.md +55 -0
- package/templates/.claude/skills/avatar-boot-starter-job/references//345/277/253/351/200/237/346/216/245/345/205/245/344/270/216/351/205/215/347/275/256.md +124 -0
- package/templates/.claude/skills/avatar-boot-starter-job/references//347/233/221/346/216/247/346/214/207/346/240/207.md +72 -0
- package/templates/.claude/skills/avatar-boot-starter-kafka/README.md +580 -0
- package/templates/.claude/skills/avatar-boot-starter-kafka/SKILL.md +36 -560
- package/templates/.claude/skills/avatar-boot-starter-kafka/references//346/234/200/344/275/263/345/256/236/350/267/265.md +43 -0
- package/templates/.claude/skills/avatar-boot-starter-kafka/references//346/240/270/345/277/203/345/212/237/350/203/275.md +117 -0
- package/templates/.claude/skills/avatar-boot-starter-kafka/references//351/205/215/347/275/256/345/217/202/350/200/203.md +54 -0
- package/templates/.claude/skills/avatar-boot-starter-mysql/README.md +572 -0
- package/templates/.claude/skills/avatar-boot-starter-mysql/SKILL.md +40 -550
- package/templates/.claude/skills/avatar-boot-starter-mysql/references//345/256/236/344/275/223/344/270/216/345/212/237/350/203/275.md +96 -0
- package/templates/.claude/skills/avatar-boot-starter-mysql/references//345/277/253/351/200/237/346/216/245/345/205/245/344/270/216/346/225/260/346/215/256/346/272/220.md +91 -0
- package/templates/.claude/skills/avatar-boot-starter-mysql/references//351/253/230/347/272/247/347/211/271/346/200/247/344/270/216/351/205/215/347/275/256.md +59 -0
- package/templates/.claude/skills/avatar-boot-starter-nacos/README.md +901 -0
- package/templates/.claude/skills/avatar-boot-starter-nacos/SKILL.md +40 -879
- package/templates/.claude/skills/avatar-boot-starter-nacos/references//345/212/237/350/203/275/344/275/277/347/224/250.md +134 -0
- package/templates/.claude/skills/avatar-boot-starter-nacos/references//345/277/253/351/200/237/346/216/245/345/205/245/344/270/216/351/205/215/347/275/256.md +96 -0
- package/templates/.claude/skills/avatar-boot-starter-nacos/references//346/225/205/351/232/234/346/216/222/346/237/245.md +64 -0
- package/templates/.claude/skills/avatar-boot-starter-oss/README.md +594 -0
- package/templates/.claude/skills/avatar-boot-starter-oss/SKILL.md +52 -570
- package/templates/.claude/skills/avatar-boot-starter-oss/references//345/277/253/351/200/237/346/216/245/345/205/245/344/270/216/351/205/215/347/275/256.md +77 -0
- package/templates/.claude/skills/avatar-boot-starter-oss/references//346/240/270/345/277/203/345/212/237/350/203/275.md +94 -0
- package/templates/.claude/skills/avatar-boot-starter-oss/references//350/247/204/350/214/203/344/270/216/346/263/250/346/204/217/344/272/213/351/241/271.md +61 -0
- package/templates/.claude/skills/avatar-boot-starter-redis/README.md +586 -0
- package/templates/.claude/skills/avatar-boot-starter-redis/SKILL.md +42 -566
- package/templates/.claude/skills/avatar-boot-starter-redis/references//345/277/253/351/200/237/346/216/245/345/205/245/344/270/216/351/205/215/347/275/256.md +78 -0
- package/templates/.claude/skills/avatar-boot-starter-redis/references//346/225/260/346/215/256/346/223/215/344/275/234.md +111 -0
- package/templates/.claude/skills/avatar-boot-starter-redis/references//351/253/230/347/272/247/345/212/237/350/203/275.md +90 -0
- package/templates/.claude/skills/avatar-boot-starter-rocketmq/README.md +662 -0
- package/templates/.claude/skills/avatar-boot-starter-rocketmq/SKILL.md +48 -640
- package/templates/.claude/skills/avatar-boot-starter-rocketmq/references//346/240/270/345/277/203/345/212/237/350/203/275.md +101 -0
- package/templates/.claude/skills/avatar-boot-starter-rocketmq/references//351/205/215/347/275/256/344/270/216/346/263/250/346/204/217/344/272/213/351/241/271.md +44 -0
- package/templates/.claude/skills/avatar-boot-starter-rocketmq/references//351/253/230/347/272/247/347/211/271/346/200/247.md +71 -0
- package/templates/.claude/skills/avatar-boot-starter-web/README.md +1007 -0
- package/templates/.claude/skills/avatar-boot-starter-web/SKILL.md +150 -1003
- package/templates/.claude/skills/avatar-boot-starter-web/references//345/212/237/350/203/275-LogInfo/346/263/250/350/247/243.md +75 -0
- package/templates/.claude/skills/avatar-boot-starter-web/references//345/212/237/350/203/275-/345/205/250/345/261/200/345/274/202/345/270/270/345/244/204/347/220/206.md +90 -0
- package/templates/.claude/skills/avatar-boot-starter-web/references//345/212/237/350/203/275-/346/214/207/346/240/207/347/233/221/346/216/247.md +74 -0
- package/templates/.claude/skills/avatar-boot-starter-web/references//345/212/237/350/203/275-/346/227/245/345/277/227/344/275/223/347/263/273.md +73 -0
- package/templates/.claude/skills/avatar-boot-starter-web/references//345/212/237/350/203/275-/350/257/267/346/261/202/344/270/212/344/270/213/346/226/207.md +77 -0
- package/templates/.claude/skills/avatar-boot-starter-web/references//345/277/253/351/200/237/346/216/245/345/205/245/346/214/207/345/215/227.md +52 -0
- package/templates/.claude/skills/avatar-boot-starter-web/references//346/263/250/346/204/217/344/272/213/351/241/271.md +68 -0
- package/templates/.claude/skills/avatar-boot-starter-web/references//350/207/252/345/256/232/344/271/211/346/211/251/345/261/225/346/214/207/345/215/227.md +107 -0
- package/templates/.claude/skills/avatar-boot-starter-web/references//351/205/215/347/275/256/345/217/202/350/200/203.md +107 -0
- package/templates/.claude/skills/crud-generator/SKILL.md +133 -64
- package/templates/.claude/skills/database-design/README.md +207 -0
- package/templates/.claude/skills/database-design/SKILL.md +469 -82
- package/templates/.claude/skills/database-design/references//345/221/275/345/220/215/350/247/204/350/214/203.md +232 -0
- package/templates/.claude/skills/database-design/references//345/255/227/346/256/265/347/261/273/345/236/213/350/247/204/350/214/203.md +400 -0
- package/templates/.claude/skills/database-design/references//347/264/242/345/274/225/350/247/204/350/214/203.md +506 -0
- package/templates/README.md +65 -100
- package/templates/avatar-scaffold-api/pom.xml +0 -5
- package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/api/LoginFeignClient.java +2 -0
- package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/exception/LoginErrorCode.java +25 -0
- package/templates/avatar-scaffold-service/pom.xml +25 -87
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/feign/DemoFeign.java +4 -1
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/repository/UserLoginRepository.java +10 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/repository/mapper/UserLoginMapper.java +4 -1
- package/templates/avatar-scaffold-service/src/main/resources/application-dev.yaml +3 -5
- package/templates/avatar-scaffold-service/src/main/resources/application-local.yaml +21 -21
- package/templates/pom.xml +9 -18
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# MySQL 快速接入与数据源配置
|
|
2
|
+
|
|
3
|
+
## 1. 添加依赖
|
|
4
|
+
|
|
5
|
+
```xml
|
|
6
|
+
<dependency>
|
|
7
|
+
<groupId>com.iflytek.avatar.boot</groupId>
|
|
8
|
+
<artifactId>avatar-boot-starter-mysql</artifactId>
|
|
9
|
+
</dependency>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## 2. 启用 MySQL 模块
|
|
13
|
+
|
|
14
|
+
```java
|
|
15
|
+
@SpringBootApplication
|
|
16
|
+
@EnableMySQL
|
|
17
|
+
public class Application {
|
|
18
|
+
public static void main(String[] args) {
|
|
19
|
+
SpringApplication.run(Application.class, args);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## 3. 配置数据源
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
spring:
|
|
28
|
+
datasource:
|
|
29
|
+
dynamic:
|
|
30
|
+
primary: master # 默认数据源
|
|
31
|
+
strict: false # false 时找不到指定数据源则使用默认
|
|
32
|
+
datasource:
|
|
33
|
+
master:
|
|
34
|
+
url: jdbc:mysql://localhost:3306/db_main?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
|
35
|
+
username: root
|
|
36
|
+
password: ${DB_PASSWORD}
|
|
37
|
+
driver-class-name: com.mysql.cj.jdbc.Driver
|
|
38
|
+
druid:
|
|
39
|
+
initial-size: 5
|
|
40
|
+
min-idle: 5
|
|
41
|
+
max-active: 20
|
|
42
|
+
max-wait: 60000
|
|
43
|
+
validation-query: SELECT 1
|
|
44
|
+
test-while-idle: true
|
|
45
|
+
filters: stat,wall
|
|
46
|
+
slave:
|
|
47
|
+
url: jdbc:mysql://localhost:3306/db_slave?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
|
48
|
+
username: root
|
|
49
|
+
password: ${DB_PASSWORD}
|
|
50
|
+
driver-class-name: com.mysql.cj.jdbc.Driver
|
|
51
|
+
|
|
52
|
+
mybatis-plus:
|
|
53
|
+
mapper-scan-package: com.example.**.mapper
|
|
54
|
+
mapper-locations: classpath*:/mapper/**/*.xml
|
|
55
|
+
type-aliases-package: com.example.**.entity
|
|
56
|
+
configuration:
|
|
57
|
+
map-underscore-to-camel-case: true
|
|
58
|
+
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
|
|
59
|
+
global-config:
|
|
60
|
+
db-config:
|
|
61
|
+
id-type: ASSIGN_ID # 雪花算法主键
|
|
62
|
+
logic-delete-field: deleted
|
|
63
|
+
logic-delete-value: 1
|
|
64
|
+
logic-not-delete-value: 0
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## 4. 多数据源切换(@DS 注解)
|
|
68
|
+
|
|
69
|
+
```java
|
|
70
|
+
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
71
|
+
|
|
72
|
+
@Service
|
|
73
|
+
public class UserService {
|
|
74
|
+
|
|
75
|
+
// 使用默认数据源(master)
|
|
76
|
+
public User getById(Long id) {
|
|
77
|
+
return userMapper.selectById(id);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// 切换到 slave 数据源(读操作推荐走从库)
|
|
81
|
+
@DS("slave")
|
|
82
|
+
public List<User> listAll() {
|
|
83
|
+
return userMapper.selectList(null);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// 也可以在 Mapper 上使用,该 Mapper 所有方法都走指定数据源
|
|
88
|
+
@DS("slave")
|
|
89
|
+
@Mapper
|
|
90
|
+
public interface ReportMapper extends BaseMapper<Report> { }
|
|
91
|
+
```
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# MySQL 高级特性与配置
|
|
2
|
+
|
|
3
|
+
## 慢 SQL 监控
|
|
4
|
+
|
|
5
|
+
```yaml
|
|
6
|
+
mybatis-plus:
|
|
7
|
+
slow-sql-threshold: 1000 # 超过 1000ms 的 SQL 记录为慢 SQL
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
超过阈值的 SQL 会以 WARN 级别输出日志,便于排查性能问题。
|
|
11
|
+
|
|
12
|
+
## 数据权限控制
|
|
13
|
+
|
|
14
|
+
```yaml
|
|
15
|
+
mybatis-plus:
|
|
16
|
+
enable-data-permission: true
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
```java
|
|
20
|
+
import com.iflytek.avatar.boot.mysql.permission.DataPermission;
|
|
21
|
+
|
|
22
|
+
@Service
|
|
23
|
+
public class UserService {
|
|
24
|
+
|
|
25
|
+
@DataPermission(column = "dept_id", value = "#{deptId}")
|
|
26
|
+
public List<User> listByDept() {
|
|
27
|
+
return userMapper.selectList(null);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Druid 连接池配置说明
|
|
33
|
+
|
|
34
|
+
| 配置项 | 说明 | 推荐值 |
|
|
35
|
+
|:--|:--|:--|
|
|
36
|
+
| `initial-size` | 初始化连接数 | `5` |
|
|
37
|
+
| `min-idle` | 最小空闲连接数 | `5` |
|
|
38
|
+
| `max-active` | 最大活跃连接数 | `20`(根据业务量调整) |
|
|
39
|
+
| `max-wait` | 获取连接等待超时(ms) | `60000` |
|
|
40
|
+
| `validation-query` | 检测连接有效性的 SQL | `SELECT 1` |
|
|
41
|
+
| `test-while-idle` | 空闲时检测连接 | `true` |
|
|
42
|
+
| `filters` | 监控统计拦截器 | `stat,wall` |
|
|
43
|
+
|
|
44
|
+
## MyBatis-Plus 配置说明
|
|
45
|
+
|
|
46
|
+
| 配置项 | 说明 | 默认值 |
|
|
47
|
+
|:--|:--|:--|
|
|
48
|
+
| `mapper-scan-package` | Mapper 扫描路径 | `com.iflytek.**.mapper` |
|
|
49
|
+
| `mapper-locations` | Mapper XML 位置 | `classpath*:/mapper/**/*.xml` |
|
|
50
|
+
| `global-config.db-config.id-type` | 主键类型 | `ASSIGN_ID`(雪花算法) |
|
|
51
|
+
| `global-config.db-config.logic-delete-field` | 逻辑删除字段名 | `deleted` |
|
|
52
|
+
|
|
53
|
+
## 注意事项
|
|
54
|
+
|
|
55
|
+
1. **配置格式**:使用 `spring.datasource.dynamic.*`,不是 `avatar.mysql.*`
|
|
56
|
+
2. **@DS 注解**:来自 `com.baomidou.dynamic.datasource.annotation.DS`
|
|
57
|
+
3. **事务管理**:写操作建议添加 `@Transactional`,事务范围尽可能小
|
|
58
|
+
4. **审计字段**:实体类需继承 `BaseEntity` 才能自动填充 createTime/updateTime
|
|
59
|
+
5. **逻辑删除**:使用 `@TableLogic` 注解标记删除字段,MyBatis-Plus 自动处理
|