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
99069997
Commit
99069997
authored
Dec 01, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复
parent
b70d4af7
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
71 additions
and
2 deletions
+71
-2
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
+38
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/QueryPolicyBrokerDto.java
+9
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/ExpectedFortune.java
+13
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyBrokerService.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyBrokerServiceImpl.java
+9
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
View file @
99069997
...
...
@@ -20,11 +20,14 @@ import com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse;
import
com.yd.csf.feign.response.expectedfortune.ApiGenerateExpectedFortuneResponse
;
import
com.yd.csf.service.dto.CommissionRuleBindingDto
;
import
com.yd.csf.service.dto.QueryPolicyAndBrokerDto
;
import
com.yd.csf.service.dto.QueryPolicyBrokerDto
;
import
com.yd.csf.service.enums.FortuneStatusEnum
;
import
com.yd.csf.service.model.CommissionRuleBinding
;
import
com.yd.csf.service.model.ExpectedFortune
;
import
com.yd.csf.service.model.PolicyBroker
;
import
com.yd.csf.service.service.ICommissionRuleBindingService
;
import
com.yd.csf.service.service.IExpectedFortuneService
;
import
com.yd.csf.service.service.PolicyBrokerService
;
import
com.yd.csf.service.service.PolicyService
;
import
com.yd.user.feign.client.clientuser.ApiClientUserFeignClient
;
import
jodd.util.StringUtil
;
...
...
@@ -80,6 +83,9 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
@Autowired
private
ApiExpectedFortuneLogService
apiExpectedFortuneLogService
;
@Autowired
private
PolicyBrokerService
policyBrokerService
;
/**
* 生成预计发佣
* @param request
...
...
@@ -327,9 +333,13 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
//判空判0
continue
;
}
PolicyBroker
policyBroker
=
policyBrokerService
.
queryOne
(
QueryPolicyBrokerDto
.
builder
()
.
policyNo
(
fortuneDto
.
getPolicyNo
())
.
brokerBizId
(
fortuneDto
.
getBrokerBizId
())
.
build
());
ExpectedFortune
fortune
=
new
ExpectedFortune
();
//发佣金额 -> 计算值 - sqlAlgorithmResultDtoList集合里面的计算值和值
fortune
.
setAmount
(
algorithmResDto
.
getCalculatedValue
());
//
fortune.setAmount(algorithmResDto.getCalculatedValue());
//保单发佣批次ID
// fortune.setBatchBizId(fortuneDto.getBatchBizId());
//转介人姓名 (获得积分的业务员)
...
...
@@ -351,6 +361,33 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
//保单号
fortune
.
setPolicyNo
(
fortuneDto
.
getPolicyNo
());
// 标准发佣金额 -> 计算值
BigDecimal
standardAmount
=
algorithmResDto
.
getCalculatedValue
();
fortune
.
setStandardAmount
(
standardAmount
);
// 转介人介绍费占比
String
brokerRatioStr
=
!
Objects
.
isNull
(
policyBroker
)
?
policyBroker
.
getBrokerRatio
()
:
"100"
;
fortune
.
setBrokerRatio
(
brokerRatioStr
);
try
{
// 将百分比字符串转换为小数
BigDecimal
ratio
=
new
BigDecimal
(
brokerRatioStr
);
// 除以100
BigDecimal
decimalRatio
=
ratio
.
divide
(
new
BigDecimal
(
"100"
),
4
,
BigDecimal
.
ROUND_HALF_UP
);
// 计算实际发佣金额 = 标准发佣金额 × decimalRatio
BigDecimal
actualAmount
=
standardAmount
.
multiply
(
decimalRatio
);
fortune
.
setAmount
(
actualAmount
);
}
catch
(
NumberFormatException
e
)
{
// 如果比例不是有效的数字,使用标准金额
fortune
.
setAmount
(
standardAmount
);
}
catch
(
Exception
e
)
{
// 其他异常处理
log
.
error
(
"计算发佣金额异常: {}"
,
brokerRatioStr
,
e
);
fortune
.
setAmount
(
standardAmount
);
}
fortuneList
.
add
(
fortune
);
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/QueryPolicyBrokerDto.java
View file @
99069997
...
...
@@ -18,4 +18,13 @@ public class QueryPolicyBrokerDto {
*/
private
List
<
String
>
policyNoList
;
/**
* 保单号
*/
private
String
policyNo
;
/**
* 转介人业务ID(客户端用户表唯一业务ID)
*/
private
String
brokerBizId
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/ExpectedFortune.java
View file @
99069997
...
...
@@ -92,7 +92,19 @@ public class ExpectedFortune implements Serializable {
private
String
fortuneType
;
/**
* 发佣金额
* 转介人介绍费占比
*/
@TableField
(
"broker_ratio"
)
private
String
brokerRatio
;
/**
* 标准发佣金额
*/
@TableField
(
"standard_amount"
)
private
BigDecimal
standardAmount
;
/**
* 实际发佣金额(实际发佣金额 = 标准发佣金额 * 转介人介绍费占比)
*/
@TableField
(
"amount"
)
private
BigDecimal
amount
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyBrokerService.java
View file @
99069997
...
...
@@ -14,4 +14,6 @@ import java.util.List;
public
interface
PolicyBrokerService
extends
IService
<
PolicyBroker
>
{
List
<
PolicyBroker
>
queryList
(
QueryPolicyBrokerDto
dto
);
PolicyBroker
queryOne
(
QueryPolicyBrokerDto
dto
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyBrokerServiceImpl.java
View file @
99069997
...
...
@@ -33,6 +33,15 @@ public class PolicyBrokerServiceImpl extends ServiceImpl<PolicyBrokerMapper, Pol
);
return
list
;
}
@Override
public
PolicyBroker
queryOne
(
QueryPolicyBrokerDto
dto
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
PolicyBroker
>()
.
eq
(
PolicyBroker:
:
getBrokerBizId
,
dto
.
getBrokerBizId
())
.
eq
(
PolicyBroker:
:
getPolicyNo
,
dto
.
getPolicyNo
())
.
last
(
"limit 1"
)
);
}
}
...
...
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