package com.tianbo.warehouse.controller; import com.github.pagehelper.PageInfo; import com.tianbo.warehouse.annotation.LogAnnotation; import com.tianbo.warehouse.annotation.RequestRequire; import com.tianbo.warehouse.annotation.UserPasswordMd5; import com.tianbo.warehouse.controller.response.ResultJson; import com.tianbo.warehouse.model.USERS; import com.tianbo.warehouse.model.UserRole; import com.tianbo.warehouse.service.UserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; @RestController @RequestMapping("/user") @Api("swaggerDemoController相关的api") public class UserController { @Autowired UserService userService; @ApiOperation(value = "查询用户列表及信息", notes = "查询用户列表及单个用户信息") @ApiImplicitParams({@ApiImplicitParam(name = "pageNum", value = "分页-当前页", required = false, dataType = "int",defaultValue = "1"), @ApiImplicitParam(name = "pageSize", value = "分页-每页显示多少条", required = false, dataType = "int",defaultValue = "5")}) @RequestRequire @GetMapping("/list") public ResultJson<PageInfo> list(@RequestParam(value = "pageNum",required = false,defaultValue = "1") int pageNum, @RequestParam(value = "pageSize",required = false,defaultValue = "5") int pageSize, @RequestParam(value = "userName",required = false) String username, @RequestParam(value = "realName",required = false) String realname) { PageInfo<USERS> usersPageInfo = userService.selectAllUser(pageNum,pageSize, username, realname); return new ResultJson("200","success",usersPageInfo); } public String getCurrentUser(){ //通过session获取当前登录的用户信息 UserDetails userDetails =(UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); return userDetails.getUsername(); } @LogAnnotation(moduleName = "用户管理",operate = "用户编辑") @PutMapping("/edit") public ResultJson updateUserById(@RequestBody @Valid USERS user){ int i = userService.updateByPrimaryKeySelective(user); ResultJson resultJson = new ResultJson(); return i==1 ? new ResultJson("200","success") :new ResultJson("500","update faild"); } @LogAnnotation(moduleName = "用户管理",operate = "用户密码修改") @UserPasswordMd5 @PutMapping("/password") public ResultJson updateUserPassById(@RequestBody USERS user){ int i = userService.updateByPrimaryKeySelective(user); return i==1 ? new ResultJson("200","success") :new ResultJson("500","update faild"); } @UserPasswordMd5 @LogAnnotation(moduleName = "用户管理",operate = "用户添加") @PostMapping("/add") public ResultJson addUser(@RequestBody @Valid USERS user, HttpServletRequest request, HttpServletResponse response, BindingResult bindingResult){ if (bindingResult.hasErrors()){ String s = bindingResult.toString(); } int i = userService.insertSelective(user); ResultJson resultJson = new ResultJson(); return i==1 ? new ResultJson("200","新建账户成功") :new ResultJson("500","insert faild"); } @LogAnnotation(moduleName = "用户管理",operate = "用户删除") @DeleteMapping("/del") public ResultJson delUser(@RequestBody USERS user,HttpServletRequest request,HttpServletResponse response){ //String username = getusername(); int i = userService.deleteByPrimaryKey(user.getUserId()); ResultJson resultJson = new ResultJson(); return i==1 ? new ResultJson("200","删除账户成功") :new ResultJson("500","delete faild"); } @PutMapping("/roleset") public ResultJson roleSet(@RequestBody UserRole userRole){ int i = userService.setUserRole(userRole); return i==1 ? new ResultJson("200","设置角色成功") :new ResultJson("500","设置角色失败"); } }