zhongrj
2023-06-16 2bada8eac5dd8d72be65509124d18b23d87fdf6a
外呼响应结果修改
7 files modified
80 ■■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/feign/OutCallClient.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/feign/OutCallClientFallback.java 4 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/feign/OutCallImplImplClient.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml 11 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java 10 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/OutCallXxlJob.java 47 ●●●● patch | view | raw | blame | history
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') &lt;= #{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') &lt;= #{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;
    }