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
0f54f404
Commit
0f54f404
authored
Apr 10, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
4471fa35
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
222 additions
and
8 deletions
+222
-8
yd-csf-api/src/main/java/com/yd/csf/api/async/ApiExpectedFortuneAsyncService.java
+151
-1
yd-csf-api/src/main/java/com/yd/csf/api/dto/AlgorithmCollectResDto.java
+37
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
+30
-5
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiPremiumReconciliationServiceImpl.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/model/CalmTask.java
+3
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/async/ApiExpectedFortuneAsyncService.java
View file @
0f54f404
package
com
.
yd
.
csf
.
api
.
async
;
package
com
.
yd
.
csf
.
api
.
async
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.dto.AlgorithmCollectResDto
;
import
com.yd.csf.api.dto.AlgorithmResDto
;
import
com.yd.csf.api.service.ApiExpectedFortuneService
;
import
com.yd.csf.api.service.ApiExpectedFortuneService
;
import
com.yd.csf.feign.request.expectedfortune.ApiGenerateExpectedFortuneRequest
;
import
com.yd.csf.feign.request.expectedfortune.ApiGenerateExpectedFortuneRequest
;
import
com.yd.csf.feign.response.expectedfortune.ApiGenerateExpectedFortuneResponse
;
import
com.yd.csf.feign.response.expectedfortune.ApiGenerateExpectedFortuneResponse
;
import
com.yd.csf.service.model.CalmTask
;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.model.PolicyFollow
;
import
com.yd.csf.service.service.ICalmTaskService
;
import
com.yd.csf.service.service.PolicyFollowService
;
import
com.yd.csf.service.service.PolicyService
;
import
com.yd.feign.config.FeignTokenInterceptor
;
import
com.yd.feign.config.FeignTokenInterceptor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.RequestContextHolder
;
...
@@ -13,16 +25,30 @@ import org.springframework.web.context.request.ServletRequestAttributes;
...
@@ -13,16 +25,30 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.time.ZoneId
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
/**
* 发佣异步类
*/
@Slf4j
@Slf4j
@Component
@Component
public
class
ApiExpectedFortuneAsyncService
{
public
class
ApiExpectedFortuneAsyncService
{
@Resource
@Resource
private
ApiExpectedFortuneService
apiExpectedFortuneService
;
private
ApiExpectedFortuneService
apiExpectedFortuneService
;
@Resource
private
PolicyFollowService
policyFollowService
;
@Resource
private
PolicyService
policyService
;
@Resource
private
ICalmTaskService
iCalmTaskService
;
/**
/**
* 异步处理
* 异步处理
-执行预计发拥数据
*
*
* @return
* @return
*/
*/
...
@@ -51,4 +77,128 @@ public class ApiExpectedFortuneAsyncService {
...
@@ -51,4 +77,128 @@ public class ApiExpectedFortuneAsyncService {
}
}
}
}
// /**
// * 异步处理-构建冷静期定时任务
// * @param collectResDtos
// */
// @Async("commonAsyncExecutor")
// public void buildCalmDateTask(List<AlgorithmCollectResDto> collectResDtos,String policyNo){
// //collectResDtos要分组,分组条件是clientUserBizId,sumCalculatedValue和commissionName需要分组统计计算,拿到分组后的创建新的List<AlgorithmCollectResDto>返回
//
// }
/**
* 异步处理-构建冷静期定时任务
* @param collectResDtos 原始计算结果收集列表
* @param policyNo 保单号
*/
@Async
(
"commonAsyncExecutor"
)
public
void
buildCalmDateTask
(
List
<
AlgorithmCollectResDto
>
collectResDtos
,
String
policyNo
)
{
if
(
CollectionUtils
.
isEmpty
(
collectResDtos
))
{
log
.
info
(
"构建冷静期定时任务,collectResDtos 为空,policyNo: {}"
,
policyNo
);
return
;
}
//新单跟进对象
PolicyFollow
policyFollow
=
policyFollowService
.
queryOneByPolicyNo
(
policyNo
);
//保单对象
// Policy policy = policyService.queryOne(policyNo);
// 按 clientUserBizId 分组,计算每个用户的 sumCalculatedValue 和 commissionName
Map
<
String
,
AlgorithmCollectResDto
>
groupedMap
=
collectResDtos
.
stream
()
.
filter
(
dto
->
StringUtils
.
isNotBlank
(
dto
.
getClientUserBizId
()))
.
collect
(
Collectors
.
toMap
(
AlgorithmCollectResDto:
:
getClientUserBizId
,
Function
.
identity
(),
(
existing
,
replacement
)
->
{
// 合并:累加 sumCalculatedValue,合并 commissionName
BigDecimal
sum1
=
existing
.
getSumCalculatedValue
()
!=
null
?
existing
.
getSumCalculatedValue
()
:
BigDecimal
.
ZERO
;
BigDecimal
sum2
=
calculateSumFromResList
(
replacement
.
getAlgorithmResDtoList
());
existing
.
setSumCalculatedValue
(
sum1
.
add
(
sum2
));
String
commission1
=
existing
.
getCommissionName
()
!=
null
?
existing
.
getCommissionName
()
:
""
;
String
commission2
=
buildCommissionName
(
replacement
.
getAlgorithmResDtoList
());
existing
.
setCommissionName
(
mergeCommissionNames
(
commission1
,
commission2
));
return
existing
;
}
));
// 构造calmTask列表返回
List
<
CalmTask
>
resultList
=
groupedMap
.
values
().
stream
().
map
(
dto
->
{
//计算合计值
BigDecimal
totalSum
=
dto
.
getSumCalculatedValue
();
if
(
totalSum
==
null
||
(
totalSum
!=
null
&&
totalSum
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
))
{
//计算合计值为空或者0,直接返回null,不构造此CalmTask对象。
return
null
;
}
CalmTask
calmTask
=
new
CalmTask
();
calmTask
.
setBrokerBizId
(
dto
.
getClientUserBizId
());
calmTask
.
setBrokerName
(
dto
.
getClientUserName
());
//当前保单转介人累计FYC(当前保单转介人基本法计算积分合值)
calmTask
.
setTotalFyc
(
totalSum
);
calmTask
.
setCommissionName
(
dto
.
getCommissionName
());
//执行状态->未执行
calmTask
.
setExecutionStatus
(
"0"
);
calmTask
.
setCalmTaskBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_CALM_TASK
.
getCode
()));
//冷静期天数
calmTask
.
setCoolingOffDays
(
policyFollow
.
getCoolingOffDays
());
//冷静期结束日期
calmTask
.
setCoolingOffEndDate
(
policyFollow
.
getCoolingOffEndDate
());
//执行时间(定时任务执行时间)
calmTask
.
setExecutionTime
(
policyFollow
.
getCoolingOffEndDate
().
toInstant
()
.
atZone
(
ZoneId
.
of
(
"Asia/Shanghai"
))
.
toLocalDateTime
());
//新单跟进唯一业务ID
calmTask
.
setPolicyBizId
(
policyFollow
.
getPolicyBizId
());
//保单号
calmTask
.
setPolicyNo
(
policyNo
);
return
calmTask
;
}).
collect
(
Collectors
.
toList
());
iCalmTaskService
.
saveOrUpdateBatch
(
resultList
);
log
.
info
(
"完成基本法分组计算,policyNo: {}, 分组后用户数: {}"
,
policyNo
,
resultList
.
size
());
// 构建冷静期定时任务逻辑
}
/**
* 从 AlgorithmResDto 列表中计算所有 calculatedValue 的总和
*/
private
BigDecimal
calculateSumFromResList
(
List
<
AlgorithmResDto
>
resDtoList
)
{
if
(
CollectionUtils
.
isEmpty
(
resDtoList
))
{
return
BigDecimal
.
ZERO
;
}
return
resDtoList
.
stream
()
.
map
(
AlgorithmResDto:
:
getCalculatedValue
)
.
filter
(
Objects:
:
nonNull
)
.
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
}
/**
* 从 AlgorithmResDto 列表中构建去重后的佣金项目名称(分号拼接)
*/
private
String
buildCommissionName
(
List
<
AlgorithmResDto
>
resDtoList
)
{
if
(
CollectionUtils
.
isEmpty
(
resDtoList
))
{
return
""
;
}
return
resDtoList
.
stream
()
.
map
(
AlgorithmResDto:
:
getItemName
)
.
filter
(
StringUtils:
:
isNotBlank
)
.
distinct
()
.
collect
(
Collectors
.
joining
(
";"
));
}
/**
* 合并两个佣金名称字符串(去重后用分号拼接)
*/
private
String
mergeCommissionNames
(
String
name1
,
String
name2
)
{
Set
<
String
>
nameSet
=
new
LinkedHashSet
<>();
if
(
StringUtils
.
isNotBlank
(
name1
))
{
nameSet
.
addAll
(
Arrays
.
asList
(
name1
.
split
(
";"
)));
}
if
(
StringUtils
.
isNotBlank
(
name2
))
{
nameSet
.
addAll
(
Arrays
.
asList
(
name2
.
split
(
";"
)));
}
return
String
.
join
(
";"
,
nameSet
);
}
}
}
yd-csf-api/src/main/java/com/yd/csf/api/dto/AlgorithmCollectResDto.java
0 → 100644
View file @
0f54f404
package
com
.
yd
.
csf
.
api
.
dto
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* 基本法计算值收集对象
*/
@Data
public
class
AlgorithmCollectResDto
{
/**
* 客户端用户业务ID
*/
private
String
clientUserBizId
;
/**
* 客户端用户名称
*/
private
String
clientUserName
;
/**
* 计算值-当前用户的基本法合计值(客户端用户业务ID分组后统计组内的algorithmResDtoList的里面的calculatedValue合计值)
*/
private
BigDecimal
sumCalculatedValue
;
/**
* 计算值-佣金项目(去重algorithmResDtoList的itemName通过分号拼接的)
*/
private
String
commissionName
;
/**
* 算法-基本法计算-返回的列表(当前客户端用户绑定的多个基本法类型的计算值列表)
*/
private
List
<
AlgorithmResDto
>
algorithmResDtoList
;
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
View file @
0f54f404
...
@@ -18,6 +18,7 @@ import com.yd.common.exception.BusinessException;
...
@@ -18,6 +18,7 @@ import com.yd.common.exception.BusinessException;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RedisUtil
;
import
com.yd.common.utils.RedisUtil
;
import
com.yd.csf.api.async.ApiExpectedFortuneAsyncService
;
import
com.yd.csf.api.dto.*
;
import
com.yd.csf.api.dto.*
;
import
com.yd.csf.api.service.ApiBasicLawCalculateService
;
import
com.yd.csf.api.service.ApiBasicLawCalculateService
;
import
com.yd.csf.api.service.ApiCommissionConditionService
;
import
com.yd.csf.api.service.ApiCommissionConditionService
;
...
@@ -117,6 +118,9 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -117,6 +118,9 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
@Autowired
@Autowired
private
ApiCommissionConditionService
apiCommissionConditionService
;
private
ApiCommissionConditionService
apiCommissionConditionService
;
@Autowired
private
ApiExpectedFortuneAsyncService
apiExpectedFortuneAsyncService
;
/**
/**
* 生成预计发佣
* 生成预计发佣
*
*
...
@@ -520,6 +524,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -520,6 +524,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
String
token2
=
request2
.
getHeader
(
"Authorization"
);
String
token2
=
request2
.
getHeader
(
"Authorization"
);
log
.
info
(
"使用编程式事务,确保方法内的事务一致性 token==============,{}"
,
token2
);
log
.
info
(
"使用编程式事务,确保方法内的事务一致性 token==============,{}"
,
token2
);
//基本法计算值收集列表
List
<
AlgorithmCollectResDto
>
collectResDtos
=
new
ArrayList
<>();
for
(
QueryPolicyAndBrokerDto
brokerDto
:
queryPolicyAndBrokerDtoList
)
{
for
(
QueryPolicyAndBrokerDto
brokerDto
:
queryPolicyAndBrokerDtoList
)
{
// Integer paymentTerm = brokerDto.getPaymentTerm();
// Integer paymentTerm = brokerDto.getPaymentTerm();
if
(
paymentTerm
==
null
||
paymentTerm
==
0
)
{
if
(
paymentTerm
==
null
||
paymentTerm
==
0
)
{
...
@@ -529,20 +535,33 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -529,20 +535,33 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
List
<
CommissionRuleBinding
>
commissionRuleBindingList
=
brokerRelUserIdList
(
brokerDto
);
List
<
CommissionRuleBinding
>
commissionRuleBindingList
=
brokerRelUserIdList
(
brokerDto
);
log
.
info
(
"同步处理-> 遍历保单转介人列表信息 -> 调用基本法算出预计发佣列表->commissionRuleBindingList:{}"
,
JSON
.
toJSONString
(
commissionRuleBindingList
));
log
.
info
(
"同步处理-> 遍历保单转介人列表信息 -> 调用基本法算出预计发佣列表->commissionRuleBindingList:{}"
,
JSON
.
toJSONString
(
commissionRuleBindingList
));
for
(
int
i
=
1
;
i
<=
paymentTerm
;
i
++)
{
for
(
int
i
=
1
;
i
<=
paymentTerm
;
i
++)
{
executeBilling
(
ExecuteBillingDto
.
builder
()
Result
<
List
<
AlgorithmResDto
>>
result
=
executeBilling
(
ExecuteBillingDto
.
builder
()
.
name
(
brokerDto
.
getBrokerName
())
.
name
(
brokerDto
.
getBrokerName
())
.
policyAndBrokerDto
(
brokerDto
)
.
policyAndBrokerDto
(
brokerDto
)
.
issueNumber
(
i
)
.
issueNumber
(
i
)
.
build
());
.
build
());
//收集计算销售佣金的转介人
AlgorithmCollectResDto
resDto
=
new
AlgorithmCollectResDto
();
resDto
.
setClientUserBizId
(
brokerDto
.
getBrokerBizId
());
resDto
.
setClientUserName
(
brokerDto
.
getBrokerName
());
resDto
.
setAlgorithmResDtoList
(
result
.
getData
());
collectResDtos
.
add
(
resDto
);
if
(!
CollectionUtils
.
isEmpty
(
commissionRuleBindingList
))
{
if
(!
CollectionUtils
.
isEmpty
(
commissionRuleBindingList
))
{
for
(
CommissionRuleBinding
binding
:
commissionRuleBindingList
)
{
for
(
CommissionRuleBinding
binding
:
commissionRuleBindingList
)
{
executeReward
(
ExecuteBillingDto
.
builder
()
Result
<
List
<
AlgorithmResDto
>>
result1
=
executeReward
(
ExecuteBillingDto
.
builder
()
.
clientUserBizId
(
binding
.
getTargetId
())
.
clientUserBizId
(
binding
.
getTargetId
())
.
name
(
binding
.
getTargetName
())
.
name
(
binding
.
getTargetName
())
.
policyAndBrokerDto
(
brokerDto
)
.
policyAndBrokerDto
(
brokerDto
)
.
issueNumber
(
i
)
.
issueNumber
(
i
)
.
build
());
.
build
());
//收集计算非销售佣金的转介人
AlgorithmCollectResDto
resDto1
=
new
AlgorithmCollectResDto
();
resDto
.
setClientUserBizId
(
binding
.
getTargetId
());
resDto
.
setClientUserName
(
binding
.
getTargetName
());
resDto
.
setAlgorithmResDtoList
(
result1
.
getData
());
collectResDtos
.
add
(
resDto1
);
}
}
}
}
}
}
...
@@ -564,6 +583,10 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -564,6 +583,10 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
.
policyNo
(
policyNo
)
.
policyNo
(
policyNo
)
.
status
(
0
)
.
status
(
0
)
.
build
());
.
build
());
//异步处理-构建冷静期定时任务
apiExpectedFortuneAsyncService
.
buildCalmDateTask
(
collectResDtos
,
policyNo
);
return
Result
.
success
();
return
Result
.
success
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
//抛出异常,销毁redis缓存
//抛出异常,销毁redis缓存
...
@@ -581,6 +604,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -581,6 +604,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
});
});
}
}
/**
/**
* 查询和当前转介人相关关系(推荐,一级管理,二级管理,辅导)的客户端用户ID列表数据
* 查询和当前转介人相关关系(推荐,一级管理,二级管理,辅导)的客户端用户ID列表数据
* @param brokerDto
* @param brokerDto
...
@@ -636,7 +661,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -636,7 +661,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
* @return
* @return
*/
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
executeReward
(
ExecuteBillingDto
dto
)
{
public
Result
<
List
<
AlgorithmResDto
>>
executeReward
(
ExecuteBillingDto
dto
)
{
QueryPolicyAndBrokerDto
brokerDto
=
dto
.
getPolicyAndBrokerDto
();
QueryPolicyAndBrokerDto
brokerDto
=
dto
.
getPolicyAndBrokerDto
();
//构造销售佣金基本法项目的顺序下标值执行
//构造销售佣金基本法项目的顺序下标值执行
List
<
Integer
>
executionOrderList
=
new
ArrayList
<>();
List
<
Integer
>
executionOrderList
=
new
ArrayList
<>();
...
@@ -710,7 +735,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -710,7 +735,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
* @return
* @return
*/
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
executeBilling
(
ExecuteBillingDto
dto
)
{
public
Result
<
List
<
AlgorithmResDto
>>
executeBilling
(
ExecuteBillingDto
dto
)
{
log
.
info
(
"执行 - 销售佣金(销售佣金基本法)——>入参:{}"
,
JSON
.
toJSONString
(
dto
));
log
.
info
(
"执行 - 销售佣金(销售佣金基本法)——>入参:{}"
,
JSON
.
toJSONString
(
dto
));
QueryPolicyAndBrokerDto
brokerDto
=
dto
.
getPolicyAndBrokerDto
();
QueryPolicyAndBrokerDto
brokerDto
=
dto
.
getPolicyAndBrokerDto
();
//构造销售佣金基本法项目的顺序下标值执行
//构造销售佣金基本法项目的顺序下标值执行
...
@@ -771,7 +796,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -771,7 +796,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
.
source
(
1
)
.
source
(
1
)
.
build
());
.
build
());
return
Result
.
success
();
return
Result
.
success
(
result
.
getData
()
);
}
}
/**
/**
...
...
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiPremiumReconciliationServiceImpl.java
View file @
0f54f404
...
@@ -1290,7 +1290,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
...
@@ -1290,7 +1290,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
// 修改为生效时需要同步预计发佣
// 修改为生效时需要同步预计发佣
if
(
PolicyFollowStatusEnum
.
EFFECTIVE
.
equals
(
currentStatusEnum
))
{
if
(
PolicyFollowStatusEnum
.
EFFECTIVE
.
equals
(
currentStatusEnum
))
{
log
.
info
(
"修改跟进状态获取token:{}"
,
token
);
log
.
info
(
"修改跟进状态获取token:{}"
,
token
);
//
同步:
根据保单生成预计出账记录
// 根据保单生成预计出账记录
apiExpectedFortuneAsyncService
.
execute
(
policyFollow
.
getPolicyNo
(),
token
);
apiExpectedFortuneAsyncService
.
execute
(
policyFollow
.
getPolicyNo
(),
token
);
}
}
return
Result
.
success
(
true
);
return
Result
.
success
(
true
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/CalmTask.java
View file @
0f54f404
...
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
...
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.Date
;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
...
@@ -77,7 +79,7 @@ public class CalmTask implements Serializable {
...
@@ -77,7 +79,7 @@ public class CalmTask implements Serializable {
* 冷静期结束日期
* 冷静期结束日期
*/
*/
@TableField
(
"cooling_off_end_date"
)
@TableField
(
"cooling_off_end_date"
)
private
LocalDateTim
e
coolingOffEndDate
;
private
Dat
e
coolingOffEndDate
;
/**
/**
* 冷静期天数
* 冷静期天数
...
...
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