|
@@ -85,6 +85,7 @@ public interface CrmCustomerMapper extends BaseMapperX<CrmCustomerDO> {
|
|
|
.eq(CrmFollowUpRecordDO::getType, CrmBizTypeEnum.CRM_CUSTOMER.getType());
|
|
|
|
|
|
// 拼接自身的查询条件
|
|
|
+ // TODO @dbh52:这里不仅仅要获得 today、tomorrow。而是 today 要获取今天的 00:00:00 这种;
|
|
|
LocalDate today = LocalDate.now();
|
|
|
LocalDate tomorrow = today.plusDays(1);
|
|
|
LocalDate yesterday = today.minusDays(1);
|
|
@@ -93,12 +94,14 @@ public interface CrmCustomerMapper extends BaseMapperX<CrmCustomerDO> {
|
|
|
// 1.【客户】的【下一次联系时间】 是【今天】
|
|
|
// 2. 无法找到【今天】创建的【跟进】记录
|
|
|
query.between(CrmCustomerDO::getContactNextTime, today, tomorrow)
|
|
|
+ // TODO @dbh52:是不是查询 CrmCustomerDO::contactLastTime < today?因为今天联系过,应该会更新该字段,减少链表查询;
|
|
|
.between(CrmFollowUpRecordDO::getCreateTime, today, tomorrow)
|
|
|
.isNull(CrmFollowUpRecordDO::getId);
|
|
|
} else if (pageReqVO.getContactStatus().equals(CrmContactStatusEnum.EXPIRED.getType())) {
|
|
|
// 已逾期:
|
|
|
// 1. 【客户】的【下一次联系时间】 <= 【昨天】
|
|
|
// 2. 无法找到【今天】创建的【跟进】记录
|
|
|
+ // TODO @dbh52:是不是 contactNextTime 在当前时间之前,且 contactLastTime < contactNextTime?说白了,就是下次联系时间超过当前时间,且最后联系时间没去联系;
|
|
|
query.le(CrmCustomerDO::getContactNextTime, yesterday)
|
|
|
.between(CrmFollowUpRecordDO::getCreateTime, today, tomorrow)
|
|
|
.isNull(CrmFollowUpRecordDO::getId);
|
|
@@ -107,10 +110,11 @@ public interface CrmCustomerMapper extends BaseMapperX<CrmCustomerDO> {
|
|
|
// 1.【客户】的【下一次联系时间】 是【今天】
|
|
|
// 2. 找到【今天】创建的【跟进】记录
|
|
|
query.between(CrmCustomerDO::getContactNextTime, today, tomorrow)
|
|
|
+ // TODO @dbh52:contactLastTime 是今天
|
|
|
.between(CrmFollowUpRecordDO::getCreateTime, today, tomorrow)
|
|
|
.isNotNull(CrmFollowUpRecordDO::getId);
|
|
|
} else {
|
|
|
- // TODO: 参数错误,是不是要兜一下底
|
|
|
+ // TODO: 参数错误,是不是要兜一下底;直接抛出异常就好啦;
|
|
|
}
|
|
|
|
|
|
return selectJoinPage(pageReqVO, CrmCustomerDO.class, query);
|