zhongrj
2023-06-29 0e06fd9184c0cda32a8c55ed1f4a295305d647fd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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;
    }
}