From 66df2da5f7c05787ff215a66cfc882bc238bbcc4 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 14 一月 2025 20:39:02 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java                   |   43 ++++++----
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java             |   11 ++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/UserShopClient.java            |   17 ++++
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java              |    7 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java                      |   28 +++---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java                   |   48 ++++++------
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java        |    5 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/UserShopController.java             |   30 ++++++-
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java           |    6 -
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/UserShopClientFallbackFactory.java |   10 ++
 10 files changed, 141 insertions(+), 64 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java
index 5b04d51..4a1faf4 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java
@@ -88,6 +88,11 @@
             public R delShopUser(Integer objectId, Integer roleType) {
                 return R.fail("删除门店管理员账号失败:" + cause.getMessage());
             }
+    
+            @Override
+            public R delSysUserById(Long userId) {
+                return R.fail("根据id删除管理员账户失败:" + cause.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/UserShopClientFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/UserShopClientFallbackFactory.java
index cd65ea7..b0ff3d0 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/UserShopClientFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/UserShopClientFallbackFactory.java
@@ -24,6 +24,16 @@
             public R saveUserShop(UserShop userShop) {
                 return R.fail("保存门店用户关系数据失败:" + cause.getMessage());
             }
+    
+            @Override
+            public R delUserShop(UserShop userShop) {
+                return R.fail("删除后台账号和门店关系数据失败:" + cause.getMessage());
+            }
+    
+            @Override
+            public R delShopAllUserShop(Integer shopId) {
+                return R.fail("删除门店所有后台账号和门店关系数据失败:" + cause.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java
index dec8042..13c2481 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java
@@ -114,6 +114,13 @@
      */
     @PostMapping("/user/user/delShopUser")
     R delShopUser(@RequestParam("objectId") Integer objectId, @RequestParam("roleType") Integer roleType);
-
-
+    
+    
+    /**
+     * 根据id删除管理员账户
+     * @param userId
+     * @return
+     */
+    @PostMapping("/user/delSysUserById")
+    R delSysUserById(@RequestParam("userId") Long userId);
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/UserShopClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/UserShopClient.java
index dd0d420..85cdb67 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/UserShopClient.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/UserShopClient.java
@@ -7,6 +7,7 @@
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -34,4 +35,20 @@
      */
     @PostMapping("/userShop/saveUserShop")
     R saveUserShop(@RequestBody UserShop userShop);
+    
+    /**
+     * 删除后台账号和门店关系数据
+     * @param userShop
+     * @return
+     */
+    @PostMapping("/userShop/delUserShop")
+    R delUserShop(@RequestBody UserShop userShop);
+    
+    /**
+     * 删除门店所有后台账号和门店关系数据
+     * @param shopId
+     * @return
+     */
+    @PostMapping("/userShop/delShopAllUserShop")
+    R delShopAllUserShop(@RequestParam("shopId") Integer shopId);
 }
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 140b6d0..8ffd2ff 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
@@ -717,4 +717,11 @@
                 .last("LIMIT 1"));
         return R.ok(user);
     }
+    
+    
+    @PostMapping("/delSysUserById")
+    public R delSysUserById(@RequestParam("userId") Long userId){
+        userService.deleteUserById(userId);
+        return R.ok();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/UserShopController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/UserShopController.java
index cccb3ec..c99efee 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/UserShopController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/UserShopController.java
@@ -1,13 +1,11 @@
 package com.ruoyi.system.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.system.api.model.UserShop;
 import com.ruoyi.system.service.UserShopService;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.List;
@@ -56,4 +54,28 @@
         userShopService.save(userShop);
         return R.ok();
     }
+    
+    
+    /**
+     * 删除后台账号和门店关系数据
+     * @param userShop
+     * @return
+     */
+    @PostMapping("/delUserShop")
+    public R delUserShop(@RequestBody UserShop userShop){
+        userShopService.remove(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, userShop.getUserId()).eq(UserShop::getShopId, userShop.getShopId()));
+        return R.ok();
+    }
+    
+    
+    /**
+     * 删除门店所有关系数据
+     * @param shopId
+     * @return
+     */
+    @PostMapping("/delShopAllUserShop")
+    public R delShopAllUserShop(@RequestParam("shopId") Integer shopId){
+        userShopService.remove(new LambdaQueryWrapper<UserShop>().eq(UserShop::getShopId, shopId));
+        return R.ok();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
index 123b010..072eb64 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -23,7 +23,7 @@
      * @param sysUser 用户信息
      * @return 用户信息集合信息
      */
-    public List<SysUser> selectUserList(SysUser sysUser);
+    List<SysUser> selectUserList(SysUser sysUser);
 
     /**
      * 根据条件分页查询已配用户角色列表
@@ -31,7 +31,7 @@
      * @param user 用户信息
      * @return 用户信息集合信息
      */
-    public List<SysUser> selectAllocatedList(SysUser user);
+    List<SysUser> selectAllocatedList(SysUser user);
 
     /**
      * 根据条件分页查询未分配用户角色列表
@@ -39,7 +39,7 @@
      * @param user 用户信息
      * @return 用户信息集合信息
      */
-    public List<SysUser> selectUnallocatedList(SysUser user);
+    List<SysUser> selectUnallocatedList(SysUser user);
 
     /**
      * 通过用户名查询用户
@@ -47,7 +47,7 @@
      * @param userName 用户名
      * @return 用户对象信息
      */
-    public SysUser selectUserByUserName(String userName);
+    SysUser selectUserByUserName(String userName);
 
     /**
      * 通过用户ID查询用户
@@ -55,7 +55,7 @@
      * @param userId 用户ID
      * @return 用户对象信息
      */
-    public SysUser selectUserById(Long userId);
+    SysUser selectUserById(Long userId);
 
     /**
      * 新增用户信息
@@ -63,7 +63,7 @@
      * @param user 用户信息
      * @return 结果
      */
-    public int insertUser(SysUser user);
+    int insertUser(SysUser user);
 
     /**
      * 修改用户信息
@@ -71,7 +71,7 @@
      * @param user 用户信息
      * @return 结果
      */
-    public int updateUser(SysUser user);
+    int updateUser(SysUser user);
 
     /**
      * 修改用户头像
@@ -80,7 +80,7 @@
      * @param avatar 头像地址
      * @return 结果
      */
-    public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar);
+    int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar);
 
     /**
      * 重置用户密码
@@ -89,7 +89,7 @@
      * @param password 密码
      * @return 结果
      */
-    public int resetUserPwd(@Param("userName") String userName, @Param("password") String password);
+    int resetUserPwd(@Param("userName") String userName, @Param("password") String password);
 
     /**
      * 通过用户ID删除用户
@@ -97,7 +97,7 @@
      * @param userId 用户ID
      * @return 结果
      */
-    public int deleteUserById(Long userId);
+    int deleteUserById(Long userId);
 
     /**
      * 批量删除用户信息
@@ -105,7 +105,7 @@
      * @param userIds 需要删除的用户ID
      * @return 结果
      */
-    public int deleteUserByIds(Long[] userIds);
+    int deleteUserByIds(Long[] userIds);
 
     /**
      * 校验用户名称是否唯一
@@ -113,7 +113,7 @@
      * @param userName 用户名称
      * @return 结果
      */
-    public SysUser checkUserNameUnique(String userName);
+    SysUser checkUserNameUnique(String userName);
 
     /**
      * 校验手机号码是否唯一
@@ -121,7 +121,7 @@
      * @param phonenumber 手机号码
      * @return 结果
      */
-    public SysUser checkPhoneUnique(String phonenumber);
+    SysUser checkPhoneUnique(String phonenumber);
     
     
 
@@ -131,7 +131,7 @@
      * @param email 用户邮箱
      * @return 结果
      */
-    public SysUser checkEmailUnique(String email);
+    SysUser checkEmailUnique(String email);
 
     List<SysUser> getList(@Param("pageInfo") PageInfo<SysUser> pageInfo, @Param("req") GetSysUserList getSysUserList);
 
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 784a2d8..d6a88df 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
@@ -22,7 +22,7 @@
      * @param user 用户信息
      * @return 用户信息集合信息
      */
-    public List<SysUser> selectUserList(SysUser user);
+    List<SysUser> selectUserList(SysUser user);
 
     /**
      * 根据条件分页查询已分配用户角色列表
@@ -30,7 +30,7 @@
      * @param user 用户信息
      * @return 用户信息集合信息
      */
-    public List<SysUser> selectAllocatedList(SysUser user);
+    List<SysUser> selectAllocatedList(SysUser user);
 
     /**
      * 根据条件分页查询未分配用户角色列表
@@ -38,7 +38,7 @@
      * @param user 用户信息
      * @return 用户信息集合信息
      */
-    public List<SysUser> selectUnallocatedList(SysUser user);
+    List<SysUser> selectUnallocatedList(SysUser user);
 
     /**
      * 通过用户名查询用户
@@ -46,7 +46,7 @@
      * @param userName 用户名
      * @return 用户对象信息
      */
-    public SysUser selectUserByUserName(String userName);
+    SysUser selectUserByUserName(String userName);
 
     /**
      * 通过用户ID查询用户
@@ -54,7 +54,7 @@
      * @param userId 用户ID
      * @return 用户对象信息
      */
-    public SysUser selectUserById(Long userId);
+    SysUser selectUserById(Long userId);
 
     /**
      * 根据用户ID查询用户所属角色组
@@ -62,7 +62,7 @@
      * @param userName 用户名
      * @return 结果
      */
-    public String selectUserRoleGroup(String userName);
+    String selectUserRoleGroup(String userName);
 
     /**
      * 根据用户ID查询用户所属岗位组
@@ -70,7 +70,7 @@
      * @param userName 用户名
      * @return 结果
      */
-    public String selectUserPostGroup(String userName);
+    String selectUserPostGroup(String userName);
 
     /**
      * 校验用户名称是否唯一
@@ -78,7 +78,7 @@
      * @param user 用户信息
      * @return 结果
      */
-    public boolean checkUserNameUnique(SysUser user);
+    boolean checkUserNameUnique(SysUser user);
 
     /**
      * 校验手机号码是否唯一
@@ -86,7 +86,7 @@
      * @param user 用户信息
      * @return 结果
      */
-    public boolean checkPhoneUnique(SysUser user);
+    boolean checkPhoneUnique(SysUser user);
 
     /**
      * 校验email是否唯一
@@ -94,21 +94,21 @@
      * @param user 用户信息
      * @return 结果
      */
-    public boolean checkEmailUnique(SysUser user);
+    boolean checkEmailUnique(SysUser user);
 
     /**
      * 校验用户是否允许操作
      * 
      * @param user 用户信息
      */
-    public void checkUserAllowed(SysUser user);
+    void checkUserAllowed(SysUser user);
 
     /**
      * 校验用户是否有数据权限
      * 
      * @param userId 用户id
      */
-    public void checkUserDataScope(Long userId);
+    void checkUserDataScope(Long userId);
 
     /**
      * 新增用户信息
@@ -116,7 +116,7 @@
      * @param user 用户信息
      * @return 结果
      */
-    public int insertUser(SysUser user);
+    int insertUser(SysUser user);
 
     /**
      * 注册用户信息
@@ -124,7 +124,7 @@
      * @param user 用户信息
      * @return 结果
      */
-    public boolean registerUser(SysUser user);
+    boolean registerUser(SysUser user);
 
     /**
      * 修改用户信息
@@ -132,7 +132,7 @@
      * @param user 用户信息
      * @return 结果
      */
-    public int updateUser(SysUser user);
+    int updateUser(SysUser user);
 
     /**
      * 用户授权角色
@@ -140,7 +140,7 @@
      * @param userId 用户ID
      * @param roleIds 角色组
      */
-    public void insertUserAuth(Long userId, Long[] roleIds);
+    void insertUserAuth(Long userId, Long[] roleIds);
 
     /**
      * 修改用户状态
@@ -148,7 +148,7 @@
      * @param user 用户信息
      * @return 结果
      */
-    public int updateUserStatus(SysUser user);
+    int updateUserStatus(SysUser user);
 
     /**
      * 修改用户基本信息
@@ -156,7 +156,7 @@
      * @param user 用户信息
      * @return 结果
      */
-    public int updateUserProfile(SysUser user);
+    int updateUserProfile(SysUser user);
 
     /**
      * 修改用户头像
@@ -165,7 +165,7 @@
      * @param avatar 头像地址
      * @return 结果
      */
-    public boolean updateUserAvatar(String userName, String avatar);
+    boolean updateUserAvatar(String userName, String avatar);
 
     /**
      * 重置用户密码
@@ -173,7 +173,7 @@
      * @param user 用户信息
      * @return 结果
      */
-    public int resetPwd(SysUser user);
+    int resetPwd(SysUser user);
 
     /**
      * 重置用户密码
@@ -182,7 +182,7 @@
      * @param password 密码
      * @return 结果
      */
-    public int resetUserPwd(String userName, String password);
+    int resetUserPwd(String userName, String password);
 
     /**
      * 通过用户ID删除用户
@@ -190,7 +190,7 @@
      * @param userId 用户ID
      * @return 结果
      */
-    public int deleteUserById(Long userId);
+    int deleteUserById(Long userId);
 
     /**
      * 批量删除用户信息
@@ -198,7 +198,7 @@
      * @param userIds 需要删除的用户ID
      * @return 结果
      */
-    public int deleteUserByIds(Long[] userIds);
+    int deleteUserByIds(Long[] userIds);
 
     /**
      * 导入用户数据
@@ -208,7 +208,7 @@
      * @param operName 操作用户
      * @return 结果
      */
-    public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
+    String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
 
     PageInfo<SysUser> getList(PageInfo<SysUser> pageInfo, GetSysUserList getSysUserList);
 
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 8e00e0e..5098818 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
@@ -465,12 +465,10 @@
 				}
                 long count = userShopService.count(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()));
 				if(0 == count){
-                    user.setDelFlag("2");
-					userMapper.updateById(user);
+					userMapper.deleteUserById(user.getUserId());
                 }
             }else{
-                user.setDelFlag("2");
-				userMapper.updateById(user);
+				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 38a827d..dda78ca 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
@@ -45,6 +45,8 @@
 import java.util.*;
 import java.util.stream.Collectors;
 
+import static javax.swing.UIManager.get;
+
 /**
  * <p>
  * 前端控制器
@@ -214,7 +216,6 @@
         }
         Shop shop = shopService.getById(id);
         shop.setDelFlag(1);
-
         shopService.updateById(shop);
         // 查询有没有门店绑定这个被删除的门店
         List<Shop> shops = shopService.lambdaQuery().eq(Shop::getPid, shop.getId()).list();
@@ -293,6 +294,7 @@
             appUser.setUserType(1);
             appUserClient.editAppUserById(appUser);
         }
+        //删除原店长关系数据
         AppUserShop appUserShop = new AppUserShop();
         appUserShop.setAppUserId(appUser.getId());
         appUserShop.setShopId(shop.getId());
@@ -309,29 +311,38 @@
         appUser.setUserType(2);
         appUserClient.editAppUserById(appUser);
         
-
         //修改管理员
         shop.setAppUserId(appUser.getId());
         shopService.updateById(shop);
-
+    
+    
+        //删除门店用户店铺关系数据
+        UserShop userShop = new UserShop();
+        userShop.setShopId(shop.getId());
+        userShop.setRoleType(1);
+        List<UserShop> data = userShopClient.getUserShop(userShop).getData();
+        if(data.size() > 0){
+            UserShop userShop1 = data.get(0);
+            userShopClient.delUserShop(userShop1);
+    
+            userShop = new UserShop();
+            userShop.setUserId(userShop1.getUserId());
+            data = userShopClient.getUserShop(userShop).getData();
+            if(data.size() == 0){
+                sysUserClient.delSysUserById(userShop1.getUserId());
+            }
+        }
         //添加门店后台账号和门店关系数据
         SysUser sysUser = sysUserClient.queryUserByUserName(phone).getData();
         if(null != sysUser){
-            UserShop userShop = new UserShop();
+            userShop = new UserShop();
             userShop.setUserId(sysUser.getUserId());
             userShop.setShopId(shop.getId());
             userShop.setRoleType(1);
-            List<UserShop> data = userShopClient.getUserShop(userShop).getData();
-            if(null == data || data.size() == 0){
-                userShop = new UserShop();
-                userShop.setUserId(sysUser.getUserId());
-                userShop.setShopId(shop.getId());
-                userShop.setRoleType(1);
-                userShop.setRoleId(2L);
-                userShop.setNickName(sysUser.getNickName());
-                userShop.setCreateTime(LocalDateTime.now());
-                userShopClient.saveUserShop(userShop);
-            }
+            userShop.setRoleId(2L);
+            userShop.setNickName(sysUser.getNickName());
+            userShop.setCreateTime(LocalDateTime.now());
+            userShopClient.saveUserShop(userShop);
         }else{
             //添加管理后台账号
             SysUser user = new SysUser();
@@ -349,7 +360,7 @@
             user.setCreateTime(new Date());
             Long userId = sysUserClient.saveShopUser(user).getData();
 
-            UserShop userShop = new UserShop();
+            userShop = new UserShop();
             userShop.setUserId(userId);
             userShop.setShopId(shop.getId());
             userShop.setRoleType(1);

--
Gitblit v1.7.1