骨架代码规范
This commit is contained in:
@@ -62,6 +62,61 @@
|
||||
- 在更改配置或调度器之前(如 crontab、systemd 单元、nginx 配置、shell rc 文件),先检查现有状态,默认保留/合并。
|
||||
- `trash` > `rm`(可恢复优于永久删除)
|
||||
- 有疑问时,先询问。
|
||||
- **禁止擅自提交项目代码到 git** - 必须先询问用户确认后再提交
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ mica 项目开发规范
|
||||
|
||||
### SMDM 物料管理模块 - 开发限制
|
||||
|
||||
**🔴 强制性红线** (违反即停止,详细规范见 `MEMORY.md` 或 `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` - DTO
|
||||
- `smd/vo/ItemVO.java` - VO
|
||||
|
||||
**🐛 已修正问题** (12 个):
|
||||
1. ResponseModel 静态引用 → `ResponseModel.succeed(data)`
|
||||
2. 分页 XML / 详情 MP 混合使用
|
||||
3. 移除编码查询条件
|
||||
4. Feign 调用添加 debug 日志
|
||||
5. Controller 层 ecid 处理
|
||||
6. 恢复分页 XML 查询
|
||||
7. 使用 PageDomain (非 PageHelper)
|
||||
8. 删除 queryByCode 方法
|
||||
9. ResponseModel 泛型参数化
|
||||
10. Map 类型转换警告
|
||||
11. XML 使用 `<sql>` + `<include>` 片段
|
||||
12. ItemApi ResponseModel 泛型
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user