东南大学成贤学院毕业论文
* @param useruame 用户名 * @param isFail 计数加1 * @param clean 计数清零 * @return */
@SuppressWarnings(\)
public static boolean isValidateCodeLogin(String useruame, boolean isFail, boolean clean){
Map
loginFailMap = Maps.newHashMap();
CacheUtils.put(\, loginFailMap); }
Integer loginFailNum = loginFailMap.get(useruame); if (loginFailNum==null){ loginFailNum = 0; }
if (isFail){
loginFailNum++;
loginFailMap.put(useruame, loginFailNum); }
if (clean){
loginFailMap.remove(useruame); }
return loginFailNum >= 3;
}
5.3 个人信息模块
本模块主要是用户查看自己的信息可以在这个页面修改自己的一些信息,还可以修改自己的登录密码,界面如图5.3和图5.4所示。
图5.3 个人信息界面
21
东南大学成贤学院毕业论文
图5.4 修改密码界面
个人信息和密码修改的流程图如图5.5和5.6所示。
图5.5 修改个人信息流程图
图 5.6 修改密码流程图
22
东南大学成贤学院毕业论文
个人信息模块相关代码:
@RequiresUser
@RequestMapping(value = \)
public String info(User user, Model model) { User currentUser = UserUtils.getUser();
if (StringUtils.isNotBlank(user.getName())) { if (Global.isDemoMode()) {
model.addAttribute(\, \演示模式,不允许操作!\); return \; }
currentUser = UserUtils.getUser(true); currentUser.setEmail(user.getEmail()); currentUser.setPhone(user.getPhone()); currentUser.setMobile(user.getMobile()); currentUser.setRemarks(user.getRemarks()); systemService.saveUser(currentUser);
model.addAttribute(\, \保存用户信息成功\); }
model.addAttribute(\, currentUser); return \; }
@RequiresUser
@RequestMapping(value = \)
public String modifyPwd(String oldPassword, String newPassword, Model model) { User user = UserUtils.getUser();
if (StringUtils.isNotBlank(oldPassword) && StringUtils.isNotBlank(newPassword)) { if (Global.isDemoMode()) {
model.addAttribute(\, \演示模式,不允许操作!\); return \; }
if (SystemService.validatePassword(oldPassword, user.getPassword())) {
systemService.updatePasswordById(user.getId(), user.getLoginName(), newPassword); model.addAttribute(\, \修改密码成功\); } else {
model.addAttribute(\, \修改密码失败,旧密码错误\); } }
model.addAttribute(\, user); return \;
}
23
东南大学成贤学院毕业论文
5.4 图书管理模块
本模块有三个部分,分别是图书管理、库存记录和图书信息,主要是根据不同的角色和权限显示不同的页面来提供给用户不同的图书操作。管理员拥有操作图书管理和库存记录的权限,借阅员和读者拥有操作图书信息的权限,该模块共有添加、修改、删除、通过特定条件模糊查询图书和入库或损耗图书并该记录,界面如图5.7、图5.8和图5.9所示。
图5.7 图书管理界面
图5.8 库存记录界面
图5.9 图书信息界面
图书管理模块相关代码:
@RequiresPermissions(\) @RequestMapping(value = {\, \})
public String list(Book book, HttpServletRequest request, HttpServletResponse response, Model model) {
Page
b.setNumber(Long.parseLong(b.getStock()) - borrowService.count(b.getId())); }
model.addAttribute(\, book); model.addAttribute(\, page);
24
东南大学成贤学院毕业论文
return \; }
@RequiresPermissions(\) @RequestMapping(value = {\})
public String select(Book book, HttpServletRequest request, HttpServletResponse response, Model model) {
Page
@RequiresPermissions(\) @RequestMapping(value = \)
public String form(Book book, Model model) { model.addAttribute(\, book); return \; }
@RequiresPermissions(\) @RequestMapping(value = \)
public String save(Book book, Model model, RedirectAttributes redirectAttributes) { if (!beanValidator(model, book)) { return form(book, model); }
bookService.save(book);
addMessage(redirectAttributes, \保存图书'\ + book.getName() + \成功\); return \ + Global.getAdminPath() + \; }
@RequiresPermissions(\) @RequestMapping(value = \)
public String delete(String id, RedirectAttributes redirectAttributes) { bookService.delete(id);
addMessage(redirectAttributes, \删除图书成功\);
return \ + Global.getAdminPath() + \; }
@ResponseBody
@RequiresPermissions(\) @RequestMapping(value = \)
public String checkCode(String id, String code) { Book book = bookService.getByCode(code); // 如果可以获取且不等于该对象,返回false
25