From 6eb5c98625b72f1debb1070dda7a024df2dc1725 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 15 一月 2025 16:37:05 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java |   45 ++++++++++++++++++++++++++++-----------------
 1 files changed, 28 insertions(+), 17 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 ccef719..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
@@ -138,6 +138,12 @@
             if(null == appUser){
                 return error("请先注册小程序账号");
             }
+            SysUser one2 = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, user.getPhonenumber())
+                    .eq(SysUser::getDelFlag, "0").eq(SysUser::getStatus, "0").eq(SysUser::getObjectId, sysUser1.getObjectId())
+                    .eq(SysUser::getRoleType, 2));
+            if(null != one2){
+                return error("登录账号重复");
+            }
             SysUser one = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, user.getPhonenumber())
                     .eq(SysUser::getDelFlag, "0").eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2));
             if(null == one){
@@ -318,7 +324,8 @@
         if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) {
             return error("当前用户不能删除");
         }
-        return toAjax(userService.deleteUserByIds(userIds));
+        userService.deleteUserByIds(userIds);
+        return AjaxResult.success();
     }
 
     
@@ -419,7 +426,7 @@
     @InnerAuth
     @GetMapping("/infoShop/{username}")
     public R<LoginUser> infoShop(@PathVariable("username") String username) {
-        SysUser sysUser = userService.selectUserByUserName(username);
+        SysUser sysUser = userService.selectUserShopByUserName(username);
         if (StringUtils.isNull(sysUser)) {
             return R.fail("用户名或密码错误");
         }
@@ -666,7 +673,7 @@
     @PostMapping("/saveShopUser")
     public R<Long> saveShopUser(@RequestBody SysUser user){
         SysUser one = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, user.getPhonenumber()).eq(SysUser::getDelFlag, "0")
-                .eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2).eq(SysUser::getAppUserId, user.getAppUserId()));
+                .eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2));
         if(null == one){
             user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
             userService.save(user);
@@ -688,21 +695,25 @@
      */
     @PostMapping("/user/delShopUser")
     public R delShopUser(@RequestParam("objectId") Integer objectId, @RequestParam("roleType") Integer roleType){
-        List<SysUser> list = userService.list(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getObjectId, objectId).eq(SysUser::getRoleType, roleType)
-                .eq(SysUser::getDelFlag, "0").eq(SysUser::getStatus, "0"));
-        for (SysUser sysUser : list) {
-            List<UserShop> list1 = userShopService.list(new LambdaUpdateWrapper<UserShop>().eq(UserShop::getUserId, sysUser.getUserId()));
-            List<Integer> collect = list1.stream().map(UserShop::getShopId).collect(Collectors.toList());
-            if(collect.contains(objectId) && collect.size() == 1){
-                sysUser.setDelFlag("2");
-                userService.updateById(sysUser);
+        List<UserShop> list2 = userShopService.list(new LambdaQueryWrapper<UserShop>().eq(UserShop::getShopId, objectId));
+        for (UserShop userShop : list2) {
+            List<UserShop> list1 = userShopService.list(new LambdaUpdateWrapper<UserShop>().eq(UserShop::getUserId, userShop.getUserId()));
+            if(list1.size() == 1 && list1.get(0).getShopId().equals(objectId)){
+                //删除管理员账号
+                userService.deleteUserById(userShop.getUserId());
+            }else{
+                //修改管理后台账号关联的门店数据
+                SysUser sysUser = userService.getById(userShop.getUserId());
+                if(sysUser.getObjectId().equals(objectId)){
+                    Optional<UserShop> first = list1.stream().filter(s -> !s.getShopId().equals(objectId)).findFirst();
+                    if(first.isPresent()){
+                        sysUser.setObjectId(first.get().getShopId());
+                        userService.updateById(sysUser);
+                    }
+                    
+                }
             }
-            if(sysUser.getObjectId().equals(objectId) && collect.size() > 1){
-                Integer integer = collect.stream().filter(s -> !s.equals(sysUser.getObjectId())).findFirst().get();
-                sysUser.setObjectId(integer);
-                userService.updateById(sysUser);
-            }
-            userShopService.remove(new LambdaUpdateWrapper<UserShop>().eq(UserShop::getUserId, sysUser.getUserId()).eq(UserShop::getShopId, objectId));
+            userShopService.removeById(userShop.getId());
         }
         return R.ok();
     }

--
Gitblit v1.7.1