@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,117 @@
1
+ # Kafka 核心功能
2
+
3
+ ## 1. 添加依赖
4
+
5
+ ```xml
6
+ <dependency>
7
+ <groupId>com.iflytek.avatar.boot</groupId>
8
+ <artifactId>avatar-boot-starter-kafka</artifactId>
9
+ </dependency>
10
+ ```
11
+
12
+ ## 2. 配置 Kafka
13
+
14
+ ```yaml
15
+ avatar:
16
+ kafka:
17
+ bootstrap-servers: ${KAFKA_SERVERS:localhost:9092}
18
+ producer:
19
+ acks: all
20
+ retries: 3
21
+ batch-size: 16384
22
+ buffer-memory: 33554432
23
+ key-serializer: org.apache.kafka.common.serialization.StringSerializer
24
+ value-serializer: org.apache.kafka.common.serialization.StringSerializer
25
+ consumer:
26
+ group-id: ${spring.application.name}
27
+ auto-offset-reset: earliest
28
+ enable-auto-commit: true
29
+ auto-commit-interval: 1000
30
+ key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
31
+ value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
32
+ ```
33
+
34
+ ## 3. 发送消息
35
+
36
+ ```java
37
+ @Resource
38
+ private KafkaTemplate<String, String> kafkaTemplate;
39
+
40
+ // 同步发送
41
+ SendResult<String, String> result = kafkaTemplate.send(topic, message).get();
42
+
43
+ // 异步发送
44
+ kafkaTemplate.send(topic, message).addCallback(
45
+ result -> log.info("发送成功: {}", result.getRecordMetadata().offset()),
46
+ ex -> log.error("发送失败: {}", ex.getMessage())
47
+ );
48
+
49
+ // 发送带 Key 的消息(保证相同 Key 进入同一分区)
50
+ kafkaTemplate.send(topic, key, message);
51
+
52
+ // 批量发送
53
+ messages.forEach(msg -> kafkaTemplate.send(topic, msg));
54
+ ```
55
+
56
+ ## 4. 消费消息
57
+
58
+ ```java
59
+ @Component
60
+ public class OrderConsumer {
61
+
62
+ // 基础消费
63
+ @KafkaListener(topics = "order-topic", groupId = "order-consumer-group")
64
+ public void consume(String message) {
65
+ // 处理业务逻辑
66
+ }
67
+
68
+ // 消费带 Key 的消息
69
+ @KafkaListener(topics = "order-topic", groupId = "order-consumer-group")
70
+ public void consumeWithKey(
71
+ @Payload String message,
72
+ @Header(KafkaHeaders.RECEIVED_MESSAGE_KEY) String key) {
73
+ log.info("Key: {}, Message: {}", key, message);
74
+ }
75
+
76
+ // 批量消费
77
+ @KafkaListener(topics = "order-topic", groupId = "order-consumer-group")
78
+ public void consumeBatch(List<String> messages) {
79
+ messages.forEach(this::processMessage);
80
+ }
81
+
82
+ // 手动提交偏移量(enable-auto-commit: false 时使用)
83
+ @KafkaListener(topics = "order-topic", groupId = "order-consumer-group")
84
+ public void consumeManual(String message, Acknowledgment acknowledgment) {
85
+ try {
86
+ processMessage(message);
87
+ acknowledgment.acknowledge(); // 手动提交
88
+ } catch (Exception e) {
89
+ log.error("处理失败,不提交偏移量: {}", e.getMessage());
90
+ }
91
+ }
92
+ }
93
+ ```
94
+
95
+ ## 5. 事务消息
96
+
97
+ ```java
98
+ @Service
99
+ public class OrderService {
100
+
101
+ @Resource
102
+ private KafkaTemplate<String, String> kafkaTemplate;
103
+
104
+ @Transactional
105
+ public void createOrderWithTransaction(Order order) {
106
+ // 保存订单到数据库
107
+ orderMapper.insert(order);
108
+
109
+ // 在同一事务中发送 Kafka 消息
110
+ kafkaTemplate.executeInTransaction(operations -> {
111
+ operations.send("order-topic", JSON.toJSONString(order));
112
+ operations.send("inventory-topic", JSON.toJSONString(order));
113
+ return true;
114
+ });
115
+ }
116
+ }
117
+ ```
@@ -0,0 +1,54 @@
1
+ # Kafka 配置参考
2
+
3
+ ## 完整配置项
4
+
5
+ ```yaml
6
+ avatar:
7
+ kafka:
8
+ bootstrap-servers: localhost:9092 # Kafka 服务器地址
9
+
10
+ producer:
11
+ acks: all # 确认模式:0/1/all
12
+ retries: 3 # 重试次数
13
+ batch-size: 16384 # 批量大小(字节)
14
+ buffer-memory: 33554432 # 缓冲区大小(字节,32MB)
15
+ key-serializer: org.apache.kafka.common.serialization.StringSerializer
16
+ value-serializer: org.apache.kafka.common.serialization.StringSerializer
17
+
18
+ consumer:
19
+ group-id: my-consumer-group # 消费者组 ID(必填)
20
+ auto-offset-reset: earliest # 偏移量重置策略:earliest/latest
21
+ enable-auto-commit: true # 是否自动提交偏移量
22
+ auto-commit-interval: 1000 # 自动提交间隔(毫秒)
23
+ key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
24
+ value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
25
+ ```
26
+
27
+ ## 配置说明
28
+
29
+ | 配置项 | 说明 | 默认值 |
30
+ |:--|:--|:--|
31
+ | `bootstrap-servers` | Kafka 服务器地址 | `localhost:9092` |
32
+ | `producer.acks` | 确认模式(0=不确认/1=Leader确认/all=全部确认) | `all` |
33
+ | `producer.retries` | 发送失败重试次数 | `3` |
34
+ | `consumer.group-id` | 消费者组 ID | - |
35
+ | `consumer.auto-offset-reset` | 无偏移量时的策略(earliest从头/latest从最新) | `earliest` |
36
+ | `consumer.enable-auto-commit` | 是否自动提交偏移量 | `true` |
37
+
38
+ ## 多环境配置
39
+
40
+ ```yaml
41
+ # application-dev.yml
42
+ avatar:
43
+ kafka:
44
+ bootstrap-servers: localhost:9092
45
+ consumer:
46
+ group-id: ${spring.application.name}-dev
47
+
48
+ # application-prod.yml
49
+ avatar:
50
+ kafka:
51
+ bootstrap-servers: ${KAFKA_SERVERS}
52
+ consumer:
53
+ group-id: ${spring.application.name}
54
+ ```