From b22df417e0bc423c788b013feaad686531d69eed Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 08 一月 2025 09:51:37 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java |   75 ++++++++++++++++++++++++++-----------
 1 files changed, 52 insertions(+), 23 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 aa126fd..f801929 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
@@ -33,6 +33,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -112,9 +113,6 @@
         user.setUserName(user.getPhonenumber());
         Long userid = tokenService.getLoginUser().getUserid();
         SysUser sysUser1 = userService.getById(userid);
-        if(sysUser1.getRoleType() == 2){
-            user.setObjectId(sysUser1.getObjectId());
-        }
         if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
             user.setNickName(user.getPhonenumber());
         }
@@ -124,22 +122,41 @@
         if (StringUtils.isNotEmpty(user.getUserName()) && !userService.checkUserNameUnique(user)) {
             return error("登录账号重复");
         }
-        user.setCreateBy(SecurityUtils.getUsername());
-        user.setPassword(SecurityUtils.encryptPassword("a123456"));
-        user.setRoleType(sysUser1.getRoleType());
-        userService.insertUser(user);
-        SysUserRole sysUserRole = new SysUserRole();
-        sysUserRole.setRoleId(user.getRoleId());
-        sysUserRole.setUserId(user.getUserId());
-        userRoleService.insertSysUserRole(sysUserRole);
-        //添加门店员工关系数据
-        if(2 == user.getRoleType()){
+        //门店员工添加数据,需要判断账号是否存在,共用同一个账号
+        if(2 == sysUser1.getRoleType()){
+            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){
+                user.setCreateBy(SecurityUtils.getUsername());
+                user.setPassword(SecurityUtils.encryptPassword("a123456"));
+                user.setRoleType(sysUser1.getRoleType());
+                user.setObjectId(sysUser1.getObjectId());
+                userService.insertUser(user);
+                one = user;
+                SysUserRole sysUserRole = new SysUserRole();
+                sysUserRole.setRoleId(user.getRoleId());
+                sysUserRole.setUserId(user.getUserId());
+                userRoleService.insertSysUserRole(sysUserRole);
+            }
+            //添加门店员工关系数据
             UserShop userShop = new UserShop();
-            userShop.setUserId(user.getUserId());
-            userShop.setShopId(user.getObjectId());
+            userShop.setUserId(one.getUserId());
+            userShop.setShopId(sysUser1.getObjectId());
             userShop.setRoleType(2);
             userShop.setRoleId(user.getRoleId());
+            userShop.setDeptId(user.getDeptId());
+            userShop.setNickName(user.getNickName());
+            userShop.setCreateTime(LocalDateTime.now());
             userShopService.save(userShop);
+        }else{
+            user.setCreateBy(SecurityUtils.getUsername());
+            user.setPassword(SecurityUtils.encryptPassword("a123456"));
+            user.setRoleType(sysUser1.getRoleType());
+            userService.insertUser(user);
+            SysUserRole sysUserRole = new SysUserRole();
+            sysUserRole.setRoleId(user.getRoleId());
+            sysUserRole.setUserId(user.getUserId());
+            userRoleService.insertSysUserRole(sysUserRole);
         }
         return AjaxResult.success();
     }
@@ -174,6 +191,17 @@
         ajax.put("posts", postService.selectPostAll());
         if (StringUtils.isNotNull(userId)) {
             SysUser sysUser = userService.selectUserById(userId);
+            if(sysUser.getRoleType() == 2){
+                Long userid = tokenService.getLoginUser().getUserid();
+                SysUser sysUser1 = userService.selectUserById(userid);
+                UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, sysUser.getUserId()).eq(UserShop::getShopId, sysUser1.getObjectId()));
+                sysUser.setDeptId(one.getDeptId());
+                sysUser.setNickName(one.getNickName());
+                SysDept sysDept = deptService.selectDeptById(one.getDeptId());
+                sysUser.setDept(sysDept);
+                sysUser.setRoleId(one.getRoleId());
+            }
+
             ajax.put("data", sysUser);
             ajax.put("postIds", postService.selectPostListByUserId(userId));
             ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
@@ -231,13 +259,14 @@
     
         //添加门店员工关系数据
         if(2 == user.getRoleType()){
-            userShopService.remove(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, user.getObjectId()));
-            UserShop userShop = new UserShop();
-            userShop.setUserId(user.getUserId());
-            userShop.setShopId(user.getObjectId());
-            userShop.setRoleType(2);
-            userShop.setRoleId(user.getRoleId());
-            userShopService.save(userShop);
+            UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, user.getObjectId()));
+            one.setUserId(user.getUserId());
+            one.setShopId(user.getObjectId());
+            one.setRoleType(one.getRoleType());
+            one.setRoleId(user.getRoleId());
+            one.setDeptId(user.getDeptId());
+            one.setNickName(user.getNickName());
+            userShopService.updateById(one);
         }
         return success();
     }
@@ -614,7 +643,7 @@
 
 
     @ResponseBody
-    @GetMapping("/switchShop")
+    @PutMapping("/switchShop/{shopId}")
     @ApiOperation(value = "切换门店", tags = {"门店后台-首页"})
     public R<Set<String>> switchShop(@PathVariable("shopId") Integer shopId){
         Long userid = tokenService.getLoginUser().getUserid();

--
Gitblit v1.7.1