SpringBoot+Vue项目校园台球厅人员与设备管理系统

本文档介绍了基于Java SpringBoot和Vue的校园台球厅人员与设备管理系统,涵盖用户管理、会员账号管理、充值、预约、球桌信息、留言反馈等功能。系统采用Maven构建,MySQL存储数据,提供管理员和用户不同权限的操作界面,具有良好的兼容性和适应性。
摘要由CSDN通过智能技术生成

文末获取源码

开发语言:Java
开发工具:IDEA /Eclipse
数据库:MYSQL5.7/8.0
应用服务:Tomcat7/Tomcat8
是否Maven项目:是
后端框架:SpringBoot
前端框架:vue+element等
JDK版本:jdk1.8
项目架构:B/S架构

前言介绍 

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括校园台球厅人员与设备管理系统的网络应用,在外国管理系统已经是很普遍的方式,不过国内的管理网站可能还处于起步阶段。校园台球厅人员与设备管理系统具有校园台球厅人员与设备信息管理功能的选择。校园台球厅人员与设备管理系统采用java技术,基于springboot框架,mysql数据库进行开发,实现了首页、个人中心、用户管理、会员账号管理、会员充值管理、球桌信息管理、会员预约管理、普通预约管理、留言反馈、系统管理等内容进行管理,本系统具有良好的兼容性和适应性,为用户提供更多的校园台球厅人员与设备信息,也提供了良好的平台,从而提高系统的核心竞争力。 

系统功能 

通过前面的功能分析可以将校园台球厅人员与设备管理系统的功能分为管理员和用户两个部分,系统的主要功能包括首页、个人中心、用户管理、会员账号管理、会员充值管理、球桌信息管理、会员预约管理、普通预约管理、留言反馈、系统管理等内容。任何用户只要进入网站不需登录也可浏览到的信息,后台管理是针对已登录的用户看到满意的校园台球厅人员与设备信息而设计的。

1、一般用户的功能及权限

所谓一般用户就是指还没有注册的过客,他们可以浏览主页面上的信息。但如果要进入后台进行信息管理时,要登录注册,只有注册成功才有的权限。

2、管理员的功能及权限

用户信息的添加和管理,校园台球厅人员与设备详细信息添加和管理和文档信息添加和管理以及网站信息管理,这些都是管理员的功能。

3、系统功能结构图

系统功能结构图是系统设计阶段,系统功能结构图只是这个阶段一个基础,整个系统的架构决定了系统的整体模式,是系统的根据。校园台球厅人员与设备管理系统的整个设计结构如图

系统功能模块

校园台球厅人员与设备管理系统,在系统首页可以查看首页、球桌信息、 公告信息、留言反馈、个人中心、后台管理等内容进行详细操作,如图

 

用户注册

在用户注册页面通过填写账号、密码、确认密码、用户姓名、手机号码等信息完成用户注册,如图 

球桌信息

在球桌信息页面可以查看桌号、会员时价、普通时价、球桌状态等内容进行预约、详情、评论或收藏等操作,如图 

个人中心

在个人中心页面通过填写用户账号、密码、用户姓名、图片、性别、手机号码等内容进行更新信息等操作,如图 

 

管理员功能模块 

管理员登录,在系统页面通过填写用户名、密码等信息选择角色进行登录,就可以使用了,如图

 

管理员登录系统后,可以对首页、个人中心、用户管理、会员账号管理、会员充值管理、球桌信息管理、会员预约管理、普通预约管理、留言反馈、系统管理等功能模块进行相应操作,如图

 

用户管理

在用户管理页面可以对索引、用户账号、用户姓名、头像、性别、手机号码等内容进行详情、修改或删除等操作,如图 

会员账号管理

在会员账号管理页面可以对索引、会员卡号、金额、开卡时间、用户账号、手机号码、用户姓名等内容进行详情、修改或删除等操作,如图 

 

会员充值管理

在会员充值管理页面可以对索引、充值编号、用户账号、用户姓名、金额、充值时间、是否支付等内容进行详情或删除等操作,如图 

球桌信息管理

在球桌信息管理页面可以对索引、桌号、图片、会员时价、普通时价、球桌状态等内容进行详情、修改、查看评论或删除等操作,如图 

 

会员预约管理

在会员预约管理页面可以对索引、预约编号、桌号、会员时价、预约时间、预约时长、总金额、备注、会员卡号、金额、用户账号、用户姓名等内容进行详情或删除等操作,如图 

 

普通预约管理

在普通预约管理页面可以对索引、预约编号、桌号、普通时价、预约时间、预约时长、总金额、备注、用户账号、用户姓名、手机号码、是否支付等内容进行详情或删除等操作,如图 

 

留言反馈

在留言反馈页面可以对索引、用户名、留言内容、留言图片、回复内容、回复图片等内容进行详情、修改、回复或删除等操作,如图 

 

系统管理

在公告信息页面中可以对索引、标题、图片等内容进行详情、修改或删除等操作,并可以根据轮播图管理进行相应的操作,如图 

 

用户功能模块

用户登录进入系统,可以对首页、个人中心、 会员账户管理、会员充值管理、会员预约管理、普通预约管理、留言反馈等功能模块进行相应操作,如图 

会员账户管理

在会员账户管理页面可以对索引、会员卡号、金额、开卡时间、用户账号、手机号码、用户姓名等内容进行详情或会员充值等操作,如图 

 

会员充值管理

在会员充值管理页面中可以对索引、充值编号、用户账号、用户姓名、金额、充值时间、是否支付等内容进行详情等操作,如图 

留言反馈

在留言反馈页面中可以对索引、用户名、留言内容、留言图片、回复内容、回复图片等内容进行详情、修改或删除等操作,如图 

部分核心代码 

/**
 * 会员账户
 * 后端接口
 * @author 
 * @email 
 * @date 2022-03-23 15:26:00
 */
@RestController
@RequestMapping("/huiyuanzhanghu")
public class HuiyuanzhanghuController {
    @Autowired
    private HuiyuanzhanghuService huiyuanzhanghuService;


    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,HuiyuanzhanghuEntity huiyuanzhanghu,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			huiyuanzhanghu.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<HuiyuanzhanghuEntity> ew = new EntityWrapper<HuiyuanzhanghuEntity>();
		PageUtils page = huiyuanzhanghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, huiyuanzhanghu), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,HuiyuanzhanghuEntity huiyuanzhanghu, 
		HttpServletRequest request){
        EntityWrapper<HuiyuanzhanghuEntity> ew = new EntityWrapper<HuiyuanzhanghuEntity>();
		PageUtils page = huiyuanzhanghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, huiyuanzhanghu), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( HuiyuanzhanghuEntity huiyuanzhanghu){
       	EntityWrapper<HuiyuanzhanghuEntity> ew = new EntityWrapper<HuiyuanzhanghuEntity>();
      	ew.allEq(MPUtil.allEQMapPre( huiyuanzhanghu, "huiyuanzhanghu")); 
        return R.ok().put("data", huiyuanzhanghuService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(HuiyuanzhanghuEntity huiyuanzhanghu){
        EntityWrapper< HuiyuanzhanghuEntity> ew = new EntityWrapper< HuiyuanzhanghuEntity>();
 		ew.allEq(MPUtil.allEQMapPre( huiyuanzhanghu, "huiyuanzhanghu")); 
		HuiyuanzhanghuView huiyuanzhanghuView =  huiyuanzhanghuService.selectView(ew);
		return R.ok("查询会员账户成功").put("data", huiyuanzhanghuView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        HuiyuanzhanghuEntity huiyuanzhanghu = huiyuanzhanghuService.selectById(id);
        return R.ok().put("data", huiyuanzhanghu);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        HuiyuanzhanghuEntity huiyuanzhanghu = huiyuanzhanghuService.selectById(id);
        return R.ok().put("data", huiyuanzhanghu);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody HuiyuanzhanghuEntity huiyuanzhanghu, HttpServletRequest request){
    	huiyuanzhanghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(huiyuanzhanghu);
        huiyuanzhanghuService.insert(huiyuanzhanghu);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody HuiyuanzhanghuEntity huiyuanzhanghu, HttpServletRequest request){
    	huiyuanzhanghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(huiyuanzhanghu);
        huiyuanzhanghuService.insert(huiyuanzhanghu);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody HuiyuanzhanghuEntity huiyuanzhanghu, HttpServletRequest request){
        //ValidatorUtils.validateEntity(huiyuanzhanghu);
        huiyuanzhanghuService.updateById(huiyuanzhanghu);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        huiyuanzhanghuService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<HuiyuanzhanghuEntity> wrapper = new EntityWrapper<HuiyuanzhanghuEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			wrapper.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = huiyuanzhanghuService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







}

 

某高校,主要人员有:领导、教师和学生,共有的信息包括:编号、姓名、性别、年龄。其中领导还应包含的信息有:任职部门(学院、各系部)、职称;教师还应包含的信息有:职称、任职时间、专业;学生还应包含的信息有:所在班级、所在宿舍等。 某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。 2、功能要求 (1)基本功能 1) 添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。 2) 查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。 3) 显示功能:可显示当前系统中所有记录,每条记录占据一行。 4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。 5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
1、问题描述 某高校有四类员工教师、实验员、行政人员教师兼行政人员共有的信息包括编号、姓名、性别、年龄等。其中教师还包含的信息有所在系部、专业、职称实验员还包含的信息由所在实验室、职务行政人员还包含的信息有政治面貌、职称等。 2、功能要求 (1)添加功能程序能够任意添加上述四类人员的记录可提供选择界面供用户选择所要添加的人员类别要求员工的编号要唯一如果添加了重复编号的记录时则提示数据添加重复并取消添加。 (2)查询功能可根据编号、姓名等信息对已添加的记录进行查询如果未找到给出相应的提示信息如果找到则显示相应的记录信息。 (3)显示功能可显示当前系统中所有记录每条记录占据一行。 (4)编辑功能可根据查询结果对相应的记录进行修改修改时注意编号的唯一性。 (5)删除功能主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录则提示“记录为空”并返回操作否则输入要删除的人员的编号或姓名根据所输入的信息删除该人员记录如果没有找到该人员信息则提示相应的记录不存。 (6)统计功能能根据多种参数进行人员的统计。能统计四类人员数量以及总数,统计男、女员工的数量。 (7)保存功能可将当前系统中各类人员记录存入文件中存入方式任意。 (8)读取功能可将保存在文件中的人员信息读入到当前系统中供用户进行使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一季春秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值