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
e9119fda
Commit
e9119fda
authored
Jan 06, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/test' into test
parents
bd58b118
32517d1f
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
419 additions
and
152 deletions
+419
-152
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
+60
-53
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
+0
-1
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyController.java
+2
-2
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
+2
-1
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
+7
-5
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ExpectedFortuneAddRequest.java
+3
-3
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ExpectedFortuneUpdateRequest.java
+52
-0
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionExpectedAddDto.java
+3
-3
yd-csf-service/src/main/java/com/yd/csf/service/enums/CurrencyEnum.java
+68
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
+0
-25
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyService.java
+5
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+102
-5
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
+13
-6
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyServiceImpl.java
+30
-18
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionExpectedExportDTO.java
+26
-7
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionExpectedVO.java
+35
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
+6
-18
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
+2
-3
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
View file @
e9119fda
...
@@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...
@@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
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.ResultCode
;
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.csf.api.dto.CommissionExcelDTO
;
import
com.yd.csf.api.dto.CommissionExcelDTO
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.component.CommissionAsyncService
;
import
com.yd.csf.service.component.CommissionAsyncService
;
...
@@ -27,21 +29,16 @@ import org.redisson.api.RLock;
...
@@ -27,21 +29,16 @@ import org.redisson.api.RLock;
import
org.redisson.api.RedissonClient
;
import
org.redisson.api.RedissonClient
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.support.TransactionSynchronization
;
import
org.springframework.transaction.support.TransactionTemplate
;
import
org.springframework.transaction.support.TransactionSynchronizationManager
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -73,12 +70,14 @@ public class ApiCommissionController {
...
@@ -73,12 +70,14 @@ public class ApiCommissionController {
private
PolicyFollowService
policyFollowService
;
private
PolicyFollowService
policyFollowService
;
@Resource
@Resource
private
PolicyService
policyService
;
private
PolicyService
policyService
;
@Resource
private
TransactionTemplate
transactionTemplate
;
@PostMapping
(
"/upload/excel"
)
@PostMapping
(
"/upload/excel"
)
@Operation
(
summary
=
"上传入账Excel文件"
)
@Operation
(
summary
=
"上传入账Excel文件"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
<
List
<
CommissionVO
>
>
uploadExcel
(
@RequestParam
(
"file"
)
MultipartFile
file
,
public
Result
<
Boolean
>
uploadExcel
(
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestParam
(
"reconciliationYearMonth"
)
String
reconciliationYearMonth
)
throws
IOException
{
@RequestParam
(
"reconciliationYearMonth"
)
String
reconciliationYearMonth
)
throws
IOException
{
// 校验来佣检核年月是否为空
// 校验来佣检核年月是否为空
...
@@ -113,7 +112,7 @@ public class ApiCommissionController {
...
@@ -113,7 +112,7 @@ public class ApiCommissionController {
}
}
// 数据完整性校验
// 数据完整性校验
//
validateCommissionUpload(dataList);
validateCommissionUpload
(
dataList
);
// 校验保单是否存在
// 校验保单是否存在
Set
<
String
>
policyNos
=
dataList
.
stream
()
Set
<
String
>
policyNos
=
dataList
.
stream
()
...
@@ -134,7 +133,7 @@ public class ApiCommissionController {
...
@@ -134,7 +133,7 @@ public class ApiCommissionController {
}
}
}
}
if
(
StringUtils
.
isNotBlank
(
errorMsg
))
{
if
(
StringUtils
.
isNotBlank
(
errorMsg
))
{
errorMsg
.
append
(
"\n请确认
新单跟进中保单是否存在,若不存在请先添加保单
"
);
errorMsg
.
append
(
"\n请确认
保单中心是否存在该保单,若不存在请先添加
"
);
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
errorMsg
.
toString
());
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
errorMsg
.
toString
());
}
}
...
@@ -147,28 +146,30 @@ public class ApiCommissionController {
...
@@ -147,28 +146,30 @@ public class ApiCommissionController {
.
eq
(
Commission:
:
getReconciliationYearMonth
,
reconciliationYearMonth
));
.
eq
(
Commission:
:
getReconciliationYearMonth
,
reconciliationYearMonth
));
// 数据处理
// 数据处理
List
<
Commission
>
entities
=
processData
(
dataList
,
loginUserId
);
List
<
Commission
>
entities
=
processData
(
dataList
,
loginUserId
,
reconciliationYearMonth
);
// 转换为 VO
transactionTemplate
.
execute
(
status
->
{
List
<
CommissionVO
>
commissionVOList
=
commissionService
.
getCommissionList
(
entities
);
// 保存来佣数据
commissionService
.
saveBatch
(
entities
);
// 批量比对
return
null
;
// TransactionSynchronizationManager.registerSynchronization(
});
// new TransactionSynchronization() {
// @Override
// // 转换为 VO
// public void afterCommit() {
// List<CommissionVO> commissionVOList = commissionService.getCommissionList(entities);
// try {
// // 重新查询最新的数据,获取已提交的数据
// 开启新事务,比对数据
// commissionAsyncService.commissionCompareBatch(entities);
transactionTemplate
.
execute
(
status
->
{
// } catch (Exception e) {
try
{
// // 比对失败不影响主事务,记录日志即可
commissionAsyncService
.
commissionCompareBatch
(
entities
);
// log.error("批量导入, 比对操作执行失败, error: {}", e.getMessage());
}
catch
(
Exception
e
)
{
// }
// 比对失败不影响主事务,记录日志即可
// }
e
.
printStackTrace
();
// }
log
.
error
(
"批量导入, 比对操作执行失败, error: {}"
,
e
.
getMessage
());
// );
}
return
null
;
return
Result
.
success
(
commissionVOList
);
});
return
Result
.
success
(
true
);
}
}
/**
/**
...
@@ -182,21 +183,25 @@ public class ApiCommissionController {
...
@@ -182,21 +183,25 @@ public class ApiCommissionController {
StringBuilder
errorMsg
=
new
StringBuilder
();
StringBuilder
errorMsg
=
new
StringBuilder
();
for
(
CommissionExcelDTO
excelDTO
:
dataList
)
{
for
(
CommissionExcelDTO
excelDTO
:
dataList
)
{
// 校验必填字段是否为空
// 校验必填字段是否为空
if
(
StringUtils
.
isBlank
(
excelDTO
.
getPolicyNo
())
||
// if (StringUtils.isBlank(excelDTO.getPolicyNo()) ||
StringUtils
.
isBlank
(
excelDTO
.
getReconciliationCompany
())
||
// StringUtils.isBlank(excelDTO.getReconciliationCompany()) ||
StringUtils
.
isBlank
(
excelDTO
.
getCommissionName
())
||
// StringUtils.isBlank(excelDTO.getCommissionName()) ||
excelDTO
.
getAmount
()
==
null
||
// excelDTO.getAmount() == null ||
StringUtils
.
isBlank
(
excelDTO
.
getCurrency
())
||
// StringUtils.isBlank(excelDTO.getCurrency()) ||
excelDTO
.
getCommissionDate
()
==
null
)
{
// excelDTO.getCommissionDate() == null) {
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行存在空字段"
);
// errorMsg.append("第").append(dataList.indexOf(excelDTO) + 1).append("行存在空字段");
}
// }
// 校验来佣金额是否为正数
if
(
excelDTO
.
getAmount
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
if
(
"关联保单应收单"
.
equals
(
excelDTO
.
getCommissionBizType
()))
{
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行来佣金额必须为正数"
);
if
(
StringUtils
.
isBlank
(
excelDTO
.
getPolicyNo
()))
{
}
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行关联保单应收单, 保单号不能为空"
);
// 如果没有保单号,应收账款编号不能为空
}
if
(
StringUtils
.
isBlank
(
excelDTO
.
getPolicyNo
())
&&
StringUtils
.
isBlank
(
excelDTO
.
getReceivableNo
()))
{
if
(
excelDTO
.
getAmount2
()
==
null
)
{
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行无保单号时应收账款编号不能为空"
);
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行关联保单应收单, 来佣金额不能为空"
);
}
if
(
StringUtils
.
isBlank
(
excelDTO
.
getExchangeRate2
()))
{
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行关联保单应收单, 结算汇率不能为空"
);
}
}
}
}
}
if
(
errorMsg
.
length
()
>
0
)
{
if
(
errorMsg
.
length
()
>
0
)
{
...
@@ -207,16 +212,18 @@ public class ApiCommissionController {
...
@@ -207,16 +212,18 @@ public class ApiCommissionController {
/**
/**
* 1.处理导入的数据
* 1.处理导入的数据
*/
*/
private
List
<
Commission
>
processData
(
List
<
CommissionExcelDTO
>
dataList
,
String
loginUserId
)
{
private
List
<
Commission
>
processData
(
List
<
CommissionExcelDTO
>
dataList
,
String
loginUserId
,
String
reconciliationYearMonth
)
{
List
<
Commission
>
entities
=
new
ArrayList
<>();
List
<
Commission
>
entities
=
new
ArrayList
<>();
for
(
CommissionExcelDTO
data
:
dataList
)
{
for
(
CommissionExcelDTO
data
:
dataList
)
{
// 数据验证
// 数据验证
Commission
entity
=
CommissionExcelDTO
.
convertToEntityNew
(
data
,
loginUserId
);
Commission
entity
=
CommissionExcelDTO
.
convertToEntityNew
(
data
,
loginUserId
);
entity
.
setCommissionBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_COMMISSION
.
getCode
()));
entity
.
setReconciliationYearMonth
(
reconciliationYearMonth
);
entities
.
add
(
entity
);
entities
.
add
(
entity
);
}
}
//
保存来佣数据
//
补充完整字段
// commissionService.saveBatch
(entities);
commissionService
.
fillCommissionList
(
entities
);
return
entities
;
return
entities
;
}
}
...
@@ -256,11 +263,11 @@ public class ApiCommissionController {
...
@@ -256,11 +263,11 @@ public class ApiCommissionController {
// commissionAsyncService.commissionCompareBatch(commissionList);
// commissionAsyncService.commissionCompareBatch(commissionList);
@GetMapping
(
"/test"
)
@GetMapping
(
"/test"
)
public
Result
<
List
<
Commission
>>
testCompareBatch
(
@RequestParam
(
"c
ustomerBizId"
)
String
policyNo
)
{
public
Result
<
List
<
Commission
>>
testCompareBatch
(
@RequestParam
(
"c
ommissionBizId"
)
String
commissionBizId
)
{
if
(
StringUtils
.
isBlank
(
policyNo
))
{
if
(
StringUtils
.
isBlank
(
commissionBizId
))
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"
保单号
不能为空"
);
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"
来佣业务id
不能为空"
);
}
}
List
<
Commission
>
commissionList
=
commissionService
.
list
(
new
QueryWrapper
<
Commission
>().
eq
(
"
policy_no"
,
policyNo
));
List
<
Commission
>
commissionList
=
commissionService
.
list
(
new
QueryWrapper
<
Commission
>().
eq
(
"
commission_biz_id"
,
commissionBizId
));
if
(
CollectionUtils
.
isEmpty
(
commissionList
))
{
if
(
CollectionUtils
.
isEmpty
(
commissionList
))
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"未查询到来佣数据"
);
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"未查询到来佣数据"
);
}
}
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
View file @
e9119fda
...
@@ -24,7 +24,6 @@ import javax.annotation.Resource;
...
@@ -24,7 +24,6 @@ import javax.annotation.Resource;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.UnsupportedEncodingException
;
import
java.io.UnsupportedEncodingException
;
import
java.math.BigDecimal
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyController.java
View file @
e9119fda
...
@@ -221,12 +221,12 @@ public class ApiPolicyController {
...
@@ -221,12 +221,12 @@ public class ApiPolicyController {
*/
*/
@GetMapping
(
"/get_policy_product_info"
)
@GetMapping
(
"/get_policy_product_info"
)
@Operation
(
summary
=
"获取保单产品信息"
)
@Operation
(
summary
=
"获取保单产品信息"
)
public
Result
<
List
<
Map
<
String
,
Object
>
>>
getPolicyProductInfo
(
@RequestParam
(
"productLaunchBizId"
)
List
<
String
>
productLaunchBizId
)
{
public
Result
<
List
<
PolicyProductInfo
>>
getPolicyProductInfo
(
@RequestParam
(
"productLaunchBizId"
)
List
<
String
>
productLaunchBizId
)
{
if
(
productLaunchBizId
==
null
)
{
if
(
productLaunchBizId
==
null
)
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
ResultCode
.
PARAMS_ERROR
.
getMessage
());
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
ResultCode
.
PARAMS_ERROR
.
getMessage
());
}
}
// 查询
// 查询
List
<
Map
<
String
,
Object
>
>
productLaunchPageResponse
=
policyService
.
getPolicyProductInfo
(
productLaunchBizId
);
List
<
PolicyProductInfo
>
productLaunchPageResponse
=
policyService
.
getPolicyProductInfo
(
productLaunchBizId
);
// 获取封装类
// 获取封装类
return
Result
.
success
(
productLaunchPageResponse
);
return
Result
.
success
(
productLaunchPageResponse
);
...
...
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
View file @
e9119fda
...
@@ -3,6 +3,7 @@ package com.yd.csf.api.dto;
...
@@ -3,6 +3,7 @@ package com.yd.csf.api.dto;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.service.enums.CurrencyEnum
;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.model.CommissionExpected
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -88,7 +89,7 @@ public class CommissionExcelDTO {
...
@@ -88,7 +89,7 @@ public class CommissionExcelDTO {
entity
.
setCommissionPeriod
(
data
.
getCommissionPeriod2
());
entity
.
setCommissionPeriod
(
data
.
getCommissionPeriod2
());
entity
.
setCommissionName
(
data
.
getCommissionName2
());
entity
.
setCommissionName
(
data
.
getCommissionName2
());
entity
.
setAmount
(
data
.
getAmount2
());
entity
.
setAmount
(
data
.
getAmount2
());
entity
.
setCurrency
(
data
.
getCurrency2
(
));
entity
.
setCurrency
(
CurrencyEnum
.
getEnumByItemLabel
(
data
.
getCurrency2
()
));
entity
.
setExchangeRate
(
data
.
getExchangeRate2
());
entity
.
setExchangeRate
(
data
.
getExchangeRate2
());
entity
.
setCommissionDate
(
data
.
getCommissionDate2
());
entity
.
setCommissionDate
(
data
.
getCommissionDate2
());
entity
.
setRemark
(
data
.
getRemark
());
entity
.
setRemark
(
data
.
getRemark
());
...
...
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
View file @
e9119fda
...
@@ -442,7 +442,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -442,7 +442,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
IPage
<
ExpectedFortune
>
iPage
=
iExpectedFortuneService
.
page
(
page
,
queryWrapper
);
IPage
<
ExpectedFortune
>
iPage
=
iExpectedFortuneService
.
page
(
page
,
queryWrapper
);
// 查询统计数据
// 查询统计数据
List
<
ExpectedFortune
>
fortuneList
=
iExpectedFortuneService
.
list
(
queryWrapper
);
List
<
ExpectedFortune
>
fortuneList
=
iExpectedFortuneService
.
list
(
queryWrapper
);
ExpectedFortuneStatisticsVO
statisticsVO
=
iExpectedFortuneService
.
getStatistics
(
fortuneList
.
stream
().
map
(
ExpectedFortune:
:
getId
).
collect
(
Collectors
.
toList
()));
ExpectedFortuneStatisticsVO
statisticsVO
=
this
.
getStatistics
(
fortuneList
.
stream
().
map
(
ExpectedFortune:
:
getId
).
collect
(
Collectors
.
toList
()));
// 组装返回结果
// 组装返回结果
ApiExpectedFortunePageResponseVO
response
=
new
ApiExpectedFortunePageResponseVO
();
ApiExpectedFortunePageResponseVO
response
=
new
ApiExpectedFortunePageResponseVO
();
...
@@ -618,15 +618,17 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -618,15 +618,17 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
if
(
expectedFortune
==
null
)
{
if
(
expectedFortune
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"预计发佣数据不存在"
);
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"预计发佣数据不存在"
);
}
}
BeanUtils
.
copyProperties
(
request
,
expectedFortune
,
"id"
,
"expectedFortuneBizId"
);
ExpectedFortune
updateExpectedFortune
=
new
ExpectedFortune
();
BeanUtils
.
copyProperties
(
request
,
updateExpectedFortune
);
updateExpectedFortune
.
setId
(
expectedFortune
.
getId
());
// 获取当前登录用户
// 获取当前登录用户
AuthUserDto
currentLoginUser
=
SecurityUtil
.
getCurrentLoginUser
();
AuthUserDto
currentLoginUser
=
SecurityUtil
.
getCurrentLoginUser
();
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
e
xpectedFortune
.
setUpdaterId
(
loginUserId
);
updateE
xpectedFortune
.
setUpdaterId
(
loginUserId
);
e
xpectedFortune
.
setUpdateTime
(
LocalDateTime
.
now
());
updateE
xpectedFortune
.
setUpdateTime
(
LocalDateTime
.
now
());
iExpectedFortuneService
.
updateById
(
e
xpectedFortune
);
iExpectedFortuneService
.
updateById
(
updateE
xpectedFortune
);
return
true
;
return
true
;
}
}
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ExpectedFortuneAddRequest.java
View file @
e9119fda
...
@@ -5,7 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
...
@@ -5,7 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.
time.Local
Date
;
import
java.
util.
Date
;
@Data
@Data
public
class
ExpectedFortuneAddRequest
{
public
class
ExpectedFortuneAddRequest
{
...
@@ -92,14 +92,14 @@ public class ExpectedFortuneAddRequest {
...
@@ -92,14 +92,14 @@ public class ExpectedFortuneAddRequest {
*/
*/
@Schema
(
description
=
"出账日 (估)"
)
@Schema
(
description
=
"出账日 (估)"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Local
Date
payoutDate
;
private
Date
payoutDate
;
/**
/**
* 出账日 (实)
* 出账日 (实)
*/
*/
@Schema
(
description
=
"出账日 (实)"
)
@Schema
(
description
=
"出账日 (实)"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Local
Date
actualPayoutDate
;
private
Date
actualPayoutDate
;
/**
/**
* 出账状态
* 出账状态
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ExpectedFortuneUpdateRequest.java
View file @
e9119fda
package
com
.
yd
.
csf
.
feign
.
request
.
expectedfortune
;
package
com
.
yd
.
csf
.
feign
.
request
.
expectedfortune
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
@Data
@Data
public
class
ExpectedFortuneUpdateRequest
{
public
class
ExpectedFortuneUpdateRequest
{
...
@@ -14,6 +16,32 @@ public class ExpectedFortuneUpdateRequest {
...
@@ -14,6 +16,32 @@ public class ExpectedFortuneUpdateRequest {
private
String
expectedFortuneBizId
;
private
String
expectedFortuneBizId
;
/**
/**
* 应付款类型 R-关联保单应付款 U-非关联保单应付款
*/
@Schema
(
description
=
"应付款类型 R-关联保单应付款 U-非关联保单应付款"
)
private
String
fortuneBizType
;
/**
* 出账日 (估)
*/
@Schema
(
description
=
"出账日 (估)"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
payoutDate
;
/**
* 出账日 (实)
*/
@Schema
(
description
=
"出账日 (实)"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
actualPayoutDate
;
/**
* 出账金额
*/
@Schema
(
description
=
"出账金额"
)
private
BigDecimal
amount
;
/**
* 出账状态
* 出账状态
*/
*/
@Schema
(
description
=
"出账状态 0=待出账 1=可出帐,待检核 2=完成出账 3=部分出账 4=保留 5=已失效 6=可出帐,检核完成 7=未找到当前预计发佣对应的来佣, 字典值: csf_expected_fortune_status"
)
@Schema
(
description
=
"出账状态 0=待出账 1=可出帐,待检核 2=完成出账 3=部分出账 4=保留 5=已失效 6=可出帐,检核完成 7=未找到当前预计发佣对应的来佣, 字典值: csf_expected_fortune_status"
)
...
@@ -32,12 +60,36 @@ public class ExpectedFortuneUpdateRequest {
...
@@ -32,12 +60,36 @@ public class ExpectedFortuneUpdateRequest {
private
BigDecimal
currentPaymentAmount
;
private
BigDecimal
currentPaymentAmount
;
/**
/**
* 出账项目
*/
@Schema
(
description
=
"出账项目"
)
private
String
fortuneName
;
/**
* 出账项目类型
*/
@Schema
(
description
=
"出账项目类型 字典值:csf_fortune_type"
)
private
String
fortuneType
;
/**
* 币种
* 币种
*/
*/
@Schema
(
description
=
"币种"
)
@Schema
(
description
=
"币种"
)
private
String
currency
;
private
String
currency
;
/**
/**
* 转介人名称
*/
@Schema
(
description
=
"转介人名称"
)
private
String
broker
;
/**
* 转介人业务ID
*/
@Schema
(
description
=
"broker biz id"
)
private
String
brokerBizId
;
/**
* 备注
* 备注
*/
*/
@Schema
(
description
=
"备注"
)
@Schema
(
description
=
"备注"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
View file @
e9119fda
...
@@ -194,7 +194,7 @@ public class CommissionAsyncService {
...
@@ -194,7 +194,7 @@ public class CommissionAsyncService {
BigDecimal
paidAmount
=
BigDecimal
.
ZERO
;
BigDecimal
paidAmount
=
BigDecimal
.
ZERO
;
for
(
Commission
item
:
existingCommissions
)
{
for
(
Commission
item
:
existingCommissions
)
{
if
(
item
.
getCurrentCommissionRatio
()
==
null
)
{
if
(
item
.
getCurrentCommissionRatio
()
==
null
)
{
log
.
warn
(
"当前来佣比例为空,临时计算当前来佣比例:
{}"
,
item
);
log
.
warn
(
"当前来佣比例为空,临时计算当前来佣比例:
commission_id={}"
,
item
.
getId
()
);
paidRatio
=
paidRatio
.
add
(
item
.
calculateCurrentPaidRatio
());
paidRatio
=
paidRatio
.
add
(
item
.
calculateCurrentPaidRatio
());
}
else
{
}
else
{
paidRatio
=
paidRatio
.
add
(
item
.
getCurrentCommissionRatio
());
paidRatio
=
paidRatio
.
add
(
item
.
getCurrentCommissionRatio
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionExpectedAddDto.java
View file @
e9119fda
...
@@ -5,7 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
...
@@ -5,7 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.
time.Local
Date
;
import
java.
util.
Date
;
@Data
@Data
public
class
CommissionExpectedAddDto
{
public
class
CommissionExpectedAddDto
{
...
@@ -98,14 +98,14 @@ public class CommissionExpectedAddDto {
...
@@ -98,14 +98,14 @@ public class CommissionExpectedAddDto {
*/
*/
@Schema
(
description
=
"入账日 (估) format:yyyy-MM-dd"
)
@Schema
(
description
=
"入账日 (估) format:yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Local
Date
commissionDate
;
private
Date
commissionDate
;
/**
/**
* 入账日 (实)
* 入账日 (实)
*/
*/
@Schema
(
description
=
"入账日 (实) format:yyyy-MM-dd"
)
@Schema
(
description
=
"入账日 (实) format:yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Local
Date
actualCommissionDate
;
private
Date
actualCommissionDate
;
/**
/**
* 入账状态 0=待入账 1=完成入账 2=部分入账 3=已失效
* 入账状态 0=待入账 1=完成入账 2=部分入账 3=已失效
...
...
yd-csf-service/src/main/java/com/yd/csf/service/enums/CurrencyEnum.java
0 → 100644
View file @
e9119fda
package
com
.
yd
.
csf
.
service
.
enums
;
import
org.apache.commons.lang3.ObjectUtils
;
/**
* 货币枚举
* <p>
* 美元
* 人民幣
* 港幣
* 澳元
* 加元
* 欧元
* 英鎊
* 新加坡元
*/
public
enum
CurrencyEnum
{
// 货币枚举
USD
(
"美元"
,
"USD"
),
CNY
(
"人民幣"
,
"CNY"
),
HKD
(
"港幣"
,
"HKD"
),
AUD
(
"澳元"
,
"AUD"
),
JPY
(
"日元"
,
"JPY"
),
CAD
(
"加元"
,
"CAD"
),
EUR
(
"欧元"
,
"EUR"
),
GBP
(
"英镑"
,
"GBP"
),
SGD
(
"新加坡元"
,
"SGD"
);
//字典项标签(名称)
private
String
itemLabel
;
//字典项值
private
String
itemValue
;
//构造函数
CurrencyEnum
(
String
itemLabel
,
String
itemValue
)
{
this
.
itemLabel
=
itemLabel
;
this
.
itemValue
=
itemValue
;
}
/**
* 根据 币种(去掉最后一个字) 获取枚举值
*
* @param itemLabel
* @return
*/
public
static
String
getEnumByItemLabel
(
String
itemLabel
)
{
if
(
ObjectUtils
.
isEmpty
(
itemLabel
))
{
return
null
;
}
// 币种名称去掉最后一个字
itemLabel
=
itemLabel
.
substring
(
0
,
itemLabel
.
length
()
-
1
);
for
(
CurrencyEnum
anEnum
:
CurrencyEnum
.
values
())
{
if
(
anEnum
.
itemLabel
.
startsWith
(
itemLabel
))
{
return
anEnum
.
getItemValue
();
}
}
return
null
;
}
public
String
getItemLabel
()
{
return
itemLabel
;
}
public
String
getItemValue
()
{
return
itemValue
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
View file @
e9119fda
...
@@ -119,16 +119,6 @@ public class Commission implements Serializable {
...
@@ -119,16 +119,6 @@ public class Commission implements Serializable {
private
BigDecimal
currentCommissionRatio
;
private
BigDecimal
currentCommissionRatio
;
/**
/**
* 当期已入账来佣比例
*/
private
BigDecimal
periodPaidRatio
;
/**
* 当期剩余来佣比例
*/
private
BigDecimal
periodPendingRatio
;
/**
* 来佣日期
* 来佣日期
*/
*/
private
Date
commissionDate
;
private
Date
commissionDate
;
...
@@ -149,21 +139,6 @@ public class Commission implements Serializable {
...
@@ -149,21 +139,6 @@ public class Commission implements Serializable {
private
String
commissionExpectedBizId
;
private
String
commissionExpectedBizId
;
/**
/**
* 总金额
*/
private
BigDecimal
expectedAmount
;
/**
* 已入账金额
*/
private
BigDecimal
paidAmount
;
/**
* 待入账金额
*/
private
BigDecimal
pendingAmount
;
/**
* 通用备注
* 通用备注
*/
*/
private
String
remark
;
private
String
remark
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
View file @
e9119fda
...
@@ -26,6 +26,8 @@ public interface CommissionService extends IService<Commission> {
...
@@ -26,6 +26,8 @@ public interface CommissionService extends IService<Commission> {
List
<
CommissionVO
>
getCommissionList
(
List
<
Commission
>
commissionList
);
List
<
CommissionVO
>
getCommissionList
(
List
<
Commission
>
commissionList
);
void
fillCommissionList
(
List
<
Commission
>
commissionList
);
Boolean
updateCommission
(
CommissionUpdateRequest
commissionUpdateRequest
);
Boolean
updateCommission
(
CommissionUpdateRequest
commissionUpdateRequest
);
Boolean
generateFortune
(
GenerateFortuneRequest
generateFortuneRequest
);
Boolean
generateFortune
(
GenerateFortuneRequest
generateFortuneRequest
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyService.java
View file @
e9119fda
...
@@ -6,6 +6,8 @@ import com.yd.csf.service.dto.*;
...
@@ -6,6 +6,8 @@ import com.yd.csf.service.dto.*;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.model.Policy
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yd.csf.service.vo.PolicyVO
;
import
com.yd.csf.service.vo.PolicyVO
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -28,5 +30,7 @@ public interface PolicyService extends IService<Policy> {
...
@@ -28,5 +30,7 @@ public interface PolicyService extends IService<Policy> {
List
<
QueryPolicyAndBrokerDto
>
queryPolicyBrokerList
(
String
policyNo
);
List
<
QueryPolicyAndBrokerDto
>
queryPolicyBrokerList
(
String
policyNo
);
List
<
Map
<
String
,
Object
>>
getPolicyProductInfo
(
List
<
String
>
productLaunchBizIdList
);
List
<
PolicyProductInfo
>
getPolicyProductInfo
(
List
<
String
>
productLaunchBizIdList
);
Map
<
String
,
PolicyProductInfo
>
getPolicyProductInfoMap
(
Collection
<
String
>
productLaunchBizIdList
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
e9119fda
...
@@ -129,7 +129,12 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -129,7 +129,12 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
// 2.关联查询预计入账信息
// 2.关联查询预计入账信息
Set
<
String
>
commissionExpectedBizIdSet
=
commissionList
.
stream
().
map
(
Commission:
:
getCommissionExpectedBizId
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
commissionExpectedBizIdSet
=
commissionList
.
stream
().
map
(
Commission:
:
getCommissionExpectedBizId
).
collect
(
Collectors
.
toSet
());
List
<
CommissionExpected
>
commissionExpectedList
=
commissionExpectedService
.
lambdaQuery
()
List
<
CommissionExpected
>
commissionExpectedList
=
commissionExpectedService
.
lambdaQuery
()
.
select
(
CommissionExpected:
:
getCommissionExpectedBizId
,
CommissionExpected:
:
getReceivableNo
)
.
select
(
CommissionExpected:
:
getCommissionExpectedBizId
,
CommissionExpected:
:
getCommissionRatio
,
CommissionExpected:
:
getPaidAmount
,
CommissionExpected:
:
getPaidRatio
,
CommissionExpected:
:
getStatus
,
CommissionExpected:
:
getReceivableNo
)
.
in
(
CommissionExpected:
:
getCommissionExpectedBizId
,
commissionExpectedBizIdSet
)
.
in
(
CommissionExpected:
:
getCommissionExpectedBizId
,
commissionExpectedBizIdSet
)
.
list
();
.
list
();
Map
<
String
,
CommissionExpected
>
commissionExpectedMap
=
commissionExpectedList
.
stream
().
collect
(
Collectors
.
toMap
(
CommissionExpected:
:
getCommissionExpectedBizId
,
a
->
a
,
(
oldValue
,
newValue
)
->
newValue
));
Map
<
String
,
CommissionExpected
>
commissionExpectedMap
=
commissionExpectedList
.
stream
().
collect
(
Collectors
.
toMap
(
CommissionExpected:
:
getCommissionExpectedBizId
,
a
->
a
,
(
oldValue
,
newValue
)
->
newValue
));
...
@@ -147,8 +152,12 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -147,8 +152,12 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
}
CommissionExpected
commissionExpected
=
commissionExpectedMap
.
get
(
commission
.
getCommissionExpectedBizId
());
CommissionExpected
commissionExpected
=
commissionExpectedMap
.
get
(
commission
.
getCommissionExpectedBizId
());
if
(
commissionExpected
!=
null
)
{
if
(
commissionExpected
!=
null
)
{
// 填充应收账款编号
// 填充应收账款编号
、已入账比例、待入账比例
commissionVO
.
setReceivableNo
(
commissionExpected
.
getReceivableNo
());
commissionVO
.
setReceivableNo
(
commissionExpected
.
getReceivableNo
());
if
(
commissionExpected
.
getCommissionRatio
()
!=
null
)
{
commissionVO
.
setPaidRatio
(
commissionExpected
.
getPaidRatio
());
commissionVO
.
setPendingRatio
(
commissionExpected
.
getCommissionRatio
().
subtract
(
commissionExpected
.
getPaidRatio
()));
}
commissionVO
.
setCommissionExpectedStatus
(
commissionExpected
.
getStatus
());
commissionVO
.
setCommissionExpectedStatus
(
commissionExpected
.
getStatus
());
}
}
return
commissionVO
;
return
commissionVO
;
...
@@ -198,6 +207,81 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -198,6 +207,81 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
}
@Override
@Override
public
void
fillCommissionList
(
List
<
Commission
>
commissionList
)
{
if
(
CollUtil
.
isEmpty
(
commissionList
))
{
return
;
}
// 1.关联查询保单信息
Set
<
String
>
policyNoSet
=
commissionList
.
stream
().
map
(
Commission:
:
getPolicyNo
).
collect
(
Collectors
.
toSet
());
QueryWrapper
<
Policy
>
queryWrapper
=
new
QueryWrapper
<
Policy
>();
queryWrapper
.
in
(
"policy_no"
,
policyNoSet
);
queryWrapper
.
select
(
"policy_no"
,
"payment_premium"
,
"product_launch_biz_id"
,
"product_name"
,
"insurance_company_biz_id"
,
"insurance_company"
,
"reconciliation_company"
,
"reconciliation_company_code"
,
"reconciliation_company_biz_id"
);
List
<
Policy
>
policyList
=
policyService
.
list
(
queryWrapper
);
Map
<
String
,
Policy
>
policyMap
=
policyList
.
stream
().
collect
(
Collectors
.
toMap
(
Policy:
:
getPolicyNo
,
a
->
a
,
(
oldValue
,
newValue
)
->
newValue
));
// 2.关联查询预计入账信息
List
<
CommissionExpected
>
commissionExpectedList
=
commissionExpectedService
.
lambdaQuery
()
.
in
(
CommissionExpected:
:
getPolicyNo
,
policyNoSet
)
.
select
(
CommissionExpected:
:
getCommissionExpectedBizId
,
CommissionExpected:
:
getPolicyNo
,
CommissionExpected:
:
getReceivableNo
,
CommissionExpected:
:
getCommissionPeriod
,
CommissionExpected:
:
getTotalPeriod
,
CommissionExpected:
:
getCommissionName
,
CommissionExpected:
:
getCurrency
,
CommissionExpected:
:
getStatus
)
.
list
();
// 填充信息
commissionList
.
forEach
(
commission
->
{
Policy
policy
=
policyMap
.
get
(
commission
.
getPolicyNo
());
if
(
policy
!=
null
)
{
// 填充保费、产品名称、保险公司、对账公司
commission
.
setPremium
(
String
.
valueOf
(
policy
.
getPaymentPremium
()));
commission
.
setProductLaunchBizId
(
policy
.
getProductLaunchBizId
());
commission
.
setInsuranceCompanyBizId
(
policy
.
getInsuranceCompanyBizId
());
commission
.
setReconciliationCompany
(
policy
.
getReconciliationCompany
());
commission
.
setReconciliationCompanyCode
(
policy
.
getReconciliationCompanyCode
());
commission
.
setReconciliationCompanyBizId
(
policy
.
getReconciliationCompanyBizId
());
commission
.
setCurrentCommissionRatio
(
commission
.
calculateCurrentPaidRatio
());
}
// 根据保单号、期数、入账名称、币种查询预计来佣记录
CommissionExpected
expected
=
findExpectedFromList
(
commission
,
commissionExpectedList
);
if
(
expected
!=
null
)
{
commission
.
setCommissionExpectedBizId
(
expected
.
getCommissionExpectedBizId
());
commission
.
setTotalPeriod
(
expected
.
getTotalPeriod
());
}
else
{
log
.
warn
(
"导入入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}"
,
commission
.
getPolicyNo
(),
commission
.
getCommissionPeriod
(),
commission
.
getCommissionName
(),
commission
.
getCurrency
());
commission
.
setRemark
(
"未查询到预计来佣记录"
);
commission
.
setStatus
(
CommissionStatusEnum
.
MATCH_FAILED
.
getItemValue
());
}
});
}
private
CommissionExpected
findExpectedFromList
(
Commission
commission
,
List
<
CommissionExpected
>
commissionExpectedList
)
{
log
.
info
(
"commission: policyNo={}, commissionPeriod={}, commissionName={}, currency={}"
,
commission
.
getPolicyNo
(),
commission
.
getCommissionPeriod
(),
commission
.
getCommissionName
(),
commission
.
getCurrency
());
for
(
CommissionExpected
i
:
commissionExpectedList
)
{
log
.
info
(
" expected: policyNo={}, commissionPeriod={}, commissionName={}, currency={}"
,
i
.
getPolicyNo
(),
i
.
getCommissionPeriod
(),
i
.
getCommissionName
(),
i
.
getCurrency
());
if
(
Objects
.
equals
(
i
.
getPolicyNo
(),
commission
.
getPolicyNo
())
&&
Objects
.
equals
(
i
.
getCommissionPeriod
(),
commission
.
getCommissionPeriod
())
&&
Objects
.
equals
(
i
.
getCommissionName
(),
commission
.
getCommissionName
())
&&
Objects
.
equals
(
i
.
getCurrency
(),
commission
.
getCurrency
()))
{
return
i
;
}
}
return
null
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updateCommission
(
CommissionUpdateRequest
commissionUpdateRequest
)
{
public
Boolean
updateCommission
(
CommissionUpdateRequest
commissionUpdateRequest
)
{
String
commissionBizId
=
commissionUpdateRequest
.
getCommissionBizId
();
String
commissionBizId
=
commissionUpdateRequest
.
getCommissionBizId
();
...
@@ -215,7 +299,6 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -215,7 +299,6 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
BigDecimal
currentCommissionRatio
=
this
.
calculateCurrentCommissionRatio
(
BigDecimal
currentCommissionRatio
=
this
.
calculateCurrentCommissionRatio
(
commission
.
getPremium
(),
commission
.
getPremium
(),
requestAmount
,
requestAmount
,
commissionUpdateRequest
.
getCurrency
(),
commissionUpdateRequest
.
getExchangeRate
());
commissionUpdateRequest
.
getExchangeRate
());
// 获取当前登录用户
// 获取当前登录用户
...
@@ -567,7 +650,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -567,7 +650,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
return
this
.
getOne
(
new
QueryWrapper
<
Commission
>().
eq
(
"commission_biz_id"
,
commissionBizId
));
return
this
.
getOne
(
new
QueryWrapper
<
Commission
>().
eq
(
"commission_biz_id"
,
commissionBizId
));
}
}
public
BigDecimal
calculateCurrentCommissionRatio
(
String
premium
,
BigDecimal
amount
,
String
exchangeRate
,
String
currency
)
{
public
BigDecimal
calculateCurrentCommissionRatio
(
String
premium
,
BigDecimal
amount
,
String
exchangeRate
)
{
if
(
ObjectUtils
.
isEmpty
(
premium
))
{
if
(
ObjectUtils
.
isEmpty
(
premium
))
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"保单保费不能为空"
);
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"保单保费不能为空"
);
}
}
...
@@ -656,6 +739,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -656,6 +739,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission
.
setProductLaunchBizId
(
policy
.
getProductLaunchBizId
());
commission
.
setProductLaunchBizId
(
policy
.
getProductLaunchBizId
());
commission
.
setInsuranceCompanyBizId
(
policy
.
getInsuranceCompanyBizId
());
commission
.
setInsuranceCompanyBizId
(
policy
.
getInsuranceCompanyBizId
());
commission
.
setPremium
(
Convert
.
toStr
(
policy
.
getPaymentPremium
()));
commission
.
setPremium
(
Convert
.
toStr
(
policy
.
getPaymentPremium
()));
// 本次入账比例
commission
.
setCurrentCommissionRatio
(
commission
.
calculateCurrentPaidRatio
());
}
}
}
}
// 关联预计来佣信息
// 关联预计来佣信息
...
@@ -670,6 +755,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -670,6 +755,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
.
orElse
(
null
);
.
orElse
(
null
);
if
(
expected
!=
null
)
{
if
(
expected
!=
null
)
{
commission
.
setCommissionExpectedBizId
(
expected
.
getCommissionExpectedBizId
());
commission
.
setCommissionExpectedBizId
(
expected
.
getCommissionExpectedBizId
());
commission
.
setTotalPeriod
(
expected
.
getTotalPeriod
());
}
else
{
}
else
{
log
.
warn
(
"新增入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}"
,
log
.
warn
(
"新增入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}"
,
request
.
getPolicyNo
(),
request
.
getCommissionPeriod
(),
request
.
getCommissionName
(),
request
.
getCurrency
());
request
.
getPolicyNo
(),
request
.
getCommissionPeriod
(),
request
.
getCommissionName
(),
request
.
getCurrency
());
...
@@ -679,7 +765,11 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -679,7 +765,11 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
}
commissionList
.
add
(
commission
);
commissionList
.
add
(
commission
);
}
}
boolean
b
=
this
.
saveOrUpdateBatch
(
commissionList
);
// 提交事务,保存数据
transactionTemplate
.
execute
(
status
->
{
saveOrUpdateBatch
(
commissionList
);
return
null
;
});
// 开启新事务,比对数据
// 开启新事务,比对数据
transactionTemplate
.
execute
(
status
->
{
transactionTemplate
.
execute
(
status
->
{
...
@@ -687,6 +777,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -687,6 +777,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commissionAsyncService
.
commissionCompareBatch
(
commissionList
);
commissionAsyncService
.
commissionCompareBatch
(
commissionList
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
// 比对失败不影响主事务,记录日志即可
// 比对失败不影响主事务,记录日志即可
e
.
printStackTrace
();
log
.
error
(
"批量新增, 比对操作执行失败, error: {}"
,
e
.
getMessage
());
log
.
error
(
"批量新增, 比对操作执行失败, error: {}"
,
e
.
getMessage
());
}
}
return
null
;
return
null
;
...
@@ -709,6 +800,12 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -709,6 +800,12 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
if
(
StringUtils
.
isBlank
(
request
.
getCommissionName
()))
{
if
(
StringUtils
.
isBlank
(
request
.
getCommissionName
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"入账项目名称不能为空"
);
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"入账项目名称不能为空"
);
}
}
if
(
"R"
.
equals
(
request
.
getCommissionBizType
()))
{
// 校验保单号是否存在
if
(
StringUtils
.
isBlank
(
request
.
getExchangeRate
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"关联保单号记录,结算汇率不能为空"
);
}
}
}
}
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
View file @
e9119fda
...
@@ -107,9 +107,12 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
...
@@ -107,9 +107,12 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
}
}
// 1.关联查询来佣信息
// 1.关联查询来佣信息
List
<
Commission
>
commissionList
=
commissionService
.
list
(
new
QueryWrapper
<
Commission
>().
in
(
"commission_biz_id"
,
commissionBizIdSet
));
List
<
Commission
>
commissionList
=
commissionService
.
list
(
new
QueryWrapper
<
Commission
>().
in
(
"commission_biz_id"
,
commissionBizIdSet
));
Map
<
String
,
Commission
>
commissionMap
=
commissionList
.
stream
().
collect
(
Collectors
.
toMap
(
Commission:
:
getCommissionBizId
,
a
->
a
,
(
oldValue
,
newValue
)
->
newValue
));
Set
<
String
>
commissionExpectedBizIdSet
=
commissionList
.
stream
().
map
(
Commission:
:
getCommissionExpectedBizId
).
collect
(
Collectors
.
toSet
());
// 1.1 关联查询来佣预期信息
// 1.1 关联查询来佣预期信息
List
<
CommissionExpected
>
commissionExpectedList
=
commissionExpectedService
.
lambdaQuery
()
List
<
CommissionExpected
>
commissionExpectedList
=
commissionExpectedService
.
lambdaQuery
()
.
in
(
CommissionExpected:
:
getCommissionExpectedBizId
,
expectedFortune
BizIdSet
)
.
in
(
CommissionExpected:
:
getCommissionExpectedBizId
,
commissionExpected
BizIdSet
)
.
select
(
CommissionExpected:
:
getCommissionExpectedBizId
,
CommissionExpected:
:
getPaidAmount
,
CommissionExpected:
:
getPaidRatio
)
.
select
(
CommissionExpected:
:
getCommissionExpectedBizId
,
CommissionExpected:
:
getPaidAmount
,
CommissionExpected:
:
getPaidRatio
)
.
list
();
.
list
();
Map
<
String
,
CommissionExpected
>
commissionExpectedMap
=
commissionExpectedList
.
stream
().
collect
(
Collectors
.
toMap
(
CommissionExpected:
:
getCommissionExpectedBizId
,
a
->
a
,
(
oldValue
,
newValue
)
->
newValue
));
Map
<
String
,
CommissionExpected
>
commissionExpectedMap
=
commissionExpectedList
.
stream
().
collect
(
Collectors
.
toMap
(
CommissionExpected:
:
getCommissionExpectedBizId
,
a
->
a
,
(
oldValue
,
newValue
)
->
newValue
));
...
@@ -127,12 +130,16 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
...
@@ -127,12 +130,16 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
fortuneVOList
.
forEach
(
fortuneVO
->
{
fortuneVOList
.
forEach
(
fortuneVO
->
{
String
commissionBizId
=
fortuneVO
.
getCommissionBizId
();
String
commissionBizId
=
fortuneVO
.
getCommissionBizId
();
// 设置来佣金额和比例
Commission
commission
=
commissionMap
.
get
(
commissionBizId
);
CommissionExpected
commissionExpected
=
commissionExpectedMap
.
get
(
commissionBizId
);
if
(
commission
!=
null
)
{
if
(
commissionExpected
!=
null
)
{
// 设置来佣金额和比例
fortuneVO
.
setCommissionPaidAmount
(
commissionExpected
.
getPaidAmount
());
CommissionExpected
commissionExpected
=
commissionExpectedMap
.
get
(
commission
.
getCommissionExpectedBizId
());
fortuneVO
.
setCommissionPaidRatio
(
commissionExpected
.
getPaidRatio
());
if
(
commissionExpected
!=
null
)
{
fortuneVO
.
setCommissionPaidAmount
(
commissionExpected
.
getPaidAmount
());
fortuneVO
.
setCommissionPaidRatio
(
commissionExpected
.
getPaidRatio
());
}
}
}
// 设置保单信息
// 设置保单信息
Policy
policy
=
policyMap
.
get
(
fortuneVO
.
getPolicyNo
());
Policy
policy
=
policyMap
.
get
(
fortuneVO
.
getPolicyNo
());
if
(
policy
!=
null
)
{
if
(
policy
!=
null
)
{
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyServiceImpl.java
View file @
e9119fda
...
@@ -38,6 +38,7 @@ import org.springframework.util.CollectionUtils;
...
@@ -38,6 +38,7 @@ import org.springframework.util.CollectionUtils;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -183,7 +184,7 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
...
@@ -183,7 +184,7 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
}
}
@Override
@Override
public
List
<
Map
<
String
,
Object
>
>
getPolicyProductInfo
(
List
<
String
>
productLaunchBizIdList
)
{
public
List
<
PolicyProductInfo
>
getPolicyProductInfo
(
List
<
String
>
productLaunchBizIdList
)
{
ApiRelProjectProductLaunchPageRequest
pageRequest
=
new
ApiRelProjectProductLaunchPageRequest
();
ApiRelProjectProductLaunchPageRequest
pageRequest
=
new
ApiRelProjectProductLaunchPageRequest
();
pageRequest
.
setProductLaunchBizIdList
(
productLaunchBizIdList
);
pageRequest
.
setProductLaunchBizIdList
(
productLaunchBizIdList
);
pageRequest
.
setPageNo
(
1
);
pageRequest
.
setPageNo
(
1
);
...
@@ -201,7 +202,7 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
...
@@ -201,7 +202,7 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
// 直接使用Map来处理数据,避免复杂的类型转换
// 直接使用Map来处理数据,避免复杂的类型转换
Object
data
=
result
.
getData
();
Object
data
=
result
.
getData
();
List
<
Map
<
String
,
Object
>
>
policyProductInfoList
=
new
ArrayList
<>();
List
<
PolicyProductInfo
>
policyProductInfoList
=
new
ArrayList
<>();
// 将数据转换为JSONObject进行解析
// 将数据转换为JSONObject进行解析
JSONObject
jsonObject
=
JSONUtil
.
parseObj
(
data
);
JSONObject
jsonObject
=
JSONUtil
.
parseObj
(
data
);
...
@@ -212,20 +213,20 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
...
@@ -212,20 +213,20 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
for
(
int
i
=
0
;
i
<
recordsArray
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
recordsArray
.
size
();
i
++)
{
JSONObject
record
=
recordsArray
.
getJSONObject
(
i
);
JSONObject
record
=
recordsArray
.
getJSONObject
(
i
);
Map
<
String
,
Object
>
infoMap
=
new
HashMap
<>
();
PolicyProductInfo
productInfo
=
new
PolicyProductInfo
();
infoMap
.
put
(
"productLaunchBizId"
,
record
.
getStr
(
"productLaunchBizId"
));
productInfo
.
setProductLaunchBizId
(
record
.
getStr
(
"productLaunchBizId"
));
infoMap
.
put
(
"productName"
,
record
.
getStr
(
"productName"
));
productInfo
.
setProductName
(
record
.
getStr
(
"productName"
));
infoMap
.
put
(
"title"
,
record
.
getStr
(
"title"
));
productInfo
.
setTitle
(
record
.
getStr
(
"title"
));
infoMap
.
put
(
"shortTitle"
,
record
.
getStr
(
"shortTitle"
));
productInfo
.
setShortTitle
(
record
.
getStr
(
"shortTitle"
));
infoMap
.
put
(
"status"
,
record
.
getStr
(
"status"
));
productInfo
.
setStatus
(
record
.
getStr
(
"status"
));
// 解析自定义属性
// 解析自定义属性
JSONArray
attributeSettingArray
=
record
.
getJSONArray
(
"apiAttributeSettingDtoList"
);
JSONArray
attributeSettingArray
=
record
.
getJSONArray
(
"apiAttributeSettingDtoList"
);
if
(
attributeSettingArray
!=
null
)
{
if
(
attributeSettingArray
!=
null
)
{
getInfoFromJsonArray
(
attributeSettingArray
,
infoMap
);
getInfoFromJsonArray
(
attributeSettingArray
,
productInfo
);
}
}
policyProductInfoList
.
add
(
infoMap
);
policyProductInfoList
.
add
(
productInfo
);
}
}
}
}
...
@@ -237,10 +238,22 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
...
@@ -237,10 +238,22 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
}
}
}
}
@Override
public
Map
<
String
,
PolicyProductInfo
>
getPolicyProductInfoMap
(
Collection
<
String
>
productLaunchBizIdList
)
{
// 校验参数
if
(
CollectionUtils
.
isEmpty
(
productLaunchBizIdList
))
{
return
Collections
.
emptyMap
();
}
List
<
PolicyProductInfo
>
policyProductInfoList
=
getPolicyProductInfo
(
new
ArrayList
<>(
productLaunchBizIdList
));
return
policyProductInfoList
.
stream
()
.
collect
(
Collectors
.
toMap
(
PolicyProductInfo:
:
getProductLaunchBizId
,
Function
.
identity
()));
}
/**
/**
* 从JSON数组中解析自定义属性
* 从JSON数组中解析自定义属性
*/
*/
private
void
getInfoFromJsonArray
(
JSONArray
attributeSettingArray
,
Map
<
String
,
Object
>
infoMap
)
{
private
void
getInfoFromJsonArray
(
JSONArray
attributeSettingArray
,
PolicyProductInfo
productInfo
)
{
if
(
attributeSettingArray
==
null
||
attributeSettingArray
.
isEmpty
())
{
if
(
attributeSettingArray
==
null
||
attributeSettingArray
.
isEmpty
())
{
return
;
return
;
}
}
...
@@ -253,22 +266,21 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
...
@@ -253,22 +266,21 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
// 根据属性名称设置对应的字段
// 根据属性名称设置对应的字段
switch
(
name
)
{
switch
(
name
)
{
case
"保险公司"
:
case
"保险公司"
:
infoMap
.
put
(
"insuranceCompany"
,
value
);
productInfo
.
setInsuranceCompany
(
value
);
infoMap
.
put
(
"insuranceCompanyBizId"
,
attribute
.
getStr
(
"fieldValueBizId"
));
productInfo
.
setInsuranceCompanyBizId
(
attribute
.
getStr
(
"fieldValueBizId"
));
break
;
break
;
case
"对账公司"
:
case
"对账公司"
:
infoMap
.
put
(
"reconciliationCompany"
,
value
);
productInfo
.
setReconciliationCompany
(
value
);
infoMap
.
put
(
"reconciliationCompanyBizId"
,
attribute
.
getStr
(
"fieldValueBizId"
));
productInfo
.
setReconciliationCompanyBizId
(
attribute
.
getStr
(
"fieldValueBizId"
));
break
;
break
;
case
"产品计划类型"
:
case
"产品计划类型"
:
infoMap
.
put
(
"productPlanType"
,
value
);
productInfo
.
setProductPlanType
(
value
);
break
;
break
;
case
"是否区分吸烟"
:
case
"是否区分吸烟"
:
infoMap
.
put
(
"isSmokingDistinguish"
,
value
);
productInfo
.
setIsSmokingDistinguish
(
value
);
break
;
break
;
default
:
default
:
// 其他自定义属性
// 其他自定义属性
infoMap
.
put
(
name
,
value
);
break
;
break
;
}
}
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionExpectedExportDTO.java
View file @
e9119fda
...
@@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentRowHeight;
...
@@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import
com.alibaba.excel.annotation.write.style.HeadRowHeight
;
import
com.alibaba.excel.annotation.write.style.HeadRowHeight
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.model.CommissionExpected
;
import
lombok.Data
;
import
lombok.Data
;
import
org.apache.commons.lang3.ObjectUtils
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -14,7 +15,7 @@ import java.util.Date;
...
@@ -14,7 +15,7 @@ import java.util.Date;
@Data
@Data
@ContentRowHeight
(
15
)
@ContentRowHeight
(
15
)
@HeadRowHeight
(
20
)
@HeadRowHeight
(
20
)
@ColumnWidth
(
1
5
)
@ColumnWidth
(
2
5
)
public
class
CommissionExpectedExportDTO
{
public
class
CommissionExpectedExportDTO
{
@ExcelProperty
(
"应收账款编号"
)
@ExcelProperty
(
"应收账款编号"
)
...
@@ -71,10 +72,18 @@ public class CommissionExpectedExportDTO {
...
@@ -71,10 +72,18 @@ public class CommissionExpectedExportDTO {
@ColumnWidth
(
20
)
@ColumnWidth
(
20
)
private
BigDecimal
paidAmount
;
private
BigDecimal
paidAmount
;
@ExcelProperty
(
"已入账比例(%)"
)
@ColumnWidth
(
20
)
private
BigDecimal
paidRatio
;
@ExcelProperty
(
"待入账金额(HKD)"
)
@ExcelProperty
(
"待入账金额(HKD)"
)
@ColumnWidth
(
20
)
@ColumnWidth
(
20
)
private
BigDecimal
pendingAmount
;
private
BigDecimal
pendingAmount
;
@ExcelProperty
(
"待入账比例(%)"
)
@ColumnWidth
(
20
)
private
BigDecimal
pendingRatio
;
@ExcelProperty
(
"备注"
)
@ExcelProperty
(
"备注"
)
@ColumnWidth
(
30
)
@ColumnWidth
(
30
)
private
String
remark
;
private
String
remark
;
...
@@ -108,12 +117,22 @@ public class CommissionExpectedExportDTO {
...
@@ -108,12 +117,22 @@ public class CommissionExpectedExportDTO {
dto
.
setStatus
(
getStatusText
(
vo
.
getStatus
()));
dto
.
setStatus
(
getStatusText
(
vo
.
getStatus
()));
dto
.
setExpectedAmount
(
vo
.
getExpectedAmount
());
dto
.
setExpectedAmount
(
vo
.
getExpectedAmount
());
dto
.
setPaidAmount
(
vo
.
getPaidAmount
());
dto
.
setPaidAmount
(
vo
.
getPaidAmount
());
dto
.
setPaidRatio
(
vo
.
getPaidRatio
());
// 计算待入账金额
BigDecimal
pendingAmount
=
vo
.
getExpectedAmount
()
!=
null
&&
vo
.
getPaidAmount
()
!=
null
BigDecimal
paidAmount1
=
ObjectUtils
.
defaultIfNull
(
vo
.
getPaidAmount
(),
BigDecimal
.
ZERO
);
?
vo
.
getExpectedAmount
().
subtract
(
vo
.
getPaidAmount
())
BigDecimal
paidRatio1
=
ObjectUtils
.
defaultIfNull
(
vo
.
getPaidRatio
(),
BigDecimal
.
ZERO
);
:
BigDecimal
.
ZERO
;
// 待入账比例、待入账金额
dto
.
setPendingAmount
(
pendingAmount
);
if
(
vo
.
getCommissionRatio
()
!=
null
)
{
dto
.
setPaidRatio
(
paidRatio1
);
dto
.
setPendingRatio
(
vo
.
getCommissionRatio
().
subtract
(
paidRatio1
));
if
(
vo
.
getExpectedAmount
()
!=
null
)
{
dto
.
setPaidAmount
(
paidAmount1
);
dto
.
setPendingAmount
(
vo
.
getExpectedAmount
().
subtract
(
paidAmount1
));
}
}
else
if
(
vo
.
getAmount
()
!=
null
)
{
dto
.
setPaidAmount
(
paidAmount1
);
dto
.
setPendingAmount
(
vo
.
getAmount
().
subtract
(
paidAmount1
));
}
dto
.
setRemark
(
vo
.
getRemark
());
dto
.
setRemark
(
vo
.
getRemark
());
dto
.
setCreateTime
(
vo
.
getCreateTime
());
dto
.
setCreateTime
(
vo
.
getCreateTime
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionExpectedVO.java
View file @
e9119fda
...
@@ -5,6 +5,7 @@ import com.yd.csf.service.model.Commission;
...
@@ -5,6 +5,7 @@ import com.yd.csf.service.model.Commission;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.model.CommissionExpected
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.Data
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
java.io.Serializable
;
import
java.io.Serializable
;
...
@@ -83,6 +84,12 @@ public class CommissionExpectedVO implements Serializable {
...
@@ -83,6 +84,12 @@ public class CommissionExpectedVO implements Serializable {
private
String
reconciliationCompany
;
private
String
reconciliationCompany
;
/**
/**
* 对账公司业务ID
*/
@Schema
(
description
=
"对账公司业务ID"
)
private
String
reconciliationCompanyBizId
;
/**
* 佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
* 佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
*/
@Schema
(
description
=
"佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)"
)
@Schema
(
description
=
"佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)"
)
...
@@ -168,6 +175,18 @@ public class CommissionExpectedVO implements Serializable {
...
@@ -168,6 +175,18 @@ public class CommissionExpectedVO implements Serializable {
private
BigDecimal
paidRatio
;
private
BigDecimal
paidRatio
;
/**
/**
* 待入账金额
*/
@Schema
(
description
=
"待入账金额"
)
private
BigDecimal
pendingAmount
;
/**
* 待入账比例
*/
@Schema
(
description
=
"待入账比例"
)
private
BigDecimal
pendingRatio
;
/**
* 已入账来佣列表
* 已入账来佣列表
*/
*/
@Schema
(
description
=
"已入账来佣列表"
)
@Schema
(
description
=
"已入账来佣列表"
)
...
@@ -220,6 +239,22 @@ public class CommissionExpectedVO implements Serializable {
...
@@ -220,6 +239,22 @@ public class CommissionExpectedVO implements Serializable {
CommissionExpectedVO
commissionVO
=
new
CommissionExpectedVO
();
CommissionExpectedVO
commissionVO
=
new
CommissionExpectedVO
();
BeanUtils
.
copyProperties
(
commissionExpected
,
commissionVO
);
BeanUtils
.
copyProperties
(
commissionExpected
,
commissionVO
);
BigDecimal
paidAmount1
=
ObjectUtils
.
defaultIfNull
(
commissionExpected
.
getPaidAmount
(),
BigDecimal
.
ZERO
);
BigDecimal
paidRatio1
=
ObjectUtils
.
defaultIfNull
(
commissionExpected
.
getPaidRatio
(),
BigDecimal
.
ZERO
);
// 待入账比例、待入账金额
if
(
commissionExpected
.
getCommissionRatio
()
!=
null
)
{
commissionVO
.
setPaidRatio
(
paidRatio1
);
commissionVO
.
setPendingRatio
(
commissionExpected
.
getCommissionRatio
().
subtract
(
paidRatio1
));
if
(
commissionExpected
.
getExpectedAmount
()
!=
null
)
{
commissionVO
.
setPaidAmount
(
paidAmount1
);
commissionVO
.
setPendingAmount
(
commissionExpected
.
getExpectedAmount
().
subtract
(
paidAmount1
));
}
}
else
if
(
commissionExpected
.
getAmount
()
!=
null
)
{
commissionVO
.
setPaidAmount
(
paidAmount1
);
commissionVO
.
setPendingAmount
(
commissionExpected
.
getAmount
().
subtract
(
paidAmount1
));
}
return
commissionVO
;
return
commissionVO
;
}
}
}
}
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
View file @
e9119fda
...
@@ -153,18 +153,6 @@ public class CommissionVO implements Serializable {
...
@@ -153,18 +153,6 @@ public class CommissionVO implements Serializable {
private
BigDecimal
currentCommissionRatio
;
private
BigDecimal
currentCommissionRatio
;
/**
/**
* 当期已入账比例
*/
@Schema
(
description
=
"已入账来佣比例"
)
private
BigDecimal
periodPaidRatio
;
/**
* 待入账来佣比例
*/
@Schema
(
description
=
"当期剩余来佣比例"
)
private
BigDecimal
periodPendingRatio
;
/**
* 比对状态
* 比对状态
*/
*/
@Schema
(
description
=
"比对状态 0=未比对 1=比对成功 2=比对失败 3=未匹配到预计入账记录 字典值: csf_commission_status"
)
@Schema
(
description
=
"比对状态 0=未比对 1=比对成功 2=比对失败 3=未匹配到预计入账记录 字典值: csf_commission_status"
)
...
@@ -189,16 +177,16 @@ public class CommissionVO implements Serializable {
...
@@ -189,16 +177,16 @@ public class CommissionVO implements Serializable {
private
String
expectedAmount
;
private
String
expectedAmount
;
/**
/**
*
已入账金额
*
累计入账比例
*/
*/
@Schema
(
description
=
"
已入账金额
"
)
@Schema
(
description
=
"
累计入账比例
"
)
private
String
paidAmount
;
private
BigDecimal
paidRatio
;
/**
/**
* 待入账
金额
* 待入账
比例
*/
*/
@Schema
(
description
=
"待入账
金额
"
)
@Schema
(
description
=
"待入账
比例
"
)
private
String
pendingAmount
;
private
BigDecimal
pendingRatio
;
/**
/**
* 通用备注
* 通用备注
...
...
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
View file @
e9119fda
...
@@ -26,8 +26,7 @@
...
@@ -26,8 +26,7 @@
<result
property=
"currency"
column=
"currency"
/>
<result
property=
"currency"
column=
"currency"
/>
<result
property=
"commissionDate"
column=
"commission_date"
/>
<result
property=
"commissionDate"
column=
"commission_date"
/>
<result
property=
"currentCommissionRatio"
column=
"current_commission_ratio"
/>
<result
property=
"currentCommissionRatio"
column=
"current_commission_ratio"
/>
<result
property=
"periodPaidRatio"
column=
"period_paid_ratio"
/>
<result
property=
"commissionExpectedBizId"
column=
"commission_expected_biz_id"
/>
<result
property=
"periodPendingRatio"
column=
"period_pending_ratio"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"statusDesc"
column=
"status_desc"
/>
<result
property=
"statusDesc"
column=
"status_desc"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"remark"
column=
"remark"
/>
...
@@ -43,7 +42,7 @@
...
@@ -43,7 +42,7 @@
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,
commission_date,current_commission_ratio,
period_paid_ratio,period_pending_ratio
,
commission_date,current_commission_ratio,
commission_expected_biz_id
,
status,status_desc,remark,is_deleted,creator_id,
status,status_desc,remark,is_deleted,creator_id,
updater_id,create_time,update_time
updater_id,create_time,update_time
</sql>
</sql>
...
...
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