From 1dd5d8f8a616f5cf3caa7828d46989c7d3dcafc4 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Thu, 19 Oct 2023 15:01:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java | 76 ++++++++++++++++++++++++++++----------
1 files changed, 56 insertions(+), 20 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 6d511b0..b03d7cb 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
@@ -4,12 +4,14 @@
import cn.gistack.sm.intelligentCall.constant.CallConstant;
import cn.gistack.sm.intelligentCall.constant.ZtConstant;
import cn.gistack.sm.intelligentCall.entity.Scene;
+import cn.gistack.sm.intelligentCall.excel.CallExcel;
import cn.gistack.sm.intelligentCall.mapper.CallTaskMapper;
import cn.gistack.sm.intelligentCall.service.CallService;
import cn.gistack.sm.intelligentCall.vo.CallTaskResultVO;
import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
+import cn.gistack.sm.sjztmd.service.IAttResManagePersonService;
import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -20,6 +22,7 @@
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springblade.core.redis.cache.BladeRedis;
+import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
@@ -53,6 +56,9 @@
@Autowired
private BladeRedis bladeRedis;
+
+ @Autowired
+ private IAttResManagePersonService attResManagePersonService;
@Autowired
private AsyncCallService asyncCallService;
@@ -133,6 +139,7 @@
bodyJson.put("body", paramJson);
HttpEntity<String> stringHttpEntity = new HttpEntity<>(bodyJson.toJSONString(), httpHeaders);
log.info("创建超汛限智能外呼任务请求参数:{}", bodyJson.toJSONString());
+ log.info("创建超汛限智能外呼任务呼叫人数:{}", arr.size());
ResponseEntity<String> response = restTemplate.postForEntity(requestUrl, stringHttpEntity, String.class);
log.info("创建外呼任务请求结果:{}", response.getBody());
if (response.getStatusCode() != HttpStatus.OK) {
@@ -457,6 +464,7 @@
if (null!= callTaskStatistic.getIsPage()) {
return totalList;
}else {
+ page.setTotal(totalList.size());
return page.setRecords(totalList);
}
} catch (InterruptedException e) {
@@ -858,19 +866,19 @@
// 查询从未接通和从未呼叫的水库
List<Scene> totalList = callTaskMapper.getNotCallOrCallNotConnect();
// 取出随机的150人
- Set<Scene> taskRandomList = new HashSet<>();
- Integer personNumber = 150;
- Random random = new Random();
- for (int i = 0; i < totalList.size(); i++) {
- // 获取随机数作为下标索引
- int num = random.nextInt(totalList.size());
- // 保存到 hashSet ,保证唯一
- taskRandomList.add(totalList.get(num));
- // 数量达到预期设定退出循环
- if (taskRandomList.size() == personNumber) {
- break;
- }
- }
+ Set<Scene> taskRandomList = new HashSet<>(totalList);
+// Integer personNumber = 220;
+// Random random = new Random();
+// for (int i = 0; i < totalList.size(); i++) {
+// // 获取随机数作为下标索引
+// int num = random.nextInt(totalList.size());
+// // 保存到 hashSet ,保证唯一
+// taskRandomList.add(totalList.get(num));
+// // 数量达到预期设定退出循环
+// if (taskRandomList.size() == personNumber) {
+// break;
+// }
+// }
//4. 传入调度时间和随机得到的人员信息进行任务的创建并返回
params.put("list",setForListMap(taskRandomList));
// 调度时间处理
@@ -1199,16 +1207,11 @@
*/
@Override
public Object getCallResultList(IPage<CallTaskStatistic> page, CallTaskStatistic callTaskStatistic) {
- List<String> list = new ArrayList<>();
- if (null!= callTaskStatistic.getAdCode() && !callTaskStatistic.getAdCode().equals("")){
- // 查询所有下级区域code
- list = getAllChildrenAreaByAreaCode(callTaskStatistic.getAdCode());
- }
if (null!=callTaskStatistic.getIsPage()){
// 不分页
- return callTaskMapper.getCallResultList(null, list,callTaskStatistic);
+ return callTaskMapper.getCallResultList(null,callTaskStatistic);
}
- List<CallTaskStatistic> callNotConnectResultList = callTaskMapper.getCallResultList(page,list, callTaskStatistic);
+ List<CallTaskStatistic> callNotConnectResultList = callTaskMapper.getCallResultList(page, callTaskStatistic);
// 返回
return page.setRecords(callNotConnectResultList);
}
@@ -1228,4 +1231,37 @@
// 不分页
return callTaskMapper.getCallResultListTemp(null,callTaskResult,list);
}
+
+ /**
+ * 导入表格发送智能外呼
+ * @param list
+ * @param time
+ * @return
+ */
+ @Override
+ public Object importCall(List<CallExcel> list,String time) {
+ // 转换
+ List<String> stringList = list.stream().map(CallExcel::getWaterCode).collect(Collectors.toList());
+ // 通过水库代码获取水库及巡查责任人信息
+ Set<Scene> personList = attResManagePersonService.getPatrolPersonListByWaterCodeList(stringList);
+ Map<String, Object> params = new HashMap<>();
+ //传入调度时间和随机得到的人员信息进行任务的创建并返回
+ params.put("list",setForListMap(personList));
+ // 调度时间处理
+ if (null!=time && !time.equals("")){
+ params.put("taskScheduleTime",time);
+ }else {
+ params.put("taskScheduleTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ }
+ // 创建任务并返回结果
+ List<String> task = createTask(params);
+ if (null!=task.get(1) && !task.get(1).equals("")){
+ String successMsg = "外呼任务创建成功";
+ // 返回
+ return R.data(200,successMsg,null);
+ }
+ String errorMsg = task.get(0);
+ // 返回
+ return R.data(400,errorMsg,null);
+ }
}
--
Gitblit v1.9.3