字段一致性检查 Skill
Entity/Interface 映射表
| 后端 Entity | 前端文件 | Interface 名 | |-------------|---------|-------------| | Customer | customerApiClient.ts | Customer | | Supplier | supplierApiClient.ts | Supplier | | User | userApiClient.ts | UserDTO | | Factory | platformApiClient.ts | FactoryDTO | | FactoryEquipment | equipmentApiClient.ts | Equipment | | MaterialBatch | materialBatchApiClient.ts | MaterialBatch | | RawMaterialType | materialTypeApiClient.ts | MaterialType | | ProductType | productTypeApiClient.ts | ProductType | | QualityInspection | qualityInspectionApiClient.ts | QualityInspection | | ShipmentRecord | shipmentApiClient.ts | ShipmentRecord | | DisposalRecord | disposalRecordApiClient.ts | DisposalRecord |
快速检查命令
cd /Users/jietaoxie/my-prototype-logistics
# 提取后端字段
grep -E "private (String|Long|Boolean|Integer|BigDecimal|LocalDateTime)" \
backend-java/src/main/java/com/cretas/aims/entity/Customer.java | \
grep -v "//" | awk '{print $3}' | sed 's/;//' | sort
# 提取前端字段
awk '/export interface Customer \{/,/^\}/' \
frontend/CretasFoodTrace/src/services/api/customerApiClient.ts | \
grep -E "^\s+\w+[\?:]" | awk '{print $1}' | sed 's/[?:]//' | sort
# 对比差异
comm -23 /tmp/be.txt /tmp/fe.txt # 只在后端
comm -13 /tmp/be.txt /tmp/fe.txt # 只在前端
字段命名差异表
| Entity | 电话字段 | 地址字段 | |--------|---------|---------| | Factory | contactPhone | address | | Supplier | contactPhone + phone | address | | Customer | contactPhone + phone | shippingAddress + billingAddress | | User | phone | - |
修复流程
- 查看后端字段:
grep -E "private" entity/XXX.java - 更新前端 Interface 与后端一致
- 编译检查:
npx tsc --noEmit --skipLibCheck
相关路径
- 后端 Entity:
backend-java/src/main/java/com/cretas/aims/entity/ - 前端 API:
frontend/CretasFoodTrace/src/services/api/
微信扫一扫