From c9087c0694ccfc7225beb8d2ca339341b22929b8 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 27 Apr 2023 21:23:13 +0800
Subject: [PATCH] 智能呼叫查询修改,解决数据重复问题

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 7 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 18b2b57..9783eb4 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
@@ -22,12 +22,12 @@
 import org.springframework.web.client.RestTemplate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
 @Slf4j
 @Service
-@DS("ztznwh")
 public class CallServiceImpl implements CallService {
 
 	@Autowired
@@ -63,18 +63,21 @@
 
 	/**
 	 * 创建任务
-	 * @param params
+	 * @param map
 	 * @return
 	 */
 	@Override
-	public Object createTask(List<Map<String, String>> params) {
+	public Object createTask(Map<String,Object> map) {
+		List<Map<String, String>> params = (List<Map<String, String>>) map.get("list");
 		String requestUrl = url + CREATE_TASK_URL;
 		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 = now.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm")) + "智能外呼";
+		String 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 = LocalDateTime.now().plusHours(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+		String taskScheduleTime = map.get("taskScheduleTime").toString();
 		JSONArray arr = getCalleeInfo(params);
 		HttpHeaders httpHeaders = new HttpHeaders();
 		httpHeaders.add("Content-Type", CONTENT_TYPE);
@@ -135,7 +138,7 @@
 			JSONObject responseJson = (JSONObject) JSONObject.parse(response.getBody());
 			assert responseJson != null;
 //			return JSONObject.parseObject(responseJson.getString("data"), CallBackDetailVO.class);
-			return responseJson.getString("data");
+			return response.getBody();
 		}
 		return null;
 	}
@@ -208,6 +211,45 @@
 	 */
 	@Override
 	public IPage<CallTaskResultVO> getCallTaskResultListPage(IPage<CallTaskResultVO> page, CallTaskResultVO callTaskResult) {
-		return page.setRecords(callTaskMapper.getCallTaskResultListPage(page,callTaskResult));
+		List<String> list = new ArrayList<>();
+		if (null!= callTaskResult.getAreaName() && !callTaskResult.getAreaName().equals("")){
+			// 查询水库名称
+			list = getWaterNameByAreaCode(callTaskResult.getAreaName());
+		}
+		List<CallTaskResultVO> resultListPage = callTaskMapper.getCallTaskResultListPage(page, callTaskResult,list);
+		//遍历
+		if (resultListPage.size()>0) {
+			for (CallTaskResultVO resultVO : resultListPage) {
+				// 取出 jsonData 数据
+				String callTaskCalleeContent = resultVO.getCallTaskCalleeContent();
+				JSONObject jsonObject = JSONObject.parseObject(callTaskCalleeContent);
+				String userName = jsonObject.getString("$用户名$");
+				String adName = jsonObject.getString("$水库名称$");
+				resultVO.setAdName(adName);
+				resultVO.setAreaName(getAreaNameByAdCode(jsonObject.getString("$水库编码$")));
+				resultVO.setUserName(userName);
+			}
+		}
+		return page.setRecords(resultListPage);
+	}
+
+	/**
+	 * 通过水库编码获取行政区名称
+	 * @param adCode
+	 * @return
+	 */
+	private String getAreaNameByAdCode(String adCode) {
+		// 通过adCode查询区域名称
+		return callTaskMapper.getAreaNameByAdCode(adCode);
+	}
+
+	/**
+	 * 通过行政区编号获取水库名称
+	 * @param areaCode
+	 * @return
+	 */
+	private List<String> getWaterNameByAreaCode(String areaCode) {
+		// 通过行政区编号获取水库名称
+		return callTaskMapper.getWaterNameByAreaCode(areaCode);
 	}
 }

--
Gitblit v1.9.3