123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- package com.gihon.controller;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.gihon.common.web.response.PageBean;
- import com.gihon.common.web.response.PageResponse;
- import com.gihon.common.web.response.Response;
- import com.gihon.common.web.response.ResponseStatus;
- import com.gihon.configSecurity.encoder.MyPasswordEncoder;
- import com.gihon.entity.User;
- import com.gihon.service.UserService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- /**
- * 用户控制器
- *
- */
- @RestController
- @RequestMapping("/user")
- @Api(value = "用户接口", tags = "用户接口")
- public class UserController {
- @Autowired
- private UserService userService;
- /**
- * 主要功能:分页查询用户列表
- * @data 2021/2/19 9:45
- * @author: dl
- * @description 分页查看用户
- * @param page 页数
- * @param rows 页小大
- * @return com.gihon.common.http.Response
- */
- //@Secured(value = {"ROLE_管理员", "ROLE_超级管理员"})
- @ApiOperation("分页查询用户列表")
- @GetMapping("/getUsersByPage")
- public PageResponse<PageBean<User>> getUsersByPage(
- @RequestParam(required = false,defaultValue = "1") int page,
- @RequestParam(required = false, defaultValue = "10") int rows) {
- PageResponse byPage = userService.getByPage(page, rows);
- return byPage;
- }
- /**
- * 主要功能:查询 用户信息by用户ID
- * @data 2021/2/19 10:05
- * @author: dl
- * @description 根据用户主键
- * 查找用户信息
- * @param id
- * @return com.gihon.common.http.Response
- *
- */
- @ApiOperation("查询 用户信息by用户ID")
- @GetMapping("/userByID")
- public Response userFindOne(@RequestParam Long id){
- User userInfo = userService.getById(id);
- return Response.ok(userInfo);
- }
- /**
- * 主要功能:
- * @description 根据用户id 查找对应权限
- * @author: dl
- * @data 2021/2/20 14:24
- * @param id 用户id
- * @return com.gihon.common.http.Response<java.util.List<java.lang.String>>
- */
- @ApiOperation("根据用户id 查找对应权限")
- @GetMapping("/getPermissionsByUserId")
- public Response<List<String>> getPermissionsByUserId(Long id){
- List<String> permissions = userService.findPermissionsByUserId(id);
- return Response.ok(permissions);
- }
- /**
- * 主要功能:增加用户
- * @data 2021/2/19 9:48
- * @author: dl
- * @description 根据输入用户信息 增加数据
- * 不允许增加重复用户
- * 使用自定义加密器加密用户输入密码后 存储
- *
- * @param user
- * @return com.gihon.common.http.Response
- *
- */
- //@Secured(value = {"addUser"})
- @ApiOperation("增加用户")
- @PostMapping("/addUser")
- public Response<User> addUser(@RequestBody User user) {
- Response<User> addUser = userService.addUser(user);
- return Response.ok();
- }
- //增加用户角色
- /**
- * 主要功能:
- * @description 用户ById 增加 角色ById
- * @author: dl
- * @data 2021/2/23 15:12
- * @param user
- * @param RoleIds
- * @return com.gihon.common.web.response.Response
- */
- @ApiOperation("用户ById")
- @PostMapping("/addRole4User")
- @ResponseBody
- public Response addRole4User(@RequestBody User user,@RequestParam("RoleIds") Long[] RoleIds){
- Response response = userService.addRole4User(user,RoleIds);
- return Response.ok();
- }
- /**
- * 主要功能:删除用户
- * @data 2021/2/19 9:50
- * @author: dl
- * @description 根据用户主键
- * 删除用户信息
- * @param id
- * @return com.gihon.common.http.Response
- */
- @ApiOperation("删除用户")
- @Transactional(rollbackFor = Exception.class)
- @GetMapping(value = "/deleteUser")
- public Response deleteUser(@RequestParam Long id) {
- boolean b = userService.removeById(id);
- //添加数据失败
- if (!b) {
- return Response.error(ResponseStatus.MAPPER_ERROR,"删除用户失败");
- }
- return Response.ok();
- }
- //@PreAuthorize("hasAuthority('updateUser')")
- @ApiOperation("修改密码")
- @Transactional(rollbackFor = Exception.class)
- @PostMapping(value = "/setUser")
- /**
- * 主要功能:修改密码
- * @data 2021/2/19 9:51
- * @author: dl
- * @description 根据 用户名密码
- * 修改用户密码
- * @param username
- * @param password
- * @return com.gihon.common.http.Response<com.gihon.user.entity.User>
- *
- */
- public Response<User> modifyUser(String username, String password) {
- //修改新密码
- MyPasswordEncoder encoder = new MyPasswordEncoder();
- User user = User.builder().username(username).build();
- user.setPassword(encoder.encode(password));
- //根据用户名
- boolean update = userService.update(user, new QueryWrapper<User>()
- .eq("username", user.getUsername())
- );
- //修改结果
- if (!update) {
- return Response.error(ResponseStatus.MAPPER_ERROR,"修改密码访问数据库失败");
- }
- return Response.ok();
- }
- }
|