zhongrj
2023-04-25 c1cf84479cd38ba7c544fc712ca12f7e99476c48
智能外呼查询统计接口新增
5 files modified
5 files added
264 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java 18 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/entity/CallTask.java 14 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java 28 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml 38 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java 13 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java 21 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java 88 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskVO.java 34 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-dev.yml 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-prod.yml 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
@@ -1,9 +1,14 @@
package cn.gistack.sm.intelligentCall.controller;
import cn.gistack.sm.intelligentCall.entity.CallTask;
import cn.gistack.sm.intelligentCall.service.CallService;
import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic;
import cn.gistack.sm.intelligentCall.vo.CallTaskVO;
import io.swagger.annotations.Api;
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.*;
@@ -43,4 +48,17 @@
        return R.data(callService.getCallDetail(taskId,calleeNumber));
    }
    /**
     * 查询呼叫列表信息
     * @param callTask
     * @param query
     * @return
     */
    @GetMapping("/getCallListPage")
    public R getCallListPage(CallTaskStatistic callTask, Query query){
        // 返回
        return R.data(callService.getCallListPage(Condition.getPage(query),callTask));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/entity/CallTask.java
New file
@@ -0,0 +1,14 @@
package cn.gistack.sm.intelligentCall.entity;
import lombok.Data;
import java.io.Serializable;
/**
 * 智能外呼任务
 * @author zhongrj
 * @date 2023-04-25
 */
@Data
public class CallTask implements Serializable {
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java
New file
@@ -0,0 +1,28 @@
package cn.gistack.sm.intelligentCall.mapper;
import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * @author zhongrj
 * @date 2023-04-25
 */
@Mapper
@DS("ztznwh")
public interface CallTaskMapper{
    /**
     * 查詢任务列表数据
     * @param page
     * @param callTask
     * @return
     */
    @InterceptorIgnore(tenantLine = "true")
    List<CallTaskStatistic> getCallListPage(@Param("page") IPage<CallTaskStatistic> page, @Param("callTask") CallTaskStatistic callTask);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
New file
@@ -0,0 +1,38 @@
<?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.CallTaskMapper">
    <select id="getCallListPage" resultType="cn.gistack.sm.intelligentCall.vo.CallTaskStatistic">
        select
        ct."id",
        ct."task_name" as taskName,
        ct."gmt_create" as createTime,
        ct."task_status" as taskStatus,
        ctr."calling_number" as callingNumber,
        ctr."callee_number" as calleeNumber,
        ctr."gmt_create" as executeTime,
        ctra."callee_number_count" as calleeNumberCount,
        ctra."connection_count" as connectionCount,
        ctra."failure_count" as failureCount,
        ctra."other_status_count" as otherStatusCount,
        cs."call_scenes_name" as  callScenesName
        from "SJZT_ODS"."call_task" ct
        left join (select * from "SJZT_ODS"."call_scenes" where "is_deleted" = 0) cs on ct."scene_id" = cs."id"
        left join "SJZT_ODS"."call_task_result" ctr on ctr."task_id" = ct."id"
        left join "SJZT_ODS"."call_task_result_analyse" ctra on  ctra."task_id" = ct."id"
        where 1=1
        <if test="callTask.taskName!=null and callTask.taskName!=''">
            and ct."task_name" like concat(concat('%',#{callTask.taskName}),'%')
        </if>
        <if test="callTask.taskStatus!=null">
            and ct."task_status" = #{callTask.taskStatus}
        </if>
        <if test="callTask.startTime!=null and callTask.startTime!=''">
            and date_format(ct."gmt_create",'%Y-%m-%d') >= #{callTask.startTime}
        </if>
        <if test="callTask.endTime!=null and callTask.endTime!=''">
            and date_format(ct."gmt_create",'%Y-%m-%d') &lt;= #{callTask.endTime}
        </if>
        order by ct."gmt_create" desc
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
@@ -1,6 +1,11 @@
package cn.gistack.sm.intelligentCall.service;
import cn.gistack.sm.intelligentCall.entity.CallTask;
import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic;
import cn.gistack.sm.intelligentCall.vo.CallTaskVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
import java.util.Map;
@@ -20,4 +25,12 @@
     * @return
     */
    Object getCallDetail(String taskId, String calleeNumber);
    /**
     * 查詢任务列表数据
     * @param page
     * @param callTask
     * @return
     */
    IPage<CallTaskStatistic> getCallListPage(IPage<CallTaskStatistic> page, CallTaskStatistic callTask);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
@@ -1,9 +1,14 @@
package cn.gistack.sm.intelligentCall.service.impl;
import cn.gistack.sm.intelligentCall.constant.CallConstant;
import cn.gistack.sm.intelligentCall.mapper.CallTaskMapper;
import cn.gistack.sm.intelligentCall.service.CallService;
import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic;
import cn.gistack.sm.intelligentCall.vo.CallTaskVO;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomUtils;
import org.apache.commons.lang3.StringUtils;
@@ -15,7 +20,6 @@
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
@@ -23,7 +27,11 @@
@Slf4j
@Service
@DS("ztznwh")
public class CallServiceImpl implements CallService {
    @Autowired
    private CallTaskMapper callTaskMapper;
    @Autowired
    private RestTemplate restTemplate;
@@ -180,4 +188,15 @@
        });
        return arr;
    }
    /**
     * 查詢任务列表数据
     * @param page
     * @param callTask
     * @return
     */
    @Override
    public IPage<CallTaskStatistic> getCallListPage(IPage<CallTaskStatistic> page, CallTaskStatistic callTask) {
        return page.setRecords(callTaskMapper.getCallListPage(page,callTask));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
New file
@@ -0,0 +1,88 @@
package cn.gistack.sm.intelligentCall.vo;
import lombok.Data;
import java.io.Serializable;
/**
 * 呼叫统计
 * @author zhongrj
 * @date 2023-04-25
 */
@Data
public class CallTaskStatistic implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 任务id
     */
    private String id;
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 创建时间
     */
    private String createTime;
    /**
     * 任务状态 0:未执行  1:执行中  2:已取消 3:已终止  4:已完成
     */
    private Integer taskStatus;
    /**
     * 主叫号码
     */
    private String callingNumber;
    /**
     * 被叫号码
     */
    private String calleeNumber;
    /**
     * 执行时间
     */
    private String executeTime;
    /**
     * 被叫号码量
     */
    private String calleeNumberCount;
    /**
     * 接通数量
     */
    private String connectionCount;
    /**
     * 失败数量
     */
    private String failureCount;
    /**
     * 其它状态数量
     */
    private String otherStatusCount;
    /**
     * 场景名称
     */
    private String callScenesName;
    /**
     * 开始时间
     */
    private String startTime;
    /**
     * 结束时间
     */
    private String endTime;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskVO.java
New file
@@ -0,0 +1,34 @@
package cn.gistack.sm.intelligentCall.vo;
import cn.gistack.sm.intelligentCall.entity.CallTask;
import lombok.Data;
/**
 * 智能外呼任务 vo
 * @author zhongrj
 * @date 2023-04-25
 */
@Data
public class CallTaskVO extends CallTask {
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 任务状态 0:未执行  1:执行中  2:已取消 3:已终止  4:已完成
     */
    private Integer status;
    /**
     * 开始时间
     */
    private String startTime;
    /**
     * 结束时间
     */
    private String endTime;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-dev.yml
@@ -27,4 +27,9 @@
          url: ${blade.datasource.dev.zt.url}
          username: ${blade.datasource.dev.zt.username}
          password: ${blade.datasource.dev.zt.password}
        # 智能外呼数据库
        ztznwh:
          url: ${blade.datasource.dev.ztznwh.url}
          username: ${blade.datasource.dev.ztznwh.username}
          password: ${blade.datasource.dev.ztznwh.password}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-prod.yml
@@ -27,3 +27,8 @@
          url: ${blade.datasource.prod.zt.url}
          username: ${blade.datasource.prod.zt.username}
          password: ${blade.datasource.prod.zt.password}
        # 智能外呼数据库
        ztznwh:
          url: ${blade.datasource.prod.ztznwh.url}
          username: ${blade.datasource.prod.ztznwh.username}
          password: ${blade.datasource.prod.ztznwh.password}