From 62a447d89331aee1feae7724c7616aa1bb2cfe79 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 16 十月 2024 14:28:37 +0800
Subject: [PATCH] 将CMQ替换为rabbitmq

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarUserServiceImpl.java |  542 ++++++++++++++++++++++++++---------------------------
 1 files changed, 268 insertions(+), 274 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarUserServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarUserServiceImpl.java
index 3292a43..2b5ce09 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarUserServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarUserServiceImpl.java
@@ -1,274 +1,268 @@
-package com.yeshi.fanli.service.impl.homemodule;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import com.yeshi.fanli.entity.SystemEnum;
-import com.yeshi.fanli.service.inter.user.UserInfoService;
-import org.springframework.stereotype.Service;
-
-import com.yeshi.fanli.dao.mybatis.homemodule.HomeNavbarUserMapper;
-import com.yeshi.fanli.entity.bus.homemodule.HomeNavbar;
-import com.yeshi.fanli.entity.bus.homemodule.HomeNavbarUser;
-import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
-import com.yeshi.fanli.exception.homemodule.HomeNavbarUserException;
-import com.yeshi.fanli.exception.user.UserInfoExtraException;
-import com.yeshi.fanli.service.inter.homemodule.HomeNavbarService;
-import com.yeshi.fanli.service.inter.homemodule.HomeNavbarUserService;
-import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
-import com.yeshi.fanli.util.StringUtil;
-
-@Service
-public class HomeNavbarUserServiceImpl implements HomeNavbarUserService {
-
-    @Resource
-    private HomeNavbarUserMapper homeNavbarUserMapper;
-
-    @Resource
-    private HomeNavbarService homeNavbarService;
-
-    @Resource
-    private UserInfoExtraService userInfoExtraService;
-
-    @Resource
-    private UserInfoService userInfoService;
-
-
-    @Override
-    public List<HomeNavbar> listEffectiveNavbar(Long uid, String device, Integer sex) {
-        List<HomeNavbar> list = new ArrayList<HomeNavbar>();
-
-        SystemEnum system = userInfoService.getUserSystem(uid);
-
-        if (sex == null || sex == 0) {
-            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(system);
-                    if (listFixed != null && listFixed.size() > 0) {
-                        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 (list.size() == 0) {
-                List<HomeNavbar> listDefault = homeNavbarService.listQueryDefaultNavbar(sex, system);
-                if (listDefault != null) {
-                    list.addAll(listDefault);
-                }
-            }
-        } else {
-            List<HomeNavbar> listDefault = homeNavbarService.listQueryDefaultNavbar(sex, system);
-            if (listDefault != null) {
-                list.addAll(listDefault);
-            }
-        }
-        return list;
-    }
-
-    @Override
-    public List<HomeNavbarUser> listUserNavbar(Long uid, String device) throws HomeNavbarUserException {
-        if (uid == null && StringUtil.isNullOrEmpty(device)) {
-            throw new HomeNavbarUserException(1, "鍙傛暟涓嶆纭�");
-        }
-
-        if (uid != null && !StringUtil.isNullOrEmpty(device)) {
-            device = null;
-        }
-
-        return homeNavbarUserMapper.listEffectiveNavbars(uid, device);
-    }
-
-    @Override
-    public void addNavbarUser(Long uid, String device, List<Long> list) throws HomeNavbarUserException {
-        if (uid == null && StringUtil.isNullOrEmpty(device)) {
-            throw new HomeNavbarUserException(1, "鍙傛暟涓嶆纭�");
-        }
-
-        if (list == null || list.size() < 6) {
-            throw new HomeNavbarUserException(1, "鑷冲皯淇濈暀6涓垎绫�");
-        }
-
-        if (list.size() > 16) {
-            throw new HomeNavbarUserException(1, "鏈�澶氭樉绀�16涓垎绫�");
-        }
-
-        // 鐧诲綍涔嬪悗 浠id涓哄噯
-        if (uid != null && !StringUtil.isNullOrEmpty(device)) {
-            device = null;
-        }
-
-        // 璁剧疆宸插悓姝�
-        UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
-        if (userInfoExtra != null && !userInfoExtra.getSynchNavbar()) {
-            try {
-                UserInfoExtra updateExtra = new UserInfoExtra();
-                updateExtra.setSynchNavbar(true);
-                updateExtra.setId(userInfoExtra.getId());
-                userInfoExtraService.saveUserInfoExtra(updateExtra);
-            } catch (UserInfoExtraException e) {
-                e.printStackTrace();
-            }
-        }
-
-        List<HomeNavbarUser> listInsert = new ArrayList<HomeNavbarUser>();
-        List<HomeNavbarUser> listUpdate = new ArrayList<HomeNavbarUser>();
-
-        // 涔嬪墠宸茬粡瀹氫箟鐨勫鑸暟鎹�
-        List<HomeNavbarUser> listMyNavbars = homeNavbarUserMapper.listMyNavbars(uid, device);
-
-        for (int i = 0; i < list.size(); i++) {
-            HomeNavbarUser navbarUser = null;
-            if (list.get(i) == null) {
-                i--;
-                continue;
-            }
-            long homeId = list.get(i);
-
-            if (listMyNavbars != null && listMyNavbars.size() > 0) {
-                for (int j = 0; j < listMyNavbars.size(); j++) {
-                    HomeNavbarUser homeNavbarUser = listMyNavbars.get(j);
-                    HomeNavbar homeNavbar = homeNavbarUser.getHomeNavbar();
-
-                    if (homeNavbar == null) {
-                        listMyNavbars.remove(homeNavbarUser);
-                        j--;
-                        continue;
-                    }
-
-                    long id = homeNavbar.getId();
-                    if (homeId == id) {
-                        navbarUser = new HomeNavbarUser();
-                        navbarUser.setId(homeNavbarUser.getId());
-                        navbarUser.setOrder(homeNavbarUser.getOrder());
-                        listMyNavbars.remove(homeNavbarUser);
-                        break;
-                    }
-                }
-            }
-
-            if (navbarUser != null) {
-                Integer order = navbarUser.getOrder();
-                if (order != null && i + 1 == order.intValue()) {
-                    continue;
-                }
-                navbarUser.setOrder(i + 1);
-                listUpdate.add(navbarUser);
-            } else {
-                navbarUser = new HomeNavbarUser();
-                navbarUser.setOrder(i + 1);
-                navbarUser.setUid(uid);
-                navbarUser.setDevice(device);
-                navbarUser.setHomeNavbar(new HomeNavbar(homeId));
-                navbarUser.setCreateTime(new Date());
-                listInsert.add(navbarUser);
-            }
-        }
-
-        // 鏇存柊
-        if (listUpdate.size() > 0) {
-            homeNavbarUserMapper.updateSelectiveBatch(listUpdate);
-        }
-
-        // 鏂板
-        if (listInsert.size() > 0) {
-            homeNavbarUserMapper.insertBatch(listInsert);
-        }
-
-        // 鍒犻櫎
-        if (listMyNavbars != null && listMyNavbars.size() > 0) {
-            List<Long> listId = new ArrayList<Long>();
-            for (HomeNavbarUser homeNavbarUser : listMyNavbars) {
-                listId.add(homeNavbarUser.getId());
-            }
-            homeNavbarUserMapper.deleteByPrimaryKeyBatch(listId);
-        }
-    }
-
-    @Override
-    public List<HomeNavbar> restoreSystemDefault(Long uid, String device,SystemEnum system) throws HomeNavbarUserException {
-        if (uid == null && StringUtil.isNullOrEmpty(device)) {
-            throw new HomeNavbarUserException(1, "鍙傛暟涓嶆纭�");
-        }
-
-        // 鍒犻櫎鐢ㄦ埛鑷畾涔夊鑸�
-        if (uid != null) {
-            homeNavbarUserMapper.deleteByUid(uid);
-        } else {
-            homeNavbarUserMapper.deleteByDevice(device);
-        }
-        // 杩斿洖鏈夋晥鐨�
-        return homeNavbarService.listQueryEffectiveNavbar(system);
-    }
-
-    @Override
-    public void synchroDeviceToUser(Long uid, String device) {
-        UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
-        if (userInfoExtra == null) {
-            userInfoExtra = new UserInfoExtra();
-        } else if (userInfoExtra.getSynchNavbar()) {
-            return;
-        }
-
-        List<HomeNavbarUser> listDevice = homeNavbarUserMapper.listMyNavbars(null, device);
-        if (listDevice == null || listDevice.size() == 0) {
-            return;
-        }
-
-        // 鍚屾璁惧瀹氫箟瀵艰埅
-        for (HomeNavbarUser homeNavbarUser : listDevice) {
-            homeNavbarUser.setId(null);
-            homeNavbarUser.setDevice(null);
-            homeNavbarUser.setUid(uid);
-            homeNavbarUser.setCreateTime(new Date());
-        }
-        homeNavbarUserMapper.insertBatch(listDevice);
-
-        // 宸插悓姝�
-        try {
-            UserInfoExtra updateExtra = new UserInfoExtra();
-            updateExtra.setSynchNavbar(true);
-            updateExtra.setId(userInfoExtra.getId());
-            userInfoExtraService.saveUserInfoExtra(updateExtra);
-        } catch (UserInfoExtraException e) {
-            e.printStackTrace();
-        }
-    }
-
-}
+package com.yeshi.fanli.service.impl.homemodule;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import org.springframework.stereotype.Service;
+
+import com.yeshi.fanli.dao.mybatis.homemodule.HomeNavbarUserMapper;
+import com.yeshi.fanli.entity.bus.homemodule.HomeNavbar;
+import com.yeshi.fanli.entity.bus.homemodule.HomeNavbarUser;
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
+import com.yeshi.fanli.exception.homemodule.HomeNavbarUserException;
+import com.yeshi.fanli.exception.user.UserInfoExtraException;
+import com.yeshi.fanli.service.inter.homemodule.HomeNavbarService;
+import com.yeshi.fanli.service.inter.homemodule.HomeNavbarUserService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.util.StringUtil;
+
+@Service
+public class HomeNavbarUserServiceImpl implements HomeNavbarUserService {
+
+    @Resource
+    private HomeNavbarUserMapper homeNavbarUserMapper;
+
+    @Resource
+    private HomeNavbarService homeNavbarService;
+
+    @Resource
+    private UserInfoExtraService userInfoExtraService;
+
+
+    @Override
+    public List<HomeNavbar> listEffectiveNavbar(Long uid, String device, Integer sex,SystemEnum system) {
+        List<HomeNavbar> list = new ArrayList<HomeNavbar>();
+        if (sex == null || sex == 0) {
+            if (uid != null || !StringUtil.isNullOrEmpty(device)) {
+                if (uid != null) {
+                    device = null;
+                }
+                // 鑷畾涔夊鑸�
+                List<HomeNavbarUser> listUserNavbar = homeNavbarUserMapper.listEffectiveNavbars(uid, device,system);
+
+                if (listUserNavbar != null && listUserNavbar.size() > 0) {
+                    // 鍥哄畾瀵艰埅
+                    List<HomeNavbar> listFixed = homeNavbarService.listQueryFixedNavbar(system);
+                    if (listFixed != null && listFixed.size() > 0) {
+                        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 (list.size() == 0) {
+                List<HomeNavbar> listDefault = homeNavbarService.listQueryDefaultNavbar(sex, system);
+                if (listDefault != null) {
+                    list.addAll(listDefault);
+                }
+            }
+        } else {
+            List<HomeNavbar> listDefault = homeNavbarService.listQueryDefaultNavbar(sex, system);
+            if (listDefault != null) {
+                list.addAll(listDefault);
+            }
+        }
+        return list;
+    }
+
+    @Override
+    public List<HomeNavbarUser> listUserNavbar(Long uid, String device,SystemEnum system) throws HomeNavbarUserException {
+        if (uid == null && StringUtil.isNullOrEmpty(device)) {
+            throw new HomeNavbarUserException(1, "鍙傛暟涓嶆纭�");
+        }
+
+        if (uid != null && !StringUtil.isNullOrEmpty(device)) {
+            device = null;
+        }
+
+        return homeNavbarUserMapper.listEffectiveNavbars(uid, device,system);
+    }
+
+    @Override
+    public void addNavbarUser(Long uid, String device, List<Long> list) throws HomeNavbarUserException {
+        if (uid == null && StringUtil.isNullOrEmpty(device)) {
+            throw new HomeNavbarUserException(1, "鍙傛暟涓嶆纭�");
+        }
+
+        if (list == null || list.size() < 6) {
+            throw new HomeNavbarUserException(1, "鑷冲皯淇濈暀6涓垎绫�");
+        }
+
+        if (list.size() > 16) {
+            throw new HomeNavbarUserException(1, "鏈�澶氭樉绀�16涓垎绫�");
+        }
+
+        // 鐧诲綍涔嬪悗 浠id涓哄噯
+        if (uid != null && !StringUtil.isNullOrEmpty(device)) {
+            device = null;
+        }
+
+        // 璁剧疆宸插悓姝�
+        UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+        if (userInfoExtra != null && !userInfoExtra.getSynchNavbar()) {
+            try {
+                UserInfoExtra updateExtra = new UserInfoExtra();
+                updateExtra.setSynchNavbar(true);
+                updateExtra.setId(userInfoExtra.getId());
+                userInfoExtraService.saveUserInfoExtra(updateExtra);
+            } catch (UserInfoExtraException e) {
+                e.printStackTrace();
+            }
+        }
+
+        List<HomeNavbarUser> listInsert = new ArrayList<HomeNavbarUser>();
+        List<HomeNavbarUser> listUpdate = new ArrayList<HomeNavbarUser>();
+
+        // 涔嬪墠宸茬粡瀹氫箟鐨勫鑸暟鎹�
+        List<HomeNavbarUser> listMyNavbars = homeNavbarUserMapper.listMyNavbars(uid, device);
+
+        for (int i = 0; i < list.size(); i++) {
+            HomeNavbarUser navbarUser = null;
+            if (list.get(i) == null) {
+                i--;
+                continue;
+            }
+            long homeId = list.get(i);
+
+            if (listMyNavbars != null && listMyNavbars.size() > 0) {
+                for (int j = 0; j < listMyNavbars.size(); j++) {
+                    HomeNavbarUser homeNavbarUser = listMyNavbars.get(j);
+                    HomeNavbar homeNavbar = homeNavbarUser.getHomeNavbar();
+
+                    if (homeNavbar == null) {
+                        listMyNavbars.remove(homeNavbarUser);
+                        j--;
+                        continue;
+                    }
+
+                    long id = homeNavbar.getId();
+                    if (homeId == id) {
+                        navbarUser = new HomeNavbarUser();
+                        navbarUser.setId(homeNavbarUser.getId());
+                        navbarUser.setOrder(homeNavbarUser.getOrder());
+                        listMyNavbars.remove(homeNavbarUser);
+                        break;
+                    }
+                }
+            }
+
+            if (navbarUser != null) {
+                Integer order = navbarUser.getOrder();
+                if (order != null && i + 1 == order.intValue()) {
+                    continue;
+                }
+                navbarUser.setOrder(i + 1);
+                listUpdate.add(navbarUser);
+            } else {
+                navbarUser = new HomeNavbarUser();
+                navbarUser.setOrder(i + 1);
+                navbarUser.setUid(uid);
+                navbarUser.setDevice(device);
+                navbarUser.setHomeNavbar(new HomeNavbar(homeId));
+                navbarUser.setCreateTime(new Date());
+                listInsert.add(navbarUser);
+            }
+        }
+
+        // 鏇存柊
+        if (listUpdate.size() > 0) {
+            homeNavbarUserMapper.updateSelectiveBatch(listUpdate);
+        }
+
+        // 鏂板
+        if (listInsert.size() > 0) {
+            homeNavbarUserMapper.insertBatch(listInsert);
+        }
+
+        // 鍒犻櫎
+        if (listMyNavbars != null && listMyNavbars.size() > 0) {
+            List<Long> listId = new ArrayList<Long>();
+            for (HomeNavbarUser homeNavbarUser : listMyNavbars) {
+                listId.add(homeNavbarUser.getId());
+            }
+            homeNavbarUserMapper.deleteByPrimaryKeyBatch(listId);
+        }
+    }
+
+    @Override
+    public List<HomeNavbar> restoreSystemDefault(Long uid, String device,SystemEnum system) throws HomeNavbarUserException {
+        if (uid == null && StringUtil.isNullOrEmpty(device)) {
+            throw new HomeNavbarUserException(1, "鍙傛暟涓嶆纭�");
+        }
+
+        // 鍒犻櫎鐢ㄦ埛鑷畾涔夊鑸�
+        if (uid != null) {
+            homeNavbarUserMapper.deleteByUid(uid);
+        } else {
+            homeNavbarUserMapper.deleteByDevice(device);
+        }
+        // 杩斿洖鏈夋晥鐨�
+        return homeNavbarService.listQueryEffectiveNavbar(system);
+    }
+
+    @Override
+    public void synchroDeviceToUser(Long uid, String device) {
+        UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+        if (userInfoExtra == null) {
+            userInfoExtra = new UserInfoExtra();
+        } else if (userInfoExtra.getSynchNavbar()) {
+            return;
+        }
+
+        List<HomeNavbarUser> listDevice = homeNavbarUserMapper.listMyNavbars(null, device);
+        if (listDevice == null || listDevice.size() == 0) {
+            return;
+        }
+
+        // 鍚屾璁惧瀹氫箟瀵艰埅
+        for (HomeNavbarUser homeNavbarUser : listDevice) {
+            homeNavbarUser.setId(null);
+            homeNavbarUser.setDevice(null);
+            homeNavbarUser.setUid(uid);
+            homeNavbarUser.setCreateTime(new Date());
+        }
+        homeNavbarUserMapper.insertBatch(listDevice);
+
+        // 宸插悓姝�
+        try {
+            UserInfoExtra updateExtra = new UserInfoExtra();
+            updateExtra.setSynchNavbar(true);
+            updateExtra.setId(userInfoExtra.getId());
+            userInfoExtraService.saveUserInfoExtra(updateExtra);
+        } catch (UserInfoExtraException e) {
+            e.printStackTrace();
+        }
+    }
+
+}

--
Gitblit v1.8.0