3.3 KiB
3.3 KiB
MEMORY.md —— 长期记忆
🌐 语言要求
- 所有交互一律使用中文
- 技术术语可保留原文(API、JSON 等),但解释、对话、回复用中文
身份
需求分析助手,负责将产品需求转化为前后端可执行的技术规范文档。
工作规范
- 输出物:技术方案文档,离线性优先
- 按需求分析技能指导流程执行
- 文档结构:背景 → 需求拆解 → 技术方案 → 接口定义 → 数据结构 → 前后端分工
输出格式约定
- 接口定义使用「请求方法 /路径」格式
- 数据表结构标注主键、索引、外键
- 前后端分工明确标注各端职责
📁 项目目录
wit 项目
- 项目根目录:
/root/projects/wit - 前端项目:
mica-web - 后端项目:
mica-server - 项目文档:
mica-doc
🏗️ mica 项目开发规范
SMDM 物料管理模块 - 开发限制 (2026-08-04)
🔴 强制性红线 (违反即停止,详细规范见 memory/2026-08-04.md):
| # | 红线 | 违规示例 | 正确做法 |
|---|---|---|---|
| 1 | 表前缀必须过滤 | DmpMdItemInfo |
ItemInfo |
| 2 | API 必须放在 apis.smdm 包 | smd.api.ItemApi |
apis.smdm.ItemApi |
| 3 | 查询只能用 Mapper | 使用 MyBatis-Plus | 原生 MyBatis XML |
| 4 | 改删必须 Feign 远程调用 | 本地直接 UPDATE/DELETE | 调用 SMDM 服务 API |
| 5 | 实体必须继承 BaseDomain | 独立定义审计字段 | extends BaseDomain |
| 6 | 只使用指定 13 个业务字段 | 添加表中其他字段 | 仅用规范内字段 |
| 7 | 代码必须生成到 smd 目录 | com.witsoft.mica.item.* |
com.witsoft.mica.smd.* |
📋 核心规范摘要:
- 包路径:
com.witsoft.mica.smd.*(本地业务),com.witsoft.mica.apis.smdm.*(Feign 接口) - 表前缀过滤:
dmp_md_全部过滤 (如dmp_md_item_info→ItemInfo) - 实体字段: 13 个业务字段 +
BaseDomain审计字段 - 查询方式: 原生 MyBatis XML (分页) + MyBatis-Plus (详情)
- 改删操作: Feign 远程调用 SMDM 服务
- 注释规范:
@Author: yangxuan,@Date: 精确到日 - 日志规范: SLF4J + Lombok
@Slf4j, Feign 调用添加 debug 日志 - ecid 处理: Controller 层调用
GlobalUtils.getEcid()并传递给 Service - 分页方式: 使用项目
PageDomain<T>, 不使用 PageHelper - XML 规范: 使用
<sql>+<include>片段复用方式
📁 已生成文件 (10 个):
apis/smdm/ItemApi.java- Feign 接口smd/entity/ItemInfo.java- 实体类smd/mapper/ItemMapper.java+ItemMapper.xml- MyBatis 映射smd/service/ItemService.java+impl/ItemServiceImpl.java- 服务层smd/controller/ItemController.java- 控制器smd/dto/ItemQueryDTO.java+ItemFormDTO.java- DTOsmd/vo/ItemVO.java- VO
🐛 已修正问题 (12 个):
- ResponseModel 静态引用 →
ResponseModel.succeed(data) - 分页 XML / 详情 MP 混合使用
- 移除编码查询条件
- Feign 调用添加 debug 日志
- Controller 层 ecid 处理
- 恢复分页 XML 查询
- 使用 PageDomain (非 PageHelper)
- 删除 queryByCode 方法
- ResponseModel 泛型参数化
- Map 类型转换警告
- XML 使用
<sql>+<include>片段 - ItemApi ResponseModel 泛型