JAVA全系列 教程
3762个小节阅读:7095.5k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
序号 | 接口名称 | 接口地址 | 请求类型 |
---|---|---|---|
1 | 分页查询用户 | /system/user/listUserForPage | get |
2 | 新增用户 | /system/user/addUser | post |
3 | 修改用户 | /system/user/updateUser | put |
4 | 删除用户 | /system/user/deleteUserByIds/{userIds} | delete |
5 | 重置密码 | /system/user/resetPwd/{userIds} | post |
6 | 给用户分配角色 | /system/user/saveUserRole | post |
7 | 查询所有角色信息 | /system/role/selectAllRole | get |
8 | 根据用户ID查询角色 | /system/role/getRoleIdsByUserId/{userId} | get |
参数名称 | 是否必须 |
---|---|
pageNum | 否 |
pageSize | 否 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
total | int | |
code | int | |
msg | String | |
data | object [] | item 类型: object |
├─ userId | int | |
├─ deptId | int | |
├─ deptName | String | |
├─ userName | String | |
├─ userType | String | |
├─ sex | String | |
├─ age | int | |
├─ picture | String | |
├─ background | String | |
├─ phone | String | |
String | ||
├─ strong | String | |
├─ honor | String | |
├─ introduction | String | |
├─ userRank | String | |
├─ status | String | |
├─ createTime | String | |
├─ createBy | String | |
├─ schedulingFlag | String |
xxxxxxxxxx
package com.bjsxt.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bjsxt.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* 用户信息表
*/
value="com-bjsxt-dto-UserDto") (
callSuper=true) (
public class UserDto extends BaseDto {
/**
* 用户ID
*/
value = "用户ID") (
private Long userId;
/**
* 部门ID
*/
message = "用户所属部门不能为空") (
value = "部门ID") (
private Long deptId;
/**
* 用户名
*/
message = "用户名不能为空") (
value = "用户名") (
private String userName;
/**
* 用户性别(0男 1女 2未知)
*/
message = "用户性别不能为空") (
value = "用户性别(0男 1女 2未知)") (
private String sex;
/**
* 年龄
*/
value = "年龄") (
private Integer age;
/**
* 头像
*/
value = "头像") (
private String picture;
/**
* 学历 sys_dict_type:sys_user_background
*/
message = "用户学历不能为空") (
value = "学历 sys_dict_type:sys_user_background") (
private String background;
/**
* 电话
*/
message = "用户电话不能为空") (
value = "电话") (
private String phone;
/**
* 用户邮箱
*/
value = "用户邮箱") (
private String email;
/**
* 擅长
*/
value = "擅长") (
private String strong;
/**
* 荣誉
*/
value = "荣誉") (
private String honor;
/**
* 简介
*/
value = "简介") (
private String introduction;
/**
*
医生级别sys_dict_type:sys_user_level
*/
message = "医生级别不能为空") (
value = ",医生级别sys_dict_type:sys_user_level") (
private String userRank;
/**
* 帐号状态(0正常 1停用)
*/
message = "帐号状态不能为空") (
value = "帐号状态(0正常 1停用)") (
private String status;
/**
* 是否需要参与排班0需要,1 不需要
*/
message = "是否需要参与排班不能为空") (
value = "是否需要参与排班0需要,1 不需要") (
private String schedulingFlag;
}
xxxxxxxxxx
package com.bjsxt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bjsxt.domain.User;
public interface UserMapper extends BaseMapper<User> {
}
创建UserMapper.xml
xxxxxxxxxx
<mapper namespace="com.bjsxt.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.bjsxt.domain.User">
<!--@mbg.generated-->
<!--@Table sys_user-->
<id column="user_id" jdbcType="BIGINT" property="userId" />
<result column="dept_id" jdbcType="BIGINT" property="deptId" />
<result column="user_name" jdbcType="VARCHAR" property="userName" />
<result column="user_type" jdbcType="CHAR" property="userType" />
<result column="sex" jdbcType="CHAR" property="sex" />
<result column="age" jdbcType="INTEGER" property="age" />
<result column="picture" jdbcType="VARCHAR" property="picture" />
<result column="background" jdbcType="CHAR" property="background" />
<result column="phone" jdbcType="VARCHAR" property="phone" />
<result column="email" jdbcType="VARCHAR" property="email" />
<result column="strong" jdbcType="VARCHAR" property="strong" />
<result column="honor" jdbcType="VARCHAR" property="honor" />
<result column="introduction" jdbcType="LONGVARCHAR" property="introduction" />
<result column="user_rank" jdbcType="CHAR" property="userRank" />
<result column="password" jdbcType="VARCHAR" property="password" />
<result column="last_login_time" jdbcType="TIMESTAMP" property="lastLoginTime" />
<result column="last_login_ip" jdbcType="VARCHAR" property="lastLoginIp" />
<result column="status" jdbcType="CHAR" property="status" />
<result column="union_id" jdbcType="VARCHAR" property="unionId" />
<result column="open_id" jdbcType="VARCHAR" property="openId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="salt" jdbcType="VARCHAR" property="salt" />
<result column="del_flag" jdbcType="CHAR" property="delFlag" />
<result column="scheduling_flag" jdbcType="CHAR" property="schedulingFlag" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
user_id, dept_id, user_name, user_type, sex, age, picture, background, phone, email,
strong, honor, introduction, user_rank, `password`, last_login_time, last_login_ip,
`status`, union_id, open_id, create_time, update_time, create_by, update_by, salt,
del_flag, scheduling_flag
</sql>
</mapper>
xxxxxxxxxx
package com.bjsxt.service;
import ...
public interface UserService {
/**
* 根据手机号查询用户
*
* @param phone 手机号
* @return
*/
User queryUserByPhone(String phone);
/**
* 根据用户ID查询用户
*
* @param userId 用户编号
* @return
*/
User getOne(Long userId);
/**
* 分页查询用户
* @param userDto
* @return
*/
DataGridView listUserForPage(UserDto userDto);
/**
* 添加用户
* @param userDto
* @return
*/
int addUser(UserDto userDto);
/**
* 修改用户
* @param userDto
* @return
*/
int updateUser(UserDto userDto);
/**
* 删除用户
* @param userIds
* @return
*/
int deleteUserByIds(Long[] userIds);
/**
* 重置用户密码
* @param userIds
*/
void resetPassWord(Long[] userIds);
/**
* 查询所有可用的用户
* @return
*/
List<User> getAllUsers();
/**
* 查询要排班的医生信息
* 如果部门ID为空,那么查询所有要排班的用户信息
*/
List<User> queryUsersNeedScheduling(Long userId,Long deptId);
}
xxxxxxxxxx
package com.bjsxt.service.impl;
import ...
public class UserServiceImpl implements UserService{
private UserMapper userMapper;
private RoleMapper roleMapper;
public User queryUserByPhone(String phone) {
QueryWrapper<User> qw=new QueryWrapper<>();
qw.eq(User.COL_PHONE,phone);
User user = this.userMapper.selectOne(qw);
return user;
}
public User getOne(Long userId) {
return this.userMapper.selectById(userId);
}
public DataGridView listUserForPage(UserDto userDto) {
Page<User> page=new Page<>(userDto.getPageNum(), userDto.getPageSize());
QueryWrapper<User> qw=new QueryWrapper<>();
qw.like(StringUtils.isNotBlank(userDto.getUserName()),
User.COL_USER_NAME, userDto.getUserName());
qw.like(StringUtils.isNotBlank(userDto.getPhone()),
User.COL_PHONE, userDto.getPhone());
qw.eq(StringUtils.isNotBlank(userDto.getStatus()),
User.COL_STATUS, userDto.getStatus());
qw.eq(userDto.getDeptId()!=null, User.COL_DEPT_ID, userDto.getDeptId());
qw.ge(null!= userDto.getBeginTime(), User.COL_CREATE_TIME, userDto.getBeginTime());
qw.le(null!= userDto.getEndTime(), User.COL_CREATE_TIME, userDto.getEndTime());
qw.orderByAsc(User.COL_USER_ID);
this.userMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(), page.getRecords());
}
public int addUser(UserDto userDto) {
User user=new User();
BeanUtil.copyProperties(userDto,user);
user.setUserType(Constants.USER_NORMAL);//用户类型是系统用户
String defaultPwd=user.getPhone().substring(5);
user.setCreateBy(userDto.getSimpleUser().getUserName());
user.setCreateTime(DateUtil.date());
user.setSalt(AppMd5Utils.createSalt());
user.setPassword(AppMd5Utils.md5(defaultPwd,user.getSalt(),2));
return this.userMapper.insert(user);
}
public int updateUser(UserDto userDto) {
User user=this.userMapper.selectById(userDto.getUserId());
if(null==user){
return 0;
}
BeanUtil.copyProperties(userDto,user);
//设置修改人
user.setUpdateBy(userDto.getSimpleUser().getUserName());
return this.userMapper.updateById(user);
}
public int deleteUserByIds(Long[] userIds) {
List<Long> ids = Arrays.asList(userIds);
//根据用户ids删除sys_role_user里面的数据
this.roleMapper.deleteRoleUserByUserIds(ids);
return this.userMapper.deleteBatchIds(ids);
}
public void resetPassWord(Long[] userIds) {
for (Long userId : userIds) {
User user=this.userMapper.selectById(userId);
String defaultPwd="";
//如果是超级 管理员
if (user.getUserType().equals(Constants.USER_ADMIN)){
defaultPwd="123456";
}else{
defaultPwd=user.getPhone().substring(5);
}
user.setSalt(AppMd5Utils.createSalt());
user.setPassword(AppMd5Utils.md5(defaultPwd,user.getSalt(),2));
this.userMapper.updateById(user);
}
}
public List<User> getAllUsers() {
QueryWrapper<User> qw=new QueryWrapper<>();
qw.eq(User.COL_STATUS, Constants.STATUS_TRUE);
qw.eq(User.COL_USER_TYPE,Constants.USER_NORMAL);
qw.orderByAsc(User.COL_USER_ID);
return this.userMapper.selectList(qw);
}
public List<User> queryUsersNeedScheduling(Long userId,Long deptId) {
QueryWrapper<User> qw=new QueryWrapper<>();
qw.eq(deptId!=null,User.COL_DEPT_ID,deptId);
qw.eq(userId!=null,User.COL_USER_ID,userId);
qw.eq(User.COL_SCHEDULING_FLAG,Constants.SCHEDULING_FLAG_TRUE);//需要排班的
qw.eq(User.COL_STATUS,Constants.STATUS_TRUE);//可用的用户
return this.userMapper.selectList(qw);
}
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import ...
/**
* @Description:用户管理控制器
*/
"system/user") (
public class UserController {
private UserService userService;
/**
* 分页查询
*/
"listUserForPage") (
public AjaxResult listUserForPage(UserDto userDto){
DataGridView gridView = this.userService.listUserForPage(userDto);
return AjaxResult.success("查询成功",gridView.getData(),gridView.getTotal());
}
}
分页查询用户/system/user/listUserForPage
参数名称 | 是否必须 |
---|---|
userName | 是 |
phone | 是 |
deptId | 是 |
userRank | 是 |
age | 是 |
background | 是 |
schedulingFlag | 是 |
sex | 是 |
status | 是 |
是 | |
strong | 是 |
honor | 是 |
introduction | 是 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
code | int | |
msg | String |
创建User及UserDTO类
创建UserMapper类及UserMapper.xml
xxxxxxxxxx
package com.bjsxt.service;
import ...
public interface UserService {
/**
* 分页查询用户
* @param userDto
* @return
*/
DataGridView listUserForPage(UserDto userDto);
/**
* 添加用户
* @param userDto
* @return
*/
int addUser(UserDto userDto);
}
xxxxxxxxxx
package com.bjsxt.service.impl;
import ...
public class UserServiceImpl implements UserService{
private UserMapper userMapper;
private RoleMapper roleMapper;
public DataGridView listUserForPage(UserDto userDto) {
Page<User> page=new Page<>(userDto.getPageNum(), userDto.getPageSize());
QueryWrapper<User> qw=new QueryWrapper<>();
qw.like(StringUtils.isNotBlank(userDto.getUserName()),
User.COL_USER_NAME, userDto.getUserName());
qw.like(StringUtils.isNotBlank(userDto.getPhone()),
User.COL_PHONE, userDto.getPhone());
qw.eq(StringUtils.isNotBlank(userDto.getStatus()),
User.COL_STATUS, userDto.getStatus());
qw.eq(userDto.getDeptId()!=null, User.COL_DEPT_ID, userDto.getDeptId());
qw.ge(null!= userDto.getBeginTime(), User.COL_CREATE_TIME, userDto.getBeginTime());
qw.le(null!= userDto.getEndTime(), User.COL_CREATE_TIME, userDto.getEndTime());
qw.orderByAsc(User.COL_USER_ID);
this.userMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(), page.getRecords());
}
public int addUser(UserDto userDto) {
User user=new User();
BeanUtil.copyProperties(userDto,user);
user.setUserType(Constants.USER_NORMAL);//用户类型是系统用户
String defaultPwd=user.getPhone().substring(5);
user.setCreateBy(userDto.getSimpleUser().getUserName());
user.setCreateTime(DateUtil.date());
user.setSalt(AppMd5Utils.createSalt());
user.setPassword(AppMd5Utils.md5(defaultPwd,user.getSalt(),2));
return this.userMapper.insert(user);
}
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import ...
/**
* @Description:用户管理控制器
*/
"system/user") (
public class UserController {
private UserService userService;
/**
* 分页查询
*/
"listUserForPage") (
public AjaxResult listUserForPage(UserDto userDto){
DataGridView gridView = this.userService.listUserForPage(userDto);
return AjaxResult.success("查询成功",gridView.getData(),gridView.getTotal());
}
/**
* 添加
*/
"addUser") (
title = "添加用户",businessType = BusinessType.INSERT) (
public AjaxResult addUser( UserDto userDto) {
userDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.userService.addUser(userDto));
}
}
新增用户/system/user/addUser
参数名称 | 是否必须 |
---|---|
userId | 是 |
userName | 是 |
phone | 是 |
deptId | 是 |
age | 是 |
sex | 是 |
background | 是 |
userRank | 是 |
status | 是 |
schedulingFlag | 是 |
是 | |
strong | 是 |
honor | 是 |
introduction | 是 |
返回JSON数据
名称 | 类型 |
---|---|
msg | String |
code | int |
创建User及UserDTO类
创建UserMapper类及UserMapper.xml
xxxxxxxxxx
package com.bjsxt.service;
import ...
public interface UserService {
/**
* 根据手机号查询用户
*
* @param phone 手机号
* @return
*/
User queryUserByPhone(String phone);
/**
* 根据用户ID查询用户
*
* @param userId 用户编号
* @return
*/
User getOne(Long userId);
/**
* 分页查询用户
* @param userDto
* @return
*/
DataGridView listUserForPage(UserDto userDto);
/**
* 修改用户
* @param userDto
* @return
*/
int updateUser(UserDto userDto);
}
xxxxxxxxxx
package com.bjsxt.service.impl;
import ...
public class UserServiceImpl implements UserService{
private UserMapper userMapper;
private RoleMapper roleMapper;
public User queryUserByPhone(String phone) {
QueryWrapper<User> qw=new QueryWrapper<>();
qw.eq(User.COL_PHONE,phone);
User user = this.userMapper.selectOne(qw);
return user;
}
public User getOne(Long userId) {
return this.userMapper.selectById(userId);
}
public DataGridView listUserForPage(UserDto userDto) {
Page<User> page=new Page<>(userDto.getPageNum(), userDto.getPageSize());
QueryWrapper<User> qw=new QueryWrapper<>();
qw.like(StringUtils.isNotBlank(userDto.getUserName()),
User.COL_USER_NAME, userDto.getUserName());
qw.like(StringUtils.isNotBlank(userDto.getPhone()),
User.COL_PHONE, userDto.getPhone());
qw.eq(StringUtils.isNotBlank(userDto.getStatus()),
User.COL_STATUS, userDto.getStatus());
qw.eq(userDto.getDeptId()!=null, User.COL_DEPT_ID, userDto.getDeptId());
qw.ge(null!= userDto.getBeginTime(), User.COL_CREATE_TIME, userDto.getBeginTime());
qw.le(null!= userDto.getEndTime(), User.COL_CREATE_TIME, userDto.getEndTime());
qw.orderByAsc(User.COL_USER_ID);
this.userMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(), page.getRecords());
}
public int updateUser(UserDto userDto) {
User user=this.userMapper.selectById(userDto.getUserId());
if(null==user){
return 0;
}
BeanUtil.copyProperties(userDto,user);
//设置修改人
user.setUpdateBy(userDto.getSimpleUser().getUserName());
return this.userMapper.updateById(user);
}
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import ...
/**
* @Description:用户管理控制器
*/
"system/user") (
public class UserController {
private UserService userService;
/**
* 分页查询
*/
"listUserForPage") (
public AjaxResult listUserForPage(UserDto userDto){
DataGridView gridView = this.userService.listUserForPage(userDto);
return AjaxResult.success("查询成功",gridView.getData(),gridView.getTotal());
}
/**
* 修改
*/
"updateUser") (
title = "修改用户",businessType = BusinessType.UPDATE) (
public AjaxResult updateUser( UserDto userDto) {
userDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.userService.updateUser(userDto));
}
}
新增用户/system/user/updateUser
参数名称 | 是否必须 |
---|---|
userIds | 是 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
code | int |
创建User及UserDTO类
创建UserMapper类及UserMapper.xml
xxxxxxxxxx
package com.bjsxt.service;
import ...
public interface UserService {
/**
* 分页查询用户
* @param userDto
* @return
*/
DataGridView listUserForPage(UserDto userDto);
/**
* 修改用户
* @param userDto
* @return
*/
int updateUser(UserDto userDto);
/**
* 删除用户
* @param userIds
* @return
*/
int deleteUserByIds(Long[] userIds);
}
xxxxxxxxxx
package com.bjsxt.service.impl;
import ...
public class UserServiceImpl implements UserService{
private UserMapper userMapper;
private RoleMapper roleMapper;
public DataGridView listUserForPage(UserDto userDto) {
Page<User> page=new Page<>(userDto.getPageNum(), userDto.getPageSize());
QueryWrapper<User> qw=new QueryWrapper<>();
qw.like(StringUtils.isNotBlank(userDto.getUserName()),
User.COL_USER_NAME, userDto.getUserName());
qw.like(StringUtils.isNotBlank(userDto.getPhone()),
User.COL_PHONE, userDto.getPhone());
qw.eq(StringUtils.isNotBlank(userDto.getStatus()),
User.COL_STATUS, userDto.getStatus());
qw.eq(userDto.getDeptId()!=null, User.COL_DEPT_ID, userDto.getDeptId());
qw.ge(null!= userDto.getBeginTime(), User.COL_CREATE_TIME, userDto.getBeginTime());
qw.le(null!= userDto.getEndTime(), User.COL_CREATE_TIME, userDto.getEndTime());
qw.orderByAsc(User.COL_USER_ID);
this.userMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(), page.getRecords());
}
public int updateUser(UserDto userDto) {
User user=this.userMapper.selectById(userDto.getUserId());
if(null==user){
return 0;
}
BeanUtil.copyProperties(userDto,user);
//设置修改人
user.setUpdateBy(userDto.getSimpleUser().getUserName());
return this.userMapper.updateById(user);
}
public int deleteUserByIds(Long[] userIds) {
List<Long> ids = Arrays.asList(userIds);
//根据用户ids删除sys_role_user里面的数据
this.roleMapper.deleteRoleUserByUserIds(ids);
return this.userMapper.deleteBatchIds(ids);
}
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import ...
/**
* @Description:用户管理控制器
*/
"system/user") (
public class UserController {
private UserService userService;
/**
* 分页查询
*/
"listUserForPage") (
public AjaxResult listUserForPage(UserDto userDto){
DataGridView gridView = this.userService.listUserForPage(userDto);
return AjaxResult.success("查询成功",gridView.getData(),gridView.getTotal());
}
/**
* 修改
*/
"updateUser") (
title = "修改用户",businessType = BusinessType.UPDATE) (
public AjaxResult updateUser( UserDto userDto) {
userDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.userService.updateUser(userDto));
}
/**
* 删除
*/
"deleteUserByIds/{userIds}") (
title = "删除用户",businessType = BusinessType.DELETE) (
public AjaxResult deleteUserByIds( (message = "要删除的ID不能为空") Long[] userIds) {
return AjaxResult.toAjax(this.userService.deleteUserByIds(userIds));
}
}
删除用户/system/user/deleteUserByIds/{userIds}
参数名称 | 是否必须 |
---|---|
userIds | 是 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
code | int | |
msg | String |
加密工具类AppMd5Utils
xxxxxxxxxx
package com.bjsxt.utils;
import org.apache.shiro.crypto.hash.Md5Hash;
import java.util.UUID;
/**
*/
public class AppMd5Utils {
/**
* 生成盐
*/
public static String createSalt(){
return UUID.randomUUID().toString().replace("-","").toUpperCase();
}
/**
* 生成加密字符串
*/
public static String md5(String source,String salt,Integer hashIterations){
return new Md5Hash(source,salt,hashIterations).toString();
}
public static void main(String[] args) {
System.out.println(md5("907654","9ED13A792A6B438D9AC3FC1C90F2F06A",1));
}
}
修改his-common模块pom.xml文件,增加加密相关依赖
xxxxxxxxxx
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.4.2</version>
</dependency>
xxxxxxxxxx
package com.bjsxt.controller.system;
import ...
/**
* @Description:用户管理控制器
*/
"system/user") (
public class UserController {
private UserService userService;
/**
* 分页查询
*/
"listUserForPage") (
public AjaxResult listUserForPage(UserDto userDto){
DataGridView gridView = this.userService.listUserForPage(userDto);
return AjaxResult.success("查询成功",gridView.getData(),gridView.getTotal());
}
/**
* 添加
*/
"addUser") (
title = "添加用户",businessType = BusinessType.INSERT) (
public AjaxResult addUser( UserDto userDto) {
userDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.userService.addUser(userDto));
}
/**
* 修改
*/
"updateUser") (
title = "修改用户",businessType = BusinessType.UPDATE) (
public AjaxResult updateUser( UserDto userDto) {
userDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.userService.updateUser(userDto));
}
/**
* 根据ID查询一个用户信息
*/
"getUserById/{userId}") (
public AjaxResult getUserById( (message = "用户ID不能为空") Long userId) {
return AjaxResult.success(this.userService.getOne(userId));
}
/**
* 删除
*/
"deleteUserByIds/{userIds}") (
title = "删除用户",businessType = BusinessType.DELETE) (
public AjaxResult deleteUserByIds( (message = "要删除的ID不能为空") Long[] userIds) {
return AjaxResult.toAjax(this.userService.deleteUserByIds(userIds));
}
/**
* 查询所有可用的用户
*/
"selectAllUser") (
public AjaxResult selectAllUser(){
return AjaxResult.success(this.userService.getAllUsers());
}
/**
* 重置密码
*/
"resetPwd/{userIds}") (
public AjaxResult resetPwd( Long[] userIds){
if(userIds.length>0){
this.userService.resetPassWord(userIds);
return AjaxResult.success("重置成功");
}
return AjaxResult.fail("重置失败,没有选择用户");
}
}
重置密码/system/user/resetPwd/{userIds}
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
total | int | |
code | int | |
msg | String | |
data | object [] | item 类型: object |
├─ userId | int | |
├─ deptId | int | |
├─ deptName | String | |
├─ userName | String |
创建RoleMapper、RoleMapper.xml
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Role;
import com.bjsxt.dto.RoleDto;
import com.bjsxt.vo.DataGridView;
import java.util.List;
/**
* @Author:
*/
public interface RoleService {
/**
* 保存角色和用户之间的关系
* @param userId
* @param roleIds
*/
void saveRoleUser(Long userId, Long[] roleIds);
/**
* 查询所有可用角色
*
* @return
*/
List<Role> listAllRoles();
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import com.bjsxt.aspectj.annotation.Log;
import com.bjsxt.aspectj.enums.BusinessType;
import com.bjsxt.dto.RoleDto;
import com.bjsxt.service.RoleService;
import com.bjsxt.utils.ShiroSecurityUtils;
import com.bjsxt.vo.AjaxResult;
import com.bjsxt.vo.DataGridView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @Auther:
* @Description:角色控制器
*/
"system/role") (
public class RoleController {
private RoleService roleService;
/**
* 保存角色和用户之间的关系
*/
"saveRoleUser/{userId}/{roleIds}") (
public AjaxResult saveRoleUser( Long userId, Long[] roleIds){
/**
* 因为我们用的路径参数,前端可能传过来的roleIds是一个空的,但是为空的话无法匹配上面的路径
* 所以如果为空,我们让前端传一个-1过来,如果是-1说明当前角色一个权限也没有选择
*/
if(roleIds.length==1&&roleIds[0].equals(-1L)){
roleIds=new Long[]{};
}
this.roleService.saveRoleUser(userId, roleIds);
return AjaxResult.success();
}
/**
* 查询所有可用的角色
*/
"selectAllRole") (
public AjaxResult selectAllRole(){
return AjaxResult.success(this.roleService.listAllRoles());
}
}
/system/role/selectAllRole,图片
参数名称 | 是否必须 |
---|---|
userId | 是 |
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Role;
import com.bjsxt.dto.RoleDto;
import com.bjsxt.vo.DataGridView;
import java.util.List;
/**
* @Author:
*/
public interface RoleService {
/**
* 保存角色和用户之间的关系
* @param userId
* @param roleIds
*/
void saveRoleUser(Long userId, Long[] roleIds);
/**
* 查询所有可用角色
*
* @return
*/
List<Role> listAllRoles();
/**
*根据用户ID查询用户拥有的角色IDS
* @param userId
* @return
*/
List<Long> getRoleIdsByUserId(Long userId);
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import com.bjsxt.aspectj.annotation.Log;
import com.bjsxt.aspectj.enums.BusinessType;
import com.bjsxt.dto.RoleDto;
import com.bjsxt.service.RoleService;
import com.bjsxt.utils.ShiroSecurityUtils;
import com.bjsxt.vo.AjaxResult;
import com.bjsxt.vo.DataGridView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @Auther:
* @Description:角色控制器
*/
"system/role") (
public class RoleController {
private RoleService roleService;
/**
* 保存角色和用户之间的关系
*/
"saveRoleUser/{userId}/{roleIds}") (
public AjaxResult saveRoleUser( Long userId, Long[] roleIds){
/**
* 因为我们用的路径参数,前端可能传过来的roleIds是一个空的,但是为空的话无法匹配上面的路径
* 所以如果为空,我们让前端传一个-1过来,如果是-1说明当前角色一个权限也没有选择
*/
if(roleIds.length==1&&roleIds[0].equals(-1L)){
roleIds=new Long[]{};
}
this.roleService.saveRoleUser(userId, roleIds);
return AjaxResult.success();
}
/**
* 查询所有可用的角色
*/
"selectAllRole") (
public AjaxResult selectAllRole(){
return AjaxResult.success(this.roleService.listAllRoles());
}
/**
* 根据用户ID查询用户拥有的角色IDS
*/
"getRoleIdsByUserId/{userId}") (
public AjaxResult getRoleIdsByUserId( Long userId){
List<Long> roleIds=this.roleService.getRoleIdsByUserId(userId);
return AjaxResult.success(roleIds);
}
}
/system/role/getRoleIdsByUserId/{userId}
参数名称 | 是否必须 |
---|---|
userId | 是 |
roleIds | 是 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
code | int | |
msg | String |
创建roleMapper接口
增加保存用户、角色关系方法
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Role;
import com.bjsxt.dto.RoleDto;
import com.bjsxt.vo.DataGridView;
import java.util.List;
/**
* @Author:
*/
public interface RoleService {
/**
* 保存角色和用户之间的关系
* @param userId
* @param roleIds
*/
void saveRoleUser(Long userId, Long[] roleIds);
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import com.bjsxt.aspectj.annotation.Log;
import com.bjsxt.aspectj.enums.BusinessType;
import com.bjsxt.dto.RoleDto;
import com.bjsxt.service.RoleService;
import com.bjsxt.utils.ShiroSecurityUtils;
import com.bjsxt.vo.AjaxResult;
import com.bjsxt.vo.DataGridView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @Auther:
* @Description:角色控制器
*/
"system/role") (
public class RoleController {
private RoleService roleService;
/**
* 保存角色和用户之间的关系
*/
"saveRoleUser/{userId}/{roleIds}") (
public AjaxResult saveRoleUser( Long userId, Long[] roleIds){
/**
* 因为我们用的路径参数,前端可能传过来的roleIds是一个空的,但是为空的话无法匹配上面的路径
* 所以如果为空,我们让前端传一个-1过来,如果是-1说明当前角色一个权限也没有选择
*/
if(roleIds.length==1&&roleIds[0].equals(-1L)){
roleIds=new Long[]{};
}
this.roleService.saveRoleUser(userId, roleIds);
return AjaxResult.success();
}
}
/system/user/saveUserRole ,图片