guoshilong
2023-05-15 4a29ac61806d52ae9e8f512d48d769f567f3791d
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