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
fc597682
Commit
fc597682
authored
Jan 05, 2026
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
前端对接问题修复47
parent
d8b9a136
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
35 additions
and
14 deletions
+35
-14
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
+1
-0
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
+9
-2
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionMapper.java
+1
-3
yd-csf-service/src/main/java/com/yd/csf/service/enums/CommissionStatusEnum.java
+1
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
+9
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
+1
-1
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
+11
-8
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
View file @
fc597682
...
...
@@ -79,6 +79,7 @@ public class CommissionExcelDTO {
public
static
Commission
convertToEntityNew
(
CommissionExcelDTO
data
,
String
loginUserId
)
{
Commission
entity
=
new
Commission
();
// 字段映射
entity
.
setCommissionBizType
(
data
.
getCommissionBizType
());
entity
.
setPolicyNo
(
data
.
getPolicyNo2
());
entity
.
setCommissionPeriod
(
data
.
getCommissionPeriod2
());
entity
.
setCommissionName
(
data
.
getCommissionName2
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
View file @
fc597682
...
...
@@ -173,14 +173,16 @@ public class CommissionAsyncService {
// 校验参数
boolean
validFlag
=
false
;
for
(
Commission
existingCommission
:
existingCommissions
)
{
if
(
existingCommission
.
getTotalPeriod
().
compareTo
(
commissionExpected
.
getTotalPeriod
())
!=
0
)
{
Integer
commissionTotalPeriod
=
existingCommission
.
getTotalPeriod
();
Integer
expectedTotalPeriod
=
commissionExpected
.
getTotalPeriod
();
if
(
commissionTotalPeriod
.
compareTo
(
expectedTotalPeriod
)
!=
0
)
{
existingCommission
.
setRemark
(
"来佣总期数与预计来佣总期数不一致"
);
existingCommission
.
setStatus
(
CommissionStatusEnum
.
COMPARE_FAIL
.
getItemValue
());
validFlag
=
true
;
}
}
// 参数校验未通过,更新后,不执行后续计算
if
(
!
validFlag
)
{
if
(
validFlag
)
{
commissionService
.
updateBatchById
(
existingCommissions
);
return
;
}
...
...
@@ -191,7 +193,12 @@ public class CommissionAsyncService {
BigDecimal
paidRatio
=
BigDecimal
.
ZERO
;
BigDecimal
paidAmount
=
BigDecimal
.
ZERO
;
for
(
Commission
item
:
existingCommissions
)
{
if
(
item
.
getCurrentCommissionRatio
()
==
null
)
{
log
.
warn
(
"当前来佣比例为空,临时计算当前来佣比例: {}"
,
item
);
paidRatio
=
paidRatio
.
add
(
item
.
calculateCurrentPaidRatio
());
}
else
{
paidRatio
=
paidRatio
.
add
(
item
.
getCurrentCommissionRatio
());
}
paidAmount
=
paidAmount
.
add
(
item
.
getAmount
());
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionMapper.java
View file @
fc597682
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.yd.csf.service.dto.CommissionBindPolicyBrokerDto
;
import
com.yd.csf.service.dto.CommissionDto
;
import
com.yd.csf.service.model.Commission
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yd.csf.service.vo.CommissionStatisticsVO
;
import
com.yd.csf.service.vo.CommissionVO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
...
...
@@ -23,7 +21,7 @@ public interface CommissionMapper extends BaseMapper<Commission> {
CommissionStatisticsVO
getCommissionStatistics
(
@Param
(
"commissionIdList"
)
List
<
Long
>
commissionIdList
);
int
updateStatusBatchById
(
@Param
(
"
existingCommissions"
)
List
<
Commission
>
existingCommissions
);
int
updateStatusBatchById
(
@Param
(
"
list"
)
List
<
Commission
>
list
);
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/enums/CommissionStatusEnum.java
View file @
fc597682
...
...
@@ -9,6 +9,7 @@ public enum CommissionStatusEnum {
WAIT
(
"未比对"
,
"0"
),
COMPARE_SUCCESS
(
"比对成功"
,
"1"
),
COMPARE_FAIL
(
"比对失败"
,
"2"
),
MATCH_FAILED
(
"未查询到预计来佣记录"
,
"3"
);
;
//字典项标签(名称)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
View file @
fc597682
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.*;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.Date
;
import
lombok.Data
;
...
...
@@ -195,4 +196,11 @@ public class Commission implements Serializable {
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
public
BigDecimal
calculateCurrentPaidRatio
()
{
// 当前来佣比例=当前入账金额/结算汇率/保费 * 100
return
amount
.
divide
(
new
BigDecimal
(
premium
),
4
,
RoundingMode
.
HALF_UP
)
.
divide
(
new
BigDecimal
(
exchangeRate
),
4
,
RoundingMode
.
HALF_UP
)
.
multiply
(
new
BigDecimal
(
100
));
}
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
fc597682
...
...
@@ -15,6 +15,7 @@ import com.yd.common.exception.BusinessException;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.service.component.CommissionAsyncService
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.enums.CommissionStatusEnum
;
import
com.yd.csf.service.enums.FortuneStatusEnum
;
import
com.yd.csf.service.model.*
;
import
com.yd.csf.service.service.*
;
...
...
@@ -673,6 +674,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
log
.
warn
(
"新增入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}"
,
request
.
getPolicyNo
(),
request
.
getCommissionPeriod
(),
request
.
getCommissionName
(),
request
.
getCurrency
());
commission
.
setRemark
(
"未查询到预计来佣记录"
);
commission
.
setStatus
(
CommissionStatusEnum
.
MATCH_FAILED
.
getItemValue
());
}
}
commissionList
.
add
(
commission
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
View file @
fc597682
...
...
@@ -167,7 +167,7 @@ public class CommissionVO implements Serializable {
/**
* 比对状态
*/
@Schema
(
description
=
"比对状态 0=未比对 1=比对成功 2=比对失败 字典值: csf_commission_status"
)
@Schema
(
description
=
"比对状态 0=未比对 1=比对成功 2=比对失败
3=未匹配到预计入账记录
字典值: csf_commission_status"
)
private
String
commissionStatus
;
/**
...
...
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
View file @
fc597682
...
...
@@ -49,18 +49,21 @@
</sql>
<update
id=
"updateStatusBatchById"
>
update commission
set
status = #{item.status},
update_time = now()
where id in
<foreach
collection=
"existingCommissions"
item=
"item"
index=
"index"
open=
"("
separator=
","
close=
")"
>
UPDATE commission
<set>
status = CASE id
<foreach
collection=
"list"
item=
"item"
>
WHEN #{item.id} THEN #{item.status}
</foreach>
END,
update_time = NOW()
</set>
WHERE id IN
<foreach
collection=
"list"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item.id}
</foreach>
</update>
<select
id=
"queryCommissionBindPolicyBrokerList"
resultType=
"com.yd.csf.service.dto.CommissionBindPolicyBrokerDto"
>
select c.*,p.*,pb.*
...
...
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