Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
8
8timerapiv200
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
8timerv2
8timerapiv200
Commits
1769b9c9
Commit
1769b9c9
authored
Apr 08, 2022
by
翁国栋
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
运营后台--
增加可投多个方案
parent
f43f6e95
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
243 additions
and
90 deletions
+243
-90
src/main/java/cn/timer/api/bean/yggl/YgglMainEmp.java
+1
-1
src/main/java/cn/timer/api/controller/insure/CallBackContorll.java
+24
-6
src/main/java/cn/timer/api/controller/insure/InsureContorll.java
+77
-63
src/main/java/cn/timer/api/controller/insure/InsureUserController.java
+21
-0
src/main/java/cn/timer/api/controller/insure/enums/InsuranceEnum.java
+36
-15
src/main/java/cn/timer/api/dao/insure/InsureUserMapper.java
+4
-0
src/main/java/cn/timer/api/dto/insure/InsureDto.java
+8
-3
src/main/java/cn/timer/api/dto/insure/InsureUserDto.java
+19
-0
src/main/java/cn/timer/api/dto/insure/PlansDto.java
+18
-0
src/main/java/cn/timer/api/dto/insure/PolicyDto.java
+3
-0
src/main/resources/mapping/insure/InsureLogMapper.xml
+1
-1
src/main/resources/mapping/insure/InsurePolicyMapper.xml
+1
-0
src/main/resources/mapping/insure/InsureUserMapper.xml
+30
-1
No files found.
src/main/java/cn/timer/api/bean/yggl/YgglMainEmp.java
View file @
1769b9c9
...
...
@@ -224,7 +224,7 @@ public class YgglMainEmp extends Model<YgglMainEmp> {
@ApiModelProperty
(
value
=
"员工登陆账号(手机号)"
,
example
=
"员工登陆账号(手机号)"
)
private
String
empLoginPhone
;
@ApiModelProperty
(
value
=
"是否已投保:0否 1是"
,
example
=
""
)
@ApiModelProperty
(
value
=
"是否已投保:0否 1是
"
,
example
=
""
)
private
int
isInsure
;
}
src/main/java/cn/timer/api/controller/insure/CallBackContorll.java
View file @
1769b9c9
package
cn
.
timer
.
api
.
controller
.
insure
;
import
cn.timer.api.bean.insure.CallBack
;
import
cn.timer.api.bean.insure.InsureLog
;
import
cn.timer.api.bean.insure.InsurePolicy
;
import
cn.timer.api.bean.insure.InsureUser
;
import
cn.timer.api.bean.yggl.YgglMainEmp
;
...
...
@@ -14,6 +15,7 @@ import io.swagger.annotations.ApiOperation;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -36,9 +38,13 @@ import java.util.Map;
public
class
CallBackContorll
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
CallBackContorll
.
class
);
/*保全测试用*/
private
static
String
appidq
=
"1000115041006006938"
;
/*保全测试用*/
private
static
String
secretq
=
"6ba1bf4aa0bd14368c95ff0b9934a17b"
;
@Value
(
"${insure.appidq}"
)
private
String
appidq
;
@Value
(
"${insure.secretq}"
)
private
String
secretq
;
@Value
(
"${BASE_API_URL}"
)
private
String
base_api_url
;
@PostMapping
(
value
=
"/insuredCallBack"
)
@ApiOperation
(
value
=
"6.投保申请回调"
,
httpMethod
=
"Post"
,
notes
=
"投保申请回调"
)
...
...
@@ -76,6 +82,8 @@ public class CallBackContorll {
private
Map
callBack
(
HttpServletRequest
request
,
@RequestParam
String
pid
,
@RequestParam
String
sign
,
@RequestParam
String
timestamp
)
throws
IOException
{
Map
map
=
Maps
.
newHashMap
();
map
.
put
(
"status"
,
"error"
);
int
type
=
7
;
Integer
policyId
=
null
;
if
(
StringUtils
.
isNullOrEmpty
(
pid
)||
StringUtils
.
isNullOrEmpty
(
sign
)&&
StringUtils
.
isNullOrEmpty
(
timestamp
)){
return
map
;
}
...
...
@@ -94,25 +102,31 @@ public class CallBackContorll {
if
(!
value
.
equals
(
sign
)){
return
map
;
}
Map
paramsMap
=
Maps
.
newHashMap
();
paramsMap
.
put
(
"pid"
,
pid
);
paramsMap
.
put
(
"timestamp"
,
timestamp
);
paramsMap
.
put
(
"sign"
,
sign
);
CallBack
callBack
=
JSONObject
.
parseObject
(
sb
.
toString
(),
CallBack
.
class
);
if
(
callBack
.
getStatus
().
equals
(
"1"
))
{
log
.
info
(
"callBack"
+
JSONObject
.
toJSONString
(
callBack
));
List
<
InsureUser
>
list
=
InsureUser
.
builder
().
build
().
selectList
(
new
QueryWrapper
<
InsureUser
>().
lambda
().
eq
(
InsureUser:
:
getBatchNo
,
callBack
.
getOrder_import_info
().
getUuid
()));
List
<
InsureUser
>
list
=
InsureUser
.
builder
().
build
().
selectList
(
new
QueryWrapper
<
InsureUser
>().
lambda
().
eq
(
InsureUser:
:
getBatchNo
,
callBack
.
getOrder_import_info
().
getUuid
())
.
eq
(
InsureUser:
:
getInsureStatus
,
3
)
);
list
.
forEach
(
i
->
{
i
.
setInsureStatus
(
1
);
i
.
updateById
();
YgglMainEmp
.
builder
().
isInsure
(
1
).
build
().
update
(
new
QueryWrapper
<
YgglMainEmp
>().
lambda
().
eq
(
YgglMainEmp:
:
getId
,
i
.
getUserId
()));
});
List
<
InsureUser
>
oldlist
=
InsureUser
.
builder
().
build
().
selectList
(
new
QueryWrapper
<
InsureUser
>().
lambda
().
eq
(
InsureUser:
:
getReplaceTransId
,
callBack
.
getOrder_import_info
().
getUuid
()));
if
(
oldlist
!=
null
||
oldlist
.
size
()>
0
)
{
if
(
oldlist
!=
null
&&
oldlist
.
size
()>
0
)
{
oldlist
.
forEach
(
i
->
{
i
.
setInsureStatus
(
4
);
i
.
setStatus
(
"2"
);
i
.
updateById
();
YgglMainEmp
.
builder
().
isInsure
(
3
).
build
().
update
(
new
QueryWrapper
<
YgglMainEmp
>().
lambda
().
eq
(
YgglMainEmp:
:
getId
,
i
.
getUserId
()));
YgglMainEmp
.
builder
().
isInsure
(
0
).
build
().
update
(
new
QueryWrapper
<
YgglMainEmp
>().
lambda
().
eq
(
YgglMainEmp:
:
getId
,
i
.
getUserId
()));
});
type
=
8
;
}
InsurePolicy
insurePolicy
=
InsurePolicy
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
InsurePolicy
>().
lambda
().
eq
(
InsurePolicy:
:
getPolicyNo
,
list
.
get
(
0
).
getPolicyNo
()));
policyId
=
insurePolicy
.
getId
();
if
(
oldlist
==
null
||
oldlist
.
size
()==
0
)
{
insurePolicy
.
setTotalPremium
(
String
.
valueOf
(
Double
.
valueOf
(
insurePolicy
.
getTotalPremium
())
+
Double
.
valueOf
(
callBack
.
getOrder_import_info
().
getTotal_money
())));
}
...
...
@@ -121,9 +135,13 @@ public class CallBackContorll {
insurePolicy
.
updateById
();
}
else
{
//TODO 写入日志
}
Map
trueMap
=
Maps
.
newHashMap
();
trueMap
.
put
(
"status"
,
"1"
);
InsureLog
.
builder
().
requestParam
(
JSONObject
.
toJSONString
(
paramsMap
)).
type
(
type
)
.
requestData
(
sb
.
toString
()).
createTime
(
new
Date
()).
requestType
(
1
).
returnBody
(
JSONObject
.
toJSONString
(
callBack
)).
requestPath
(
base_api_url
+
"/callBack/policy/CallBack"
)
.
returnCode
(
callBack
.
getStatus
()).
returnMsg
(
callBack
.
getOrder_import_info
().
getErr_msg
()).
policyId
(
policyId
).
build
().
insert
();
return
trueMap
;
}
}
src/main/java/cn/timer/api/controller/insure/InsureContorll.java
View file @
1769b9c9
...
...
@@ -12,6 +12,7 @@ import cn.timer.api.dao.insure.InsurePolicyMapper;
import
cn.timer.api.dao.insure.InsureUserMapper
;
import
cn.timer.api.dao.yggl.YgglMainEmpMapper
;
import
cn.timer.api.dto.insure.InsureDto
;
import
cn.timer.api.dto.insure.PlansDto
;
import
cn.timer.api.dto.insure.PolicyDto
;
import
cn.timer.api.utils.*
;
import
com.alibaba.druid.util.Base64
;
...
...
@@ -128,10 +129,6 @@ public class InsureContorll {
@PostMapping
(
value
=
"/insured_add"
)
@ApiOperation
(
value
=
"1.投保申请"
,
httpMethod
=
"Post"
,
notes
=
"投保申请"
)
public
Result
<
Object
>
insured_add
(
@RequestBody
InsureDto
insureDto
)
throws
ParseException
{
InsurePolicy
insurePolicy
=
InsurePolicy
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
InsurePolicy
>().
lambda
().
eq
(
InsurePolicy:
:
getOrgCode
,
insureDto
.
getOrgCode
()).
eq
(
InsurePolicy:
:
getStatus
,
1
));
if
(
insurePolicy
!=
null
){
return
ResultUtil
.
error
(
"企业已存在"
);
}
InsureProduct
insureProduct
=
InsureProduct
.
builder
().
id
(
Integer
.
parseInt
(
insureDto
.
getProductId
())).
build
().
selectById
();
if
(
insureProduct
==
null
){
return
ResultUtil
.
error
(
"产品不存在"
);
...
...
@@ -144,10 +141,10 @@ public class InsureContorll {
ArrayList
<
Map
>
quotationsArry
=
new
ArrayList
<
Map
>();
bodyMap
.
put
(
"is_ss"
,
0
);
Map
quotations
=
Maps
.
newHashMap
();
Integer
price
=
getPrice
(
insureDto
.
getBenefitBasicPlan
(),
insureDto
.
getBenefitOccupationCategory
());
if
(
price
==
0
){
return
ResultUtil
.
error
(
"报价不存在"
);
}
insureDto
.
getPlans
().
forEach
(
i
->{
i
.
setPrice
(
getPrice
(
i
.
getBenefitBasicPlan
(),
i
.
getBenefitOccupationCategory
()));
insureDto
.
setTotalPrice
(
i
.
getPrice
()*
i
.
getUserIds
().
length
+(
insureDto
.
getTotalPrice
()==
null
?
0
:
insureDto
.
getTotalPrice
())
);
}
);
quotations
.
put
(
"trans_id"
,
"MB_"
+
dtf2
.
format
(
now
));
/*报价请求流水号*/
quotations
.
put
(
"applicant_type"
,
"2"
);
/*投保人类型:2-企业*/
quotations
.
put
(
"quotation_type"
,
3
);
/*报价类型:3-投保申请*/
...
...
@@ -175,7 +172,7 @@ public class InsureContorll {
companyApplicantMap
.
put
(
"applicant_e_mail"
,
insureApplicant
.
getApplicantEMail
());
/*企业邮箱*/
companyApplicantMap
.
put
(
"applicant_province_city"
,
"21024"
);
/*省市区*/
/*人员清单填被保人员*/
String
url
=
creaXSSFWorkbook
(
insureDto
.
get
UserIds
(),
price
,
insureDto
.
getPolicyDateStart
(),
insureDto
.
getTricycleFrameNumber
());
String
url
=
creaXSSFWorkbook
(
insureDto
.
get
Plans
(),
insureDto
.
getPolicyDateStart
());
if
(!
StringUtil
.
isNotBlank
(
url
))
{
return
ResultUtil
.
error
(
"文件错误"
);
}
...
...
@@ -205,9 +202,10 @@ public class InsureContorll {
/*被保人员 填被保企业信息*/
ArrayList
<
Map
>
insuredArray
=
new
ArrayList
<>();
insureDto
.
getPlans
().
forEach
(
p
->{
Map
insured
=
Maps
.
newHashMap
();
insured
.
put
(
"trans_id"
,
"PI_"
+
qyzxEntInfoM
.
getId
()
+
"_"
+
dtf2
.
format
(
now
));
insured
.
put
(
"price"
,
insureDto
.
getUserIds
().
length
*
price
);
/*根据基础计划生成*/
insured
.
put
(
"trans_id"
,
"PI_"
+
qyzxEntInfoM
.
getId
()
+
"_"
+
dtf2
.
format
(
now
)
+
"_"
+
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
)
);
insured
.
put
(
"price"
,
p
.
getUserIds
().
length
*
p
.
getPrice
()
);
/*根据基础计划生成*/
insured
.
put
(
"insured_applicant_relations"
,
"36960"
);
insured
.
put
(
"insured_mobile"
,
insureApplicant
.
getApplicantEPhone
());
insured
.
put
(
"insured_e_contact"
,
insureApplicant
.
getApplicantEContacts
());
...
...
@@ -215,15 +213,15 @@ public class InsureContorll {
insured
.
put
(
"insured_no_type"
,
"3306"
);
insured
.
put
(
"insured_no"
,
qyzxEntInfoM
.
getCreditCode
());
insured
.
put
(
"insured_zm_openid"
,
""
);
insured
.
put
(
"benefit_basic_plan"
,
insureDto
.
getBenefitBasicPlan
());
/*基础计划写死*/
insured
.
put
(
"benefit_occupation_category"
,
insureDto
.
getBenefitOccupationCategory
());
insured
.
put
(
"benefit_EL_employee_number_t"
,
insureDto
.
getUserIds
().
length
);
insured
.
put
(
"benefit_basic_plan"
,
p
.
getBenefitBasicPlan
());
/*基础计划写死*/
insured
.
put
(
"benefit_occupation_category"
,
p
.
getBenefitOccupationCategory
());
insured
.
put
(
"benefit_EL_employee_number_t"
,
p
.
getUserIds
().
length
);
insuredArray
.
add
(
insured
);
});
quotations
.
put
(
"insured"
,
insuredArray
);
quotations
.
put
(
"file"
,
Lists
.
newArrayList
());
quotations
.
put
(
"specifically_agreed_file"
,
Lists
.
newArrayList
());
quotations
.
put
(
"policy_no"
,
""
);
quotations
.
put
(
"insured"
,
insuredArray
);
quotationsArry
.
add
(
quotations
);
bodyMap
.
put
(
"quotations"
,
quotationsArry
);
log
.
info
(
JSONObject
.
toJSONString
(
bodyMap
));
...
...
@@ -239,8 +237,7 @@ public class InsureContorll {
policyMap
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
map
.
get
(
"policy"
)),
Map
.
class
);
batchMap
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
policyMap
.
get
(
"batch"
)),
List
.
class
);
}
List
<
YgglMainEmp
>
ygglMainEmpList
=
ygglMainEmpMapper
.
selectListByIds
(
insureDto
.
getUserIds
());
insurePolicy
=
InsurePolicy
.
builder
().
build
();
InsurePolicy
insurePolicy
=
InsurePolicy
.
builder
().
build
();
insurePolicy
.
setPolicyDateStart
(
dtf3
.
parse
(
insureDto
.
getPolicyDateStart
()));
insurePolicy
.
setPolicyDateEnd
(
dtf3
.
parse
(
insureDto
.
getPolicyDateEnd
()));
if
(
dataMap
.
get
(
"errcode"
).
toString
().
equals
(
"suc"
))
{
...
...
@@ -259,33 +256,35 @@ public class InsureContorll {
insurePolicy
.
setCreateTime
(
date
);
insurePolicy
.
setUpdateTime
(
date
);
insurePolicy
.
setSchemeName
(
insureProduct
.
getName
());
/*先写死*/
insurePolicy
.
setTotalPremium
(
String
.
valueOf
(
insureDto
.
get
UserIds
().
length
*
price
));
insurePolicy
.
setTotalPremium
(
String
.
valueOf
(
insureDto
.
get
TotalPrice
()
));
insurePolicy
.
setProductId
(
insureProduct
.
getId
());
insurePolicy
.
insert
();
InsureLog
.
builder
().
requestParam
(
JSONObject
.
toJSONString
(
setParams
(
JSONObject
.
toJSONString
(
bodyMap
),
appid
,
secret
))).
type
(
1
)
.
requestData
(
JSONObject
.
toJSONString
(
bodyMap
)).
createTime
(
new
Date
()).
requestType
(
1
).
returnBody
(
JSONObject
.
toJSONString
(
dataMap
)).
requestPath
(
insuredUrl
)
.
returnCode
(
dataMap
.
get
(
"errcode"
).
toString
()).
returnMsg
(
dataMap
.
get
(
"errmsg"
).
toString
()).
policyId
(
insurePolicy
.
getId
()).
fileUrl
(
url
).
build
().
insert
();
for
(
PlansDto
p:
insureDto
.
getPlans
())
{
List
<
YgglMainEmp
>
ygglMainEmpList
=
ygglMainEmpMapper
.
selectListByIds
(
p
.
getUserIds
());
InsureUser
insureUser
;
for
(
YgglMainEmp
y
:
ygglMainEmpList
)
{
insureUser
=
InsureUser
.
builder
().
build
();
insureUser
.
setUserId
(
y
.
getId
());
insureUser
.
setInsuredName
(
qyzxEntInfoM
.
getName
());
insureUser
.
setPrice
(
price
.
toString
(
));
/*前端获取的保费*/
insureUser
.
setPrice
(
String
.
valueOf
(
p
.
getPrice
()*
p
.
getUserIds
().
length
));
/*前端获取的保费*/
insureUser
.
setTransId
(
"P_"
+
qyzxEntInfoM
.
getId
()
+
"_"
+
dtf2
.
format
(
now
));
insureUser
.
setPremium
(
String
.
valueOf
(
ygglMainEmpList
.
size
()
*
price
));
insureUser
.
setPremium
(
String
.
valueOf
(
insureDto
.
getTotalPrice
()
));
if
(
dataMap
.
get
(
"errcode"
).
toString
().
equals
(
"suc"
))
{
insureUser
.
setBatchNo
(
batchMap
.
get
(
0
).
get
(
"batch_no"
).
toString
());
insureUser
.
setPolicyNo
(
policyMap
.
get
(
"policy_no"
).
toString
());
}
insureUser
.
setBenefitBasicPlan
(
insureDto
.
getBenefitBasicPlan
());
insureUser
.
setBenefitBasicPlan
(
p
.
getBenefitBasicPlan
());
insureUser
.
setUserId
(
y
.
getId
());
insureUser
.
setOrgCode
(
y
.
getOrgCode
());
insureUser
.
setBenefitOccupationCategory
(
insureDto
.
getBenefitOccupationCategory
());
insureUser
.
setBenefitOccupationCategory
(
p
.
getBenefitOccupationCategory
());
insureUser
.
setInsuredMobile
(
y
.
getPhone
());
insureUser
.
setInsuredNo
(
y
.
getZjNum
());
insureUser
.
setInsuredEContact
(
y
.
getName
());
insureUser
.
setApplicantEmployeeList
(
url
);
insureUser
.
setTricycleFrameNumber
(
insureDto
.
getTricycleFrameNumber
());
insureUser
.
setTricycleFrameNumber
(
p
.
getTricycleFrameNumber
());
if
(
dataMap
.
get
(
"errcode"
).
toString
().
equals
(
"suc"
))
{
insureUser
.
setInsureStatus
(
1
);
insureUser
.
setStatus
(
"1"
);
...
...
@@ -304,6 +303,7 @@ public class InsureContorll {
y
.
insertOrUpdate
();
}
}
}
return
ResultUtil
.
success
(
dataMap
.
get
(
"errmsg"
).
toString
());
}
return
ResultUtil
.
error
(
dataMap
.
get
(
"errmsg"
).
toString
());
...
...
@@ -313,25 +313,26 @@ public class InsureContorll {
}
/**
* 生成投保
问
文件
* 生成投保文件
*
* @param ids
* @return
*/
public
String
creaXSSFWorkbook
(
String
[]
ids
,
Integer
price
,
String
createDate
,
String
tricycleFrameNumber
)
{
if
(
ids
.
length
<=
0
)
{
public
String
creaXSSFWorkbook
(
List
<
PlansDto
>
plansList
,
String
createDate
)
{
if
(
plansList
.
size
()
<=
0
)
{
return
"error"
;
}
LocalDate
localDate
=
LocalDate
.
now
();
Date
date
=
new
Date
();
List
<
YgglMainEmp
>
ygglMainEmpList
=
ygglMainEmpMapper
.
selectListByIds
(
ids
);
List
list
=
Lists
.
newArrayList
();
plansList
.
forEach
(
p
->{
List
<
YgglMainEmp
>
ygglMainEmpList
=
ygglMainEmpMapper
.
selectListByIds
(
p
.
getUserIds
());
for
(
YgglMainEmp
y
:
ygglMainEmpList
)
{
String
[]
arr
=
new
String
[]{
String
.
valueOf
(
y
.
getId
()),
y
.
getName
(),
"身份证"
,
y
.
getZjNum
(),
InsuranceEnum
.
getEnum
(
price
).
getName
(),
createDate
.
substring
(
0
,
10
),
"深圳名邦人力资源管理有限公司"
,
StringUtils
.
isNullOrEmpty
(
tricycleFrameNumber
)?
"无"
:
tricycleFrameNumber
,
InsuranceEnum
.
getEnum
(
price
).
getType
()};
String
[]
arr
=
new
String
[]{
String
.
valueOf
(
y
.
getId
()),
y
.
getName
(),
"身份证"
,
y
.
getZjNum
(),
InsuranceEnum
.
getEnum
(
p
.
getBenefitBasicPlan
(),
p
.
getBenefitOccupationCategory
()).
getName
(),
createDate
,
"深圳名邦人力资源管理有限公司"
,
StringUtils
.
isNullOrEmpty
(
p
.
getTricycleFrameNumber
())?
"无"
:
p
.
getTricycleFrameNumber
(),
InsuranceEnum
.
getEnum
(
p
.
getBenefitBasicPlan
(),
p
.
getBenefitOccupationCategory
()
).
getType
()};
list
.
add
(
arr
);
}
});
String
[]
rowName
=
new
String
[]{
"ID"
,
"name"
,
"ID_type"
,
"ID_number"
,
"Scheme_name"
,
"Date_start"
,
"Branch"
,
"Tricycle_frame_number"
,
"benefit_occupation_category"
};
XSSFWorkbook
xssfWorkbook
=
ExcelUtils
.
exportExcel
(
localDate
+
"_投保"
+
list
.
size
()
+
"名人员清单.xlsx"
,
rowName
,
list
);
ByteArrayOutputStream
byteArrayOutputStream
=
new
ByteArrayOutputStream
();
...
...
@@ -389,10 +390,18 @@ public class InsureContorll {
@GetMapping
(
value
=
"/policyDetail"
)
@ApiOperation
(
value
=
"5.保单信息"
,
httpMethod
=
"Get"
,
notes
=
"保单信息"
)
public
Result
<
Object
>
policyDetail
(
@RequestParam
(
"policyId"
)
Integer
policyId
)
{
// Map map = Maps.newHashMap();
PolicyDto
policyDto
=
insurePolicyMapper
.
getPolicyDetail
(
policyId
);
/*获取可选计划*/
// List<InsureUser> plansList = InsureUser.builder().build().selectList(new QueryWrapper<InsureUser>().lambda().eq(InsureUser::getApplyType,2).eq(InsureUser::getPolicyId,policyId).groupBy(InsureUser::getBenefitBasicPlan));
/*获取可选类型*/
// List<InsureUser> categoryList = InsureUser.builder().build().selectList(new QueryWrapper<InsureUser>().lambda().eq(InsureUser::getApplyType,2).eq(InsureUser::getPolicyId,policyId).groupBy(InsureUser::getBenefitOccupationCategory));
if
(
policyDto
==
null
)
{
return
ResultUtil
.
error
(
"保单不存在"
);
}
// map.put("policy",policyDto);
// map.put("plans",plansList.stream().map(InsureUser::getBenefitBasicPlan).toArray());
// map.put("category",categoryList.stream().map(InsureUser::getBenefitOccupationCategory).toArray());
return
ResultUtil
.
data
(
policyDto
);
}
...
...
@@ -406,7 +415,7 @@ public class InsureContorll {
}
Integer
price
=
getPrice
(
insureDto
.
getBenefitBasicPlan
(),
insureDto
.
getBenefitOccupationCategory
());
LocalDateTime
now
=
LocalDateTime
.
now
();
String
url
=
creaXSSFWorkbook1
(
insureDto
.
getUserIds
(),
insureDto
.
getPolicyDateStart
(),
price
,
insureDto
.
getTricycleFrameNumber
()
);
String
url
=
creaXSSFWorkbook1
(
insureDto
);
log
.
info
(
"保全增员文件地址"
,
url
);
DateTimeFormatter
dtf2
=
DateTimeFormatter
.
ofPattern
(
"yyyyMMddHHmmss"
);
Map
bodyMap
=
Maps
.
newHashMap
();
...
...
@@ -420,15 +429,14 @@ public class InsureContorll {
bodyMap
.
put
(
"third_uuid"
,
"IS_"
+
insurePolicy
.
getOrgCode
()
+
"_"
+
dtf2
.
format
(
now
));
String
responData
=
HttpUtils
.
sendPost
(
batchUrl
,
setParams
(
JSONObject
.
toJSONString
(
bodyMap
),
appidq
,
secretq
),
bodyMap
);
Map
<
String
,
Object
>
dataMap
=
JSONObject
.
parseObject
(
responData
);
InsureLog
.
builder
().
requestParam
(
JSONObject
.
toJSONString
(
setParams
(
JSONObject
.
toJSONString
(
bodyMap
),
appid
,
secret
))).
type
(
2
)
.
requestData
(
JSONObject
.
toJSONString
(
bodyMap
)).
createTime
(
new
Date
()).
requestType
(
1
).
returnBody
(
responData
).
requestPath
(
batchUrl
)
.
returnCode
(
dataMap
.
get
(
"errcode"
).
toString
()).
returnMsg
(
dataMap
.
get
(
"errmsg"
).
toString
()).
policyId
(
insurePolicy
.
getId
()).
fileUrl
(
url
).
build
().
insert
();
if
(
dataMap
.
get
(
"errcode"
).
toString
().
equals
(
"suc"
))
{
Map
<
String
,
Object
>
data
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
dataMap
.
get
(
"data"
)));
Map
<
String
,
Object
>
orderImportInfo
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
data
.
get
(
"order_import_info"
)));
String
status
=
orderImportInfo
.
get
(
"status"
).
toString
();
if
(
status
.
equals
(
"5"
)
||
status
.
equals
(
"6"
)
||
status
.
equals
(
"7"
))
{
//TODO 写入日志
InsureLog
.
builder
().
requestParam
(
JSONObject
.
toJSONString
(
setParams
(
JSONObject
.
toJSONString
(
bodyMap
),
appid
,
secret
))).
type
(
2
)
.
requestData
(
JSONObject
.
toJSONString
(
bodyMap
)).
createTime
(
new
Date
()).
requestType
(
1
).
returnBody
(
responData
).
requestPath
(
batchUrl
)
.
returnCode
(
dataMap
.
get
(
"errcode"
).
toString
()).
returnMsg
(
dataMap
.
get
(
"errmsg"
).
toString
()).
policyId
(
insurePolicy
.
getId
()).
fileUrl
(
data
.
get
(
"file_url"
).
toString
()).
build
().
insert
();
return
ResultUtil
.
error
(
"信息填写错误,请查看日志"
);
}
else
{
List
<
YgglMainEmp
>
ygglMainEmpList
=
ygglMainEmpMapper
.
selectListByIds
(
insureDto
.
getUserIds
());
...
...
@@ -438,14 +446,13 @@ public class InsureContorll {
InsureUser
.
builder
()
.
transId
(
"IS_"
+
insurePolicy
.
getOrgCode
()
+
"_"
+
dtf2
.
format
(
now
))
.
insuredName
(
qyzxEntInfoM
.
getName
())
.
price
(
price
.
toString
(
))
/*前端获取的保费*/
.
premium
(
String
.
valueOf
(
price
*
ygglMainEmpList
.
siz
e
()))
.
price
(
String
.
valueOf
(
InsuranceEnum
.
getEnum
(
insureDto
.
getBenefitBasicPlan
(),
insureDto
.
getBenefitOccupationCategory
()).
getPrice
()*
insureDto
.
getUserIds
().
length
))
/*前端获取的保费*/
.
premium
(
String
.
valueOf
(
insureDto
.
getTotalPric
e
()))
.
batchNo
(
data
.
get
(
"import_uuid"
).
toString
())
.
benefitBasicPlan
(
insureDto
.
getBenefitBasicPlan
())
.
policyNo
(
orderImportInfo
.
get
(
"contract_no"
).
toString
())
.
userId
(
y
.
getId
())
.
orgCode
(
y
.
getOrgCode
())
.
benefitOccupationCategory
(
insureDto
.
getBenefitOccupationCategory
())
.
insuredMobile
(
y
.
getPhone
())
.
benefitOccupationCategory
(
insureDto
.
getBenefitOccupationCategory
())
.
insuredNo
(
y
.
getZjNum
())
...
...
@@ -455,17 +462,23 @@ public class InsureContorll {
.
applicantEmployeeList
(
data
.
get
(
"file_url"
).
toString
())
.
policyDateStart
(
dtf3
.
parse
(
insureDto
.
getPolicyDateStart
()))
.
policyDateEnd
(
dtf3
.
parse
(
insureDto
.
getPolicyDateEnd
()))
.
status
(
"1"
)
.
insureStatus
(
3
).
policyId
(
insurePolicy
.
getId
()).
build
().
insert
();
.
insureStatus
(
3
).
policyId
(
insurePolicy
.
getId
()).
build
().
insert
();
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
y
.
setIsInsure
(
2
);
y
.
setIsInsure
(
1
);
y
.
insertOrUpdate
();
});
InsureLog
.
builder
().
requestParam
(
JSONObject
.
toJSONString
(
setParams
(
JSONObject
.
toJSONString
(
bodyMap
),
appid
,
secret
))).
type
(
2
)
.
requestData
(
JSONObject
.
toJSONString
(
bodyMap
)).
createTime
(
new
Date
()).
requestType
(
1
).
returnBody
(
responData
).
requestPath
(
batchUrl
)
.
returnCode
(
dataMap
.
get
(
"errcode"
).
toString
()).
returnMsg
(
dataMap
.
get
(
"errmsg"
).
toString
()).
policyId
(
insurePolicy
.
getId
()).
fileUrl
(
url
).
build
().
insert
();
return
ResultUtil
.
data
(
"核保成功,等待系统更新"
);
}
}
return
ResultUtil
.
error
(
dataMap
.
get
(
"请求异常"
));
InsureLog
.
builder
().
requestParam
(
JSONObject
.
toJSONString
(
setParams
(
JSONObject
.
toJSONString
(
bodyMap
),
appid
,
secret
))).
type
(
2
)
.
requestData
(
JSONObject
.
toJSONString
(
bodyMap
)).
createTime
(
new
Date
()).
requestType
(
1
).
returnBody
(
responData
).
requestPath
(
batchUrl
)
.
returnCode
(
dataMap
.
get
(
"errcode"
).
toString
()).
returnMsg
(
dataMap
.
get
(
"errmsg"
).
toString
()).
policyId
(
insurePolicy
.
getId
()).
build
().
insert
();
return
ResultUtil
.
error
(
dataMap
.
get
(
"errmsg"
).
toString
());
}
/**
...
...
@@ -474,15 +487,15 @@ public class InsureContorll {
* @param ids
* @return
*/
public
String
creaXSSFWorkbook1
(
String
[]
ids
,
String
date
,
Integer
price
,
String
tricycleFrameNumber
)
{
if
(
i
ds
.
length
<=
0
)
{
public
String
creaXSSFWorkbook1
(
InsureDto
insureDto
)
{
if
(
i
nsureDto
.
getUserIds
()
.
length
<=
0
)
{
return
"error"
;
}
LocalDate
localDate
=
LocalDate
.
now
();
List
<
YgglMainEmp
>
ygglMainEmpList
=
ygglMainEmpMapper
.
selectListByIds
(
i
ds
);
List
<
YgglMainEmp
>
ygglMainEmpList
=
ygglMainEmpMapper
.
selectListByIds
(
i
nsureDto
.
getUserIds
()
);
List
list
=
Lists
.
newArrayList
();
for
(
YgglMainEmp
y
:
ygglMainEmpList
)
{
String
[]
arr
=
new
String
[]{
String
.
valueOf
(
y
.
getId
()),
y
.
getName
(),
"身份证"
,
y
.
getZjNum
(),
InsuranceEnum
.
getEnum
(
price
).
getName
(),
date
,
"深圳名邦人力资源管理有限公司"
,
StringUtils
.
isNullOrEmpty
(
tricycleFrameNumber
)?
"无"
:
tricycleFrameNumber
,
InsuranceEnum
.
getEnum
(
price
).
getType
()};
String
[]
arr
=
new
String
[]{
String
.
valueOf
(
y
.
getId
()),
y
.
getName
(),
"身份证"
,
y
.
getZjNum
(),
InsuranceEnum
.
getEnum
(
insureDto
.
getBenefitBasicPlan
(),
insureDto
.
getBenefitOccupationCategory
()).
getName
(),
insureDto
.
getPolicyDateStart
(),
"深圳名邦人力资源管理有限公司"
,
StringUtils
.
isNullOrEmpty
(
insureDto
.
getTricycleFrameNumber
())?
"无"
:
insureDto
.
getTricycleFrameNumber
(),
InsuranceEnum
.
getEnum
(
insureDto
.
getBenefitBasicPlan
(),
insureDto
.
getBenefitOccupationCategory
()
).
getType
()};
list
.
add
(
arr
);
}
String
[]
rowName
=
new
String
[]{
"ID"
,
"name"
,
"ID_type"
,
"ID_number"
,
"Scheme_name"
,
"Date_start"
,
"Branch"
,
"Tricycle_frame_number"
,
"benefit_occupation_category"
};
...
...
@@ -634,7 +647,7 @@ public class InsureContorll {
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
y
.
setIsInsure
(
2
);
y
.
setIsInsure
(
1
);
y
.
insertOrUpdate
();
});
oldInsureUserList
.
forEach
(
o
->{
...
...
@@ -735,41 +748,41 @@ public class InsureContorll {
switch
(
plan
){
case
"36968"
:
if
(
type
.
equals
(
"63119"
)){
return
12
;
return
InsuranceEnum
.
A_30
.
getPrice
()
;
}
else
if
(
type
.
equals
(
"63120"
)){
return
18
;
return
InsuranceEnum
.
B_30
.
getPrice
()
;
}
break
;
case
"36969"
:
if
(
type
.
equals
(
"63119"
)){
return
15
;
return
InsuranceEnum
.
A_30
.
getPrice
()
;
}
else
if
(
type
.
equals
(
"63120"
)){
return
20
;
return
InsuranceEnum
.
B_50
.
getPrice
()
;
}
else
if
(
type
.
equals
(
"63121"
)){
return
60
;
return
InsuranceEnum
.
C_50
.
getPrice
()
;
}
break
;
case
"36970"
:
if
(
type
.
equals
(
"63119"
)){
return
18
;
return
InsuranceEnum
.
A_80
.
getPrice
()
;
}
else
if
(
type
.
equals
(
"63120"
)){
return
35
;
return
InsuranceEnum
.
B_80
.
getPrice
()
;
}
else
if
(
type
.
equals
(
"63121"
)){
return
75
;
return
InsuranceEnum
.
C_80
.
getPrice
()
;
}
break
;
case
"36971"
:
if
(
type
.
equals
(
"63119"
)){
return
25
;
return
InsuranceEnum
.
A_80_20
.
getPrice
()
;
}
else
if
(
type
.
equals
(
"63120"
)){
return
38
;
return
InsuranceEnum
.
B_80_20
.
getPrice
()
;
}
break
;
case
"36972"
:
if
(
type
.
equals
(
"63119"
)){
return
28
;
return
InsuranceEnum
.
A_100
.
getPrice
()
;
}
else
if
(
type
.
equals
(
"63120"
)){
return
40
;
return
InsuranceEnum
.
B_100
.
getPrice
()
;
}
break
;
}
...
...
@@ -795,6 +808,7 @@ public class InsureContorll {
@GetMapping
(
value
=
"/verification"
)
@ApiOperation
(
value
=
"一键校验"
,
httpMethod
=
"Post"
,
notes
=
"一键校验"
)
public
Result
<
Object
>
verification
()
{
/*校验投保*/
List
<
InsurePolicy
>
insurePolicies
=
InsurePolicy
.
builder
().
build
().
selectList
(
new
QueryWrapper
<
InsurePolicy
>().
lambda
().
eq
(
InsurePolicy:
:
getStatus
,
2
));
insurePolicies
.
forEach
(
i
->{
InsureLog
insureLog
=
InsureLog
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
InsureLog
>().
lambda
().
eq
(
InsureLog:
:
getPolicyId
,
i
.
getId
()).
eq
(
InsureLog:
:
getType
,
1
));
...
...
@@ -802,6 +816,9 @@ public class InsureContorll {
String
data
=
HttpUtils
.
sendPost
(
insuredUrl
,
setParams
(
JSONObject
.
toJSONString
(
bodyMap
),
appid
,
secret
),
bodyMap
);
log
.
info
(
"校验结果:{}"
,
data
);
Map
dataMap
=
JSONObject
.
parseObject
(
data
,
Map
.
class
);
InsureLog
.
builder
().
requestParam
(
JSONObject
.
toJSONString
(
setParams
(
JSONObject
.
toJSONString
(
bodyMap
),
appid
,
secret
))).
type
(
9
)
.
requestData
(
JSONObject
.
toJSONString
(
bodyMap
)).
createTime
(
new
Date
()).
requestType
(
1
).
returnBody
(
JSONObject
.
toJSONString
(
dataMap
)).
requestPath
(
insuredUrl
)
.
returnCode
(
dataMap
.
get
(
"errcode"
).
toString
()).
returnMsg
(
dataMap
.
get
(
"errmsg"
).
toString
()).
policyId
(
i
.
getId
()).
build
().
insert
();
if
(
dataMap
!=
null
)
{
if
((
dataMap
.
get
(
"errcode"
).
toString
().
equals
(
"suc"
)))
{
Map
<
String
,
Object
>
map
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
dataMap
.
get
(
"data"
)));
...
...
@@ -823,15 +840,12 @@ public class InsureContorll {
user
.
updateById
();
YgglMainEmp
.
builder
().
isInsure
(
1
).
build
().
update
(
new
QueryWrapper
<
YgglMainEmp
>().
lambda
().
eq
(
YgglMainEmp:
:
getId
,
user
.
getUserId
()));
});
List
<
Map
>
quotationsMap
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
bodyMap
.
get
(
"quotations"
)),
List
.
class
);
Map
companyApplicantMap
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
quotationsMap
.
get
(
0
).
get
(
"company_applicant"
)),
Map
.
class
);
InsureLog
.
builder
().
requestParam
(
JSONObject
.
toJSONString
(
setParams
(
JSONObject
.
toJSONString
(
bodyMap
),
appid
,
secret
))).
type
(
1
)
.
requestData
(
JSONObject
.
toJSONString
(
bodyMap
)).
createTime
(
new
Date
()).
requestType
(
1
).
returnBody
(
JSONObject
.
toJSONString
(
dataMap
)).
requestPath
(
insuredUrl
)
.
returnCode
(
dataMap
.
get
(
"errcode"
).
toString
()).
returnMsg
(
dataMap
.
get
(
"errmsg"
).
toString
()).
policyId
(
i
.
getId
()).
fileUrl
(
companyApplicantMap
.
get
(
"applicant_employee_list"
).
toString
()).
build
().
insert
();
}
}
});
/*校验人员*/
return
ResultUtil
.
success
();
};
}
src/main/java/cn/timer/api/controller/insure/InsureUserController.java
View file @
1769b9c9
...
...
@@ -3,12 +3,15 @@ package cn.timer.api.controller.insure;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
import
cn.timer.api.bean.insure.InsurePolicy
;
import
cn.timer.api.bean.insure.InsureUser
;
import
cn.timer.api.config.annotation.CurrentUser
;
import
cn.timer.api.config.annotation.UserBean
;
import
cn.timer.api.dao.insure.InsureUserMapper
;
import
cn.timer.api.dto.insure.InsureDto
;
import
cn.timer.api.dto.insure.InsureUserDto
;
import
cn.timer.api.dto.insure.PolicyDto
;
import
cn.timer.api.utils.Page
;
import
cn.timer.api.utils.Result
;
...
...
@@ -69,5 +72,23 @@ public class InsureUserController{
map
.
put
(
"total"
,
insureUserMapper
.
totalUser
(
policyDto
));
return
ResultUtil
.
data
(
map
);
}
@PostMapping
(
value
=
"/getPolicyUserList"
)
@ApiOperation
(
value
=
"获取选中用户方案信息"
,
httpMethod
=
"Post"
,
notes
=
"获取选中用户方案信息"
)
public
Result
<
Object
>
getPolicyUserList
(
@RequestBody
InsureDto
dto
){
List
<
InsureUserDto
>
userList
=
insureUserMapper
.
selectPlansListByIds
(
dto
.
getOldIds
());
if
(
userList
.
size
()<=
0
){
return
ResultUtil
.
error
(
"用户方案错误"
);
}
return
ResultUtil
.
data
(
userList
);
}
@GetMapping
(
value
=
"/getPolicyPlansList"
)
@ApiOperation
(
value
=
"获取方案列表"
,
httpMethod
=
"Get"
,
notes
=
"获取选中用户方案信息"
)
public
Result
<
Object
>
getPolicyUserList
(
@RequestParam
(
"policyId"
)
String
policyId
){
List
<
InsureUserDto
>
userList
=
insureUserMapper
.
selectPlansListById
(
policyId
);
if
(
userList
.
size
()<=
0
){
return
ResultUtil
.
error
(
"用户方案错误"
);
}
return
ResultUtil
.
data
(
userList
);
}
}
src/main/java/cn/timer/api/controller/insure/enums/InsuranceEnum.java
View file @
1769b9c9
...
...
@@ -9,26 +9,30 @@ import lombok.Data;
* @Date 2022/3/24 17:20
*/
public
enum
InsuranceEnum
{
A_30
(
12
,
"30万意外/3万医疗/扩展24小时(A类)"
,
"A类"
),
A_50
(
15
,
"50万意外/5万医疗/扩展24小时(A类)"
,
"A类"
),
A_80
(
18
,
"80万意外/10万医疗/扩展24小时(A类)"
,
"A类"
),
A_80_20
(
25
,
"80万意外/20万医疗/扩展24小时(A类)"
,
"A类"
),
A_100
(
28
,
"100万意外/10万医疗/扩展24小时(A类)"
,
"A类"
),
B_30
(
18
,
"30万意外/3万医疗/扩展24小时(B类)"
,
"B类"
),
B_50
(
20
,
"50万意外/5万医疗/扩展24小时(B类)"
,
"B类"
),
B_80
(
35
,
"80万意外/10万医疗/扩展24小时(B类)"
,
"B类"
),
B_80_20
(
38
,
"80万意外/20万医疗/扩展24小时(B类)"
,
"B类"
),
B_100
(
40
,
"100万意外/10万医疗/扩展24小时(B类)"
,
"B类"
),
C_50
(
60
,
"50万意外/5万医疗/扩展24小时(C类)"
,
"C类"
),
C_80
(
75
,
"80万意外/10万医疗/扩展24小时(C类)"
,
"C类"
);
A_30
(
12
,
"30万意外/3万医疗/扩展24小时(A类)"
,
"A类"
,
"36968"
,
"63119"
),
A_50
(
15
,
"50万意外/5万医疗/扩展24小时(A类)"
,
"A类"
,
"36969"
,
"63119"
),
A_80
(
18
,
"80万意外/10万医疗/扩展24小时(A类)"
,
"A类"
,
"36970"
,
"63119"
),
A_80_20
(
25
,
"80万意外/20万医疗/扩展24小时(A类)"
,
"A类"
,
"36971"
,
"63119"
),
A_100
(
28
,
"100万意外/10万医疗/扩展24小时(A类)"
,
"A类"
,
"36972"
,
"63119"
),
B_30
(
18
,
"30万意外/3万医疗/扩展24小时(B类)"
,
"B类"
,
"36968"
,
"63120"
),
B_50
(
20
,
"50万意外/5万医疗/扩展24小时(B类)"
,
"B类"
,
"36969"
,
"63120"
),
B_80
(
35
,
"80万意外/10万医疗/扩展24小时(B类)"
,
"B类"
,
"36970"
,
"63120"
),
B_80_20
(
38
,
"80万意外/20万医疗/扩展24小时(B类)"
,
"B类"
,
"36971"
,
"63120"
),
B_100
(
40
,
"100万意外/10万医疗/扩展24小时(B类)"
,
"B类"
,
"36972"
,
"63120"
),
C_50
(
60
,
"50万意外/5万医疗/扩展24小时(C类)"
,
"C类"
,
"36969"
,
"63121"
),
C_80
(
75
,
"80万意外/10万医疗/扩展24小时(C类)"
,
"C类"
,
"36970"
,
"63121"
);
private
Integer
price
;
private
String
name
;
private
String
type
;
private
String
plan
;
private
String
category
;
InsuranceEnum
(
Integer
price
,
String
name
,
String
type
)
{
InsuranceEnum
(
Integer
price
,
String
name
,
String
type
,
String
plan
,
String
category
)
{
this
.
price
=
price
;
this
.
name
=
name
;
this
.
type
=
type
;
this
.
plan
=
plan
;
this
.
category
=
category
;
}
public
Integer
getPrice
()
{
...
...
@@ -55,10 +59,27 @@ public enum InsuranceEnum {
this
.
type
=
type
;
}
public
static
InsuranceEnum
getEnum
(
Integer
value
)
{
public
String
getPlan
()
{
return
plan
;
}
public
void
setPlan
(
String
plan
)
{
this
.
plan
=
plan
;
}
public
String
getCategory
()
{
return
category
;
}
public
void
setCategory
(
String
category
)
{
this
.
category
=
category
;
}
public
static
InsuranceEnum
getEnum
(
String
plan
,
String
category
)
{
for
(
InsuranceEnum
v
:
values
())
if
(
v
.
price
==
value
)
return
v
;
if
(
v
.
getPlan
().
equals
(
plan
)&&
v
.
getCategory
().
equals
(
category
)
)
return
v
;
throw
new
IllegalArgumentException
();
}
}
src/main/java/cn/timer/api/dao/insure/InsureUserMapper.java
View file @
1769b9c9
...
...
@@ -2,6 +2,7 @@ package cn.timer.api.dao.insure;
import
cn.timer.api.bean.insure.InsureUser
;
import
cn.timer.api.bean.yggl.YgglMainEmp
;
import
cn.timer.api.dto.insure.InsureUserDto
;
import
cn.timer.api.dto.insure.PolicyDto
;
import
cn.timer.api.utils.Page
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
...
...
@@ -22,5 +23,8 @@ public interface InsureUserMapper extends BaseMapper<InsureUser> {
List
<
PolicyDto
>
selectPolicyList
(
@Param
(
"policyDto"
)
PolicyDto
policyDto
);
Integer
totalUser
(
@Param
(
"policyDto"
)
PolicyDto
policyDto
);
List
<
InsureUser
>
selectListByIds
(
@Param
(
"array"
)
String
[]
ids
);
List
<
InsureUserDto
>
selectPlansListByIds
(
@Param
(
"array"
)
String
[]
ids
);
List
<
InsureUserDto
>
selectPlansListById
(
@Param
(
"policyId"
)
String
id
);
}
src/main/java/cn/timer/api/dto/insure/InsureDto.java
View file @
1769b9c9
...
...
@@ -5,6 +5,8 @@ import lombok.Builder;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* @Description TODO
...
...
@@ -19,14 +21,17 @@ public class InsureDto {
private
String
id
;
private
String
orgCode
;
/*劳动合同*/
private
String
companyName
;
/*用工单位实际工作单位*/
private
String
[]
userIds
;
private
String
policyDateStart
;
private
String
policyDateEnd
;
private
Integer
type
;
/*类型 1是新增 3是替换*/
private
String
productId
;
private
List
<
PlansDto
>
plans
;
private
String
benefitBasicPlan
;
/*方案名称*/
private
String
benefitOccupationCategory
;
private
String
tricycleFrameNumber
;
private
Integer
type
;
/*类型 1是新增 3是替换*/
private
String
[]
oldIds
;
private
String
productId
;
private
String
[]
userIds
;
private
Double
totalPrice
;
// private String
}
src/main/java/cn/timer/api/dto/insure/InsureUserDto.java
0 → 100644
View file @
1769b9c9
package
cn
.
timer
.
api
.
dto
.
insure
;
import
lombok.Data
;
/**
* @Description TODO
* @Author wgd
* @Date 2022/4/7 17:13
*/
@Data
public
class
InsureUserDto
{
private
Integer
policyId
;
private
String
benefitBasicPlan
;
private
String
benefitOccupationCategory
;
private
Integer
totalUser
;
private
String
[]
oldIds
;
}
src/main/java/cn/timer/api/dto/insure/PlansDto.java
0 → 100644
View file @
1769b9c9
package
cn
.
timer
.
api
.
dto
.
insure
;
import
lombok.Data
;
/**
* @Description TODO
* @Author wgd
* @Date 2022/4/6 9:14
*/
@Data
public
class
PlansDto
{
private
int
index
;
private
String
[]
userIds
;
private
String
benefitBasicPlan
;
/*方案名称*/
private
String
benefitOccupationCategory
;
private
String
tricycleFrameNumber
;
private
Integer
price
;
}
src/main/java/cn/timer/api/dto/insure/PolicyDto.java
View file @
1769b9c9
...
...
@@ -37,4 +37,7 @@ public class PolicyDto {
private
String
benefitOccupationCategory
;
private
Integer
userId
;
private
Integer
insureStatus
;
private
String
planId
;
private
String
categoryId
;
}
src/main/resources/mapping/insure/InsureLogMapper.xml
View file @
1769b9c9
...
...
@@ -172,7 +172,7 @@
</delete>
<select
id=
"selectListById"
resultType=
"cn.timer.api.bean.insure.InsureLog"
>
select id,return_msg,`type`,create_time from insure_log
select id,return_msg,`type`,create_time
,file_url
from insure_log
where policy_id = #{policyId}
ORDER BY create_time DESC
</select>
...
...
src/main/resources/mapping/insure/InsurePolicyMapper.xml
View file @
1769b9c9
...
...
@@ -323,4 +323,5 @@
GROUP BY
ip.id
</select>
</mapper>
src/main/resources/mapping/insure/InsureUserMapper.xml
View file @
1769b9c9
...
...
@@ -279,12 +279,14 @@
<select
id=
"selectPolicyList"
resultType=
"cn.timer.api.dto.insure.PolicyDto"
>
select iu.id,yme.`name`,yme.zj_type,yme.zj_num,iu.policy_no,iu.`status`,ip.scheme_name,iu.policy_date_start,iu.insure_status,
iu.policy_date_end,ip.create_time,iu.insured_name,iu.benefit_basic_plan AS benefitBasicPlan,iu.price AS price,
iu.user_id as userId
iu.user_id as userId
,iu.batch_no as batchNo,iu.benefit_occupation_category as benefitOccupationCategory
from insure_user iu
LEFT JOIN yggl_main_emp yme on yme.id=iu.user_id
LEFT JOIN insure_policy ip on ip.id=iu.policy_id
<where>
ip.id=#{policyDto.id}
and iu.benefit_basic_plan = #{policyDto.planId}
and iu.benefit_occupation_category = #{policyDto.categoryId}
<if
test=
"policyDto.name !=null and policyDto.name !=''"
>
and iu.insured_e_contact like CONCAT('%',#{policyDto.name},'%')
</if>
...
...
@@ -314,6 +316,8 @@
<if
test=
"policyDto.policyDateStart !=null and policyDto.policyDateStart !=''"
>
and iu.policy_date_start
<![CDATA[>=]]>
#{policyDto.policyDateStart}
</if>
and iu.benefit_basic_plan = #{policyDto.planId}
and iu.benefit_occupation_category = #{policyDto.categoryId}
</where>
</select>
...
...
@@ -328,4 +332,29 @@
</foreach>
</select>
<!--根据id数组查询员工-->
<select
id=
"selectPlansListByIds"
resultType=
"cn.timer.api.dto.insure.InsureUserDto"
>
SELECT
policy_id as policyId,
benefit_basic_plan as benefitBasicPlan,
benefit_occupation_category as benefitOccupationCategory,
count(id) as totalUser
FROM insure_user
WHERE id IN
<foreach
item=
"id"
collection=
"array"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
group by benefit_basic_plan,benefit_occupation_category
</select>
<select
id=
"selectPlansListById"
resultType=
"cn.timer.api.dto.insure.InsureUserDto"
>
SELECT
policy_id as policyId,
benefit_basic_plan as benefitBasicPlan,
benefit_occupation_category as benefitOccupationCategory,
count(id) as totalUser
FROM insure_user
WHERE policy_id = #{policyId}
group by benefit_basic_plan,benefit_occupation_category
</select>
</mapper>
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