package com.book.manager.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.book.manager.entity.Users;
import com.book.manager.service.UserService;
import com.book.manager.util.R;
import com.book.manager.util.consts.Constants;
import com.book.manager.util.consts.ConvertUtil;
import com.book.manager.util.http.CodeEnum;
import com.book.manager.util.vo.PageOut;
import com.book.manager.util.ro.PageIn;
import com.book.manager.util.vo.UserOut;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.omg.CORBA.CODESET_INCOMPATIBLE;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @Description 用户管理
* @Date 2020/7/14 16:35
* @Author by 懒羊羊
*/
@Api(tags = "用户管理")
@RestController
@RequestMapping("/user")
public class UsersController {
@Autowired
private UserService userService;
@ApiOperation("用户列表")
@PostMapping("/list")
public R getUsers(@RequestBody PageIn pageIn) {
if (pageIn == null) {
return R.fail(CodeEnum.PARAM_ERROR);
}
// 封装分页出参对象
PageInfo<Users> userList = userService.getUserList(pageIn);
PageOut pageOut = new PageOut();
pageOut.setCurrPage(userList.getPageNum());
pageOut.setPageSize(userList.getPageSize());
pageOut.setTotal((int) userList.getTotal());
List<UserOut> outs = new ArrayList<>();
for (Users users : userList.getList()) {
UserOut out = new UserOut();
BeanUtils.copyProperties(users,out);
out.setIdent(ConvertUtil.identStr(users.getIdentity()));
out.setBirth(DateUtil.format(users.getBirthday(),Constants.DATE_FORMAT));
outs.add(out);
}
pageOut.setList(outs);
return R.success(CodeEnum.SUCCESS,pageOut);
}
/**
* 添加读者操作
* @param users
* @return
*/
@ApiOperation("添加读者")
@ResponseBody
@PostMapping("/addReader")
public R addReader(Users users) {
if (users == null) {
return R.fail(CodeEnum.PARAM_ERROR);
}
if(StringUtils.isEmpty(users.getAvatar())) {
return R.fail(CodeEnum.USER_HEAD_PIC_ERROR);
}
if(StringUtils.isEmpty(users.getUsername())) {
return R.fail(CodeEnum.USERNAME_NOT_EXIST_ERROR);
}
if(StringUtils.isEmpty(users.getNickname())) {
return R.fail(CodeEnum.NICKNAME_NOT_EXIST_ERROR);
}
if(StringUtils.isEmpty(users.getTel())) {
return R.fail(CodeEnum.USER_MOBILE_NOT_EXIST_ERROR);
}
if(StringUtils.isEmpty(users.getEmail())) {
return R.fail(CodeEnum.USER_EMAIL_NOT_EXIST_ERROR);
}
Users byUsername = userService.findByUsername(users.getUsername());
if(byUsername!=null){
return R.fail(CodeEnum.USER_NAME_IS_EXIST_ERROR);
}
// 读者默认是普通用户
users.setIsAdmin(1);
Users users1 = userService.addUser(users);
if(users1==null){
return R.fail(CodeEnum.USER_ADD_ERROR);
}
return R.success(CodeEnum.SUCCESS);
}
/**
* 编辑用户操作
* @param users
* @return
*/
@ApiOperation("编辑用户")
@ResponseBody
@PostMapping("/edit")
public R modifyUsers(Users users) {
if (users == null) {
return R.fail(CodeEnum.PARAM_ERROR);
}
if(StringUtils.isEmpty(users.getAvatar())) {
return R.fail(CodeEnum.USER_HEAD_PIC_ERROR);
}
if(StringUtils.isEmpty(users.getUsername())) {
return R.fail(CodeEnum.USERNAME_NOT_EXIST_ERROR);
}
if(StringUtils.isEmpty(users.getNickname())) {
return R.fail(CodeEnum.NICKNAME_NOT_EXIST_ERROR);
}
if(StringUtils.isEmpty(users.getTel())) {
return R.fail(CodeEnum.USER_MOBILE_NOT_EXIST_ERROR);
}
if(StringUtils.isEmpty(users.getEmail())) {
return R.fail(CodeEnum.USER_EMAIL_NOT_EXIST_ERROR);
}
Users byUsername = userService.findByUsername(users.getUsername());
if(byUsername!=null){
if(!byUsername.getId().equals(users.getId())){
return R.fail(CodeEnum.USER_NAME_IS_EXIST_ERROR);
}
}
if(!userService.updateUser(users)){
return R.fail(CodeEnum.USER_EDIT_ERROR);
}
return R.success(CodeEnum.SUCCESS);
}
@ApiOperation("用户详情")
@GetMapping("/detail")
public R userDetail(Integer id) {
Users user = userService.findUserById(id);
if (user!=null) {
UserOut out = new UserOut();
BeanUtils.copyProperties(user,out);
out.setBirth(DateUtil.format(user.getBirthday(),Constants.DATE_FORMAT));
out.setIdent(ConvertUtil.identStr(user.getIdentity()));
return R.success(CodeEnum.SUCCESS,out);
}
return R.fail(CodeEnum.NOT_FOUND);
}
@ApiOperation("删除用户")
@GetMapping("/delete")
public R delUsers(Integer id) {
userService.deleteUser(id);
return R.success(CodeEnum.SUCCESS);
}
@ApiOperation("获取当前用户登陆信息")
@GetMapping("/currUser")
public R getCurrUser() {
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
if (principal!=null) {
Map<String,Object> map = BeanUtil.beanToMap(principal);
String username = (String) map.get("username");
if (StrUtil.isNotBlank(username)) {
Users users = userService.findByUsername(username);
UserOut out = new UserOut();
BeanUtils.copyProperties(users,out);
out.setBirth(DateUtil.format(users.getBirthday(),Constants.DATE_FORMAT));
Integer identity = users.getIdentity();
String ident = "";
if (identity == Constants.STUDENT) {
ident = Constants.STU_STR;
}else if (identity == Constants.TEACHER) {
ident = Constants.TEA_STR;
}else if (identity == Constants.OTHER) {
ident = Constants.OTHER_STR;
}else if (identity == Constants.ADMIN) {
ident = Constants.ADMIN_STR;
}
out.setIdent(ident);
return R.success(CodeEnum.SUCCESS,out);
}
}
return R.fail(CodeEnum.USER_NOT_FOUND);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Java项目:图书借阅管理系统(java+SpringBoot+Mybatis+Html+maven+Mysql)
共296个文件
png:50个
jpg:38个
class:36个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 169 浏览量
2022-04-28
08:30:42
上传
评论 1
收藏 4.47MB RAR 举报
温馨提示
管理员和读者角色功能有:图书管理、借阅管理、读者管理。页面使用的是原生的Jquery,没有使用到Thymeleaf模板引擎,如果想学习的话可以下载下来,可以继续在上面加功能,比如班级管理、学生管理、学院管理、图书馆管理、借阅图书报表等功能。 运行环境:jdk1.8、mysql5.x、maven3.5\3.6、idea\eclipse。
资源推荐
资源详情
资源评论
收起资源包目录
Java项目:图书借阅管理系统(java+SpringBoot+Mybatis+Html+maven+Mysql) (296个子文件)
UsersController.class 7KB
WebSecurityConfig.class 6KB
BorrowController.class 5KB
UserService.class 5KB
BookService.class 5KB
BorrowService.class 5KB
BookController.class 4KB
CodeEnum.class 4KB
UploadController.class 4KB
Users.class 4KB
Book.class 4KB
BookOut.class 3KB
SwaggerConfiguration.class 2KB
R.class 2KB
Borrow.class 2KB
PhotoController.class 2KB
RouteController.class 2KB
PageOut.class 1KB
UsersRepository.class 1KB
UserCache.class 1KB
PageIn.class 1KB
BackOut.class 1KB
BorrowRepository.class 1KB
BorrowMapper.class 982B
LoginInterceptor.class 976B
UserOut.class 945B
Constants.class 940B
ManagerApplication.class 873B
WebConfig.class 866B
StringUtil.class 690B
ConvertUtil.class 650B
LoginController.class 546B
UsersMapper.class 520B
BookMapper.class 520B
BookRepository.class 500B
RetBookIn.class 494B
common.css 47KB
common.css 47KB
common.css 23KB
common.css 23KB
icomoon.css 15KB
icomoon.css 15KB
icomoon.css 15KB
icomoon.css 15KB
tina.css 14KB
tina.css 14KB
layer.css 14KB
layer.css 14KB
animate.css 12KB
animate.css 12KB
animate.css 12KB
animate.css 12KB
layer.css 5KB
layer.css 5KB
tina.css 5KB
tina.css 5KB
highlight.css 1KB
highlight.css 1KB
icomoon.eot 49KB
icomoon.eot 49KB
icomoon.eot 49KB
icomoon.eot 49KB
loading_screen.gif 48KB
loading_screen.gif 48KB
javaex-process.gif 16KB
javaex-process.gif 16KB
loading.gif 15KB
loading.gif 15KB
loading-white.gif 9KB
loading-white.gif 9KB
loading-circle.gif 6KB
loading-circle.gif 6KB
loading-0.gif 6KB
loading-0.gif 6KB
con-loading.gif 4KB
con-loading.gif 4KB
loading.gif 3KB
loading.gif 3KB
javaex-loading.gif 2KB
javaex-loading.gif 2KB
loading-2.gif 2KB
loading-2.gif 2KB
loading-1.gif 701B
loading-1.gif 701B
grey.gif 43B
grey.gif 43B
edit.html 11KB
edit.html 11KB
borrow.html 11KB
borrow.html 11KB
edit.html 9KB
edit.html 9KB
add.html 9KB
add.html 9KB
add.html 8KB
add.html 8KB
list.html 7KB
list.html 7KB
list.html 6KB
list.html 6KB
共 296 条
- 1
- 2
- 3
资源评论
qq1334611189
- 粉丝: 7240
- 资源: 420
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功