From 6b3618d35a088380ca18d168c6ea4c0dc8f101eb Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 15 May 2023 14:50:34 +0800
Subject: [PATCH] 新增智能外呼按行政区统计接通率接口
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java | 74 ++++++++++++++++++++++++++++++++----
1 files changed, 65 insertions(+), 9 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 568f5d5..d329fef 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
@@ -23,6 +23,7 @@
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -73,11 +74,19 @@
LocalDateTime now = LocalDateTime.now();
String timestamp = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss SSS"));
String transId = generateTransId(now);
-// String taskName = now.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm")) + "智能外呼";
- String taskName = map.get("taskName").toString();
+ String taskName = now.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm")) + "智能外呼";;
+ if(null!= map.get("taskName") && !map.get("taskName").equals("")){
+ taskName = map.get("taskName").toString();
+ }
String[] numbers = StringUtils.split(callingNumbers,",");
-// String taskScheduleTime = LocalDateTime.now().plusHours(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
- String taskScheduleTime = map.get("taskScheduleTime").toString();
+ String taskScheduleTime = LocalDateTime.now().plusHours(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+ if (null!=map.get("taskScheduleTime") && !map.get("taskScheduleTime").equals("")){
+ taskScheduleTime = map.get("taskScheduleTime").toString();
+ }
+ String scenesIds = scenesId;
+ if (null!=map.get("scenesId") && !map.get("scenesId").equals("")){
+ scenesIds = map.get("scenesId").toString();
+ }
JSONArray arr = getCalleeInfo(params);
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add("Content-Type", CONTENT_TYPE);
@@ -85,7 +94,7 @@
httpHeaders.add("Accept-Encoding", ACCEPT_ENCODING);
JSONObject paramJson = new JSONObject();
paramJson.put("taskName", taskName);
- paramJson.put("scenesId", scenesId);
+ paramJson.put("scenesId", scenesIds);
paramJson.put("callingNumbers", numbers);
paramJson.put("taskScheduleTime", taskScheduleTime);
paramJson.put("calleeData", arr);
@@ -214,9 +223,9 @@
List<String> list = new ArrayList<>();
if (null!= callTaskResult.getAreaName() && !callTaskResult.getAreaName().equals("")){
// 查询所有下级区域code
- list = getWaterNameByAreaCode(callTaskResult.getAreaName());
+ list = getAllChildrenAreaByAreaCode(callTaskResult.getAreaName());
}
- List<CallTaskResultVO> resultListPage = callTaskMapper.getCallTaskResultListPage(page, callTaskResult,list);
+ List<CallTaskResultVO> resultListPage = callTaskMapper.getCallTaskResultListPage(page, callTaskResult,list,null);
return page.setRecords(resultListPage);
}
@@ -228,16 +237,63 @@
@Override
public Object getCallTaskResultList(CallTaskResultVO callTaskResult) {
List<String> list = new ArrayList<>();
+ List<String> idsList = new ArrayList<>();
if (null!= callTaskResult.getAreaName() && !callTaskResult.getAreaName().equals("")){
// 查询所有下级区域code
- list = getWaterNameByAreaCode(callTaskResult.getAreaName());
+ list = getAllChildrenAreaByAreaCode(callTaskResult.getAreaName());
}
- List<CallTaskResultVO> resultListPage = callTaskMapper.getCallTaskResultListPage(null, callTaskResult,list);
+ if (null!= callTaskResult.getIds() && !callTaskResult.getIds().equals("")){
+ // 查询所有下级区域code
+ idsList = Arrays.asList(callTaskResult.getIds().split(","));
+ }
+ List<CallTaskResultVO> resultListPage = callTaskMapper.getCallTaskResultListPage(null, callTaskResult,list,idsList);
// 返回
return resultListPage;
}
/**
+ * 查询智能外呼统计数据-按日期-行政区统计
+ * @param callTaskStatistic
+ * @return
+ */
+ @Override
+ public Object getOutgoingStatisticList(IPage<CallTaskStatistic> page,CallTaskStatistic callTaskStatistic) {
+ List<String> list = new ArrayList<>();
+ if (null!= callTaskStatistic.getAdName() && !callTaskStatistic.getAdName().equals("")){
+ // 查询所有下级区域code
+ list = getAllChildrenAreaByAreaCode(callTaskStatistic.getAdName());
+ }
+ // 勾选导出行政区 id 组装
+ if (null!= callTaskStatistic.getIds() && !callTaskStatistic.getIds().equals("")){
+ list = Arrays.asList(callTaskStatistic.getIds().split(","));
+ }
+ // 判断是否分页
+ if (null!= callTaskStatistic.getIsPage()){
+ return callTaskMapper.getOutgoingStatisticList(null,callTaskStatistic,list);
+ }
+ return page.setRecords(callTaskMapper.getOutgoingStatisticList(page,callTaskStatistic,list));
+ }
+
+ /**
+ * 查询智能外呼统计数据-行政区统计
+ * @param callTaskStatistic
+ * @return
+ */
+ @Override
+ public Object getOutgoingStatisticByArea(CallTaskStatistic callTaskStatistic) {
+ return callTaskMapper.getOutgoingStatisticByArea(callTaskStatistic);
+ }
+
+ /**
+ * 查询所有下级区域
+ * @param areaCode
+ * @return
+ */
+ private List<String> getAllChildrenAreaByAreaCode(String areaCode) {
+ return callTaskMapper.getAllChildrenAreaByAreaCode(areaCode);
+ }
+
+ /**
* 通过水库编码获取行政区名称
* @param adCode
* @return
--
Gitblit v1.9.3