From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 23 五月 2020 09:54:38 +0800
Subject: [PATCH] 足迹、收藏订单兼容新需求

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/HomeNavbarControllerV2.java |   79 +++++++++++++++++++++++++++++++++------
 1 files changed, 67 insertions(+), 12 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 35b72f7..3b71cc8 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
@@ -18,9 +18,11 @@
 import com.yeshi.fanli.entity.bus.homemodule.HomeNavbar.NavbarTypeEnum;
 import com.yeshi.fanli.entity.bus.homemodule.HomeNavbarUser;
 import com.yeshi.fanli.exception.homemodule.HomeNavbarUserException;
+import com.yeshi.fanli.service.inter.homemodule.DeviceSexService;
 import com.yeshi.fanli.service.inter.homemodule.HomeNavbarService;
 import com.yeshi.fanli.service.inter.homemodule.HomeNavbarUserService;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.VersionUtil;
 
 import net.sf.json.JSONObject;
 
@@ -33,22 +35,64 @@
 
 	@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 uid
+	 * @param sex 0閫氱敤 1鐢� 2濂�
 	 * @param out
 	 */
 	@RequestMapping(value = "getHomeItems", method = RequestMethod.POST)
 	public void getHomeItems(AcceptData acceptData, Long uid, PrintWriter out) {
-		List<HomeNavbar> listNavbar = homeNavbarUserService.listEffectiveNavbar(uid, acceptData.getDevice());
-		if (listNavbar == null) {
-			listNavbar = new ArrayList<HomeNavbar>();
+		// 鑾峰彇璁惧瀹氫箟鎬у埆
+		int deviceSex = deviceSexService.getDeviceSex(acceptData.getDevice());
+		List<HomeNavbar> listNavbar = homeNavbarUserService.listEffectiveNavbar(uid, acceptData.getDevice(), deviceSex);
+		
+		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("count", listNavbar.size());
-		data.put("listNavbar", JsonUtil.getApiCommonGson().toJson(listNavbar));
+		data.put("sex", deviceSex);
+		data.put("count", list.size());
+		data.put("listNavbar", JsonUtil.getApiCommonGson().toJson(list));
 		out.print(JsonUtil.loadTrueResult(data));
 	}
 
@@ -85,14 +129,14 @@
 					}
 
 					if (homeNavbar.getIsDefault()) {
-						listExist.add(homeNavbar);
-
 						if (homeNavbar.getIsFixed()) {
 							nonCount++;
 						}
-
+						
+						listExist.add(homeNavbar);
 						listItems.remove(homeNavbar);
 						i--;
+						continue;
 					}
 				}
 
@@ -183,6 +227,10 @@
 
 			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()));
 		}
@@ -201,7 +249,8 @@
 			int nonCount = 0;
 			List<HomeNavbar> listExist = new ArrayList<HomeNavbar>();
 			List<HomeNavbar> listItems = new ArrayList<HomeNavbar>();
-
+			
+			
 			List<HomeNavbar> listNavbar = homeNavbarUserService.restoreSystemDefault(uid, acceptData.getDevice());
 			if (listNavbar != null && listNavbar.size() > 0) {
 				listItems.addAll(listNavbar);
@@ -220,13 +269,15 @@
 				if (!homeNavbar.getIsDefault()) {
 					break;
 				} else {
+					// 鍥哄畾涓暟
 					if (homeNavbar.getIsFixed()) {
 						nonCount++;
 					}
+					// 榛樿椤�
 					listExist.add(homeNavbar);
-
 					listItems.remove(homeNavbar);
 					i--;
+					continue;
 				}
 			}
 
@@ -235,6 +286,10 @@
 			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