skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/feign/OutCallClient.java
@@ -29,7 +29,7 @@ * @return */ @GetMapping(CREATE_OUT_CALL_TASK_JOB_HANDLER) String createOutCallTaskJobHandler(@RequestParam("isOver") String isOver, List<String> createOutCallTaskJobHandler(@RequestParam("isOver") String isOver, @RequestParam("taskScheduleTime") String taskScheduleTime, @RequestParam("personNumber") String personNumber, @RequestParam("day") String day); skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/feign/OutCallClientFallback.java
@@ -2,6 +2,8 @@ import org.springframework.stereotype.Component; import java.util.List; /** * 智能外呼Feign失败配置 * @author zhongrj @@ -10,7 +12,7 @@ @Component public class OutCallClientFallback implements OutCallClient { @Override public String createOutCallTaskJobHandler(String isOver, String taskScheduleTime, String personNumber, String day) { public List<String> createOutCallTaskJobHandler(String isOver, String taskScheduleTime, String personNumber, String day) { return null; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/feign/OutCallImplImplClient.java
@@ -25,7 +25,7 @@ @Override @GetMapping(CREATE_OUT_CALL_TASK_JOB_HANDLER) public String createOutCallTaskJobHandler(String isOver, String taskScheduleTime, String personNumber, String day) { public List<String> createOutCallTaskJobHandler(String isOver, String taskScheduleTime, String personNumber, String day) { Map<String, Object> map = new HashMap<>(4); map.put("isOver",isOver); map.put("taskScheduleTime",taskScheduleTime); skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
@@ -285,14 +285,21 @@ ) b </select> <!--查询外呼多少天内已呼叫过的人员手机号集合信息-并只取接通的号码--> <!--查询外呼多少天内已呼叫过的人员手机号集合信息--> <select id="getCallUserPhoneByParam" resultType="java.lang.String"> select "callee_number" from SJZT_ODS."call_task_result" where date_format("gmt_create",'%Y-%m-%d') >= #{params.startTime} and date_format("gmt_create",'%Y-%m-%d') <= #{params.endTime} and "call_result" = '200000' </select> <!--查询外呼多少天内已呼叫过的人员手机号集合信息-并只取接通的号码--> <!-- <select id="getCallUserPhoneByParam" resultType="java.lang.String">--> <!-- select "callee_number" from SJZT_ODS."call_task_result"--> <!-- where date_format("gmt_create",'%Y-%m-%d') >= #{params.startTime}--> <!-- and date_format("gmt_create",'%Y-%m-%d') <= #{params.endTime}--> <!-- and "call_result" = '200000'--> <!-- </select>--> <!--通过任务名称查询taskId-mysql--> <select id="getTaskIdByTaskName" resultType="java.lang.String"> select id from call_task where task_name = #{taskName} skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
@@ -15,7 +15,7 @@ * @param map * @return */ String createTask(Map<String,Object> map); List<String> createTask(Map<String,Object> map); /** * 获取通话详情 @@ -67,5 +67,5 @@ * @param params * @return */ String createCallTaskByParam(Map<String, Object> params); List<String> createCallTaskByParam(Map<String, Object> params); } 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(); @@ -123,8 +123,12 @@ //通过任务名称查询taskId taskId = callTaskMapper.getTaskIdByTaskName(taskName); } List<String> list = new ArrayList<>(); list.add(response.getBody()); list.add(taskId); list.add(success.toString()); // 返回 return success + "," + taskId; return list; } /** @@ -328,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); skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/OutCallXxlJob.java
@@ -13,6 +13,7 @@ import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.List; import java.util.Map; /** @@ -44,29 +45,29 @@ String personNumber = jsonParam.getString("personNumber"); String day = jsonParam.getString("day"); // 创建外呼任务 Object result = outCallClient.createOutCallTaskJobHandler(isOver,taskScheduleTime,personNumber, day); String[] split = result.toString().split(","); if (split[0].equals("true")) { // 获取任务id String taskId = split[1]; // 修改定时任务 XxlJobInfo jobInfo = xxlJobInfoService.getById(11); // 解析参数 Map mapParams = (Map) jobInfo.getExecutorParam(); String time = mapParams.get("time").toString(); XxlJobInfoVO xxlJobInfo = new XxlJobInfoVO(); xxlJobInfo.setId(11); Map<String, Object> map = new HashMap<>(2); map.put("taskId", taskId); map.put("time", time); xxlJobInfo.setExecutorParam(map); Object o = xxlJobInfoService.updateXxlJobById(xxlJobInfo); if (Boolean.parseBoolean(o.toString())) { XxlJobLogger.log("外呼未接通短信通知定时任务修改成功!任务ID:" + taskId); }else { XxlJobLogger.log("外呼未接通短信通知定时任务修改失败!任务ID:" + taskId); } } List<String> result = outCallClient.createOutCallTaskJobHandler(isOver,taskScheduleTime,personNumber, day); XxlJobLogger.log("任务响应结果..." + result); // if (result.get(2).equals("true")) { // // 获取任务id // String taskId = result.get(1); // // 修改定时任务 // XxlJobInfo jobInfo = xxlJobInfoService.getById(11); // // 解析参数 // Map mapParams = (Map) jobInfo.getExecutorParam(); // String time = mapParams.get("time").toString(); // XxlJobInfoVO xxlJobInfo = new XxlJobInfoVO(); // xxlJobInfo.setId(11); // Map<String, Object> map = new HashMap<>(2); // map.put("taskId", taskId); // map.put("time", time); // xxlJobInfo.setExecutorParam(map); // Object o = xxlJobInfoService.updateXxlJobById(xxlJobInfo); // if (Boolean.parseBoolean(o.toString())) { // XxlJobLogger.log("外呼未接通短信通知定时任务修改成功!任务ID:" + taskId); // }else { // XxlJobLogger.log("外呼未接通短信通知定时任务修改失败!任务ID:" + taskId); // } // } XxlJobLogger.log("结束自动创建任务..."); return ReturnT.SUCCESS; }