lsw 1 年之前
父节点
当前提交
5d1cd0f202

二进制
admin-ui/public/favicon.ico


+ 13 - 8
admin-ui/src/views/system/role/index.vue

@@ -26,9 +26,9 @@
     </el-row>
     <el-table :data="roleList" border @selection-change="handleSelectionChange" height="calc(100vh - 273px)">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" width="150" />
-      <el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" width="150" />
-      <el-table-column label="显示顺序" prop="roleSort" width="100" />
+      <el-table-column label="角色名称" prop="roleName" align="center" :show-overflow-tooltip="true" width="220" />
+      <el-table-column label="权限字符" prop="roleKey" align="center" :show-overflow-tooltip="true" width="150" v-if="!user.companyId"/>
+      <el-table-column label="显示顺序" prop="roleSort" align="center" width="120" />
       <el-table-column label="状态" align="center" width="100">
         <template slot-scope="scope">
           <el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
@@ -39,11 +39,12 @@
           <span>{{ parseTime(scope.row.createTime) }}</span>
         </template>
       </el-table-column>
+      <el-table-column label="创建人" prop="createBy" align="center" width="150" />
       <el-table-column label="操作" align="center">
         <template slot-scope="scope" v-if="scope.row.roleId !== 1">
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:role:edit']">修改</el-button>
           <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:role:remove']">删除</el-button>
-          <el-dropdown size="mini" @command="command => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">
+          <el-dropdown size="mini" @command="command => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']" v-if="!user.companyId">
             <span class="el-dropdown-link">
               <i class="el-icon-d-arrow-right el-icon--right"></i>
               更多
@@ -64,15 +65,15 @@
     <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
         <el-form-item label="角色名称" prop="roleName"><el-input v-model="form.roleName" placeholder="请输入角色名称" /></el-form-item>
-        <el-form-item prop="roleKey">
+        <el-form-item prop="roleKey" v-if="!user.companyId">
           <span slot="label">
             <el-tooltip content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasRole('admin')`)" placement="top"><i class="el-icon-question"></i></el-tooltip>
             权限字符
           </span>
           <el-input v-model="form.roleKey" placeholder="请输入权限字符" />
         </el-form-item>
-        <el-form-item label="角色顺序" prop="roleSort"><el-input-number v-model="form.roleSort" controls-position="right" :min="0" /></el-form-item>
-        <el-form-item label="状态">
+        <el-form-item label="角色顺序" prop="roleSort" v-if="!user.companyId"><el-input-number v-model="form.roleSort" controls-position="right" :min="0" /></el-form-item>
+        <el-form-item label="状态" v-if="!user.companyId">
           <el-radio-group v-model="form.status">
             <el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
           </el-radio-group>
@@ -141,6 +142,7 @@ export default {
   dicts: ["sys_normal_disable"],
   data() {
     return {
+      user: this.$store.state.user,
       // 选中数组
       ids: [],
       // 非单个禁用
@@ -440,6 +442,9 @@ export default {
             });
           } else {
             this.form.menuIds = this.getMenuAllCheckedKeys();
+            if(this.user.companyId){
+              this.form.roleKey=Math.floor(Math.random() * 100000)
+            }
             addRole(this.form).then(response => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
@@ -464,7 +469,7 @@ export default {
     handleDelete(row) {
       const roleIds = row.roleId || this.ids;
       this.$modal
-        .confirm('是否确认删除角色编号为"' + roleIds + '"的数据项?')
+        .confirm('是否确认删除?')
         .then(function() {
           return delRole(roleIds);
         })

+ 63 - 33
admin-ui/src/views/system/user/index.vue

@@ -2,14 +2,14 @@
   <div class="app-container">
     <el-row :gutter="20">
       <!--部门数据-->
-      <el-col :span="3" :xs="24" v-if="">
+      <el-col :span="3" :xs="24" v-if="!user.companyId">
         <div class="head-container"><el-input v-model="deptName" placeholder="请输入部门名称" clearable prefix-icon="el-icon-search" style="margin-bottom: 20px" /></div>
         <div class="head-container">
           <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false" :filter-node-method="filterNode" ref="tree" default-expand-all highlight-current @node-click="handleNodeClick" />
         </div>
       </el-col>
       <!--用户数据-->
-      <el-col :span="21" :xs="24">
+      <el-col :span="user.companyId ? 24 : 21" :xs="24">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch">
           <el-form-item label="关键字" prop="userName">
             <el-input v-model="queryParams.userName" placeholder="请输入账号|姓名" clearable @keyup.enter.native="handleQuery" />
@@ -36,9 +36,9 @@
         </el-row>
         <el-table border :data="userList" @selection-change="handleSelectionChange" height="calc(100vh - 273px)">
           <el-table-column type="selection" align="center" width="50" />
-          <el-table-column label="账号" align="center" key="userName" prop="userName" :show-overflow-tooltip="true" width="110" />
-          <el-table-column label="姓名" align="center" key="nickName" prop="nickName" :show-overflow-tooltip="true" width="110" />
-          <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" :show-overflow-tooltip="true" width="170" v-if="!user.companyId"/>
+          <el-table-column label="账号" align="center" key="userName" prop="userName" :show-overflow-tooltip="true" width="130" />
+          <el-table-column label="姓名" align="center" key="nickName" prop="nickName" :show-overflow-tooltip="true" width="130" />
+          <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" :show-overflow-tooltip="true" width="170" v-if="!user.companyId" />
           <el-table-column label="角色" align="center" width="170">
             <template slot-scope="scope">
               <el-tag type="danger" size="mini" style="margin-top: 2px" v-if="scope.row.userName == 'admin'">超级管理员</el-tag>
@@ -50,7 +50,7 @@
           <el-table-column label="状态" align="center" key="status" width="100">
             <template slot-scope="scope">
               <div class="switch">
-                <el-switch v-model="scope.row.status" active-value="0" :width="50" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
+                <el-switch v-model="scope.row.status" :disabled="user.companyId && !scope.row.createBy" active-value="0" :width="50" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
                 <span class="zc" v-if="scope.row.status == 0">正常</span>
                 <span class="ty" v-else>停用</span>
               </div>
@@ -61,20 +61,31 @@
               <span>{{ parseTime(scope.row.createTime) }}</span>
             </template>
           </el-table-column>
+          <el-table-column label="创建人" align="center" width="150" v-if="user.companyId">
+            <template slot-scope="scope">
+              <span>{{ scope.row.createBy || '平台' }}</span>
+            </template>
+          </el-table-column>
           <el-table-column label="操作" align="center">
             <template slot-scope="scope" v-if="scope.row.userId !== 1">
-              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">修改</el-button>
-              <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
-              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']" v-if="!user.companyId">
-                <span class="el-dropdown-link">
-                  <i class="el-icon-d-arrow-right el-icon--right"></i>
-                  更多
-                </span>
-                <el-dropdown-menu slot="dropdown">
-                  <el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item>
-                  <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">分配角色</el-dropdown-item>
-                </el-dropdown-menu>
-              </el-dropdown>
+              <div v-if="user.companyId">
+                <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']" v-if="scope.row.createBy">修改</el-button>
+                <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']" v-if="scope.row.createBy">删除</el-button>
+              </div>
+              <div v-else>
+                <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">修改</el-button>
+                <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
+                <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
+                  <span class="el-dropdown-link">
+                    <i class="el-icon-d-arrow-right el-icon--right"></i>
+                    更多
+                  </span>
+                  <el-dropdown-menu slot="dropdown">
+                    <el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item>
+                    <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">分配角色</el-dropdown-item>
+                  </el-dropdown-menu>
+                </el-dropdown>
+              </div>
             </template>
           </el-table-column>
           <template slot="empty">
@@ -91,12 +102,12 @@
         <el-row>
           <el-col :span="12">
             <el-form-item v-if="form.userId == undefined" label="账号" prop="userName">
-              <el-input v-model="form.userName" placeholder="请输入账号" maxlength="30" />
+              <el-input v-model="form.userName" placeholder="请输入账号" maxlength="30" auto-complete="new-password" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item v-if="form.userId == undefined" label="密码" prop="password">
-              <el-input v-model="form.password" placeholder="请输入密码" type="password" maxlength="20" show-password />
+              <el-input v-model="form.password" placeholder="请输入密码" type="password" maxlength="20" show-password auto-complete="new-password" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -108,26 +119,45 @@
             <el-form-item label="手机" prop="phonenumber"><el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" /></el-form-item>
           </el-col>
         </el-row>
-        <el-row>
+        <el-row v-if="user.companyId">
           <el-col :span="12">
-            <el-form-item label="部门" prop="deptId">
-              <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择所属部门" />
+            <el-form-item label="角色">
+              <el-select v-model="form.roleIds" multiple placeholder="请选择角色" :disabled="user.companyId && user.id === form.userId">
+                <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
+              </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="角色">
-              <el-select v-model="form.roleIds" multiple placeholder="请选择角色">
-                <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
+            <el-form-item label="状态">
+              <el-select v-model="form.status" placeholder="请选择状态" clearable :disabled="user.companyId && user.id === form.userId">
+                <el-option value="0" label="启用"></el-option>
+                <el-option value="1" label="禁用"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
         </el-row>
-        <el-form-item label="状态">
-          <el-select v-model="form.status" placeholder="请选择状态" clearable>
-            <el-option value="0" label="启用"></el-option>
-            <el-option value="1" label="禁用"></el-option>
-          </el-select>
-        </el-form-item>
+        <div v-else>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="部门" prop="deptId">
+                <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择所属部门" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="角色">
+                <el-select v-model="form.roleIds" multiple placeholder="请选择角色">
+                  <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="状态">
+            <el-select v-model="form.status" placeholder="请选择状态" clearable>
+              <el-option value="0" label="启用"></el-option>
+              <el-option value="1" label="禁用"></el-option>
+            </el-select>
+          </el-form-item>
+        </div>
         <el-row>
           <el-col :span="24">
             <el-form-item label="备注"><el-input v-model="form.remark" type="textarea" placeholder="请输入内容" rows="3"></el-input></el-form-item>
@@ -453,7 +483,7 @@ export default {
     handleDelete(row) {
       const userIds = row.userId || this.ids;
       this.$modal
-        .confirm('是否确认删除用户编号为"' + userIds + '"的数据项?')
+        .confirm('是否确认删除?')
         .then(function () {
           return delUser(userIds);
         })

+ 2 - 7
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java

@@ -11,7 +11,6 @@ import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.service.SysPermissionService;
-import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.domain.SysUserRole;
 import com.ruoyi.system.service.ISysDeptService;
 import com.ruoyi.system.service.ISysRoleService;
@@ -36,9 +35,6 @@ public class SysRoleController extends BaseController {
     private ISysRoleService roleService;
 
     @Autowired
-    private TokenService tokenService;
-
-    @Autowired
     private SysPermissionService permissionService;
 
     @Autowired
@@ -90,7 +86,7 @@ public class SysRoleController extends BaseController {
             return AjaxResult.error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
         }
         role.setCompanyId(getLoginUser().getUser().getCompanyId());
-        role.setCreateBy(getUsername());
+        role.setCreateBy(getLoginUser().getUser().getNickName());
         return toAjax(roleService.insertRole(role));
 
     }
@@ -109,8 +105,7 @@ public class SysRoleController extends BaseController {
         } else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) {
             return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");
         }
-        role.setUpdateBy(getUsername());
-
+        role.setUpdateBy(getLoginUser().getUser().getNickName());
         if (roleService.updateRole(role) > 0) {
             permissionService.refreshRolePermission(role.getRoleId());
             return AjaxResult.success();

+ 18 - 20
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java

@@ -101,9 +101,6 @@ public class SysUserController extends BaseController {
     @PreAuthorize("@ss.hasPermi('system:user:list')")
     @GetMapping(value = {"/", "/{userId}"})
     public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
-        if (getLoginUser().getUser().getType() == 0) {
-            userService.checkUserDataScope(userId);
-        }
         AjaxResult ajax = AjaxResult.success();
         List<SysRole> roles = roleService.selectRoleAll();
         ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
@@ -126,15 +123,14 @@ public class SysUserController extends BaseController {
     public AjaxResult add(@Validated @RequestBody SysUser user) {
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
             return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
-        } else if (StringUtils.isNotEmpty(user.getPhonenumber())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
+        } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
             return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
-        } else if (StringUtils.isNotEmpty(user.getEmail())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
+        } else if (StringUtils.isNotEmpty(user.getEmail()) && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
             return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
+        user.setType(getLoginUser().getUser().getType() == 1 ? 1 : 0); //0系统用户,1企业用户
         user.setCompanyId(getLoginUser().getUser().getCompanyId());
-        user.setCreateBy(getUsername());
+        user.setCreateBy(getLoginUser().getUser().getNickName());
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         return toAjax(userService.insertUser(user));
     }
@@ -146,19 +142,15 @@ public class SysUserController extends BaseController {
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@Validated @RequestBody SysUser user) {
-        userService.checkUserAllowed(user);
-        userService.checkUserDataScope(user.getUserId());
         List<Long> roles = roleService.selectRoleListByUserId(user.getUserId());
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
             return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
-        } else if (StringUtils.isNotEmpty(user.getPhonenumber())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
+        } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
             return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
-        } else if (StringUtils.isNotEmpty(user.getEmail())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
+        } else if (StringUtils.isNotEmpty(user.getEmail()) && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
             return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
-        user.setUpdateBy(getUsername());
+        user.setCreateBy(getLoginUser().getUser().getNickName());
         int row = userService.updateUser(user);
         if (row > 0) {
             if (!Arrays.equals(user.getRoleIds(), roles.toArray())) {
@@ -197,7 +189,7 @@ public class SysUserController extends BaseController {
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(user.getUserId());
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
-        user.setUpdateBy(getUsername());
+        user.setUpdateBy(getLoginUser().getUser().getNickName());
         return toAjax(userService.resetPwd(user));
     }
 
@@ -207,10 +199,16 @@ public class SysUserController extends BaseController {
     @PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping("/changeStatus")
-    public AjaxResult changeStatus(@RequestBody SysUser user) {
-        userService.checkUserAllowed(user);
-        userService.checkUserDataScope(user.getUserId());
-        user.setUpdateBy(getUsername());
+    public AjaxResult changeStatus(@RequestBody SysUser u) {
+        if (getLoginUser().getUser().getUserId().equals(u.getUserId())) {
+            return AjaxResult.error("不允许操作自己");
+        }
+        SysUser user = userService.selectUserById(u.getUserId());
+        if (getLoginUser().getUser().getType() == 1 && StringUtils.isEmpty(user.getCreateBy())) {
+            return AjaxResult.error("不允许操作企业负责人");
+        }
+        user.setStatus(u.getStatus());
+        user.setUpdateBy(getLoginUser().getUser().getNickName());
         int row = userService.updateUserStatus(user);
         if (row > 0) {
             permissionService.refreshUserPermission(user.getUserId());

+ 12 - 8
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java

@@ -99,7 +99,9 @@ public class SysRoleServiceImpl implements ISysRoleService {
      */
     @Override
     public List<SysRole> selectRoleAll() {
-        return SpringUtils.getAopProxy(this).selectRoleList(new SysRole());
+        SysRole role = new SysRole();
+        role.setCompanyId(SecurityUtils.getLoginUser().getUser().getCompanyId());
+        return SpringUtils.getAopProxy(this).selectRoleList(role);
     }
 
     /**
@@ -133,7 +135,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
     @Override
     public String checkRoleNameUnique(SysRole role) {
         Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
-        SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName(),SecurityUtils.getLoginUser().getUser().getCompanyId());
+        SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName(), SecurityUtils.getLoginUser().getUser().getCompanyId());
         if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
             return UserConstants.NOT_UNIQUE;
         }
@@ -175,12 +177,14 @@ public class SysRoleServiceImpl implements ISysRoleService {
      */
     @Override
     public void checkRoleDataScope(Long roleId) {
-        if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
-            SysRole role = new SysRole();
-            role.setRoleId(roleId);
-            List<SysRole> roles = SpringUtils.getAopProxy(this).selectRoleList(role);
-            if (StringUtils.isEmpty(roles)) {
-                throw new ServiceException("没有权限访问角色数据!");
+        if (SecurityUtils.getLoginUser().getUser().getType() == 0) {
+            if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
+                SysRole role = new SysRole();
+                role.setRoleId(roleId);
+                List<SysRole> roles = SpringUtils.getAopProxy(this).selectRoleList(role);
+                if (StringUtils.isEmpty(roles)) {
+                    throw new ServiceException("没有权限访问角色数据!");
+                }
             }
         }
     }

+ 20 - 15
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -217,12 +217,14 @@ public class SysUserServiceImpl implements ISysUserService {
      */
     @Override
     public void checkUserDataScope(Long userId) {
-        if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
-            SysUser user = new SysUser();
-            user.setUserId(userId);
-            List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user);
-            if (StringUtils.isEmpty(users)) {
-                throw new ServiceException("没有权限访问用户数据!");
+        if (SecurityUtils.getLoginUser().getUser().getType() == 0) {
+            if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
+                SysUser user = new SysUser();
+                user.setUserId(userId);
+                List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user);
+                if (StringUtils.isEmpty(users)) {
+                    throw new ServiceException("没有权限访问用户数据!");
+                }
             }
         }
     }
@@ -265,15 +267,18 @@ public class SysUserServiceImpl implements ISysUserService {
     @Override
     @Transactional
     public int updateUser(SysUser user) {
-        Long userId = user.getUserId();
-        // 删除用户与角色关联
-        userRoleMapper.deleteUserRoleByUserId(userId);
-        // 新增用户与角色管理
-        insertUserRole(user);
-        // 删除用户与岗位关联
-        userPostMapper.deleteUserPostByUserId(userId);
-        // 新增用户与岗位管理
-        insertUserPost(user);
+        //不允许操作自己的状态和角色
+        if (!SecurityUtils.getLoginUser().getUser().getUserId().equals(user.getUserId())){
+            Long userId = user.getUserId();
+            // 删除用户与角色关联
+            userRoleMapper.deleteUserRoleByUserId(userId);
+            // 新增用户与角色管理
+            insertUserRole(user);
+            // 删除用户与岗位关联
+            userPostMapper.deleteUserPostByUserId(userId);
+            // 新增用户与岗位管理
+            insertUserPost(user);
+        }
         return userMapper.updateUser(user);
     }
 

+ 1 - 1
ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml

@@ -24,7 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	
 	<sql id="selectRoleVo">
 	    select distinct r.role_id,r.company_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly,
-            r.status, r.del_flag, r.create_time, r.remark 
+            r.status, r.del_flag, r.create_time,r.create_by, r.remark
         from sys_role r
 	        left join sys_user_role ur on ur.role_id = r.role_id
 	        left join sys_user u on u.user_id = ur.user_id