基于SpringBoot驾校预约学习系统的设计与实现

博主主页:一点教程
博主简介:专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。
主要内容:毕业设计,SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Python、Nodejs、小程序、安卓app、大数据等设计与开发

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以和博主沟通,希望帮助更多的人

文末获取联系

一、项目介绍 

一切系统都要遵循系统设计的最基本全过程,系统也是如此。它还要通过市场调查、需求分析报告、汇总设计、详尽设计、编号和测试,根据Java语言表达设计,完成驾校预约学习系统管理系统。该系统根据B/S,即所谓的电脑浏览器/网络服务器方式,运用Java技术性,挑选MySQL作为后台系统。系统主要包含用户中心、系统公告、学习资料、考试预约管理等功能模块。

二、系统主要技术 

开发语言:Java
 
使用框架:spring boot
 
前端技术:Vue 、css、element-ui、js、html
 
开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code
 
数据库:MySQL 5.7/8.0
 
数据库管理工具:phpstudy/Navicat
 
JDK版本:jdk1.8
 
Maven: apache-maven 3.8.1-bin

三、系统结构设计

图4.1即为设计的管理员功能结构,管理员权限操作的功能包括管理公告,管理驾校预约学习系统信息,包括学习资料管理,培训管理,考试管理,薪资管理等,可以管理公告。

基于SpringBoot驾校预约学习系统的设计与实现_第1张图片

四、部分功能展示 

5.1 管理员功能实现

5.1.1 学习资料管理

图5.1 即为编码实现的学习资料管理界面,管理员在学习资料管理界面中可以对界面中显示,可以对学习资料信息的学习资料状态进行查看,可以添加新的学习资料信息等。

基于SpringBoot驾校预约学习系统的设计与实现_第2张图片

图5.1 学习资料管理界面

5.1.2 考试管理

图5.2 即为编码实现的考试管理界面,管理员在考试管理界面中查看考试种类信息,考试描述信息,新增考试信息等。

基于SpringBoot驾校预约学习系统的设计与实现_第3张图片

图5.2 考试管理界面

5.1.3 公告管理

图5.3 即为编码实现的公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。

基于SpringBoot驾校预约学习系统的设计与实现_第4张图片

图5.3 公告管理界面

5.1.4 公告类型管理

图5.4 即为编码实现的公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。

基于SpringBoot驾校预约学习系统的设计与实现_第5张图片

图5.4 公告类型管理界面

五、文章目录 


摘  要    I
目  录    IV
第1章 绪论    1
1.1 课题背景    1
1.2 课题意义    1
1.3 研究内容    1
第2章 开发环境与技术    3
2.1 MYSQL数据库    3
2.2 JAVA语言技术    4
2.3 SPRING BOOT框架    4
2.4 其他技术使用    4
第3章 系统分析    6
3.1 可行性分析    6
3.1.1 技术可行性    6
3.1.2 经济可行性    6
3.1.3 操作可行性    6
3.2 系统流程    6
3.2.1 操作流程    7
3.2.2 登录流程    7
3.2.3 删除信息流程    8
3.2.4 添加信息流程    8
3.3 性能需求    9
第4章 系统设计    11
4.1 系统设计思想    11
4.2 功能结构设计    12
4.3 数据库设计    12
4.3.1 数据库概念设计    12
4.3.2 数据库物理设计    17
第5章 系统实现    21
5.1 管理员功能实现    21
5.1.1 学习资料管理    21
5.1.2 考试管理    22
5.1.3 公告管理    22
5.1.4 公告类型管理    23
第6章 系统测试    24
6.1测试目的    24
6.2测试环境    24
6.3测试测试用例    24
6.4测试结果    25
结  论    26
致  谢    27
参考文献    28
 

六、部分代码实现

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UsersController {
	
	@Autowired
	private UsersService usersService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UsersEntity user = usersService.selectOne(new EntityWrapper().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		R r = R.ok();
		r.put("token", token);
		r.put("role",user.getRole());
		r.put("userId",user.getId());
		return r;
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UsersEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(usersService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        usersService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}

	/**
	 * 修改密码
	 */
	@GetMapping(value = "/updatePassword")
	public R updatePassword(String  oldPassword, String  newPassword, HttpServletRequest request) {
		UsersEntity users = usersService.selectById((Integer)request.getSession().getAttribute("userId"));
		if(newPassword == null){
			return R.error("新密码不能为空") ;
		}
		if(!oldPassword.equals(users.getPassword())){
			return R.error("原密码输入错误");
		}
		if(newPassword.equals(users.getPassword())){
			return R.error("新密码不能和原密码一致") ;
		}
		users.setPassword(newPassword);
		usersService.updateById(users);
		return R.ok();
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UsersEntity user = usersService.selectOne(new EntityWrapper().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        usersService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map params,UsersEntity user){
        EntityWrapper ew = new EntityWrapper();
    	PageUtils page = usersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UsersEntity user){
       	EntityWrapper ew = new EntityWrapper();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", usersService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UsersEntity user = usersService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Integer id = (Integer)request.getSession().getAttribute("userId");
        UsersEntity user = usersService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UsersEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(usersService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        usersService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UsersEntity user){
//        ValidatorUtils.validateEntity(user);
        usersService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
		List user = usersService.selectList(null);
		if(user.size() > 1){
			usersService.deleteBatchIds(Arrays.asList(ids));
		}else{
			return R.error("管理员最少保留一个");
		}
        return R.ok();
    }
}

你可能感兴趣的:(Java项目,spring,boot,后端,java,spring,驾校预约学习系统)