From 78c9129e9045fafe4c2f7333b3dcafde6b20b96d Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 05 十二月 2024 15:20:51 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailServiceImpl.java | 131 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 127 insertions(+), 4 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailServiceImpl.java
index 7a2de80..1cc499d 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailServiceImpl.java
@@ -1,16 +1,24 @@
package com.smartor.service.impl;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.smartor.domain.ServiceSubtask;
import com.smartor.domain.ServiceSubtaskDetail;
import com.smartor.domain.ServiceSubtaskDetail;
+import com.smartor.domain.ServiceTask;
import com.smartor.mapper.ServiceSubtaskDetailMapper;
import com.smartor.mapper.ServiceSubtaskMapper;
import com.smartor.service.IServiceSubtaskDetailService;
+import com.smartor.service.IServiceTaskService;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 璇煶浠诲姟鍛煎彨鏄庣粏Service涓氬姟灞傚鐞�
@@ -25,8 +33,10 @@
private ServiceSubtaskDetailMapper ServiceSubtaskDetailMapper;
@Autowired
- private ServiceSubtaskMapper ivrTaskSingleMapper;
+ private ServiceSubtaskMapper serviceSubtaskMapper;
+ @Autowired
+ private IServiceTaskService serviceTaskService;
/**
@@ -47,8 +57,76 @@
* @return 璇煶浠诲姟鍛煎彨鏄庣粏
*/
@Override
- public List<ServiceSubtaskDetail> selectServiceSubtaskDetailList(ServiceSubtaskDetail serviceSubtaskDetail) {
- return ServiceSubtaskDetailMapper.selectServiceSubtaskDetailList(serviceSubtaskDetail);
+ public Map<String, Object> selectServiceSubtaskDetailList(ServiceSubtaskDetail serviceSubtaskDetail) {
+ List<ServiceSubtaskDetail> serviceSubtaskDetails = ServiceSubtaskDetailMapper.selectServiceSubtaskDetailList(serviceSubtaskDetail);
+ String taskName = null;
+ if (CollectionUtils.isNotEmpty(serviceSubtaskDetails)) {
+ //澶勭悊涓�涓嬮�氶厤绗�
+ for (ServiceSubtaskDetail serviceSubtaskDetail1 : serviceSubtaskDetails) {
+ ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(serviceSubtaskDetail1.getSubId());
+ serviceSubtaskDetail1.setQuestiontext(getObject(serviceSubtask, serviceSubtaskDetail1.getQuestiontext()));
+ }
+ taskName = serviceTaskService.selectServiceTaskByTaskid(serviceSubtaskDetails.get(0).getTaskid()).getTaskName();
+ }
+ //鑾峰彇鏈�鍚庣殑鎬诲綍闊冲湴鍧�
+ Map<String, Object> map = new HashMap<>();
+ map.put("code", 200);
+ map.put("msg", "鏌ヨ鎴愬姛");
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("serviceSubtaskDetails", serviceSubtaskDetails);
+ map1.put("filteredDetails", null);
+ map1.put("taskName", taskName);
+ //鐢ㄤ簬瀛樺偍鍘婚噸鐨勬暟鎹�
+ List<ServiceSubtaskDetail> serviceSubtaskDetailSET = new ArrayList<>();
+ Boolean flag = false;
+ if (CollectionUtils.isNotEmpty(serviceSubtaskDetails)) {
+ for (ServiceSubtaskDetail serviceSubtaskDetail1 : serviceSubtaskDetails) {
+ if (serviceSubtaskDetailSET.size() == 0) {
+ serviceSubtaskDetailSET.add(serviceSubtaskDetail1);
+ } else {
+// for (ServiceSubtaskDetail subtaskDetail : serviceSubtaskDetailSET)
+ for (int i = 0; i < serviceSubtaskDetailSET.size(); i++) {
+ ServiceSubtaskDetail subtaskDetail = serviceSubtaskDetailSET.get(i);
+ if (subtaskDetail.getPatid().equals(serviceSubtaskDetail1.getPatid()) && subtaskDetail.getSubId().equals(serviceSubtaskDetail1.getSubId()) && subtaskDetail.getTaskid().equals(serviceSubtaskDetail1.getTaskid()) && subtaskDetail.getQuestiontext().equals(serviceSubtaskDetail1.getQuestiontext())) {
+ if (StringUtils.isNotEmpty(serviceSubtaskDetail1.getMatchedtext())) {
+ serviceSubtaskDetailSET.set(i, serviceSubtaskDetail1);
+ }
+ //鍖归厤鍒拌繖涓暟鎹�,灏唂lag鏀规垚false
+ if (flag == true) flag = false;
+ } else if ((subtaskDetail.getPatid().equals(serviceSubtaskDetail1.getPatid()) && subtaskDetail.getSubId().equals(serviceSubtaskDetail1.getSubId()) && subtaskDetail.getTaskid().equals(serviceSubtaskDetail1.getTaskid()) && !subtaskDetail.getQuestiontext().equals(serviceSubtaskDetail1.getQuestiontext()))) {
+ //鏍囪瘑涓�涓嬶紝鏆傛椂娌℃湁鍖归厤鍒拌繖涓暟鎹�
+ flag = true;
+ } else if ((subtaskDetail.getPatid() == serviceSubtaskDetail1.getPatid() && subtaskDetail.getSubId() != serviceSubtaskDetail1.getSubId() && subtaskDetail.getTaskid() == serviceSubtaskDetail1.getTaskid())) {
+ //鏍囪瘑涓�涓嬶紝鏆傛椂娌℃湁鍖归厤鍒拌繖涓暟鎹�
+ flag = true;
+ }
+ }
+ if (flag == true) {
+ //濡傛灉鍘婚噸寰幆閮界粨鏉熶簡锛岃繕娌℃湁鍖归厤鍒拌繖涓暟鎹紝鍒欏線鍘婚噸瀵硅薄閲屾柊澧炰竴涓�
+ serviceSubtaskDetailSET.add(serviceSubtaskDetail1);
+ flag = false;
+ }
+ }
+ }
+ }
+ Collections.sort(serviceSubtaskDetailSET, Comparator.comparingLong(ServiceSubtaskDetail::getTemplatequestionnum));
+ map1.put("filteredDetails", serviceSubtaskDetailSET);
+
+ map1.put("voice", "");
+ if (CollectionUtils.isNotEmpty(serviceSubtaskDetails) && StringUtils.isNotEmpty(serviceSubtaskDetails.get(0).getQuestionvoice())) {
+ //鑾峰彇瀹屾暣璇煶
+ String filePath = serviceSubtaskDetails.get(0).getQuestionvoice();
+ int lastIndex = filePath.lastIndexOf('.');
+ if (lastIndex != -1) {
+ int secondLastIndex = filePath.lastIndexOf('.', lastIndex - 1);
+ if (secondLastIndex != -1) {
+ String voicePath = filePath.substring(0, secondLastIndex) + filePath.substring(lastIndex);
+ map1.put("voice", voicePath);
+ }
+ }
+ }
+ map.put("data", map1);
+ return map;
}
/**
@@ -61,6 +139,18 @@
public int insertServiceSubtaskDetail(ServiceSubtaskDetail serviceSubtaskDetail) {
serviceSubtaskDetail.setCreateTime(DateUtils.getNowDate());
return ServiceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail);
+ }
+
+ @Override
+ public int batchInsertServiceSubtaskDetail(List<ServiceSubtaskDetail> serviceSubtaskDetails) {
+ int i = 0;
+ if (CollectionUtils.isNotEmpty(serviceSubtaskDetails)) {
+ for (ServiceSubtaskDetail serviceSubtaskDetail : serviceSubtaskDetails) {
+ serviceSubtaskDetail.setCreateTime(DateUtils.getNowDate());
+ i = ServiceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail);
+ }
+ }
+ return i;
}
/**
@@ -103,4 +193,37 @@
return ServiceSubtaskDetailMapper.deleteServiceSubtaskDetailByCalldetailid(calldetailid);
}
+ private String getObject(ServiceSubtask serviceSubtask, String scriptContent) {
+ Map<String, Map<String, String>> param = getParam(serviceSubtask.getTaskid());
+ for (Map<String, String> map : param.values()) {
+ for (String key : map.keySet()) {
+ scriptContent = scriptContent.replace(key, org.apache.commons.lang3.StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "");
+ }
+ }
+ scriptContent = scriptContent.replace("${name}", org.apache.commons.lang3.StringUtils.isNotEmpty(serviceSubtask.getSendname()) ? serviceSubtask.getSendname() : "");
+ scriptContent = scriptContent.replace("${dzz}", org.apache.commons.lang3.StringUtils.isNotEmpty(serviceSubtask.getAddr()) ? serviceSubtask.getAddr() : "");
+ scriptContent = scriptContent.replace("${phone}", org.apache.commons.lang3.StringUtils.isNotEmpty(serviceSubtask.getTelcode()) ? serviceSubtask.getTelcode() : "");
+
+ return scriptContent;
+ }
+
+
+ /**
+ * 鑾峰彇浠诲姟閲岀殑閫氶厤绗�
+ *
+ * @param taskId
+ * @return
+ */
+ private Map<String, Map<String, String>> getParam(Long taskId) {
+ ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(taskId);
+ ObjectMapper objectMapper = new ObjectMapper();
+ Map<String, Map<String, String>> serviceTaskMap = null;
+ try {
+ serviceTaskMap = objectMapper.readValue(serviceTask.getTextParam(), Map.class);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ return serviceTaskMap;
+ }
+
}
--
Gitblit v1.9.3