Commit bea4a664 authored by suhuiguang's avatar suhuiguang

feat(综合搜索):技术参数类型big处理

1.技术参数类型big处理
parent 4e85633e
......@@ -49,4 +49,14 @@ public class TechParamUtil {
});
}
public static Class<? extends ITechParamDefine> getParamClazz(String equListCode) {
for (Class<? extends ITechParamDefine> subClass : subClasses) {
Group group = subClass.getAnnotation(Group.class);
if (group != null && equListCode.equals(group.value())) {
return subClass;
}
}
throw new RuntimeException("not found equListCode " + equListCode + "clazz");
}
}
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.refresh;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.yeejoin.amos.boot.module.common.api.dto.ITechParamDefine;
import com.yeejoin.amos.boot.module.common.api.dto.TechParamItem;
import com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo;
import com.yeejoin.amos.boot.module.common.biz.utils.TechParamUtil;
......@@ -21,14 +22,23 @@ public class StatisticsDataUpdateService {
public List<ESEquipmentInfo.TechParam> getTechParams(String equList, String record) {
Object params = techParamsBackupService.getTechParams(equList, record);
Map<String, Object> paramsMap = BeanUtil.beanToMap(params);
List<TechParamItem> techParamItems = TechParamUtil.getParamMetaList(equList);
List<ESEquipmentInfo.TechParam> techParams = new ArrayList<>();
techParamItems.forEach(techParamItem -> {
ESEquipmentInfo.TechParam techParam = new ESEquipmentInfo.TechParam(techParamItem, paramsMap.get(techParamItem.getParamKey()));
techParams.add(techParam);
});
try {
Object params = techParamsBackupService.getTechParams(equList, record);
// 类型转换,否则类型处理错误
Class<? extends ITechParamDefine> clazz = TechParamUtil.getParamClazz(equList);
ITechParamDefine paramInstance = clazz.newInstance();
BeanUtil.copyProperties(params, paramInstance);
Map<String, Object> paramsMap = BeanUtil.beanToMap(paramInstance);
List<TechParamItem> techParamItems = TechParamUtil.getParamMetaList(equList);
techParamItems.forEach(techParamItem -> {
ESEquipmentInfo.TechParam techParam = new ESEquipmentInfo.TechParam(techParamItem, paramsMap.get(techParamItem.getParamKey()));
techParams.add(techParam);
});
} catch (Exception e) {
throw new RuntimeException(e);
}
return techParams;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment