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