From b6853bf0a1411e39360f184b3bee5836010dbd22 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 27 十月 2020 17:35:18 +0800
Subject: [PATCH] CMQ接口优化

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/HomeNavbarControllerV2.java |  489 +++++++++++++++++++++++++++--------------------------
 1 files changed, 249 insertions(+), 240 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/HomeNavbarControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/HomeNavbarControllerV2.java
index bf74b96..076f1c3 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/HomeNavbarControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/HomeNavbarControllerV2.java
@@ -6,6 +6,7 @@
 
 import javax.annotation.Resource;
 
+import com.yeshi.fanli.entity.SystemEnum;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -30,268 +31,276 @@
 @RequestMapping("api/v2/navbar")
 public class HomeNavbarControllerV2 {
 
-	@Resource
-	private HomeNavbarService homeNavbarService;
+    @Resource
+    private HomeNavbarService homeNavbarService;
 
-	@Resource
-	private HomeNavbarUserService homeNavbarUserService;
-	
-	@Resource
-	private DeviceSexService deviceSexService;
-	
+    @Resource
+    private HomeNavbarUserService homeNavbarUserService;
+
+    @Resource
+    private DeviceSexService deviceSexService;
 
 
-	/**
-	 * 鏀瑰彉鎬у埆
-	 * @param acceptData
-	 * @param sex
-	 * @param out
-	 */
-	@RequestMapping(value = "changeSex", method = RequestMethod.POST)
-	public void changeSex(AcceptData acceptData, Integer sex, PrintWriter out) {
-		try {
-			// 鑾峰彇璁惧瀹氫箟鎬у埆
-			deviceSexService.save(acceptData.getDevice(), sex);
-			JSONObject data = new JSONObject();
-			data.put("sex", sex);
-			out.print(JsonUtil.loadTrueResult(data));
-		} catch (Exception e) {
-			out.print(JsonUtil.loadFalseResult("鍒囨崲澶辫触"));
-		}
-	}
+    /**
+     * 鏀瑰彉鎬у埆
+     *
+     * @param acceptData
+     * @param sex
+     * @param out
+     */
+    @RequestMapping(value = "changeSex", method = RequestMethod.POST)
+    public void changeSex(AcceptData acceptData, Integer sex, PrintWriter out) {
+        try {
+            // 鑾峰彇璁惧瀹氫箟鎬у埆
+            deviceSexService.save(acceptData.getDevice(), sex);
+            JSONObject data = new JSONObject();
+            data.put("sex", sex);
+            out.print(JsonUtil.loadTrueResult(data));
+        } catch (Exception e) {
+            out.print(JsonUtil.loadFalseResult("鍒囨崲澶辫触"));
+        }
+    }
 
-	
-	/**
-	 * 鑾峰彇瀵艰埅鏍忓唴瀹�
-	 * @param acceptData
-	 * @param uid
-	 * @param out
-	 */
-	@RequestMapping(value = "getHomeItems", method = RequestMethod.POST)
-	public void getHomeItems(AcceptData acceptData, Long uid, PrintWriter out) {
-		// 鑾峰彇璁惧瀹氫箟鎬у埆
-		int deviceSex = deviceSexService.getDeviceSex(acceptData.getDevice(),acceptData.getSystem());
-		List<HomeNavbar> listNavbar = homeNavbarUserService.listEffectiveNavbar(uid, acceptData.getDevice(), deviceSex,acceptData.getSystem());
-		
-		List<HomeNavbar> list = new ArrayList<HomeNavbar>();
-		if (listNavbar != null) {
-			list.addAll(listNavbar);
-		} 
-		
-		if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
-			for (int i = 0; i < list.size(); i ++) {
-				NavbarTypeEnum type = list.get(i).getType();
-				if (type == NavbarTypeEnum.commonTemplate) {
-					list.remove(i);
-					i--;
-				}
-			}
-		}
-		
-		JSONObject data = new JSONObject();
-		data.put("sex", deviceSex);
-		data.put("count", list.size());
-		data.put("listNavbar", JsonUtil.getApiCommonGson().toJson(list));
-		out.print(JsonUtil.loadTrueResult(data));
-	}
 
-	/**
-	 * 鑾峰彇瀵艰埅鏍忕紪杈戝唴瀹�
-	 * 
-	 * @param acceptData
-	 * @param out
-	 */
-	@RequestMapping(value = "getUserItems", method = RequestMethod.POST)
-	public void getUserItems(AcceptData acceptData, Long uid, PrintWriter out) {
-		try {
-			List<HomeNavbar> listExist = new ArrayList<HomeNavbar>();
-			List<HomeNavbar> listItems = new ArrayList<HomeNavbar>();
+    /**
+     * 鑾峰彇瀵艰埅鏍忓唴瀹�
+     *
+     * @param acceptData
+     * @param uid
+     * @param out
+     */
+    @RequestMapping(value = "getHomeItems", method = RequestMethod.POST)
+    public void getHomeItems(AcceptData acceptData, Long uid, PrintWriter out) {
+        // 鑾峰彇璁惧瀹氫箟鎬у埆
+        int deviceSex = deviceSexService.getDeviceSex(acceptData.getDevice(), acceptData.getSystem());
+        List<HomeNavbar> listNavbar = homeNavbarUserService.listEffectiveNavbar(uid, acceptData.getDevice(), deviceSex, acceptData.getSystem());
 
-			// 绯荤粺榛樿瀵艰埅鏍�
-			List<HomeNavbar> listNavbar = homeNavbarService.listQueryEffectiveNavbar(acceptData.getSystem());
-			if (listNavbar != null && listNavbar.size() > 0) {
-				listItems.addAll(listNavbar);
-			}
+        List<HomeNavbar> list = new ArrayList<HomeNavbar>();
+        if (listNavbar != null) {
+            list.addAll(listNavbar);
+        }
 
-			int nonCount = 0;
-			// 鏌ヨ鐢ㄦ埛鑷畾涔夊鑸�
-			List<HomeNavbarUser> listUser = homeNavbarUserService.listUserNavbar(uid, acceptData.getDevice());
+        //闈炴澘鏍楀揩鐪佸垹闄ょ綉椤电被瀵艰埅
+        for (int i = 0; i < list.size(); i++) {
+            if (list.get(i).getType() == NavbarTypeEnum.web && acceptData.getSystem() != SystemEnum.blks) {
+                list.remove(i--);
+            }
+        }
 
-			if (listUser == null || listUser.size() == 0) {
-				for (int i = 0; i < listItems.size(); i++) {
-					HomeNavbar homeNavbar = listItems.get(i);
-					// 娲诲姩鍓旈櫎
-					if (!NavbarTypeEnum.category.equals(homeNavbar.getType())) {
-						listItems.remove(homeNavbar);
-						i--;
-						continue;
-					}
+        if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
+            for (int i = 0; i < list.size(); i++) {
+                NavbarTypeEnum type = list.get(i).getType();
+                if (type == NavbarTypeEnum.commonTemplate) {
+                    list.remove(i);
+                    i--;
+                }
+            }
+        }
 
-					if (homeNavbar.getIsDefault()) {
-						if (homeNavbar.getIsFixed()) {
-							nonCount++;
-						}
-						
-						listExist.add(homeNavbar);
-						listItems.remove(homeNavbar);
-						i--;
-						continue;
-					}
-				}
+        JSONObject data = new JSONObject();
+        data.put("sex", deviceSex);
+        data.put("count", list.size());
+        data.put("listNavbar", JsonUtil.getApiCommonGson().toJson(list));
+        out.print(JsonUtil.loadTrueResult(data));
+    }
 
-			} else {
-				// 鑾峰彇鍥哄畾涓嶅彲缂栬緫
-				for (int i = 0; i < listItems.size(); i++) {
-					HomeNavbar homeNavbar = listItems.get(i);
+    /**
+     * 鑾峰彇瀵艰埅鏍忕紪杈戝唴瀹�
+     *
+     * @param acceptData
+     * @param out
+     */
+    @RequestMapping(value = "getUserItems", method = RequestMethod.POST)
+    public void getUserItems(AcceptData acceptData, Long uid, PrintWriter out) {
+        try {
+            List<HomeNavbar> listExist = new ArrayList<HomeNavbar>();
+            List<HomeNavbar> listItems = new ArrayList<HomeNavbar>();
 
-					// 娲诲姩鍓旈櫎
-					if (!NavbarTypeEnum.category.equals(homeNavbar.getType())) {
-						listItems.remove(homeNavbar);
-						i--;
-						continue;
-					}
+            // 绯荤粺榛樿瀵艰埅鏍�
+            List<HomeNavbar> listNavbar = homeNavbarService.listQueryEffectiveNavbar(acceptData.getSystem());
+            if (listNavbar != null && listNavbar.size() > 0) {
+                listItems.addAll(listNavbar);
+            }
 
-					if (homeNavbar.getIsFixed()) {
-						listExist.add(homeNavbar);
-						nonCount++;
+            int nonCount = 0;
+            // 鏌ヨ鐢ㄦ埛鑷畾涔夊鑸�
+            List<HomeNavbarUser> listUser = homeNavbarUserService.listUserNavbar(uid, acceptData.getDevice());
 
-						listItems.remove(homeNavbar);
-						i--;
-					}
-				}
+            if (listUser == null || listUser.size() == 0) {
+                for (int i = 0; i < listItems.size(); i++) {
+                    HomeNavbar homeNavbar = listItems.get(i);
+                    // 娲诲姩鍓旈櫎
+                    if (!NavbarTypeEnum.category.equals(homeNavbar.getType())) {
+                        listItems.remove(homeNavbar);
+                        i--;
+                        continue;
+                    }
 
-				// 鐢ㄦ埛缂栬緫鐨勬暟鎹�
-				for (HomeNavbarUser homeNavbarUser : listUser) {
-					HomeNavbar homeNavbar = homeNavbarUser.getHomeNavbar();
-					if (homeNavbar == null) {
-						continue;
-					}
+                    if (homeNavbar.getIsDefault()) {
+                        if (homeNavbar.getIsFixed()) {
+                            nonCount++;
+                        }
 
-					// 娲诲姩鍓旈櫎
-					if (!NavbarTypeEnum.category.equals(homeNavbar.getType())) {
-						continue;
-					}
+                        listExist.add(homeNavbar);
+                        listItems.remove(homeNavbar);
+                        i--;
+                        continue;
+                    }
+                }
 
-					long homeId = homeNavbar.getId();
-					for (int i = 0; i < listItems.size(); i++) {
-						HomeNavbar navbar = listItems.get(i);
-						long id = navbar.getId();
-						if (homeId == id) {
-							// 鍔犲叆鐢ㄦ埛宸查��
-							listExist.add(navbar);
-							// 绉婚櫎鐢ㄦ埛宸查��
-							listItems.remove(navbar);
-							i--;
-							break;
-						}
-					}
-				}
-			}
+            } else {
+                // 鑾峰彇鍥哄畾涓嶅彲缂栬緫
+                for (int i = 0; i < listItems.size(); i++) {
+                    HomeNavbar homeNavbar = listItems.get(i);
 
-			JSONObject data = new JSONObject();
-			data.put("min", 6);
-			data.put("max", 16);
-			data.put("nonCount", nonCount);
-			data.put("listExist", JsonUtil.getApiCommonGson().toJson(listExist));
-			data.put("listItems", JsonUtil.getApiCommonGson().toJson(listItems));
-			out.print(JsonUtil.loadTrueResult(data));
-		} catch (HomeNavbarUserException e) {
-			out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
-		}
-	}
+                    // 娲诲姩鍓旈櫎
+                    if (!NavbarTypeEnum.category.equals(homeNavbar.getType())) {
+                        listItems.remove(homeNavbar);
+                        i--;
+                        continue;
+                    }
 
-	/**
-	 * 璁剧疆鑷畾涔�
-	 * 
-	 * @param acceptData
-	 * @param uid
-	 * @param list
-	 * @param out
-	 */
-	@RequestMapping(value = "saveUserItems", method = RequestMethod.POST)
-	public void saveUserItems(AcceptData acceptData, Long uid, String barIds, PrintWriter out) {
-		try {
-			if (StringUtil.isNullOrEmpty(barIds)) {
-				out.print(JsonUtil.loadFalseResult("Id鍙傛暟涓嶈兘涓虹┖"));
-				return;
-			}
+                    if (homeNavbar.getIsFixed()) {
+                        listExist.add(homeNavbar);
+                        nonCount++;
 
-			Gson gson = new Gson();
-			List<Long> list = gson.fromJson(barIds, new TypeToken<ArrayList<Long>>() {
-			}.getType());
-			if (list == null || list.size() == 0) {
-				out.print(JsonUtil.loadFalseResult("鏈娴嬪埌鏁版嵁"));
-				return;
-			}
+                        listItems.remove(homeNavbar);
+                        i--;
+                    }
+                }
 
-			homeNavbarUserService.addNavbarUser(uid, acceptData.getDevice(), list);
-			out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
-			
-			// 璁剧疆涓洪�氱敤
-			deviceSexService.save(acceptData.getDevice(), 0);
-			
-		} catch (HomeNavbarUserException e) {
-			out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
-		}
-	}
+                // 鐢ㄦ埛缂栬緫鐨勬暟鎹�
+                for (HomeNavbarUser homeNavbarUser : listUser) {
+                    HomeNavbar homeNavbar = homeNavbarUser.getHomeNavbar();
+                    if (homeNavbar == null) {
+                        continue;
+                    }
 
-	/**
-	 * 杩樺師榛樿
-	 * 
-	 * @param acceptData
-	 * @param uid
-	 * @param out
-	 */
-	@RequestMapping(value = "restoreDefault", method = RequestMethod.POST)
-	public void restoreDefault(AcceptData acceptData, Long uid, PrintWriter out) {
-		try {
-			int nonCount = 0;
-			List<HomeNavbar> listExist = new ArrayList<HomeNavbar>();
-			List<HomeNavbar> listItems = new ArrayList<HomeNavbar>();
-			
-			
-			List<HomeNavbar> listNavbar = homeNavbarUserService.restoreSystemDefault(uid, acceptData.getDevice(),acceptData.getSystem());
-			if (listNavbar != null && listNavbar.size() > 0) {
-				listItems.addAll(listNavbar);
-			}
+                    // 娲诲姩鍓旈櫎
+                    if (!NavbarTypeEnum.category.equals(homeNavbar.getType())) {
+                        continue;
+                    }
 
-			for (int i = 0; i < listItems.size(); i++) {
-				HomeNavbar homeNavbar = listItems.get(i);
-				// 娲诲姩鍓旈櫎
-				if (!NavbarTypeEnum.category.equals(homeNavbar.getType())) {
-					listItems.remove(homeNavbar);
-					i--;
-					continue;
-				}
-				
-				// 绛涢�夊嚭榛樿椤�
-				if (!homeNavbar.getIsDefault()) {
-					break;
-				} else {
-					// 鍥哄畾涓暟
-					if (homeNavbar.getIsFixed()) {
-						nonCount++;
-					}
-					// 榛樿椤�
-					listExist.add(homeNavbar);
-					listItems.remove(homeNavbar);
-					i--;
-					continue;
-				}
-			}
+                    long homeId = homeNavbar.getId();
+                    for (int i = 0; i < listItems.size(); i++) {
+                        HomeNavbar navbar = listItems.get(i);
+                        long id = navbar.getId();
+                        if (homeId == id) {
+                            // 鍔犲叆鐢ㄦ埛宸查��
+                            listExist.add(navbar);
+                            // 绉婚櫎鐢ㄦ埛宸查��
+                            listItems.remove(navbar);
+                            i--;
+                            break;
+                        }
+                    }
+                }
+            }
 
-			JSONObject data = new JSONObject();
-			data.put("nonCount", nonCount);
-			data.put("listExist", JsonUtil.getApiCommonGson().toJson(listExist));
-			data.put("listItems", JsonUtil.getApiCommonGson().toJson(listItems));
-			out.print(JsonUtil.loadTrueResult(data));
-			
-			// 璁剧疆涓洪�氱敤
-			deviceSexService.save(acceptData.getDevice(), 0);
-						
-		} catch (HomeNavbarUserException e) {
-			out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
-		}
-	}
+            JSONObject data = new JSONObject();
+            data.put("min", 6);
+            data.put("max", 16);
+            data.put("nonCount", nonCount);
+            data.put("listExist", JsonUtil.getApiCommonGson().toJson(listExist));
+            data.put("listItems", JsonUtil.getApiCommonGson().toJson(listItems));
+            out.print(JsonUtil.loadTrueResult(data));
+        } catch (HomeNavbarUserException e) {
+            out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
+        }
+    }
+
+    /**
+     * 璁剧疆鑷畾涔�
+     *
+     * @param acceptData
+     * @param uid
+     * @param list
+     * @param out
+     */
+    @RequestMapping(value = "saveUserItems", method = RequestMethod.POST)
+    public void saveUserItems(AcceptData acceptData, Long uid, String barIds, PrintWriter out) {
+        try {
+            if (StringUtil.isNullOrEmpty(barIds)) {
+                out.print(JsonUtil.loadFalseResult("Id鍙傛暟涓嶈兘涓虹┖"));
+                return;
+            }
+
+            Gson gson = new Gson();
+            List<Long> list = gson.fromJson(barIds, new TypeToken<ArrayList<Long>>() {
+            }.getType());
+            if (list == null || list.size() == 0) {
+                out.print(JsonUtil.loadFalseResult("鏈娴嬪埌鏁版嵁"));
+                return;
+            }
+
+            homeNavbarUserService.addNavbarUser(uid, acceptData.getDevice(), list);
+            out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
+
+            // 璁剧疆涓洪�氱敤
+            deviceSexService.save(acceptData.getDevice(), 0);
+
+        } catch (HomeNavbarUserException e) {
+            out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
+        }
+    }
+
+    /**
+     * 杩樺師榛樿
+     *
+     * @param acceptData
+     * @param uid
+     * @param out
+     */
+    @RequestMapping(value = "restoreDefault", method = RequestMethod.POST)
+    public void restoreDefault(AcceptData acceptData, Long uid, PrintWriter out) {
+        try {
+            int nonCount = 0;
+            List<HomeNavbar> listExist = new ArrayList<HomeNavbar>();
+            List<HomeNavbar> listItems = new ArrayList<HomeNavbar>();
+
+
+            List<HomeNavbar> listNavbar = homeNavbarUserService.restoreSystemDefault(uid, acceptData.getDevice(), acceptData.getSystem());
+            if (listNavbar != null && listNavbar.size() > 0) {
+                listItems.addAll(listNavbar);
+            }
+
+            for (int i = 0; i < listItems.size(); i++) {
+                HomeNavbar homeNavbar = listItems.get(i);
+                // 娲诲姩鍓旈櫎
+                if (!NavbarTypeEnum.category.equals(homeNavbar.getType())) {
+                    listItems.remove(homeNavbar);
+                    i--;
+                    continue;
+                }
+
+                // 绛涢�夊嚭榛樿椤�
+                if (!homeNavbar.getIsDefault()) {
+                    break;
+                } else {
+                    // 鍥哄畾涓暟
+                    if (homeNavbar.getIsFixed()) {
+                        nonCount++;
+                    }
+                    // 榛樿椤�
+                    listExist.add(homeNavbar);
+                    listItems.remove(homeNavbar);
+                    i--;
+                    continue;
+                }
+            }
+
+            JSONObject data = new JSONObject();
+            data.put("nonCount", nonCount);
+            data.put("listExist", JsonUtil.getApiCommonGson().toJson(listExist));
+            data.put("listItems", JsonUtil.getApiCommonGson().toJson(listItems));
+            out.print(JsonUtil.loadTrueResult(data));
+
+            // 璁剧疆涓洪�氱敤
+            deviceSexService.save(acceptData.getDevice(), 0);
+
+        } catch (HomeNavbarUserException e) {
+            out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
+        }
+    }
 
 }

--
Gitblit v1.8.0