From 6d44e6f4d503a603fcb1323755f4b0c854d69be0 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 15 一月 2025 16:48:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java                   |   52 +++++++++++++++++++++-----
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java              |    3 +
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java |    6 ++-
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java                   |    2 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java           |    3 -
 5 files changed, 50 insertions(+), 16 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
index 9a8431d..9bdfae7 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -324,7 +324,8 @@
         if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) {
             return error("当前用户不能删除");
         }
-        return toAjax(userService.deleteUserByIds(userIds));
+        userService.deleteUserByIds(userIds);
+        return AjaxResult.success();
     }
 
     
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
index 776f124..5e980b4 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -199,7 +199,7 @@
      * @param userIds 需要删除的用户ID
      * @return 结果
      */
-    int deleteUserByIds(Long[] userIds);
+    void deleteUserByIds(Long[] userIds);
 
     /**
      * 导入用户数据
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index e71b4f8..c1a051d 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -446,7 +446,7 @@
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public int deleteUserByIds(Long[] userIds) {
+	public void deleteUserByIds(Long[] userIds) {
         Long userid = tokenService.getLoginUser().getUserid();
         SysUser sysUser = this.getById(userid);
         for (Long userId : userIds) {
@@ -476,7 +476,6 @@
 				userMapper.deleteUserById(user.getUserId());
             }
 		}
-		return 0;
 	}
 	
 	/**
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
index dd8c7e6..8d7dd62 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
@@ -413,20 +413,52 @@
         shop.setStatus(status);
         shopService.updateById(shop);
         //处理员工等数据
-        UserShop userSh = new UserShop();
-        userSh.setShopId(id);
-        List<UserShop> data = userShopClient.getUserShop(userSh).getData();
-        for (UserShop datum : data) {
-            UserShop userShop = new UserShop();
-            userShop.setUserId(datum.getUserId());
-            List<UserShop> data1 = userShopClient.getUserShop(userShop).getData();
-            long count = data1.stream().filter(s -> !s.getShopId().equals(id)).count();
-            if(0 == count){
+        if(status == 1){
+            UserShop userSh = new UserShop();
+            userSh.setShopId(id);
+            List<UserShop> data = userShopClient.getUserShop(userSh).getData();
+            for (UserShop datum : data) {
                 SysUser sysUser = sysUserClient.getSysUser(datum.getUserId()).getData();
-                sysUser.setStatus(status == 1 ? "0" : "1");
+                sysUser.setStatus("0");
                 sysUserClient.updateUser(sysUser);
             }
+        }else{
+            //查询门店所有关联数据
+            UserShop userSh = new UserShop();
+            userSh.setShopId(id);
+            List<UserShop> data = userShopClient.getUserShop(userSh).getData();
+            for (UserShop datum : data) {
+                //查询用户关联的其他店铺
+                UserShop userShop = new UserShop();
+                userShop.setUserId(datum.getUserId());
+                List<UserShop> data1 = userShopClient.getUserShop(userShop).getData();
+                List<UserShop> collect = data1.stream().filter(s -> !s.getShopId().equals(id)).collect(Collectors.toList());
+                if(collect.size() == 0){
+                    //如果没有其他店铺,则将用户禁用
+                    SysUser sysUser = sysUserClient.getSysUser(datum.getUserId()).getData();
+                    sysUser.setStatus("1");
+                    sysUserClient.updateUser(sysUser);
+                }else{
+                    List<Integer> shopIds = collect.stream().map(UserShop::getShopId).collect(Collectors.toList());
+                    List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getStatus, 1)
+                            .in(Shop::getId, shopIds));
+                    //如果用户关联的其他门店都禁用了,将用户禁用
+                    if(list.size() == 0){
+                        SysUser sysUser = sysUserClient.getSysUser(datum.getUserId()).getData();
+                        sysUser.setStatus("1");
+                        sysUserClient.updateUser(sysUser);
+                    }else{
+                        //修改默认门店
+                        SysUser sysUser = sysUserClient.getSysUser(datum.getUserId()).getData();
+                        if(sysUser.getObjectId().equals(id)){
+                            sysUser.setObjectId(list.get(0).getId());
+                            sysUserClient.updateUser(sysUser);
+                        }
+                    }
+                }
+            }
         }
+        
         return R.ok();
     }
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java
index 951f527..bf62382 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java
@@ -88,8 +88,10 @@
             String id = technicianSubscribeVO.getId();
             TechnicianSubscribe technicianSubscribe = this.getById(id);
             AppUser appUser = appUserClient.getAppUserById(technicianSubscribe.getAppUserId());
-            technicianSubscribeVO.setUserName(appUser.getName());
-            technicianSubscribeVO.setPhone(appUser.getPhone());
+            if(null != appUser){
+                technicianSubscribeVO.setUserName(appUser.getName());
+                technicianSubscribeVO.setPhone(appUser.getPhone());
+            }
             Integer serviceMode = technicianSubscribeVO.getServiceMode();
             if(1 == serviceMode){
                 UserAddress userAddress = JSON.parseObject(technicianSubscribeVO.getUserAddress(), UserAddress.class);

--
Gitblit v1.7.1