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
9137b722
Commit
9137b722
authored
Jan 08, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/test' into test
parents
892015bd
dc3fd6ff
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
53 additions
and
53 deletions
+53
-53
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
+7
-6
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
+6
-3
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
+34
-37
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionAddRequest.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
+4
-3
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
+0
-2
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+0
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
+1
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
View file @
9137b722
...
@@ -192,14 +192,15 @@ public class ApiCommissionController {
...
@@ -192,14 +192,15 @@ public class ApiCommissionController {
// errorMsg.append("第").append(dataList.indexOf(excelDTO) + 1).append("行存在空字段");
// errorMsg.append("第").append(dataList.indexOf(excelDTO) + 1).append("行存在空字段");
// }
// }
if
(
excelDTO
.
getAmount2
()
==
null
)
{
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行, 来佣金额不能为空"
);
}
if
(
"关联保单应收单"
.
equals
(
excelDTO
.
getCommissionBizType
()))
{
if
(
"关联保单应收单"
.
equals
(
excelDTO
.
getCommissionBizType
()))
{
if
(
StringUtils
.
isBlank
(
excelDTO
.
getPolicyNo
()))
{
if
(
StringUtils
.
isBlank
(
excelDTO
.
getPolicyNo
()))
{
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行关联保单应收单, 保单号不能为空"
);
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行关联保单应收单, 保单号不能为空"
);
}
}
if
(
excelDTO
.
getAmount2
()
==
null
)
{
if
(
ObjectUtils
.
isEmpty
(
excelDTO
.
getExchangeRate2
()))
{
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行关联保单应收单, 来佣金额不能为空"
);
}
if
(
StringUtils
.
isBlank
(
excelDTO
.
getExchangeRate2
()))
{
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行关联保单应收单, 结算汇率不能为空"
);
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行关联保单应收单, 结算汇率不能为空"
);
}
}
}
}
...
@@ -222,7 +223,7 @@ public class ApiCommissionController {
...
@@ -222,7 +223,7 @@ public class ApiCommissionController {
entities
.
add
(
entity
);
entities
.
add
(
entity
);
}
}
// 补充
完整字段
// 补充
关联字段、计算本次入账比例
commissionService
.
fillCommissionList
(
entities
);
commissionService
.
fillCommissionList
(
entities
);
return
entities
;
return
entities
;
...
@@ -282,7 +283,7 @@ public class ApiCommissionController {
...
@@ -282,7 +283,7 @@ public class ApiCommissionController {
* @param request
* @param request
* @return
* @return
*/
*/
@Operation
(
summary
=
"同步到预计来佣"
)
@Operation
(
summary
=
"同步到预计来佣
(比对状态自动为已比对成功)
"
)
@PostMapping
(
"/addToExpected"
)
@PostMapping
(
"/addToExpected"
)
public
Result
<
Boolean
>
addToExpected
(
@RequestBody
AddToExpectedCommissionRequest
addToExpectedCommissionRequest
,
HttpServletRequest
request
)
{
public
Result
<
Boolean
>
addToExpected
(
@RequestBody
AddToExpectedCommissionRequest
addToExpectedCommissionRequest
,
HttpServletRequest
request
)
{
if
(
StringUtils
.
isBlank
(
addToExpectedCommissionRequest
.
getCommissionBizId
()))
{
if
(
StringUtils
.
isBlank
(
addToExpectedCommissionRequest
.
getCommissionBizId
()))
{
...
...
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
View file @
9137b722
package
com
.
yd
.
csf
.
api
.
dto
;
package
com
.
yd
.
csf
.
api
.
dto
;
import
cn.hutool.core.convert.Convert
;
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
;
...
@@ -10,6 +11,7 @@ import lombok.Data;
...
@@ -10,6 +11,7 @@ import lombok.Data;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.Date
;
import
java.util.Date
;
@Data
@Data
...
@@ -72,7 +74,7 @@ public class CommissionExcelDTO {
...
@@ -72,7 +74,7 @@ public class CommissionExcelDTO {
private
String
commissionName2
;
private
String
commissionName2
;
@ExcelProperty
(
"结算汇率(实)"
)
@ExcelProperty
(
"结算汇率(实)"
)
private
String
exchangeRate2
;
private
BigDecimal
exchangeRate2
;
/**
/**
...
@@ -85,13 +87,14 @@ public class CommissionExcelDTO {
...
@@ -85,13 +87,14 @@ public class CommissionExcelDTO {
if
(
StringUtils
.
isNotBlank
(
commissionBizType
))
{
if
(
StringUtils
.
isNotBlank
(
commissionBizType
))
{
entity
.
setCommissionBizType
(
"R"
.
equals
(
commissionBizType
)
||
"关联保单应收单"
.
equalsIgnoreCase
(
commissionBizType
)
?
"R"
:
"U"
);
entity
.
setCommissionBizType
(
"R"
.
equals
(
commissionBizType
)
||
"关联保单应收单"
.
equalsIgnoreCase
(
commissionBizType
)
?
"R"
:
"U"
);
}
}
entity
.
setPolicyNo
(
data
.
getPolicyNo2
());
entity
.
setPolicyNo
(
"U"
.
equals
(
entity
.
getCommissionBizType
())
?
null
:
data
.
getPolicyNo2
());
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
(
CurrencyEnum
.
getEnumByItemLabel
(
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
.
setHkdAmount
(
data
.
getAmount2
().
multiply
(
data
.
getExchangeRate2
()));
entity
.
setRemark
(
data
.
getRemark
());
entity
.
setRemark
(
data
.
getRemark
());
entity
.
setStatus
(
null
);
entity
.
setStatus
(
null
);
entity
.
setCreatorId
(
loginUserId
);
entity
.
setCreatorId
(
loginUserId
);
...
@@ -117,7 +120,7 @@ public class CommissionExcelDTO {
...
@@ -117,7 +120,7 @@ public class CommissionExcelDTO {
entity
.
setCommissionName
(
data
.
getCommissionName
());
entity
.
setCommissionName
(
data
.
getCommissionName
());
entity
.
setAmount
(
data
.
getAmount
());
entity
.
setAmount
(
data
.
getAmount
());
entity
.
setCurrency
(
data
.
getCurrency
());
entity
.
setCurrency
(
data
.
getCurrency
());
entity
.
setExchangeRate
(
data
.
getExchangeRate
(
));
entity
.
setExchangeRate
(
Convert
.
toBigDecimal
(
data
.
getExchangeRate
()
));
entity
.
setCommissionDate
(
data
.
getCommissionDate
());
entity
.
setCommissionDate
(
data
.
getCommissionDate
());
entity
.
setRemark
(
data
.
getRemark
());
entity
.
setRemark
(
data
.
getRemark
());
entity
.
setStatus
(
null
);
entity
.
setStatus
(
null
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
View file @
9137b722
...
@@ -26,6 +26,7 @@ import java.math.RoundingMode;
...
@@ -26,6 +26,7 @@ import java.math.RoundingMode;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Service
@Service
...
@@ -38,14 +39,14 @@ public class CommissionAsyncService {
...
@@ -38,14 +39,14 @@ public class CommissionAsyncService {
@Resource
@Resource
private
CommissionCompareRecordService
commissionCompareRecordService
;
private
CommissionCompareRecordService
commissionCompareRecordService
;
// @Async("commonAsyncExecutor")
// @Async("commonAsyncExecutor")
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
commissionCompareBatch
(
List
<
Commission
>
entities
)
{
public
void
commissionCompareBatch
(
List
<
Commission
>
entities
)
{
// 根据是否
有
保单号,来区分比对方式
// 根据是否
关联
保单号,来区分比对方式
List
<
Commission
>
hasPolicyNoList
=
new
ArrayList
<>();
List
<
Commission
>
hasPolicyNoList
=
new
ArrayList
<>();
List
<
Commission
>
noPolicyNoList
=
new
ArrayList
<>();
List
<
Commission
>
noPolicyNoList
=
new
ArrayList
<>();
for
(
Commission
entity
:
entities
)
{
for
(
Commission
entity
:
entities
)
{
if
(
StringUtils
.
isBlank
(
entity
.
getPolicyNo
()))
{
if
(
"U"
.
equals
(
entity
.
getCommissionBizType
()))
{
noPolicyNoList
.
add
(
entity
);
noPolicyNoList
.
add
(
entity
);
}
else
{
}
else
{
hasPolicyNoList
.
add
(
entity
);
hasPolicyNoList
.
add
(
entity
);
...
@@ -61,6 +62,7 @@ public class CommissionAsyncService {
...
@@ -61,6 +62,7 @@ public class CommissionAsyncService {
/**
/**
* 无保单号的来佣比对
* 无保单号的来佣比对
*
* @param noPolicyNoList
* @param noPolicyNoList
*/
*/
private
void
noPolicyNoBatch
(
List
<
Commission
>
noPolicyNoList
)
{
private
void
noPolicyNoBatch
(
List
<
Commission
>
noPolicyNoList
)
{
...
@@ -68,6 +70,9 @@ public class CommissionAsyncService {
...
@@ -68,6 +70,9 @@ public class CommissionAsyncService {
List
<
String
>
receivableNoList
=
noPolicyNoList
.
stream
()
List
<
String
>
receivableNoList
=
noPolicyNoList
.
stream
()
.
map
(
Commission:
:
getReceivableNo
)
.
map
(
Commission:
:
getReceivableNo
)
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
receivableNoList
))
{
throw
new
BusinessException
(
ResultCode
.
FAIL
.
getCode
(),
"非关联保单号应收单,应收款编号不能为空"
);
}
// 2.根据应收款编号查询预计来佣
// 2.根据应收款编号查询预计来佣
List
<
CommissionExpected
>
expectedList
=
commissionExpectedService
.
lambdaQuery
()
List
<
CommissionExpected
>
expectedList
=
commissionExpectedService
.
lambdaQuery
()
.
in
(
CommissionExpected:
:
getReceivableNo
,
receivableNoList
)
.
in
(
CommissionExpected:
:
getReceivableNo
,
receivableNoList
)
...
@@ -132,35 +137,29 @@ public class CommissionAsyncService {
...
@@ -132,35 +137,29 @@ public class CommissionAsyncService {
}
}
private
void
normalBatch
(
List
<
Commission
>
entities
)
{
private
void
normalBatch
(
List
<
Commission
>
entities
)
{
// 1.
根据导入的来佣获取保单号
集合
// 1.
需要比对的预计来佣业务id
集合
List
<
String
>
policyNo
List
=
entities
.
stream
()
List
<
String
>
commissionExpectedBizId
List
=
entities
.
stream
()
.
map
(
Commission:
:
get
PolicyNo
)
.
map
(
Commission:
:
get
CommissionExpectedBizId
)
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
// 2.根据预计来佣业务id查询已存在的来佣记录
// 2.根据保单号查询已存在的来佣记录
List
<
Commission
>
existingCommissions
=
commissionService
.
lambdaQuery
()
List
<
Commission
>
existingCommissions
=
commissionService
.
lambdaQuery
()
.
in
(
Commission:
:
get
PolicyNo
,
policyNo
List
)
.
in
(
Commission:
:
get
CommissionExpectedBizId
,
commissionExpectedBizId
List
)
.
list
();
.
list
();
//
来佣根据 保单号、来佣名称、来佣周期、货币
进行分组
//
commission 根据关联的 commission_expected_biz_id
进行分组
Map
<
String
,
List
<
Commission
>>
commissionMap
=
existingCommissions
.
stream
()
Map
<
String
,
List
<
Commission
>>
commissionMap
=
existingCommissions
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
.
filter
(
commission
->
commission
.
getCommissionExpectedBizId
()
!=
null
)
c
->
c
.
getPolicyNo
()
+
c
.
getCommissionName
()
+
c
.
getCommissionPeriod
()
+
c
.
getCurrency
()
.
collect
(
Collectors
.
groupingBy
(
Commission:
:
getCommissionExpectedBizId
));
));
// 3.根据保单号查询预计来佣
// 3.根据保单号查询预计来佣
List
<
CommissionExpected
>
expectedList
=
commissionExpectedService
.
lambdaQuery
()
List
<
CommissionExpected
>
expectedList
=
commissionExpectedService
.
lambdaQuery
()
.
in
(
CommissionExpected:
:
get
PolicyNo
,
policyNo
List
)
.
in
(
CommissionExpected:
:
get
CommissionExpectedBizId
,
commissionExpectedBizId
List
)
.
list
();
.
list
();
// 预计来佣
根据 保单号、来佣名称、来佣周期、货币 进行
映射
// 预计来佣映射
Map
<
String
,
CommissionExpected
>
expectedMap
=
expectedList
.
stream
()
Map
<
String
,
CommissionExpected
>
expectedMap
=
expectedList
.
stream
()
.
collect
(
Collectors
.
toMap
(
.
collect
(
Collectors
.
toMap
(
CommissionExpected:
:
getCommissionExpectedBizId
,
Function
.
identity
()));
commissionExpected
->
commissionExpected
.
getPolicyNo
()
+
commissionExpected
.
getCommissionName
()
+
commissionExpected
.
getCommissionPeriod
()
+
commissionExpected
.
getCurrency
(),
commissionExpected
->
commissionExpected
));
// 4.遍历预计来佣,进行比对
// 4.遍历预计来佣,进行比对
for
(
Map
.
Entry
<
String
,
CommissionExpected
>
entry
:
expectedMap
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
CommissionExpected
>
entry
:
expectedMap
.
entrySet
())
{
// 根据 保单号、来佣名称、来佣周期、货币 分组
String
key
=
entry
.
getKey
();
String
key
=
entry
.
getKey
();
CommissionExpected
commissionExpected
=
entry
.
getValue
();
CommissionExpected
commissionExpected
=
entry
.
getValue
();
// 从已存在的来佣记录中获取当前来佣记录
// 从已存在的来佣记录中获取当前来佣记录
...
@@ -172,7 +171,7 @@ public class CommissionAsyncService {
...
@@ -172,7 +171,7 @@ public class CommissionAsyncService {
private
void
doCompareBatch
(
CommissionExpected
commissionExpected
,
List
<
Commission
>
existingCommissions
)
{
private
void
doCompareBatch
(
CommissionExpected
commissionExpected
,
List
<
Commission
>
existingCommissions
)
{
// 校验参数
// 校验参数
boolean
validFlag
=
false
;
boolean
validFlag
=
false
;
for
(
Commission
existingCommission
:
existingCommissions
)
{
for
(
Commission
existingCommission
:
existingCommissions
)
{
Integer
commissionTotalPeriod
=
existingCommission
.
getTotalPeriod
();
Integer
commissionTotalPeriod
=
existingCommission
.
getTotalPeriod
();
Integer
expectedTotalPeriod
=
commissionExpected
.
getTotalPeriod
();
Integer
expectedTotalPeriod
=
commissionExpected
.
getTotalPeriod
();
...
@@ -194,12 +193,7 @@ public class CommissionAsyncService {
...
@@ -194,12 +193,7 @@ public class CommissionAsyncService {
BigDecimal
paidRatio
=
BigDecimal
.
ZERO
;
BigDecimal
paidRatio
=
BigDecimal
.
ZERO
;
BigDecimal
paidAmount
=
BigDecimal
.
ZERO
;
BigDecimal
paidAmount
=
BigDecimal
.
ZERO
;
for
(
Commission
item
:
existingCommissions
)
{
for
(
Commission
item
:
existingCommissions
)
{
if
(
item
.
getCurrentCommissionRatio
()
==
null
)
{
paidRatio
=
paidRatio
.
add
(
item
.
getCurrentCommissionRatio
());
log
.
warn
(
"当前来佣比例为空,临时计算当前来佣比例: commission_id={}"
,
item
.
getId
());
paidRatio
=
paidRatio
.
add
(
item
.
calculateCurrentPaidRatio
());
}
else
{
paidRatio
=
paidRatio
.
add
(
item
.
getCurrentCommissionRatio
());
}
paidAmount
=
paidAmount
.
add
(
item
.
getHkdAmount
());
paidAmount
=
paidAmount
.
add
(
item
.
getHkdAmount
());
}
}
...
@@ -217,6 +211,8 @@ public class CommissionAsyncService {
...
@@ -217,6 +211,8 @@ public class CommissionAsyncService {
List
<
CommissionCompareRecord
>
compareRecords
=
new
ArrayList
<>();
List
<
CommissionCompareRecord
>
compareRecords
=
new
ArrayList
<>();
// 计算比对状态
// 计算比对状态
log
.
info
(
"paidRatio: {}, commissionExpected.getCommissionRatio(): {}"
,
paidRatio
,
commissionExpected
.
getCommissionRatio
());
log
.
info
(
"commissionExpected_id: {}"
,
commissionExpected
.
getId
());
if
(
paidRatio
.
compareTo
(
commissionExpected
.
getCommissionRatio
())
==
0
)
{
if
(
paidRatio
.
compareTo
(
commissionExpected
.
getCommissionRatio
())
==
0
)
{
// 等于预计比例时,所有来佣设置为比对成功
// 等于预计比例时,所有来佣设置为比对成功
for
(
Commission
existingCommission
:
existingCommissions
)
{
for
(
Commission
existingCommission
:
existingCommissions
)
{
...
@@ -263,10 +259,15 @@ public class CommissionAsyncService {
...
@@ -263,10 +259,15 @@ public class CommissionAsyncService {
public
void
commissionCompare
(
Commission
commission
)
{
public
void
commissionCompare
(
Commission
commission
)
{
log
.
info
(
"开始执行比对事务,来佣ID: {}"
,
commission
.
getCommissionBizId
());
log
.
info
(
"开始执行比对事务,来佣ID: {}"
,
commission
.
getCommissionBizId
());
if
(
StringUtils
.
isNotBlank
(
commission
.
getPolicyNo
()))
{
// 未查询到预计来佣,需要先同步到预计来佣表
if
(
CommissionStatusEnum
.
MATCH_FAILED
.
getItemValue
().
equals
(
commission
.
getStatus
()))
{
return
;
}
if
(
"R"
.
equals
(
commission
.
getCommissionBizType
()))
{
normalCommission
(
commission
.
getCommissionBizId
(),
commission
.
getPolicyNo
(),
commission
.
getCommissionName
(),
commission
.
getCommissionPeriod
(),
commission
.
getCurrency
(),
commission
.
getPremium
());
normalCommission
(
commission
.
getCommissionBizId
(),
commission
.
getPolicyNo
(),
commission
.
getCommissionName
(),
commission
.
getCommissionPeriod
(),
commission
.
getCurrency
(),
commission
.
getPremium
());
}
else
{
}
else
{
//
无保单号
,根据来佣名称、对账公司查询来佣记录
//
非关联保单号应收单
,根据来佣名称、对账公司查询来佣记录
noPolicyNoCommission
(
commission
);
noPolicyNoCommission
(
commission
);
}
}
}
}
...
@@ -281,6 +282,7 @@ public class CommissionAsyncService {
...
@@ -281,6 +282,7 @@ public class CommissionAsyncService {
// 1.根据来佣名称、对账公司查询预计来佣
// 1.根据来佣名称、对账公司查询预计来佣
QueryWrapper
<
CommissionExpected
>
queryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
CommissionExpected
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"reconciliation_company"
,
commission
.
getReconciliationCompany
());
queryWrapper
.
eq
(
"reconciliation_company"
,
commission
.
getReconciliationCompany
());
queryWrapper
.
eq
(
"commission_period"
,
commission
.
getCommissionPeriod
());
queryWrapper
.
eq
(
"commission_name"
,
commission
.
getCommissionName
());
queryWrapper
.
eq
(
"commission_name"
,
commission
.
getCommissionName
());
List
<
CommissionExpected
>
expectedList
=
commissionExpectedService
.
list
(
queryWrapper
);
List
<
CommissionExpected
>
expectedList
=
commissionExpectedService
.
list
(
queryWrapper
);
if
(
expectedList
.
size
()
!=
1
)
{
if
(
expectedList
.
size
()
!=
1
)
{
...
@@ -332,8 +334,7 @@ public class CommissionAsyncService {
...
@@ -332,8 +334,7 @@ public class CommissionAsyncService {
List
<
Commission
>
existingCommissions
=
commissionService
.
list
(
new
QueryWrapper
<
Commission
>()
List
<
Commission
>
existingCommissions
=
commissionService
.
list
(
new
QueryWrapper
<
Commission
>()
.
eq
(
"policy_no"
,
policyNo
)
.
eq
(
"policy_no"
,
policyNo
)
.
eq
(
"commission_name"
,
commissionName
)
.
eq
(
"commission_name"
,
commissionName
)
.
eq
(
"commission_period"
,
commissionPeriod
)
.
eq
(
"commission_period"
,
commissionPeriod
));
.
eq
(
"currency"
,
currency
));
// 当前 commission 记录
// 当前 commission 记录
Commission
commission
=
existingCommissions
.
stream
()
Commission
commission
=
existingCommissions
.
stream
()
...
@@ -345,12 +346,7 @@ public class CommissionAsyncService {
...
@@ -345,12 +346,7 @@ public class CommissionAsyncService {
}
}
// 查询对应预计来佣
// 查询对应预计来佣
CommissionExpected
commissionExpected
=
commissionService
.
queryByCommission
(
CommissionExpected
commissionExpected
=
commissionExpectedService
.
getByBizId
(
commission
.
getCommissionExpectedBizId
());
commission
.
getPolicyNo
(),
commission
.
getCommissionName
(),
commission
.
getCommissionPeriod
(),
commission
.
getCurrency
(),
premium
);
doCompare
(
existingCommissions
,
commissionExpected
,
commission
);
doCompare
(
existingCommissions
,
commissionExpected
,
commission
);
}
}
...
@@ -359,6 +355,7 @@ public class CommissionAsyncService {
...
@@ -359,6 +355,7 @@ public class CommissionAsyncService {
// 校验参数
// 校验参数
if
(
commission
.
getTotalPeriod
().
compareTo
(
commissionExpected
.
getTotalPeriod
())
!=
0
)
{
if
(
commission
.
getTotalPeriod
().
compareTo
(
commissionExpected
.
getTotalPeriod
())
!=
0
)
{
commission
.
setRemark
(
"来佣总期数与预计来佣总期数不一致"
);
commission
.
setRemark
(
"来佣总期数与预计来佣总期数不一致"
);
commission
.
setStatus
(
CommissionStatusEnum
.
COMPARE_FAIL
.
getItemValue
());
commissionService
.
updateById
(
commission
);
commissionService
.
updateById
(
commission
);
return
;
return
;
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionAddRequest.java
View file @
9137b722
...
@@ -78,7 +78,7 @@ public class CommissionAddRequest implements Serializable {
...
@@ -78,7 +78,7 @@ public class CommissionAddRequest implements Serializable {
* 结算汇率
* 结算汇率
*/
*/
@Schema
(
description
=
"结算汇率"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"结算汇率"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
exchangeRate
;
private
BigDecimal
exchangeRate
;
/**
/**
* 入账日(实)
* 入账日(实)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
View file @
9137b722
...
@@ -111,7 +111,7 @@ public class Commission implements Serializable {
...
@@ -111,7 +111,7 @@ public class Commission implements Serializable {
/**
/**
* 结算汇率
* 结算汇率
*/
*/
private
String
exchangeRate
;
private
BigDecimal
exchangeRate
;
/**
/**
* 来佣金额(港币)
* 来佣金额(港币)
...
@@ -129,7 +129,7 @@ public class Commission implements Serializable {
...
@@ -129,7 +129,7 @@ public class Commission implements Serializable {
private
Date
commissionDate
;
private
Date
commissionDate
;
/**
/**
* 来佣状态 0=未比对 1=比对成功 2=比对失败
* 来佣状态 0=未比对 1=比对成功 2=比对失败
3=未查询到预计来佣,需要先同步到预计来佣表
*/
*/
private
String
status
;
private
String
status
;
...
@@ -180,7 +180,7 @@ public class Commission implements Serializable {
...
@@ -180,7 +180,7 @@ public class Commission implements Serializable {
public
BigDecimal
calculateCurrentPaidRatio
()
{
public
BigDecimal
calculateCurrentPaidRatio
()
{
// 当前来佣比例=当前入账金额/结算汇率/保费 * 100
// 当前来佣比例=当前入账金额/结算汇率/保费 * 100
return
amount
.
divide
(
new
BigDecimal
(
premium
),
4
,
RoundingMode
.
HALF_UP
)
return
amount
.
divide
(
new
BigDecimal
(
premium
),
4
,
RoundingMode
.
HALF_UP
)
.
divide
(
new
BigDecimal
(
exchangeRate
)
,
4
,
RoundingMode
.
HALF_UP
)
.
divide
(
exchangeRate
,
4
,
RoundingMode
.
HALF_UP
)
.
multiply
(
new
BigDecimal
(
100
));
.
multiply
(
new
BigDecimal
(
100
));
}
}
}
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
View file @
9137b722
...
@@ -40,8 +40,6 @@ public interface CommissionService extends IService<Commission> {
...
@@ -40,8 +40,6 @@ public interface CommissionService extends IService<Commission> {
CommissionStatisticsVO
getCommissionStatistics
(
List
<
Long
>
commissionIds
);
CommissionStatisticsVO
getCommissionStatistics
(
List
<
Long
>
commissionIds
);
CommissionExpected
queryByCommission
(
String
policyNo
,
String
commissionName
,
Integer
commissionPeriod
,
String
currency
,
String
premium
);
void
validateCommissionUpdateRequest
(
CommissionUpdateRequest
commissionUpdateRequest
);
void
validateCommissionUpdateRequest
(
CommissionUpdateRequest
commissionUpdateRequest
);
void
saveUpdateCommissionRecord
(
Commission
commission
,
CommissionUpdateRequest
commissionUpdateRequest
,
AuthUserDto
currentLoginUser
);
void
saveUpdateCommissionRecord
(
Commission
commission
,
CommissionUpdateRequest
commissionUpdateRequest
,
AuthUserDto
currentLoginUser
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
9137b722
This diff is collapsed.
Click to expand it.
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
View file @
9137b722
...
@@ -125,7 +125,7 @@ public class CommissionVO implements Serializable {
...
@@ -125,7 +125,7 @@ public class CommissionVO implements Serializable {
* 当前结算汇率
* 当前结算汇率
*/
*/
@Schema
(
description
=
"当前结算汇率"
)
@Schema
(
description
=
"当前结算汇率"
)
private
String
exchangeRate
;
private
BigDecimal
exchangeRate
;
/**
/**
* 来佣金额
* 来佣金额
...
...
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