package com.yuanlrc.base.controller.admin;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import com.yuanlrc.base.config.AppConfig;
import com.yuanlrc.base.entity.admin.OrderAuth;
import com.yuanlrc.base.service.admin.OrderAuthService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.yuanlrc.base.bean.CodeMsg;
import com.yuanlrc.base.bean.PageBean;
import com.yuanlrc.base.bean.Result;
import com.yuanlrc.base.constant.SessionConstant;
import com.yuanlrc.base.entity.admin.OperaterLog;
import com.yuanlrc.base.entity.admin.Role;
import com.yuanlrc.base.entity.admin.User;
import com.yuanlrc.base.listener.SessionListener;
import com.yuanlrc.base.service.admin.DatabaseBakService;
import com.yuanlrc.base.service.admin.OperaterLogService;
import com.yuanlrc.base.service.admin.UserService;
import com.yuanlrc.base.util.SessionUtil;
import com.yuanlrc.base.util.StringUtil;
import com.yuanlrc.base.util.ValidateEntityUtil;
/**
* 系统控制器
* @author Administrator
*
*/
@RequestMapping("/system")
@Controller
public class SystemController {
@Autowired
private OperaterLogService operaterLogService;
@Autowired
private UserService userService;
@Autowired
private DatabaseBakService databaseBakService;
@Autowired
private OrderAuthService orderAuthService;
@Value("${show.tips.text}")
private String showTipsText;
@Value("${show.tips.url.text}")
private String showTipsUrlText;
@Value("${show.tips.btn.text}")
private String showTipsBtnText;
@Value("${show.tips.url}")
private String showTipsUtl;
private Logger log = LoggerFactory.getLogger(SystemController.class);
/**
* 登录页面
* @param
* @param model
* @return
*/
@RequestMapping(value="/login",method=RequestMethod.GET)
public String login(Model model){
return "admin/system/login";
}
/**
* 用户登录提交表单处理方法
* @param request
* @param user
* @param cpacha
* @return
*/
@RequestMapping(value="/login",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> login(HttpServletRequest request,User user,String cpacha){
if(user == null){
return Result.error(CodeMsg.DATA_ERROR);
}
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(user);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
//表示实体信息合法,开始验证验证码是否为空
if(StringUtils.isEmpty(cpacha)){
return Result.error(CodeMsg.CPACHA_EMPTY);
}
//说明验证码不为空,从session里获取验证码
Object attribute = request.getSession().getAttribute("admin_login");
if(attribute == null){
return Result.error(CodeMsg.SESSION_EXPIRED);
}
//表示session未失效,进一步判断用户填写的验证码是否正确
if(!cpacha.equalsIgnoreCase(attribute.toString())){
return Result.error(CodeMsg.CPACHA_ERROR);
}
//表示验证码正确,开始查询数据库,检验密码是否正确
User findByUsername = userService.findByUsername(user.getUsername());
//判断是否为空
if(findByUsername == null){
return Result.error(CodeMsg.ADMIN_USERNAME_NO_EXIST);
}
//表示用户存在,进一步对比密码是否正确
if(!findByUsername.getPassword().equals(user.getPassword())){
return Result.error(CodeMsg.ADMIN_PASSWORD_ERROR);
}
//表示密码正确,接下来判断用户状态是否可用
if(findByUsername.getStatus() == User.ADMIN_USER_STATUS_UNABLE){
return Result.error(CodeMsg.ADMIN_USER_UNABLE);
}
//检查用户所属角色状态是否可用
if(findByUsername.getRole() == null || findByUsername.getRole().getStatus() == Role.ADMIN_ROLE_STATUS_UNABLE){
return Result.error(CodeMsg.ADMIN_USER_ROLE_UNABLE);
}
//检查用户所属角色的权限是否存在
if(findByUsername.getRole().getAuthorities() == null || findByUsername.getRole().getAuthorities().size() == 0){
return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY);
}
//检查一切符合,可以登录,将用户信息存放至session
request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, findByUsername);
//销毁session中的验证码
request.getSession().setAttribute("admin_login", null);
//将登陆记录写入日志库
operaterLogService.add("用户【"+user.getUsername()+"】于【" + StringUtil.getFormatterDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "】登录系统!");
log.info("用户成功登录,user = " + findByUsername);
return Result.success(true);
}
/**
* 登录成功后的系统主页
* @param model
* @return
*/
@RequestMapping(value="/index")
public String index(Model model){
model.addAttribute("operatorLogs", operaterLogService.findLastestLog(10));
model.addAttribute("userTotal", userService.total());
model.addAttribute("operatorLogTotal", operaterLogService.total());
model.addAttribute("databaseBackupTotal", databaseBakService.total());
model.addAttribute("onlineUserTotal", SessionListener.onlineUserCount);
model.addAttribute("showTipsText", showTipsText);
model.addAttribute("showTipsUrlText", showTipsUrlText);
model.addAttribute("showTipsUtl", showTipsUtl);
model.addAttribute("showTipsBtnText", showTipsBtnText);
return "admin/system/index";
}
/**
* 注销登录
* @return
*/
@RequestMapping(value="/logout")
public String logout(){
User loginedUser = SessionUtil.getLoginedUser();
if(loginedUser != null){
SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, null);
}
return "redirect:login";
}
/**
* 无权限提示页面
* @return
*/
@RequestMapping(value="/no_right")
public String noRight(){
return "admin/system/no_right";
}
/**
* 修改用户个人信息
* @return
*/
@RequestMapping(value="/update_userinfo",method=RequestMethod.GET)
public String updateUserInfo(){
return "admin/system/update_userinfo";
}
/**
* 修改个人信息保存
* @param user
* @return
*/
@RequestMapping(value="/update_userinfo",method=RequestMethod.POST)
@ResponseBody
public Result updateUserInfo(User user,Model model){
User loginedUser = SessionUtil.getLoginedUser();
loginedUser.setEmail(user.getEmail());
loginedUser.setNickName(user.getNickName());
loginedUser.setMobile(user.getMobile());
loginedUser.setHeadPic(user.getHeadPic());
//首先保存到数据库
User save = userService.save(loginedUser);
//更新session里的值
SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);
return Result.success(save);
}
/**
* 修改密码页面
* @return
*/
@RequestMapping(value="/update_pwd",method=RequestMethod.GET)
public String updatePwd(){
return "admin/system/update_pwd";
}
/**
* 修改密码表单提交
* @param oldPwd
* @param newPwd
* @return
*/
@RequestMapping(value="/update_pwd",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> updatePwd(@RequestParam(name="oldPwd",required=true)String oldPwd,
@RequestParam(name="newPwd",required=true)String newPwd
){
User loginedUser = SessionUtil.getLoginedUser();
if(!loginedUser.getPassword().equals(oldPwd)){
return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_ERROR);
}
if(StringUtils.is
没有合适的资源?快使用搜索试试~ 我知道了~
基于javaweb图书馆座位预约管理系统的设计与实现.rar(论文+项目源码)
共868个文件
js:346个
ftl:98个
java:92个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 37 下载量 37 浏览量
2022-04-08
19:50:26
上传
评论 34
收藏 53.11MB RAR 举报
温馨提示
摘 要 I 第一章 绪论 2 1.1 课题背景 2 1.2 课题目的和意义 3 第二章 相关技术介绍 4 2.1相关技术介绍 4 2.1.2 Java开发语言 4 2.1.3 Maven版本管理 5 2.1.4 MySQL数据库 5 2.1.5 Spring框架 5 2.1.6 Tomcat服务器 6 2.1.7 Idea开发工具 6 2.2环境开发条件 8 第三章 系统需求分析 9 3.1 功能需求分析 9 3.2 非功能需求分析 12 3.3 可行性分析 13 3.3.1 经济可行性 13 3.3.2 技术可行性 13 3.3.3 操作可行性 14 第四章 系统设计 15 4.1 系统架构 15 4.2 系统功能模块设计 4.3 系统工作流程设计 16 4.4 数据库设计 17 4.4.1 数据库概念设计 17 4.4.2 数据库逻辑设计 第五章 图书馆预约占座系统实现 5.1 关键代码 25 5.2 学生模块 33 5.2.1 座位管理 33 5.2.2 阅览室 34 5.2.3 座位预约记录 34 5.2.4 信用积分记录页面 35 5.3 教师模块 35 ..........
资源推荐
资源详情
资源评论
收起资源包目录
基于javaweb图书馆座位预约管理系统的设计与实现.rar(论文+项目源码) (868个子文件)
SeatController.class 11KB
SystemController.class 11KB
SeatService.class 8KB
StringUtil.class 8KB
CpachaUtil.class 7KB
CodeMsg.class 7KB
StudentService.class 7KB
RoleController.class 6KB
ClazzController.class 6KB
TeacherService.class 6KB
LogIntegralController.class 6KB
DatabaseBakService.class 6KB
UserController.class 6KB
MenuController.class 6KB
ReadRoomController.class 5KB
LogIntegralService.class 5KB
TeacherController.class 5KB
SeatOrderService.class 5KB
OperaterLogService.class 5KB
StudentController.class 5KB
SeatOrder.class 5KB
ReadRoomService.class 5KB
SeatStatisticsService.class 5KB
ReadRoomTypeController.class 5KB
ClazzService.class 4KB
UserService.class 4KB
DatabaseBakController.class 4KB
Student.class 4KB
User.class 4KB
LoginInterceptor.class 4KB
RoleService.class 4KB
UploadController.class 4KB
HttpUtil.class 4KB
ReadingRoom.class 3KB
Teacher.class 3KB
Menu.class 3KB
DESUtil.class 3KB
Clazz.class 3KB
LogIntegral.class 3KB
MenuUtil.class 3KB
AuthorityInterceptor.class 3KB
Seat.class 3KB
PageBean.class 3KB
CpachaController.class 3KB
ValidateEntityUtil.class 3KB
Statistics.class 3KB
Role.class 3KB
SeatDTO.class 3KB
ViolateStatisticsService.class 3KB
BackUpSchedule.class 2KB
Result.class 2KB
ReadingType.class 2KB
ReadRoomTypeService.class 2KB
PhotoController.class 2KB
TeacherType.class 2KB
OrderAuth.class 2KB
DateUtil.class 2KB
SessionUtil.class 2KB
WebConfig.class 2KB
OrderAuthService.class 2KB
BaseEntity.class 2KB
TimeEnum.class 2KB
SeatOrderDao.class 2KB
SeatStatisticsController.class 2KB
AppConfig.class 2KB
DatabaseBak.class 2KB
MenuService.class 1KB
SessionListener.class 1KB
RuntimeConstant.class 1KB
OperaterLog.class 1KB
ViolateStatisticsController.class 1KB
ReadRoomDao.class 1KB
SiteConfig.class 1KB
OperaterLogDao.class 1KB
ValidateEntity.class 917B
ReadRoomTypeDao.class 916B
App.class 915B
SeatDao.class 907B
ClazzDao.class 856B
UserDao.class 852B
LogIntegralDao.class 847B
TeacherTypeService.class 816B
DatabaseBakDao.class 783B
SeatStatisticsDao.class 777B
RoleDao.class 748B
MenuDao.class 748B
ViolateStatisticsDao.class 742B
StudentDao.class 551B
SessionConstant.class 470B
TeacherTypeDao.class 440B
OrderAuthDao.class 434B
TeacherDao.class 428B
.classpath 1018B
bootstrap.min.css 106KB
bootstrap.min.css 106KB
style.min.css 105KB
style.min.css 105KB
materialdesignicons.min.css 85KB
materialdesignicons.min.css 85KB
animate.css 71KB
共 868 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
程序员小蛋
- 粉丝: 2432
- 资源: 481
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页