admin
2020-05-06 24a8d17e007545f7426c48352109aa1a9c6587ee
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarUserServiceImpl.java
@@ -30,57 +30,67 @@
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @Override
   public List<HomeNavbar> listEffectiveNavbar(Long uid, String device) {
   public List<HomeNavbar> listEffectiveNavbar(Long uid, String device, Integer sex) {
      List<HomeNavbar> list = new ArrayList<HomeNavbar>();
      if (uid != null || !StringUtil.isNullOrEmpty(device)) {
         if (uid != null) {
            device = null;
         }
         // 自定义导航
         List<HomeNavbarUser> listUserNavbar = homeNavbarUserMapper.listEffectiveNavbars(uid, device);
         if (listUserNavbar != null && listUserNavbar.size() > 0) {
            // 固定导航
            List<HomeNavbar> listFixed = homeNavbarService.listQueryFixedNavbar();
            if (listFixed != null && listFixed.size() > 0) {
               list.addAll(listFixed);
      if (sex == null || sex == 0) {
         if (uid != null || !StringUtil.isNullOrEmpty(device)) {
            if (uid != null) {
               device = null;
            }
            // 自定义导航
            List<HomeNavbarUser> listUserNavbar = homeNavbarUserMapper.listEffectiveNavbars(uid, device);
            
            // 遍历用户自定义
            for (HomeNavbarUser uomeNavbarUser : listUserNavbar) {
               HomeNavbar homeNavbar = uomeNavbarUser.getHomeNavbar();
               if (homeNavbar == null) {
                  continue;
               }
               // 是否是固定项
               boolean notExist = true;
            if (listUserNavbar != null && listUserNavbar.size() > 0) {
               // 固定导航
               List<HomeNavbar> listFixed = homeNavbarService.listQueryFixedNavbar();
               if (listFixed != null && listFixed.size() > 0) {
                  long id = homeNavbar.getId();
                  for (HomeNavbar fixedbar : listFixed) {
                     long fixedId = fixedbar.getId();
                     if (fixedId == id) {
                        notExist = false;
                        listFixed.remove(fixedbar);
                        break;
                  list.addAll(listFixed);
               }
               // 遍历用户自定义
               for (HomeNavbarUser uomeNavbarUser : listUserNavbar) {
                  HomeNavbar homeNavbar = uomeNavbarUser.getHomeNavbar();
                  if (homeNavbar == null) {
                     continue;
                  }
                  // 是否是固定项
                  boolean notExist = true;
                  if (listFixed != null && listFixed.size() > 0) {
                     long id = homeNavbar.getId();
                     for (HomeNavbar fixedbar : listFixed) {
                        long fixedId = fixedbar.getId();
                        if (fixedId == id) {
                           notExist = false;
                           listFixed.remove(fixedbar);
                           break;
                        }
                     }
                  }
               }
               if (notExist) {
                  list.add(homeNavbar);
                  if (notExist) {
                     list.add(homeNavbar);
                  }
               }
            }
         }
      }
      if (list.size() == 0) {
         list = homeNavbarService.listQueryDefaultNavbar();
         if (list.size() == 0) {
            List<HomeNavbar> listDefault = homeNavbarService.listQueryDefaultNavbar(sex);
            if (listDefault != null) {
               list.addAll(listDefault);
            }
         }
      } else {
         List<HomeNavbar> listDefault = homeNavbarService.listQueryDefaultNavbar(sex);
         if (listDefault != null) {
            list.addAll(listDefault);
         }
      }
      return list;
   }