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
311c5399
Commit
311c5399
authored
Nov 19, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新单跟进67
parent
bcade7a2
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
176 additions
and
14 deletions
+176
-14
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
+6
-0
yd-csf-api/src/main/java/com/yd/csf/api/dto/PolicyExcelDTO.java
+3
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerAddRequest.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerUpdateRequest.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowAddRequest.java
+14
-2
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowUpdateDto.java
+35
-3
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicySigner.java
+45
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Policy.java
+10
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/PolicyFollow.java
+28
-2
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyFollowServiceImpl.java
+13
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/PolicyFollowVO.java
+8
-0
yd-csf-service/src/main/resources/mappers/PolicyFollowMapper.xml
+9
-4
yd-csf-service/src/main/resources/mappers/PolicyMapper.xml
+3
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
View file @
311c5399
package
com
.
yd
.
csf
.
api
.
controller
;
import
cn.hutool.core.date.DateField
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelReader
;
import
com.alibaba.excel.context.AnalysisContext
;
...
...
@@ -253,12 +255,16 @@ public class ApiPolicyFollowController {
policyFollow
.
setStatus
(
policyFollowStatusEnum
.
getItemValue
());
}
policyFollow
.
setReconciliationCompanyBizId
(
reconciliationCompanyMap
.
get
(
policyExcelDTO
.
getReconciliationCompany
()));
if
(
policyFollow
.
getEffectiveDate
()!=
null
&&
policyFollow
.
getCoolingOffDays
()
!=
null
)
{
policyFollow
.
setCoolingOffEndDate
(
DateUtil
.
offset
(
policyFollow
.
getEffectiveDate
(),
DateField
.
DAY_OF_MONTH
,
policyFollow
.
getCoolingOffDays
()));
}
// 转换为Policy对象
Policy
policy
=
new
Policy
();
BeanUtils
.
copyProperties
(
policyExcelDTO
,
policy
);
policy
.
setPolicyBizId
(
policyBizId
);
policy
.
setReconciliationCompanyBizId
(
policyFollow
.
getReconciliationCompanyBizId
());
policy
.
setCoolingOffEndDate
(
policyFollow
.
getCoolingOffEndDate
());
// 转换为PolicyBroker对象
List
<
PolicyBroker
>
policyBrokerList
=
new
ArrayList
<>();
...
...
yd-csf-api/src/main/java/com/yd/csf/api/dto/PolicyExcelDTO.java
View file @
311c5399
...
...
@@ -22,6 +22,9 @@ public class PolicyExcelDTO {
@ExcelProperty
(
"生效日期"
)
private
Date
effectiveDate
;
@ExcelProperty
(
"冷静期天数"
)
private
Integer
coolingOffDays
;
@ExcelProperty
(
"续保日期"
)
private
Date
renewalDate
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerAddRequest.java
View file @
311c5399
...
...
@@ -207,7 +207,7 @@ public class CustomerAddRequest implements Serializable {
* 客户类型
*/
@Schema
(
description
=
"客户类型 字典值: csf_customer_type"
)
private
String
customerType
;
private
Object
customerType
;
/**
* 居住地区代码
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerUpdateRequest.java
View file @
311c5399
...
...
@@ -208,7 +208,7 @@ public class CustomerUpdateRequest implements Serializable {
* 客户类型
*/
@Schema
(
description
=
"客户类型 字典值: csf_customer_type"
)
private
String
customerType
;
private
Object
customerType
;
/**
* 居住地区代码
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowAddRequest.java
View file @
311c5399
...
...
@@ -18,10 +18,22 @@ public class PolicyFollowAddRequest implements Serializable {
private
String
policyNo
;
/**
* 冷静期天数
*/
@Schema
(
description
=
"冷静期天数"
)
private
Integer
coolingOffDays
;
/**
* 保单生效日期
*/
@Schema
(
description
=
"保单生效日期 格式:yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
effectiveDate
;
/**
* 签单日期
*/
@Schema
(
description
=
"签单日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Schema
(
description
=
"签单日期
格式:yyyy-MM-dd
"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
signDate
;
/**
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowUpdateDto.java
View file @
311c5399
...
...
@@ -45,10 +45,23 @@ public class PolicyFollowUpdateDto implements Serializable {
private
Date
signDate
;
/**
* 签单
人
* 签单
员列表
*/
@Schema
(
description
=
"签单人"
)
private
String
signer
;
@Schema
(
description
=
"签单员列表"
)
private
List
<
PolicySigner
>
signerList
;
/**
* 冷静期天数
*/
@Schema
(
description
=
"冷静期天数"
)
private
Integer
coolingOffDays
;
/**
* 冷静期结束日期
*/
@Schema
(
description
=
"冷静期结束日期"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
coolingOffEndDate
;
/**
* 生效日期
...
...
@@ -161,6 +174,25 @@ public class PolicyFollowUpdateDto implements Serializable {
private
String
policyLevy
;
/**
* 首期已交保费
*/
@Schema
(
description
=
"首期已交保费"
)
private
String
initialPremiumPaid
;
/**
* 首期待交保费
*/
@Schema
(
description
=
"首期待交保费"
)
private
String
initialPremiumDue
;
/**
* 最晚缴费日期
*/
@Schema
(
description
=
"最晚缴费日期 格式: yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
latestPaymentDate
;
/**
* 备注
*/
@Schema
(
description
=
"备注"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicySigner.java
0 → 100644
View file @
311c5399
package
com
.
yd
.
csf
.
service
.
dto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
@Data
public
class
PolicySigner
{
/**
* 签单员姓名
*/
@Schema
(
description
=
"签单员姓名"
)
private
String
signer
;
/**
* 签单员手机号
*/
@Schema
(
description
=
"签单员手机号"
)
private
String
phone
;
/**
* 签单员执业编码
*/
@Schema
(
description
=
"签单员执业编码"
)
private
String
registrationNumber
;
/**
* 签单员邮箱
*/
@Schema
(
description
=
"签单员邮箱"
)
private
String
email
;
/**
* 签单员证件类型
*/
@Schema
(
description
=
"签单员证件类型"
)
private
String
idType
;
/**
* 签单员证件号
*/
@Schema
(
description
=
"签单员证件号"
)
private
String
idNo
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/Policy.java
View file @
311c5399
...
...
@@ -132,6 +132,16 @@ public class Policy implements Serializable {
*/
private
Date
effectiveDate
;
/**
* 冷却期结束日期
*/
private
Date
coolingOffEndDate
;
/**
* 冷却期天数
*/
private
Integer
coolingOffDays
;
/**
* 续保日期
*/
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/PolicyFollow.java
View file @
311c5399
...
...
@@ -6,6 +6,7 @@ import java.io.Serializable;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
...
...
@@ -68,9 +69,9 @@ public class PolicyFollow implements Serializable {
private
Date
signDate
;
/**
* 签单
人
* 签单
员列表
*/
private
String
signer
;
private
String
signer
List
;
/**
* 缮发日期
...
...
@@ -82,6 +83,16 @@ public class PolicyFollow implements Serializable {
*/
private
Date
effectiveDate
;
/**
* 冷却期结束日期
*/
private
Date
coolingOffEndDate
;
/**
* 冷却期天数
*/
private
Integer
coolingOffDays
;
/**
* 续保日期
*/
...
...
@@ -198,6 +209,21 @@ public class PolicyFollow implements Serializable {
private
String
policyLevy
;
/**
* 首期已交保费
*/
private
String
initialPremiumPaid
;
/**
* 首期待交保费
*/
private
String
initialPremiumDue
;
/**
* 最晚缴费日期
*/
private
Date
latestPaymentDate
;
/**
* 寄送方式 1-自提, 2-快递
*/
private
String
mailingMethod
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyFollowServiceImpl.java
View file @
311c5399
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.DateField
;
import
cn.hutool.core.date.DateUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
...
@@ -18,6 +20,7 @@ import com.yd.csf.service.model.*;
import
com.yd.csf.service.service.*
;
import
com.yd.csf.service.dao.PolicyFollowMapper
;
import
com.yd.csf.service.utils.AsyncQueryUtil
;
import
com.yd.csf.service.utils.GSONUtil
;
import
com.yd.csf.service.vo.PolicyFollowDetailVO
;
import
com.yd.csf.service.vo.PolicyFollowVO
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -148,6 +151,13 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
PolicyFollowUpdateDto
policyFollowUpdateDto
=
policyFollowUpdateRequest
.
getPolicyFollowUpdateDto
();
if
(
policyFollowUpdateDto
!=
null
)
{
BeanUtils
.
copyProperties
(
policyFollowUpdateDto
,
policyFollow
,
"id"
,
"policyBizId"
);
if
(
CollectionUtils
.
isNotEmpty
(
policyFollowUpdateDto
.
getSignerList
()))
{
policyFollow
.
setSignerList
(
GSONUtil
.
toJson
(
policyFollowUpdateDto
.
getSignerList
()));
}
// 计算冷却期结束日期
if
(
policyFollowUpdateDto
.
getCoolingOffDays
()
!=
null
&&
policyFollowUpdateDto
.
getEffectiveDate
()
!=
null
)
{
policyFollow
.
setCoolingOffEndDate
(
DateUtil
.
offset
(
policyFollowUpdateDto
.
getEffectiveDate
(),
DateField
.
DAY_OF_MONTH
,
policyFollowUpdateDto
.
getCoolingOffDays
()));
}
}
// 设置核保信息
setValidPolicyInfo
(
policyFollow
,
policyFollowUpdateRequest
.
getVerifyPolicyInfo
());
...
...
@@ -233,6 +243,9 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
// 生成新单编号
String
policyBizId
=
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_POLICY
.
getCode
());
policyFollow
.
setPolicyBizId
(
policyBizId
);
if
(
policyFollowAddRequest
.
getCoolingOffDays
()
!=
null
)
{
policyFollow
.
setCoolingOffEndDate
(
DateUtil
.
offset
(
policyFollowAddRequest
.
getEffectiveDate
(),
DateField
.
DAY_OF_MONTH
,
policyFollowAddRequest
.
getCoolingOffDays
()));
}
// 创建 Policy对象
Policy
policy
=
new
Policy
();
BeanUtils
.
copyProperties
(
policyFollowAddRequest
,
policy
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/PolicyFollowVO.java
View file @
311c5399
package
com
.
yd
.
csf
.
service
.
vo
;
import
com.google.common.reflect.TypeToken
;
import
com.yd.csf.service.dto.PolicyFollowUpdateDto
;
import
com.yd.csf.service.dto.PolicyMailing
;
import
com.yd.csf.service.dto.VerifyPolicyInfo
;
...
...
@@ -12,6 +13,8 @@ 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
;
/**
* 新单跟进视图
...
...
@@ -79,6 +82,11 @@ public class PolicyFollowVO implements Serializable {
// 转换PolicyFollowUpdateDto
PolicyFollowUpdateDto
policyFollowUpdateDto
=
new
PolicyFollowUpdateDto
();
BeanUtils
.
copyProperties
(
policyFollow
,
policyFollowUpdateDto
);
// 转换 signerList 字段
if
(
policyFollow
.
getSignerList
()
!=
null
&&
!
policyFollow
.
getSignerList
().
isEmpty
())
{
policyFollowUpdateDto
.
setSignerList
(
GSONUtil
.
fromJson
(
policyFollow
.
getSignerList
(),
new
TypeToken
<
List
<
PolicySigner
>>()
{
}.
getType
()));
}
policyFollowVO
.
setPolicyFollowUpdateDto
(
policyFollowUpdateDto
);
// 处理 nextStatusList 字段
...
...
yd-csf-service/src/main/resources/mappers/PolicyFollowMapper.xml
View file @
311c5399
...
...
@@ -15,9 +15,11 @@
<result
property=
"submitDate"
column=
"submit_date"
/>
<result
property=
"customerName"
column=
"customer_name"
/>
<result
property=
"signDate"
column=
"sign_date"
/>
<result
property=
"signer
"
column=
"signer
"
/>
<result
property=
"signer
List"
column=
"signer_list
"
/>
<result
property=
"issueDate"
column=
"issue_date"
/>
<result
property=
"effectiveDate"
column=
"effective_date"
/>
<result
property=
"coolingOffEndDate"
column=
"cooling_off_end_date"
/>
<result
property=
"coolingOffDays"
column=
"cooling_off_days"
/>
<result
property=
"renewalDate"
column=
"renewal_date"
/>
<result
property=
"paymentTerm"
column=
"payment_term"
/>
<result
property=
"paymentPremium"
column=
"payment_premium"
/>
...
...
@@ -40,6 +42,9 @@
<result
property=
"insured"
column=
"insured"
/>
<result
property=
"currency"
column=
"currency"
/>
<result
property=
"initialPremium"
column=
"initial_premium"
/>
<result
property=
"initialPremiumPaid"
column=
"initial_premium_paid"
/>
<result
property=
"initialPremiumDue"
column=
"initial_premium_due"
/>
<result
property=
"latestPaymentDate"
column=
"latest_payment_date"
/>
<result
property=
"policyLevy"
column=
"policy_levy"
/>
<result
property=
"mailingMethod"
column=
"mailing_method"
/>
<result
property=
"deliveryNo"
column=
"delivery_no"
/>
...
...
@@ -57,12 +62,12 @@
<sql
id=
"Base_Column_List"
>
id,policy_biz_id,policy_no,appointment_biz_id,appointment_no,user_biz_id,
customer_biz_id,submit_date,customer_name,sign_date,signer,
issue_date,effective_date,renewal_date,payment_term,payment_premium,
customer_biz_id,submit_date,customer_name,sign_date,signer
_list
,
issue_date,effective_date,
cooling_off_end_date,cooling_off_days,
renewal_date,payment_term,payment_premium,
is_prepaid,prepaid_term,prepaid_amount,prepaid_amount_after_discount,policy_expiration_date,
payment_number,product_biz_id,product_name,product_cate,insurer,
insurer_biz_id,reconciliation_company,reconciliation_company_biz_id,status,next_status_list,
policy_holder,insured,currency,initial_premium,policy_levy,mailing_method,
policy_holder,insured,currency,initial_premium,
initial_premium_paid,initial_premium_due,latest_payment_date,
policy_levy,mailing_method,
delivery_no,broker_sign_date,insurer_mailing_date,customer_sign_date,attachments,
remark,is_deleted,creator_id,updater_id,create_time,
update_time
...
...
yd-csf-service/src/main/resources/mappers/PolicyMapper.xml
View file @
311c5399
...
...
@@ -28,6 +28,8 @@
<result
property=
"signDate"
column=
"sign_date"
/>
<result
property=
"issueDate"
column=
"issue_date"
/>
<result
property=
"effectiveDate"
column=
"effective_date"
/>
<result
property=
"coolingOffEndDate"
column=
"cooling_off_end_date"
/>
<result
property=
"coolingOffDays"
column=
"cooling_off_days"
/>
<result
property=
"renewalDate"
column=
"renewal_date"
/>
<result
property=
"isPrepaid"
column=
"is_prepaid"
/>
<result
property=
"deductibles"
column=
"deductibles"
/>
...
...
@@ -54,7 +56,7 @@
product_name,product_cate,insurer,insurer_biz_id,region,
policy_holder,insured,sum_insured,payment_term,payment_frequency,payment_premium,
status,currency,initial_premium,sign_date,issue_date,
effective_date,renewal_date,is_prepaid,deductibles,prepaid_term,
effective_date,
cooling_off_end_date,cooling_off_days,
renewal_date,is_prepaid,deductibles,prepaid_term,
initial_payment_method,renewal_payment_method,dividend_distribution_method,is_backtrack,is_join,
reconciliation_company,reconciliation_company_biz_id,policy_transfer,policy_levy,remark,is_deleted,creator_id,
updater_id,create_time,update_time
...
...
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