家庭财务管理系统
目录
博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,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) |
允许空 |
五、核心代码
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);
}
}
六、论文参考
七、最新计算机毕设选题推荐
八、源码获取:
大家点赞、收藏、关注、评论啦 、👇🏻获取联系方式在文章末尾👇🏻