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
Show 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 {
...
@@ -561,7 +561,7 @@ public class ApiPolicyFollowController {
*/
*/
@PostMapping
(
"/list/page/vo"
)
@PostMapping
(
"/list/page/vo"
)
@Operation
(
summary
=
"分页获取新单跟进列表"
)
@Operation
(
summary
=
"分页获取新单跟进列表"
)
public
Result
<
Page
<
PolicyFollow
Detail
VO
>>
listPolicyFollowByPage
(
@RequestBody
PolicyFollowQueryRequest
policyFollowQueryRequest
,
public
Result
<
Page
<
PolicyFollowVO
>>
listPolicyFollowByPage
(
@RequestBody
PolicyFollowQueryRequest
policyFollowQueryRequest
,
HttpServletRequest
request
)
{
HttpServletRequest
request
)
{
long
current
=
policyFollowQueryRequest
.
getPageNo
();
long
current
=
policyFollowQueryRequest
.
getPageNo
();
long
size
=
policyFollowQueryRequest
.
getPageSize
();
long
size
=
policyFollowQueryRequest
.
getPageSize
();
...
@@ -569,7 +569,7 @@ public class ApiPolicyFollowController {
...
@@ -569,7 +569,7 @@ public class ApiPolicyFollowController {
// 查询数据库
// 查询数据库
Page
<
PolicyFollow
>
policyFollowPage
=
policyFollowService
.
page
(
new
Page
<>(
current
,
size
),
Page
<
PolicyFollow
>
policyFollowPage
=
policyFollowService
.
page
(
new
Page
<>(
current
,
size
),
policyFollowService
.
getQueryWrapper
(
policyFollowQueryRequest
));
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 {
...
@@ -622,9 +622,9 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
//客户名称
//客户名称
follow
.
setCustomerName
(
customer
.
getNamePyEn
());
follow
.
setCustomerName
(
customer
.
getNamePyEn
());
}
}
//待
跟进
//待
签单
follow
.
setStatus
(
PolicyFollowStatusEnum
.
FOLLOW_UP
.
getItemValue
());
follow
.
setStatus
(
PolicyFollowStatusEnum
.
PENDING_SIGN
.
getItemValue
());
follow
.
setNextStatusList
(
policyFollowService
.
getNextStatus
(
PolicyFollowStatusEnum
.
FOLLOW_UP
));
follow
.
setNextStatusList
(
policyFollowService
.
getNextStatus
(
PolicyFollowStatusEnum
.
PENDING_SIGN
));
//TODO 保险公司业务id
//TODO 保险公司业务id
// follow.setInsurerBizId();
// follow.setInsurerBizId();
//TODO 期交保费
//TODO 期交保费
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowQueryRequest.java
View file @
d6bd43b9
...
@@ -7,7 +7,7 @@ import lombok.Data;
...
@@ -7,7 +7,7 @@ import lombok.Data;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.
time.Local
Date
;
import
java.
util.
Date
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -24,9 +24,9 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
...
@@ -24,9 +24,9 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
private
String
policyNo
;
private
String
policyNo
;
/**
/**
* 新单状态
* 新单
跟进
状态
*/
*/
@Schema
(
description
=
"新单状态
'CHECKING'-'审核中','UNDERWRITING'-'承保中','FINISHED'-'已完成','DECLINED'-'已拒绝','CANCELLED'-'已取消'
, 字典值: csf_policy_follow_status"
)
@Schema
(
description
=
"新单状态, 字典值: csf_policy_follow_status"
)
private
String
status
;
private
String
status
;
/**
/**
...
@@ -40,33 +40,33 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
...
@@ -40,33 +40,33 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
*/
*/
@Schema
(
description
=
"签单日期开始 格式: yyyy-MM-dd"
,
example
=
"2023-01-01"
,
format
=
"yyyy-MM-dd"
)
@Schema
(
description
=
"签单日期开始 格式: yyyy-MM-dd"
,
example
=
"2023-01-01"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@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"
)
@Schema
(
description
=
"签单日期结束 格式: yyyy-MM-dd"
,
example
=
"2023-01-01"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@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"
)
@Schema
(
description
=
"最晚缴费日期 格式: yyyy-MM-dd"
,
example
=
"2023-01-01"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Local
Date
latestPaymentDate
;
private
Date
latestPaymentDate
;
/**
/**
* 投保人业务id列表
* 投保人业务id列表
*/
*/
@Schema
(
description
=
"投保人业务id列表"
)
//
@Schema(description = "投保人业务id列表")
private
List
<
String
>
policyholderBizIdList
;
//
private List<String> policyholderBizIdList;
/**
/**
* 受保人业务id列表
* 受保人业务id列表
*/
*/
@Schema
(
description
=
"受保人业务id列表"
)
//
@Schema(description = "受保人业务id列表")
private
List
<
String
>
policyInsurantBizIdList
;
//
private List<String> policyInsurantBizIdList;
/**
/**
* 保险公司业务id列表
* 保险公司业务id列表
...
@@ -84,7 +84,7 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
...
@@ -84,7 +84,7 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
* 缴费年期
* 缴费年期
*/
*/
@Schema
(
description
=
"缴费年期"
)
@Schema
(
description
=
"缴费年期"
)
private
String
paymentTerm
;
private
String
issueNumber
;
private
static
final
long
serialVersionUID
=
1L
;
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;
...
@@ -3,16 +3,22 @@ package com.yd.csf.service.enums;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
/**
/**
* 新单跟进状态枚举
'CHECKING'-'审核中','UNDERWRITING'-'承保中','FINISHED'-'已完成','DECLINED'-'已拒绝','CANCELLED'-'已取消'
* 新单跟进状态枚举
*/
*/
public
enum
PolicyFollowStatusEnum
{
public
enum
PolicyFollowStatusEnum
{
FOLLOW_UP
(
"待跟进"
,
"FOLLOW_UP"
),
PENDING_SIGN
(
"待签单"
,
"PENDING_SIGN"
),
CHECKING
(
"文件检查中"
,
"CHECKING"
),
SIGNED
(
"已签单"
,
"SIGNED"
),
UNDERWRITING
(
"承保中"
,
"UNDERWRITING"
),
WAITING_PAYMENT
(
"等待汇款"
,
"WAITING_PAYMENT"
),
FINISHED
(
"已完成"
,
"FINISHED"
),
PREMIUM_RECONCILING
(
"首期保费对账中"
,
"PREMIUM_RECONCILING"
),
DECLINED
(
"已拒绝"
,
"DECLINED"
),
PREMIUM_RECONCILED_UNDERWRITING
(
"保费对账成功,核保中"
,
"PREMIUM_RECONCILED_UNDERWRITING"
),
CANCELLED
(
"已取消"
,
"CANCELLED"
),
EFFECTIVE
(
"生效"
,
"EFFECTIVE"
),
CANCELLED
(
"取消投保"
,
"CANCELLED"
),
DECLINED
(
"拒保"
,
"DECLINED"
),
DELAYED_UNDERWRITING
(
"延缓承保"
,
"DELAYED_UNDERWRITING"
),
LAPSED
(
"失效"
,
"LAPSED"
),
CLOSED
(
"关闭"
,
"CLOSED"
),
;
;
//字典项标签(名称)
//字典项标签(名称)
private
String
itemLabel
;
private
String
itemLabel
;
//字典项值
//字典项值
...
@@ -68,4 +74,18 @@ public enum PolicyFollowStatusEnum {
...
@@ -68,4 +74,18 @@ public enum PolicyFollowStatusEnum {
return
null
;
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
;
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.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.enums.PolicyFollowStatusEnum
;
import
com.yd.csf.service.model.PolicyBroker
;
import
com.yd.csf.service.model.PolicyFollow
;
import
com.yd.csf.service.model.PolicyFollow
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -13,8 +10,6 @@ import org.springframework.beans.BeanUtils;
...
@@ -13,8 +10,6 @@ import org.springframework.beans.BeanUtils;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.*
;
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 {
...
@@ -24,6 +19,9 @@ public class PolicyFollowVO implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
@Schema
(
description
=
"policy follow id"
)
private
Long
id
;
/**
/**
* 新单跟进唯一业务ID
* 新单跟进唯一业务ID
*/
*/
...
@@ -31,40 +29,84 @@ public class PolicyFollowVO implements Serializable {
...
@@ -31,40 +29,84 @@ public class PolicyFollowVO implements Serializable {
private
String
policyBizId
;
private
String
policyBizId
;
/**
/**
*
下一步跟进状态列表
*
保单号
*/
*/
@Schema
(
description
=
"
下一步跟进状态列表, 下拉框
"
)
@Schema
(
description
=
"
保单号
"
)
private
Object
nextStatusList
;
private
String
policyNo
;
/**
/**
* 新单跟进
Dto
* 新单跟进
状态
*/
*/
@Schema
(
description
=
"新单跟进
Dto
"
)
@Schema
(
description
=
"新单跟进
状态
"
)
private
PolicyFollowUpdateDto
policyFollowUpdateDto
;
private
String
status
;
/**
/**
*
转介人
*
预约信息主表唯一业务ID
*/
*/
@Schema
(
description
=
"
转介人
"
)
@Schema
(
description
=
"
预约信息主表唯一业务ID
"
)
private
List
<
PolicyBroker
>
brokerList
;
private
String
appointmentBizId
;
/**
/**
*
核保信息
*
预约编号
*/
*/
@Schema
(
description
=
"
核保信息
"
)
@Schema
(
description
=
"
预约编号
"
)
private
VerifyPolicyInfo
verifyPolicyInf
o
;
private
String
appointmentN
o
;
/**
/**
*
保单邮寄
*
客户业务id
*/
*/
@Schema
(
description
=
"
保单邮寄
"
)
@Schema
(
description
=
"
客户业务id
"
)
private
PolicyMailing
policyMailing
;
private
String
customerBizId
;
/**
/**
*
保单信息
*
签单日
*/
*/
// private Policy policy;
@Schema
(
description
=
"签单日"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
signDate
;
/**
* 最晚缴费日
*/
@Schema
(
description
=
"最晚缴费日"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
latestPaymentDate
;
/**
* 保單持有人
*/
@Schema
(
description
=
"投保人"
)
private
String
policyHolder
;
/**
* 受保人
*/
@Schema
(
description
=
"受保人"
)
private
String
insured
;
/**
* 产品计划唯一业务ID
*/
@Schema
(
description
=
"产品计划唯一业务ID"
)
private
String
productLaunchBizId
;
/**
* 产品计划
*/
@Schema
(
description
=
"产品计划"
)
private
String
productName
;
/**
* 保险公司
*/
@Schema
(
description
=
"保险公司"
)
private
String
insuranceCompany
;
/**
* 保险公司业务id
*/
@Schema
(
description
=
"保险公司业务id"
)
private
String
insuranceCompanyBizId
;
/**
/**
* 对象转封装类
* 对象转封装类
...
@@ -77,35 +119,9 @@ public class PolicyFollowVO implements Serializable {
...
@@ -77,35 +119,9 @@ public class PolicyFollowVO implements Serializable {
return
null
;
return
null
;
}
}
PolicyFollowVO
policyFollowVO
=
new
PolicyFollowVO
();
PolicyFollowVO
policyFollowVO
=
new
PolicyFollowVO
();
policyFollowVO
.
setPolicyBizId
(
policyFollow
.
getPolicyBizId
());
BeanUtils
.
copyProperties
(
policyFollow
,
policyFollowVO
);
// 状态映射为中文
// 转换PolicyFollowUpdateDto
policyFollowVO
.
setStatus
(
PolicyFollowStatusEnum
.
mapStatusToLabel
(
policyFollow
.
getStatus
()));
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
);
return
policyFollowVO
;
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