• 计算机毕业设计springboot+vue大学生个人财务管理系统


    项目介绍

    本大学生个人财务管理系统设计目标是实现收入和支出的信息化管理,提高管理效率,使得支出收入管理工作规范化、科学化、高效化。
    本文研究的大学生个人财务管理系统基于springboot架构,采用JSP技术、JAVA编程语言和MYSQL数据库设计开发。通过本系统,实现了管理员和用户两个角色的功能,能够有效提高支出收入管理效率。本系统经过测试,运行效果稳定,操作方便、快捷,是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护性的支出账号收入管理平台。
    论文首先阐述了大学生个人财务管理系统的开发,并对该系统进行了较详细的需求分析,探讨了大学生个人财务管理系统的功能需求、业务流程、系统结构和数据库设计等方面的问题。望能利用先进的计算机技术和网络技术来改变目前的支出账号收入管理状况,提高管理效率。

    开发语言:Java
    开发工具:IDEA /Eclipse
    数据库:MYSQL5.7
    应用服务:Tomcat7/Tomcat8
    使用框架:Springboot+vue
    Maven包:Maven3.3.9

    功能介绍

    请添加图片描述

    部分代码

    /**
     * 登录相关
     */
    @RequestMapping("users")
    @RestController
    public class UserController{
    	
    	@Autowired
    	private UserService userService;
    	
    	@Autowired
    	private 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);
        	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
        	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
        		return R.error("用户名已存在。");
        	}
            userService.updateById(user);//全部更新
            return R.ok();
        }
    
        /**
         * 删除
         */
        @RequestMapping("/delete")
        public R delete(@RequestBody Long[] ids){
            userService.deleteBatchIds(Arrays.asList(ids));
            return R.ok();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140

    效果图

    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述

    1绪论 5
    1.1项目研究的背景 5
    1.2开发意义 5
    1.3项目研究内容 5
    2开发技术介绍 6
    2.1 B/S架构 6
    2.2Java技术 6
    2.3MySQL 介绍 7
    2.4MySQL环境配置 7
    2.5SpringBoot技术 8
    3系统分析 9
    3.1可行性分析 9
    3.1.1技术可行性 9
    3.1.2经济可行性 9
    3.1.3操作可行性 9
    3.2网站性能需求分析 10
    3.3 网站现状分析 10
    3.4网站功能分析 11
    3.5系统流程的分析 11
    3.5.1 用户管理的流程 12
    3.5.2个人中心管理流程 12
    3.5.3登录流程 13
    4系统设计 14
    4.1 软件功能模块设计 14
    4.2数据库设计 14
    4.2.1概念模型设计 14
    4.2.2物理模型设计 15
    5系统详细设计 22
    5.1系统功能模块 22
    5.2管理员功能模块 23
    5.3用户功能模块 28
    6系统测试 30
    7总结与心得体会 31
    7.1 总结 31
    7.2 心得体会 31
    参考文献 32
    致谢 33

  • 相关阅读:
    毫秒时间戳转换为字符串
    Java.lang.Class类 getDeclaredConstructors()方法有什么功能呢?
    Linux--网络编程
    8个免费高清图片素材网站,再也不用担心侵权了。
    Rust 第三方库创建和导入(cargo --lib)
    热门新游 2024 植物大战僵尸杂交版 Mac 版本下载安装详细教程
    Lakehouse 还是 Warehouse?(1/2)
    【Java 基础语法】Java 的文件操作
    新电脑重装系统好吗?电脑重装系统的好坏
    java毕业设计奇妙店铺电子商务网站源码+lw文档+mybatis+系统+mysql数据库+调试
  • 原文地址:https://blog.csdn.net/QQ1039692211/article/details/126481249