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
4cb474bc
Commit
4cb474bc
authored
May 08, 2026
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
出账检核-增加币种18
parent
36af8c38
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
64 additions
and
15 deletions
+64
-15
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
+16
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneQueryRequest.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/CommissionExpected.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+1
-10
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
+18
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
+2
-2
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneVO.java
+12
-0
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
+2
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
View file @
4cb474bc
...
...
@@ -983,7 +983,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
long
startTime
=
System
.
currentTimeMillis
();
try
{
// 2. 构建查询条件
(不含 ORDER BY,因为 UNION ALL 在 XML 中有单独的 ORDER BY)
// 2. 构建查询条件
QueryWrapper
<
ExpectedFortune
>
queryWrapper
=
this
.
getQueryWrapper
(
request
);
// 移除 QueryWrapper 中的排序,避免在 UNION ALL 的子查询中出现 ORDER BY
...
...
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
View file @
4cb474bc
...
...
@@ -199,9 +199,15 @@ public class CommissionAsyncService {
paidAmount
=
paidAmount
.
add
(
item
.
getHkdAmount
());
}
// 更新预计来佣已入账金额、已入账比例
// 更新预计来佣已入账金额、已入账比例
、达成率缺口
commissionExpected
.
setPaidAmount
(
paidAmount
);
commissionExpected
.
setPaidRatio
(
paidRatio
);
commissionExpected
.
setPendingRatio
(
BigDecimal
.
ONE
.
subtract
(
paidRatio
.
divide
(
commissionExpected
.
getCommissionRatio
(),
4
,
RoundingMode
.
HALF_UP
))
.
multiply
(
BigDecimal
.
valueOf
(
100
))
);
// endregion 计算预计来佣属性
...
...
@@ -228,6 +234,7 @@ public class CommissionAsyncService {
.
set
(
CommissionExpected:
:
getStatus
,
CommissionExpectedStatusEnum
.
COMPARED
.
getItemValue
())
.
set
(
CommissionExpected:
:
getPaidAmount
,
paidAmount
)
.
set
(
CommissionExpected:
:
getPaidRatio
,
paidRatio
)
.
set
(
CommissionExpected:
:
getPendingRatio
,
commissionExpected
.
getPendingRatio
())
.
eq
(
CommissionExpected:
:
getId
,
commissionExpected
.
getId
())
.
update
();
// 更新已比对来佣记录
...
...
@@ -248,6 +255,7 @@ public class CommissionAsyncService {
.
set
(
CommissionExpected:
:
getStatus
,
CommissionExpectedStatusEnum
.
PARTIAL
.
getItemValue
())
.
set
(
CommissionExpected:
:
getPaidAmount
,
paidAmount
)
.
set
(
CommissionExpected:
:
getPaidRatio
,
paidRatio
)
.
set
(
CommissionExpected:
:
getPendingRatio
,
commissionExpected
.
getPendingRatio
())
.
eq
(
CommissionExpected:
:
getId
,
commissionExpected
.
getId
())
.
update
();
// 更新已比对来佣记录
...
...
@@ -378,6 +386,11 @@ public class CommissionAsyncService {
// 更新预计来佣已入账金额、已入账比例
commissionExpected
.
setPaidAmount
(
paidAmount
);
commissionExpected
.
setPaidRatio
(
paidRatio
);
commissionExpected
.
setPendingRatio
(
BigDecimal
.
ONE
.
subtract
(
paidRatio
.
divide
(
commissionExpected
.
getCommissionRatio
(),
4
,
RoundingMode
.
HALF_UP
))
.
multiply
(
BigDecimal
.
valueOf
(
100
))
);
// endregion 计算预计来佣属性
...
...
@@ -397,6 +410,7 @@ public class CommissionAsyncService {
.
set
(
CommissionExpected:
:
getStatus
,
CommissionExpectedStatusEnum
.
COMPARED
.
getItemValue
())
.
set
(
CommissionExpected:
:
getPaidAmount
,
paidAmount
.
setScale
(
4
,
RoundingMode
.
HALF_UP
))
.
set
(
CommissionExpected:
:
getPaidRatio
,
paidRatio
)
.
set
(
CommissionExpected:
:
getPendingRatio
,
commissionExpected
.
getPendingRatio
())
.
eq
(
CommissionExpected:
:
getId
,
commissionExpected
.
getId
())
.
update
();
// 更新已比对来佣记录
...
...
@@ -416,6 +430,7 @@ public class CommissionAsyncService {
.
set
(
CommissionExpected:
:
getStatus
,
CommissionExpectedStatusEnum
.
PARTIAL
.
getItemValue
())
.
set
(
CommissionExpected:
:
getPaidAmount
,
paidAmount
)
.
set
(
CommissionExpected:
:
getPaidRatio
,
paidRatio
)
.
set
(
CommissionExpected:
:
getPendingRatio
,
commissionExpected
.
getPendingRatio
())
.
eq
(
CommissionExpected:
:
getId
,
commissionExpected
.
getId
())
.
update
();
// 保存比对记录
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneQueryRequest.java
View file @
4cb474bc
...
...
@@ -42,6 +42,12 @@ public class FortuneQueryRequest extends PageDto implements Serializable {
private
List
<
String
>
commissionStatusList
;
/**
* 转介人(主)
*/
@Schema
(
description
=
"转介人(主)"
)
private
String
brokerName
;
/**
* 保险公司业务 id 列表
*/
@Schema
(
description
=
"保险公司业务 id 列表"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/CommissionExpected.java
View file @
4cb474bc
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.io.Serializable
;
...
...
@@ -155,6 +156,11 @@ public class CommissionExpected implements Serializable {
private
BigDecimal
paidRatio
;
/**
* 达成率缺口= 1 - 已入账来佣比例/产品本期来佣率
*/
private
BigDecimal
pendingRatio
;
/**
* 通用备注
*/
private
String
remark
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
4cb474bc
...
...
@@ -167,18 +167,9 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
CommissionExpected
commissionExpected
=
commissionExpectedMap
.
get
(
commission
.
getCommissionExpectedBizId
());
if
(
commissionExpected
!=
null
)
{
// 填充应收账款编号、
已入账比例、待入账比例
// 填充应收账款编号、
预计入账状态
commissionVO
.
setReceivableNo
(
commissionExpected
.
getReceivableNo
());
commissionVO
.
setStatusDesc
(
commissionExpected
.
getStatusDesc
());
if
(
commissionExpected
.
getCommissionRatio
()
!=
null
)
{
BigDecimal
paidRatio
=
commissionExpected
.
getPaidRatio
()
!=
null
?
commissionExpected
.
getPaidRatio
()
:
BigDecimal
.
ZERO
;
commissionVO
.
setPaidRatio
(
paidRatio
);
commissionVO
.
setPendingRatio
(
BigDecimal
.
ONE
.
subtract
(
paidRatio
.
divide
(
commissionExpected
.
getCommissionRatio
(),
4
,
RoundingMode
.
HALF_UP
))
.
multiply
(
BigDecimal
.
valueOf
(
100
))
);
}
commissionVO
.
setCommissionExpectedStatus
(
commissionExpected
.
getStatus
());
}
return
commissionVO
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
View file @
4cb474bc
...
...
@@ -18,6 +18,7 @@ import com.yd.common.exception.BusinessException;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RedisUtil
;
import
com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.enums.FortuneStatusEnum
;
import
com.yd.csf.service.model.*
;
...
...
@@ -71,6 +72,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
private
RedisUtil
redisUtil
;
@Resource
private
ApiExchangeRateFeignClient
apiExchangeRateFeignClient
;
@Resource
private
IAgentAccumulatedFycService
iAgentAccumulatedFycService
;
@Override
public
Wrapper
<
Fortune
>
getQueryWrapper
(
FortuneQueryRequest
fortuneQueryRequest
)
{
...
...
@@ -90,6 +93,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
List
<
String
>
productLaunchBizIdList
=
fortuneQueryRequest
.
getProductLaunchBizIdList
();
LocalDate
payoutDateStart
=
fortuneQueryRequest
.
getPayoutDateStart
();
LocalDate
payoutDateEnd
=
fortuneQueryRequest
.
getPayoutDateEnd
();
String
brokerName
=
fortuneQueryRequest
.
getBrokerName
();
// 入账状态
List
<
String
>
commissionStatusList
=
fortuneQueryRequest
.
getCommissionStatusList
();
...
...
@@ -101,6 +106,7 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
queryWrapper
.
gt
(
ObjectUtils
.
isNotEmpty
(
payoutDateStart
),
"payout_date"
,
payoutDateStart
);
queryWrapper
.
lt
(
ObjectUtils
.
isNotEmpty
(
payoutDateEnd
),
"payout_date"
,
payoutDateEnd
);
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
brokerName
),
"broker"
,
brokerName
);
// 入账状态, 关联查询 commission_expected 表
if
(
CollUtil
.
isNotEmpty
(
commissionStatusList
))
{
...
...
@@ -122,12 +128,14 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
List
<
FortuneVO
>
fortuneVOList
=
new
ArrayList
<>();
Set
<
String
>
expectedFortuneBizIdSet
=
new
HashSet
<>();
Set
<
String
>
brokerBizIdSet
=
new
HashSet
<>();
Set
<
String
>
policyNoSet
=
new
HashSet
<>();
for
(
Fortune
fortune
:
fortuneList
)
{
FortuneVO
fortuneVO
=
FortuneVO
.
objToVo
(
fortune
);
fortuneVOList
.
add
(
fortuneVO
);
expectedFortuneBizIdSet
.
add
(
fortune
.
getExpectedFortuneBizId
());
policyNoSet
.
add
(
fortune
.
getPolicyNo
());
brokerBizIdSet
.
add
(
fortune
.
getBrokerBizId
());
}
Set
<
String
>
commissionExpectedBizIdSet
=
fortuneList
.
stream
().
map
(
Fortune:
:
getCommissionExpectedBizId
).
collect
(
Collectors
.
toSet
());
...
...
@@ -145,6 +153,9 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
List
<
Policy
>
policyList
=
policyService
.
list
(
queryWrapper
);
Map
<
String
,
Policy
>
policyMap
=
policyList
.
stream
().
collect
(
Collectors
.
toMap
(
Policy:
:
getPolicyNo
,
a
->
a
,
(
oldValue
,
newValue
)
->
newValue
));
// 3. 转介人职级信息
Map
<
String
,
UserGradeDto
>
userGradeMap
=
iAgentAccumulatedFycService
.
queryUserGradeMap
(
new
ArrayList
<>(
brokerBizIdSet
));
fortuneVOList
.
forEach
(
fortuneVO
->
{
String
commissionBizId
=
fortuneVO
.
getCommissionExpectedBizId
();
// 设置来佣金额和比例
...
...
@@ -152,6 +163,7 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
if
(
commissionExpected
!=
null
)
{
fortuneVO
.
setCommissionPaidAmount
(
commissionExpected
.
getPaidAmount
());
fortuneVO
.
setCommissionPaidRatio
(
commissionExpected
.
getPaidRatio
());
fortuneVO
.
setCommissionPendingRatio
(
commissionExpected
.
getPendingRatio
());
}
// 设置保单信息
...
...
@@ -161,6 +173,12 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
fortuneVO
.
setInsuranceCompany
(
policy
.
getInsuranceCompany
());
fortuneVO
.
setProductName
(
policy
.
getProductName
());
}
// 设置转介人职级
UserGradeDto
userGradeDto
=
userGradeMap
.
get
(
fortuneVO
.
getBrokerBizId
());
if
(
userGradeDto
!=
null
)
{
fortuneVO
.
setBrokerGradeName
(
userGradeDto
.
getGradeName
());
}
});
fortuneVOPage
.
setRecords
(
fortuneVOList
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
View file @
4cb474bc
...
...
@@ -225,9 +225,9 @@ public class CommissionVO implements Serializable {
private
BigDecimal
paidRatio
;
/**
* 达成率缺口= 1 - 本期
实佣率
/产品本期来佣率
* 达成率缺口= 1 - 本期
累计入账比例
/产品本期来佣率
*/
@Schema
(
description
=
"达成率缺口= 1 -
累积实佣率
/产品本期来佣率"
)
@Schema
(
description
=
"达成率缺口= 1 -
本期累计入账比例
/产品本期来佣率"
)
private
BigDecimal
pendingRatio
;
/**
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneVO.java
View file @
4cb474bc
...
...
@@ -114,6 +114,12 @@ public class FortuneVO implements Serializable {
private
BigDecimal
commissionPaidRatio
;
/**
* 入账达成率缺口 (%)
*/
@Schema
(
description
=
"入账达成率缺口 (%)"
)
private
BigDecimal
commissionPendingRatio
;
/**
* 本次已来佣金额
*/
// @Schema(description = "本次已来佣金额")
...
...
@@ -138,6 +144,12 @@ public class FortuneVO implements Serializable {
private
String
broker
;
/**
* 转介人职级
*/
@Schema
(
description
=
"转介人职级"
)
private
String
brokerGradeName
;
/**
* 转介人业务ID
*/
@Schema
(
description
=
"转介人业务ID"
)
...
...
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
View file @
4cb474bc
...
...
@@ -32,6 +32,7 @@
<result
property=
"expectedAmount"
column=
"expected_amount"
/>
<result
property=
"paidAmount"
column=
"paid_amount"
/>
<result
property=
"paidRatio"
column=
"paid_ratio"
/>
<result
property=
"pendingRatio"
column=
"pending_ratio"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"isDeleted"
column=
"is_deleted"
/>
<result
property=
"creatorId"
column=
"creator_id"
/>
...
...
@@ -45,7 +46,7 @@
policy_no,premium,policy_currency,insurance_company_biz_id,product_launch_biz_id,
reconciliation_company,reconciliation_company_code,reconciliation_company_biz_id,commission_period,
total_period,commission_name,commission_type,commission_ratio,amount,currency,default_exchange_rate,expected_amount,
commission_date,status,status_desc,paid_amount,paid_ratio,remark,is_deleted,creator_id,
commission_date,status,status_desc,paid_amount,paid_ratio,
pending_ratio,
remark,is_deleted,creator_id,
updater_id,create_time,update_time
</sql>
...
...
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