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
9b724136
Commit
9b724136
authored
Sep 01, 2025
by
fangxinjiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
保单号维护表分页-fxj
parent
a21c2f07
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
185 additions
and
45 deletions
+185
-45
PolicyListVo.java
...m/yifu/cloud/plus/v1/yifu/insurances/vo/PolicyListVo.java
+99
-0
TInsurancePolicyController.java
...ifu/insurances/controller/TInsurancePolicyController.java
+20
-3
TInsurancePolicyMapper.java
.../insurances/mapper/insurances/TInsurancePolicyMapper.java
+4
-0
TInsurancePolicyService.java
...insurances/service/insurance/TInsurancePolicyService.java
+3
-3
TInsuranceDetailServiceImpl.java
...s/service/insurance/impl/TInsuranceDetailServiceImpl.java
+1
-25
TInsurancePolicyServiceImpl.java
...s/service/insurance/impl/TInsurancePolicyServiceImpl.java
+13
-14
TInsurancePolicyMapper.xml
...in/resources/mapper/insurances/TInsurancePolicyMapper.xml
+45
-0
No files found.
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/vo/PolicyListVo.java
0 → 100644
View file @
9b724136
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnore
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.format.DateTimeFormat
;
import
com.alibaba.excel.annotation.write.style.HeadFontStyle
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil
;
import
com.yifu.cloud.plus.v1.yifu.insurances.util.LocalDateConverter
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
/**
* @author fxj
* @description 已投保查询返回类
* @date 2022-07-21 09:46:09
*/
@Data
@Tag
(
name
=
"已投保查询返回类"
)
public
class
PolicyListVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6673220061558171816L
;
/**
* 保单号
*/
@Length
(
max
=
50
,
message
=
"保单号 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"保单号"
,
maxLength
=
50
,
isNotEmpty
=
true
,
errorInfo
=
"保单号不能为空"
)
@ExcelProperty
(
"保单号"
)
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
/**
* 保单开始日期
*/
@ExcelAttribute
(
name
=
"保单开始日期"
,
isDate
=
true
,
isNotEmpty
=
true
,
dateFormat
=
DateUtil
.
ISO_EXPANDED_DATE_FORMAT
,
errorInfo
=
"保单开始日期不能为空"
)
@ExcelProperty
(
"保单开始日期"
)
@Schema
(
description
=
"保单开始日期"
)
private
String
policyStart
;
/**
* 保单截止日期
*/
@ExcelAttribute
(
name
=
"保单截止日期"
,
isDate
=
true
,
isNotEmpty
=
true
,
dateFormat
=
DateUtil
.
ISO_EXPANDED_DATE_FORMAT
,
errorInfo
=
"保单截止日期不能为空"
)
@ExcelProperty
(
"保单截止日期"
)
@Schema
(
description
=
"保单截止日期"
)
private
String
policyEnd
;
/**
* 保险公司
*/
@ExcelAttribute
(
name
=
"保险公司"
,
maxLength
=
60
,
isNotEmpty
=
true
,
errorInfo
=
"保险公司不能为空"
)
@ExcelProperty
(
"保险公司"
)
@Schema
(
description
=
"保险公司"
)
private
String
insuranceCompanyName
;
/**
* 险种
*/
@ExcelAttribute
(
name
=
"险种"
,
maxLength
=
50
,
isNotEmpty
=
true
,
errorInfo
=
"险种不能为空"
)
@ExcelProperty
(
"险种"
)
@Schema
(
description
=
"险种"
)
private
String
insuranceTypeName
;
/**
* 商险购买地省code
*/
@Schema
(
description
=
"商险购买地省code"
)
@ExcelIgnore
private
Integer
insuranceProvince
;
/**
* 商险购买地省
*/
@Schema
(
description
=
"商险购买地省"
)
@ExcelIgnore
private
String
insuranceProvinceName
;
/**
* 商险购买地市code
*/
@Schema
(
description
=
"商险购买地市code"
)
@ExcelIgnore
private
Integer
insuranceCity
;
/**
* 商险购买地市
*/
@Schema
(
description
=
"商险购买地市"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"商险购买地"
)
private
String
insuranceCityName
;
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/controller/TInsurancePolicyController.java
View file @
9b724136
...
...
@@ -15,9 +15,7 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePolicy
;
import
com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsurancePolicyService
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListEditParam
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListParam
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsurancePolicyDetailVO
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.*
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.security.SecurityRequirement
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
...
...
@@ -145,4 +143,23 @@ public class TInsurancePolicyController {
RedisDistributedLock
.
unlock
(
key
,
requestId
);
}
}
/**
* 商险自动化-针对批增的查询保单号的分页接口
* 根据保单号去重,未过期的保单
* MVP1.7.15 取值从保单维护表获取
*
* @author fxj
* @param page 分页对象
* @param param 查询参数
* @return {@link R<IPage< InsuredListVo >>}
* @since 1.7.15
* @date 2025/9/1
*/
@Operation
(
summary
=
"商险自动化-针对批增的查询保单号的分页接口"
)
@PostMapping
(
"/policyPageToAutoSelect"
)
public
R
<
IPage
<
PolicyListVo
>>
policyPageToAutoSelect
(
Page
<
PolicyListVo
>
page
,
@RequestBody
InsuredParam
param
,
@RequestParam
(
required
=
false
)
String
mId
)
{
return
R
.
ok
(
tInsurancePolicyService
.
policyPageToAutoSelect
(
page
,
param
,
mId
));
}
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/mapper/insurances/TInsurancePolicyMapper.java
View file @
9b724136
...
...
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePolicy
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListParam
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuredParam
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.PolicyListVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -36,6 +38,8 @@ public interface TInsurancePolicyMapper extends BaseMapper<TInsurancePolicy> {
* @return {@link List< TInsurancePolicy>}
*/
List
<
TInsurancePolicy
>
getInsurancePolicyList
(
@Param
(
"param"
)
InsurancePolicyListParam
param
);
Page
<
PolicyListVo
>
policyPageToAutoSelect
(
Page
page
,
@Param
(
"param"
)
InsuredParam
param
);
}
...
...
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/TInsurancePolicyService.java
View file @
9b724136
...
...
@@ -7,9 +7,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.ErrorDetailVO
;
import
com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePolicy
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListEditParam
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListParam
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsurancePolicyDetailVO
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.*
;
import
java.io.InputStream
;
import
java.util.List
;
...
...
@@ -77,4 +75,6 @@ public interface TInsurancePolicyService extends IService<TInsurancePolicy> {
R
deleteInsurancePolicy
(
String
id
);
R
<
List
<
ErrorMessage
>>
importInsurancePolicy
(
InputStream
inputStream
);
Page
<
PolicyListVo
>
policyPageToAutoSelect
(
Page
<
PolicyListVo
>
page
,
InsuredParam
param
,
String
mId
);
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/impl/TInsuranceDetailServiceImpl.java
View file @
9b724136
...
...
@@ -2109,27 +2109,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
booleanPolicyNo
=
true
;
}
detail
.
setPolicyNo
(
success
.
getPolicyNo
());
//保单号不为空,维护到保单表中
one
=
tInsurancePolicyService
.
getOne
(
Wrappers
.<
TInsurancePolicy
>
query
().
lambda
()
.
eq
(
TInsurancePolicy:
:
getPolicyNo
,
success
.
getPolicyNo
())
.
eq
(
TInsurancePolicy:
:
getDeleteFlag
,
CommonConstants
.
ZERO_INT
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(!
Optional
.
ofNullable
(
one
).
isPresent
()){
TInsurancePolicy
policy
=
new
TInsurancePolicy
();
policy
.
setPolicyNo
(
success
.
getPolicyNo
());
policy
.
setPolicyStart
(
detail
.
getPolicyStart
());
policy
.
setPolicyEnd
(
detail
.
getPolicyEnd
());
policy
.
setInsuranceCompanyName
(
detail
.
getInsuranceCompanyName
());
policy
.
setInsuranceTypeName
(
detail
.
getInsuranceTypeName
());
policy
.
setId
(
RandomStringUtils
.
randomNumeric
(
19
));
policyList
.
add
(
policy
);
//第一次新增插入变更记录表为insert,前端会将insert渲染为批量导入
TBusinessOperate
operate
=
new
TBusinessOperate
();
operate
.
setBusinessId
(
policy
.
getId
());
operate
.
setDifferenceInfo
(
"insert"
);
operateList
.
add
(
operate
);
}
//保单号不为空,维护到保单表中 MVP1.7.15 取消同步插入保单维护信息
//如果保单号不为空,将替换类型的保单号也全部更新
replaceList
=
tInsuranceReplaceService
.
list
(
Wrappers
.<
TInsuranceReplace
>
query
().
lambda
()
...
...
@@ -2321,10 +2301,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
tInsurancePolicyService
.
saveBatch
(
policyList
);
policyList
.
clear
();
}
if
(!
operateList
.
isEmpty
())
{
tBusinessOperateService
.
saveBatch
(
operateList
);
operateList
.
clear
();
}
//操作记录
addOperate
(
detailList
,
user
,
InsurancesConstants
.
REGISTERED
,
null
,
CommonConstants
.
ONE_INT
);
if
(
operatList
.
stream
().
allMatch
(
e
->
e
.
getErrorMessage
().
equals
(
CommonConstants
.
RESULT_DATA_SUCESS
)))
{
...
...
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/impl/TInsurancePolicyServiceImpl.java
View file @
9b724136
...
...
@@ -29,10 +29,7 @@ import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsuranceDetail
import
com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsurancePolicyService
;
import
com.yifu.cloud.plus.v1.yifu.insurances.util.BeanCopyUtils
;
import
com.yifu.cloud.plus.v1.yifu.insurances.util.LocalDateUtil
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyImportVo
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListEditParam
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListParam
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsurancePolicyDetailVO
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.*
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.*
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchImportVo
;
import
lombok.RequiredArgsConstructor
;
...
...
@@ -47,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional;
import
javax.annotation.Resource
;
import
java.io.InputStream
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -277,6 +275,7 @@ public class TInsurancePolicyServiceImpl extends ServiceImpl<TInsurancePolicyMap
}
return
Common
.
judgeAllMessage
(
errorMessageList
);
}
public
void
importInsurancePolicy
(
List
<
InsurancePolicyImportVo
>
excelVOList
,
List
<
ErrorMessage
>
errorMessageList
,
YifuUser
user
,
Map
<
String
,
String
>
policyNoMap
)
{
...
...
@@ -344,14 +343,10 @@ public class TInsurancePolicyServiceImpl extends ServiceImpl<TInsurancePolicyMap
baseMapper
.
insert
(
policy
);
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"保存成功"
,
CommonConstants
.
GREEN
));
//插入保单维护操作日志
//
tBusinessOperateService.saveModificationRecord(policy.getId(), policy, policy, InsurancesConstants.IMPORT_POLICY_REMARK);
//
第一次新增插入变更记录表为insert,前端会将insert渲染为批量导入
operate
=
new
TBusinessOperate
();
operate
.
setBusinessId
(
policy
.
getId
());
operate
.
setCreateTime
(
LocalDateTime
.
now
());
operate
.
setOldInfo
(
null
);
operate
.
setNewInfo
(
JSON
.
toJSONString
(
policy
,
features
));
operate
.
setDifferenceInfo
(
null
);
operate
.
setRemark
(
InsurancesConstants
.
IMPORT_POLICY_REMARK
);
operate
.
setDifferenceInfo
(
"insert"
);
tBusinessOperateService
.
save
(
operate
);
policyNoMap
.
put
(
excel
.
getPolicyNo
(),
excel
.
getRowIndex
().
toString
());
...
...
@@ -419,11 +414,15 @@ public class TInsurancePolicyServiceImpl extends ServiceImpl<TInsurancePolicyMap
v
->
v
,
(
existing
,
replacement
)
->
existing
// 处理重复key的情况
));
}
private
SerializerFeature
[]
features
=
new
SerializerFeature
[]
{
WriteMapNullValue
,
WriteNullNumberAsZero
,
WriteNullListAsEmpty
,
WriteNullStringAsEmpty
,
WriteDateUseDateFormat
};
@Override
public
Page
<
PolicyListVo
>
policyPageToAutoSelect
(
Page
<
PolicyListVo
>
page
,
InsuredParam
param
,
String
mId
)
{
// 查保单未过期的数据
String
today
=
LocalDateUtil
.
getDateSrt
(
LocalDate
.
now
());
param
.
setPolicyEnd
(
today
);
return
baseMapper
.
policyPageToAutoSelect
(
page
,
param
);
}
}
...
...
yifu-insurances/yifu-insurances-biz/src/main/resources/mapper/insurances/TInsurancePolicyMapper.xml
View file @
9b724136
...
...
@@ -90,4 +90,49 @@
</if>
ORDER BY CREATE_TIME DESC
</select>
<!--商险自动化-针对批增的查询保单号的分页接口-->
<select
id=
"policyPageToAutoSelect"
resultType=
"com.yifu.cloud.plus.v1.yifu.insurances.vo.PolicyListVo"
>
select
a.id as id,
a.POLICY_NO as policyNo,
a.POLICY_START as policyStart,
a.POLICY_END as policyEnd,
a.INSURANCE_COMPANY_NAME as insuranceCompanyName,
a.INSURANCE_TYPE_NAME as insuranceTypeName,
c.id as insuranceTypeId,
d.BUY_STANDARD as buyStandard
from t_insurance_policy a
LEFT JOIN t_insurance_company b on a.INSURANCE_COMPANY_NAME=b.COMPANY_NAME
LEFT JOIN t_insurance_type c on a.INSURANCE_TYPE_NAME = c.`NAME`
LEFT JOIN t_insurance_type_standard d on c.ID = d.INSURANCE_TYPE_ID
where
a.DELETE_FLAG = 0
and a.POLICY_NO is not null
and a.POLICY_NO != ""
and d.DELETE_FLAG='0' and d.`ENABLE`='0'
and c.DELETE_FLAG='0' and c.`ENABLE`='0'
and b.DELETE_FLAG='0'
<if
test=
"param.policyNo != null and param.policyNo.trim() != ''"
>
and a.POLICY_NO like concat('%',replace(replace(#{param.policyNo},'_','\_'),'%','\%'),'%')
</if>
<if
test=
"param.insuranceCompanyName != null and param.insuranceCompanyName.trim() != ''"
>
and a.INSURANCE_COMPANY_NAME like concat('%',replace(replace(#{param.insuranceCompanyName},'_','\_'),'%','\%'),'%')
</if>
<if
test=
"param.insuranceTypeName != null and param.insuranceTypeName.trim() != ''"
>
and a.INSURANCE_TYPE_NAME like concat('%',replace(replace(#{param.insuranceTypeName},'_','\_'),'%','\%'),'%')
</if>
<if
test=
"param.buyStandardMin != null and param.buyStandardMin.trim() != ''"
>
AND d.BUY_STANDARD+0
<![CDATA[ >= ]]>
#{param.buyStandardMin}+0
</if>
<if
test=
"param.buyStandardMax != null and param.buyStandardMax.trim() != ''"
>
AND d.BUY_STANDARD+0
<![CDATA[ <= ]]>
#{param.buyStandardMax}+0
</if>
<if
test=
"param.policyEnd != null and param.policyEnd.trim() != ''"
>
AND DATE(a.POLICY_END)
<![CDATA[ >= ]]>
#{param.policyEnd}
</if>
group by a.POLICY_NO,d.BUY_STANDARD
ORDER BY a.CREATE_TIME DESC ,a.ID ASC
</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