家庭财务管理系统
目录
博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️
主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。
🍅文末获取源码联系🍅
基于java和小程序的家庭财务管理系统设计与实现
一、前言
本基于微信小程序的家庭财务管理系统采用WXML 、WXS、JS小程序编写语言、微信开发者工具进行微信端开发,使用MYSQL数据库进行储存系统数据,以微信为入口的,具有快捷、轻便的特点,不占内存,不用下载、安装,而且访问速度很快。系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了家庭财务管理的重要功能。
"操作简单,功能实用"这是本软件设计的核心理念,本系统力求创造最好的用户体验。
关键词:家庭财务管理;微信开发者工具;微信小程序;MYSQL数据库
二、系统设计
系统功能结构如图
三、系统功能设计
用户登录后进入系统首页,首页界面展示如图5-2所示。
图5-2 首页界面图
用户登录后可增删改查收支信息,收支记录界面展示如图5-3所示。
图5-3 收支记录界面图
管理员要想进入系统后台对系统进行管理操作,必须登录系统后台,管理员登录界面如图5-7所示。
图5-7 管理员登录界面图
管理员可查看、添加、修改和删除收支记录信息,收支记录管理界面如图5-9所示。
图5-9 收支记录管理界面图
管理员可查看、添加、修改和删除财务明细信息,财务明细管理界面如图5-10所示。
图5-10 财务明细管理界面图
四、数据库设计
1、管理员实体属性图如图4-3所示
图4-3 管理员实体属性图
2、用户体属性图如图4-4所示
图4-4 用户实体属性图
3、家庭年度收支体属性图如图4-5所示
图4-5 家庭年度收支实体属性图
4、理财计划实体属性图如图4-6所示
图4-6 理财计划实体属性图
表4-1 users管理员信息表
|------------|------|--------------|---------|
| 列 名 | 说 明 | 类 型 ( 长 度 ) | 备 注 |
| id | 编号 | bigint(20) | 不允许空,主键 |
| yonghuming | 用户名 | varchar(100) | 允许空 |
| mima | 密码 | varchar(100) | 允许空 |
| role | 角色 | varchar(100) | 允许空 |
| addtime | 新增时间 | timestamp | 允许空 |
表4-2 yonghu用户信息表
|--------------|------|--------------|---------|
| 列 名 | 说 明 | 类 型 ( 长 度 ) | 备 注 |
| id | 编号 | bigint(20) | 不允许空,主键 |
| addtime | 创建时间 | timestamp | 允许空 |
| zhanghao | 账号 | varchar(200) | 允许空 |
| mima | 密码 | varchar(200) | 允许空 |
| xingming | 姓名 | varchar(200) | 允许空 |
| xingbie | 性别 | varchar(200) | 允许空 |
| nianling | 年龄 | varchar(200) | 允许空 |
| shouji | 手机 | varchar(200) | 允许空 |
| shenfenzheng | 身份证 | varchar(200) | 允许空 |
| zhaopian | 照片 | varchar(200) | 允许空 |
表4-3 jiatingniandushouzhi家庭年度收支信息表
|------------|------|--------------|---------|
| 列 名 | 说 明 | 类 型 ( 长 度 ) | 备 注 |
| id | 编号 | bigint(20) | 不允许空,主键 |
| addtime | 创建时间 | timestamp | 允许空 |
| zhanghao | 账号 | varchar(200) | 允许空 |
| xingming | 姓名 | varchar(200) | 允许空 |
| zongshouru | 总收入 | varchar(200) | 允许空 |
| zongzhichu | 总支出 | varchar(200) | 允许空 |
| zhaopian | 照片 | varchar(200) | 允许空 |
| userid | 用户编号 | bigint(20) | 允许空 |
表4-4 licaijihua理财计划信息表
|---------------|------|--------------|---------|
| 列 名 | 说 明 | 类 型 ( 长 度 ) | 备 注 |
| id | 编号 | bigint(20) | 不允许空,主键 |
| addtime | 创建时间 | timestamp | 允许空 |
| licaiguihua | 理财规划 | varchar(200) | 允许空 |
| zhanghao | 账号 | varchar(200) | 允许空 |
| xingming | 姓名 | varchar(200) | 允许空 |
| shouruxiangmu | 收入项目 | longtext | 允许空 |
| zhichuxiangmu | 支出项目 | longtext | 允许空 |
| shourujine | 收入金额 | int(11) | 允许空 |
| zhichujine | 支出金额 | int(11) | 允许空 |
| yue | 余额 | int(11) | 允许空 |
| yuezhuangtai | 余额状态 | varchar(200) | 允许空 |
| zhaopian | 照片 | varchar(200) | 允许空 |
| userid | 用户编号 | bigint(20) | 允许空 |
五、核心代码
java
package com.service.impl;
import com.utils.StringUtil;
import com.service.DictionaryService;
import com.utils.ClazzDiff;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.*;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import com.utils.PageUtils;
import com.utils.Query;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import com.dao.FangwuDao;
import com.entity.FangwuEntity;
import com.service.FangwuService;
import com.entity.view.FangwuView;
@Service("fangwuService")
@Transactional
public class FangwuServiceImpl extends ServiceImpl<FangwuDao, FangwuEntity> implements FangwuService {
@Override
public PageUtils queryPage(Map<String,Object> params) {
Page<FangwuView> page =new Query<FangwuView>(params).getPage();
page.setRecords(baseMapper.selectListView(page,params));
return new PageUtils(page);
}
}
package com.service.impl;
import com.utils.StringUtil;
import com.service.DictionaryService;
import com.utils.ClazzDiff;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.*;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import com.utils.PageUtils;
import com.utils.Query;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import com.dao.FeiyongDao;
import com.entity.FeiyongEntity;
import com.service.FeiyongService;
import com.entity.view.FeiyongView;
@Service("feiyongService")
@Transactional
public class FeiyongServiceImpl extends ServiceImpl<FeiyongDao, FeiyongEntity> implements FeiyongService {
@Override
public PageUtils queryPage(Map<String,Object> params) {
Page<FeiyongView> page =new Query<FeiyongView>(params).getPage();
page.setRecords(baseMapper.selectListView(page,params));
return new PageUtils(page);
}
}
六、论文参考
七、最新计算机毕设选题推荐
八、源码获取:
大家点赞、收藏、关注、评论 啦 、👇🏻获取联系方式在文章末尾👇🏻