项目介绍
在这科技不断的进步,让我们的生活改变了很多,信息技术的迅速发展,使各种行业在信息技术应用方面变得非常普遍。信息时代的到来,已成为一种必然趋势。本系统的标题是基于B/S模式的家庭理财系统的设计开发,其目的是通过家庭理财系统,使家庭理财方面管理的工作系统化、规范化、自动化,从而达到提高家庭理财管理效率有效地记录和管理家庭的收支情况,成为家庭理财管理的好帮手。管理员通过本系统可以进行用户注册、权限管理、角色管理,用户可以进行在科目、收入、支付与统计等。 本系统采用了Browser/Server体系结构,采用java程序设计语言及MYSQL数据库进行开发;论文首先阐述了基于B/S模式下家庭理财系统的开发,并对该系统进行了较详细的需求分析,然后详细探讨了家庭理财系统的功能需求、业务流程、系统功能和系统设计等方面的问题。望能利用先进的计算机技术和网络技术来改变目前的家庭理财的状况和提高信息管理、服务水平,在市场经济的进一步发展中健康稳定发展,使之更加系统化体系化、标准化、自动化,具有优良的可用性、可靠性和安全性。
开发环境
java计算机毕业设计基于springboo个人家庭理财记账管理系统
开发语言:Java+mysql+vue
开发工具:IDEA /Eclipse
数据库:MYSQL5.7
应用服务:Tomcat7/Tomcat8
使用框架:ssm+vue
可定制框架:ssm/Springboot/vue/python/PHP/小程序/安卓均可开发
系统截图
近年来在计算机的迅速发展的背景下,家庭理财领域与传统手工记账相比,使用计算机系统来管理不仅克服了地域上的局限性,而且增强了用户在时间和空间上的体验,以及能够让用户随时随地进行需要的操作,可以很好的规避传统的手工记账因为常常发生的信息纰漏和更新不及时导致的种种问题。
为了避免家庭理财过程中遇到的这种问题,在基于家庭理财的目的上我设计了这个基于Spring Boot家庭理财系统。该系统功能上的设计首先是个人资料的页面,包含了用户名的查看,用户密码及电话的修改。第二个页面是账单的分类管理,包含了收支类型的增删改。第三个页面是账单管理,对个人的收支情况进行类型、金额、日期、备注的详细记录,在该页面还包含了每月相同类型的支出超过了限额会触发提醒功能。第四个页面是报表统计,共四个统计方式,月季年的账单统计采用了折线图的方式,按类型统计采用了饼状图的方式。整个系统由于仅针对于家庭理财,因此功能上仅包含了基本功能,页面也相对简洁。
对于家庭理财来说,与传统的手工记账相比本文所设计的系统大大提高了家庭日常的理财效率。
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 JAVA简介 4
2.2MyEclipse环境配置 4
2.3 B/S结构简介 4
2.4MySQL数据库 5
2.5 SPRINGBOOT框架 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37
/*** 登录相关*/@RequestMapping("users")@RestControllerpublic class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){// ValidatorUtils.validateEntity(user);userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}}