package cn.gistack.sm.intelligentCall.service.impl;
|
|
import cn.gistack.sm.intelligentCall.entity.CallSmsNoticeTask;
|
import cn.gistack.sm.intelligentCall.mapper.CallSmsNoticeTaskMapper;
|
import cn.gistack.sm.intelligentCall.service.ICallSmsNoticeTaskService;
|
import cn.gistack.sm.intelligentCall.vo.CallSmsNoticeTaskVO;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springblade.core.secure.utils.AuthUtil;
|
import org.springblade.core.tool.api.R;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
|
/**
|
* @author zhongrj
|
* @date 2023-06-13
|
*/
|
@Service
|
public class CallSmsNoticeTaskServiceImpl extends ServiceImpl<CallSmsNoticeTaskMapper, CallSmsNoticeTask> implements ICallSmsNoticeTaskService {
|
|
/**
|
* 自定义分页列表查询
|
* @param page
|
* @param callSmsNoticeTask
|
* @return
|
*/
|
@Override
|
public IPage<CallSmsNoticeTaskVO> selectCallSmsNoticeTaskPage(IPage<CallSmsNoticeTaskVO> page, CallSmsNoticeTaskVO callSmsNoticeTask) {
|
return page.setRecords(baseMapper.selectCallSmsNoticeTaskPage(page,callSmsNoticeTask));
|
}
|
|
/**
|
* 外呼短信通知任务创建
|
* @param taskId 外呼任务id
|
* @return
|
*/
|
@Override
|
public Boolean createCallSmsNoticeTask(String taskId) {
|
boolean flag = false;
|
CallSmsNoticeTask callSmsNoticeTask = new CallSmsNoticeTask();
|
// 判断已插入,防止重复插入的情况
|
CallSmsNoticeTask notFillRecord = getOne(new QueryWrapper<CallSmsNoticeTask>().eq("task_id", taskId));
|
if (notFillRecord != null){
|
return false;
|
}
|
// 通过外呼任务id 查询任务调度时间
|
String scheduleTime = baseMapper.getTaskScheduleTimeByTaskId(taskId);
|
// 从调度时间开始往后加2个小时,为结束时间
|
if(null!= scheduleTime && !scheduleTime.equals("")){
|
long l = 0;
|
try {
|
l = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(scheduleTime).getTime();
|
} catch (ParseException e) {
|
e.printStackTrace();
|
}
|
long m = 2*60*60*1000;
|
// 相减得到时间
|
Long x = l+m;
|
// 设置信息
|
callSmsNoticeTask.setTaskId(Integer.parseInt(taskId));
|
callSmsNoticeTask.setCreateTime(new Date());
|
callSmsNoticeTask.setCreateUser(AuthUtil.getUserId());
|
callSmsNoticeTask.setStartTime(new Date(l));
|
callSmsNoticeTask.setEndTime(new Date(x));
|
// 新增
|
flag = save(callSmsNoticeTask);
|
}
|
return flag;
|
}
|
}
|