Files
contract-manager/docs/task/create_enum.md
songqq 7b023fd07b docs: 添加数据库结构文档和任务说明文档
添加多个数据库表结构SQL文件,包括供应商评分、企业报告等JSON数据模板
添加任务说明文档,包括枚举类型本地化实现方案、VO创建指南和异步任务监控方案
删除无用的CustomerFileTypeLocalRepository.java文件
2025-09-24 00:11:05 +08:00

116 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

按枚举型的实现本地化
# 枚举类型清单
- common/src/main/java/com/ecep/contract/VendorType.java
- common/src/main/java/com/ecep/contract/VendorFileType.java
- common/src/main/java/com/ecep/contract/ProjectFileType.java
- common/src/main/java/com/ecep/contract/CompanyFileType.java
- common/src/main/java/com/ecep/contract/ContractFileType.java
- common/src/main/java/com/ecep/contract/CustomerFIleType.java
# Server 模块
## Repository
- server/src/main/java/com/ecep/contract/ds/vendor/repository/VendorTypeLocalRepository.java
- server/src/main/java/com/ecep/contract/ds/vendor/repository/VendorFileTypeLocalRepository.java
- server/src/main/java/com/ecep/contract/ds/project/repository/ProjectFileTypeLocalRepository.java
- server/src/main/java/com/ecep/contract/ds/company/repository/CompanyFileTypeLocalRepository.java
- server/src/main/java/com/ecep/contract/ds/contract/repository/ContractFileTypeLocalRepository.java
- server/src/main/java/com/ecep/contract/ds/customer/repository/CustomerFileTypeLocalRepository.java
## Service
- server/src/main/java/com/ecep/contract/ds/vendor/service/VendorTypeService.java
- server/src/main/java/com/ecep/contract/ds/vendor/service/VendorFileTypeService.java
- server/src/main/java/com/ecep/contract/ds/project/service/ProjectFileTypeService.java
- server/src/main/java/com/ecep/contract/ds/company/service/CompanyFileTypeService.java
- server/src/main/java/com/ecep/contract/ds/contract/service/ContractFileTypeService.java
- server/src/main/java/com/ecep/contract/ds/customer/service/CustomerFileTypeService.java
# Client 模块
## View Model
- 所在目录: D:\idea-workspace\Contract-Manager\client\src\main\java\com\ecep\contract\vm
- extends EnumViewModel<枚举类, Vo>
### 清单
- client\src\main\java\com\ecep\contract\vm\VendorTypeLocalViewModel.java
- client\src/main/java/com/ecep/contract/vm/VendorFileTypeLocalViewModel.java
- client\src/main/java/com/ecep/contract/vm/ProjectFileTypeLocalViewModel.java
- client\src/main/java/com/ecep/contract/vm/CompanyFileTypeLocalViewModel.java
- client\src/main/java/com/ecep/contract/vm/ContractFileTypeLocalViewModel.java
- client\src/main/java/com/ecep/contract/vm/CustomerFileTypeLocalViewModel.java
## StringConverter
所在目录 client/src/main/java/com/ecep/contract/converter/
package com.ecep.contract.converter;
### 清单
- client/src/main/java/com/ecep/contract/converter/VendorTypeStringConverter.java
- client/src/main/java/com/ecep/contract/converter/VendorFileTypeStringConverter.java
- client/src/main/java/com/ecep/contract/converter/ProjectFileTypeStringConverter.java
- client/src/main/java/com/ecep/contract/converter/CompanyFileTypeStringConverter.java
- client/src/main/java/com/ecep/contract/converter/ContractFileTypeStringConverter.java
- client/src/main/java/com/ecep/contract/converter/CustomerFileTypeStringConverter.java
## TableCell 表格单元格渲染
### 要求
- 需实现 forTableColumn 静态方法,用于创建表格列的单元格工厂。
- 表格列的单元格工厂需要接收一个 Service 实例,用于从数据库中获取枚举类型的本地化信息。
- 表格列的单元格工厂需要实现 Callback 接口,用于创建单元格实例。
- 表格列的单元格工厂需要在 forTableColumn 方法中接收 Service 实例,用于从数据库中获取枚举类型的本地化信息。
### 清单
- client/src/main/java/com/ecep/contract/controller/table/cell/VendorTypeTableCell.java
- client/src/main/java/com/ecep/contract/controller/table/cell/VendorFileTypeTableCell.java
- client/src/main/java/com/ecep/contract/controller/table/cell/ProjectFileTypeTableCell.java
- client/src/main/java/com/ecep/contract/controller/table/cell/CompanyFileTypeTableCell.java
- client/src/main/java/com/ecep/contract/controller/table/cell/ContractFileTypeTableCell.java
- client/src/main/java/com/ecep/contract/controller/table/cell/CustomerFileTypeTableCell.java
## Service
需要定义注解 @CacheConfig
需要实现 findByLocaleAndValue 方法
- client/src/main/java/com/ecep/contract/service/VendorTypeService.java
- client/src/main/java/com/ecep/contract/service/VendorFileTypeService.java
- client/src/main/java/com/ecep/contract/service/ProjectFileTypeService.java
- client/src/main/java/com/ecep/contract/service/CompanyFileTypeService.java
- client/src/main/java/com/ecep/contract/service/ContractFileTypeService.java
- client/src/main/java/com/ecep/contract/service/CompanyCustomerFileTypeService.java
# Common 模块
## Entity 类, 枚举类型的本地化
- common/src/main/java/com/ecep/contract/model/VendorTypeLocal.java
- common/src/main/java/com/ecep/contract/model/VendorFileTypeLocal.java
- common/src/main/java/com/ecep/contract/model/ProjectFileTypeLocal.java
- common/src/main/java/com/ecep/contract/model/CompanyFileTypeLocal.java
- common/src/main/java/com/ecep/contract/model/ContractFileTypeLocal.java
- common/src/main/java/com/ecep/contract/model/CustomerFileTypeLocal.java
### SQL
每个Entity类创建一个对应的SQL文件文件名格式为Entity类名 + .sql例如VendorTypeLocal.sql
存储在 docs/db/ 目录下
数据表名已经定义在 Entity 类的 @Table 注解中
字段名已经定义在 Entity 类的 @Column 注解中,包括父类的字段
## VOView Object
- common/src/main/java/com/ecep/contract/vo/VendorTypeLocalVo.java
- common/src/main/java/com/ecep/contract/vo/VendorFileTypeLocalVo.java
- common/src/main/java/com/ecep/contract/vo/ProjectFileTypeLocalVo.java
- common/src/main/java/com/ecep/contract/vo/CompanyFileTypeLocalVo.java
- common/src/main/java/com/ecep/contract/vo/ContractFileTypeLocalVo.java
- common/src/main/java/com/ecep/contract/vo/CustomerFileTypeLocalVo.java
# 其他
本文中的所有文件在项目路径下