按枚举型的实现本地化 # 枚举类型清单 - 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 注解中,包括父类的字段 ## VO(View 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 # 其他 本文中的所有文件在项目路径下