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
53890480
Commit
53890480
authored
May 26, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/test' into test
parents
d1563fed
f153c166
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
40 additions
and
30 deletions
+40
-30
yd-csf-feign/src/main/java/com/yd/csf/feign/response/expectedfortune/ApiExpectedFortunePageResponse.java
+4
-10
yd-csf-service/src/main/java/com/yd/csf/service/model/ExpectedFortune.java
+2
-2
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+1
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/ExpectedFortuneServiceImpl.java
+4
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneAccountServiceImpl.java
+3
-1
yd-csf-service/src/main/java/com/yd/csf/service/vo/ExpectedFortuneExportDTO.java
+4
-0
yd-csf-service/src/main/resources/mappers/ExpectedFortuneMapper.xml
+22
-16
No files found.
yd-csf-feign/src/main/java/com/yd/csf/feign/response/expectedfortune/ApiExpectedFortunePageResponse.java
View file @
53890480
...
@@ -50,6 +50,9 @@ public class ApiExpectedFortunePageResponse {
...
@@ -50,6 +50,9 @@ public class ApiExpectedFortunePageResponse {
@Schema
(
description
=
"职级"
)
@Schema
(
description
=
"职级"
)
private
String
brokerGradeName
;
private
String
brokerGradeName
;
@Schema
(
description
=
"关联人员"
)
private
String
amountSourceName
;
@Schema
(
description
=
"团队名称"
)
@Schema
(
description
=
"团队名称"
)
private
String
team
;
private
String
team
;
...
@@ -83,7 +86,7 @@ public class ApiExpectedFortunePageResponse {
...
@@ -83,7 +86,7 @@ public class ApiExpectedFortunePageResponse {
private
BigDecimal
exchangeRate
;
private
BigDecimal
exchangeRate
;
@Schema
(
description
=
"保单币种->HKD汇率"
)
@Schema
(
description
=
"保单币种->HKD汇率"
)
private
BigDecimal
defaultExchange
Rate
;
private
BigDecimal
originalToHkd
Rate
;
@Schema
(
description
=
"HKD->发放币种汇率"
)
@Schema
(
description
=
"HKD->发放币种汇率"
)
private
BigDecimal
hkdToPayoutRate
;
private
BigDecimal
hkdToPayoutRate
;
...
@@ -136,18 +139,9 @@ public class ApiExpectedFortunePageResponse {
...
@@ -136,18 +139,9 @@ public class ApiExpectedFortunePageResponse {
@Schema
(
description
=
"剩余发放折合港币金额"
)
@Schema
(
description
=
"剩余发放折合港币金额"
)
private
BigDecimal
unpaidRuleAmounthHkd
;
private
BigDecimal
unpaidRuleAmounthHkd
;
@Schema
(
description
=
"原币→港币汇率"
)
private
BigDecimal
originalToHkdRate
;
@Schema
(
description
=
"发放币种金额"
)
@Schema
(
description
=
"发放币种金额"
)
private
BigDecimal
payoutAmount
;
private
BigDecimal
payoutAmount
;
@Schema
(
description
=
"期交保费"
)
@Schema
(
description
=
"期交保费"
)
private
BigDecimal
premium
;
private
BigDecimal
premium
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/ExpectedFortune.java
View file @
53890480
...
@@ -133,13 +133,13 @@ public class ExpectedFortune implements Serializable {
...
@@ -133,13 +133,13 @@ public class ExpectedFortune implements Serializable {
private
String
fortuneType
;
private
String
fortuneType
;
/**
/**
* 奖金来源id(类型:转介人等,如果是转介人,这里就是这个奖来自这个转介人身上的)
* 奖金来源
人
id(类型:转介人等,如果是转介人,这里就是这个奖来自这个转介人身上的)
*/
*/
@TableField
(
"amount_source_id"
)
@TableField
(
"amount_source_id"
)
private
String
amountSourceId
;
private
String
amountSourceId
;
/**
/**
* 奖金来源名称(类型:转介人等)
* 奖金来源
人
名称(类型:转介人等)
*/
*/
@TableField
(
"amount_source_name"
)
@TableField
(
"amount_source_name"
)
private
String
amountSourceName
;
private
String
amountSourceName
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
53890480
...
@@ -785,6 +785,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -785,6 +785,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
BigDecimal
hkdAmount
=
fortune
.
getRuleAmount
().
multiply
(
exchangeRate
);
BigDecimal
hkdAmount
=
fortune
.
getRuleAmount
().
multiply
(
exchangeRate
);
fortune
.
setHkdAmount
(
hkdAmount
);
fortune
.
setHkdAmount
(
hkdAmount
);
fortune
.
setCurrentPaymentAmount
(
fortune
.
getRuleAmount
());
fortune
.
setCurrentPaymentHkdAmount
(
hkdAmount
);
fortune
.
setCurrentPaymentHkdAmount
(
hkdAmount
);
// 重新计算发放币种金额
// 重新计算发放币种金额
BigDecimal
payoutAmount
=
hkdAmount
.
multiply
(
expectedFortune
.
getHkdToPayoutRate
());
BigDecimal
payoutAmount
=
hkdAmount
.
multiply
(
expectedFortune
.
getHkdToPayoutRate
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/ExpectedFortuneServiceImpl.java
View file @
53890480
...
@@ -156,10 +156,11 @@ public class ExpectedFortuneServiceImpl extends ServiceImpl<ExpectedFortuneMappe
...
@@ -156,10 +156,11 @@ public class ExpectedFortuneServiceImpl extends ServiceImpl<ExpectedFortuneMappe
// 查找对应的实际发佣
// 查找对应的实际发佣
List
<
ApiExpectedFortunePageResponse
>
matchedList
=
actualMap
.
get
(
expected
.
getExpectedFortuneBizId
());
List
<
ApiExpectedFortunePageResponse
>
matchedList
=
actualMap
.
get
(
expected
.
getExpectedFortuneBizId
());
if
(
CollUtil
.
isNotEmpty
(
matchedList
))
{
if
(
CollUtil
.
isNotEmpty
(
matchedList
))
{
// 设置实际出账记录的字段:
待出账金额(估)、已出账比例、未出账比例、已出账金额
// 设置实际出账记录的字段:
持有比例、保费、关联人员
matchedList
.
forEach
(
actual
->
{
matchedList
.
forEach
(
actual
->
{
actual
.
setBrokerRatio
(
expected
.
getBrokerRatio
());
actual
.
setBrokerRatio
(
expected
.
getBrokerRatio
());
actual
.
setPremium
(
expected
.
getPremium
());
actual
.
setPremium
(
expected
.
getPremium
());
actual
.
setAmountSourceName
(
expected
.
getAmountSourceName
());
});
});
sortedList
.
addAll
(
matchedList
);
sortedList
.
addAll
(
matchedList
);
...
@@ -365,6 +366,8 @@ public class ExpectedFortuneServiceImpl extends ServiceImpl<ExpectedFortuneMappe
...
@@ -365,6 +366,8 @@ public class ExpectedFortuneServiceImpl extends ServiceImpl<ExpectedFortuneMappe
Set
<
String
>
policyNoList
=
records
.
stream
().
map
(
ApiExpectedFortunePageResponse:
:
getPolicyNo
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
policyNoList
=
records
.
stream
().
map
(
ApiExpectedFortunePageResponse:
:
getPolicyNo
).
collect
(
Collectors
.
toSet
());
Map
<
String
,
PolicyFollow
>
policyFollowMap
=
policyFollowService
.
queryPolicyFollowMap
(
policyNoList
);
Map
<
String
,
PolicyFollow
>
policyFollowMap
=
policyFollowService
.
queryPolicyFollowMap
(
policyNoList
);
// 5. 补充关联人员信息
for
(
ApiExpectedFortunePageResponse
vo
:
records
)
{
for
(
ApiExpectedFortunePageResponse
vo
:
records
)
{
UserGradeDto
userGradeDto
=
userGradeMap
.
get
(
vo
.
getBrokerBizId
());
UserGradeDto
userGradeDto
=
userGradeMap
.
get
(
vo
.
getBrokerBizId
());
if
(
userGradeDto
!=
null
)
{
if
(
userGradeDto
!=
null
)
{
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneAccountServiceImpl.java
View file @
53890480
...
@@ -183,6 +183,8 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
...
@@ -183,6 +183,8 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
for
(
Fortune
item
:
fortuneList
)
{
for
(
Fortune
item
:
fortuneList
)
{
Fortune
updateFortune
=
new
Fortune
();
Fortune
updateFortune
=
new
Fortune
();
updateFortune
.
setId
(
item
.
getId
());
updateFortune
.
setId
(
item
.
getId
());
updateFortune
.
setExpectedFortuneBizId
(
item
.
getExpectedFortuneBizId
());
updateFortune
.
setRuleAmount
(
item
.
getRuleAmount
());
updateFortune
.
setFortuneAccountBizId
(
fortuneAccountBizId
);
updateFortune
.
setFortuneAccountBizId
(
fortuneAccountBizId
);
updateFortune
.
setStatus
(
FortuneStatusEnum
.
CHECKED
.
getItemValue
());
updateFortune
.
setStatus
(
FortuneStatusEnum
.
CHECKED
.
getItemValue
());
updateFortune
.
setReconciliationOperator
(
currentLoginUser
.
getRealName
());
updateFortune
.
setReconciliationOperator
(
currentLoginUser
.
getRealName
());
...
@@ -227,7 +229,7 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
...
@@ -227,7 +229,7 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
if
(
ef
!=
null
)
{
if
(
ef
!=
null
)
{
BigDecimal
currentPaymentRatio
=
BigDecimal
.
ZERO
;
BigDecimal
currentPaymentRatio
=
BigDecimal
.
ZERO
;
if
(
BigDecimal
.
ZERO
.
compareTo
(
ef
.
getRuleAmount
())
!=
0
)
{
if
(
BigDecimal
.
ZERO
.
compareTo
(
ef
.
getRuleAmount
())
!=
0
)
{
currentPaymentRatio
=
f
.
get
CurrentPayment
Amount
()
currentPaymentRatio
=
f
.
get
Rule
Amount
()
.
divide
(
ef
.
getRuleAmount
(),
4
,
RoundingMode
.
HALF_UP
).
multiply
(
BigDecimal
.
valueOf
(
100
));
.
divide
(
ef
.
getRuleAmount
(),
4
,
RoundingMode
.
HALF_UP
).
multiply
(
BigDecimal
.
valueOf
(
100
));
}
}
f
.
setCurrentPaymentRatio
(
currentPaymentRatio
);
f
.
setCurrentPaymentRatio
(
currentPaymentRatio
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/ExpectedFortuneExportDTO.java
View file @
53890480
...
@@ -60,6 +60,9 @@ public class ExpectedFortuneExportDTO {
...
@@ -60,6 +60,9 @@ public class ExpectedFortuneExportDTO {
@ExcelProperty
(
"出账项目"
)
@ExcelProperty
(
"出账项目"
)
private
String
fortuneName
;
private
String
fortuneName
;
@ExcelProperty
(
"关联人员"
)
private
String
amountSourceName
;
@ExcelProperty
(
"出账年月(估)"
)
@ExcelProperty
(
"出账年月(估)"
)
@DateTimeFormat
(
"yyyy-MM"
)
@DateTimeFormat
(
"yyyy-MM"
)
@ColumnWidth
(
25
)
@ColumnWidth
(
25
)
...
@@ -145,6 +148,7 @@ public class ExpectedFortuneExportDTO {
...
@@ -145,6 +148,7 @@ public class ExpectedFortuneExportDTO {
dto
.
setBroker
(
vo
.
getBroker
());
dto
.
setBroker
(
vo
.
getBroker
());
dto
.
setTeam
(
vo
.
getTeam
());
dto
.
setTeam
(
vo
.
getTeam
());
dto
.
setFortuneName
(
vo
.
getFortuneName
());
dto
.
setFortuneName
(
vo
.
getFortuneName
());
dto
.
setAmountSourceName
(
vo
.
getAmountSourceName
());
dto
.
setBrokerRatio
(
vo
.
getBrokerRatio
());
dto
.
setBrokerRatio
(
vo
.
getBrokerRatio
());
dto
.
setAmount
(
vo
.
getHkdAmount
());
dto
.
setAmount
(
vo
.
getHkdAmount
());
dto
.
setCurrency
(
"港币"
);
dto
.
setCurrency
(
"港币"
);
...
...
yd-csf-service/src/main/resources/mappers/ExpectedFortuneMapper.xml
View file @
53890480
...
@@ -68,7 +68,7 @@
...
@@ -68,7 +68,7 @@
MAX(ef.fortune_total_period) as fortuneTotalPeriod,
MAX(ef.fortune_total_period) as fortuneTotalPeriod,
ifnull(sum(ef.original_amount), 0) as amount,
ifnull(sum(ef.original_amount), 0) as amount,
ifnull(sum(ef.hkd_amount), 0) as hkdAmount,
ifnull(sum(ef.hkd_amount), 0) as hkdAmount,
MAX(ef.
original
_currency) as currency,
MAX(ef.
payout
_currency) as currency,
ifnull(sum(ef.paid_amount), 0) as paidAmount,
ifnull(sum(ef.paid_amount), 0) as paidAmount,
ifnull(sum(ef.unpaid_amount), 0) as unpaidAmount,
ifnull(sum(ef.unpaid_amount), 0) as unpaidAmount,
case when ifnull(sum(ef.hkd_amount), 0) > 0
case when ifnull(sum(ef.hkd_amount), 0) > 0
...
@@ -81,7 +81,7 @@
...
@@ -81,7 +81,7 @@
end as unpaidRatio,
end as unpaidRatio,
MAX(pf.first_broker) as broker,
MAX(pf.first_broker) as broker,
MAX(pf.first_broker_biz_id) as brokerBizId,
MAX(pf.first_broker_biz_id) as brokerBizId,
DATE_ADD(DATE_ADD(MAX(p.effective_date), INTERVAL 2 MONTH), INTERVAL (ef.fortune_period - 1) YEAR
) as payoutDate
MAX(ef.payout_date
) as payoutDate
from expected_fortune ef
from expected_fortune ef
left join policy p on ef.policy_no = p.policy_no
left join policy p on ef.policy_no = p.policy_no
left join policy_follow pf on ef.policy_no = pf.policy_no
left join policy_follow pf on ef.policy_no = pf.policy_no
...
@@ -113,7 +113,7 @@
...
@@ -113,7 +113,7 @@
ef.fortune_total_period as fortuneTotalPeriod,
ef.fortune_total_period as fortuneTotalPeriod,
ifnull(ef.original_amount, 0) as amount,
ifnull(ef.original_amount, 0) as amount,
ifnull(ef.hkd_amount, 0) as hkdAmount,
ifnull(ef.hkd_amount, 0) as hkdAmount,
ef.
original
_currency as currency,
ef.
payout
_currency as currency,
ifnull(ef.paid_amount, 0) as paidAmount,
ifnull(ef.paid_amount, 0) as paidAmount,
ifnull(ef.unpaid_amount, 0) as unpaidAmount,
ifnull(ef.unpaid_amount, 0) as unpaidAmount,
case when ifnull(ef.hkd_amount, 0) > 0
case when ifnull(ef.hkd_amount, 0) > 0
...
@@ -163,6 +163,7 @@
...
@@ -163,6 +163,7 @@
ef.broker_biz_id,
ef.broker_biz_id,
ef.team,
ef.team,
ef.team_biz_id,
ef.team_biz_id,
ef.amount_source_name,
ef.fortune_name,
ef.fortune_name,
ef.fortune_type,
ef.fortune_type,
ef.broker_ratio,
ef.broker_ratio,
...
@@ -221,6 +222,7 @@
...
@@ -221,6 +222,7 @@
f.broker_biz_id,
f.broker_biz_id,
f.team,
f.team,
f.team_biz_id,
f.team_biz_id,
NULL as amount_source_name,
f.fortune_name,
f.fortune_name,
f.fortune_type,
f.fortune_type,
NULL as broker_ratio,
NULL as broker_ratio,
...
@@ -385,31 +387,35 @@
...
@@ -385,31 +387,35 @@
</select>
</select>
<select
id=
"queryListStatistics"
resultType=
"com.yd.csf.service.vo.ExpectedFortuneStatisticsVO"
>
<select
id=
"queryListStatistics"
resultType=
"com.yd.csf.service.vo.ExpectedFortuneStatisticsVO"
>
SELECT
WITH filtered_data AS (
COALESCE(SUM(hkd_amount), 0) AS totalExpectedAmount,
COALESCE(SUM(paid_amount), 0) AS totalPaidAmount,
COALESCE(SUM(unpaid_amount), 0) AS totalUnpaidAmount,
COALESCE(SUM(totalPremiumAmount), 0) AS totalPremiumAmount,
COUNT(DISTINCT policy_no) AS totalPolicyCount
FROM (
SELECT
SELECT
ef.hkd_amount,
ef.hkd_amount,
ef.paid_amount,
ef.paid_amount,
ef.unpaid_amount,
ef.unpaid_amount,
ef.policy_no,
ef.policy_no,
(SELECT p.total_payment_premium * ef.default_exchange_rate
ef.default_exchange_rate
FROM policy p
WHERE p.policy_no = ef.policy_no
) AS totalPremiumAmount
FROM expected_fortune ef
FROM expected_fortune ef
WHERE ef.is_deleted = 0
WHERE ef.is_deleted = 0
AND ef.is_part IN (0, 1)
AND ef.is_part IN (0, 1)
<if
test=
"ew != null"
>
<if
test=
"ew != null"
>
<if
test=
"ew.sqlSegment != null and ew.sqlSegment != ''"
>
<if
test=
"ew.sqlSegment != null and ew.sqlSegment != ''"
>
AND ${ew.sqlSegment}
AND ${ew.sqlSegment}
</if>
</if>
</if>
</if>
) AS statistics
),
premium_total AS (
SELECT SUM(p.total_payment_premium * dp.default_exchange_rate) AS total_premium
FROM (SELECT DISTINCT policy_no, default_exchange_rate FROM filtered_data) dp
INNER JOIN policy p ON p.policy_no = dp.policy_no
)
SELECT
COALESCE(SUM(fd.hkd_amount), 0) AS totalExpectedAmount,
COALESCE(SUM(fd.paid_amount), 0) AS totalPaidAmount,
COALESCE(SUM(fd.unpaid_amount), 0) AS totalUnpaidAmount,
COALESCE(pt.total_premium, 0) AS totalPremiumAmount,
COUNT(DISTINCT fd.policy_no) AS totalPolicyCount
FROM filtered_data fd
CROSS JOIN premium_total pt
</select>
</select>
<select
id=
"queryListNewCount"
resultType=
"java.lang.Long"
>
<select
id=
"queryListNewCount"
resultType=
"java.lang.Long"
>
...
...
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