zhongrj
2023-09-05 d3726606bfbf809423cd83fc6ae3058967a4d901
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
@@ -133,6 +133,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) {
@@ -144,6 +145,9 @@
      if (success){
         //通过任务名称查询taskId
         taskId = callTaskMapper.getTaskIdByTaskName(taskName);
      }else {
         // 任务创建失败,发送短信告知
         asyncCallService.createOutCallErrorSendSms(jsonObject.getString("code"),jsonObject.getString("message"));
      }
      List<String> list = new ArrayList<>();
      list.add(response.getBody());
@@ -454,6 +458,7 @@
         if (null!= callTaskStatistic.getIsPage()) {
            return totalList;
         }else {
            page.setTotal(totalList.size());
            return page.setRecords(totalList);
         }
      } catch (InterruptedException e) {
@@ -855,19 +860,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));
      // 调度时间处理