|
|
@ -2065,9 +2065,50 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void processDataTitles(List<TreeMap<String, Object>> dataTitles) { |
|
|
|
|
|
// 本地缓存:存储 creatorValue -> adminOrg 的映射
|
|
|
|
|
|
Map<String, String> adminOrgCache = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
for (TreeMap<String, Object> map : dataTitles) { |
|
|
|
|
|
// 统一处理 owner 字段
|
|
|
|
|
|
Object ownerValue = map.get("owner"); |
|
|
|
|
|
if (ownerValue == null || StringUtils.isBlank(ownerValue.toString())) { |
|
|
|
|
|
map.put("owner", map.get("creater")); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 统一处理 org 字段
|
|
|
|
|
|
Object orgValue = map.get("org"); |
|
|
|
|
|
if (orgValue == null || StringUtils.isBlank(orgValue.toString())) { |
|
|
|
|
|
Object creatorValueObj = map.get("creater"); |
|
|
|
|
|
if (creatorValueObj == null) { |
|
|
|
|
|
// 处理 creatorValue 为 null 的情况(保持原逻辑)
|
|
|
|
|
|
map.put("org", null); |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public void processDataTitles(List<TreeMap<String, Object>> dataTitles) { |
|
|
String creatorValue = creatorValueObj.toString(); |
|
|
|
|
|
if (StringUtils.isBlank(creatorValue)) { |
|
|
|
|
|
// 处理 creatorValue 为空字符串的情况(保持原逻辑)
|
|
|
|
|
|
map.put("org", ""); |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 检查本地缓存
|
|
|
|
|
|
String adminOrg = adminOrgCache.get(creatorValue); |
|
|
|
|
|
if (adminOrg == null) { |
|
|
|
|
|
// 缓存未命中:查询数据库并缓存结果
|
|
|
|
|
|
adminOrg = userService.getManContByKey(creatorValue).getAdminOrg().toString(); |
|
|
|
|
|
adminOrgCache.put(creatorValue, adminOrg); |
|
|
|
|
|
} |
|
|
|
|
|
map.put("org", adminOrg); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//优化前的processDataTitles,会出现大量重复查询
|
|
|
|
|
|
public void processDataTitles1(List<TreeMap<String, Object>> dataTitles) { |
|
|
for (TreeMap<String, Object> map : dataTitles) { |
|
|
for (TreeMap<String, Object> map : dataTitles) { |
|
|
if (!map.containsKey("owner")) { |
|
|
if (!map.containsKey("owner")) { |
|
|
Object creatorValue = map.get("creater"); |
|
|
Object creatorValue = map.get("creater"); |
|
|
|