ai-engineering-init 1.1.1 → 1.2.1

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.
@@ -113,6 +113,7 @@ const instructions = `## 强制技能激活流程(必须执行)
113
113
  - leniu-error-handler: leniu-yunshitang/leniu-异常/leniu-LeException/leniu-全局异常/leniu-参数校验/leniu-日志/leniu-错误码/leniu-I18n/leniu-国际化/net.xnzn/leniu-yunshitang
114
114
  - leniu-backend-annotations: leniu-yunshitang/leniu-注解/leniu-@RequiresAuthentication/leniu-@RequiresGuest/leniu-@Validated/leniu-@NotNull/leniu-@Api/leniu-@ApiOperation/leniu-@ApiModelProperty/leniu-分组校验/leniu-InsertGroup/leniu-UpdateGroup/net.xnzn/leniu-yunshitang
115
115
  - leniu-api-development: leniu-API/leniu-接口/leniu-Controller/leniu-RESTful/LeResult/云食堂接口/云食堂API/leiu-yunshitang
116
+ - leniu-brainstorm: leniu头脑风暴/云食堂方案/leniu怎么设计/云食堂讨论/leniu创意/leniu方案探索/leniu功能规划
116
117
  - leniu-architecture-design: leniu-架构/云食堂架构/双库架构/商户库/系统库/net.xnzn/pigx框架
117
118
  - openspec-new-change: 新建变更/开始新功能/opsx:new/openspec new/创建变更
118
119
  - openspec-ff-change: 快速推进/快速生成所有制品/opsx:ff/openspec ff/fast-forward
@@ -37,5 +37,11 @@
37
37
  }
38
38
  ]
39
39
  },
40
- "mcpServers": {}
40
+ "mcpServers": {
41
+ "codex": {
42
+ "command": "/Users/xujiajun/.nvm/versions/node/v20.19.6/bin/codex",
43
+ "args": ["mcp-server"],
44
+ "description": "OpenAI Codex CLI - 代码分析/算法实现/代码审查"
45
+ }
46
+ }
41
47
  }
@@ -0,0 +1,651 @@
1
+ ---
2
+ name: leniu-brainstorm
3
+ description: |
4
+ leniu-yunshitang-core 云食堂项目头脑风暴与方案探索指南。基于双库架构、四层架构、多业务模块的方案设计框架。
5
+
6
+ 触发场景:
7
+ - 云食堂项目功能方案设计与探索
8
+ - 新业务模块的可行性分析
9
+ - 跨模块功能整合方案讨论
10
+ - 双库架构下的数据存储方案选择
11
+ - 食堂/后场/供应链业务扩展规划
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
16
+
17
+ 触发词:leniu头脑风暴、云食堂方案、leniu怎么设计、云食堂讨论、leniu创意、leniu方案探索、leniu功能规划、leniu-yunshitang
18
+ ---
19
+
20
+ # leniu-yunshitang-core 头脑风暴框架
21
+
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
+ ### 已有业务模块(可复用)
43
+
44
+ | 模块 | 路径 | 核心业务 |
45
+ |------|------|---------|
46
+ | **食堂模块** | `sys-canteen/` | 订单、菜单、支付、营销、设备、评价、营养、报表、超市、餐具 |
47
+ | **后场模块** | `sys-kitchen/` | 后场厨房、排班考勤 |
48
+ | **供应链模块** | `sys-drp/` | ERP、供应链管理 |
49
+ | **公共模块** | `sys-common/` | 适配器、认证、商户管理 |
50
+ | **基础模块** | `core-base/` | 公共组件、启动配置 |
51
+ | **管理模块** | `sys-admin/` | 系统管理 |
52
+ | **物流模块** | `sys-logistics/` | 物流配送 |
53
+ | **开放接口** | `sys-open/` | 第三方开放 API |
54
+
55
+ ### sys-canteen 子模块清单
56
+
57
+ ```
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
67
+ ```
68
+
69
+ ### 已集成的基础能力
70
+
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 |
80
+
81
+ ---
82
+
83
+ ## 思维模式
84
+
85
+ ### 发散思维 - 尽可能多的方案
86
+
87
+ 1. **不评判**: 先列出所有想法,不考虑可行性
88
+ 2. **模块复用**: 能否复用 sys-canteen 下已有的 18 个子模块?
89
+ 3. **跨模块组合**: 食堂 + 后场 + 供应链能否组合?
90
+ 4. **双库视角**: 数据放系统库还是商户库?
91
+ 5. **反向思考**: 如果要让问题更糟,会怎么做?反过来就是方案
92
+
93
+ ### 收敛思维 - 筛选最优方案
94
+
95
+ 1. **复用优先**: 能否复用现有模块代码?
96
+ 2. **双库兼容**: 数据归属是否明确(系统级 vs 租户级)?
97
+ 3. **四层架构**: Business 层编排逻辑是否清晰?
98
+ 4. **多端支持**: Web/Mobile/Android 端需要哪些接口?
99
+ 5. **成本**: 开发时间和改动范围如何?
100
+ 6. **风险**: 对现有业务有无影响?
101
+
102
+ ---
103
+
104
+ ## leniu 专属决策维度
105
+
106
+ ### 必须考虑的 6 个维度
107
+
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=正常)` |
116
+
117
+ ### 方案评估矩阵(leniu 版)
118
+
119
+ ```markdown
120
+ | 方案 | 复用度(25%) | 双库适配(20%) | 多端(15%) | 架构合理(20%) | 开发量(20%) | 总分 |
121
+ |------|-------------|---------------|-----------|---------------|-------------|------|
122
+ | 方案A | ? | ? | ? | ? | ? | ? |
123
+ | 方案B | ? | ? | ? | ? | ? | ? |
124
+
125
+ 评分说明:1-10分,分数越高越好
126
+ - 复用度:能复用多少现有 sys-canteen/sys-kitchen 模块代码
127
+ - 双库适配:系统库/商户库数据归属是否清晰
128
+ - 多端:Web/Mobile/Android 端支持程度
129
+ - 架构合理:四层架构分层是否合理,Business 编排是否清晰
130
+ - 开发量:分数越高=工作量越少
131
+ ```
132
+
133
+ ---
134
+
135
+ ## 方案探索模板
136
+
137
+ ### 1. 问题定义(leniu 版)
138
+
139
+ ```markdown
140
+ ## 问题描述
141
+
142
+ ### 基本信息
143
+ - **是什么**: [具体功能描述]
144
+ - **为什么重要**: [业务价值]
145
+ - **当前状态**: [现有系统有无类似功能]
146
+ - **期望结果**: [希望达到的效果]
147
+
148
+ ### leniu 项目约束
149
+ - **模块归属**: 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
+ - [ ] [需要开发的内容]
182
+ ```
183
+
184
+ ### 3. 方案列举
185
+
186
+ ```markdown
187
+ ## 可能方案
188
+
189
+ ### 方案 A: 最大复用(推荐优先考虑)
190
+ - **描述**: 基于现有模块组合实现
191
+ - **复用**: [复用的模块/代码]
192
+ - **新开发**: [必须新写的部分]
193
+ - **数据库**: 数据放商户库,使用默认租户隔离
194
+ - **架构**: [涉及的 Business/Service 层]
195
+ - **优点**: 开发快、架构一致
196
+ - **缺点**: [限制]
197
+
198
+ ### 方案 B: 适度扩展
199
+ - **描述**: 在现有模块基础上新增子模块
200
+ - **复用**: [复用部分]
201
+ - **新开发**: [新写部分]
202
+ - **数据库**: [归属]
203
+ - **架构**: [分层]
204
+ - **优点**: 平衡复用与定制
205
+ - **缺点**: [限制]
206
+
207
+ ### 方案 C: 独立新模块
208
+ - **描述**: 新建业务模块
209
+ - **复用**: 仅复用基础架构和工具类
210
+ - **新开发**: 完整业务逻辑
211
+ - **数据库**: [归属]
212
+ - **架构**: 完整四层架构
213
+ - **优点**: 解耦清晰
214
+ - **缺点**: 开发量大
215
+ ```
216
+
217
+ ### 4. 推荐方案
218
+
219
+ ```markdown
220
+ ## 推荐方案
221
+
222
+ **推荐**: 方案 [X]
223
+
224
+ **理由**:
225
+ 1. 复用了 [xxx] 模块,减少 [xx%] 开发量
226
+ 2. 数据归属清晰:[系统库/商户库]
227
+ 3. 四层架构分层合理
228
+
229
+ **实施步骤**:
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
234
+ 5. [ ] 测试验证
235
+
236
+ **风险点**:
237
+ | 风险 | 应对策略 |
238
+ |------|---------|
239
+ | [风险1] | [策略] |
240
+ ```
241
+
242
+ ---
243
+
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 版)
487
+
488
+ ### 功能规划时
489
+
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)?
509
+
510
+ ### 方案选择时
511
+
512
+ 1. **短期 vs 长期**
513
+ - 快速上线还是可扩展优先?
514
+ - 是否在已有模块上扩展就够?
515
+
516
+ 2. **简单 vs 完整**
517
+ - MVP 包含哪些端的接口?
518
+ - 完整版还需要哪些功能?
519
+
520
+ 3. **风险评估**
521
+ - 对现有订单/支付流程有影响吗?
522
+ - 数据迁移需求?
523
+ - 性能瓶颈在哪?
524
+
525
+ ---
526
+
527
+ ## 常见问题快速决策
528
+
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 |
545
+
546
+ ---
547
+
548
+ ## 与其他 leniu Skill 联动
549
+
550
+ ### 头脑风暴后的实施路径
551
+
552
+ ```
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 等
587
+ ```
588
+
589
+ ### 快速触发其他 Skill
590
+
591
+ | 头脑风暴结论 | 下一步 Skill | 触发方式 |
592
+ |-------------|-------------|---------|
593
+ | 需要建表 | leniu-database-ops | "帮我设计 leniu xxx 表" |
594
+ | 需要 CRUD | leniu-crud-development | "帮我开发 leniu xxx 模块" |
595
+ | 需要 API | leniu-api-development | "帮我设计 leniu xxx 接口" |
596
+ | 需要报表 | leniu-java-report-query-param | "帮我做 leniu xxx 报表" |
597
+ | 需要导出 | 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
+
645
+ ---
646
+
647
+ ## 注意
648
+
649
+ - 如果是具体的架构设计(双库、分层、模块划分),请使用 `leniu-architecture-design`
650
+ - 如果是通用的头脑风暴(非 leniu 项目),请使用 `brainstorm`
651
+ - 如果是技术选型对比,请使用 `tech-decision`