ai-engineering-init 1.3.4 → 1.4.0

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 (226) hide show
  1. package/.claude/hooks/skill-forced-eval.js +2 -0
  2. package/.claude/settings.json +3 -3
  3. package/.claude/skills/add-skill/SKILL.md +79 -32
  4. package/.claude/skills/api-development/SKILL.md +83 -377
  5. package/.claude/skills/architecture-design/SKILL.md +138 -632
  6. package/.claude/skills/backend-annotations/SKILL.md +134 -506
  7. package/.claude/skills/banana-image/SKILL.md +10 -3
  8. package/.claude/skills/brainstorm/SKILL.md +103 -535
  9. package/.claude/skills/bug-detective/SKILL.md +147 -1097
  10. package/.claude/skills/bug-detective/references/error-patterns.md +242 -0
  11. package/.claude/skills/code-patterns/SKILL.md +116 -426
  12. package/.claude/skills/code-patterns/references/leniu-code-patterns.md +87 -0
  13. package/.claude/skills/crud-development/SKILL.md +64 -304
  14. package/.claude/skills/data-permission/SKILL.md +105 -412
  15. package/.claude/skills/data-permission/references/custom-data-scope.md +90 -0
  16. package/.claude/skills/file-oss-management/SKILL.md +106 -714
  17. package/.claude/skills/file-oss-management/references/entities.md +105 -0
  18. package/.claude/skills/file-oss-management/references/service-impl.md +104 -0
  19. package/.claude/skills/leniu-api-development/SKILL.md +142 -626
  20. package/.claude/skills/leniu-api-development/references/real-examples.md +273 -0
  21. package/.claude/skills/leniu-architecture-design/SKILL.md +176 -391
  22. package/.claude/skills/leniu-backend-annotations/SKILL.md +132 -519
  23. package/.claude/skills/leniu-brainstorm/SKILL.md +132 -541
  24. package/.claude/skills/leniu-brainstorm/references/business-scenarios.md +162 -0
  25. package/.claude/skills/leniu-crud-development/SKILL.md +232 -938
  26. package/.claude/skills/leniu-crud-development/references/templates.md +597 -0
  27. package/.claude/skills/leniu-customization-location/SKILL.md +410 -0
  28. package/.claude/skills/leniu-data-permission/SKILL.md +70 -0
  29. package/.claude/skills/leniu-java-entity/SKILL.md +76 -590
  30. package/.claude/skills/leniu-java-entity/references/templates.md +237 -0
  31. package/.claude/skills/leniu-java-export/SKILL.md +94 -379
  32. package/.claude/skills/leniu-java-logging/SKILL.md +106 -709
  33. package/.claude/skills/leniu-java-logging/references/data-mask.md +46 -0
  34. package/.claude/skills/leniu-java-logging/references/logging-scenarios.md +113 -0
  35. package/.claude/skills/leniu-java-mybatis/SKILL.md +73 -446
  36. package/.claude/skills/leniu-java-mybatis/references/report-mapper.md +88 -0
  37. package/.claude/skills/leniu-report-customization/SKILL.md +111 -365
  38. package/.claude/skills/leniu-report-customization/references/table-fields.md +93 -0
  39. package/.claude/skills/leniu-report-standard-customization/SKILL.md +111 -334
  40. package/.claude/skills/leniu-report-standard-customization/references/analysis-module.md +64 -0
  41. package/.claude/skills/leniu-report-standard-customization/references/table-fields.md +113 -0
  42. package/.claude/skills/leniu-security-guard/SKILL.md +133 -347
  43. package/.claude/skills/mysql-debug/SKILL.md +364 -0
  44. package/.claude/skills/openspec-apply-change/SKILL.md +10 -1
  45. package/.claude/skills/openspec-archive-change/SKILL.md +9 -1
  46. package/.claude/skills/openspec-bulk-archive-change/SKILL.md +9 -1
  47. package/.claude/skills/openspec-continue-change/SKILL.md +9 -1
  48. package/.claude/skills/openspec-explore/SKILL.md +10 -1
  49. package/.claude/skills/openspec-ff-change/SKILL.md +9 -1
  50. package/.claude/skills/openspec-new-change/SKILL.md +9 -1
  51. package/.claude/skills/openspec-onboard/SKILL.md +15 -130
  52. package/.claude/skills/openspec-sync-specs/SKILL.md +9 -1
  53. package/.claude/skills/openspec-verify-change/SKILL.md +9 -1
  54. package/.claude/skills/performance-doctor/SKILL.md +110 -434
  55. package/.claude/skills/redis-cache/SKILL.md +89 -595
  56. package/.claude/skills/redis-cache/references/listeners.md +23 -0
  57. package/.claude/skills/scheduled-jobs/SKILL.md +88 -407
  58. package/.claude/skills/security-guard/SKILL.md +137 -532
  59. package/.claude/skills/security-guard/references/encrypt-config.md +103 -0
  60. package/.claude/skills/security-guard/references/sensitive-strategies.md +42 -0
  61. package/.claude/skills/sms-mail/SKILL.md +116 -574
  62. package/.claude/skills/sms-mail/references/mail-config.md +88 -0
  63. package/.claude/skills/sms-mail/references/sms-config.md +74 -0
  64. package/.claude/skills/social-login/SKILL.md +112 -514
  65. package/.claude/skills/social-login/references/provider-configs.md +118 -0
  66. package/.claude/skills/tenant-management/SKILL.md +129 -444
  67. package/.claude/skills/tenant-management/references/tenant-scenarios.md +91 -0
  68. package/.claude/skills/test-development/SKILL.md +86 -540
  69. package/.claude/skills/test-development/references/parameterized-examples.md +119 -0
  70. package/.claude/skills/utils-toolkit/SKILL.md +52 -305
  71. package/.claude/skills/utils-toolkit/references/redis-utils-api.md +56 -0
  72. package/.claude/skills/websocket-sse/SKILL.md +105 -550
  73. package/.claude/skills/workflow-engine/SKILL.md +147 -502
  74. package/.codex/skills/add-skill/SKILL.md +79 -32
  75. package/.codex/skills/api-development/SKILL.md +172 -599
  76. package/.codex/skills/architecture-design/SKILL.md +138 -504
  77. package/.codex/skills/backend-annotations/SKILL.md +134 -496
  78. package/.codex/skills/banana-image/SKILL.md +10 -3
  79. package/.codex/skills/brainstorm/SKILL.md +103 -535
  80. package/.codex/skills/bug-detective/SKILL.md +147 -1097
  81. package/.codex/skills/bug-detective/references/error-patterns.md +242 -0
  82. package/.codex/skills/code-patterns/SKILL.md +120 -282
  83. package/.codex/skills/code-patterns/references/leniu-code-patterns.md +87 -0
  84. package/.codex/skills/crud-development/SKILL.md +64 -292
  85. package/.codex/skills/data-permission/SKILL.md +108 -407
  86. package/.codex/skills/data-permission/references/custom-data-scope.md +90 -0
  87. package/.codex/skills/database-ops/SKILL.md +8 -154
  88. package/.codex/skills/error-handler/SKILL.md +10 -0
  89. package/.codex/skills/file-oss-management/SKILL.md +106 -714
  90. package/.codex/skills/file-oss-management/references/entities.md +105 -0
  91. package/.codex/skills/file-oss-management/references/service-impl.md +104 -0
  92. package/.codex/skills/git-workflow/SKILL.md +27 -5
  93. package/.codex/skills/leniu-api-development/SKILL.md +142 -626
  94. package/.codex/skills/leniu-api-development/references/real-examples.md +273 -0
  95. package/.codex/skills/leniu-architecture-design/SKILL.md +176 -391
  96. package/.codex/skills/leniu-backend-annotations/SKILL.md +132 -519
  97. package/.codex/skills/leniu-brainstorm/SKILL.md +132 -541
  98. package/.codex/skills/leniu-brainstorm/references/business-scenarios.md +162 -0
  99. package/.codex/skills/leniu-crud-development/SKILL.md +232 -938
  100. package/.codex/skills/leniu-crud-development/references/templates.md +597 -0
  101. package/.codex/skills/leniu-customization-location/SKILL.md +410 -0
  102. package/.codex/skills/leniu-data-permission/SKILL.md +70 -0
  103. package/.codex/skills/leniu-java-code-style/SKILL.md +510 -0
  104. package/.codex/skills/leniu-java-entity/SKILL.md +76 -590
  105. package/.codex/skills/leniu-java-entity/references/templates.md +237 -0
  106. package/.codex/skills/leniu-java-export/SKILL.md +94 -379
  107. package/.codex/skills/leniu-java-logging/SKILL.md +106 -709
  108. package/.codex/skills/leniu-java-logging/references/data-mask.md +46 -0
  109. package/.codex/skills/leniu-java-logging/references/logging-scenarios.md +113 -0
  110. package/.codex/skills/leniu-java-mybatis/SKILL.md +73 -446
  111. package/.codex/skills/leniu-java-mybatis/references/report-mapper.md +88 -0
  112. package/.codex/skills/leniu-report-customization/SKILL.md +111 -365
  113. package/.codex/skills/leniu-report-customization/references/table-fields.md +93 -0
  114. package/.codex/skills/leniu-report-standard-customization/SKILL.md +111 -334
  115. package/.codex/skills/leniu-report-standard-customization/references/analysis-module.md +64 -0
  116. package/.codex/skills/leniu-report-standard-customization/references/table-fields.md +113 -0
  117. package/.codex/skills/leniu-security-guard/SKILL.md +133 -347
  118. package/.codex/skills/mysql-debug/SKILL.md +364 -0
  119. package/.codex/skills/openspec-apply-change/SKILL.md +10 -1
  120. package/.codex/skills/openspec-archive-change/SKILL.md +9 -1
  121. package/.codex/skills/openspec-bulk-archive-change/SKILL.md +9 -1
  122. package/.codex/skills/openspec-continue-change/SKILL.md +9 -1
  123. package/.codex/skills/openspec-explore/SKILL.md +10 -1
  124. package/.codex/skills/openspec-ff-change/SKILL.md +9 -1
  125. package/.codex/skills/openspec-new-change/SKILL.md +9 -1
  126. package/.codex/skills/openspec-onboard/SKILL.md +15 -130
  127. package/.codex/skills/openspec-sync-specs/SKILL.md +9 -1
  128. package/.codex/skills/openspec-verify-change/SKILL.md +9 -1
  129. package/.codex/skills/performance-doctor/SKILL.md +110 -434
  130. package/.codex/skills/project-navigator/SKILL.md +20 -1
  131. package/.codex/skills/redis-cache/SKILL.md +93 -589
  132. package/.codex/skills/redis-cache/references/listeners.md +23 -0
  133. package/.codex/skills/scheduled-jobs/SKILL.md +88 -407
  134. package/.codex/skills/security-guard/SKILL.md +141 -527
  135. package/.codex/skills/security-guard/references/encrypt-config.md +103 -0
  136. package/.codex/skills/security-guard/references/sensitive-strategies.md +42 -0
  137. package/.codex/skills/sms-mail/SKILL.md +116 -574
  138. package/.codex/skills/sms-mail/references/mail-config.md +88 -0
  139. package/.codex/skills/sms-mail/references/sms-config.md +74 -0
  140. package/.codex/skills/social-login/SKILL.md +112 -514
  141. package/.codex/skills/social-login/references/provider-configs.md +118 -0
  142. package/.codex/skills/store-pc/SKILL.md +258 -383
  143. package/.codex/skills/tenant-management/SKILL.md +129 -444
  144. package/.codex/skills/tenant-management/references/tenant-scenarios.md +91 -0
  145. package/.codex/skills/test-development/SKILL.md +86 -540
  146. package/.codex/skills/test-development/references/parameterized-examples.md +119 -0
  147. package/.codex/skills/ui-pc/SKILL.md +350 -387
  148. package/.codex/skills/utils-toolkit/SKILL.md +52 -283
  149. package/.codex/skills/utils-toolkit/references/redis-utils-api.md +56 -0
  150. package/.codex/skills/websocket-sse/SKILL.md +105 -550
  151. package/.codex/skills/workflow-engine/SKILL.md +147 -502
  152. package/.cursor/hooks.json +3 -3
  153. package/.cursor/skills/add-skill/SKILL.md +79 -32
  154. package/.cursor/skills/api-development/SKILL.md +83 -377
  155. package/.cursor/skills/architecture-design/SKILL.md +138 -632
  156. package/.cursor/skills/backend-annotations/SKILL.md +134 -506
  157. package/.cursor/skills/banana-image/SKILL.md +10 -3
  158. package/.cursor/skills/brainstorm/SKILL.md +103 -535
  159. package/.cursor/skills/bug-detective/SKILL.md +147 -1097
  160. package/.cursor/skills/bug-detective/references/error-patterns.md +242 -0
  161. package/.cursor/skills/code-patterns/SKILL.md +116 -426
  162. package/.cursor/skills/code-patterns/references/leniu-code-patterns.md +87 -0
  163. package/.cursor/skills/crud-development/SKILL.md +64 -304
  164. package/.cursor/skills/data-permission/SKILL.md +105 -412
  165. package/.cursor/skills/data-permission/references/custom-data-scope.md +90 -0
  166. package/.cursor/skills/file-oss-management/SKILL.md +106 -714
  167. package/.cursor/skills/file-oss-management/references/entities.md +105 -0
  168. package/.cursor/skills/file-oss-management/references/service-impl.md +104 -0
  169. package/.cursor/skills/git-workflow/SKILL.md +27 -5
  170. package/.cursor/skills/leniu-api-development/SKILL.md +142 -626
  171. package/.cursor/skills/leniu-api-development/references/real-examples.md +273 -0
  172. package/.cursor/skills/leniu-architecture-design/SKILL.md +176 -391
  173. package/.cursor/skills/leniu-backend-annotations/SKILL.md +132 -519
  174. package/.cursor/skills/leniu-brainstorm/SKILL.md +132 -541
  175. package/.cursor/skills/leniu-brainstorm/references/business-scenarios.md +162 -0
  176. package/.cursor/skills/leniu-crud-development/SKILL.md +232 -938
  177. package/.cursor/skills/leniu-crud-development/references/templates.md +597 -0
  178. package/.cursor/skills/leniu-customization-location/SKILL.md +410 -0
  179. package/.cursor/skills/leniu-data-permission/SKILL.md +70 -0
  180. package/.cursor/skills/leniu-java-code-style/SKILL.md +510 -0
  181. package/.cursor/skills/leniu-java-entity/SKILL.md +76 -590
  182. package/.cursor/skills/leniu-java-entity/references/templates.md +237 -0
  183. package/.cursor/skills/leniu-java-export/SKILL.md +94 -379
  184. package/.cursor/skills/leniu-java-logging/SKILL.md +106 -709
  185. package/.cursor/skills/leniu-java-logging/references/data-mask.md +46 -0
  186. package/.cursor/skills/leniu-java-logging/references/logging-scenarios.md +113 -0
  187. package/.cursor/skills/leniu-java-mybatis/SKILL.md +73 -446
  188. package/.cursor/skills/leniu-java-mybatis/references/report-mapper.md +88 -0
  189. package/.cursor/skills/leniu-report-customization/SKILL.md +111 -365
  190. package/.cursor/skills/leniu-report-customization/references/table-fields.md +93 -0
  191. package/.cursor/skills/leniu-report-standard-customization/SKILL.md +111 -334
  192. package/.cursor/skills/leniu-report-standard-customization/references/analysis-module.md +64 -0
  193. package/.cursor/skills/leniu-report-standard-customization/references/table-fields.md +113 -0
  194. package/.cursor/skills/leniu-security-guard/SKILL.md +133 -347
  195. package/.cursor/skills/mysql-debug/SKILL.md +364 -0
  196. package/.cursor/skills/openspec-apply-change/SKILL.md +10 -1
  197. package/.cursor/skills/openspec-archive-change/SKILL.md +9 -1
  198. package/.cursor/skills/openspec-bulk-archive-change/SKILL.md +9 -1
  199. package/.cursor/skills/openspec-continue-change/SKILL.md +9 -1
  200. package/.cursor/skills/openspec-explore/SKILL.md +10 -1
  201. package/.cursor/skills/openspec-ff-change/SKILL.md +9 -1
  202. package/.cursor/skills/openspec-new-change/SKILL.md +9 -1
  203. package/.cursor/skills/openspec-onboard/SKILL.md +15 -130
  204. package/.cursor/skills/openspec-sync-specs/SKILL.md +9 -1
  205. package/.cursor/skills/openspec-verify-change/SKILL.md +9 -1
  206. package/.cursor/skills/performance-doctor/SKILL.md +110 -434
  207. package/.cursor/skills/redis-cache/SKILL.md +89 -595
  208. package/.cursor/skills/redis-cache/references/listeners.md +23 -0
  209. package/.cursor/skills/scheduled-jobs/SKILL.md +88 -407
  210. package/.cursor/skills/security-guard/SKILL.md +137 -532
  211. package/.cursor/skills/security-guard/references/encrypt-config.md +103 -0
  212. package/.cursor/skills/security-guard/references/sensitive-strategies.md +42 -0
  213. package/.cursor/skills/sms-mail/SKILL.md +116 -574
  214. package/.cursor/skills/sms-mail/references/mail-config.md +88 -0
  215. package/.cursor/skills/sms-mail/references/sms-config.md +74 -0
  216. package/.cursor/skills/social-login/SKILL.md +112 -514
  217. package/.cursor/skills/social-login/references/provider-configs.md +118 -0
  218. package/.cursor/skills/tenant-management/SKILL.md +129 -444
  219. package/.cursor/skills/tenant-management/references/tenant-scenarios.md +91 -0
  220. package/.cursor/skills/test-development/SKILL.md +86 -540
  221. package/.cursor/skills/test-development/references/parameterized-examples.md +119 -0
  222. package/.cursor/skills/utils-toolkit/SKILL.md +52 -305
  223. package/.cursor/skills/utils-toolkit/references/redis-utils-api.md +56 -0
  224. package/.cursor/skills/websocket-sse/SKILL.md +105 -550
  225. package/.cursor/skills/workflow-engine/SKILL.md +147 -502
  226. package/package.json +1 -1
@@ -4,117 +4,113 @@ description: |
4
4
  leniu-yunshitang-core 云食堂项目头脑风暴与方案探索指南。基于双库架构、四层架构、多业务模块的方案设计框架。
5
5
 
6
6
  触发场景:
7
- - 云食堂项目功能方案设计与探索
7
+ - 云食堂项目新功能方案设计
8
8
  - 新业务模块的可行性分析
9
9
  - 跨模块功能整合方案讨论
10
10
  - 双库架构下的数据存储方案选择
11
11
  - 食堂/后场/供应链业务扩展规划
12
12
 
13
- 适用项目:
14
- - leniu-tengyun-core:/Users/xujiajun/Developer/gongsi_proj/leniu-api/leniu-tengyun-core
15
- - leniu-yunshitang:/Users/xujiajun/Developer/gongsi_proj/leniu-api/leniu-tengyun/leniu-yunshitang
13
+ 适用项目:leniu-tengyun-core(云食堂项目)
16
14
 
17
- 触发词:头脑风暴、方案设计、怎么设计、创意探索、功能规划、可行性分析
15
+ 触发词:头脑风暴、方案设计、怎么设计、功能规划、可行性分析、模块选择、架构方案
18
16
  ---
19
17
 
20
- # leniu-yunshitang-core 头脑风暴框架
18
+ # leniu 头脑风暴框架
21
19
 
22
- ## 项目技术约束(方案边界)
23
-
24
- > **所有方案必须在以下技术栈和架构约束内思考**
25
-
26
- ### 核心架构约束
27
-
28
- | 约束 | 说明 |
29
- |------|------|
30
- | **JDK** | 21(必须用 `jakarta.validation.*`) |
31
- | **框架** | pigx-framework 3.4.7 + Spring Boot 3.x |
32
- | **架构** | 四层:Controller → Business → Service → Mapper |
33
- | **包名** | `net.xnzn.core.*`(禁止 `org.dromara.*`) |
34
- | **双库** | 系统库(全局)+ 商户库(租户),无 `tenant_id` 字段 |
35
- | **租户识别** | 请求头 `MERCHANT-ID`,`Executors.doInTenant()` 切换 |
36
- | **ID 生成** | `Id.next()`(雪花ID) |
37
- | **异常** | `LeException`(禁止 `ServiceException`) |
38
- | **对象转换** | `BeanUtil.copyProperties()`(禁止 `MapstructUtils`) |
39
- | **国际化** | `I18n.getMessage()` |
40
- | **审计字段** | `crby/crtime/upby/uptime`,`del_flag: 1=删除, 2=正常` |
41
-
42
- ### 已有业务模块(可复用)
20
+ ## 已有业务模块(可复用)
43
21
 
44
22
  | 模块 | 路径 | 核心业务 |
45
23
  |------|------|---------|
46
- | **食堂模块** | `sys-canteen/` | 订单、菜单、支付、营销、设备、评价、营养、报表、超市、餐具 |
47
- | **后场模块** | `sys-kitchen/` | 后场厨房、排班考勤 |
48
- | **供应链模块** | `sys-drp/` | ERP、供应链管理 |
49
- | **公共模块** | `sys-common/` | 适配器、认证、商户管理 |
50
- | **基础模块** | `core-base/` | 公共组件、启动配置 |
51
- | **管理模块** | `sys-admin/` | 系统管理 |
52
- | **物流模块** | `sys-logistics/` | 物流配送 |
24
+ | **食堂** | `sys-canteen/` | 订单、菜单、支付、营销、设备、评价、营养、报表、超市、餐具 |
25
+ | **后场** | `sys-kitchen/` | 后场厨房、排班考勤 |
26
+ | **供应链** | `sys-drp/` | ERP、供应链管理 |
27
+ | **公共** | `sys-common/` | 适配器、认证、商户管理 |
28
+ | **管理** | `sys-admin/` | 系统管理 |
29
+ | **物流** | `sys-logistics/` | 物流配送 |
53
30
  | **开放接口** | `sys-open/` | 第三方开放 API |
54
31
 
55
- ### sys-canteen 子模块清单
32
+ ### sys-canteen 子模块(18个)
56
33
 
57
34
  ```
58
- account - 账户管理 allocation - 分配管理
59
- cost - 成本管理 customer - 客户管理
60
- device - 设备管理 evaluate - 评价管理
61
- marketing - 营销活动 menu - 菜单管理
62
- menuai - AI菜单 menuintel - 智能菜单
63
- notice - 通知公告 nutrition - 营养管理
64
- order - 订单管理 pay - 支付管理
65
- report - 报表统计 supermarket - 超市管理
66
- tableware - 餐具管理 tablewarev2 - 餐具V2
35
+ account(账户) allocation(分配) cost(成本) customer(客户)
36
+ device(设备) evaluate(评价) marketing(营销) menu(菜单)
37
+ menuai(AI菜单) menuintel(智能菜单) notice(通知) nutrition(营养)
38
+ order(订单) pay(支付) report(报表) supermarket(超市)
39
+ tableware(餐具) tablewarev2(餐具V2)
67
40
  ```
68
41
 
69
- ### 已集成的基础能力
42
+ ### 已集成基础能力
70
43
 
71
- | 能力 | 实现方式 | 说明 |
72
- |------|---------|------|
73
- | 缓存 | Redis | `RedisUtil` 工具类 |
74
- | 消息队列 | MQ | `MqUtil` + `@MqConsumer` |
75
- | 定时任务 | XXL-Job | `@XxlJob` + `TenantLoader` |
76
- | 文件存储 | OSS | 云存储服务 |
77
- | Excel导出 | 异步导出 | `exportApi.startExcel()` |
78
- | 认证 | `@RequiresAuthentication` | Sa-Token 变体 |
79
- | 日志 | `@Slf4j` | Logback |
44
+ | 能力 | 实现 |
45
+ |------|------|
46
+ | 缓存 | Redis + `RedisUtil` |
47
+ | 消息队列 | `MqUtil` + `@MqConsumer` |
48
+ | 定时任务 | `@XxlJob` + `TenantLoader` |
49
+ | 文件存储 | OSS 云存储 |
50
+ | Excel导出 | `exportApi.startExcel()`(异步) |
51
+ | 认证 | `@RequiresAuthentication` |
80
52
 
81
53
  ---
82
54
 
83
- ## 思维模式
55
+ ## 6 维决策框架
84
56
 
85
- ### 发散思维 - 尽可能多的方案
57
+ **每个方案必须回答以下 6 个问题:**
86
58
 
87
- 1. **不评判**: 先列出所有想法,不考虑可行性
88
- 2. **模块复用**: 能否复用 sys-canteen 下已有的 18 个子模块?
89
- 3. **跨模块组合**: 食堂 + 后场 + 供应链能否组合?
90
- 4. **双库视角**: 数据放系统库还是商户库?
91
- 5. **反向思考**: 如果要让问题更糟,会怎么做?反过来就是方案
59
+ | 维度 | 核心问题 | 决策要点 |
60
+ |------|---------|---------|
61
+ | **模块归属** | 放哪个模块? | canteen/kitchen/drp/common/新模块 |
62
+ | **双库归属** | 数据放哪个库? | 商户库=默认,系统库=`Executors.doInSystem()` |
63
+ | **四层架构** | 如何分层? | 跨 Service → 必须 Business 编排 |
64
+ | **多端路由** | 哪些端需要? | web/mobile/android/open |
65
+ | **复用度** | 能复用什么? | 现有子模块、代码模式、工具类 |
66
+ | **审计与删除** | 标准字段? | crby/crtime/upby/uptime + del_flag(1=删,2=正常) |
92
67
 
93
- ### 收敛思维 - 筛选最优方案
68
+ ### 快速决策表
94
69
 
95
- 1. **复用优先**: 能否复用现有模块代码?
96
- 2. **双库兼容**: 数据归属是否明确(系统级 vs 租户级)?
97
- 3. **四层架构**: Business 层编排逻辑是否清晰?
98
- 4. **多端支持**: Web/Mobile/Android 端需要哪些接口?
99
- 5. **成本**: 开发时间和改动范围如何?
100
- 6. **风险**: 对现有业务有无影响?
70
+ | 问题 | 推荐方案 | 原因 |
71
+ |------|---------|------|
72
+ | 新功能放哪个模块? | 看业务关联度 | canteen=食堂、kitchen=后场、drp=供应链 |
73
+ | 需要新建子模块吗? | 优先扩展现有模块 | sys-canteen 已有 18 个子模块 |
74
+ | 数据放哪个库? | 商户库(默认) | 除非全局配置/平台级数据才用系统库 |
75
+ | 需要 Business 层吗? | 涉及多 Service 就需要 | 单表→Service,跨表→Business |
76
+ | 哪些端需要接口? | Web + Mobile 为主 | Android/Open 按需 |
77
+ | 用 MQ 还是同步? | 实时性要求不高用 MQ | 通知、统计、日志异步处理 |
78
+ | 定时任务? | @XxlJob + TenantLoader | 多租户定时任务标准模式 |
79
+ | 报表? | ReportBaseParam + 合计行 | 参考 leniu-java-report-query-param |
80
+ | 导出? | exportApi.startExcel() | 异步导出标准模式 |
101
81
 
102
- ---
82
+ ### 双库判断标准
103
83
 
104
- ## leniu 专属决策维度
84
+ ```
85
+ 商户库(默认)
86
+ ├── 租户私有数据:订单、菜品、客户、账户
87
+ ├── 租户配置:食堂设置、餐次配置、设备绑定
88
+ └── 租户业务:营销活动、报表数据
105
89
 
106
- ### 必须考虑的 6 个维度
90
+ 系统库(Executors.doInSystem)
91
+ ├── 全局配置:商户管理、系统参数
92
+ ├── 公共数据:字典、行政区划
93
+ └── 平台级功能:平台统计、运营数据
107
94
 
108
- | 维度 | 问题 | 实现要点 |
109
- |------|------|---------|
110
- | **四层架构** | 如何分层? | Controller → Business(编排) → Service(单表) → Mapper |
111
- | **双库归属** | 数据放哪个库? | 系统库=`Executors.doInSystem()`,商户库=默认 |
112
- | **模块归属** | 放哪个模块? | sys-canteen / sys-kitchen / sys-drp / sys-common / 新模块 |
113
- | **多端路由** | 哪些端需要? | `/api/v2/web/` `/api/v2/mobile/` `/api/v2/android/` `/api/v2/open/` |
114
- | **Business 编排** | 跨 Service 吗? | 涉及多个 Service → 必须走 Business 层 |
115
- | **审计与删除** | 标准字段? | `crby/crtime/upby/uptime` + `del_flag(1=删,2=正常)` |
95
+ 两个库都涉及
96
+ ├── 商户信息:系统库存基本信息,商户库存扩展配置
97
+ └── 公共模板:系统库存模板,商户库存实例化数据
98
+ ```
116
99
 
117
- ### 方案评估矩阵(leniu 版)
100
+ ### 端优先决策树
101
+
102
+ ```
103
+ 管理操作(配置、审核、报表)→ Web 端 /api/v2/web/
104
+ 就餐操作(点餐、充值、查询)→ 移动端 /api/v2/mobile/
105
+ 设备操作(取餐、人脸识别) → 设备端 /api/v2/android/
106
+ 第三方对接(供应商、支付) → 开放接口 /api/v2/open/
107
+
108
+ 注意:同一功能不同端有不同 Controller,共享 Business/Service
109
+ ```
110
+
111
+ ---
112
+
113
+ ## 方案评估矩阵
118
114
 
119
115
  ```markdown
120
116
  | 方案 | 复用度(25%) | 双库适配(20%) | 多端(15%) | 架构合理(20%) | 开发量(20%) | 总分 |
@@ -122,11 +118,11 @@ tableware - 餐具管理 tablewarev2 - 餐具V2
122
118
  | 方案A | ? | ? | ? | ? | ? | ? |
123
119
  | 方案B | ? | ? | ? | ? | ? | ? |
124
120
 
125
- 评分说明:1-10分,分数越高越好
126
- - 复用度:能复用多少现有 sys-canteen/sys-kitchen 模块代码
127
- - 双库适配:系统库/商户库数据归属是否清晰
128
- - 多端:Web/Mobile/Android 端支持程度
129
- - 架构合理:四层架构分层是否合理,Business 编排是否清晰
121
+ 评分:1-10分,越高越好
122
+ - 复用度:能复用多少现有模块代码
123
+ - 双库适配:数据归属是否清晰
124
+ - 多端:Web/Mobile/Android 支持程度
125
+ - 架构合理:四层分层是否合理
130
126
  - 开发量:分数越高=工作量越少
131
127
  ```
132
128
 
@@ -134,106 +130,49 @@ tableware - 餐具管理 tablewarev2 - 餐具V2
134
130
 
135
131
  ## 方案探索模板
136
132
 
137
- ### 1. 问题定义(leniu 版)
133
+ ### 问题定义
138
134
 
139
135
  ```markdown
140
- ## 问题描述
141
-
142
- ### 基本信息
143
136
  - **是什么**: [具体功能描述]
144
137
  - **为什么重要**: [业务价值]
145
138
  - **当前状态**: [现有系统有无类似功能]
146
- - **期望结果**: [希望达到的效果]
147
-
148
- ### leniu 项目约束
149
139
  - **模块归属**: sys-canteen / sys-kitchen / sys-drp / sys-common / 新模块
150
- - **数据库归属**: 系统库(全局)/ 商户库(租户业务)/ 两者都需要
151
- - **端支持**: Web 管理端 / 移动端 / 设备端 / 开放接口
152
- - **是否跨模块**: 是否涉及多个子模块协作(需 Business 编排)
153
- ```
154
-
155
- ### 2. 可复用资源盘点
156
-
157
- ```markdown
158
- ## 现有资源
159
-
160
- ### 可复用的子模块
161
- | 模块 | 是否可用 | 复用部分 |
162
- |------|---------|---------|
163
- | order(订单) | ✅/❓ | 订单流转模式、状态机 |
164
- | menu(菜单) | ✅/❓ | 菜品数据模型 |
165
- | marketing(营销) | ✅/❓ | 活动规则引擎 |
166
- | pay(支付) | ✅/❓ | 支付流程 |
167
- | report(报表) | ✅/❓ | 报表查询模式 |
168
- | account(账户) | ✅/❓ | 账户余额操作 |
169
-
170
- ### 可参考的代码模式
171
- | 模式 | 参考位置 | 说明 |
172
- |------|---------|------|
173
- | 四层 CRUD | order 模块 | Controller→Business→Service→Mapper |
174
- | 报表查询 | report 模块 | ReportBaseParam + PageDTO + 合计行 |
175
- | 营销规则 | marketing 模块 | 计费规则/充值规则定制 |
176
- | 异步导出 | 各模块 export | exportApi.startExcel() |
177
- | MQ 消费 | 各模块 mq/ | @MqConsumer 消息处理 |
178
- | 定时任务 | 各模块 task/ | @XxlJob + TenantLoader |
179
-
180
- ### 需要新开发的部分
181
- - [ ] [需要开发的内容]
140
+ - **数据库归属**: 商户库 / 系统库 / 两者都需要
141
+ - **端支持**: Web / Mobile / Android / Open
142
+ - **是否跨模块**: 是否涉及多个子模块(需 Business 编排)
182
143
  ```
183
144
 
184
- ### 3. 方案列举
145
+ ### 方案列举
185
146
 
186
147
  ```markdown
187
- ## 可能方案
188
-
189
- ### 方案 A: 最大复用(推荐优先考虑)
190
- - **描述**: 基于现有模块组合实现
191
- - **复用**: [复用的模块/代码]
192
- - **新开发**: [必须新写的部分]
193
- - **数据库**: 数据放商户库,使用默认租户隔离
194
- - **架构**: [涉及的 Business/Service 层]
195
- - **优点**: 开发快、架构一致
196
- - **缺点**: [限制]
148
+ ### 方案 A: 最大复用(优先考虑)
149
+ - 基于现有模块组合实现
150
+ - 复用:[哪些模块/代码],新开发:[必须新写的部分]
151
+ - 数据库:[归属],架构:[分层设计]
197
152
 
198
153
  ### 方案 B: 适度扩展
199
- - **描述**: 在现有模块基础上新增子模块
200
- - **复用**: [复用部分]
201
- - **新开发**: [新写部分]
202
- - **数据库**: [归属]
203
- - **架构**: [分层]
204
- - **优点**: 平衡复用与定制
205
- - **缺点**: [限制]
154
+ - 在现有模块基础上新增子模块
155
+ - 复用:[部分],新开发:[部分]
206
156
 
207
157
  ### 方案 C: 独立新模块
208
- - **描述**: 新建业务模块
209
- - **复用**: 仅复用基础架构和工具类
210
- - **新开发**: 完整业务逻辑
211
- - **数据库**: [归属]
212
- - **架构**: 完整四层架构
213
- - **优点**: 解耦清晰
214
- - **缺点**: 开发量大
158
+ - 新建业务模块,完整四层架构
159
+ - 仅复用基础架构和工具类
215
160
  ```
216
161
 
217
- ### 4. 推荐方案
162
+ ### 推荐方案输出
218
163
 
219
164
  ```markdown
220
- ## 推荐方案
221
-
222
165
  **推荐**: 方案 [X]
223
-
224
- **理由**:
225
- 1. 复用了 [xxx] 模块,减少 [xx%] 开发量
226
- 2. 数据归属清晰:[系统库/商户库]
227
- 3. 四层架构分层合理
166
+ **理由**: 1. 复用了 [xxx] 2. 数据归属清晰 3. 架构合理
228
167
 
229
168
  **实施步骤**:
230
- 1. [ ] 数据库设计 → 使用 `leniu-database-ops` Skill
231
- 2. [ ] Entity/VO/DTO → 使用 `leniu-java-entity` Skill
232
- 3. [ ] 后端 CRUD → 使用 `leniu-crud-development` Skill
233
- 4. [ ] API 接口 → 使用 `leniu-api-development` Skill
169
+ 1. [ ] 数据库设计 → leniu-database-ops
170
+ 2. [ ] Entity/VO/DTO → leniu-java-entity
171
+ 3. [ ] 后端 CRUD → leniu-crud-development
172
+ 4. [ ] API 接口 → leniu-api-development
234
173
  5. [ ] 测试验证
235
174
 
236
- **风险点**:
175
+ **风险**:
237
176
  | 风险 | 应对策略 |
238
177
  |------|---------|
239
178
  | [风险1] | [策略] |
@@ -241,353 +180,51 @@ tableware - 餐具管理 tablewarev2 - 餐具V2
241
180
 
242
181
  ---
243
182
 
244
- ## 云食堂典型业务场景
245
-
246
- ### 场景 1:食堂业务扩展
247
-
248
- ```
249
- 需求:新增"预订餐"功能
250
-
251
- 头脑风暴:
252
- ├── 模块归属
253
- │ ├── sys-canteen/order 扩展 ✅ 推荐(与订单强关联)
254
- │ ├── sys-canteen 新建 reservation 子模块
255
- │ └── 独立模块(不推荐,过度设计)
256
-
257
- ├── 功能拆解
258
- │ ├── 预订配置(管理端:餐次、提前时间、名额)
259
- │ ├── 预订下单(移动端:选餐、提交预订)
260
- │ ├── 预订取消(自动/手动取消)
261
- │ └── 预订统计(报表:预订率、取消率)
262
-
263
- ├── 数据库归属
264
- │ ├── 预订配置表 → 商户库(各食堂独立配置)
265
- │ ├── 预订记录表 → 商户库(租户业务数据)
266
- │ └── 无需系统库数据
267
-
268
- ├── 可复用
269
- │ ├── order 模块 → 订单状态机、支付流程
270
- │ ├── menu 模块 → 菜品数据
271
- │ ├── account 模块 → 余额扣减
272
- │ ├── MqUtil → 预订到期提醒
273
- │ └── @XxlJob → 自动取消过期预订
274
-
275
- └── 四层架构
276
- ├── Controller: ReservationWebController / ReservationMobileController
277
- ├── Business: ReservationWebBusiness(编排预订+订单+支付)
278
- ├── Service: ReservationInfoService(单表 CRUD)
279
- └── Mapper: ReservationInfoMapper + XML
280
- ```
281
-
282
- ### 场景 2:跨模块数据整合
283
-
284
- ```
285
- 需求:食堂+后场联动报表
286
-
287
- 头脑风暴:
288
- ├── 数据来源
289
- │ ├── sys-canteen/order → 订单数据
290
- │ ├── sys-canteen/menu → 菜品数据
291
- │ ├── sys-kitchen/kitchen → 后厨出餐数据
292
- │ └── sys-canteen/cost → 成本数据
293
-
294
- ├── 方案选择
295
- │ ├── 方案 A:报表 Service 跨模块查询 ✅
296
- │ │ └── Business 层编排多个 Service
297
- │ ├── 方案 B:ETL 预计算汇总表
298
- │ │ └── @XxlJob 定时聚合
299
- │ └── 方案 C:视图或存储过程
300
- │ └── 不推荐(不符合项目规范)
301
-
302
- ├── 架构设计
303
- │ ├── Controller: ReportWebController(/api/v2/web/report/xxx)
304
- │ ├── Business: ReportCrossModuleBusiness(编排跨模块查询)
305
- │ ├── Service: 各模块现有 Service
306
- │ └── Param: ReportBaseParam(分页+时间范围+餐次)
307
-
308
- └── 注意事项
309
- ├── 跨模块查询全部在 Business 层编排
310
- ├── 使用 Executors.doInTenant() 确保租户隔离
311
- ├── 报表入参继承 ReportBaseParam
312
- └── 合计行使用 ReportBaseTotalVO 模式
313
- ```
314
-
315
- ### 场景 3:设备端新功能
316
-
317
- ```
318
- 需求:智能取餐柜集成
319
-
320
- 头脑风暴:
321
- ├── 模块归属
322
- │ ├── sys-canteen/device 扩展 ✅ 推荐
323
- │ └── 新建 sys-canteen/cabinet 子模块
324
-
325
- ├── 多端接口
326
- │ ├── Web 管理端:柜子配置、状态监控
327
- │ │ └── /api/v2/web/cabinet/...
328
- │ ├── 设备端:开柜、存取餐
329
- │ │ └── /api/v2/android/cabinet/...
330
- │ └── 移动端:取餐码、取餐通知
331
- │ └── /api/v2/mobile/cabinet/...
332
-
333
- ├── 数据库
334
- │ ├── cabinet_info(柜子信息)→ 商户库
335
- │ ├── cabinet_cell(格口信息)→ 商户库
336
- │ ├── cabinet_record(存取记录)→ 商户库
337
- │ └── cabinet_config(全局配置)→ 系统库(Executors.doInSystem)
338
-
339
- └── 可复用
340
- ├── device 模块 → 设备注册/心跳模式
341
- ├── order 模块 → 订单关联
342
- ├── MqUtil → 存餐/取餐事件通知
343
- └── notice 模块 → 取餐提醒推送
344
- ```
345
-
346
- ### 场景 4:营销活动扩展
347
-
348
- ```
349
- 需求:新增优惠活动类型
350
-
351
- 头脑风暴:
352
- ├── 模块归属
353
- │ └── sys-canteen/marketing ✅(已有营销模块)
354
-
355
- ├── 已有营销能力
356
- │ ├── 计费规则(price)→ 折扣、满减、限额、补贴
357
- │ ├── 充值规则(recharge)→ 满赠、按次赠送、限额
358
- │ └── 规则定制器 → leniu-marketing-price-rule-customizer
359
-
360
- ├── 扩展方式
361
- │ ├── 方案 A:复用规则定制器,新增规则类型 ✅ 推荐
362
- │ │ └── 参考 leniu-marketing-price-rule-customizer Skill
363
- │ ├── 方案 B:新建活动子类型
364
- │ │ └── 在 marketing 模块下新增 activity 包
365
- │ └── 方案 C:独立营销引擎
366
- │ └── 过度设计,不推荐
367
-
368
- └── 注意
369
- └── 营销规则定制参考专用 Skill:
370
- - leniu-marketing-price-rule-customizer
371
- - leniu-marketing-recharge-rule-customizer
372
- ```
373
-
374
- ### 场景 5:供应链集成
375
-
376
- ```
377
- 需求:供应商对接与采购管理
378
-
379
- 头脑风暴:
380
- ├── 模块归属
381
- │ └── sys-drp/erp ✅(已有供应链模块)
382
-
383
- ├── 功能拆解
384
- │ ├── 供应商管理(基本信息、资质)
385
- │ ├── 采购计划(基于菜单自动生成)
386
- │ ├── 采购订单(下单、收货、退货)
387
- │ └── 库存管理(入库、出库、盘点)
388
-
389
- ├── 跨模块联动
390
- │ ├── menu 模块 → 菜品原料需求
391
- │ ├── cost 模块 → 采购成本核算
392
- │ ├── kitchen 模块 → 后厨领料
393
- │ └── report 模块 → 采购报表
394
-
395
- ├── 数据库
396
- │ ├── 供应商数据 → 商户库(各食堂独立供应商)
397
- │ ├── 采购数据 → 商户库
398
- │ └── 供应商公共目录 → 系统库(可选,平台级共享)
399
-
400
- └── 四层架构
401
- ├── Controller: 按端分 web/mobile
402
- ├── Business: PurchaseBusiness(编排采购+库存+成本)
403
- ├── Service: SupplierService / PurchaseOrderService / InventoryService
404
- └── Mapper: 各自 Mapper + XML(同目录!)
405
- ```
406
-
407
- ---
408
-
409
- ## 创意激发技巧(leniu 版)
410
-
411
- ### 1. 模块组合法
412
-
413
- ```
414
- 问题:如何实现智能配餐推荐?
415
-
416
- 模块组合:
417
- ├── menuai(AI菜单)→ 已有 AI 菜单基础
418
- ├── menuintel(智能菜单)→ 智能推荐逻辑
419
- ├── nutrition(营养管理)→ 营养数据
420
- ├── customer(客户管理)→ 用户偏好
421
- ├── order(订单)→ 历史消费数据
422
- └── MqUtil → 异步推荐计算
423
-
424
- 组合方案:
425
- 1. 收集用户历史订单(order)
426
- 2. 分析营养需求(nutrition)
427
- 3. 结合用户偏好(customer)
428
- 4. 生成推荐菜单(menuintel)
429
- 5. Business 层编排以上 Service
430
- ```
431
-
432
- ### 2. 现有功能类比法
433
-
434
- ```
435
- 问题:如何实现团餐预订?
436
-
437
- 类比分析:
438
- ├── 类似 order → 创建、状态流转、支付、取消
439
- ├── 类似 marketing → 团购优惠规则
440
- └── 类似 allocation → 批量分配
441
-
442
- 复用点:
443
- ├── 订单状态机 → 预订状态流转
444
- ├── 支付流程 → 预订支付
445
- ├── 营销规则 → 团购折扣
446
- └── MQ 通知 → 预订确认通知
447
- ```
448
-
449
- ### 3. 双库思考法
450
-
451
- ```
452
- 问题:数据应该放哪个库?
453
-
454
- 判断标准:
455
- ├── 商户库(默认)
456
- │ ├── 租户私有数据:订单、菜品、客户、账户
457
- │ ├── 租户配置:食堂设置、餐次配置、设备绑定
458
- │ └── 租户业务:营销活动、报表数据
459
-
460
- ├── 系统库(Executors.doInSystem)
461
- │ ├── 全局配置:商户管理、系统参数
462
- │ ├── 公共数据:字典、行政区划
463
- │ └── 平台级功能:平台统计、运营数据
464
-
465
- └── 两个库都涉及
466
- ├── 商户信息:系统库存基本信息,商户库存扩展配置
467
- └── 公共模板:系统库存模板,商户库存实例化数据
468
- ```
469
-
470
- ### 4. 端优先思考法
471
-
472
- ```
473
- 问题:功能应该在哪个端实现?
474
-
475
- 决策树:
476
- ├── 管理操作(配置、审核、报表)→ Web 端 /api/v2/web/
477
- ├── 就餐操作(点餐、充值、查询)→ 移动端 /api/v2/mobile/
478
- ├── 设备操作(取餐、人脸识别)→ 设备端 /api/v2/android/
479
- └── 第三方对接(供应商、支付)→ 开放接口 /api/v2/open/
480
-
481
- 注意:同一功能不同端可能有不同 Controller,但共享 Business/Service
482
- ```
483
-
484
- ---
485
-
486
- ## 讨论引导问题(leniu 版)
183
+ ## 讨论引导问题
487
184
 
488
185
  ### 功能规划时
489
186
 
490
- 1. **模块视角**
491
- - 属于哪个已有模块(canteen/kitchen/drp)?
492
- - 能复用哪些子模块(order/menu/marketing...)?
493
- - 是否需要新建子模块?
494
-
495
- 2. **双库视角**
496
- - 数据是租户级还是系统级?
497
- - 是否需要 `Executors.doInSystem()` 切换?
498
- - 跨库查询如何处理?
499
-
500
- 3. **架构视角**
501
- - 是否涉及多个 Service 协作(需要 Business 层)?
502
- - Controller 按哪些端划分?
503
- - 是否需要 MQ 异步处理?
504
-
505
- 4. **报表视角**
506
- - 是否需要报表统计?
507
- - 入参是否需要餐次筛选(mealtimeTypes)?
508
- - 是否需要合计行(totalLine)?
187
+ 1. 属于哪个已有模块?能复用哪些子模块?
188
+ 2. 数据是租户级还是系统级?是否需要 `Executors.doInSystem()`?
189
+ 3. 涉及多个 Service 吗(需要 Business 层)?Controller 按哪些端划分?
190
+ 4. 是否需要 MQ 异步、定时任务、报表统计?
191
+ 5. 是否需要合计行(totalLine)或餐次筛选(mealtimeTypes)?
509
192
 
510
193
  ### 方案选择时
511
194
 
512
- 1. **短期 vs 长期**
513
- - 快速上线还是可扩展优先?
514
- - 是否在已有模块上扩展就够?
515
-
516
- 2. **简单 vs 完整**
517
- - MVP 包含哪些端的接口?
518
- - 完整版还需要哪些功能?
519
-
520
- 3. **风险评估**
521
- - 对现有订单/支付流程有影响吗?
522
- - 数据迁移需求?
523
- - 性能瓶颈在哪?
195
+ 1. 快速上线 vs 可扩展?在已有模块扩展是否够用?
196
+ 2. MVP 包含哪些端的接口?完整版还需什么?
197
+ 3. 对现有订单/支付流程有影响吗?性能瓶颈在哪?
524
198
 
525
199
  ---
526
200
 
527
- ## 常见问题快速决策
201
+ ## 典型业务场景示例
528
202
 
529
- | 问题 | 推荐方案 | 原因 |
530
- |------|---------|------|
531
- | 新功能放哪个模块? | 看业务关联度 | canteen=食堂、kitchen=后场、drp=供应链 |
532
- | 需要新建子模块吗? | 优先扩展现有模块 | sys-canteen 已有 18 个子模块覆盖大部分场景 |
533
- | 数据放哪个库? | 商户库(默认) | 除非是全局配置/平台级数据才用系统库 |
534
- | 需要 Business 层吗? | 涉及多 Service 就需要 | 单表操作直接 Service,跨表编排走 Business |
535
- | 哪些端需要接口? | Web + Mobile 为主 | Android 端按需,Open 端对外开放时才加 |
536
- | 用 MQ 还是同步? | 实时性要求不高用 MQ | 通知、统计、日志等异步处理 |
537
- | 定时任务用什么? | @XxlJob + TenantLoader | 多租户定时任务标准模式 |
538
- | 报表怎么做? | ReportBaseParam + 合计行 | 参考 leniu-java-report-query-param / leniu-java-total-line |
539
- | 导出怎么做? | exportApi.startExcel() | 异步导出,参考 leniu-java-export |
540
- | 菜单/菜品相关? | 复用 menu/menuai/menuintel | 已有完整菜单体系 |
541
- | 支付相关? | 复用 pay 模块 | 已有支付流程 |
542
- | 营销活动相关? | 复用 marketing + 规则定制器 | 已有规则引擎框架 |
543
- | 需要金额处理? | Long 分存储,展示转元 | 参考 leniu-java-amount-handling |
544
- | 需要餐次筛选? | mealtimeTypes 字段 | 参考 leniu-mealtime |
203
+ 详见 `references/business-scenarios.md`,包含:
204
+ - 食堂业务扩展(预订餐功能)
205
+ - 跨模块数据整合(食堂+后场联动报表)
206
+ - 设备端新功能(智能取餐柜)
207
+ - 营销活动扩展
208
+ - 供应链集成
545
209
 
546
210
  ---
547
211
 
548
- ## 与其他 leniu Skill 联动
549
-
550
- ### 头脑风暴后的实施路径
212
+ ## Skill 联动路径
551
213
 
552
214
  ```
553
- leniu-brainstorm(本 Skill
554
- 确定方案后
555
-
556
- ├── 架构设计 → leniu-architecture-design
557
-
558
- ├── 数据库设计 → leniu-database-ops
559
- │ └── 建表、双库归属确认
560
-
561
- ├── Entity/VO/DTO → leniu-java-entity
562
- │ └── 审计字段、逻辑删除
563
-
564
- ├── 后端 CRUD → leniu-crud-development
565
- │ └── 四层架构代码生成
566
-
567
- ├── API 接口 → leniu-api-development
568
- │ └── 多端路由、LeRequest/LeResult
569
-
570
- ├── 报表功能 → leniu-java-report-query-param + leniu-java-total-line
571
- │ └── 查询入参、合计行
572
-
573
- ├── 营销规则 → leniu-marketing-price-rule-customizer
574
- │ └── 计费规则定制
575
-
576
- ├── 导出功能 → leniu-java-export
577
- │ └── 异步 Excel 导出
578
-
579
- ├── 定时任务 → leniu-java-task
580
- │ └── @XxlJob + TenantLoader
581
-
582
- ├── MQ 消息 → leniu-java-mq
583
- │ └── MqUtil + @MqConsumer
584
-
585
- └── 工具类 → leniu-utils-toolkit
586
- └── BeanUtil、CollUtil、StrUtil 等
215
+ leniu-brainstorm(本 Skill)→ 确定方案后:
216
+ ├── 数据库设计 → leniu-database-ops
217
+ ├── Entity/VO/DTO → leniu-java-entity
218
+ ├── 后端 CRUD → leniu-crud-development
219
+ ├── API 接口 → leniu-api-development
220
+ ├── 报表功能 → leniu-java-report-query-param + leniu-java-total-line
221
+ ├── 营销规则 → leniu-marketing-price-rule-customizer
222
+ ├── 导出功能 → leniu-java-export
223
+ ├── 定时任务 → leniu-java-task
224
+ ├── MQ 消息 → leniu-java-mq
225
+ └── 工具类 → leniu-utils-toolkit
587
226
  ```
588
227
 
589
- ### 快速触发其他 Skill
590
-
591
228
  | 头脑风暴结论 | 下一步 Skill | 触发方式 |
592
229
  |-------------|-------------|---------|
593
230
  | 需要建表 | leniu-database-ops | "帮我设计 leniu xxx 表" |
@@ -595,57 +232,11 @@ leniu-brainstorm(本 Skill)
595
232
  | 需要 API | leniu-api-development | "帮我设计 leniu xxx 接口" |
596
233
  | 需要报表 | leniu-java-report-query-param | "帮我做 leniu xxx 报表" |
597
234
  | 需要导出 | leniu-java-export | "帮我实现 leniu xxx 导出" |
598
- | 需要定时任务 | leniu-java-task | "帮我写 leniu xxx 定时任务" |
599
-
600
- ---
601
-
602
- ## 头脑风暴输出模板
603
-
604
- ### 完整输出格式
605
-
606
- ```markdown
607
- # [功能名称] 方案设计
608
-
609
- ## 1. 问题定义
610
- - 需求描述:[xxx]
611
- - 业务价值:[xxx]
612
- - 模块归属:sys-canteen / sys-kitchen / sys-drp
613
- - 数据库归属:商户库 / 系统库
614
- - 端支持:Web / Mobile / Android
615
-
616
- ## 2. 可复用资源
617
- | 资源 | 类型 | 复用程度 |
618
- |------|------|---------|
619
- | order 模块 | 子模块 | 参考模式 |
620
- | BeanUtil | 工具类 | 完全复用 |
621
-
622
- ## 3. 方案对比
623
- | 维度 | 方案 A | 方案 B |
624
- |------|-------|-------|
625
- | 复用度 | 高 | 中 |
626
- | 双库适配 | 清晰 | 需调整 |
627
- | 开发量 | 小 | 中 |
628
-
629
- ## 4. 推荐方案
630
- **方案 A** - [理由]
631
-
632
- ## 5. 实施步骤(leniu Skill 联动)
633
- 1. [ ] 数据库设计 → leniu-database-ops
634
- 2. [ ] Entity 设计 → leniu-java-entity
635
- 3. [ ] 后端 CRUD → leniu-crud-development
636
- 4. [ ] API 接口 → leniu-api-development
637
- 5. [ ] 测试验证
638
-
639
- ## 6. 风险与应对
640
- | 风险 | 应对策略 |
641
- |------|---------|
642
- | [风险1] | [策略] |
643
- ```
644
235
 
645
236
  ---
646
237
 
647
238
  ## 注意
648
239
 
649
- - 如果是具体的架构设计(双库、分层、模块划分),请使用 `leniu-architecture-design`
650
- - 如果是通用的头脑风暴(非 leniu 项目),请使用 `brainstorm`
651
- - 如果是技术选型对比,请使用 `tech-decision`
240
+ - 具体架构设计(双库、分层、模块划分)→ 使用 `leniu-architecture-design`
241
+ - 通用头脑风暴(非 leniu 项目)→ 使用 `brainstorm`
242
+ - 技术选型对比 → 使用 `tech-decision`