@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.
Files changed (72) hide show
  1. package/docs/exam-question-generate-api.md +163 -0
  2. package/package.json +1 -1
  3. package/src/prompts.js +3 -3
  4. package/src/transform.js +1 -1
  5. package/templates/.claude/skills/avatar-boot-starter-feign/README.md +243 -0
  6. package/templates/.claude/skills/avatar-boot-starter-feign/SKILL.md +47 -219
  7. package/templates/.claude/skills/avatar-boot-starter-feign/references//345/212/237/350/203/275/350/257/246/350/247/243.md +65 -0
  8. 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
  9. package/templates/.claude/skills/avatar-boot-starter-feign/references//351/205/215/347/275/256/345/217/202/350/200/203.md +70 -0
  10. package/templates/.claude/skills/avatar-boot-starter-job/README.md +437 -0
  11. package/templates/.claude/skills/avatar-boot-starter-job/SKILL.md +35 -414
  12. package/templates/.claude/skills/avatar-boot-starter-job/references//345/270/270/350/247/201/351/227/256/351/242/230.md +55 -0
  13. 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
  14. package/templates/.claude/skills/avatar-boot-starter-job/references//347/233/221/346/216/247/346/214/207/346/240/207.md +72 -0
  15. package/templates/.claude/skills/avatar-boot-starter-kafka/README.md +580 -0
  16. package/templates/.claude/skills/avatar-boot-starter-kafka/SKILL.md +36 -560
  17. package/templates/.claude/skills/avatar-boot-starter-kafka/references//346/234/200/344/275/263/345/256/236/350/267/265.md +43 -0
  18. package/templates/.claude/skills/avatar-boot-starter-kafka/references//346/240/270/345/277/203/345/212/237/350/203/275.md +117 -0
  19. package/templates/.claude/skills/avatar-boot-starter-kafka/references//351/205/215/347/275/256/345/217/202/350/200/203.md +54 -0
  20. package/templates/.claude/skills/avatar-boot-starter-mysql/README.md +572 -0
  21. package/templates/.claude/skills/avatar-boot-starter-mysql/SKILL.md +40 -550
  22. 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
  23. 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
  24. 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
  25. package/templates/.claude/skills/avatar-boot-starter-nacos/README.md +901 -0
  26. package/templates/.claude/skills/avatar-boot-starter-nacos/SKILL.md +40 -879
  27. package/templates/.claude/skills/avatar-boot-starter-nacos/references//345/212/237/350/203/275/344/275/277/347/224/250.md +134 -0
  28. 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
  29. package/templates/.claude/skills/avatar-boot-starter-nacos/references//346/225/205/351/232/234/346/216/222/346/237/245.md +64 -0
  30. package/templates/.claude/skills/avatar-boot-starter-oss/README.md +594 -0
  31. package/templates/.claude/skills/avatar-boot-starter-oss/SKILL.md +52 -570
  32. 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
  33. package/templates/.claude/skills/avatar-boot-starter-oss/references//346/240/270/345/277/203/345/212/237/350/203/275.md +94 -0
  34. 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
  35. package/templates/.claude/skills/avatar-boot-starter-redis/README.md +586 -0
  36. package/templates/.claude/skills/avatar-boot-starter-redis/SKILL.md +42 -566
  37. 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
  38. package/templates/.claude/skills/avatar-boot-starter-redis/references//346/225/260/346/215/256/346/223/215/344/275/234.md +111 -0
  39. package/templates/.claude/skills/avatar-boot-starter-redis/references//351/253/230/347/272/247/345/212/237/350/203/275.md +90 -0
  40. package/templates/.claude/skills/avatar-boot-starter-rocketmq/README.md +662 -0
  41. package/templates/.claude/skills/avatar-boot-starter-rocketmq/SKILL.md +48 -640
  42. package/templates/.claude/skills/avatar-boot-starter-rocketmq/references//346/240/270/345/277/203/345/212/237/350/203/275.md +101 -0
  43. 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
  44. package/templates/.claude/skills/avatar-boot-starter-rocketmq/references//351/253/230/347/272/247/347/211/271/346/200/247.md +71 -0
  45. package/templates/.claude/skills/avatar-boot-starter-web/README.md +1007 -0
  46. package/templates/.claude/skills/avatar-boot-starter-web/SKILL.md +150 -1003
  47. 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. package/templates/.claude/skills/avatar-boot-starter-web/references//346/263/250/346/204/217/344/272/213/351/241/271.md +68 -0
  54. 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
  55. package/templates/.claude/skills/avatar-boot-starter-web/references//351/205/215/347/275/256/345/217/202/350/200/203.md +107 -0
  56. package/templates/.claude/skills/crud-generator/SKILL.md +133 -64
  57. package/templates/.claude/skills/database-design/README.md +207 -0
  58. package/templates/.claude/skills/database-design/SKILL.md +469 -82
  59. package/templates/.claude/skills/database-design/references//345/221/275/345/220/215/350/247/204/350/214/203.md +232 -0
  60. 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
  61. package/templates/.claude/skills/database-design/references//347/264/242/345/274/225/350/247/204/350/214/203.md +506 -0
  62. package/templates/README.md +65 -100
  63. package/templates/avatar-scaffold-api/pom.xml +0 -5
  64. package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/api/LoginFeignClient.java +2 -0
  65. package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/exception/LoginErrorCode.java +25 -0
  66. package/templates/avatar-scaffold-service/pom.xml +25 -87
  67. package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/feign/DemoFeign.java +4 -1
  68. package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/repository/UserLoginRepository.java +10 -0
  69. package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/repository/mapper/UserLoginMapper.java +4 -1
  70. package/templates/avatar-scaffold-service/src/main/resources/application-dev.yaml +3 -5
  71. package/templates/avatar-scaffold-service/src/main/resources/application-local.yaml +21 -21
  72. 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 自动处理