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
1a0fff19
Commit
1a0fff19
authored
Dec 30, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
前端对接问题修复9
parent
42a22807
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
218 additions
and
107 deletions
+218
-107
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
+18
-15
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
+29
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
+38
-4
yd-csf-api/src/main/resources/bootstrap.yml
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
+2
-2
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionAddRequest.java
+22
-33
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAddRequest.java
+29
-17
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneQueryRequest.java
+7
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
+18
-12
yd-csf-service/src/main/java/com/yd/csf/service/model/Fortune.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+31
-20
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
+12
-0
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
+2
-1
yd-csf-service/src/main/resources/mappers/FortuneMapper.xml
+3
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
View file @
1a0fff19
...
@@ -98,11 +98,13 @@ public class ApiCommissionController {
...
@@ -98,11 +98,13 @@ public class ApiCommissionController {
// 根据来佣检核年月查询是否已存在来佣记录
// 根据来佣检核年月查询是否已存在来佣记录
List
<
Commission
>
existingCommissions
=
commissionService
.
list
(
new
QueryWrapper
<
Commission
>()
List
<
Commission
>
existingCommissions
=
commissionService
.
list
(
new
QueryWrapper
<
Commission
>()
.
eq
(
"reconciliation_year_month"
,
reconciliationYearMonth
));
.
eq
(
"reconciliation_year_month"
,
reconciliationYearMonth
));
boolean
isAllCompareSuccess
=
existingCommissions
.
stream
()
if
(
CollectionUtils
.
isNotEmpty
(
existingCommissions
))
{
.
allMatch
(
commission
->
commission
.
getStatus
().
equals
(
CommissionStatusEnum
.
COMPARE_SUCCESS
.
getItemValue
()));
boolean
isAllCompareSuccess
=
existingCommissions
.
stream
()
if
(
isAllCompareSuccess
)
{
.
allMatch
(
commission
->
commission
.
getStatus
().
equals
(
CommissionStatusEnum
.
COMPARE_SUCCESS
.
getItemValue
()));
// 所有来佣记录都已检核成功,不允许上传新记录
if
(
isAllCompareSuccess
)
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"当前来佣检核年月所有记录都已检核成功,不允许上传新记录,若需更新请手动操作"
);
// 所有来佣记录都已检核成功,不允许上传新记录
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"当前来佣检核年月所有记录都已检核成功,不允许上传新记录,若需更新请手动操作"
);
}
}
}
// 数据完整性校验
// 数据完整性校验
...
@@ -113,14 +115,15 @@ public class ApiCommissionController {
...
@@ -113,14 +115,15 @@ public class ApiCommissionController {
.
map
(
CommissionExcelDTO:
:
getPolicyNo
)
.
map
(
CommissionExcelDTO:
:
getPolicyNo
)
.
filter
(
StringUtils:
:
isNotBlank
)
.
filter
(
StringUtils:
:
isNotBlank
)
.
collect
(
Collectors
.
toSet
());
.
collect
(
Collectors
.
toSet
());
Map
<
String
,
PolicyFollow
>
policyFollowMap
=
policyFollowService
.
list
(
new
LambdaQueryWrapper
<
PolicyFollow
>().
in
(
PolicyFollow:
:
getPolicyNo
,
policyNos
))
List
<
PolicyFollow
>
policyFollows
=
policyFollowService
.
list
(
new
LambdaQueryWrapper
<
PolicyFollow
>()
.
stream
().
collect
(
Collectors
.
toMap
(
PolicyFollow:
:
getPolicyNo
,
policyFollow
->
policyFollow
));
.
in
(
PolicyFollow:
:
getPolicyNo
,
policyNos
)
.
select
(
PolicyFollow:
:
getPolicyNo
));
Set
<
String
>
existingPolicyNos
=
policyFollows
.
stream
().
map
(
PolicyFollow:
:
getPolicyNo
).
collect
(
Collectors
.
toSet
());
StringBuilder
errorMsg
=
new
StringBuilder
();
StringBuilder
errorMsg
=
new
StringBuilder
();
for
(
CommissionExcelDTO
excelDTO
:
dataList
)
{
for
(
CommissionExcelDTO
excelDTO
:
dataList
)
{
if
(
StringUtils
.
isNotBlank
(
excelDTO
.
getPolicyNo
()))
{
if
(
StringUtils
.
isNotBlank
(
excelDTO
.
getPolicyNo
()))
{
PolicyFollow
policyFollow
=
policyFollowMap
.
get
(
excelDTO
.
getPolicyNo
());
if
(!
existingPolicyNos
.
contains
(
excelDTO
.
getPolicyNo
()))
{
if
(
ObjectUtils
.
isEmpty
(
policyFollow
))
{
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行保单不存在"
);
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行保单不存在"
);
}
}
}
}
...
@@ -228,13 +231,13 @@ public class ApiCommissionController {
...
@@ -228,13 +231,13 @@ public class ApiCommissionController {
}
}
/**
/**
*
创建保单来佣
*
新增入账
*
*
* @param customerAddRequest
* @param customerAddRequest
* @param request
* @param request
* @return
* @return
*/
*/
@Operation
(
summary
=
"
创建保单来佣
"
)
@Operation
(
summary
=
"
新增入账
"
)
@PostMapping
(
"/add"
)
@PostMapping
(
"/add"
)
public
Result
<
Boolean
>
addCommission
(
@RequestBody
CommissionAddRequest
customerAddRequest
,
HttpServletRequest
request
)
{
public
Result
<
Boolean
>
addCommission
(
@RequestBody
CommissionAddRequest
customerAddRequest
,
HttpServletRequest
request
)
{
if
(
customerAddRequest
==
null
||
StringUtils
.
isBlank
(
customerAddRequest
.
getPolicyNo
()))
{
if
(
customerAddRequest
==
null
||
StringUtils
.
isBlank
(
customerAddRequest
.
getPolicyNo
()))
{
...
@@ -244,17 +247,17 @@ public class ApiCommissionController {
...
@@ -244,17 +247,17 @@ public class ApiCommissionController {
}
}
/**
/**
* 批量新增
保单来佣
* 批量新增
入账
*
*
* @param customerAddRequestList
* @param customerAddRequestList
* @param request
* @param request
* @return
* @return
*/
*/
@Operation
(
summary
=
"批量新增
保单来佣
"
)
@Operation
(
summary
=
"批量新增
入账
"
)
@PostMapping
(
"/addBatch"
)
@PostMapping
(
"/addBatch"
)
public
Result
<
Boolean
>
addCommissionBatch
(
@RequestBody
List
<
CommissionAddRequest
>
customerAddRequestList
,
HttpServletRequest
request
)
{
public
Result
<
List
<
Commission
>
>
addCommissionBatch
(
@RequestBody
List
<
CommissionAddRequest
>
customerAddRequestList
,
HttpServletRequest
request
)
{
if
(
CollectionUtils
.
isEmpty
(
customerAddRequestList
))
{
if
(
CollectionUtils
.
isEmpty
(
customerAddRequestList
))
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"
来佣
数据不能为空"
);
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"
入账
数据不能为空"
);
}
}
return
Result
.
success
(
commissionService
.
addCommissionBatch
(
customerAddRequestList
));
return
Result
.
success
(
commissionService
.
addCommissionBatch
(
customerAddRequestList
));
}
}
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
View file @
1a0fff19
...
@@ -15,15 +15,19 @@ import com.yd.common.utils.RandomStringGenerator;
...
@@ -15,15 +15,19 @@ import com.yd.common.utils.RandomStringGenerator;
import
com.yd.csf.api.dto.FortuneImportDTO
;
import
com.yd.csf.api.dto.FortuneImportDTO
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.Fortune
;
import
com.yd.csf.service.model.Fortune
;
import
com.yd.csf.service.model.FortuneAccount
;
import
com.yd.csf.service.model.FortuneAccount
;
import
com.yd.csf.service.model.FortuneAccountEditRecord
;
import
com.yd.csf.service.model.FortuneAccountEditRecord
;
import
com.yd.csf.service.service.FortuneAccountEditRecordService
;
import
com.yd.csf.service.service.FortuneAccountEditRecordService
;
import
com.yd.csf.service.service.FortuneAccountService
;
import
com.yd.csf.service.service.FortuneAccountService
;
import
com.yd.csf.service.service.FortuneService
;
import
com.yd.csf.service.service.FortuneService
;
import
com.yd.csf.service.vo.CommissionVO
;
import
com.yd.csf.service.vo.FortuneVO
;
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
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -506,4 +510,29 @@ public class ApiFortuneController {
...
@@ -506,4 +510,29 @@ public class ApiFortuneController {
}
}
return
Result
.
success
(
fortuneService
.
getFortuneStatistics
(
statisticsRequest
.
getFortuneIdList
()));
return
Result
.
success
(
fortuneService
.
getFortuneStatistics
(
statisticsRequest
.
getFortuneIdList
()));
}
}
/**
* 出账记录
*
* @param fortuneQueryRequest
* @param request
* @return
*/
@PostMapping
(
"/pageByExpectedFortuneBizId"
)
@Operation
(
summary
=
"出账记录"
)
public
Result
<
Page
<
FortuneVO
>>
pageByExpectedFortuneBizId
(
@RequestBody
FortuneQueryRequest
fortuneQueryRequest
,
HttpServletRequest
request
)
{
if
(
ObjectUtils
.
isEmpty
(
fortuneQueryRequest
.
getExpectedFortuneBizId
()))
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"expectedFortuneBizId 不能为空"
);
}
long
current
=
fortuneQueryRequest
.
getPageNo
();
long
size
=
fortuneQueryRequest
.
getPageSize
();
// 查询列表数据
QueryWrapper
<
Fortune
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"expected_fortune_biz_id"
,
fortuneQueryRequest
.
getExpectedFortuneBizId
());
Page
<
Fortune
>
fortunePage
=
fortuneService
.
page
(
new
Page
<>(
current
,
size
),
queryWrapper
);
// 组装返回值
return
Result
.
success
(
fortuneService
.
getFortuneVOPage
(
fortunePage
));
}
}
}
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
View file @
1a0fff19
...
@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...
@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
...
@@ -44,6 +45,7 @@ import javax.annotation.Resource;
...
@@ -44,6 +45,7 @@ import javax.annotation.Resource;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.math.BigDecimal
;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormat
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.util.*
;
import
java.util.*
;
...
@@ -128,7 +130,11 @@ public class ApiPolicyFollowController {
...
@@ -128,7 +130,11 @@ public class ApiPolicyFollowController {
List
<
PolicyExcelDTO
>
dtoList
=
policyDataListener
.
getList
();
List
<
PolicyExcelDTO
>
dtoList
=
policyDataListener
.
getList
();
// 校验保单号是否存在
// 校验保单号是否存在
String
validateMsg
=
validate
(
dtoList
);
String
validateMsg
=
validatePolicyNo
(
dtoList
);
if
(
StringUtils
.
isNotBlank
(
validateMsg
))
return
Result
.
fail
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
validateMsg
);
// 校验必填字段是否为空
validateMsg
=
validateField
(
dtoList
);
if
(
StringUtils
.
isNotBlank
(
validateMsg
))
return
Result
.
fail
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
validateMsg
);
if
(
StringUtils
.
isNotBlank
(
validateMsg
))
return
Result
.
fail
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
validateMsg
);
// 保存对账公司
// 保存对账公司
...
@@ -206,7 +212,7 @@ public class ApiPolicyFollowController {
...
@@ -206,7 +212,7 @@ public class ApiPolicyFollowController {
return
allCompanies
;
return
allCompanies
;
}
}
private
String
validate
(
List
<
PolicyExcelDTO
>
dtoList
)
{
private
String
validate
PolicyNo
(
List
<
PolicyExcelDTO
>
dtoList
)
{
String
validateMsg
=
""
;
String
validateMsg
=
""
;
// 校验保单号是否为空
// 校验保单号是否为空
if
(
dtoList
.
isEmpty
())
{
if
(
dtoList
.
isEmpty
())
{
...
@@ -229,6 +235,35 @@ public class ApiPolicyFollowController {
...
@@ -229,6 +235,35 @@ public class ApiPolicyFollowController {
return
validateMsg
;
return
validateMsg
;
}
}
private
String
validateField
(
List
<
PolicyExcelDTO
>
dataList
)
{
String
validateMsg
=
""
;
// 校验必填字段是否为空
for
(
PolicyExcelDTO
excelDTO
:
dataList
)
{
if
(
StringUtils
.
isBlank
(
excelDTO
.
getPolicyNo
()))
{
validateMsg
=
"第"
+
(
dataList
.
indexOf
(
excelDTO
)
+
1
)
+
"行保单号为空\n"
;
}
if
(
StringUtils
.
isBlank
(
excelDTO
.
getReconciliationCompany
()))
{
validateMsg
=
"第"
+
(
dataList
.
indexOf
(
excelDTO
)
+
1
)
+
"行对账公司为空\n"
;
}
if
(
StringUtils
.
isBlank
(
excelDTO
.
getProductName
()))
{
validateMsg
=
"第"
+
(
dataList
.
indexOf
(
excelDTO
)
+
1
)
+
"行产品名称为空\n"
;
}
if
(
StringUtils
.
isBlank
(
excelDTO
.
getInsuranceCompany
()))
{
validateMsg
=
"第"
+
(
dataList
.
indexOf
(
excelDTO
)
+
1
)
+
"行保险公司为空\n"
;
}
if
(
StringUtils
.
isBlank
(
excelDTO
.
getPolicyHolder
()))
{
validateMsg
=
"第"
+
(
dataList
.
indexOf
(
excelDTO
)
+
1
)
+
"行保单持有人为空\n"
;
}
if
(
StringUtils
.
isBlank
(
excelDTO
.
getInsured
()))
{
validateMsg
=
"第"
+
(
dataList
.
indexOf
(
excelDTO
)
+
1
)
+
"行受保人为空\n"
;
}
if
(
StringUtils
.
isBlank
(
excelDTO
.
getInitialPremium
()))
{
validateMsg
=
"第"
+
(
dataList
.
indexOf
(
excelDTO
)
+
1
)
+
"行首期保费为空\n"
;
}
}
return
validateMsg
;
}
private
List
<
PolicyFollowDTO
>
convertToObj
(
List
<
PolicyExcelDTO
>
list
,
Map
<
String
,
String
>
reconciliationCompanyMap
)
throws
ParseException
{
private
List
<
PolicyFollowDTO
>
convertToObj
(
List
<
PolicyExcelDTO
>
list
,
Map
<
String
,
String
>
reconciliationCompanyMap
)
throws
ParseException
{
List
<
PolicyFollowDTO
>
policyFollowDTOList
=
new
ArrayList
<>();
List
<
PolicyFollowDTO
>
policyFollowDTOList
=
new
ArrayList
<>();
...
@@ -262,7 +297,7 @@ public class ApiPolicyFollowController {
...
@@ -262,7 +297,7 @@ public class ApiPolicyFollowController {
policyFollow
.
setStatus
(
policyFollowStatusEnum
.
getItemValue
());
policyFollow
.
setStatus
(
policyFollowStatusEnum
.
getItemValue
());
}
}
policyFollow
.
setReconciliationCompanyBizId
(
reconciliationCompanyMap
.
get
(
policyExcelDTO
.
getReconciliationCompany
()));
policyFollow
.
setReconciliationCompanyBizId
(
reconciliationCompanyMap
.
get
(
policyExcelDTO
.
getReconciliationCompany
()));
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
()));
}
}
// 获取币种字典值
// 获取币种字典值
...
@@ -486,7 +521,6 @@ public class ApiPolicyFollowController {
...
@@ -486,7 +521,6 @@ public class ApiPolicyFollowController {
}
}
// 获取封装类
// 获取封装类
return
Result
.
success
(
policyFollowService
.
getPolicyFollowVO
(
policyFollow
));
return
Result
.
success
(
policyFollowService
.
getPolicyFollowVO
(
policyFollow
));
}
}
...
...
yd-csf-api/src/main/resources/bootstrap.yml
View file @
1a0fff19
...
@@ -44,7 +44,7 @@ spring:
...
@@ -44,7 +44,7 @@ spring:
# 配置中心
# 配置中心
config
:
config
:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace
:
b3b01715-eb85-4242-992a-5aff03d864d4
namespace
:
d12af3c4-9058-4a28-b997-256561b86f75
# nacos的ip地址和端口
# nacos的ip地址和端口
server-addr
:
139.224.145.34:8848
server-addr
:
139.224.145.34:8848
# 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置
# 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置
...
...
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
View file @
1a0fff19
...
@@ -50,10 +50,10 @@ public class CommissionAsyncService {
...
@@ -50,10 +50,10 @@ public class CommissionAsyncService {
hasPolicyNoList
.
add
(
entity
);
hasPolicyNoList
.
add
(
entity
);
}
}
}
}
if
(
CollectionUtils
.
isEmpty
(
hasPolicyNoList
))
{
if
(
CollectionUtils
.
is
Not
Empty
(
hasPolicyNoList
))
{
normalBatch
(
hasPolicyNoList
);
normalBatch
(
hasPolicyNoList
);
}
}
if
(
CollectionUtils
.
isEmpty
(
noPolicyNoList
))
{
if
(
CollectionUtils
.
is
Not
Empty
(
noPolicyNoList
))
{
noPolicyNoBatch
(
noPolicyNoList
);
noPolicyNoBatch
(
noPolicyNoList
);
}
}
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionAddRequest.java
View file @
1a0fff19
...
@@ -11,34 +11,23 @@ import java.util.Date;
...
@@ -11,34 +11,23 @@ import java.util.Date;
@Data
@Data
public
class
CommissionAddRequest
implements
Serializable
{
public
class
CommissionAddRequest
implements
Serializable
{
/**
/**
*
入账检核年月 yyyy-MM
*
检核年月
*/
*/
@Schema
(
description
=
"入账检核年月 yyyy-MM"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"检核年月"
)
@JsonFormat
(
pattern
=
"yyyy-MM"
)
private
String
reconciliationYearMonth
;
private
String
reconciliationYearMonth
;
/**
/**
* 保单号
* 应收款类型 R=关联保单应收单 U=非关联保单应收单
*/
@Schema
(
description
=
"保单号"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
policyNo
;
/**
* 保费
*/
*/
@Schema
(
description
=
"
保费
"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
应收款类型 R=关联保单应收单 U=非关联保单应收单
"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
premium
;
private
String
commissionBizType
;
/**
/**
* 对账公司
* 保单号
*/
@Schema
(
description
=
"对账公司"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
reconciliationCompany
;
/**
* 对账公司业务id
*/
*/
@Schema
(
description
=
"
对账公司业务id"
)
@Schema
(
description
=
"
保单号"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
reconciliationCompanyBizId
;
private
String
policyNo
;
/**
/**
* 佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
* 佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
...
@@ -47,44 +36,44 @@ public class CommissionAddRequest implements Serializable {
...
@@ -47,44 +36,44 @@ public class CommissionAddRequest implements Serializable {
private
Integer
commissionPeriod
;
private
Integer
commissionPeriod
;
/**
/**
* 总
来佣
期数
* 总期数
*/
*/
@Schema
(
description
=
"总
来佣
期数"
)
@Schema
(
description
=
"总期数"
)
private
Integer
totalPeriod
;
private
Integer
totalPeriod
;
/**
/**
*
来佣
名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*
入账项目
名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
*/
@Schema
(
description
=
"
来佣
名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
入账项目
名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
commissionName
;
private
String
commissionName
;
/**
/**
*
来佣
类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*
入账项目
类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
*/
@Schema
(
description
=
"
来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
)
@Schema
(
description
=
"
入账项目类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
commissionType
;
private
String
commissionType
;
/**
/**
*
来佣
金额
*
入账
金额
*/
*/
@Schema
(
description
=
"
来佣
金额"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
入账
金额"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
BigDecimal
amount
;
private
BigDecimal
amount
;
/**
/**
*
来佣
币种
*
入账
币种
*/
*/
@Schema
(
description
=
"
来佣
币种"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
入账
币种"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
currency
;
private
String
currency
;
/**
/**
* 结算汇率
* 结算汇率
*/
*/
@Schema
(
description
=
"结算汇率"
)
@Schema
(
description
=
"结算汇率"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
exchangeRate
;
private
String
exchangeRate
;
/**
/**
*
来佣日期
*
入账日(实)
*/
*/
@Schema
(
description
=
"
来佣日期
"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
format
=
"yyyy-MM-dd"
)
@Schema
(
description
=
"
入账日(实)
"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
commissionDate
;
private
Date
commissionDate
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAddRequest.java
View file @
1a0fff19
...
@@ -16,21 +16,33 @@ public class FortuneAddRequest implements Serializable {
...
@@ -16,21 +16,33 @@ public class FortuneAddRequest implements Serializable {
private
String
reconciliationYearMonth
;
private
String
reconciliationYearMonth
;
/**
/**
* 应付款类型 R-关联保单应付款 U-非关联保单应付款
*/
@Schema
(
description
=
"应付款类型 R-关联保单应付款 U-非关联保单应付款"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
fortuneBizType
;
/**
* 保单号
* 保单号
*/
*/
@Schema
(
description
=
"保单号"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
private
String
policyNo
;
/**
/**
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
* 出账状态 0=待出账 1=可出账 2=已出账
*/
@Schema
(
description
=
"出账状态 0=待出账 1=可出帐,待检核 2=完成出账 3=部分出账 4=保留 5=已失效 6=可出帐,检核完成 7=未找到当前预计发佣对应的来佣, 字典值: csf_expected_fortune_status"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
status
;
/**
* 出账期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
*/
@Schema
(
description
=
"
发佣
期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
出账
期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
Integer
fortunePeriod
;
private
Integer
fortunePeriod
;
/**
/**
*
发佣
总期数
*
出账
总期数
*/
*/
@Schema
(
description
=
"
发佣总期数"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
出账总期数"
)
private
Integer
fortuneTotalPeriod
;
private
Integer
fortuneTotalPeriod
;
/**
/**
...
@@ -58,39 +70,39 @@ public class FortuneAddRequest implements Serializable {
...
@@ -58,39 +70,39 @@ public class FortuneAddRequest implements Serializable {
private
String
teamBizId
;
private
String
teamBizId
;
/**
/**
*
发佣
名称
*
出账项目
名称
*/
*/
@Schema
(
description
=
"
发佣
名称"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
出账项目
名称"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
fortuneName
;
private
String
fortuneName
;
/**
/**
*
发佣
类型
*
出账项目
类型
*/
*/
@Schema
(
description
=
"
发佣类型"
)
@Schema
(
description
=
"
出账项目类型"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
fortuneType
;
private
String
fortuneType
;
/**
/**
*
发佣
金额
*
出账
金额
*/
*/
@Schema
(
description
=
"
发佣
金额"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
出账
金额"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
BigDecimal
amount
;
private
BigDecimal
amount
;
/**
/**
*
发佣
币种
*
出账
币种
*/
*/
@Schema
(
description
=
"
发佣
币种"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
出账
币种"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
currency
;
private
String
currency
;
/**
/**
*
发佣
日期
*
出账
日期
*/
*/
@Schema
(
description
=
"
发佣
日期"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
出账
日期"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
Date
payoutDate
;
private
Date
payoutDate
;
/**
/**
*
发佣
备注
*
出账
备注
*/
*/
@Schema
(
description
=
"
发佣
备注"
)
@Schema
(
description
=
"
出账
备注"
)
private
String
remark
;
private
String
remark
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneQueryRequest.java
View file @
1a0fff19
...
@@ -16,6 +16,13 @@ import java.util.List;
...
@@ -16,6 +16,13 @@ import java.util.List;
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@Data
public
class
FortuneQueryRequest
extends
PageDto
implements
Serializable
{
public
class
FortuneQueryRequest
extends
PageDto
implements
Serializable
{
/**
* 应付记录业务 id
*/
@Schema
(
description
=
"应付记录业务 id"
)
private
String
expectedFortuneBizId
;
/**
/**
* 出账状态
* 出账状态
*/
*/
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
View file @
1a0fff19
...
@@ -10,9 +10,10 @@ import lombok.Data;
...
@@ -10,9 +10,10 @@ import lombok.Data;
/**
/**
* 保单来佣表
* 保单来佣表
*
* @TableName commission
* @TableName commission
*/
*/
@TableName
(
value
=
"commission"
)
@TableName
(
value
=
"commission"
)
@Data
@Data
public
class
Commission
implements
Serializable
{
public
class
Commission
implements
Serializable
{
/**
/**
...
@@ -21,7 +22,7 @@ public class Commission implements Serializable {
...
@@ -21,7 +22,7 @@ public class Commission implements Serializable {
@TableId
(
type
=
IdType
.
AUTO
)
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
private
Long
id
;
/**
/**
* 应收账款编号 (非关联保单号,用应收账款编号比对)
* 应收账款编号 (非关联保单号,用应收账款编号比对)
*/
*/
private
String
receivableNo
;
private
String
receivableNo
;
...
@@ -37,11 +38,16 @@ public class Commission implements Serializable {
...
@@ -37,11 +38,16 @@ public class Commission implements Serializable {
private
String
reconciliationYearMonth
;
private
String
reconciliationYearMonth
;
/**
/**
* 应收款类型 R=关联保单应收单 U=非关联保单应收单
*/
private
String
commissionBizType
;
/**
* 保单号
* 保单号
*/
*/
private
String
policyNo
;
private
String
policyNo
;
/**
/**
* 期交保费
* 期交保费
*/
*/
private
String
premium
;
private
String
premium
;
...
@@ -56,7 +62,7 @@ public class Commission implements Serializable {
...
@@ -56,7 +62,7 @@ public class Commission implements Serializable {
*/
*/
private
String
reconciliationCompany
;
private
String
reconciliationCompany
;
/**
/**
* 对账公司编码
* 对账公司编码
*/
*/
private
String
reconciliationCompanyCode
;
private
String
reconciliationCompanyCode
;
...
@@ -106,7 +112,7 @@ public class Commission implements Serializable {
...
@@ -106,7 +112,7 @@ public class Commission implements Serializable {
*/
*/
private
String
exchangeRate
;
private
String
exchangeRate
;
/**
/**
* 当前来佣比例
* 当前来佣比例
*/
*/
private
BigDecimal
currentCommissionRatio
;
private
BigDecimal
currentCommissionRatio
;
...
@@ -116,7 +122,7 @@ public class Commission implements Serializable {
...
@@ -116,7 +122,7 @@ public class Commission implements Serializable {
*/
*/
private
BigDecimal
periodPaidRatio
;
private
BigDecimal
periodPaidRatio
;
/**
/**
* 当期剩余来佣比例
* 当期剩余来佣比例
*/
*/
private
BigDecimal
periodPendingRatio
;
private
BigDecimal
periodPendingRatio
;
...
@@ -141,14 +147,14 @@ public class Commission implements Serializable {
...
@@ -141,14 +147,14 @@ public class Commission implements Serializable {
*/
*/
private
BigDecimal
expectedAmount
;
private
BigDecimal
expectedAmount
;
/**
/**
* 已入账金额
* 已入账金额
*/
*/
private
BigDecimal
paidAmount
;
private
BigDecimal
paidAmount
;
/**
/**
* 待入账金额
* 待入账金额
*/
*/
private
BigDecimal
pendingAmount
;
private
BigDecimal
pendingAmount
;
/**
/**
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/Fortune.java
View file @
1a0fff19
...
@@ -34,6 +34,11 @@ public class Fortune implements Serializable {
...
@@ -34,6 +34,11 @@ public class Fortune implements Serializable {
private
String
reconciliationYearMonth
;
private
String
reconciliationYearMonth
;
/**
/**
* 应付款类型 R-关联保单应付款 U-非关联保单应付款
*/
private
String
fortuneBizType
;
/**
* 是否部分出账拆分出来的出账记录 0=No, 1=Yes
* 是否部分出账拆分出来的出账记录 0=No, 1=Yes
*/
*/
private
Integer
isPart
;
private
Integer
isPart
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
View file @
1a0fff19
...
@@ -52,7 +52,7 @@ public interface CommissionService extends IService<Commission> {
...
@@ -52,7 +52,7 @@ public interface CommissionService extends IService<Commission> {
CommissionCompareRecord
getNewCompareRecord
(
Commission
existingCommission
,
CommissionExpected
commissionExpected
,
AuthUserDto
currentLoginUser
);
CommissionCompareRecord
getNewCompareRecord
(
Commission
existingCommission
,
CommissionExpected
commissionExpected
,
AuthUserDto
currentLoginUser
);
Boolean
addCommissionBatch
(
List
<
CommissionAddRequest
>
customerAddRequestList
);
List
<
Commission
>
addCommissionBatch
(
List
<
CommissionAddRequest
>
customerAddRequestList
);
Boolean
addToExpected
(
AddToExpectedCommissionRequest
addToExpectedCommissionRequest
);
Boolean
addToExpected
(
AddToExpectedCommissionRequest
addToExpectedCommissionRequest
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
1a0fff19
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.dto.AuthUserDto
;
...
@@ -520,14 +521,10 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -520,14 +521,10 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
public
Boolean
addCommission
(
CommissionAddRequest
commissionAddRequest
)
{
public
Boolean
addCommission
(
CommissionAddRequest
commissionAddRequest
)
{
// 校验来佣所属保单是否存在
// 校验来佣所属保单是否存在
String
policyNo
=
commissionAddRequest
.
getPolicyNo
();
String
policyNo
=
commissionAddRequest
.
getPolicyNo
();
Policy
policy
=
policyService
.
getOne
(
new
QueryWrapper
<
Policy
>().
eq
(
"policy_no"
,
policyNo
));
// 校验来佣所属保单跟进是否存在
// 校验来佣所属保单跟进是否存在
boolean
policyFollowExists
=
policyFollowService
.
exists
(
new
QueryWrapper
<
PolicyFollow
>().
eq
(
"policy_no"
,
policyNo
));
PolicyFollow
policyFollow
=
policyFollowService
.
getOne
(
new
QueryWrapper
<
PolicyFollow
>().
eq
(
"policy_no"
,
policyNo
));
if
(
policy
==
null
&&
!
policyFollowExists
)
{
if
(
policyFollow
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"该保单号不存在,不能添加来佣"
);
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"新单跟进中不存在该保单号,请先创建新单跟进"
);
}
if
(
ObjectUtils
.
isEmpty
(
commissionAddRequest
.
getPremium
()))
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"保费不能为空"
);
}
}
// 获取当前登录用户
// 获取当前登录用户
...
@@ -541,11 +538,18 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -541,11 +538,18 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission
.
setCommissionBizId
(
commissionBizId
);
commission
.
setCommissionBizId
(
commissionBizId
);
// 计算当前来佣比例=当前入账金额/结算汇率/保费
// 计算当前来佣比例=当前入账金额/结算汇率/保费
BigDecimal
currentCommissionRatio
=
commissionAddRequest
.
getAmount
()
BigDecimal
currentCommissionRatio
=
commissionAddRequest
.
getAmount
()
.
divide
(
new
BigDecimal
(
commissionAddRequest
.
getPremium
()
),
4
,
RoundingMode
.
HALF_UP
)
.
divide
(
policyFollow
.
getPaymentPremium
(
),
4
,
RoundingMode
.
HALF_UP
)
.
divide
(
new
BigDecimal
(
commissionAddRequest
.
getExchangeRate
()),
4
,
RoundingMode
.
HALF_UP
)
.
divide
(
new
BigDecimal
(
commissionAddRequest
.
getExchangeRate
()),
4
,
RoundingMode
.
HALF_UP
)
.
multiply
(
new
BigDecimal
(
100
));
.
multiply
(
new
BigDecimal
(
100
));
commission
.
setCurrentCommissionRatio
(
currentCommissionRatio
);
commission
.
setCurrentCommissionRatio
(
currentCommissionRatio
);
// 关联业务id
commission
.
setReconciliationCompany
(
policyFollow
.
getReconciliationCompany
());
commission
.
setReconciliationCompanyBizId
(
policyFollow
.
getReconciliationCompanyBizId
());
commission
.
setProductLaunchBizId
(
policyFollow
.
getProductLaunchBizId
());
commission
.
setInsuranceCompanyBizId
(
policyFollow
.
getInsuranceCompanyBizId
());
commission
.
setPremium
(
Convert
.
toStr
(
policyFollow
.
getPaymentPremium
()));
commission
.
setCreatorId
(
loginUserId
);
commission
.
setCreatorId
(
loginUserId
);
commission
.
setCreateTime
(
new
Date
());
commission
.
setCreateTime
(
new
Date
());
commission
.
setUpdaterId
(
loginUserId
);
commission
.
setUpdaterId
(
loginUserId
);
...
@@ -681,34 +685,41 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -681,34 +685,41 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
addCommissionBatch
(
List
<
CommissionAddRequest
>
customerAddRequestList
)
{
public
List
<
Commission
>
addCommissionBatch
(
List
<
CommissionAddRequest
>
customerAddRequestList
)
{
if
(
CollectionUtils
.
isEmpty
(
customerAddRequestList
))
{
if
(
CollectionUtils
.
isEmpty
(
customerAddRequestList
))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"来佣数据不能为空"
);
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"来佣数据不能为空"
);
}
}
Set
<
String
>
policyNoSet
=
customerAddRequestList
.
stream
().
map
(
CommissionAddRequest:
:
getPolicyNo
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
policyNoSet
=
customerAddRequestList
.
stream
().
map
(
CommissionAddRequest:
:
getPolicyNo
).
collect
(
Collectors
.
toSet
());
// 校验来佣所属保单是否存在
// 校验来佣所属保单是否存在
List
<
Policy
>
policyList
=
policyService
.
list
(
new
QueryWrapper
<
Policy
>().
in
(
"policy_no"
,
policyNoSet
));
List
<
Policy
Follow
>
policyFollowList
=
policyFollowService
.
list
(
new
QueryWrapper
<
PolicyFollow
>().
in
(
"policy_no"
,
policyNoSet
));
// 校验来佣所属保单跟进是否存在
// 校验来佣所属保单跟进是否存在
if
(!
CollectionUtils
.
isEmpty
(
policyList
))
{
if
(!
CollectionUtils
.
isEmpty
(
policy
Follow
List
))
{
// 保单号映射
// 保单号映射
Map
<
String
,
Policy
>
policyMap
=
policyList
.
stream
().
collect
(
Collectors
.
toMap
(
Policy
:
:
getPolicyNo
,
Function
.
identity
()));
Map
<
String
,
Policy
Follow
>
policyFollowMap
=
policyFollowList
.
stream
().
collect
(
Collectors
.
toMap
(
PolicyFollow
:
:
getPolicyNo
,
Function
.
identity
()));
for
(
CommissionAddRequest
commissionAddRequest
:
customerAddRequestList
)
{
for
(
CommissionAddRequest
commissionAddRequest
:
customerAddRequestList
)
{
Policy
policy
=
policyMap
.
get
(
commissionAddRequest
.
getPolicyNo
());
PolicyFollow
policyFollow
=
policyFollowMap
.
get
(
commissionAddRequest
.
getPolicyNo
());
if
(
policy
==
null
)
{
if
(
policyFollow
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
String
.
format
(
"保单号:%s不存在,不能添加来佣"
,
commissionAddRequest
.
getPolicyNo
()));
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
String
.
format
(
"新单跟进:保单号:%s不存在,不能添加来佣"
,
commissionAddRequest
.
getPolicyNo
()));
}
if
(
ObjectUtils
.
isEmpty
(
commissionAddRequest
.
getPremium
()))
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
String
.
format
(
"保单号:%s保费不能为空"
,
commissionAddRequest
.
getPolicyNo
()));
}
}
}
}
}
}
// policyFollowList 映射
Map
<
String
,
PolicyFollow
>
policyFollowMap
=
policyFollowList
.
stream
().
collect
(
Collectors
.
toMap
(
PolicyFollow:
:
getPolicyNo
,
Function
.
identity
()));
List
<
Commission
>
commissionList
=
new
ArrayList
<>();
List
<
Commission
>
commissionList
=
new
ArrayList
<>();
for
(
CommissionAddRequest
request
:
customerAddRequestList
)
{
for
(
CommissionAddRequest
request
:
customerAddRequestList
)
{
Commission
commission
=
new
Commission
();
Commission
commission
=
new
Commission
();
BeanUtils
.
copyProperties
(
request
,
commission
);
BeanUtils
.
copyProperties
(
request
,
commission
);
// 入账业务id
commission
.
setCommissionBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_COMMISSION
.
getCode
()));
commission
.
setCommissionBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_COMMISSION
.
getCode
()));
PolicyFollow
policyFollow
=
policyFollowMap
.
get
(
request
.
getPolicyNo
());
// 关联业务id
commission
.
setReconciliationCompany
(
policyFollow
.
getReconciliationCompany
());
commission
.
setReconciliationCompanyBizId
(
policyFollow
.
getReconciliationCompanyBizId
());
commission
.
setProductLaunchBizId
(
policyFollow
.
getProductLaunchBizId
());
commission
.
setInsuranceCompanyBizId
(
policyFollow
.
getInsuranceCompanyBizId
());
commission
.
setPremium
(
Convert
.
toStr
(
policyFollow
.
getPaymentPremium
()));
commissionList
.
add
(
commission
);
commissionList
.
add
(
commission
);
}
}
boolean
b
=
this
.
saveOrUpdateBatch
(
commissionList
);
boolean
b
=
this
.
saveOrUpdateBatch
(
commissionList
);
...
@@ -724,7 +735,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -724,7 +735,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
return
null
;
return
null
;
});
});
return
b
;
return
commissionList
;
}
}
@Override
@Override
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
View file @
1a0fff19
...
@@ -26,6 +26,18 @@ public class CommissionVO implements Serializable {
...
@@ -26,6 +26,18 @@ public class CommissionVO implements Serializable {
private
String
commissionBizId
;
private
String
commissionBizId
;
/**
/**
* 应收款编号
*/
@Schema
(
description
=
"应收款编号"
)
private
String
receivableNo
;
/**
* 应收款类型 R=关联保单应收单 U=非关联保单应收单
*/
@Schema
(
description
=
"应收款类型 R=关联保单应收单 U=非关联保单应收单"
)
private
String
commissionBizType
;
/**
* 入账检核年月 yyyy-MM
* 入账检核年月 yyyy-MM
*/
*/
@Schema
(
description
=
"入账检核年月 yyyy-MM"
)
@Schema
(
description
=
"入账检核年月 yyyy-MM"
)
...
...
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
View file @
1a0fff19
...
@@ -9,6 +9,7 @@
...
@@ -9,6 +9,7 @@
<result
property=
"receivableNo"
column=
"receivable_no"
/>
<result
property=
"receivableNo"
column=
"receivable_no"
/>
<result
property=
"commissionBizId"
column=
"commission_biz_id"
/>
<result
property=
"commissionBizId"
column=
"commission_biz_id"
/>
<result
property=
"reconciliationYearMonth"
column=
"reconciliation_year_month"
/>
<result
property=
"reconciliationYearMonth"
column=
"reconciliation_year_month"
/>
<result
property=
"commissionBizType"
column=
"commission_biz_type"
/>
<result
property=
"policyNo"
column=
"policy_no"
/>
<result
property=
"policyNo"
column=
"policy_no"
/>
<result
property=
"premium"
column=
"premium"
/>
<result
property=
"premium"
column=
"premium"
/>
<result
property=
"insuranceCompanyBizId"
column=
"insurance_company_biz_id"
/>
<result
property=
"insuranceCompanyBizId"
column=
"insurance_company_biz_id"
/>
...
@@ -37,7 +38,7 @@
...
@@ -37,7 +38,7 @@
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id,receivable_no,commission_biz_id,reconciliation_year_month,policy_no,premium,
id,receivable_no,commission_biz_id,reconciliation_year_month,
commission_biz_type,
policy_no,premium,
insurance_company_biz_id,product_launch_biz_id,
insurance_company_biz_id,product_launch_biz_id,
reconciliation_company,reconciliation_company_code,reconciliation_company_biz_id,commission_period,
reconciliation_company,reconciliation_company_code,reconciliation_company_biz_id,commission_period,
total_period,commission_name,commission_type,exchange_rate,amount,currency,
total_period,commission_name,commission_type,exchange_rate,amount,currency,
...
...
yd-csf-service/src/main/resources/mappers/FortuneMapper.xml
View file @
1a0fff19
...
@@ -9,6 +9,7 @@
...
@@ -9,6 +9,7 @@
<result
property=
"fortuneBizId"
column=
"fortune_biz_id"
/>
<result
property=
"fortuneBizId"
column=
"fortune_biz_id"
/>
<result
property=
"expectedFortuneBizId"
column=
"expected_fortune_biz_id"
/>
<result
property=
"expectedFortuneBizId"
column=
"expected_fortune_biz_id"
/>
<result
property=
"reconciliationYearMonth"
column=
"reconciliation_year_month"
/>
<result
property=
"reconciliationYearMonth"
column=
"reconciliation_year_month"
/>
<result
property=
"fortuneBizType"
column=
"fortune_biz_type"
/>
<result
property=
"isPart"
column=
"is_part"
/>
<result
property=
"isPart"
column=
"is_part"
/>
<result
property=
"batchBizId"
column=
"batch_biz_id"
/>
<result
property=
"batchBizId"
column=
"batch_biz_id"
/>
<result
property=
"commissionBizId"
column=
"commission_biz_id"
/>
<result
property=
"commissionBizId"
column=
"commission_biz_id"
/>
...
@@ -41,7 +42,8 @@
...
@@ -41,7 +42,8 @@
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id,fortune_biz_id,expected_fortune_biz_id,reconciliation_year_month,batch_biz_id,commission_biz_id,policy_no,fortune_period,fortune_total_period,broker_biz_id,
id,fortune_biz_id,expected_fortune_biz_id,reconciliation_year_month,fortune_biz_type,batch_biz_id,
commission_biz_id,policy_no,fortune_period,fortune_total_period,broker_biz_id,
team_biz_id,grade_commission_rate,share_rate,fortune_name,fortune_type,is_part,
team_biz_id,grade_commission_rate,share_rate,fortune_name,fortune_type,is_part,
amount,currency,status,payout_date,is_tax,
amount,currency,status,payout_date,is_tax,
tax_amount,net_amount,salary_biz_id,base_rule_biz_id,settlement_biz_id,
tax_amount,net_amount,salary_biz_id,base_rule_biz_id,settlement_biz_id,
...
...
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