From 3e27630f0102a9fa590ce029df0994535eb86bd6 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 17 Jun 2023 16:37:27 +0800
Subject: [PATCH] 外呼短信通知逻辑修改

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java |   43 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 40 insertions(+), 3 deletions(-)

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 8469e9a..317ae16 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
@@ -69,7 +69,7 @@
 	 * @return
 	 */
 	@Override
-	public String createTask(Map<String,Object> map) {
+	public List<String> createTask(Map<String,Object> map) {
 		List<Map<String, String>> params = (List<Map<String, String>>) map.get("list");
 		String requestUrl = url + CREATE_TASK_URL;
 		LocalDateTime now = LocalDateTime.now();
@@ -116,7 +116,19 @@
 		if (response.getStatusCode() != HttpStatus.OK) {
 			log.error("创建智能外呼任务失败:{}", response.getStatusCode());
 		}
-		return response.getBody();
+		JSONObject jsonObject = JSON.parseObject(response.getBody());
+		Boolean success = jsonObject.getBoolean("success");
+		String taskId = "";
+		if (success){
+			//通过任务名称查询taskId
+			taskId = callTaskMapper.getTaskIdByTaskName(taskName);
+		}
+		List<String> list = new ArrayList<>();
+		list.add(response.getBody());
+		list.add(taskId);
+		list.add(success.toString());
+		// 返回
+		return list;
 	}
 
 	/**
@@ -320,7 +332,7 @@
 	 * @return
 	 */
 	@Override
-	public String createCallTaskByParam(Map<String, Object> params) {
+	public List<String> createCallTaskByParam(Map<String, Object> params) {
 		// 自动创建任务的 4个条件  1:呼叫人数  2:调度时间  3:是否超汛限  4:多少天内呼叫过的不呼叫(天数)
 		//1. 调用中台接口查询出所有需要发任务的水库巡查责任人相关信息(该处需要将是否超汛限条件传入)
 		JSONArray jsonArray = getZtWaterMangerData(params);
@@ -342,6 +354,31 @@
 	}
 
 	/**
+	 * 智能外呼呼叫前一天未接通人员
+	 * @param map 包含调度时间
+	 * @return
+	 */
+	@Override
+	public List<String> createOutCallTaskByNotConnectJobHandler(Map<String, Object> map) {
+		map.put("day",3);
+		// 自动创建任务的 条件1:昨天外呼未接通人员  条件2:前三天如果同一个人都未接通,则不再呼叫
+		// 计算开始时间,结束时间
+		computationTime(map);
+		// 1. 查询前一天呼叫未接通人员
+		List<Scene> oneDayCallNotConnectList = callTaskMapper.getBeforeOneDayCallNotConnect(map);
+		// 2. 查询三天都未接通的人员
+//		List<Scene> threeDayCallNotConnectList = callTaskMapper.getBeforeThreeDayCallNotConnect();
+		// 3. 组装数据
+
+		// 4. 传入调度时间和随机得到的人员信息进行任务的创建并返回
+//		map.put("list",setForListMap(taskRandomList));
+		// 调度时间处理
+		map.put("taskScheduleTime",new SimpleDateFormat("yyyy-MM-dd").format(new Date())+ " " +map.get("taskScheduleTime") + ":00");
+		// 创建任务并返回结果
+		return createTask(map);
+	}
+
+	/**
 	 * hashSet 转 List<Map<String,String>>
 	 * @param taskRandomList
 	 * @return

--
Gitblit v1.9.3