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
2baa1d0a
Commit
2baa1d0a
authored
Apr 29, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
19b3f83f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
88 additions
and
1 deletions
+88
-1
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionExpectedService.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
+85
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
View file @
2baa1d0a
...
@@ -235,7 +235,7 @@ public class ApiCommissionExpectedController {
...
@@ -235,7 +235,7 @@ public class ApiCommissionExpectedController {
List
<
CommissionExpected
>
commissionExpectedList
=
commissionExpectedService
.
list
(
queryWrapper
);
List
<
CommissionExpected
>
commissionExpectedList
=
commissionExpectedService
.
list
(
queryWrapper
);
// 计算统计数据
// 计算统计数据
List
<
Long
>
expectedIds
=
commissionExpectedList
.
stream
().
map
(
CommissionExpected:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
Long
>
expectedIds
=
commissionExpectedList
.
stream
().
map
(
CommissionExpected:
:
getId
).
collect
(
Collectors
.
toList
());
CommissionExpectedStatisticsVO
expectedStatisticsVO
=
commissionExpectedService
.
getExpectedStatistics
(
expectedIds
);
CommissionExpectedStatisticsVO
expectedStatisticsVO
=
commissionExpectedService
.
getExpectedStatistics
New
(
expectedIds
);
CommissionExpectedStatisticsNewVO
statisticsNewVO
=
null
;
CommissionExpectedStatisticsNewVO
statisticsNewVO
=
null
;
if
(
expectedStatisticsVO
!=
null
)
{
if
(
expectedStatisticsVO
!=
null
)
{
statisticsNewVO
=
new
CommissionExpectedStatisticsNewVO
();
statisticsNewVO
=
new
CommissionExpectedStatisticsNewVO
();
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionExpectedService.java
View file @
2baa1d0a
...
@@ -62,6 +62,8 @@ public interface CommissionExpectedService extends IService<CommissionExpected>
...
@@ -62,6 +62,8 @@ public interface CommissionExpectedService extends IService<CommissionExpected>
CommissionExpectedStatisticsVO
getExpectedStatistics
(
List
<
Long
>
expectedIds
);
CommissionExpectedStatisticsVO
getExpectedStatistics
(
List
<
Long
>
expectedIds
);
CommissionExpectedStatisticsVO
getExpectedStatisticsNew
(
List
<
Long
>
expectedIds
);
CommissionExpected
getByBizId
(
String
commissionExpectedBizId
);
CommissionExpected
getByBizId
(
String
commissionExpectedBizId
);
void
getExpectedCommissionByProductlaunchId
(
Policy
policy
,
String
productLaunchBizId
,
String
insuranceCompanyBizId
,
String
reconciliationCompany
,
String
reconciliationCompanyCode
,
String
reconciliationCompanyBizId
,
String
professionalInvestor
);
void
getExpectedCommissionByProductlaunchId
(
Policy
policy
,
String
productLaunchBizId
,
String
insuranceCompanyBizId
,
String
reconciliationCompany
,
String
reconciliationCompanyCode
,
String
reconciliationCompanyBizId
,
String
professionalInvestor
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
View file @
2baa1d0a
...
@@ -884,6 +884,91 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
...
@@ -884,6 +884,91 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
}
}
@Override
@Override
public
CommissionExpectedStatisticsVO
getExpectedStatisticsNew
(
List
<
Long
>
expectedIds
)
{
// 空集合直接返回空统计
if
(
CollectionUtils
.
isEmpty
(
expectedIds
))
{
return
emptyStatistics
();
}
// 查询所有记录(包含失效状态)
List
<
CommissionExpected
>
allExpectedList
=
this
.
listByIds
(
expectedIds
);
if
(
CollectionUtils
.
isEmpty
(
allExpectedList
))
{
return
emptyStatistics
();
}
// 过滤掉已失效的记录(status = "3")
List
<
CommissionExpected
>
validList
=
allExpectedList
.
stream
()
.
filter
(
e
->
!
"3"
.
equals
(
e
.
getStatus
()))
.
collect
(
Collectors
.
toList
());
if
(
validList
.
isEmpty
())
{
return
emptyStatistics
();
}
// 手动聚合计算
BigDecimal
totalAmount
=
BigDecimal
.
ZERO
;
BigDecimal
totalPaidAmount
=
BigDecimal
.
ZERO
;
Set
<
String
>
policyNoSet
=
new
HashSet
<>();
for
(
CommissionExpected
expected
:
validList
)
{
totalAmount
=
totalAmount
.
add
(
ObjectUtils
.
defaultIfNull
(
expected
.
getExpectedAmount
(),
BigDecimal
.
ZERO
));
totalPaidAmount
=
totalPaidAmount
.
add
(
ObjectUtils
.
defaultIfNull
(
expected
.
getPaidAmount
(),
BigDecimal
.
ZERO
));
if
(
StringUtils
.
isNotBlank
(
expected
.
getPolicyNo
()))
{
policyNoSet
.
add
(
expected
.
getPolicyNo
());
}
}
// 计算总保费(HKD)
BigDecimal
totalPremium
=
BigDecimal
.
ZERO
;
if
(
CollectionUtils
.
isNotEmpty
(
policyNoSet
))
{
List
<
Policy
>
policyList
=
policyService
.
lambdaQuery
()
.
in
(
Policy:
:
getPolicyNo
,
policyNoSet
)
.
list
();
if
(
CollectionUtils
.
isNotEmpty
(
policyList
))
{
for
(
Policy
policy
:
policyList
)
{
// 获取保单币种到港币的汇率
BigDecimal
rate
=
queryExchangeRateByFeign
(
policy
.
getCurrency
(),
"HKD"
);
if
(
rate
==
null
)
rate
=
BigDecimal
.
ONE
;
totalPremium
=
totalPremium
.
add
(
policy
.
getTotalPaymentPremium
().
multiply
(
rate
));
}
}
}
// 组装返回对象
CommissionExpectedStatisticsVO
vo
=
new
CommissionExpectedStatisticsVO
();
vo
.
setTotalAmount
(
totalAmount
);
vo
.
setTotalPaidAmount
(
totalPaidAmount
);
vo
.
setPendingPaidAmount
(
totalAmount
.
subtract
(
totalPaidAmount
));
if
(
totalAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
BigDecimal
ratio
=
totalPaidAmount
.
divide
(
totalAmount
,
4
,
RoundingMode
.
HALF_UP
)
.
multiply
(
BigDecimal
.
valueOf
(
100
));
vo
.
setPaidAmountRatio
(
ratio
);
}
else
{
vo
.
setPaidAmountRatio
(
BigDecimal
.
ZERO
);
}
vo
.
setTotalPolicyCount
(
policyNoSet
.
size
());
vo
.
setTotalPremium
(
totalPremium
);
vo
.
setPolicyNos
(
null
);
// 原字段可能用于其他逻辑,此处置空
return
vo
;
}
/**
* 返回空的统计对象
*/
private
CommissionExpectedStatisticsVO
emptyStatistics
()
{
CommissionExpectedStatisticsVO
vo
=
new
CommissionExpectedStatisticsVO
();
vo
.
setTotalAmount
(
BigDecimal
.
ZERO
);
vo
.
setTotalPaidAmount
(
BigDecimal
.
ZERO
);
vo
.
setPendingPaidAmount
(
BigDecimal
.
ZERO
);
vo
.
setPaidAmountRatio
(
BigDecimal
.
ZERO
);
vo
.
setTotalPolicyCount
(
0
);
vo
.
setTotalPremium
(
BigDecimal
.
ZERO
);
return
vo
;
}
@Override
public
CommissionExpected
getByBizId
(
String
commissionExpectedBizId
)
{
public
CommissionExpected
getByBizId
(
String
commissionExpectedBizId
)
{
return
this
.
getOne
(
new
QueryWrapper
<
CommissionExpected
>().
eq
(
"commission_expected_biz_id"
,
commissionExpectedBizId
));
return
this
.
getOne
(
new
QueryWrapper
<
CommissionExpected
>().
eq
(
"commission_expected_biz_id"
,
commissionExpectedBizId
));
}
}
...
...
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