Commit 2f079c5e authored by 黎博's avatar 黎博

优化

parent 0584c7e7
......@@ -14,16 +14,31 @@ public class RoleController {
@Autowired
RoleService roleService;
/**
* 新增角色
* @param role 角色实体
* @return
*/
@PostMapping("/add")
public JsonResult addRole(@RequestBody Role role) {
return JsonResult.buildSuccessResult(roleService.save(role));
}
/**
* 编辑角色
* @param role 角色实体
* @return
*/
@PostMapping("/edit")
public JsonResult editRole(@RequestBody Role role) {
return JsonResult.buildSuccessResult(roleService.saveOrUpdate(role));
}
/**
* 删除角色
* @param roleId 角色id
* @return
*/
@PostMapping("/delete")
public JsonResult delRole(Integer roleId) {
return JsonResult.buildSuccessResult(roleService.removeById(roleId));
......
package cn.qg.holmes.controller.auth;
import cn.qg.holmes.common.JsonResult;
import cn.qg.holmes.entity.auth.RolePermission;
import cn.qg.holmes.service.auth.RolePermissionService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@CrossOrigin
@RestController
@RequestMapping("/role/permission")
public class RolePermissionController {
@Autowired
RolePermissionService rolePermissionService;
/**
* 新增角色权限
* @param roleId 角色id
* @param permissionIdList 权限id列表
* @return
*/
@PostMapping("/add")
public JsonResult addRolePermission(Integer roleId, List<Integer> permissionIdList) {
List<RolePermission> rolePermissionList = new ArrayList<>();
permissionIdList.forEach(permissionId -> {
RolePermission rolePermission = new RolePermission();
rolePermission.setRoleId(roleId);
rolePermission.setPermissionId(permissionId);
rolePermissionList.add(rolePermission);
});
return JsonResult.buildSuccessResult(rolePermissionService.saveBatch(rolePermissionList));
}
/**
* 编辑角色权限
* @param rolePermissionList 角色权限列表
* @return
*/
@PostMapping("/edit")
public JsonResult editRolePermission(List<RolePermission> rolePermissionList) {
// todo 角色权限编辑
return JsonResult.buildSuccessResult(rolePermissionService.saveOrUpdateBatch(rolePermissionList));
}
/**
* 删除角色权限
* @param rolePermissionId 角色权限
* @return
*/
@GetMapping("/del")
public JsonResult delRolePermission(Integer rolePermissionId) {
return JsonResult.buildSuccessResult(rolePermissionService.removeById(rolePermissionId));
}
}
......@@ -5,7 +5,9 @@ import cn.qg.holmes.entity.auth.User;
import cn.qg.holmes.entity.auth.UserInfoVo;
import cn.qg.holmes.service.auth.LoginService;
import cn.qg.holmes.service.auth.TokenService;
import cn.qg.holmes.service.auth.UserRoleService;
import cn.qg.holmes.service.auth.UserService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.*;
......@@ -15,19 +17,28 @@ import java.util.HashMap;
import java.util.Map;
@CrossOrigin
@RequestMapping("/user")
@RestController
@RequestMapping("/auth")
public class LoginController {
public class UserController {
@Autowired
LoginService loginService;
UserService userService;
@Autowired
TokenService tokenService;
UserRoleService userRoleService;
@Autowired
UserService userService;
LoginService loginService;
@Autowired
TokenService tokenService;
/**
* 登录,鉴权走ldap
* @param username 用户名
* @param password 密码
* @return
*/
@PostMapping("/login")
public JsonResult login(String username, String password) {
boolean loginResult = loginService.login(username, password);
......@@ -50,15 +61,41 @@ public class LoginController {
return JsonResult.buildSuccessResult(map);
}
/**
* 登出
* @param token token
* @return
*/
@PostMapping("/logout")
public JsonResult logout(String token) {
tokenService.invalidateToken(token);
return JsonResult.buildSuccessResult("登出成功!", true);
}
/**
* 获取用户信息
* @param username 用户名
* @return
*/
@GetMapping("/info")
public JsonResult getInfo(String username) {
UserInfoVo userInfoVo = userService.getUserInfoByUsername(username);
return JsonResult.buildSuccessResult(userInfoVo);
}
/**
* 获取用户信息列表
* @param pageNum 第几页
* @param pageSize 每页多少个
* @return
*/
@GetMapping("/list")
public JsonResult getUserList(@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize) {
IPage<User> userIPage = userService.getUserInfoList(pageNum, pageSize);
Map<String, Object> map = new HashMap<>();
map.put("total", userIPage.getTotal());
map.put("list", userIPage.getRecords());
return JsonResult.buildSuccessResult(map);
}
}
package cn.qg.holmes.controller.auth;
import cn.qg.holmes.common.JsonResult;
import cn.qg.holmes.entity.auth.UserRole;
import cn.qg.holmes.service.auth.UserRoleService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -16,8 +18,41 @@ public class UserRoleController {
@Autowired
UserRoleService userRoleService;
/**
* 用户新增角色
* @param userId 用户id
* @param roleId 角色id
* @return
*/
@PostMapping("/add")
public JsonResult addUserRole() {
return null;
public JsonResult addUserRole(Integer userId, Integer roleId) {
QueryWrapper<UserRole> userRoleQueryWrapper = new QueryWrapper<>();
userRoleQueryWrapper.eq("user_id", userId);
userRoleQueryWrapper.eq("role_id", roleId);
if (userRoleService.getOne(userRoleQueryWrapper) != null) {
return JsonResult.buildErrorStateResult("用户角色已存在!", false);
}
userRoleQueryWrapper.clear();
userRoleQueryWrapper.eq("user_id", userId);
UserRole userRole = userRoleService.getOne(userRoleQueryWrapper);
if (userRole == null) {
UserRole newUserRole = new UserRole();
newUserRole.setUserId(userId);
newUserRole.setRoleId(roleId);
return JsonResult.buildSuccessResult(userRoleService.save(newUserRole));
} else {
userRole.setRoleId(roleId);
return JsonResult.buildSuccessResult(userRoleService.saveOrUpdate(userRole));
}
}
/**
* 编辑用户角色权限
* @param userRole 用户角色实体
* @return
*/
@PostMapping("/edit")
public JsonResult editUserRole(UserRole userRole) {
return JsonResult.buildSuccessResult(userRoleService.updateById(userRole));
}
}
package cn.qg.holmes.entity.auth;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
......@@ -11,10 +12,20 @@ import java.util.Date;
public class User {
@TableId(type = IdType.AUTO)
private Integer id;
private String username;
private String password;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@TableField(exist = false)
private Integer roleId;
@TableField(exist = false)
private String roleName;
}
......@@ -2,6 +2,9 @@ package cn.qg.holmes.mapper.auth;
import cn.qg.holmes.entity.auth.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
public interface UserMapper extends BaseMapper<User> {
IPage<User> getUserInfoList(IPage<User> page);
}
......@@ -2,6 +2,7 @@ package cn.qg.holmes.service.auth;
import cn.qg.holmes.entity.auth.User;
import cn.qg.holmes.entity.auth.UserInfoVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
public interface UserService extends IService<User> {
......@@ -9,4 +10,6 @@ public interface UserService extends IService<User> {
User getUserByUsername(String username);
UserInfoVo getUserInfoByUsername(String username);
IPage<User> getUserInfoList(Integer pageNum, Integer pageSize);
}
......@@ -7,6 +7,8 @@ import cn.qg.holmes.service.auth.RolePermissionService;
import cn.qg.holmes.service.auth.UserRoleService;
import cn.qg.holmes.service.auth.UserService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -33,6 +35,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
return userMapper.selectOne(userQueryWrapper);
}
/**
* 根据用户名获取用户信息
* @param username
* @return
*/
@Override
public UserInfoVo getUserInfoByUsername(String username) {
UserInfoVo userInfoVo = new UserInfoVo();
......@@ -49,4 +56,17 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
userInfoVo.setMenuList(menuCodeSet);
return userInfoVo;
}
/**
* 获取用户信息列表
* @param pageNum
* @param pageSize
* @return
*/
@Override
public IPage<User> getUserInfoList(Integer pageNum, Integer pageSize) {
IPage<User> page = new Page<>(pageNum, pageSize);
return userMapper.getUserInfoList(page);
}
}
......@@ -2,4 +2,10 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.qg.holmes.mapper.auth.UserMapper">
<select id="getUserInfoList" resultType="cn.qg.holmes.entity.auth.User">
SELECT u.*, r.`id` as roleId, r.`role_name` as roleName FROM `user` u
INNER JOIN `role` r
INNER JOIN `user_role` ur
ON u.`id` = ur.`user_id` AND r.`id` = ur.`role_id`
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment