|
@@ -262,8 +262,11 @@ public class SendSmsMsg {
|
|
|
QwSopLogs qwSopLogs = sopLogsMap.get(logRecord.getSopLogId());
|
|
QwSopLogs qwSopLogs = sopLogsMap.get(logRecord.getSopLogId());
|
|
|
QwSopCourseFinishTempSetting setting = JSON.parseObject(qwSopLogs.getContentJson(), QwSopCourseFinishTempSetting.class);
|
|
QwSopCourseFinishTempSetting setting = JSON.parseObject(qwSopLogs.getContentJson(), QwSopCourseFinishTempSetting.class);
|
|
|
// 判断消息状态是否满足发送条件
|
|
// 判断消息状态是否满足发送条件
|
|
|
- if (!isSendLogs(qwSopLogs, setting)) {
|
|
|
|
|
|
|
+ SendResultDetailDTO checkDto= isSendLogs(qwSopLogs, setting,logRecord);
|
|
|
|
|
+ if (!checkDto.isSuccess()) {
|
|
|
log.info("销售:{}, 消息发送条件未满足:{}", qwSopLogs.getQwUserKey(), qwSopLogs.getId());
|
|
log.info("销售:{}, 消息发送条件未满足:{}", qwSopLogs.getQwUserKey(), qwSopLogs.getId());
|
|
|
|
|
+ failReasonsList.add(checkDto);
|
|
|
|
|
+ failedIds.add(logRecord.getId());
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -465,11 +468,11 @@ public class SendSmsMsg {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- public boolean isSendLogs(QwSopLogs qwSopLogs, QwSopCourseFinishTempSetting setting) {
|
|
|
|
|
|
|
+ public SendResultDetailDTO isSendLogs(QwSopLogs qwSopLogs, QwSopCourseFinishTempSetting setting,QwSopSmsLogs logRecord) {
|
|
|
Long qwUserId = qwSopLogs.getQwUserKey();
|
|
Long qwUserId = qwSopLogs.getQwUserKey();
|
|
|
if(qwSopLogs.getSendStatus() != 3){
|
|
if(qwSopLogs.getSendStatus() != 3){
|
|
|
log.info("状态异常不发送:{}, LOGID: {}", qwSopLogs.getQwUserKey(), qwSopLogs.getId());
|
|
log.info("状态异常不发送:{}, LOGID: {}", qwSopLogs.getQwUserKey(), qwSopLogs.getId());
|
|
|
- return false;
|
|
|
|
|
|
|
+ return new SendResultDetailDTO(false, "状态异常不发送", logRecord.getSopLogId());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
boolean noSop = qwSopLogs.getSendType() != 3 && qwSopLogs.getSendType() != 7;
|
|
boolean noSop = qwSopLogs.getSendType() != 3 && qwSopLogs.getSendType() != 7;
|
|
@@ -477,8 +480,7 @@ public class SendSmsMsg {
|
|
|
if (qwSopLogs.getExpiryTime() == null && noSop) {
|
|
if (qwSopLogs.getExpiryTime() == null && noSop) {
|
|
|
// 作废消息
|
|
// 作废消息
|
|
|
log.info("SOP_LOG_ID:{}, SOP任务被删除", qwSopLogs.getId());
|
|
log.info("SOP_LOG_ID:{}, SOP任务被删除", qwSopLogs.getId());
|
|
|
- qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(), "SOP任务被删除");
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+ return new SendResultDetailDTO(false, "SOP任务被删除", logRecord.getSopLogId());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
LocalDateTime sendTime = DateUtil.stringToLocalDateTime(qwSopLogs.getSendTime());
|
|
LocalDateTime sendTime = DateUtil.stringToLocalDateTime(qwSopLogs.getSendTime());
|
|
@@ -494,22 +496,19 @@ public class SendSmsMsg {
|
|
|
if (LocalDateTime.now().isAfter(expiryDateTime) ) {
|
|
if (LocalDateTime.now().isAfter(expiryDateTime) ) {
|
|
|
// 作废消息
|
|
// 作废消息
|
|
|
log.info("SOP_LOG_ID:{}, 已过期,不发送", qwSopLogs.getId());
|
|
log.info("SOP_LOG_ID:{}, 已过期,不发送", qwSopLogs.getId());
|
|
|
- qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(), "已过期,不发送");
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+ return new SendResultDetailDTO(false, "已过期,不发送", logRecord.getSopLogId());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (setting.getCourseType() == null && noSop && setting.getType() == 2) {
|
|
if (setting.getCourseType() == null && noSop && setting.getType() == 2) {
|
|
|
log.info("SOP_LOG_ID:{}, 模板未选消息类型,不发送", qwSopLogs.getId());
|
|
log.info("SOP_LOG_ID:{}, 模板未选消息类型,不发送", qwSopLogs.getId());
|
|
|
- qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(), "模板未选消息类型,不发送");
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+ return new SendResultDetailDTO(false, "模板未选消息类型,不发送", logRecord.getSopLogId());
|
|
|
}
|
|
}
|
|
|
Integer cacheValue = redisCache.getCacheObject("sopCourse:video:isPause:" + setting.getVideoId());
|
|
Integer cacheValue = redisCache.getCacheObject("sopCourse:video:isPause:" + setting.getVideoId());
|
|
|
int isPause = (cacheValue != null) ? cacheValue : 0;
|
|
int isPause = (cacheValue != null) ? cacheValue : 0;
|
|
|
log.info("SOP_LOG_ID:{},判断课程({})当前状态:{}", qwSopLogs.getId(), setting.getVideoId(), isPause);
|
|
log.info("SOP_LOG_ID:{},判断课程({})当前状态:{}", qwSopLogs.getId(), setting.getVideoId(), isPause);
|
|
|
if (isPause == 1){
|
|
if (isPause == 1){
|
|
|
log.info("SOP_LOG_ID:{}, 课程暂停,不发送", qwSopLogs.getId());
|
|
log.info("SOP_LOG_ID:{}, 课程暂停,不发送", qwSopLogs.getId());
|
|
|
- qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(), "课程暂停,AI不发送");
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+ return new SendResultDetailDTO(false, "课程暂停,AI不发送", logRecord.getSopLogId());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (qwSopLogs.getSendType() != 12 && noSop) {
|
|
if (qwSopLogs.getSendType() != 12 && noSop) {
|
|
@@ -529,17 +528,15 @@ public class SendSmsMsg {
|
|
|
if (!QwSopLogsServiceImpl.isCourseTypeValid(courseType, watchLog.getLogType())) {
|
|
if (!QwSopLogsServiceImpl.isCourseTypeValid(courseType, watchLog.getLogType())) {
|
|
|
// 作废消息
|
|
// 作废消息
|
|
|
log.info("SOP_LOG_ID:{}, 看课状态未满足,不发送", qwSopLogs.getId());
|
|
log.info("SOP_LOG_ID:{}, 看课状态未满足,不发送", qwSopLogs.getId());
|
|
|
- qwSopLogsService.updateQwSopLogsByWatchLogType(logId, "看课状态未满足,不发送");
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+ return new SendResultDetailDTO(false, "看课状态未满足,不发送", logRecord.getSopLogId());
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
log.info("SOP_LOG_ID:{}, 无观看记录,不发送", qwSopLogs.getId());
|
|
log.info("SOP_LOG_ID:{}, 无观看记录,不发送", qwSopLogs.getId());
|
|
|
- qwSopLogsService.updateQwSopLogsByWatchLogType(logId, "无观看记录,不发送");
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+ return new SendResultDetailDTO(false, "无观看记录,不发送", logRecord.getSopLogId());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- return true;
|
|
|
|
|
|
|
+ return new SendResultDetailDTO(true, "检测通过", logRecord.getSopLogId());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|