Commit bc8f4113 by zhangxingmin

push

parent d2d8dab1
...@@ -4,6 +4,7 @@ import com.alibaba.excel.EasyExcel; ...@@ -4,6 +4,7 @@ import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -339,25 +340,32 @@ public class ApiCommissionExpectedController { ...@@ -339,25 +340,32 @@ public class ApiCommissionExpectedController {
}); });
} }
/**
* 从 Feign 返回结果中安全提取公司列表
*/
@SuppressWarnings("unchecked")
private List<ApiInsuranceReconciliationCompanyPageResponse> extractCompanyListFromResult(Result result) { private List<ApiInsuranceReconciliationCompanyPageResponse> extractCompanyListFromResult(Result result) {
if (result == null || result.getCode() != 200 || result.getData() == null) { if (result == null || result.getCode() != 200 || result.getData() == null) {
return Collections.emptyList(); return Collections.emptyList();
} }
log.info("nameMap>>>>{}", JSON.toJSONString(result)); log.info("Feign返回结果: {}", JSON.toJSONString(result));
Object data = result.getData(); Object data = result.getData();
if (!(data instanceof IPage<?>)) { try {
// 可根据需要记录日志 // 将 data 转为 JSON 字符串再解析为 Map,以便提取 records
return Collections.emptyList(); Map<String, Object> dataMap = JSON.parseObject(JSON.toJSONString(data), new TypeReference<Map<String, Object>>() {});
} Object recordsObj = dataMap.get("records");
IPage<?> page = (IPage<?>) data; if (recordsObj instanceof List) {
if (CollectionUtils.isEmpty(page.getRecords())) { List<?> recordsList = (List<?>) recordsObj;
return Collections.emptyList(); List<ApiInsuranceReconciliationCompanyPageResponse> companyList = new ArrayList<>();
for (Object item : recordsList) {
// 将每个元素转换为目标类型
ApiInsuranceReconciliationCompanyPageResponse company = JSON.parseObject(
JSON.toJSONString(item),
ApiInsuranceReconciliationCompanyPageResponse.class
);
companyList.add(company);
}
return companyList;
}
} catch (Exception e) {
log.error("解析公司列表失败", e);
} }
// 由于实际类型已知,直接转换(类型安全由服务端保证) return Collections.emptyList();
return (List<ApiInsuranceReconciliationCompanyPageResponse>) page.getRecords();
} }
} }
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