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

5.7 KiB
Raw Permalink Blame History

按枚举型的实现本地化

枚举类型清单

  • 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

其他

本文中的所有文件在项目路径下