Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fangxinjiang
yifu-mvp
Commits
523ffe01
Commit
523ffe01
authored
Feb 20, 2023
by
hongguangwu
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/MVP1.5.1' into MVP1.5.1
parents
724c1d6e
9b58c4ca
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
142 additions
and
67 deletions
+142
-67
TInsuranceDetailController.java
...ifu/insurances/controller/TInsuranceDetailController.java
+1
-0
TInsuranceDetailServiceImpl.java
...s/service/insurance/impl/TInsuranceDetailServiceImpl.java
+65
-50
DoJointInsuranceTask.java
...ud/plus/v1/yifu/insurances/util/DoJointInsuranceTask.java
+76
-17
No files found.
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/controller/TInsuranceDetailController.java
View file @
523ffe01
...
@@ -17,6 +17,7 @@ import com.yifu.cloud.plus.v1.yifu.social.vo.ChangeDeptVo;
...
@@ -17,6 +17,7 @@ import com.yifu.cloud.plus.v1.yifu.social.vo.ChangeDeptVo;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.commons.lang3.RandomStringUtils
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
...
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/impl/TInsuranceDetailServiceImpl.java
View file @
523ffe01
...
@@ -42,6 +42,7 @@ import com.yifu.cloud.plus.v1.yifu.social.vo.TIncomeDetailReturnVo;
...
@@ -42,6 +42,7 @@ import com.yifu.cloud.plus.v1.yifu.social.vo.TIncomeDetailReturnVo;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.RandomStringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.context.annotation.Lazy
;
...
@@ -1157,6 +1158,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1157,6 +1158,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
// 被替换的id
// 被替换的id
List
<
String
>
replaceIdList
=
new
ArrayList
<>();
List
<
String
>
replaceIdList
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
detailList
)){
if
(
CollectionUtils
.
isNotEmpty
(
detailList
)){
TInsuranceReplace
one
;
TInsuranceDetail
byId
;
for
(
TInsuranceDetail
detail
:
detailList
)
{
for
(
TInsuranceDetail
detail
:
detailList
)
{
if
(
detail
.
getBuyHandleStatus
()
==
CommonConstants
.
FOUR_INT
if
(
detail
.
getBuyHandleStatus
()
==
CommonConstants
.
FOUR_INT
||
detail
.
getBuyHandleStatus
()
==
CommonConstants
.
FIVE_INT
){
||
detail
.
getBuyHandleStatus
()
==
CommonConstants
.
FIVE_INT
){
...
@@ -1178,14 +1181,14 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1178,14 +1181,14 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if
(
detail
.
getBuyType
()
==
CommonConstants
.
FOUR_INT
){
if
(
detail
.
getBuyType
()
==
CommonConstants
.
FOUR_INT
){
//替换者有效状态为空
//替换者有效状态为空
detail
.
setIsEffect
(
null
);
detail
.
setIsEffect
(
null
);
TInsuranceReplace
one
=
tInsuranceReplaceService
.
getOne
(
Wrappers
.<
TInsuranceReplace
>
query
().
lambda
()
one
=
tInsuranceReplaceService
.
getOne
(
Wrappers
.<
TInsuranceReplace
>
query
().
lambda
()
.
eq
(
TInsuranceReplace:
:
getToInsuranceDetailId
,
detail
.
getId
())
.
eq
(
TInsuranceReplace:
:
getToInsuranceDetailId
,
detail
.
getId
())
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
Optional
.
ofNullable
(
one
).
isPresent
()){
if
(
Optional
.
ofNullable
(
one
).
isPresent
()){
//替换记录变为失败
//替换记录变为失败
one
.
setReplaceStatus
(
CommonConstants
.
ZERO_INT
);
one
.
setReplaceStatus
(
CommonConstants
.
ZERO_INT
);
tInsuranceReplaceService
.
updateById
(
one
);
tInsuranceReplaceService
.
updateById
(
one
);
TInsuranceDetail
byId
=
this
.
getById
(
one
.
getFromInsuranceDetailId
());
byId
=
this
.
getById
(
one
.
getFromInsuranceDetailId
());
if
(
Optional
.
ofNullable
(
byId
).
isPresent
()){
if
(
Optional
.
ofNullable
(
byId
).
isPresent
()){
//被替换者激活
//被替换者激活
byId
.
setIsEffect
(
CommonConstants
.
ZERO_INT
);
byId
.
setIsEffect
(
CommonConstants
.
ZERO_INT
);
...
@@ -1214,9 +1217,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1214,9 +1217,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
successList
)){
if
(
CollectionUtils
.
isNotEmpty
(
successList
)){
TInsuranceSettle
settle
;
SettleVo
settleVo
;
for
(
TInsuranceDetail
detail
:
successList
)
{
for
(
TInsuranceDetail
detail
:
successList
)
{
if
(
StringUtils
.
isNotBlank
(
detail
.
getDefaultSettleId
())){
if
(
StringUtils
.
isNotBlank
(
detail
.
getDefaultSettleId
())){
TInsuranceSettle
settle
=
tInsuranceSettleService
.
getById
(
detail
.
getDefaultSettleId
());
settle
=
tInsuranceSettleService
.
getById
(
detail
.
getDefaultSettleId
());
if
(
Optional
.
ofNullable
(
settle
).
isPresent
()){
if
(
Optional
.
ofNullable
(
settle
).
isPresent
()){
TInsuranceSettle
burden
=
new
TInsuranceSettle
();
TInsuranceSettle
burden
=
new
TInsuranceSettle
();
BeanCopyUtils
.
copyProperties
(
settle
,
burden
);
BeanCopyUtils
.
copyProperties
(
settle
,
burden
);
...
@@ -1234,7 +1239,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1234,7 +1239,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail
.
setEstimatePremium
(
new
BigDecimal
(
"0.00"
));
detail
.
setEstimatePremium
(
new
BigDecimal
(
"0.00"
));
}
}
tInsuranceSettleService
.
save
(
burden
);
tInsuranceSettleService
.
save
(
burden
);
SettleVo
settleVo
=
getInsuranceDetailSettleStatus
(
detail
.
getId
(),
detail
.
getDefaultSettleId
());
settleVo
=
getInsuranceDetailSettleStatus
(
detail
.
getId
(),
detail
.
getDefaultSettleId
());
if
(!
Common
.
isEmpty
(
settleVo
)
){
if
(!
Common
.
isEmpty
(
settleVo
)
){
//预估推送标识
//预估推送标识
Integer
isEstimatePush
=
settle
.
getIsEstimatePush
();
Integer
isEstimatePush
=
settle
.
getIsEstimatePush
();
...
@@ -1255,9 +1260,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1255,9 +1260,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail
.
setDefaultSettleId
(
burden
.
getId
());
detail
.
setDefaultSettleId
(
burden
.
getId
());
pushResult
=
pushEstimate
(
detail
,
CommonConstants
.
THREE_INT
);
pushResult
=
pushEstimate
(
detail
,
CommonConstants
.
THREE_INT
);
}
}
}
//预估已推送,实缴已推送
//预估已推送,实缴已推送
if
(
isEstimatePush
==
CommonConstants
.
ONE_INT
&&
isActualPush
==
CommonConstants
.
ONE_INT
){
}
else
if
(
isEstimatePush
==
CommonConstants
.
ONE_INT
&&
isActualPush
==
CommonConstants
.
ONE_INT
){
//预估未结算,实缴未结算推送作废
//预估未结算,实缴未结算推送作废
if
(
InsurancesConstants
.
SETTLE_ZERO
.
equals
(
estimateStatus
)
&&
InsurancesConstants
.
SETTLE_ZERO
.
equals
(
actualStatus
)){
if
(
InsurancesConstants
.
SETTLE_ZERO
.
equals
(
estimateStatus
)
&&
InsurancesConstants
.
SETTLE_ZERO
.
equals
(
actualStatus
)){
pushResult
=
pushEstimate
(
detail
,
CommonConstants
.
FIVE_INT
);
pushResult
=
pushEstimate
(
detail
,
CommonConstants
.
FIVE_INT
);
...
@@ -1266,9 +1270,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1266,9 +1270,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail
.
setDefaultSettleId
(
burden
.
getId
());
detail
.
setDefaultSettleId
(
burden
.
getId
());
pushResult
=
pushEstimate
(
detail
,
CommonConstants
.
SIX_INT
);
pushResult
=
pushEstimate
(
detail
,
CommonConstants
.
SIX_INT
);
}
}
}
//预估未推送,实缴已推送
//预估未推送,实缴已推送
if
(
isEstimatePush
==
CommonConstants
.
ZERO_INT
&&
isActualPush
==
CommonConstants
.
ONE_INT
){
}
else
if
(
isEstimatePush
==
CommonConstants
.
ZERO_INT
&&
isActualPush
==
CommonConstants
.
ONE_INT
){
//实缴未结算推送作废
//实缴未结算推送作废
if
(
InsurancesConstants
.
SETTLE_ZERO
.
equals
(
actualStatus
)){
if
(
InsurancesConstants
.
SETTLE_ZERO
.
equals
(
actualStatus
)){
pushResult
=
pushEstimate
(
detail
,
CommonConstants
.
FIVE_INT
);
pushResult
=
pushEstimate
(
detail
,
CommonConstants
.
FIVE_INT
);
...
@@ -1299,7 +1302,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1299,7 +1302,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
});
});
}
}
//更新状态
//更新状态
this
.
saveOrUpdateBatch
(
successList
);
this
.
updateBatchById
(
successList
);
// 处理档案状态
// 处理档案状态
if
(
CollectionUtils
.
isNotEmpty
(
successList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
successList
))
{
...
@@ -1374,7 +1377,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1374,7 +1377,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
@Override
@Override
@Transactional
(
value
=
"insurancesTransactionManager"
,
rollbackFor
=
{
Exception
.
class
})
@Transactional
(
value
=
"insurancesTransactionManager"
,
rollbackFor
=
{
Exception
.
class
})
public
R
<
List
<
InsuranceListVO
>>
successfulInsurance
(
YifuUser
user
,
List
<
InsuranceHandleParam
>
paramList
)
{
public
R
<
List
<
InsuranceListVO
>>
successfulInsurance
(
YifuUser
user
,
List
<
InsuranceHandleParam
>
paramList
)
{
ThreadPoolExecutor
threadPool
=
new
ThreadPoolExecutor
(
50
,
50
,
100
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(
10
));
//解析参数里的商险id
//解析参数里的商险id
List
<
String
>
idList
=
paramList
.
stream
().
map
(
InsuranceHandleParam:
:
getId
).
distinct
().
collect
(
Collectors
.
toList
());
List
<
String
>
idList
=
paramList
.
stream
().
map
(
InsuranceHandleParam:
:
getId
).
distinct
().
collect
(
Collectors
.
toList
());
//操作日志对象
//操作日志对象
...
@@ -1385,14 +1387,21 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1385,14 +1387,21 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
List
<
InsuranceListVO
>
errorList
=
new
ArrayList
<>();
List
<
InsuranceListVO
>
errorList
=
new
ArrayList
<>();
//后端处理的数据
//后端处理的数据
List
<
TInsuranceDetail
>
successList
=
new
ArrayList
<>();
List
<
TInsuranceDetail
>
successList
=
new
ArrayList
<>();
List
<
TInsuranceDetail
>
successOne
=
new
ArrayList
<>();
List
<
TInsuranceDetail
>
successTwo
=
new
ArrayList
<>();
//被替换人标记被替换成功
//被替换人标记被替换成功
List
<
TInsuranceDetail
>
sourceList
=
new
ArrayList
<>();
List
<
TInsuranceDetail
>
sourceList
=
new
ArrayList
<>();
//被替换人的档案要处理状态
//被替换人的档案要处理状态
List
<
String
>
sourceIdCardList
=
new
ArrayList
<>();
List
<
String
>
sourceIdCardList
=
new
ArrayList
<>();
// 被替换的id
// 被替换的id
List
<
String
>
replaceIdList
=
new
ArrayList
<>();
List
<
String
>
replaceIdList
=
new
ArrayList
<>();
List
<
TInsuranceSettle
>
settleList
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
detailList
)){
if
(
CollectionUtils
.
isNotEmpty
(
detailList
)){
TInsuranceReplace
one
;
TInsuranceReplace
one
;
//项目信息
Map
<
String
,
TSettleDomainSelectVo
>
mapSelectVo
=
this
.
getSelectVoMap
();
TSettleDomain
settleDomain
;
TInsuranceDetail
byId
;
for
(
TInsuranceDetail
detail
:
detailList
)
{
for
(
TInsuranceDetail
detail
:
detailList
)
{
//先判断投保状态是不是投保中,如果不是不给标记办理成功,防止重复推数据
//先判断投保状态是不是投保中,如果不是不给标记办理成功,防止重复推数据
if
(
detail
.
getBuyHandleStatus
()
!=
CommonConstants
.
TWO_INT
){
if
(
detail
.
getBuyHandleStatus
()
!=
CommonConstants
.
TWO_INT
){
...
@@ -1415,14 +1424,14 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1415,14 +1424,14 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail
.
setUpdateBy
(
user
.
getId
());
detail
.
setUpdateBy
(
user
.
getId
());
//替换类型,保单生效日期:T + 1
//替换类型,保单生效日期:T + 1
detail
.
setPolicyEffect
(
LocalDate
.
now
().
plusDays
(
CommonConstants
.
ONE_INT
));
detail
.
setPolicyEffect
(
LocalDate
.
now
().
plusDays
(
CommonConstants
.
ONE_INT
));
success
List
.
add
(
detail
);
success
One
.
add
(
detail
);
//查找被替换人信息
//查找被替换人信息
one
=
tInsuranceReplaceService
.
getOne
(
Wrappers
.<
TInsuranceReplace
>
query
().
lambda
()
one
=
tInsuranceReplaceService
.
getOne
(
Wrappers
.<
TInsuranceReplace
>
query
().
lambda
()
.
eq
(
TInsuranceReplace:
:
getToInsuranceDetailId
,
detail
.
getId
())
.
eq
(
TInsuranceReplace:
:
getToInsuranceDetailId
,
detail
.
getId
())
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
Optional
.
ofNullable
(
one
).
isPresent
())
{
if
(
Optional
.
ofNullable
(
one
).
isPresent
())
{
TInsuranceDetail
byId
=
this
.
getById
(
one
.
getFromInsuranceDetailId
());
byId
=
this
.
getById
(
one
.
getFromInsuranceDetailId
());
if
(
Optional
.
ofNullable
(
byId
).
isPresent
())
{
if
(
Optional
.
ofNullable
(
byId
).
isPresent
())
{
sourceList
.
add
(
byId
);
sourceList
.
add
(
byId
);
replaceIdList
.
add
(
byId
.
getId
());
replaceIdList
.
add
(
byId
.
getId
());
...
@@ -1430,6 +1439,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1430,6 +1439,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
}
}
}
}
else
{
}
else
{
//获取项目信息
if
(
null
!=
mapSelectVo
)
{
settleDomain
=
mapSelectVo
.
get
(
detail
.
getDeptNo
());
}
else
{
settleDomain
=
null
;
}
//根据结算类型判断是否需要计算预估保费
//根据结算类型判断是否需要计算预估保费
//预估
//预估
if
(
detail
.
getSettleType
()
==
CommonConstants
.
ZERO_INT
){
if
(
detail
.
getSettleType
()
==
CommonConstants
.
ZERO_INT
){
...
@@ -1449,21 +1464,24 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1449,21 +1464,24 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail
.
setIsOverdue
(
CommonConstants
.
ZERO_INT
);
detail
.
setIsOverdue
(
CommonConstants
.
ZERO_INT
);
detail
.
setIsUse
(
CommonConstants
.
ZERO_INT
);
detail
.
setIsUse
(
CommonConstants
.
ZERO_INT
);
detail
.
setUpdateTime
(
LocalDateTime
.
now
());
detail
.
setUpdateTime
(
LocalDateTime
.
now
());
detail
.
setUpdateBy
(
user
.
getId
());
//保费存储
//保费存储
TInsuranceSettle
settle
=
new
TInsuranceSettle
();
TInsuranceSettle
settle
=
new
TInsuranceSettle
();
settle
.
setInsDetailId
(
detail
.
getId
());
settle
.
setInsDetailId
(
detail
.
getId
());
settle
.
setSettleType
(
detail
.
getSettleType
());
settle
.
setSettleType
(
detail
.
getSettleType
());
settle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
settle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
settle
.
setCreateTime
(
LocalDateTime
.
now
());
settle
.
setCreateTime
(
LocalDateTime
.
now
());
settle
.
setEstimatePushTime
(
LocalDateTime
.
now
());
settle
.
setEstimatePremium
(
estimatePremium
);
settle
.
setEstimatePremium
(
estimatePremium
);
//调完ekp接口才会是1
//调完ekp接口才会是1
settle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
settle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
tInsuranceSettleService
.
save
(
settle
);
String
settleId
=
RandomStringUtils
.
randomNumeric
(
19
);
detail
.
setDefaultSettleId
(
settle
.
getId
());
settle
.
setId
(
settleId
);
successList
.
add
(
detail
);
settleList
.
add
(
settle
);
detail
.
setDefaultSettleId
(
settleId
);
successTwo
.
add
(
detail
);
//生成收入数据
//生成收入数据
createInsuranceInfo
(
detail
,
null
);
createInsuranceInfo
(
detail
,
settleDomain
);
}
else
{
}
else
{
//按天
//按天
//计算起止时间的天数
//计算起止时间的天数
...
@@ -1483,7 +1501,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1483,7 +1501,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail
.
setIsOverdue
(
CommonConstants
.
ZERO_INT
);
detail
.
setIsOverdue
(
CommonConstants
.
ZERO_INT
);
detail
.
setIsUse
(
CommonConstants
.
ZERO_INT
);
detail
.
setIsUse
(
CommonConstants
.
ZERO_INT
);
detail
.
setUpdateTime
(
LocalDateTime
.
now
());
detail
.
setUpdateTime
(
LocalDateTime
.
now
());
detail
.
setUpdateBy
(
user
.
getId
());
//保费存储
//保费存储
TInsuranceSettle
settle
=
new
TInsuranceSettle
();
TInsuranceSettle
settle
=
new
TInsuranceSettle
();
settle
.
setInsDetailId
(
detail
.
getId
());
settle
.
setInsDetailId
(
detail
.
getId
());
...
@@ -1494,11 +1512,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1494,11 +1512,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
settle
.
setIsEstimatePush
(
CommonConstants
.
ONE_INT
);
settle
.
setIsEstimatePush
(
CommonConstants
.
ONE_INT
);
settle
.
setEstimatePushTime
(
LocalDateTime
.
now
());
settle
.
setEstimatePushTime
(
LocalDateTime
.
now
());
settle
.
setCreateTime
(
LocalDateTime
.
now
());
settle
.
setCreateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
save
(
settle
);
String
settleId
=
RandomStringUtils
.
randomNumeric
(
19
);
detail
.
setDefaultSettleId
(
settle
.
getId
());
settle
.
setId
(
settleId
);
successList
.
add
(
detail
);
settleList
.
add
(
settle
);
detail
.
setDefaultSettleId
(
settleId
);
successTwo
.
add
(
detail
);
//生成收入数据
//生成收入数据
createInsuranceInfo
(
detail
,
null
);
createInsuranceInfo
(
detail
,
settleDomain
);
}
}
}
}
//实缴
//实缴
...
@@ -1514,40 +1534,35 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1514,40 +1534,35 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail
.
setIsOverdue
(
CommonConstants
.
ZERO_INT
);
detail
.
setIsOverdue
(
CommonConstants
.
ZERO_INT
);
detail
.
setIsUse
(
CommonConstants
.
ZERO_INT
);
detail
.
setIsUse
(
CommonConstants
.
ZERO_INT
);
detail
.
setUpdateTime
(
LocalDateTime
.
now
());
detail
.
setUpdateTime
(
LocalDateTime
.
now
());
successList
.
add
(
detail
);
detail
.
setUpdateBy
(
user
.
getId
());
successOne
.
add
(
detail
);
}
}
}
}
}
}
}
}
}
}
updateBatchById
(
successList
);
//分开操作保证批量更新
updateBatchById
(
successOne
);
updateBatchById
(
successTwo
);
successList
.
addAll
(
successOne
);
successList
.
addAll
(
successTwo
);
successOne
.
clear
();
successTwo
.
clear
();
//插入结算数据
if
(!
settleList
.
isEmpty
())
{
tInsuranceSettleService
.
saveBatch
(
settleList
);
settleList
.
clear
();
}
// 被替换的老商险,要处理档案状态
// 被替换的老商险,要处理档案状态
if
(
CollectionUtils
.
isNotEmpty
(
sourceIdCardList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
sourceIdCardList
))
{
this
.
doFailInfo
(
sourceList
,
sourceIdCardList
,
replaceIdList
,
CommonConstants
.
THREE_STRING
);
this
.
doFailInfo
(
sourceList
,
sourceIdCardList
,
replaceIdList
,
CommonConstants
.
THREE_STRING
);
}
}
if
(
CollectionUtils
.
isNotEmpty
(
successList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
successList
))
{
//
同步
操作档案的 商险状态为:2正常(0无2正常3失效4处理中)
//
异步任务
操作档案的 商险状态为:2正常(0无2正常3失效4处理中)
this
.
updateEmpInfp
(
successList
,
CommonConstants
.
TWO_STRING
);
doJointInsuranceTask
.
updateEmpInfp
(
successList
,
CommonConstants
.
TWO_STRING
);
threadPool
.
execute
(()
->
{
//异步任务推送
//根据结算类型是合并结算,推送预估保费到ekp(上面已经算好,这里直接判断有预估保费的就推送)
doJointInsuranceTask
.
pushEstime
(
successList
);
for
(
TInsuranceDetail
tInsuranceDetail
:
successList
)
{
Integer
settleType
=
tInsuranceDetail
.
getSettleType
();
//如果是合并计算则推送至EKP
if
(
CommonConstants
.
ZERO_INT
==
settleType
){
//存储成功后发送给EKP
String
s
=
pushEstimate
(
tInsuranceDetail
,
CommonConstants
.
ONE_INT
);
if
(
StringUtils
.
isNotBlank
(
s
)){
LambdaUpdateWrapper
<
TInsuranceSettle
>
settleWrapper
=
new
LambdaUpdateWrapper
<>();
settleWrapper
.
eq
(
TInsuranceSettle
::
getId
,
tInsuranceDetail
.
getDefaultSettleId
())
.
set
(
TInsuranceSettle
::
getIsEstimatePush
,
CommonConstants
.
ONE_INT
)
.
set
(
TInsuranceSettle
::
getEstimatePushTime
,
LocalDateTime
.
now
());
//更新结算信息表
tInsuranceSettleService
.
update
(
settleWrapper
);
}
}
}
});
}
}
//操作记录
//操作记录
if
(
CollectionUtils
.
isNotEmpty
(
successList
)){
if
(
CollectionUtils
.
isNotEmpty
(
successList
)){
...
@@ -1629,8 +1644,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1629,8 +1644,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
archivesDaprUtil
.
updateEmployeeInfoInsuranceStatus
(
empStatusVo
);
archivesDaprUtil
.
updateEmployeeInfoInsuranceStatus
(
empStatusVo
);
}
}
}
else
{
}
else
{
//
同步
操作档案的 商险状态为:3失效(0无2正常3失效4处理中)
//
异步任务
操作档案的 商险状态为:3失效(0无2正常3失效4处理中)
this
.
updateEmpInfp
(
sourceList
,
toStatus
);
doJointInsuranceTask
.
updateEmpInfp
(
sourceList
,
toStatus
);
}
}
}
}
...
@@ -1802,6 +1817,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1802,6 +1817,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
policy
.
setPolicyEnd
(
detail
.
getPolicyEnd
());
policy
.
setPolicyEnd
(
detail
.
getPolicyEnd
());
policy
.
setInsuranceCompanyName
(
detail
.
getInsuranceCompanyName
());
policy
.
setInsuranceCompanyName
(
detail
.
getInsuranceCompanyName
());
policy
.
setInsuranceTypeName
(
detail
.
getInsuranceTypeName
());
policy
.
setInsuranceTypeName
(
detail
.
getInsuranceTypeName
());
policy
.
setId
(
RandomStringUtils
.
randomNumeric
(
19
));
policyList
.
add
(
policy
);
policyList
.
add
(
policy
);
//第一次新增插入变更记录表为insert,前端会将insert渲染为批量导入
//第一次新增插入变更记录表为insert,前端会将insert渲染为批量导入
...
@@ -1999,7 +2015,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
...
@@ -1999,7 +2015,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
long
d2
=
System
.
currentTimeMillis
();
long
d2
=
System
.
currentTimeMillis
();
log
.
info
(
"登记保单保费一条耗时:"
+
(
d2
-
d1
));
log
.
info
(
"登记保单保费一条耗时:"
+
(
d2
-
d1
));
}
}
mapSelectVo
.
clear
();
//批量更新和插入数据
//批量更新和插入数据
if
(!
detailList
.
isEmpty
())
{
if
(!
detailList
.
isEmpty
())
{
this
.
updateBatchById
(
detailList
);
this
.
updateBatchById
(
detailList
);
...
...
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/util/DoJointInsuranceTask.java
View file @
523ffe01
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
util
;
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
util
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.EmpIdCardAndDeptVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.EmpStatusVo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.SalaryDaprUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.SalaryDaprUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.SocialDaprUtils
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.SocialDaprUtils
;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
...
@@ -30,6 +34,7 @@ import org.springframework.stereotype.Component;
...
@@ -30,6 +34,7 @@ import org.springframework.stereotype.Component;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -69,6 +74,10 @@ public class DoJointInsuranceTask {
...
@@ -69,6 +74,10 @@ public class DoJointInsuranceTask {
@Autowired
@Autowired
private
TUpdateStatusErrorMapper
updateStatusErrorMapper
;
private
TUpdateStatusErrorMapper
updateStatusErrorMapper
;
@Autowired
private
ArchivesDaprUtil
archivesDaprUtil
;
/**
/**
* @Description: 商险明细推送
* @Description: 商险明细推送
* @Author: huyc
* @Author: huyc
...
@@ -96,6 +105,22 @@ public class DoJointInsuranceTask {
...
@@ -96,6 +105,22 @@ public class DoJointInsuranceTask {
log
.
info
(
"推送商险明细到EKP结束"
);
log
.
info
(
"推送商险明细到EKP结束"
);
}
}
/**
* 保存失败信息
*
* @author zhaji
* @param
* @return {@link String}
*/
private
void
saveInsuranceEkp
(
EkpInteractiveParam
param
,
Integer
pushType
){
TInsuranceEkp
ekp
=
new
TInsuranceEkp
();
BeanCopyUtils
.
copyProperties
(
param
,
ekp
);
ekp
.
setId
(
null
);
ekp
.
setCreateTime
(
LocalDateTime
.
now
());
ekp
.
setPushType
(
pushType
);
tInsuranceEkpService
.
save
(
ekp
);
}
/**
/**
* 推送EKP
* 推送EKP
*
*
...
@@ -188,22 +213,6 @@ public class DoJointInsuranceTask {
...
@@ -188,22 +213,6 @@ public class DoJointInsuranceTask {
}
}
}
}
/**
* 保存失败信息
*
* @author zhaji
* @param
* @return {@link String}
*/
private
void
saveInsuranceEkp
(
EkpInteractiveParam
param
,
Integer
pushType
){
TInsuranceEkp
ekp
=
new
TInsuranceEkp
();
BeanCopyUtils
.
copyProperties
(
param
,
ekp
);
ekp
.
setId
(
null
);
ekp
.
setCreateTime
(
LocalDateTime
.
now
());
ekp
.
setPushType
(
pushType
);
tInsuranceEkpService
.
save
(
ekp
);
}
@Async
@Async
public
void
updateInsuranceSettleStatus
(
EkpStatusParamVo
vo
)
{
public
void
updateInsuranceSettleStatus
(
EkpStatusParamVo
vo
)
{
try
{
try
{
...
@@ -470,4 +479,54 @@ public class DoJointInsuranceTask {
...
@@ -470,4 +479,54 @@ public class DoJointInsuranceTask {
log
.
error
(
"薪资结算状态更新异常"
,
e
);
log
.
error
(
"薪资结算状态更新异常"
,
e
);
}
}
}
}
/**
* @param sourceList
* @Description: // 同步操作档案的 商险状态为:3失效(0无2正常3失效4处理中)
* @Author: hgw
* @Date: 2022/11/23 15:46
* @return: void
**/
@Async
public
void
updateEmpInfp
(
List
<
TInsuranceDetail
>
sourceList
,
String
status
)
{
EmpStatusVo
empStatusVo
=
new
EmpStatusVo
();
EmpIdCardAndDeptVo
empIdCardAndDeptVo
;
List
<
EmpIdCardAndDeptVo
>
voList
=
new
ArrayList
<>();
for
(
TInsuranceDetail
d
:
sourceList
)
{
empIdCardAndDeptVo
=
new
EmpIdCardAndDeptVo
();
empIdCardAndDeptVo
.
setIdCard
(
d
.
getEmpIdcardNo
());
empIdCardAndDeptVo
.
setDeptNo
(
d
.
getDeptNo
());
empIdCardAndDeptVo
.
setStatus
(
status
);
voList
.
add
(
empIdCardAndDeptVo
);
}
empStatusVo
.
setEmpInfo
(
voList
);
archivesDaprUtil
.
updateEmployeeInsuranceStatus
(
empStatusVo
);
archivesDaprUtil
.
updateEmployeeInfoInsuranceStatus
(
empStatusVo
);
}
/**
* @Description: 商险明细推送
* @Author: huyc
* @Date: 2022-11-30
* @return: void
**/
@Async
public
void
pushEstime
(
List
<
TInsuranceDetail
>
successList
)
{
//根据结算类型是合并结算,推送预估保费到ekp(上面已经算好,这里直接判断有预估保费的就推送)
for
(
TInsuranceDetail
tInsuranceDetail
:
successList
)
{
//如果是合并计算则推送至EKP
if
(
CommonConstants
.
ZERO_INT
==
tInsuranceDetail
.
getSettleType
())
{
//存储成功后发送给EKP
String
s
=
pushEstimate
(
tInsuranceDetail
,
CommonConstants
.
ONE_INT
);
if
(
StringUtils
.
isNotBlank
(
s
))
{
LambdaUpdateWrapper
<
TInsuranceSettle
>
settleWrapper
=
new
LambdaUpdateWrapper
<>();
settleWrapper
.
eq
(
TInsuranceSettle:
:
getId
,
tInsuranceDetail
.
getDefaultSettleId
())
.
set
(
TInsuranceSettle:
:
getIsEstimatePush
,
CommonConstants
.
ONE_INT
)
.
set
(
TInsuranceSettle:
:
getEstimatePushTime
,
LocalDateTime
.
now
());
//更新结算信息表
tInsuranceSettleService
.
update
(
settleWrapper
);
}
}
}
}
}
}
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