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
47459d7c
Commit
47459d7c
authored
Nov 21, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新单跟进75
parent
ceaec495
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
47 additions
and
31 deletions
+47
-31
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionMapper.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+18
-30
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionStatisticsVO.java
+2
-1
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
+22
-0
No files found.
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionMapper.java
View file @
47459d7c
package
com
.
yd
.
csf
.
service
.
dao
;
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.CommissionBindPolicyBrokerDto
;
import
com.yd.csf.service.dto.CommissionDto
;
import
com.yd.csf.service.dto.CommissionDto
;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.Commission
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
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
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.List
;
...
@@ -17,6 +20,8 @@ import java.util.List;
...
@@ -17,6 +20,8 @@ import java.util.List;
public
interface
CommissionMapper
extends
BaseMapper
<
Commission
>
{
public
interface
CommissionMapper
extends
BaseMapper
<
Commission
>
{
List
<
CommissionBindPolicyBrokerDto
>
queryCommissionBindPolicyBrokerList
(
@Param
(
"dto"
)
CommissionDto
dto
);
List
<
CommissionBindPolicyBrokerDto
>
queryCommissionBindPolicyBrokerList
(
@Param
(
"dto"
)
CommissionDto
dto
);
CommissionStatisticsVO
getCommissionStatistics
(
@Param
(
"commissionIdList"
)
List
<
Long
>
commissionIdList
);
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
47459d7c
...
@@ -29,17 +29,18 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -29,17 +29,18 @@ import org.springframework.transaction.annotation.Transactional;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.math.RoundingMode
;
import
java.text.NumberFormat
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
* @author Zhang Jianan
* @author Zhang Jianan
* @description 针对表【commission(保单来佣表)】的数据库操作Service实现
* @description 针对表【commission(保单来佣表)】的数据库操作Service实现
* @createDate 2025-09-19 16:08:05
* @createDate 2025-09-19 16:08:05
*/
*/
@Service
@Service
public
class
CommissionServiceImpl
extends
ServiceImpl
<
CommissionMapper
,
Commission
>
public
class
CommissionServiceImpl
extends
ServiceImpl
<
CommissionMapper
,
Commission
>
implements
CommissionService
{
implements
CommissionService
{
@Resource
@Resource
private
FortuneService
fortuneService
;
private
FortuneService
fortuneService
;
...
@@ -266,19 +267,21 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -266,19 +267,21 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
/**
/**
* 查询列表
* 查询列表
*
* @param dto
* @param dto
* @return
* @return
*/
*/
@Override
@Override
public
List
<
Commission
>
queryList
(
CommissionDto
dto
)
{
public
List
<
Commission
>
queryList
(
CommissionDto
dto
)
{
List
<
Commission
>
list
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
Commission
>()
List
<
Commission
>
list
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
Commission
>()
.
in
(
CollectionUtils
.
isNotEmpty
(
dto
.
getCommissionBizIdList
()),
Commission:
:
getCommissionBizId
,
dto
.
getCommissionBizIdList
())
.
in
(
CollectionUtils
.
isNotEmpty
(
dto
.
getCommissionBizIdList
()),
Commission:
:
getCommissionBizId
,
dto
.
getCommissionBizIdList
())
);
);
return
list
;
return
list
;
}
}
/**
/**
* 查询来佣保单转介人关系信息
* 查询来佣保单转介人关系信息
*
* @param dto
* @param dto
* @return
* @return
*/
*/
...
@@ -290,30 +293,15 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -290,30 +293,15 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
@Override
@Override
public
CommissionStatisticsVO
getCommissionStatistics
(
CommissionStatisticsRequest
commissionStatisticsRequest
)
{
public
CommissionStatisticsVO
getCommissionStatistics
(
CommissionStatisticsRequest
commissionStatisticsRequest
)
{
// 自定义统计数据
// 自定义统计数据
List
<
Commission
>
list
=
baseMapper
.
selectList
(
CommissionStatisticsVO
commissionStatistics
=
baseMapper
.
getCommissionStatistics
(
commissionStatisticsRequest
.
getCommissionIds
());
new
QueryWrapper
<
Commission
>().
in
(
"id"
,
commissionStatisticsRequest
.
getCommissionIds
()));
// 计算待入账金额
// 统计数据
commissionStatistics
.
setPendingPaidAmount
(
commissionStatistics
.
getTotalAmount
().
subtract
(
commissionStatistics
.
getTotalPaidAmount
()));
CommissionStatisticsVO
vo
=
new
CommissionStatisticsVO
();
// 计算已入账比例
vo
.
setTotalAmount
(
BigDecimal
.
ZERO
);
BigDecimal
divided
=
commissionStatistics
.
getTotalPaidAmount
().
divide
(
commissionStatistics
.
getTotalAmount
(),
4
,
RoundingMode
.
HALF_UP
);
vo
.
setTotalPaidAmount
(
BigDecimal
.
ZERO
);
// 格式化 %
vo
.
setPendingPaidAmount
(
BigDecimal
.
ZERO
);
commissionStatistics
.
setPaidAmountRatio
(
String
.
format
(
"%.2f%%"
,
divided
.
doubleValue
()
*
100
));
vo
.
setPaidAmountRatio
(
BigDecimal
.
ZERO
);
vo
.
setTotalPolicyCount
(
0
);
return
commissionStatistics
;
Set
<
String
>
policyNoSet
=
new
HashSet
<>();
for
(
Commission
commission
:
list
)
{
// 统计来佣保单数量
policyNoSet
.
add
(
commission
.
getPolicyNo
());
// 统计来佣总金额
vo
.
setTotalAmount
(
vo
.
getTotalAmount
().
add
(
commission
.
getAmount
()));
// 统计已入账金额
vo
.
setTotalPaidAmount
(
vo
.
getTotalPaidAmount
().
add
(
commission
.
getAmount
()));
}
vo
.
setTotalPolicyCount
(
policyNoSet
.
size
());
if
(
vo
.
getTotalAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
vo
.
setPaidAmountRatio
(
vo
.
getTotalPaidAmount
().
divide
(
vo
.
getTotalAmount
(),
4
,
RoundingMode
.
HALF_UP
));
}
return
vo
;
}
}
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionStatisticsVO.java
View file @
47459d7c
...
@@ -33,11 +33,12 @@ public class CommissionStatisticsVO {
...
@@ -33,11 +33,12 @@ public class CommissionStatisticsVO {
* 已入账比例(已入账金额/总金额)
* 已入账比例(已入账金额/总金额)
*/
*/
@Schema
(
description
=
"已入账比例(已入账金额/总金额)"
)
@Schema
(
description
=
"已入账比例(已入账金额/总金额)"
)
private
BigDecimal
paidAmountRatio
;
private
String
paidAmountRatio
;
/**
/**
* 总保单数
* 总保单数
*/
*/
@Schema
(
description
=
"总保单数"
)
@Schema
(
description
=
"总保单数"
)
private
Integer
totalPolicyCount
;
private
Integer
totalPolicyCount
;
}
}
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
View file @
47459d7c
...
@@ -52,4 +52,26 @@
...
@@ -52,4 +52,26 @@
left join policy_broker pb on pb.policy_no = p.policy_no and pb.is_deleted = 0
left join policy_broker pb on pb.policy_no = p.policy_no and pb.is_deleted = 0
</select>
</select>
<!-- 总金额:统计保单预计来佣表 已入账金额:统计来佣表-->
<select
id=
"getCommissionStatistics"
resultType=
"com.yd.csf.service.vo.CommissionStatisticsVO"
>
SELECT
COALESCE(SUM(e.amount), 0) as totalAmount,
COALESCE(SUM(c.amount), 0) as totalPaidAmount,
COUNT(DISTINCT c.policy_no) as totalPolicyCount
FROM commission c
LEFT JOIN (
SELECT policy_no, SUM(amount) as amount
FROM commission_expected
GROUP BY policy_no
) e ON c.policy_no = e.policy_no
<where>
<if
test=
"commissionIdList != null and commissionIdList.size > 0"
>
c.id IN
<foreach
collection=
"commissionIdList"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
</where>
</select>
</mapper>
</mapper>
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