Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-csf
Commits
1a5f41e9
Commit
1a5f41e9
authored
Mar 04, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev_zxm' into test
parents
091baf63
1904f550
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
32 deletions
+31
-32
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
+31
-32
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
View file @
1a5f41e9
...
...
@@ -3,6 +3,7 @@ package com.yd.csf.api.controller;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -25,6 +26,7 @@ import com.yd.insurance.base.feign.request.insurancereconciliationcompany.ApiIns
import
com.yd.insurance.base.feign.response.insurancereconciliationcompany.ApiInsuranceReconciliationCompanyPageResponse
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -35,6 +37,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
...
...
@@ -45,6 +48,7 @@ import java.util.stream.Collectors;
* @author jianan
* @since 2025-08-31
*/
@Slf4j
@RestController
@RequestMapping
(
"/CommissionExpected"
)
@Tag
(
name
=
"预计入账接口"
)
...
...
@@ -278,6 +282,7 @@ public class ApiCommissionExpectedController {
}
enrichReceivableReportWithCompanyName
(
receivableReportPage
);
log
.
info
(
"receivableReportPage>>>>{}"
,
JSON
.
toJSONString
(
receivableReportPage
));
// 组装返回结果
ReceivableReportResponse
response
=
new
ReceivableReportResponse
();
response
.
setStatisticsVO
(
statisticsVO
);
...
...
@@ -285,10 +290,6 @@ public class ApiCommissionExpectedController {
return
Result
.
success
(
response
);
}
/**
* 处理receivableReportPage
* @return
*/
private
void
enrichReceivableReportWithCompanyName
(
IPage
<
ReceivableReportVO
>
page
)
{
if
(
page
==
null
||
CollectionUtils
.
isEmpty
(
page
.
getRecords
()))
{
return
;
...
...
@@ -301,7 +302,7 @@ public class ApiCommissionExpectedController {
.
distinct
()
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
bizIdList
))
{
if
(
bizIdList
.
isEmpty
(
))
{
return
;
}
...
...
@@ -309,33 +310,10 @@ public class ApiCommissionExpectedController {
ApiInsuranceReconciliationCompanyPageRequest
request
=
new
ApiInsuranceReconciliationCompanyPageRequest
();
request
.
setReconciliationCompanyBizIdList
(
bizIdList
);
request
.
setPageNo
(
1
);
request
.
setPageSize
(
bizIdList
.
size
());
// 确保一次查全
Result
result
=
companyFeignClient
.
page
(
request
);
// 返回原始 Result 类型
if
(
result
==
null
||
result
.
getCode
()
!=
200
||
result
.
getData
()
==
null
)
{
return
;
}
// 由于实际数据类型是 IPage<ApiInsuranceReconciliationCompanyPageResponse>,进行安全转换
Object
data
=
result
.
getData
();
if
(!(
data
instanceof
IPage
<?>))
{
// 类型不符合预期,记录日志并返回
return
;
}
IPage
<?>
rawPage
=
(
IPage
<?>)
data
;
if
(
CollectionUtils
.
isEmpty
(
rawPage
.
getRecords
()))
{
return
;
}
// 提取 records,并安全转换为目标类型
List
<
ApiInsuranceReconciliationCompanyPageResponse
>
companyList
=
new
ArrayList
<>();
for
(
Object
record
:
rawPage
.
getRecords
())
{
if
(
record
instanceof
ApiInsuranceReconciliationCompanyPageResponse
)
{
companyList
.
add
((
ApiInsuranceReconciliationCompanyPageResponse
)
record
);
}
}
request
.
setPageSize
(
bizIdList
.
size
());
Result
result
=
companyFeignClient
.
page
(
request
);
List
<
ApiInsuranceReconciliationCompanyPageResponse
>
companyList
=
extractCompanyListFromResult
(
result
);
if
(
companyList
.
isEmpty
())
{
return
;
}
...
...
@@ -350,13 +328,34 @@ public class ApiCommissionExpectedController {
));
// 回填名称
for
(
ReceivableReportVO
vo
:
page
.
getRecords
())
{
page
.
getRecords
().
forEach
(
vo
->
{
if
(
StringUtils
.
isNotBlank
(
vo
.
getReconciliationCompanyBizId
()))
{
String
name
=
nameMap
.
get
(
vo
.
getReconciliationCompanyBizId
());
if
(
StringUtils
.
isNotBlank
(
name
))
{
vo
.
setReconciliationCompany
(
name
);
}
}
});
}
/**
* 从 Feign 返回结果中安全提取公司列表
*/
@SuppressWarnings
(
"unchecked"
)
private
List
<
ApiInsuranceReconciliationCompanyPageResponse
>
extractCompanyListFromResult
(
Result
result
)
{
if
(
result
==
null
||
result
.
getCode
()
!=
200
||
result
.
getData
()
==
null
)
{
return
Collections
.
emptyList
();
}
Object
data
=
result
.
getData
();
if
(!(
data
instanceof
IPage
<?>))
{
// 可根据需要记录日志
return
Collections
.
emptyList
();
}
IPage
<?>
page
=
(
IPage
<?>)
data
;
if
(
CollectionUtils
.
isEmpty
(
page
.
getRecords
()))
{
return
Collections
.
emptyList
();
}
// 由于实际类型已知,直接转换(类型安全由服务端保证)
return
(
List
<
ApiInsuranceReconciliationCompanyPageResponse
>)
page
.
getRecords
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment