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
d6bd43b9
Commit
d6bd43b9
authored
Jan 13, 2026
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新单跟进v2
parent
4181eecb
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
112 additions
and
75 deletions
+112
-75
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
+2
-2
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentServiceImpl.java
+3
-3
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowQueryRequest.java
+12
-11
yd-csf-service/src/main/java/com/yd/csf/service/enums/PolicyFollowStatusEnum.java
+27
-7
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyFollowServiceImpl.java
+0
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/PolicyFollowVO.java
+68
-52
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
View file @
d6bd43b9
...
...
@@ -561,7 +561,7 @@ public class ApiPolicyFollowController {
*/
@PostMapping
(
"/list/page/vo"
)
@Operation
(
summary
=
"分页获取新单跟进列表"
)
public
Result
<
Page
<
PolicyFollow
Detail
VO
>>
listPolicyFollowByPage
(
@RequestBody
PolicyFollowQueryRequest
policyFollowQueryRequest
,
public
Result
<
Page
<
PolicyFollowVO
>>
listPolicyFollowByPage
(
@RequestBody
PolicyFollowQueryRequest
policyFollowQueryRequest
,
HttpServletRequest
request
)
{
long
current
=
policyFollowQueryRequest
.
getPageNo
();
long
size
=
policyFollowQueryRequest
.
getPageSize
();
...
...
@@ -569,7 +569,7 @@ public class ApiPolicyFollowController {
// 查询数据库
Page
<
PolicyFollow
>
policyFollowPage
=
policyFollowService
.
page
(
new
Page
<>(
current
,
size
),
policyFollowService
.
getQueryWrapper
(
policyFollowQueryRequest
));
return
Result
.
success
(
policyFollowService
.
getPolicyFollow
DetailVOList
(
policyFollowPage
));
return
Result
.
success
(
policyFollowService
.
getPolicyFollow
VOPage
(
policyFollowPage
));
}
/**
...
...
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentServiceImpl.java
View file @
d6bd43b9
...
...
@@ -622,9 +622,9 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
//客户名称
follow
.
setCustomerName
(
customer
.
getNamePyEn
());
}
//待
跟进
follow
.
setStatus
(
PolicyFollowStatusEnum
.
FOLLOW_UP
.
getItemValue
());
follow
.
setNextStatusList
(
policyFollowService
.
getNextStatus
(
PolicyFollowStatusEnum
.
FOLLOW_UP
));
//待
签单
follow
.
setStatus
(
PolicyFollowStatusEnum
.
PENDING_SIGN
.
getItemValue
());
follow
.
setNextStatusList
(
policyFollowService
.
getNextStatus
(
PolicyFollowStatusEnum
.
PENDING_SIGN
));
//TODO 保险公司业务id
// follow.setInsurerBizId();
//TODO 期交保费
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowQueryRequest.java
View file @
d6bd43b9
...
...
@@ -7,7 +7,7 @@ import lombok.Data;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.
time.Local
Date
;
import
java.
util.
Date
;
import
java.util.List
;
/**
...
...
@@ -24,9 +24,9 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
private
String
policyNo
;
/**
* 新单状态
* 新单
跟进
状态
*/
@Schema
(
description
=
"新单状态
'CHECKING'-'审核中','UNDERWRITING'-'承保中','FINISHED'-'已完成','DECLINED'-'已拒绝','CANCELLED'-'已取消'
, 字典值: csf_policy_follow_status"
)
@Schema
(
description
=
"新单状态, 字典值: csf_policy_follow_status"
)
private
String
status
;
/**
...
...
@@ -40,33 +40,33 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
*/
@Schema
(
description
=
"签单日期开始 格式: yyyy-MM-dd"
,
example
=
"2023-01-01"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Local
Date
signDateStart
;
private
Date
signDateStart
;
/**
* 签单日结束
*/
@Schema
(
description
=
"签单日期结束 格式: yyyy-MM-dd"
,
example
=
"2023-01-01"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Local
Date
signDateEnd
;
private
Date
signDateEnd
;
/**
* 最晚缴费日期
*/
@Schema
(
description
=
"最晚缴费日期 格式: yyyy-MM-dd"
,
example
=
"2023-01-01"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Local
Date
latestPaymentDate
;
private
Date
latestPaymentDate
;
/**
* 投保人业务id列表
*/
@Schema
(
description
=
"投保人业务id列表"
)
private
List
<
String
>
policyholderBizIdList
;
//
@Schema(description = "投保人业务id列表")
//
private List<String> policyholderBizIdList;
/**
* 受保人业务id列表
*/
@Schema
(
description
=
"受保人业务id列表"
)
private
List
<
String
>
policyInsurantBizIdList
;
//
@Schema(description = "受保人业务id列表")
//
private List<String> policyInsurantBizIdList;
/**
* 保险公司业务id列表
...
...
@@ -84,7 +84,7 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
* 缴费年期
*/
@Schema
(
description
=
"缴费年期"
)
private
String
paymentTerm
;
private
String
issueNumber
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/enums/PolicyFollowStatusEnum.java
View file @
d6bd43b9
...
...
@@ -3,16 +3,22 @@ package com.yd.csf.service.enums;
import
org.apache.commons.lang3.ObjectUtils
;
/**
* 新单跟进状态枚举
'CHECKING'-'审核中','UNDERWRITING'-'承保中','FINISHED'-'已完成','DECLINED'-'已拒绝','CANCELLED'-'已取消'
* 新单跟进状态枚举
*/
public
enum
PolicyFollowStatusEnum
{
FOLLOW_UP
(
"待跟进"
,
"FOLLOW_UP"
),
CHECKING
(
"文件检查中"
,
"CHECKING"
),
UNDERWRITING
(
"承保中"
,
"UNDERWRITING"
),
FINISHED
(
"已完成"
,
"FINISHED"
),
DECLINED
(
"已拒绝"
,
"DECLINED"
),
CANCELLED
(
"已取消"
,
"CANCELLED"
),
PENDING_SIGN
(
"待签单"
,
"PENDING_SIGN"
),
SIGNED
(
"已签单"
,
"SIGNED"
),
WAITING_PAYMENT
(
"等待汇款"
,
"WAITING_PAYMENT"
),
PREMIUM_RECONCILING
(
"首期保费对账中"
,
"PREMIUM_RECONCILING"
),
PREMIUM_RECONCILED_UNDERWRITING
(
"保费对账成功,核保中"
,
"PREMIUM_RECONCILED_UNDERWRITING"
),
EFFECTIVE
(
"生效"
,
"EFFECTIVE"
),
CANCELLED
(
"取消投保"
,
"CANCELLED"
),
DECLINED
(
"拒保"
,
"DECLINED"
),
DELAYED_UNDERWRITING
(
"延缓承保"
,
"DELAYED_UNDERWRITING"
),
LAPSED
(
"失效"
,
"LAPSED"
),
CLOSED
(
"关闭"
,
"CLOSED"
),
;
//字典项标签(名称)
private
String
itemLabel
;
//字典项值
...
...
@@ -68,4 +74,18 @@ public enum PolicyFollowStatusEnum {
return
null
;
}
/**
* 状态映射为中文
*
* @param status
* @return
*/
public
static
String
mapStatusToLabel
(
String
status
)
{
PolicyFollowStatusEnum
policyFollowStatusEnum
=
getEnumByValue
(
status
);
if
(
policyFollowStatusEnum
==
null
)
{
return
""
;
}
return
policyFollowStatusEnum
.
getItemLabel
();
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyFollowServiceImpl.java
View file @
d6bd43b9
This diff is collapsed.
Click to expand it.
yd-csf-service/src/main/java/com/yd/csf/service/vo/PolicyFollowVO.java
View file @
d6bd43b9
package
com
.
yd
.
csf
.
service
.
vo
;
import
com.
google.common.reflect.TypeToken
;
import
com.
fasterxml.jackson.annotation.JsonFormat
;
import
com.yd.csf.service.dto.PolicyFollowUpdateDto
;
import
com.yd.csf.service.dto.PolicyMailing
;
import
com.yd.csf.service.dto.VerifyPolicyInfo
;
import
com.yd.csf.service.enums.PolicyFollowStatusEnum
;
import
com.yd.csf.service.model.PolicyBroker
;
import
com.yd.csf.service.model.PolicyFollow
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
...
...
@@ -13,8 +10,6 @@ import org.springframework.beans.BeanUtils;
import
java.io.Serializable
;
import
java.util.*
;
import
com.yd.csf.service.utils.GSONUtil
;
import
com.yd.csf.service.dto.PolicySigner
;
/**
* 新单跟进视图
...
...
@@ -24,6 +19,9 @@ public class PolicyFollowVO implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
@Schema
(
description
=
"policy follow id"
)
private
Long
id
;
/**
* 新单跟进唯一业务ID
*/
...
...
@@ -31,40 +29,84 @@ public class PolicyFollowVO implements Serializable {
private
String
policyBizId
;
/**
* 下一步跟进状态列表
* 保单号
*/
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
/**
* 新单跟进状态
*/
@Schema
(
description
=
"新单跟进状态"
)
private
String
status
;
/**
* 预约信息主表唯一业务ID
*/
@Schema
(
description
=
"预约信息主表唯一业务ID"
)
private
String
appointmentBizId
;
/**
* 预约编号
*/
@Schema
(
description
=
"预约编号"
)
private
String
appointmentNo
;
/**
* 客户业务id
*/
@Schema
(
description
=
"客户业务id"
)
private
String
customerBizId
;
/**
* 签单日
*/
@Schema
(
description
=
"签单日"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
signDate
;
/**
* 最晚缴费日
*/
@Schema
(
description
=
"下一步跟进状态列表, 下拉框"
)
private
Object
nextStatusList
;
@Schema
(
description
=
"最晚缴费日"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
latestPaymentDate
;
/**
*
新单跟进Dto
*
保單持有人
*/
@Schema
(
description
=
"
新单跟进Dto
"
)
private
PolicyFollowUpdateDto
policyFollowUpdateDto
;
@Schema
(
description
=
"
投保人
"
)
private
String
policyHolder
;
/**
*
转介
人
*
受保
人
*/
@Schema
(
description
=
"
转介
人"
)
private
List
<
PolicyBroker
>
brokerList
;
@Schema
(
description
=
"
受保
人"
)
private
String
insured
;
/**
*
核保信息
*
产品计划唯一业务ID
*/
@Schema
(
description
=
"
核保信息
"
)
private
VerifyPolicyInfo
verifyPolicyInfo
;
@Schema
(
description
=
"
产品计划唯一业务ID
"
)
private
String
productLaunchBizId
;
/**
*
保单邮寄
*
产品计划
*/
@Schema
(
description
=
"
保单邮寄
"
)
private
PolicyMailing
policyMailing
;
@Schema
(
description
=
"
产品计划
"
)
private
String
productName
;
/**
* 保
单信息
* 保
险公司
*/
// private Policy policy;
@Schema
(
description
=
"保险公司"
)
private
String
insuranceCompany
;
/**
* 保险公司业务id
*/
@Schema
(
description
=
"保险公司业务id"
)
private
String
insuranceCompanyBizId
;
/**
* 对象转封装类
...
...
@@ -77,35 +119,9 @@ public class PolicyFollowVO implements Serializable {
return
null
;
}
PolicyFollowVO
policyFollowVO
=
new
PolicyFollowVO
();
policyFollowVO
.
setPolicyBizId
(
policyFollow
.
getPolicyBizId
());
// 转换PolicyFollowUpdateDto
PolicyFollowUpdateDto
policyFollowUpdateDto
=
new
PolicyFollowUpdateDto
();
BeanUtils
.
copyProperties
(
policyFollow
,
policyFollowUpdateDto
);
policyFollowVO
.
setPolicyFollowUpdateDto
(
policyFollowUpdateDto
);
// 处理 nextStatusList 字段
Object
nextStatusList
=
policyFollow
.
getNextStatusList
();
if
(
nextStatusList
!=
null
&&
!
nextStatusList
.
toString
().
isEmpty
())
{
String
[]
statusArr
=
nextStatusList
.
toString
().
split
(
","
);
List
<
Map
<
String
,
String
>>
statusMapList
=
new
ArrayList
<>();
for
(
String
status
:
statusArr
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"itemLabel"
,
PolicyFollowStatusEnum
.
getEnumByValue
(
status
).
getItemLabel
());
map
.
put
(
"itemValue"
,
status
);
statusMapList
.
add
(
map
);
}
policyFollowVO
.
setNextStatusList
(
statusMapList
);
}
VerifyPolicyInfo
verifyPolicyInfo
=
new
VerifyPolicyInfo
();
BeanUtils
.
copyProperties
(
policyFollow
,
verifyPolicyInfo
);
policyFollowVO
.
setVerifyPolicyInfo
(
verifyPolicyInfo
);
PolicyMailing
policyMailing
=
new
PolicyMailing
();
BeanUtils
.
copyProperties
(
policyFollow
,
policyMailing
);
policyFollowVO
.
setPolicyMailing
(
policyMailing
);
BeanUtils
.
copyProperties
(
policyFollow
,
policyFollowVO
);
// 状态映射为中文
policyFollowVO
.
setStatus
(
PolicyFollowStatusEnum
.
mapStatusToLabel
(
policyFollow
.
getStatus
()));
return
policyFollowVO
;
}
...
...
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