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
ceaec495
Commit
ceaec495
authored
Nov 21, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新单跟进74
parent
9975dcd1
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
164 additions
and
0 deletions
+164
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
+14
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionAddRequest.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionStatisticsRequest.java
+15
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionUpdateRequest.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
+3
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyFollowService.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+32
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyFollowServiceImpl.java
+41
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionStatisticsVO.java
+43
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
View file @
ceaec495
...
@@ -14,6 +14,7 @@ import com.yd.csf.service.model.Commission;
...
@@ -14,6 +14,7 @@ import com.yd.csf.service.model.Commission;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.service.CommissionExpectedService
;
import
com.yd.csf.service.service.CommissionExpectedService
;
import
com.yd.csf.service.service.CommissionService
;
import
com.yd.csf.service.service.CommissionService
;
import
com.yd.csf.service.vo.CommissionStatisticsVO
;
import
com.yd.csf.service.vo.CommissionVO
;
import
com.yd.csf.service.vo.CommissionVO
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
...
@@ -247,6 +248,19 @@ public class ApiCommissionController {
...
@@ -247,6 +248,19 @@ public class ApiCommissionController {
}
}
/**
/**
* 计算统计数据 总金额、总入账金额、待入账金额、已入账比例(已入账金额/总金额)、总保单数
*/
@PostMapping
(
"/statistics"
)
@Operation
(
summary
=
"计算统计数据 总金额、总入账金额、待入账金额、已入账比例(已入账金额/总金额)、总保单数"
)
public
Result
<
CommissionStatisticsVO
>
getCommissionStatistics
(
@RequestBody
CommissionStatisticsRequest
commissionStatisticsRequest
)
{
if
(
commissionStatisticsRequest
==
null
)
{
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
ErrorCode
.
PARAMS_ERROR
.
getMessage
());
}
return
Result
.
success
(
commissionService
.
getCommissionStatistics
(
commissionStatisticsRequest
));
}
/**
* 根据 commissionBizId 获取保单来佣(封装类)
* 根据 commissionBizId 获取保单来佣(封装类)
*
*
* @param commissionBizId
* @param commissionBizId
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
View file @
ceaec495
...
@@ -263,6 +263,8 @@ public class ApiPolicyFollowController {
...
@@ -263,6 +263,8 @@ public class ApiPolicyFollowController {
if
(
policyFollow
.
getEffectiveDate
()!=
null
&&
policyFollow
.
getCoolingOffDays
()
!=
null
)
{
if
(
policyFollow
.
getEffectiveDate
()!=
null
&&
policyFollow
.
getCoolingOffDays
()
!=
null
)
{
policyFollow
.
setCoolingOffEndDate
(
DateUtil
.
offset
(
policyFollow
.
getEffectiveDate
(),
DateField
.
DAY_OF_MONTH
,
policyFollow
.
getCoolingOffDays
()));
policyFollow
.
setCoolingOffEndDate
(
DateUtil
.
offset
(
policyFollow
.
getEffectiveDate
(),
DateField
.
DAY_OF_MONTH
,
policyFollow
.
getCoolingOffDays
()));
}
}
// 获取币种字典值
policyFollow
.
setCurrency
(
policyFollowService
.
getCurrencyValue
(
policyExcelDTO
.
getCurrency
()));
// 转换为Policy对象
// 转换为Policy对象
Policy
policy
=
new
Policy
();
Policy
policy
=
new
Policy
();
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionAddRequest.java
View file @
ceaec495
...
@@ -64,6 +64,12 @@ public class CommissionAddRequest implements Serializable {
...
@@ -64,6 +64,12 @@ public class CommissionAddRequest implements Serializable {
private
String
currency
;
private
String
currency
;
/**
/**
* 结算汇率
*/
@Schema
(
description
=
"结算汇率"
)
private
String
exchangeRate
;
/**
* 来佣日期
* 来佣日期
*/
*/
@Schema
(
description
=
"来佣日期"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
format
=
"yyyy-MM-dd"
)
@Schema
(
description
=
"来佣日期"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
format
=
"yyyy-MM-dd"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionStatisticsRequest.java
0 → 100644
View file @
ceaec495
package
com
.
yd
.
csf
.
service
.
dto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
CommissionStatisticsRequest
{
/**
* 佣金ID列表
*/
@Schema
(
description
=
"佣金ID列表"
)
private
List
<
Long
>
commissionIds
;
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionUpdateRequest.java
View file @
ceaec495
...
@@ -75,6 +75,12 @@ public class CommissionUpdateRequest implements Serializable {
...
@@ -75,6 +75,12 @@ public class CommissionUpdateRequest implements Serializable {
@Schema
(
description
=
"来佣币种"
)
@Schema
(
description
=
"来佣币种"
)
private
String
currency
;
private
String
currency
;
/**
* 结算汇率
*/
@Schema
(
description
=
"结算汇率"
)
private
String
exchangeRate
;
/**
/**
* 来佣日期
* 来佣日期
*/
*/
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
View file @
ceaec495
...
@@ -7,6 +7,7 @@ import com.yd.csf.service.dto.*;
...
@@ -7,6 +7,7 @@ import com.yd.csf.service.dto.*;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.Commission
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.vo.CommissionStatisticsVO
;
import
com.yd.csf.service.vo.CommissionVO
;
import
com.yd.csf.service.vo.CommissionVO
;
import
java.util.List
;
import
java.util.List
;
...
@@ -36,4 +37,6 @@ public interface CommissionService extends IService<Commission> {
...
@@ -36,4 +37,6 @@ public interface CommissionService extends IService<Commission> {
List
<
Commission
>
queryList
(
CommissionDto
dto
);
List
<
Commission
>
queryList
(
CommissionDto
dto
);
List
<
CommissionBindPolicyBrokerDto
>
queryCommissionBindPolicyBrokerList
(
CommissionDto
dto
);
List
<
CommissionBindPolicyBrokerDto
>
queryCommissionBindPolicyBrokerList
(
CommissionDto
dto
);
CommissionStatisticsVO
getCommissionStatistics
(
CommissionStatisticsRequest
commissionStatisticsRequest
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyFollowService.java
View file @
ceaec495
...
@@ -42,4 +42,6 @@ public interface PolicyFollowService extends IService<PolicyFollow> {
...
@@ -42,4 +42,6 @@ public interface PolicyFollowService extends IService<PolicyFollow> {
PolicyFollowAggregateDto
getPolicyFollowAggregate
(
String
policyBizId
);
PolicyFollowAggregateDto
getPolicyFollowAggregate
(
String
policyBizId
);
Page
<
PolicyFollowDetailVO
>
getPolicyFollowDetailVOList
(
Page
<
PolicyFollow
>
policyFollowPage
);
Page
<
PolicyFollowDetailVO
>
getPolicyFollowDetailVOList
(
Page
<
PolicyFollow
>
policyFollowPage
);
String
getCurrencyValue
(
String
currency
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
ceaec495
...
@@ -18,6 +18,7 @@ import com.yd.csf.service.enums.FortuneStatusEnum;
...
@@ -18,6 +18,7 @@ import com.yd.csf.service.enums.FortuneStatusEnum;
import
com.yd.csf.service.model.*
;
import
com.yd.csf.service.model.*
;
import
com.yd.csf.service.service.*
;
import
com.yd.csf.service.service.*
;
import
com.yd.csf.service.dao.CommissionMapper
;
import
com.yd.csf.service.dao.CommissionMapper
;
import
com.yd.csf.service.vo.CommissionStatisticsVO
;
import
com.yd.csf.service.vo.CommissionVO
;
import
com.yd.csf.service.vo.CommissionVO
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -26,6 +27,8 @@ import org.springframework.stereotype.Service;
...
@@ -26,6 +27,8 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -283,6 +286,35 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -283,6 +286,35 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
public
List
<
CommissionBindPolicyBrokerDto
>
queryCommissionBindPolicyBrokerList
(
CommissionDto
dto
)
{
public
List
<
CommissionBindPolicyBrokerDto
>
queryCommissionBindPolicyBrokerList
(
CommissionDto
dto
)
{
return
baseMapper
.
queryCommissionBindPolicyBrokerList
(
dto
);
return
baseMapper
.
queryCommissionBindPolicyBrokerList
(
dto
);
}
}
@Override
public
CommissionStatisticsVO
getCommissionStatistics
(
CommissionStatisticsRequest
commissionStatisticsRequest
)
{
// 自定义统计数据
List
<
Commission
>
list
=
baseMapper
.
selectList
(
new
QueryWrapper
<
Commission
>().
in
(
"id"
,
commissionStatisticsRequest
.
getCommissionIds
()));
// 统计数据
CommissionStatisticsVO
vo
=
new
CommissionStatisticsVO
();
vo
.
setTotalAmount
(
BigDecimal
.
ZERO
);
vo
.
setTotalPaidAmount
(
BigDecimal
.
ZERO
);
vo
.
setPendingPaidAmount
(
BigDecimal
.
ZERO
);
vo
.
setPaidAmountRatio
(
BigDecimal
.
ZERO
);
vo
.
setTotalPolicyCount
(
0
);
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/service/impl/PolicyFollowServiceImpl.java
View file @
ceaec495
...
@@ -157,6 +157,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
...
@@ -157,6 +157,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
if
(
policyFollowUpdateDto
.
getCoolingOffDays
()
!=
null
&&
policyFollowUpdateDto
.
getEffectiveDate
()
!=
null
)
{
if
(
policyFollowUpdateDto
.
getCoolingOffDays
()
!=
null
&&
policyFollowUpdateDto
.
getEffectiveDate
()
!=
null
)
{
policyFollow
.
setCoolingOffEndDate
(
DateUtil
.
offset
(
policyFollowUpdateDto
.
getEffectiveDate
(),
DateField
.
DAY_OF_MONTH
,
policyFollowUpdateDto
.
getCoolingOffDays
()));
policyFollow
.
setCoolingOffEndDate
(
DateUtil
.
offset
(
policyFollowUpdateDto
.
getEffectiveDate
(),
DateField
.
DAY_OF_MONTH
,
policyFollowUpdateDto
.
getCoolingOffDays
()));
}
}
// 获取币种字典值
policyFollow
.
setCurrency
(
this
.
getCurrencyValue
(
policyFollowUpdateDto
.
getCurrency
()));
}
}
// 设置核保信息
// 设置核保信息
setValidPolicyInfo
(
policyFollow
,
policyFollowUpdateRequest
.
getVerifyPolicyInfo
());
setValidPolicyInfo
(
policyFollow
,
policyFollowUpdateRequest
.
getVerifyPolicyInfo
());
...
@@ -248,6 +250,9 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
...
@@ -248,6 +250,9 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
if
(
policyFollowAddRequest
.
getCoolingOffDays
()
!=
null
)
{
if
(
policyFollowAddRequest
.
getCoolingOffDays
()
!=
null
)
{
policyFollow
.
setCoolingOffEndDate
(
DateUtil
.
offset
(
policyFollowAddRequest
.
getEffectiveDate
(),
DateField
.
DAY_OF_MONTH
,
policyFollowAddRequest
.
getCoolingOffDays
()));
policyFollow
.
setCoolingOffEndDate
(
DateUtil
.
offset
(
policyFollowAddRequest
.
getEffectiveDate
(),
DateField
.
DAY_OF_MONTH
,
policyFollowAddRequest
.
getCoolingOffDays
()));
}
}
// 获取币种字典值
policyFollow
.
setCurrency
(
this
.
getCurrencyValue
(
policyFollowAddRequest
.
getCurrency
()));
// 创建 Policy对象
// 创建 Policy对象
Policy
policy
=
new
Policy
();
Policy
policy
=
new
Policy
();
BeanUtils
.
copyProperties
(
policyFollowAddRequest
,
policy
);
BeanUtils
.
copyProperties
(
policyFollowAddRequest
,
policy
);
...
@@ -527,6 +532,42 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
...
@@ -527,6 +532,42 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
}
}
@Override
@Override
public
String
getCurrencyValue
(
String
currency
)
{
if
(
StringUtils
.
isBlank
(
currency
))
{
return
null
;
}
switch
(
currency
)
{
case
"美元"
:
currency
=
"USD"
;
break
;
case
"人民幣"
:
currency
=
"CNY"
;
break
;
case
"港幣"
:
currency
=
"HKD"
;
break
;
case
"澳元"
:
currency
=
"AUD"
;
break
;
case
"加元"
:
currency
=
"CAD"
;
break
;
case
"欧元"
:
currency
=
"EUR"
;
break
;
case
"英鎊"
:
currency
=
"GBP"
;
break
;
case
"新加坡元"
:
currency
=
"SGD"
;
break
;
default
:
break
;
}
return
currency
;
}
@Override
public
Boolean
uploadAttachment
(
AttachmentUploadRequest
attachmentUploadRequest
)
{
public
Boolean
uploadAttachment
(
AttachmentUploadRequest
attachmentUploadRequest
)
{
String
policyBizId
=
attachmentUploadRequest
.
getPolicyBizId
();
String
policyBizId
=
attachmentUploadRequest
.
getPolicyBizId
();
if
(
policyBizId
==
null
)
{
if
(
policyBizId
==
null
)
{
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionStatisticsVO.java
0 → 100644
View file @
ceaec495
package
com
.
yd
.
csf
.
service
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* 佣金统计VO 包含总金额、总入账金额、待入账金额、已入账比例(已入账金额/总金额)、总保单数
*/
@Data
public
class
CommissionStatisticsVO
{
/**
* 总金额
*/
@Schema
(
description
=
"总金额"
)
private
BigDecimal
totalAmount
;
/**
* 总入账金额
*/
@Schema
(
description
=
"总入账金额"
)
private
BigDecimal
totalPaidAmount
;
/**
* 待入账金额
*/
@Schema
(
description
=
"待入账金额"
)
private
BigDecimal
pendingPaidAmount
;
/**
* 已入账比例(已入账金额/总金额)
*/
@Schema
(
description
=
"已入账比例(已入账金额/总金额)"
)
private
BigDecimal
paidAmountRatio
;
/**
* 总保单数
*/
@Schema
(
description
=
"总保单数"
)
private
Integer
totalPolicyCount
;
}
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