feat(service): 实现国际化支持并优化Service层
重构文件类型相关Service以支持国际化查询 添加findOneByLang辅助方法统一查询逻辑 实现StringConverter支持UI控件显示 优化缓存配置和查询性能 新增UnitStringConverter和CustomerCatalogStringConverter 完善文档和测试用例
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package com.ecep.contract.converter;
|
||||
|
||||
import com.ecep.contract.service.CustomerCatalogService;
|
||||
import com.ecep.contract.vo.CustomerCatalogVo;
|
||||
import javafx.util.StringConverter;
|
||||
|
||||
/**
|
||||
* 客户分类字符串转换器
|
||||
* 用于在UI组件中显示客户分类信息并支持从字符串还原客户分类对象
|
||||
*
|
||||
* @author AI Assistant
|
||||
* @since 2024-01-01
|
||||
*/
|
||||
public class CustomerCatalogStringConverter extends StringConverter<CustomerCatalogVo> {
|
||||
|
||||
/** 客户分类服务,用于从字符串查找对应的客户分类对象 */
|
||||
private final CustomerCatalogService service;
|
||||
|
||||
/**
|
||||
* 构造函数
|
||||
*
|
||||
* @param service 客户分类服务实例
|
||||
*/
|
||||
public CustomerCatalogStringConverter(CustomerCatalogService service) {
|
||||
this.service = service;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将客户分类对象转换为字符串表示
|
||||
*
|
||||
* @param object 客户分类对象
|
||||
* @return 客户分类的名称,如果对象为null则返回空字符串
|
||||
*/
|
||||
@Override
|
||||
public String toString(CustomerCatalogVo object) {
|
||||
return object == null ? "" : object.getName();
|
||||
}
|
||||
|
||||
/**
|
||||
* 从字符串还原客户分类对象
|
||||
*
|
||||
* @param string 客户分类名称
|
||||
* @return 对应的客户分类对象,如果未找到则返回null
|
||||
*/
|
||||
@Override
|
||||
public CustomerCatalogVo fromString(String string) {
|
||||
return service.findByName(string);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.ecep.contract.converter;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.ecep.contract.service.UnitService;
|
||||
import com.ecep.contract.vo.UnitVo;
|
||||
|
||||
import javafx.util.StringConverter;
|
||||
|
||||
/**
|
||||
* UnitVo的StringConverter实现,用于JavaFX控件中的显示和转换
|
||||
*/
|
||||
@Component
|
||||
public class UnitStringConverter extends StringConverter<UnitVo> {
|
||||
private final UnitService unitService;
|
||||
|
||||
/**
|
||||
* 构造函数
|
||||
*
|
||||
* @param unitService UnitService实例
|
||||
*/
|
||||
public UnitStringConverter(UnitService unitService) {
|
||||
this.unitService = unitService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将UnitVo对象转换为字符串
|
||||
*
|
||||
* @param object UnitVo对象
|
||||
* @return 转换后的字符串
|
||||
*/
|
||||
@Override
|
||||
public String toString(UnitVo object) {
|
||||
if (object == null) {
|
||||
return "";
|
||||
}
|
||||
return object.getName();
|
||||
}
|
||||
|
||||
/**
|
||||
* 将字符串转换为UnitVo对象
|
||||
*
|
||||
* @param string 字符串
|
||||
* @return 转换后的UnitVo对象
|
||||
*/
|
||||
@Override
|
||||
public UnitVo fromString(String string) {
|
||||
if (string == null || string.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return unitService.findByName(string);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user