From 9d4e809d8aeed49c920c6ab27d93165dfb3fb46a Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 05 Jul 2023 19:18:24 +0800
Subject: [PATCH] 外呼任务创建新增关联信息

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java          |    9 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/IDailyCallTaskService.java         |   21 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/DailyCallTaskController.java    |  134 ++++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.java            |   25 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/DailyCallTaskServiceImpl.java |   28 ++++
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/DailyCallTaskVO.java            |   14 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/AsyncCallService.java         |   34 +++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.xml             |   12 ++
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/DailyCallTask.java          |   56 +++++++++
 9 files changed, 333 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/DailyCallTask.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/DailyCallTask.java
new file mode 100644
index 0000000..27e9284
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/DailyCallTask.java
@@ -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;
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/DailyCallTaskVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/DailyCallTaskVO.java
new file mode 100644
index 0000000..a40264b
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/DailyCallTaskVO.java
@@ -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 {
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/DailyCallTaskController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/DailyCallTaskController.java
new file mode 100644
index 0000000..3f6c542
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/DailyCallTaskController.java
@@ -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);
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.java
new file mode 100644
index 0000000..2208dfb
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.java
@@ -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);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.xml
new file mode 100644
index 0000000..48ae668
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.xml
@@ -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>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/IDailyCallTaskService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/IDailyCallTaskService.java
new file mode 100644
index 0000000..8059877
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/IDailyCallTaskService.java
@@ -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);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/AsyncCallService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/AsyncCallService.java
new file mode 100644
index 0000000..4debcb8
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/AsyncCallService.java
@@ -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);
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
index ce43b70..8a6d156 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
+++ b/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);
 			}
 		}
 		// 返回
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/DailyCallTaskServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/DailyCallTaskServiceImpl.java
new file mode 100644
index 0000000..3872078
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/DailyCallTaskServiceImpl.java
@@ -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));
+	}
+}

--
Gitblit v1.9.3