提交 7199172c authored 作者: fit2cloud-chenyw's avatar fit2cloud-chenyw

feat: 用户管理

上级 1e5b9778
...@@ -2,6 +2,7 @@ package io.dataease.base.mapper.ext; ...@@ -2,6 +2,7 @@ package io.dataease.base.mapper.ext;
import io.dataease.controller.sys.request.RoleGridRequest; import io.dataease.controller.sys.request.RoleGridRequest;
import io.dataease.controller.sys.response.RoleNodeResponse; import io.dataease.controller.sys.response.RoleNodeResponse;
import io.dataease.controller.sys.response.RoleUserItem;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -16,4 +17,6 @@ public interface ExtSysRoleMapper { ...@@ -16,4 +17,6 @@ public interface ExtSysRoleMapper {
int deleteRoleMenu(@Param("roleId") Long roleId); int deleteRoleMenu(@Param("roleId") Long roleId);
int batchInsertRoleMenu(@Param("maps") List<Map<String, Long>> maps); int batchInsertRoleMenu(@Param("maps") List<Map<String, Long>> maps);
List<RoleUserItem> queryAll();
} }
...@@ -11,6 +11,11 @@ ...@@ -11,6 +11,11 @@
</collection> </collection>
</resultMap> </resultMap>
<resultMap id="roleItemMap" type="io.dataease.controller.sys.response.RoleUserItem">
<id property="id" column="id"/>
<result property="name" column="name"/>
</resultMap>
<select id="query" resultMap="BaseResultMap"> <select id="query" resultMap="BaseResultMap">
select r.*, m.menu_id select r.*, m.menu_id
from sys_role r left join sys_roles_menus m on r.role_id = m.role_id from sys_role r left join sys_roles_menus m on r.role_id = m.role_id
...@@ -34,5 +39,10 @@ ...@@ -34,5 +39,10 @@
</foreach> </foreach>
</insert> </insert>
<select id="queryAll" resultMap="roleItemMap">
select role_id as id, name from sys_role
</select>
</mapper> </mapper>
...@@ -2,18 +2,28 @@ ...@@ -2,18 +2,28 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="io.dataease.base.mapper.ext.ExtSysUserMapper"> <mapper namespace="io.dataease.base.mapper.ext.ExtSysUserMapper">
<resultMap id="sysUserDept" type="io.dataease.controller.sys.response.SysUserDept" >
<id column="dept_id" property="deptId"></id>
<result column="pid" property="pid"></result>
<result column="dept_name" property="deptName"></result>
</resultMap>
<resultMap id="sysUserRole" type="io.dataease.controller.sys.response.SysUserRole" >
<result column="role_id" property="roleId"></result>
<result column="role_name" property="roleName"></result>
</resultMap>
<resultMap id="BaseResultMap" type="io.dataease.controller.sys.response.SysUserGridResponse" extends="io.dataease.base.mapper.SysUserMapper.BaseResultMap"> <resultMap id="BaseResultMap" type="io.dataease.controller.sys.response.SysUserGridResponse" extends="io.dataease.base.mapper.SysUserMapper.BaseResultMap">
<result column="roleIds" property="role_ids"/> <result property="id" column="id"></result>
<collection property="roleIds" ofType="long"> <association property="dept" column="dept_id" javaType="io.dataease.controller.sys.response.SysUserDept" resultMap="sysUserDept"/>
<constructor> <collection property="roles" column="role_id" javaType="io.dataease.controller.sys.response.SysUserRole" resultMap="sysUserRole" />
<arg column="role_id"/>
</constructor>
</collection>
</resultMap> </resultMap>
<select id="query" resultMap="BaseResultMap"> <select id="query" resultMap="BaseResultMap">
select u.*, ur.role_id select u.*,u.user_id as id, r.role_id,r.name as role_name , d.pid, d.name as dept_name
from sys_user u left join sys_users_roles ur on u.user_id = ur.user_id from sys_user u left join sys_users_roles ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id
left join sys_dept d on d.dept_id = u.dept_id
<where> <where>
<if test="request.name != null"> <if test="request.name != null">
AND u.name like CONCAT('%', #{request.name},'%') AND u.name like CONCAT('%', #{request.name},'%')
......
...@@ -9,6 +9,7 @@ import io.dataease.commons.utils.Pager; ...@@ -9,6 +9,7 @@ import io.dataease.commons.utils.Pager;
import io.dataease.controller.sys.request.RoleGridRequest; import io.dataease.controller.sys.request.RoleGridRequest;
import io.dataease.controller.sys.request.RoleMenusRequest; import io.dataease.controller.sys.request.RoleMenusRequest;
import io.dataease.controller.sys.response.RoleNodeResponse; import io.dataease.controller.sys.response.RoleNodeResponse;
import io.dataease.controller.sys.response.RoleUserItem;
import io.dataease.service.sys.SysRoleService; import io.dataease.service.sys.SysRoleService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -59,4 +60,10 @@ public class SysRoleController { ...@@ -59,4 +60,10 @@ public class SysRoleController {
public void saveRolesMenus(@RequestBody RoleMenusRequest request){ public void saveRolesMenus(@RequestBody RoleMenusRequest request){
sysRoleService.batchSaveRolesMenus(request); sysRoleService.batchSaveRolesMenus(request);
} }
@PostMapping("/all")
public List<RoleUserItem> all(){
return sysRoleService.allRoles();
}
} }
package io.dataease.controller.sys.response;
import lombok.Data;
import java.io.Serializable;
@Data
public class RoleUserItem implements Serializable {
private Long id;
private String name;
}
package io.dataease.controller.sys.response;
import lombok.Data;
import java.io.Serializable;
@Data
public class SysUserDept implements Serializable {
private Long deptId;
private Long pid;
private String deptName;
}
package io.dataease.controller.sys.response; package io.dataease.controller.sys.response;
import io.dataease.base.domain.SysUser; import io.dataease.base.domain.SysUser;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
@Data @Data
public class SysUserGridResponse extends SysUser { public class SysUserGridResponse extends SysUser {
private Long id;
private List<SysUserRole> roles;
private SysUserDept dept;
private List<Long> roleIds;
} }
package io.dataease.controller.sys.response;
import lombok.Data;
import java.io.Serializable;
@Data
public class SysUserRole implements Serializable {
private Long roleId;
private String roleName;
}
...@@ -9,6 +9,7 @@ import io.dataease.base.mapper.ext.ExtSysRoleMapper; ...@@ -9,6 +9,7 @@ import io.dataease.base.mapper.ext.ExtSysRoleMapper;
import io.dataease.controller.sys.request.RoleGridRequest; import io.dataease.controller.sys.request.RoleGridRequest;
import io.dataease.controller.sys.request.RoleMenusRequest; import io.dataease.controller.sys.request.RoleMenusRequest;
import io.dataease.controller.sys.response.RoleNodeResponse; import io.dataease.controller.sys.response.RoleNodeResponse;
import io.dataease.controller.sys.response.RoleUserItem;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -74,5 +75,9 @@ public class SysRoleService { ...@@ -74,5 +75,9 @@ public class SysRoleService {
return extSysRoleMapper.batchInsertRoleMenu(maps); return extSysRoleMapper.batchInsertRoleMenu(maps);
} }
public List<RoleUserItem> allRoles(){
return extSysRoleMapper.queryAll();
}
} }
...@@ -14,6 +14,7 @@ import io.dataease.controller.sys.request.UserGridRequest; ...@@ -14,6 +14,7 @@ import io.dataease.controller.sys.request.UserGridRequest;
import io.dataease.controller.sys.response.SysUserGridResponse; import io.dataease.controller.sys.response.SysUserGridResponse;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -46,7 +47,11 @@ public class SysUserService { ...@@ -46,7 +47,11 @@ public class SysUserService {
user.setCreateTime(now); user.setCreateTime(now);
user.setUpdateTime(now); user.setUpdateTime(now);
user.setIsAdmin(false); user.setIsAdmin(false);
if (ObjectUtils.isEmpty(user.getPassword()) || StringUtils.equals(user.getPassword(), DEFAULT_PWD)){
user.setPassword(CodingUtil.md5(DEFAULT_PWD)); user.setPassword(CodingUtil.md5(DEFAULT_PWD));
}else{
user.setPassword(CodingUtil.md5(user.getPassword()));
}
int insert = sysUserMapper.insert(user); int insert = sysUserMapper.insert(user);
SysUser dbUser = findOne(user); SysUser dbUser = findOne(user);
saveUserRoles(dbUser.getUserId(), request.getRoleIds());//插入用户角色关联 saveUserRoles(dbUser.getUserId(), request.getRoleIds());//插入用户角色关联
......
...@@ -32,6 +32,11 @@ export default { ...@@ -32,6 +32,11 @@ export default {
component: () => import('@/business/components/settings/sys/role'), component: () => import('@/business/components/settings/sys/role'),
meta: {system: true, title: 'commons.role'} meta: {system: true, title: 'commons.role'}
}, },
{
path: 'sysuser',
component: () => import('@/business/components/settings/sys/user'),
meta: {system: true, title: 'commons.user'}
},
// { // {
// path: 'systemworkspace', // path: 'systemworkspace',
// component: () => import('@/business/components/settings/system/SystemWorkspace'), // component: () => import('@/business/components/settings/system/SystemWorkspace'),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论