| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- package space.anyi.BI.controller;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.security.crypto.password.PasswordEncoder;
- import org.springframework.util.StringUtils;
- import org.springframework.web.bind.annotation.*;
- import space.anyi.BI.entity.LoginUserDetails;
- import space.anyi.BI.entity.ResponseResult;
- import space.anyi.BI.entity.User;
- import space.anyi.BI.entity.dto.UserDTO;
- import space.anyi.BI.entity.vo.PageVO;
- import space.anyi.BI.entity.vo.UserVO;
- import space.anyi.BI.service.UserService;
- import space.anyi.BI.util.BeanCopyUtil;
- import space.anyi.BI.util.SecurityUtils;
- import javax.annotation.Resource;
- import java.util.List;
- import java.util.Objects;
- /**
- * @ProjectName: BI
- * @FileName: UserController
- * @Author: 杨逸
- * @Data:2024/11/28 19:52
- * @Description:
- */
- @RequestMapping("/user")
- @RestController
- public class UserController {
- private final static Logger log = LoggerFactory.getLogger(UserController.class);
- @Resource
- private UserService userService;
- @Resource
- private PasswordEncoder passwordEncoder;
- @PostMapping("/login")
- public ResponseResult login(@RequestBody User user){
- return userService.login(user);
- }
- @PostMapping("/register")
- public ResponseResult resister(@RequestBody User user){
- return userService.register(user);
- }
- @PreAuthorize("@ps.hasRole('用户')")
- @GetMapping("/getUserInfo")
- public ResponseResult getUserInfo(){
- LoginUserDetails loginUser = SecurityUtils.getLoginUser();
- if (Objects.isNull(loginUser)){
- return ResponseResult.errorResult(ResponseResult.AppHttpCodeEnum.NEED_LOGIN);
- }
- User user = loginUser.getUser();
- user.setUserPassword("");
- System.out.println("user = " + user);
- return ResponseResult.okResult(user);
- }
- @PreAuthorize("@ps.hasRole('管理员')")
- @GetMapping("/page")
- @ResponseBody
- public ResponseResult page(Integer currentPage,Integer pageSize,String userName,String userAccount,String userRole){
- log.info("currentPage:{},pageSize:{},userName:{},userAccount:{}",currentPage,pageSize,userName,userAccount);
- PageVO page = userService.pageByUsernameAndUseraccount(currentPage, pageSize, userName, userAccount,userRole);
- return ResponseResult.okResult(page);
- }
- @PreAuthorize("@ps.hasRole('用户')")
- @GetMapping("/{id}")
- @ResponseBody
- public ResponseResult getUserById(@PathVariable Long id){
- User user = userService.getById(id);
- UserVO userVO = BeanCopyUtil.copyBean(user, UserVO.class);
- userVO.setId(user.getId().toString());
- return ResponseResult.okResult(userVO);
- }
- @PreAuthorize("@ps.hasRole('管理员')")
- @DeleteMapping("/{ids}")
- @ResponseBody
- public ResponseResult deleteUserById(@PathVariable List<Long> ids){
- userService.removeByIds(ids);
- return ResponseResult.okResult();
- }
- @PreAuthorize("@ps.hasRole('管理员')")
- @PutMapping
- @ResponseBody
- public ResponseResult updateUser(@RequestBody UserDTO userDTO){
- User user = BeanCopyUtil.copyBean(userDTO, User.class);
- if (StringUtils.hasText(user.getUserPassword())) {
- user.setUserPassword(passwordEncoder.encode(user.getUserPassword()));
- }else{
- user.setUserPassword(passwordEncoder.encode("password"));
- }
- userService.updateById(user);
- return ResponseResult.okResult();
- }
- @PreAuthorize("@ps.hasRole('管理员')")
- @PostMapping
- @ResponseBody
- public ResponseResult addUser(@RequestBody UserDTO userDTO){
- userService.addUser(userDTO);
- return ResponseResult.okResult();
- }
- }
|