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
83159fe7
Commit
83159fe7
authored
Jan 08, 2026
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
前端对接问题修复83
parent
a85ad6ee
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
106 additions
and
43 deletions
+106
-43
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+99
-41
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
View file @
83159fe7
...
@@ -283,7 +283,7 @@ public class ApiCommissionController {
...
@@ -283,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-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
View file @
83159fe7
...
@@ -255,6 +255,11 @@ public class CommissionAsyncService {
...
@@ -255,6 +255,11 @@ public class CommissionAsyncService {
public
void
commissionCompare
(
Commission
commission
)
{
public
void
commissionCompare
(
Commission
commission
)
{
log
.
info
(
"开始执行比对事务,来佣ID: {}"
,
commission
.
getCommissionBizId
());
log
.
info
(
"开始执行比对事务,来佣ID: {}"
,
commission
.
getCommissionBizId
());
// 未查询到预计来佣,需要先同步到预计来佣表
if
(
CommissionStatusEnum
.
MATCH_FAILED
.
getItemValue
().
equals
(
commission
.
getStatus
()))
{
return
;
}
if
(
"R"
.
equals
(
commission
.
getCommissionBizType
()))
{
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
{
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
View file @
83159fe7
...
@@ -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
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
83159fe7
...
@@ -15,6 +15,7 @@ import com.yd.common.exception.BusinessException;
...
@@ -15,6 +15,7 @@ import com.yd.common.exception.BusinessException;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.service.component.CommissionAsyncService
;
import
com.yd.csf.service.component.CommissionAsyncService
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.enums.CommissionExpectedStatusEnum
;
import
com.yd.csf.service.enums.CommissionStatusEnum
;
import
com.yd.csf.service.enums.CommissionStatusEnum
;
import
com.yd.csf.service.enums.FortuneStatusEnum
;
import
com.yd.csf.service.enums.FortuneStatusEnum
;
import
com.yd.csf.service.model.*
;
import
com.yd.csf.service.model.*
;
...
@@ -234,6 +235,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -234,6 +235,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
CommissionExpected:
:
getTotalPeriod
,
CommissionExpected:
:
getTotalPeriod
,
CommissionExpected:
:
getCommissionName
,
CommissionExpected:
:
getCommissionName
,
CommissionExpected:
:
getCurrency
,
CommissionExpected:
:
getCurrency
,
CommissionExpected:
:
getReconciliationCompanyBizId
,
CommissionExpected:
:
getStatus
)
CommissionExpected:
:
getStatus
)
.
list
();
.
list
();
...
@@ -250,14 +252,13 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -250,14 +252,13 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission
.
setReconciliationCompanyBizId
(
policy
.
getReconciliationCompanyBizId
());
commission
.
setReconciliationCompanyBizId
(
policy
.
getReconciliationCompanyBizId
());
commission
.
setCurrentCommissionRatio
(
commission
.
calculateCurrentPaidRatio
());
commission
.
setCurrentCommissionRatio
(
commission
.
calculateCurrentPaidRatio
());
}
}
//
根据保单号、期数、入账名称、币种查询
预计来佣记录
//
匹配
预计来佣记录
CommissionExpected
expected
=
findExpectedFromList
(
commission
,
commissionExpectedList
);
CommissionExpected
expected
=
findExpectedFromList
(
commission
,
commissionExpectedList
);
if
(
expected
!=
null
)
{
if
(
expected
!=
null
)
{
commission
.
setCommissionExpectedBizId
(
expected
.
getCommissionExpectedBizId
());
commission
.
setCommissionExpectedBizId
(
expected
.
getCommissionExpectedBizId
());
commission
.
setReceivableNo
(
expected
.
getReceivableNo
());
commission
.
setTotalPeriod
(
expected
.
getTotalPeriod
());
commission
.
setTotalPeriod
(
expected
.
getTotalPeriod
());
}
else
{
}
else
{
log
.
warn
(
"导入入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}"
,
commission
.
getPolicyNo
(),
commission
.
getCommissionPeriod
(),
commission
.
getCommissionName
(),
commission
.
getCurrency
());
commission
.
setRemark
(
"未查询到预计来佣记录"
);
commission
.
setRemark
(
"未查询到预计来佣记录"
);
commission
.
setStatus
(
CommissionStatusEnum
.
MATCH_FAILED
.
getItemValue
());
commission
.
setStatus
(
CommissionStatusEnum
.
MATCH_FAILED
.
getItemValue
());
}
}
...
@@ -271,11 +272,21 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -271,11 +272,21 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
for
(
CommissionExpected
i
:
commissionExpectedList
)
{
for
(
CommissionExpected
i
:
commissionExpectedList
)
{
log
.
info
(
" expected: policyNo={}, commissionPeriod={}, commissionName={}, currency={}"
,
log
.
info
(
" expected: policyNo={}, commissionPeriod={}, commissionName={}, currency={}"
,
i
.
getPolicyNo
(),
i
.
getCommissionPeriod
(),
i
.
getCommissionName
(),
i
.
getCurrency
());
i
.
getPolicyNo
(),
i
.
getCommissionPeriod
(),
i
.
getCommissionName
(),
i
.
getCurrency
());
if
(
Objects
.
equals
(
i
.
getPolicyNo
(),
commission
.
getPolicyNo
())
if
(
"R"
.
equals
(
i
.
getCommissionBizType
()))
{
&&
Objects
.
equals
(
i
.
getCommissionPeriod
(),
commission
.
getCommissionPeriod
())
if
(
Objects
.
equals
(
i
.
getPolicyNo
(),
commission
.
getPolicyNo
())
&&
Objects
.
equals
(
i
.
getCommissionName
(),
commission
.
getCommissionName
())
&&
Objects
.
equals
(
i
.
getCommissionBizType
(),
commission
.
getCommissionBizType
())
&&
Objects
.
equals
(
i
.
getCurrency
(),
commission
.
getCurrency
()))
{
&&
Objects
.
equals
(
i
.
getCommissionPeriod
(),
commission
.
getCommissionPeriod
())
return
i
;
&&
Objects
.
equals
(
i
.
getCommissionName
(),
commission
.
getCommissionName
())
)
{
return
i
;
}
}
else
{
if
(
Objects
.
equals
(
i
.
getReconciliationCompanyBizId
(),
commission
.
getReconciliationCompanyBizId
())
&&
Objects
.
equals
(
i
.
getCommissionName
(),
commission
.
getCommissionName
())
&&
Objects
.
equals
(
i
.
getCommissionBizType
(),
commission
.
getCommissionBizType
())
)
{
return
i
;
}
}
}
}
}
return
null
;
return
null
;
...
@@ -310,14 +321,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -310,14 +321,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission
.
setPolicyNo
(
null
);
commission
.
setPolicyNo
(
null
);
}
}
// 重新关联预计来佣记录
// 重新关联预计来佣记录
CommissionExpected
commissionExpected
=
commissionExpectedService
.
lambdaQuery
()
getCommissionExpectedBizId
(
commission
);
.
eq
(
CommissionExpected:
:
getPolicyNo
,
commission
.
getPolicyNo
())
.
eq
(
CommissionExpected:
:
getCommissionPeriod
,
commission
.
getCommissionPeriod
())
.
eq
(
CommissionExpected:
:
getCommissionName
,
commission
.
getCommissionName
())
.
one
();
if
(
commissionExpected
!=
null
)
{
commission
.
setCommissionExpectedBizId
(
commissionExpected
.
getCommissionExpectedBizId
());
}
// 计算来佣金额(港币)
// 计算来佣金额(港币)
BigDecimal
hkdAmount
=
requestAmount
BigDecimal
hkdAmount
=
requestAmount
.
multiply
(
commissionUpdateRequest
.
getExchangeRate
());
.
multiply
(
commissionUpdateRequest
.
getExchangeRate
());
...
@@ -356,6 +360,32 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -356,6 +360,32 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
return
true
;
return
true
;
}
}
private
void
getCommissionExpectedBizId
(
Commission
commission
)
{
CommissionExpected
commissionExpected
=
null
;
if
(
"R"
.
equals
(
commission
.
getCommissionBizType
()))
{
commissionExpected
=
commissionExpectedService
.
lambdaQuery
()
.
eq
(
CommissionExpected:
:
getPolicyNo
,
commission
.
getPolicyNo
())
.
eq
(
CommissionExpected:
:
getCommissionBizType
,
commission
.
getCommissionBizType
())
.
eq
(
CommissionExpected:
:
getCommissionPeriod
,
commission
.
getCommissionPeriod
())
.
eq
(
CommissionExpected:
:
getCommissionName
,
commission
.
getCommissionName
())
.
one
();
}
else
{
// 从应收款管理查询到应收编号,如果没有应收编号,就需要同步到应收款管理
commissionExpected
=
commissionExpectedService
.
lambdaQuery
()
.
eq
(
CommissionExpected:
:
getCommissionBizType
,
commission
.
getCommissionBizType
())
.
eq
(
CommissionExpected:
:
getReconciliationCompanyBizId
,
commission
.
getReconciliationCompanyBizId
())
.
eq
(
CommissionExpected:
:
getCommissionName
,
commission
.
getCommissionName
())
.
one
();
}
if
(
commissionExpected
!=
null
)
{
commission
.
setCommissionExpectedBizId
(
commissionExpected
.
getCommissionExpectedBizId
());
commission
.
setReceivableNo
(
commissionExpected
.
getReceivableNo
());
}
else
{
commission
.
setStatus
(
CommissionStatusEnum
.
MATCH_FAILED
.
getItemValue
());
}
}
@Override
@Override
public
void
validateCommissionUpdateRequest
(
CommissionUpdateRequest
commissionUpdateRequest
)
{
public
void
validateCommissionUpdateRequest
(
CommissionUpdateRequest
commissionUpdateRequest
)
{
// 校验入参
// 校验入参
...
@@ -747,24 +777,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -747,24 +777,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission
.
setPolicyNo
(
null
);
commission
.
setPolicyNo
(
null
);
}
}
// 关联预计来佣信息
// 关联预计来佣信息
if
(
CollectionUtils
.
isNotEmpty
(
commissionExpectedList
))
{
getCommissionExpectedBizIdBatch
(
request
,
commissionExpectedList
,
commission
);
// 根据保单号、期数、入账名称、币种查询预计来佣记录
CommissionExpected
expected
=
commissionExpectedList
.
stream
()
.
filter
(
item
->
item
.
getPolicyNo
().
equals
(
request
.
getPolicyNo
())
&&
item
.
getCommissionPeriod
().
equals
(
request
.
getCommissionPeriod
())
&&
item
.
getCommissionName
().
equals
(
request
.
getCommissionName
()))
.
findFirst
()
.
orElse
(
null
);
if
(
expected
!=
null
)
{
commission
.
setCommissionExpectedBizId
(
expected
.
getCommissionExpectedBizId
());
commission
.
setTotalPeriod
(
expected
.
getTotalPeriod
());
}
else
{
log
.
warn
(
"新增入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}"
,
request
.
getPolicyNo
(),
request
.
getCommissionPeriod
(),
request
.
getCommissionName
(),
request
.
getCurrency
());
commission
.
setRemark
(
"未查询到预计来佣记录"
);
commission
.
setStatus
(
CommissionStatusEnum
.
MATCH_FAILED
.
getItemValue
());
}
}
commissionList
.
add
(
commission
);
commissionList
.
add
(
commission
);
}
}
// 提交事务,保存数据
// 提交事务,保存数据
...
@@ -788,6 +802,37 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -788,6 +802,37 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
return
commissionList
;
return
commissionList
;
}
}
private
static
void
getCommissionExpectedBizIdBatch
(
CommissionAddRequest
request
,
List
<
CommissionExpected
>
commissionExpectedList
,
Commission
commission
)
{
if
(
CollectionUtils
.
isNotEmpty
(
commissionExpectedList
))
{
CommissionExpected
expected
;
if
(
"R"
.
equals
(
request
.
getCommissionBizType
()))
{
// 根据保单号、期数、入账名称,查询预计来佣记录
expected
=
commissionExpectedList
.
stream
()
.
filter
(
item
->
item
.
getPolicyNo
().
equals
(
request
.
getPolicyNo
())
&&
item
.
getCommissionBizType
().
equals
(
request
.
getCommissionBizType
())
&&
item
.
getCommissionPeriod
().
equals
(
request
.
getCommissionPeriod
())
&&
item
.
getCommissionName
().
equals
(
request
.
getCommissionName
()))
.
findFirst
()
.
orElse
(
null
);
}
else
{
expected
=
commissionExpectedList
.
stream
()
.
filter
(
item
->
item
.
getReconciliationCompanyBizId
().
equals
(
request
.
getReconciliationCompanyBizId
())
&&
item
.
getCommissionName
().
equals
(
request
.
getCommissionName
())
&&
item
.
getCommissionBizType
().
equals
(
request
.
getCommissionBizType
()))
.
findFirst
()
.
orElse
(
null
);
}
if
(
expected
!=
null
)
{
commission
.
setCommissionExpectedBizId
(
expected
.
getCommissionExpectedBizId
());
commission
.
setReceivableNo
(
expected
.
getReceivableNo
());
commission
.
setTotalPeriod
(
expected
.
getTotalPeriod
());
}
else
{
commission
.
setRemark
(
"未查询到预计来佣记录"
);
commission
.
setStatus
(
CommissionStatusEnum
.
MATCH_FAILED
.
getItemValue
());
}
}
}
private
void
validateAddCommissionBatch
(
List
<
CommissionAddRequest
>
customerAddRequestList
)
{
private
void
validateAddCommissionBatch
(
List
<
CommissionAddRequest
>
customerAddRequestList
)
{
for
(
CommissionAddRequest
request
:
customerAddRequestList
)
{
for
(
CommissionAddRequest
request
:
customerAddRequestList
)
{
// 校验数据
// 校验数据
...
@@ -815,6 +860,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -815,6 +860,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
}
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
addToExpected
(
AddToExpectedCommissionRequest
addToExpectedCommissionRequest
)
{
public
Boolean
addToExpected
(
AddToExpectedCommissionRequest
addToExpectedCommissionRequest
)
{
if
(
StringUtils
.
isBlank
(
addToExpectedCommissionRequest
.
getCommissionBizId
()))
{
if
(
StringUtils
.
isBlank
(
addToExpectedCommissionRequest
.
getCommissionBizId
()))
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"来佣业务id不能为空"
);
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"来佣业务id不能为空"
);
...
@@ -824,7 +870,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -824,7 +870,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"来佣记录不存在"
);
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"来佣记录不存在"
);
}
}
if
(
commission
.
getCommissionExpectedBizId
()
!=
null
)
{
CommissionExpected
commissionExpected
=
commissionExpectedService
.
getByBizId
(
commission
.
getCommissionExpectedBizId
());
if
(
commissionExpected
!=
null
)
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"预计来佣已存在"
);
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"预计来佣已存在"
);
}
}
...
@@ -833,21 +880,32 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -833,21 +880,32 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
CommissionExpected
expected
=
new
CommissionExpected
();
CommissionExpected
expected
=
new
CommissionExpected
();
BeanUtils
.
copyProperties
(
commission
,
expected
);
BeanUtils
.
copyProperties
(
commission
,
expected
,
"id"
);
expected
.
setCommissionExpectedBizId
(
RandomStringGenerator
.
generateBizId16
(
"commission_expected"
));
expected
.
setCommissionExpectedBizId
(
RandomStringGenerator
.
generateBizId16
(
"commission_expected"
));
// 设置预计入账金额、已来佣金额、待入账金额
// 设置预计入账金额、已来佣金额、待入账金额
expected
.
setExpectedAmount
(
commission
.
getAmount
());
expected
.
setExpectedAmount
(
commission
.
get
Hkd
Amount
());
expected
.
setPaidAmount
(
BigDecimal
.
ZERO
);
expected
.
setPaidAmount
(
commission
.
getHkdAmount
()
);
expected
.
setPaidRatio
(
BigDecimal
.
valueOf
(
100
)
);
expected
.
setPaidRatio
(
null
);
expected
.
setDefaultExchangeRate
(
commission
.
getExchangeRate
());
expected
.
setDefaultExchangeRate
(
commission
.
getExchangeRate
());
expected
.
setCommissionDate
(
new
Date
());
expected
.
setCommissionDate
(
commission
.
getCommissionDate
());
expected
.
setStatus
(
CommissionExpectedStatusEnum
.
COMPARED
.
getItemValue
());
expected
.
setStatusDesc
(
"比对成功,通过手动同步预计来佣"
);
// 设置状态描述为比对成功
expected
.
setCreatorId
(
loginUserId
);
expected
.
setCreatorId
(
loginUserId
);
expected
.
setCreateTime
(
new
Date
());
expected
.
setCreateTime
(
new
Date
());
expected
.
setUpdaterId
(
loginUserId
);
expected
.
setUpdaterId
(
loginUserId
);
expected
.
setUpdateTime
(
new
Date
());
expected
.
setUpdateTime
(
new
Date
());
// 保存预计来佣记录
commissionExpectedService
.
save
(
expected
);
return
commissionExpectedService
.
save
(
expected
);
// 更新来佣记录
this
.
lambdaUpdate
()
.
set
(
Commission:
:
getCommissionExpectedBizId
,
expected
.
getCommissionExpectedBizId
())
.
set
(
Commission:
:
getStatus
,
CommissionStatusEnum
.
COMPARE_SUCCESS
.
getItemValue
())
.
eq
(
Commission:
:
getId
,
commission
.
getId
())
.
update
();
return
true
;
}
}
@Override
@Override
...
...
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