zhongrj
2023-07-05 9d4e809d8aeed49c920c6ab27d93165dfb3fb46a
外呼任务创建新增关联信息
1 files modified
8 files added
333 ■■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/DailyCallTask.java 56 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/DailyCallTaskVO.java 14 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/DailyCallTaskController.java 134 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.java 25 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.xml 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/IDailyCallTaskService.java 21 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/AsyncCallService.java 34 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/DailyCallTaskServiceImpl.java 28 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/DailyCallTask.java
New file
@@ -0,0 +1,56 @@
package cn.gistack.sm.intelligentCall.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
 * 日常外呼任务关联
 *
 * @author zhongrj
 * @date 2023-07-05
 */
@Data
@TableName("sm_daily_call_task")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "sm_daily_call_task对象", description = "日常外呼任务关联")
public class DailyCallTask {
    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 任务ID
     */
    @ApiModelProperty(value = "任务ID")
    private Integer taskId;
    /**
     * 类型
     */
    @ApiModelProperty(value = "类型")
    private String type;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private Long createUser;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
}
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/DailyCallTaskVO.java
New file
@@ -0,0 +1,14 @@
package cn.gistack.sm.intelligentCall.vo;
import cn.gistack.sm.intelligentCall.entity.DailyCallTask;
import lombok.Data;
/**
 * 日常外呼任务关联 vo
 * @author zhongrj
 * @date 2023-07-05
 */
@Data
public class DailyCallTaskVO extends DailyCallTask {
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/DailyCallTaskController.java
New file
@@ -0,0 +1,134 @@
package cn.gistack.sm.intelligentCall.controller;
import cn.gistack.sm.intelligentCall.entity.DailyCallTask;
import cn.gistack.sm.intelligentCall.service.IDailyCallTaskService;
import cn.gistack.sm.intelligentCall.vo.DailyCallTaskVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.Date;
/**
 * 日常外呼任务关联
 *
 * @author zhongrj
 * @date 2023-07-05
 */
@Slf4j
@Api(tags = "日常外呼任务关联")
@RestController
@RequestMapping("/dailyCallTask/dailyCallTask")
@AllArgsConstructor
public class DailyCallTaskController {
    private IDailyCallTaskService dailyCallTaskService;
    /**
     * 分页列表查询
     *
     * @param dailyCallTask
     * @return
     */
    @ApiOperation(value = "日常外呼任务关联-分页列表查询", notes = "日常外呼任务关联-分页列表查询")
    @GetMapping(value = "/list")
    public R queryPageList(DailyCallTask dailyCallTask, Query query) {
        IPage<DailyCallTask> pageList = dailyCallTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(dailyCallTask));
        return R.data(pageList);
    }
    /**
     * 自定义分页列表查询
     *
     * @param query
     * @param dailyCallTask
     * @return
     */
    @ApiOperation(value = "日常外呼任务关联-自定义分页列表查询", notes = "日常外呼任务关联-自定义分页列表查询")
    @GetMapping(value = "/page")
    public R page(DailyCallTaskVO dailyCallTask, Query query) {
        return R.data(dailyCallTaskService.selectDailyCallTaskPage(Condition.getPage(query), dailyCallTask));
    }
    /**
     * 获取全部
     */
    @ApiOperation(value = "日常外呼任务关联-获取全部", notes = "日常外呼任务关联-获取全部")
    @GetMapping(value = "/all")
    public R getAll(DailyCallTask dailyCallTask) {
        return R.data(dailyCallTaskService.list(Condition.getQueryWrapper(dailyCallTask)));
    }
    /**
     * 添加
     *
     * @param dailyCallTask
     * @return
     */
    @ApiOperation(value = "日常外呼任务关联-添加", notes = "日常外呼任务关联-添加")
    @PostMapping(value = "/add")
    public R add(@RequestBody DailyCallTask dailyCallTask) {
        dailyCallTask.setCreateTime(new Date());
        return R.data(dailyCallTaskService.save(dailyCallTask));
    }
    /**
     * 编辑
     *
     * @param dailyCallTask
     * @return
     */
    @ApiOperation(value = "日常外呼任务关联-编辑", notes = "日常外呼任务关联-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
    public R edit(@RequestBody DailyCallTask dailyCallTask) {
        return R.data(dailyCallTaskService.updateById(dailyCallTask));
    }
    /**
     * 通过id删除
     *
     * @param id
     * @return
     */
    @ApiOperation(value = "日常外呼任务关联-通过id删除", notes = "日常外呼任务关联-通过id删除")
    @PostMapping(value = "/delete")
    public R delete(@RequestParam(name = "id", required = true) String id) {
        return R.data(dailyCallTaskService.removeById(id));
    }
    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    @ApiOperation(value = "日常外呼任务关联-批量删除", notes = "日常外呼任务关联-批量删除")
    @PostMapping(value = "/deleteBatch")
    public R deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
        return R.data(this.dailyCallTaskService.removeByIds(Arrays.asList(ids.split(","))));
    }
    /**
     * 通过id查询
     *
     * @param id
     * @return
     */
    @ApiOperation(value = "日常外呼任务关联-通过id查询", notes = "日常外呼任务关联-通过id查询")
    @GetMapping(value = "/queryById")
    public R queryById(@RequestParam(name = "id", required = true) String id) {
        DailyCallTask dailyCallTask = dailyCallTaskService.getById(id);
        return R.data(dailyCallTask);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.java
New file
@@ -0,0 +1,25 @@
package cn.gistack.sm.intelligentCall.mapper;
import cn.gistack.sm.intelligentCall.entity.DailyCallTask;
import cn.gistack.sm.intelligentCall.vo.DailyCallTaskVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * @author zhongrj
 * @date 2023-07-05
 */
public interface DailyCallTaskMapper extends BaseMapper<DailyCallTask> {
    /**
     * 自定义分页列表查询
     * @param page
     * @param dailyCallTask
     * @return
     */
    List<DailyCallTaskVO> selectDailyCallTaskPage(@Param("page")IPage<DailyCallTaskVO> page,
                                                          @Param("dailyCallTask")DailyCallTaskVO dailyCallTask);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.xml
New file
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.intelligentCall.mapper.DailyCallTaskMapper">
    <!--自定义分页列表查询-->
    <select id="selectDailyCallTaskPage" resultType="cn.gistack.sm.intelligentCall.vo.DailyCallTaskVO">
        select * from YWXT.sm_daily_call_task
        where 1=1
        order by id desc
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/IDailyCallTaskService.java
New file
@@ -0,0 +1,21 @@
package cn.gistack.sm.intelligentCall.service;
import cn.gistack.sm.intelligentCall.entity.DailyCallTask;
import cn.gistack.sm.intelligentCall.vo.DailyCallTaskVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @author zhongrj
 * @date 2023-06-13
 */
public interface IDailyCallTaskService extends IService<DailyCallTask> {
    /**
     * 自定义分页列表查询
     * @param page
     * @param dailyCallTask
     * @return
     */
    IPage<DailyCallTaskVO> selectDailyCallTaskPage(IPage<DailyCallTaskVO> page, DailyCallTaskVO dailyCallTask);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/AsyncCallService.java
New file
@@ -0,0 +1,34 @@
package cn.gistack.sm.intelligentCall.service.impl;
import cn.gistack.sm.intelligentCall.entity.DailyCallTask;
import cn.gistack.sm.intelligentCall.service.IDailyCallTaskService;
import org.springblade.core.secure.utils.AuthUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class AsyncCallService {
    @Autowired
    private IDailyCallTaskService dailyCallTaskService;
    /**
     * 保存日常外呼任务关联信息
     * @param taskId
     * @param type
     */
    @Async
    public void saveDailyCallTask(String taskId, Integer type) {
        DailyCallTask dailyCallTask = new DailyCallTask();
        dailyCallTask.setCreateTime(new Date());
        dailyCallTask.setCreateUser(AuthUtil.getUserId());
        dailyCallTask.setTaskId(Integer.parseInt(taskId));
        dailyCallTask.setType(type.toString());
        // 新增
        dailyCallTaskService.save(dailyCallTask);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
@@ -54,6 +54,9 @@
    @Autowired
    private BladeRedis bladeRedis;
    @Autowired
    private AsyncCallService asyncCallService;
//    @Value("${dial.task.url}")
    private String url = CallConstant.HOST;
@@ -623,6 +626,8 @@
            List<String> stringList = everydayCall(params);
            // 取出数据进行设置 taskId
            bladeRedis.setEx(CallConstant.call_task_key,stringList.get(1)+","+1,6*60*60L);
            // 异步保存日常关联呼叫任务信息
            asyncCallService.saveDailyCallTask(stringList.get(1),1);
            // 响应
            return stringList;
        }else {
@@ -657,11 +662,15 @@
            if (type.equals("1")){
                // 取出数据进行设置 taskId
                bladeRedis.setEx(CallConstant.call_task_key,stringList.get(1)+","+2,6*60*60L);
                // 异步保存日常关联呼叫任务信息
                asyncCallService.saveDailyCallTask(stringList.get(1),2);
            }
            // 判断是否发送短信
            if (type.equals("2")){
                // 新增一个参数代表需要发短信
                stringList.add("3");
                // 异步保存日常关联呼叫任务信息
                asyncCallService.saveDailyCallTask(stringList.get(1),3);
            }
        }
        // 返回
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/DailyCallTaskServiceImpl.java
New file
@@ -0,0 +1,28 @@
package cn.gistack.sm.intelligentCall.service.impl;
import cn.gistack.sm.intelligentCall.entity.DailyCallTask;
import cn.gistack.sm.intelligentCall.mapper.DailyCallTaskMapper;
import cn.gistack.sm.intelligentCall.service.IDailyCallTaskService;
import cn.gistack.sm.intelligentCall.vo.DailyCallTaskVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * @author zhongrj
 * @date 2023-06-13
 */
@Service
public class DailyCallTaskServiceImpl extends ServiceImpl<DailyCallTaskMapper, DailyCallTask> implements IDailyCallTaskService{
    /**
     * 自定义分页列表查询
     * @param page
     * @param dailyCallTask
     * @return
     */
    @Override
    public IPage<DailyCallTaskVO> selectDailyCallTaskPage(IPage<DailyCallTaskVO> page, DailyCallTaskVO dailyCallTask) {
        return page.setRecords(baseMapper.selectDailyCallTaskPage(page,dailyCallTask));
    }
}