基于javaweb和mysql的springboot海滨体育馆管理系统(java+springboot+mybaits+vue+elementui+mysql)
私信源码获取及调试交流
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot海滨体育馆管理系统(java+springboot+mybaits+vue+elementui+mysql)
项目介绍
基于Springboot+vue海滨体育馆管理系统
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;
技术栈
后端:SpringBoot+Mybaits
前端:Vue + elementui
使用说明
项目运行:
-
使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
-
使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;
-
将项目中application.yml配置文件中的数据库配置改为自己的配置;
-
运行项目,在浏览器中输入地址:
前台地址:http://localhost:8080/springbootrpj39/front/index.html
后台地址
http://localhost:8080/springbootrpj39/admin/dist/index.html
管理员 abo 密码 abo
用户:用户1 密码: 123456
注意项目文件路径中不能含有中文、空格、特殊字符等,否则图片会上传不成功。
* 日志管理列表
* @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", "日志列表");
return "admin/system/operator_log_list";
/**
@Autowired
private UserService userService;
@Autowired
private DatabaseBakService databaseBakService;
@Autowired
private ItemService itemService;
@Autowired
private PeopleService peopleService;
@Autowired
private OrderAuthService orderAuthService;
@Autowired
private StaffService staffService;
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){
@Controller
public class UserController {
@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
@Autowired
private OperaterLogService operaterLogService;
/**
* 用户列表页面
* @param model
* @param user
/**
* 登录成功后的系统主页
* @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("itemCount", itemService.count());
* @param model
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.GET)
public String edit(Model model,@RequestParam(name="id",required=true)Long id){
model.addAttribute("roles", roleService.findByType(Role.ADMIN_ROLE_TYPE_ADMIN));
model.addAttribute("user", userService.find(id));
return "admin/user/edit";
/**
* 编辑用户信息表单提交处理
* @param user
* @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 mobile
* @return
*/
@RequestMapping(value = "/updatePassword", method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> updatePassword(String mobile,String password,String passwordNew,String idNumber) {
//验证格式是否正确
if (StringUtils.isEmpty(password)){
return Result.error(CodeMsg.HOME_LOGIN_PASSWORD_ERROR);
//验证格式是否正确
if (StringUtils.isEmpty(passwordNew)){
public Result<Boolean> delete(String ids){
if(!StringUtils.isEmpty(ids)){
String[] splitIds = ids.split(",");
for(String id : splitIds){
operaterLogService.delete(Long.valueOf(id));
return Result.success(true);
/**
* 清空整个日志
* @return
*/
@RequestMapping(value="/delete_all_operator_log",method=RequestMethod.POST)
//验证格式是否正确
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);
/**
* 登录成功后的系统主页
* @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("itemCount", itemService.count());
*/
@RequestMapping("/admin/user")
@Controller
public class UserController {
@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
@Autowired
private OperaterLogService operaterLogService;
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);
return Result.success(true);
/**
* 忘记密码
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);
model.addAttribute("databaseBackupTotal", databaseBakService.total());
model.addAttribute("itemCount", itemService.count());
model.addAttribute("peopleCount", peopleService.count());
model.addAttribute("workerCount", staffService.countByType(Staff.WORKER));
model.addAttribute("coachCount", staffService.countByType(Staff.COACH));
model.addAttribute("onlineUserTotal", SessionListener.onlineUserCount);
return "admin/system/index";
/**
* 注销登录
* @return
*/
@RequestMapping(value="/logout")
public String logout(){
User loginedUser = SessionUtil.getLoginedUser();
private String showTipsBtnText;
@Value("${show.tips.url}")
private String showTipsUtl;*/
private Logger log = LoggerFactory.getLogger(SystemController.class);
/**
* 登录页面
* @param model
* @return
*/
@RequestMapping(value="/login",method=RequestMethod.GET)
public String login(Model model){
*/
@RequestMapping(value="/delete",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){
try {
userService.delete(id);
} catch (Exception e) {
return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);
operaterLogService.add("删除用户,用户ID:" + id);
return Result.success(true);
系统控制器:
/**