项目介绍
体育器材管理系统主要包含以下功能:
登录注册;
体育器材管理:显示器材表、显示价目表、显示供应商表;
器材借还管理:借用申请、归还申请;
管理员个人信息:对当前管理员的信息进行查看或修改
器材报废登记:登记报废器材,生成、修改以及导出采购清单
信息录入:用户信息录入以及体育器材信息录入
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
-
后端:SpringBoot+Mybatis
-
前端:HTML+CSS+Bootstrap+jQuery
使用说明
-
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
-
使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
- 将项目中application.properties配置文件中的数据库配置改为自己的配置;
- 运行项目,前台地址:http://localhost:8080/web/home.html
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
/**
* 登录
* @param mobile
* @param idNumber
* @return
*/
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> login(String mobile,String password) {
//验证格式是否正确
if (StringUtils.isEmpty(password)){
return Result.error(CodeMsg.HOME_LOGIN_PASSWORD_ERROR);
}
//比对密码
if (!byMobilePeople.getPassword().equals(password)) {
return Result.error(CodeMsg.HOME_LOGIN_PASSOWRD1_NO_EXIST);
}
//登录成功将会员信息放入Session中
if (null != byMobilePeople.getMemberExpirationTime()){
String strMemberExpirationTime = StringUtil.dateToStrLong(byMobilePeople.getMemberExpirationTime());
if (StringUtil.dateCompare(strMemberExpirationTime)){
byMobilePeople.setMemberExpirationTime(null);
}
}
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_KEY, byMobilePeople);
}
}
登录管理控制层:
@Controller
@RequestMapping("/home/login")
public class HomeLoginController {
@Autowired
private PeopleService peopleService;
@Autowired
private ItemReserveService itemReserveService;
@Autowired
private StaffReserveService staffReserveService;
@Autowired
private VipService vipService;
@Autowired
private PayOrderLogService payOrderLogService;
/**
return Result.error(CodeMsg.HOME_LOGIN_PASSWORD_EQ1_ERROR);
}
if (!password.equals(passwordNew)){
return Result.error(CodeMsg.HOME_LOGIN_PASSWORD_EQ_ERROR);
}
homePeople.setPassword(passwordNew);
if (peopleService.save(homePeople) == null){
return Result.error(CodeMsg.HOME_UPDATE_PASSOWRD11_NO_EXIST);
}
return Result.success(true);
}
/**
* 退出
* @return
*/
@RequestMapping(value = "/logout")
public String logout() {
People homePeople = SessionUtil.getHomePeople();
if(homePeople != null){
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_KEY, null);
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> login(String mobile,String password) {
//验证格式是否正确
if (StringUtils.isEmpty(password)){
return Result.error(CodeMsg.HOME_LOGIN_PASSWORD_ERROR);
}
//比对密码
if (!byMobilePeople.getPassword().equals(password)) {
return Result.error(CodeMsg.HOME_LOGIN_PASSOWRD1_NO_EXIST);
}
//登录成功将会员信息放入Session中
if (null != byMobilePeople.getMemberExpirationTime()){
String strMemberExpirationTime = StringUtil.dateToStrLong(byMobilePeople.getMemberExpirationTime());
if (StringUtil.dateCompare(strMemberExpirationTime)){
byMobilePeople.setMemberExpirationTime(null);
}
}
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_KEY, byMobilePeople);
SessionUtil.set(SessionConstant.SESSION_HOME_ITEM_RESERVE_KEY,itemReserveService.selByPeopleIdAndNow(byMobilePeople.getId()));
SessionUtil.set(SessionConstant.SESSION_HOME_STAFF_RESERVE_KEY,staffReserveService.selByPeopleAndNow(byMobilePeople.getId()));
SessionUtil.set(SessionConstant.SESSION_HOME_PAY_LOG_KEY,payOrderLogService.findByPeopleIdAndStatusOrderByCreateTimeDesc(byMobilePeople.getId(),PayOrderLog.PAY_STATUS_PAID));
List<Vip> allVip = vipService.findAll();
if (null != allVip && !allVip.isEmpty()){
SessionUtil.set(SessionConstant.SESSION_VIP_KEY,allVip.get(0));
}else {
SessionUtil.set(SessionConstant.SESSION_VIP_KEY,null);
/**
* 新增用户页面
* @param model
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.GET)
public String add(Model model){
model.addAttribute("roles", roleService.findByType(Role.ADMIN_ROLE_TYPE_ADMIN));
return "admin/user/add";
}
/**
* 用户添加表单提交处理
* @param user
* @return
return Result.error(CodeMsg.HOME_LOGIN_PASSWORD_ERROR);
}
//验证格式是否正确
if (StringUtils.isEmpty(password)){
return Result.error(CodeMsg.HOME_LOGIN_PASSWORD_ERROR);
}
//验证格式是否正确
if (StringUtils.isEmpty(passwordNew)){
return Result.error(CodeMsg.HOME_LOGIN_PASSWORD_ERROR);
}
People homePeople = SessionUtil.getHomePeople();
if (homePeople == null) {
return Result.error(CodeMsg.HOME_LOGIN_NO_EXIST);
}
if (!formerPassword.equals(homePeople.getPassword())){
return Result.error(CodeMsg.HOME_LOGIN_PASSWORD_EQ1_ERROR);
}
if (!password.equals(passwordNew)){
return Result.error(CodeMsg.HOME_LOGIN_PASSWORD_EQ_ERROR);
}
homePeople.setPassword(passwordNew);
if (peopleService.save(homePeople) == null){
return Result.error(CodeMsg.HOME_UPDATE_PASSOWRD11_NO_EXIST);
}
return Result.success(true);
}
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(user);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
if(user.getRole() == null || user.getRole().getId() == null){
return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);
}
//判断用户名是否存在
if(userService.isExistUsername(user.getUsername(), 0l)){
return Result.error(CodeMsg.ADMIN_USERNAME_EXIST);
}
//到这说明一切符合条件,进行数据库新增
if(userService.save(user) == null){
return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR);
*/
@RequestMapping(value="/operator_log_list")
public String operatorLogList(Model model,OperaterLog operaterLog,PageBean<OperaterLog> pageBean){
model.addAttribute("pageBean", operaterLogService.findList(operaterLog, pageBean));
model.addAttribute("operator", operaterLog.getOperator());
model.addAttribute("title", "日志列表");
return "admin/system/operator_log_list";
}
/**
* 删除操作日志,可删除多个
* @param ids
* @return
*/
*
*/
@RequestMapping("/system")
@Controller
public class SystemController {
@Autowired
private OperaterLogService operaterLogService;
@Autowired
private UserService userService;
@Autowired
private DatabaseBakService databaseBakService;
}
//验证手机号
People byMobilePeople = peopleService.findByMobile(mobile);
if (byMobilePeople == null) {
return Result.error(CodeMsg.HOME_LOGIN_NO_EXIST);
}
if (!byMobilePeople.getIdNumber().equals(idNumber)){
return Result.error(CodeMsg.HOME_LOGIN_IDNUMBER_NO_EXIST);
}
if (!password.equals(passwordNew)){
return Result.error(CodeMsg.HOME_LOGIN_PASSWORD_EQ_ERROR);
}
byMobilePeople.setPassword(passwordNew);
//保存数据库
userService.save(loginedUser);
//更新session
SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);
return Result.success(true);
}
/**
* 日志管理列表
* @param model
* @param operaterLog
* @param pageBean
* @return
*/
@RequestMapping(value="/operator_log_list")
public String operatorLogList(Model model,OperaterLog operaterLog,PageBean<OperaterLog> pageBean){
model.addAttribute("pageBean", operaterLogService.findList(operaterLog, pageBean));
model.addAttribute("operator", operaterLog.getOperator());
model.addAttribute("title", "日志列表");