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
74b63aac
Commit
74b63aac
authored
Apr 22, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into prod
parents
be6939b6
ae0022b3
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
42 additions
and
27 deletions
+42
-27
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+26
-13
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneVO.java
+9
-7
yd-csf-service/src/main/java/com/yd/csf/service/vo/PayableReportVO.java
+3
-3
yd-csf-service/src/main/java/com/yd/csf/service/vo/ReceivableReportVO.java
+3
-3
No files found.
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
View file @
74b63aac
...
...
@@ -682,7 +682,7 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
commissionExpected
.
setCommissionRatio
(
item
.
getCommissionRate
());
commissionExpected
.
setAmount
(
null
);
commissionExpected
.
setCurrency
(
item
.
getCurrency
());
commissionExpected
.
setCommissionDate
(
calculateCommissionDate
(
i
,
coolingOffEnd
Date
));
commissionExpected
.
setCommissionDate
(
calculateCommissionDate
(
i
,
effective
Date
));
commissionExpected
.
setStatus
(
CommissionExpectedStatusEnum
.
PENDING
.
getItemValue
());
commissionExpected
.
setStatusDesc
(
null
);
commissionExpected
.
setDefaultExchangeRate
(
queryExchangeRateByFeign
(
policy
.
getCurrency
(),
item
.
getCurrency
()));
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
74b63aac
...
...
@@ -284,6 +284,16 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission
.
setReconciliationCompany
(
policy
.
getReconciliationCompany
());
commission
.
setReconciliationCompanyCode
(
policy
.
getReconciliationCompanyCode
());
commission
.
setReconciliationCompanyBizId
(
policy
.
getReconciliationCompanyBizId
());
// 本次入账比例
commission
.
setCurrentCommissionRatio
(
calculateCurrentCommissionRatio
(
commission
.
getPremium
(),
commission
.
getAmount
(),
commission
.
getCurrency
(),
commission
.
getExchangeRate
(),
commission
.
getPolicyCurrency
()
)
);
}
// 匹配预计来佣记录
CommissionExpected
expected
=
findExpectedFromList
(
commission
,
commissionExpectedList
);
...
...
@@ -291,9 +301,6 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission
.
setCommissionExpectedBizId
(
expected
.
getCommissionExpectedBizId
());
commission
.
setReceivableNo
(
expected
.
getReceivableNo
());
commission
.
setTotalPeriod
(
expected
.
getTotalPeriod
());
// 本次入账比例
commission
.
setCurrentCommissionRatio
(
calculateCurrentCommissionRatio
(
commission
.
getPremium
(),
commission
.
getAmount
(),
commission
.
getCurrency
(),
commission
.
getExchangeRate
(),
expected
));
}
else
{
commission
.
setRemark
(
"未查询到预计来佣记录"
);
commission
.
setStatus
(
CommissionStatusEnum
.
MATCH_FAILED
.
getItemValue
());
...
...
@@ -403,7 +410,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
requestAmount
,
commissionUpdateRequest
.
getCurrency
(),
commissionUpdateRequest
.
getExchangeRate
(),
commission
Expected
);
commission
.
getPolicyCurrency
()
);
commission
.
setCurrentCommissionRatio
(
currentCommissionRatio
);
}
}
...
...
@@ -754,7 +761,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
return
this
.
getOne
(
new
QueryWrapper
<
Commission
>().
eq
(
"commission_biz_id"
,
commissionBizId
));
}
public
BigDecimal
calculateCurrentCommissionRatio
(
String
premium
,
BigDecimal
amount
,
String
currentCurrency
,
BigDecimal
exchangeRate
,
CommissionExpected
commissionExpected
)
{
public
BigDecimal
calculateCurrentCommissionRatio
(
String
premium
,
BigDecimal
amount
,
String
currentCurrency
,
BigDecimal
exchangeRate
,
String
policyCurrency
)
{
if
(
ObjectUtils
.
isEmpty
(
premium
))
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"保单保费不能为空"
);
}
...
...
@@ -764,11 +771,9 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
if
(
ObjectUtils
.
isEmpty
(
exchangeRate
))
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"当前结算汇率不能为空"
);
}
// 获取保单币种
String
currency
=
commissionExpected
.
getPolicyCurrency
();
// 如果当前入账币种等于保单币种,直接计算来佣比例
if
(
StringUtils
.
equalsIgnoreCase
(
currentCurrency
,
c
urrency
))
{
if
(
StringUtils
.
equalsIgnoreCase
(
currentCurrency
,
policyC
urrency
))
{
return
amount
.
divide
(
new
BigDecimal
(
premium
),
4
,
RoundingMode
.
HALF_UP
)
.
multiply
(
new
BigDecimal
(
100
));
}
else
{
...
...
@@ -858,6 +863,14 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission
.
setInsuranceCompanyBizId
(
policy
.
getInsuranceCompanyBizId
());
commission
.
setPremium
(
Convert
.
toStr
(
policy
.
getPaymentPremium
()));
commission
.
setPolicyCurrency
(
policy
.
getCurrency
());
// 本次入账比例
commission
.
setCurrentCommissionRatio
(
calculateCurrentCommissionRatio
(
commission
.
getPremium
(),
commission
.
getAmount
(),
commission
.
getCurrency
(),
commission
.
getExchangeRate
(),
commission
.
getPolicyCurrency
())
);
}
else
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"保单不存在, policyNo: "
+
request
.
getPolicyNo
());
}
...
...
@@ -867,10 +880,10 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
// 关联预计来佣信息
CommissionExpected
expected
=
getCommissionExpectedBizIdBatch
(
request
,
policyNoSet
,
commission
);
if
(
expected
!=
null
&&
"R"
.
equals
(
expected
.
getCommissionBizType
())
)
{
// 本次入账比例
commission
.
set
CurrentCommissionRatio
(
calculateCurrentCommissionRatio
(
commission
.
getPremium
(),
commission
.
getAmount
(),
commission
.
getCurrency
(),
commission
.
getExchangeRate
(),
expected
));
if
(
expected
!=
null
)
{
commission
.
setCommissionExpectedBizId
(
expected
.
getCommissionExpectedBizId
());
commission
.
set
ReceivableNo
(
expected
.
getReceivableNo
());
commission
.
setTotalPeriod
(
expected
.
getTotalPeriod
(
));
}
commissionList
.
add
(
commission
);
...
...
@@ -991,7 +1004,6 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
BeanUtils
.
copyProperties
(
commission
,
expected
,
"id"
,
"remark"
);
expected
.
setCommissionExpectedBizId
(
RandomStringGenerator
.
generateBizId16
(
"commission_expected"
));
expected
.
setPremium
(
new
BigDecimal
(
commission
.
getPremium
()));
expected
.
setCommissionRatio
(
commission
.
getCurrentCommissionRatio
());
// 生成应收单编号
expected
.
setReceivableNo
(
receivableService
.
generateReceivableNo
(
...
...
@@ -999,6 +1011,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission
.
getReconciliationCompanyCode
(),
commission
.
getReconciliationCompany
()));
// 设置预计入账金额、已来佣金额、待入账金额
expected
.
setCommissionRatio
(
commission
.
getCurrentCommissionRatio
());
expected
.
setExpectedAmount
(
commission
.
getHkdAmount
());
expected
.
setPaidAmount
(
commission
.
getHkdAmount
());
expected
.
setPaidRatio
(
commission
.
getCurrentCommissionRatio
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneVO.java
View file @
74b63aac
...
...
@@ -222,10 +222,10 @@ public class FortuneVO implements Serializable {
private
String
status
;
/**
* 出账日(估)
* 出账日(估)
/ 预计发佣月
*/
@Schema
(
description
=
"出账日(估)"
)
@JsonFormat
(
pattern
=
"yyyy-MM
-dd
"
,
timezone
=
"GMT+8"
)
@Schema
(
description
=
"出账日(估)
/ 预计发佣月
"
)
@JsonFormat
(
pattern
=
"yyyy-MM"
,
timezone
=
"GMT+8"
)
private
LocalDate
payoutDate
;
/**
...
...
@@ -330,13 +330,15 @@ public class FortuneVO implements Serializable {
FortuneVO
fortuneVO
=
new
FortuneVO
();
BeanUtils
.
copyProperties
(
fortune
,
fortuneVO
);
// 计算已出账金额和待出账金额
fortuneVO
.
setFortunePaidAmount
(
fortune
.
getCurrentPaymentHkdAmount
());
fortuneVO
.
setFortuneUnpaidAmount
(
NumberUtil
.
sub
(
fortune
.
getHkdAmount
(),
fortune
.
getCurrentPaymentHkdAmount
()));
// 计算待出账比例
BigDecimal
currentPaymentHkdAmount
=
"2"
.
equals
(
fortune
.
getStatus
())
?
fortune
.
getCurrentPaymentHkdAmount
()
:
BigDecimal
.
ZERO
;
fortuneVO
.
setFortunePaidAmount
(
currentPaymentHkdAmount
);
fortuneVO
.
setFortuneUnpaidAmount
(
NumberUtil
.
sub
(
fortune
.
getHkdAmount
(),
currentPaymentHkdAmount
));
// 计算已出账比例
BigDecimal
currentPaymentRatio
=
NumberUtil
.
div
(
fortune
.
getCurrentPaymentHkdAmount
()
,
fortune
.
getHkdAmount
(),
4
)
.
div
(
currentPaymentHkdAmount
,
fortune
.
getHkdAmount
(),
4
)
.
multiply
(
BigDecimal
.
valueOf
(
100
));
fortuneVO
.
setCurrentPaymentRatio
(
currentPaymentRatio
);
// 计算剩余出账比例
fortuneVO
.
setFortuneUnpaidRatio
(
BigDecimal
.
valueOf
(
100
).
subtract
(
currentPaymentRatio
));
fortuneVO
.
setCurrency
(
CurrencyEnum
.
toLabel
(
fortune
.
getCurrency
()));
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/PayableReportVO.java
View file @
74b63aac
...
...
@@ -51,10 +51,10 @@ public class PayableReportVO {
private
Integer
fortuneTotalPeriod
;
/**
* 出账日
* 出账日
/ 预计发佣月
*/
@Schema
(
description
=
"出账日 (保单
日+2个月)
"
)
@JsonFormat
(
pattern
=
"yyyy-MM
-dd
"
,
timezone
=
"GMT+8"
)
@Schema
(
description
=
"出账日 (保单
生效日+2个月) / 预计发佣月
"
)
@JsonFormat
(
pattern
=
"yyyy-MM"
,
timezone
=
"GMT+8"
)
private
LocalDate
payoutDate
;
/**
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/ReceivableReportVO.java
View file @
74b63aac
...
...
@@ -55,10 +55,10 @@ public class ReceivableReportVO {
private
Integer
totalPeriod
;
/**
* 入账日(估)
* 入账日(估)
/ 预计来佣月
*/
@Schema
(
description
=
"入账日(估)(保单生效日+
2个月+(期数-1)年
)"
)
@JsonFormat
(
pattern
=
"yyyy-MM
-dd
"
,
timezone
=
"GMT+8"
)
@Schema
(
description
=
"入账日(估)(保单生效日+
1个月
)"
)
@JsonFormat
(
pattern
=
"yyyy-MM"
,
timezone
=
"GMT+8"
)
private
LocalDate
commissionDate
;
/**
...
...
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