From 62520477e6ac5fc8ccce28fdb69ec26246a4a37b Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Mon, 02 Jul 2018 11:27:14 +0800
Subject: [PATCH] 优化 大屏数据排名接口

---
 src/main/java/com/moral/service/impl/HistoryServiceImpl.java |   28 +++++++++++++---------------
 1 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
index c75e317..fa11e80 100644
--- a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
@@ -16,6 +16,7 @@
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
 import com.moral.common.util.ValidateUtil;
 import com.moral.entity.Profession;
@@ -161,6 +162,9 @@
 				for (Profession profession : professions) {
 					if (map.get("name").equals(profession.getName())) {
 						professions.remove(profession);
+						if (ObjectUtils.isEmpty(map.get("avg"))) {
+							map.put("avg", 0);
+						}
 						break;
 					}
 				}
@@ -172,25 +176,19 @@
 				result.add(map);
 			}
 		} else if ("region".equals(parameters.get("dimension"))) {
-			List<Map<String, Object>> regions = historyMapper.selectNextLevelRegion(parameters);
-			for (int i = result.size() - 1; i >= 0; i--) {
-				Map<String, Object> map = result.get(i);
-				for (Map<String, Object> region : regions) {
-					if ((map.get("code") == null)) {
-						result.remove(map);
-						break;
-					} 
-					if (map.get("code").equals(region.get("code"))) {
-						map.put("name", region.get("name"));
-						regions.remove(region);
-						map.remove("code");
-						break;
+			List<String> regions = historyMapper.selectNextLevelRegion(parameters);
+			for (Map<String, Object> map : result) {
+				if (regions.contains(map.get("name"))) {
+					regions.remove(map.get("name"));
+					if (ObjectUtils.isEmpty(map.get("avg"))) {
+						map.put("avg", 0);
 					}
 				}
+				
 			}
-			for (Map<String, Object> region : regions) {
+			for (String region : regions) {
 				Map<String, Object> map = new HashMap<String, Object>();
-				map.put("name", region.get("name"));
+				map.put("name", region);
 				map.put("avg", 0);
 				result.add(map);
 			}

--
Gitblit v1.8.0