feat: add mica-smdm-scaffold proposal and rollback files; create unit testing specifications and SKILL documentation

This commit is contained in:
杨轩
2026-08-04 18:04:01 +08:00
parent fcb30e1c69
commit ba03f5d4db
16 changed files with 2035 additions and 7 deletions
+51
View File
@@ -83,3 +83,54 @@
12. ItemApi ResponseModel 泛型
---
### 数据字典模块 - 开发规范 (2026-08-04)
**📋 定位**: 配置项/工具类,不是业务实体
**🔴 强制性红线**:
| # | 红线 | 正确做法 |
|---|------|---------|
| 1 | **不需要 Controller** | 纯内部工具服务 |
| 2 | **不需要 Feign API** | 不暴露外部接口 |
| 3 | **不需要缓存实现** | 后续可调用 Feign 接口缓存 |
| 4 | **不需要继承 BaseDomain** | 配置项不是业务实体 |
**📋 核心规范**:
- **包路径**: `com.witsoft.mica.smd.*`
- **功能**: 通过 `dictionary_type.en_code` 查询 `dictionary_data``en_code → full_name` 映射
- **输出格式**: `Map<String, String>` (en_code → full_name)
- **重复处理**: 同一 typeCode 下 en_code 重复时取第一条 (按 sort_code + id 排序)
- **多租户支持**: 自动获取 ecid 过滤
- **软删除过滤**: delete_mark = 0
**📁 已生成文件** (5 个):
- `smd/mapper/DictionaryMapper.java` - 字典查询 Mapper 接口
- `smd/mapper/DictionaryMapper.xml` - 原生 SQL 查询 (JOIN type + data)
- `smd/dto/DictionaryItem.java` - 字典数据项 DTO
- `smd/service/DictionaryService.java` - 字典服务接口
- `smd/service/impl/DictionaryServiceImpl.java` - 字典服务实现
**📁 已生成枚举类** (2 个):
- `smd/enums/StatusEnum.java` - 状态枚举 (Y=启用,N=禁用)
- `smd/enums/YesNoEnum.java` - 是否枚举 (Y=是,N=否)
**🔧 字典填充规范**:
- **VO 设计**: 添加 xxxName 字段存储字典翻译后的中文名称
- **Service 层填充**: 批量查询字典,避免 N+1 问题
- **通用方法**: `fillDictionaryData(ItemVO itemVO, Map<String, Map<String, String>> dictMaps)`
- **性能要求**: 列表查询只查 1 次字典,批量填充
**📊 物料信息字典映射**:
| VO 字段 | 字典类型 | 说明 |
|--------|---------|------|
| `itemTypeName` | `materialsType` | 物料类型名称 |
| `propertiesName` | `itemProperties` | 物料属性名称 |
| `pickingPropertyName` | `pickingProperty` | 领料属性名称 |
| `statusName` | `StatusEnum` | 状态名称 (枚举) |
---