From c1cf84479cd38ba7c544fc712ca12f7e99476c48 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 25 Apr 2023 21:00:25 +0800
Subject: [PATCH] 智能外呼查询统计接口新增
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/entity/CallTask.java | 14 ++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java | 21 ++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java | 18 +++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java | 88 +++++++++++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml | 38 +++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java | 13 ++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-dev.yml | 5 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java | 28 +++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskVO.java | 34 ++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-prod.yml | 5 +
10 files changed, 263 insertions(+), 1 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
index dd20993..89b7000 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
+++ b/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));
+ }
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/entity/CallTask.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/entity/CallTask.java
new file mode 100644
index 0000000..5bef6b8
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/entity/CallTask.java
@@ -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 {
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java
new file mode 100644
index 0000000..8048266
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java
@@ -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);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
new file mode 100644
index 0000000..068298f
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
@@ -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') <= #{callTask.endTime}
+ </if>
+ order by ct."gmt_create" desc
+ </select>
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
index 9fc2da2..54527dd 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
+++ b/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);
}
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 a0f5a03..9dc5187 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
@@ -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));
+ }
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
new file mode 100644
index 0000000..f74782d
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
@@ -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;
+
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskVO.java
new file mode 100644
index 0000000..65bb718
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskVO.java
@@ -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;
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-dev.yml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-dev.yml
index 149b0af..e728a38 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-dev.yml
+++ b/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}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-prod.yml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-prod.yml
index 1201c7f..ec84042 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-prod.yml
+++ b/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}
--
Gitblit v1.9.3