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
7aad1b01
Commit
7aad1b01
authored
Jan 14, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
62ab623c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
90 additions
and
1 deletions
+90
-1
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiPremiumReconciliationServiceImpl.java
+90
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiPremiumReconciliationServiceImpl.java
View file @
7aad1b01
...
...
@@ -2,8 +2,11 @@ package com.yd.csf.api.service.impl;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.base.feign.client.bank.ApiBankFeignClient
;
import
com.yd.base.feign.client.exchangerate.ApiExchangeRateFeignClient
;
import
com.yd.base.feign.request.bank.ApiBankListRequest
;
import
com.yd.base.feign.request.exchangerate.ApiExchangeRateConvertRequest
;
import
com.yd.base.feign.response.bank.ApiBankDetailResponse
;
import
com.yd.base.feign.response.exchangerate.ApiExchangeRateConvertResponse
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.exception.BusinessException
;
...
...
@@ -65,6 +68,9 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
@Autowired
private
ApiSysDictFeignClient
apiSysDictFeignClient
;
@Autowired
private
ApiBankFeignClient
apiBankFeignClient
;
/**
* 分页列表查询-保费对账记录信息
* @param request
...
...
@@ -78,13 +84,41 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
// 获取缴费方式字典数据
Map
<
String
,
String
>
paymentMethodDictMap
=
getPaymentMethodDict
();
// 翻译paymentMethod字段
// 获取所有银行ID,准备翻译银行名称
Set
<
String
>
bankBizIdSet
=
new
HashSet
<>();
// 收集所有银行ID并翻译缴费方式
if
(
iPage
!=
null
&&
!
CollectionUtils
.
isEmpty
(
iPage
.
getRecords
()))
{
for
(
ApiPremiumReconciliationPageResponse
item
:
iPage
.
getRecords
())
{
// 翻译缴费方式
if
(
StringUtils
.
isNotBlank
(
item
.
getPaymentMethod
()))
{
String
translated
=
translatePaymentMethod
(
item
.
getPaymentMethod
(),
paymentMethodDictMap
);
item
.
setPaymentMethod
(
translated
);
}
// 收集银行ID(payingBank字段)
if
(
StringUtils
.
isNotBlank
(
item
.
getPayingBank
()))
{
// 分割多个银行ID(用分号分隔)
String
[]
bankIds
=
item
.
getPayingBank
().
split
(
";"
);
for
(
String
bankId
:
bankIds
)
{
if
(
StringUtils
.
isNotBlank
(
bankId
.
trim
()))
{
bankBizIdSet
.
add
(
bankId
.
trim
());
}
}
}
}
}
// 翻译银行名称
if
(!
bankBizIdSet
.
isEmpty
())
{
Map
<
String
,
String
>
bankNameMap
=
getBankNames
(
bankBizIdSet
);
// 翻译银行名称字段
for
(
ApiPremiumReconciliationPageResponse
item
:
iPage
.
getRecords
())
{
if
(
StringUtils
.
isNotBlank
(
item
.
getPayingBank
()))
{
String
translated
=
translateBankNames
(
item
.
getPayingBank
(),
bankNameMap
);
item
.
setPayingBank
(
translated
);
}
}
}
...
...
@@ -119,6 +153,31 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
}
/**
* 获取银行名称映射
*/
private
Map
<
String
,
String
>
getBankNames
(
Set
<
String
>
bankBizIdSet
)
{
Map
<
String
,
String
>
bankNameMap
=
new
HashMap
<>();
try
{
ApiBankListRequest
bankRequest
=
new
ApiBankListRequest
();
bankRequest
.
setBankBizIdList
(
new
ArrayList
<>(
bankBizIdSet
));
Result
<
List
<
ApiBankDetailResponse
>>
bankResult
=
apiBankFeignClient
.
list
(
bankRequest
);
if
(
bankResult
!=
null
&&
bankResult
.
getCode
()
==
200
&&
!
CollectionUtils
.
isEmpty
(
bankResult
.
getData
()))
{
for
(
ApiBankDetailResponse
bankDetail
:
bankResult
.
getData
())
{
// 优先使用银行简称,如果没有则使用银行全称
String
bankName
=
StringUtils
.
isNotBlank
(
bankDetail
.
getBankShortName
())
?
bankDetail
.
getBankShortName
()
:
bankDetail
.
getBankName
();
bankNameMap
.
put
(
bankDetail
.
getBankBizId
(),
bankName
);
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取银行名称失败"
,
e
);
}
return
bankNameMap
;
}
/**
* 翻译缴费方式
* 处理多个缴费方式(用分号分隔)的情况
*/
...
...
@@ -149,6 +208,36 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
}
/**
* 翻译银行名称
* 处理多个银行(用分号分隔)的情况
*/
private
String
translateBankNames
(
String
payingBank
,
Map
<
String
,
String
>
bankNameMap
)
{
if
(
StringUtils
.
isBlank
(
payingBank
))
{
return
payingBank
;
}
String
[]
bankIds
=
payingBank
.
split
(
";"
);
StringBuilder
translated
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
bankIds
.
length
;
i
++)
{
String
bankId
=
bankIds
[
i
].
trim
();
String
bankName
=
bankNameMap
.
get
(
bankId
);
if
(
bankName
!=
null
)
{
translated
.
append
(
bankName
);
}
else
{
translated
.
append
(
bankId
);
// 如果找不到对应的银行,保留原ID
}
if
(
i
<
bankIds
.
length
-
1
)
{
translated
.
append
(
";"
);
}
}
return
translated
.
toString
();
}
/**
* 添加-保费对账记录信息
* @param request
* @return
...
...
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