家庭財務管理系統的設計與實現(Java畢業設計-Springboot)

你好我是辰兮,很高興你能來閱讀,本篇文章來和你談談家庭財務管理系統的設計與實現。項目基於Springboot開發,利用了Layui的前端框架和Echarts圖表。很好的實現了家庭收入和開支的記錄,及家庭一段時間內財務的展示。本編是設計思路闡述。



一、摘要

隨着國民經濟的提高,理財成爲了我們必不可少的一部分,而家庭財務系統的出現恰恰就是爲了解決國民理財困難,不知財政去向,不知家庭整體的經濟支出等問題。理財系統不僅可以幫助每一個家庭成員記錄自己的財政狀況,更進一步反應了家庭的整體營收情況。瞭解自己當前的收入,對未來進行合理的投資十分重要。
在這裏插入圖片描述

  • 項目基於Springboot開發,數據庫MySQL

二、系統總體需求

分享心得

(1) 從系統角色分析

在這裏插入圖片描述

1、 在家庭財務管理系統設計了三個角色,其中包括系統管理員,家主,普通用戶
2、系統管理員擁有最高的權限可以看到系統所有家庭所有的收入情況,財務支出情況,並且設有報表進行對比統計,同時我們還應該設置查詢功能,供系統的用戶查詢某一個階段的詳細收支狀況,用圖表進行統計對比,系統管理員還可以查看到本系統所有的用戶的個人信息,同時可以進行家庭角色管理等,即可以適應更復雜的家庭成員組成。
3、每一個家主和普通用戶都對應唯一的家庭的id,家主也可以對家庭成員進行管理等操作。
4、普通用戶只能看到和記錄自己的信息,財務的增刪查改。用戶即家庭的成員。

ps:參考思維導圖,三個角色功能相似,只是家主要能管理自己家庭成員收支情況,系統管理員能看到所有家庭的收支情況,並進行管理,同時可以實現角色管理。


(2)模塊需求分析

在這裏插入圖片描述

簡單的說就是
1、收入模塊和支出模塊,收入支出模塊要對財務進行增刪改查,用表格記錄。
2、主頁模塊和報表模塊就是用Echarts圖表展示,更加動態漂亮。
3、系統信息管理,系統管理員可以角色管理和信息管理,家主可以家庭信息管理。


(3)數據庫的設計

在這裏插入圖片描述

在本家庭財務系統中一共設計了八張數據表。


根據財務模塊設計瞭如上三張表
(1)type財務類型表,分爲收入和支出。
(2)bill賬單表 主要有賬單標題,主鍵id,錢財,用戶類型,備註,支付方式,記錄時間等六個字段。
(3)Payway 支付方式類型表,爲了符合現在消費場景,其中支付方式設計有支付寶,微信,銀聯,現金,其他等五種類別。


根據用戶模塊設計了五張表
(1)role 角色表 主要分爲系統管理員,家主,用戶等三個身份。
(2)Privilege表 主要分爲 支出管理,支出詳情,收入管理,收入與詳情,統計報表,家庭成員管理,系統管理,用戶官,角色管理,家庭成員信息等。
(3)roleprivilieges 主要是設計角色對應的權限。
(4)User 用戶表 主要填寫用戶的賬號密碼,用戶對應的角色,真實姓名等。
(5)House表,每個家庭有自己的家庭編號,這個系統適用於所有家庭。


三、模塊詳情分析

(1)主頁模塊

爲了讓用戶更加直觀的看到情況收支情況百分比,我們這裏引入了Echarts圖表,做了兩個相關功能,第一個是引入的是餅狀圖,我們從數據庫中取出數據,根據對應函數計算出收支的百分比,導入餅狀圖中顯示。第二個同樣的我們取出收支狀況,用折線柱狀圖顯示對應的財務狀況。這樣更直觀和清晰的呈現給我們用戶。
在這裏插入圖片描述

首先系統會顯示出你的姓名,身份(系統管理員等),登陸時間,然後會依次顯示出本月收入,本月消費,本月淨收入,支出方式等。這裏後臺的實現邏輯是,當我們登陸的時候首先會進行判斷是否存在這個用戶,如果存在我們會將用戶的信息分別存入session和cookie。
在這裏插入圖片描述
同時我們在cookie中設置了過期時間。這樣的好處也是保障用戶的安全。

在這裏插入圖片描述


(2)財務支出模塊

在這裏插入圖片描述
我們可以根據自己的需求,按時間,按姓名,按標題,支付方式,備註,等多個模塊進行查詢。這裏我們運用到了Mybatis的動態SQL來實現。我們的設計思路是將要查詢的東西封裝成對象來進行查詢。

    <select id="findByWhereNoPage" resultType="com.example.cwgl.entity.Bill" parameterType="com.example.cwgl.entity.Bill">
     select *, type.name type from bill left join type on bill.typeid = type.id left join payway on paywayid = payway.id left join user on bill.userid = user.id
        <where>
            <if test="id!=null">and bill.id = #{id}</if>
            <if test="houseid!=null"> and userid in (select id from user where houseid = #{houseid})</if>
            <if test="type!=null"> and typeid = #{type}</if>
            <if test="userid!=null"> and userid = #{userid}</if>
            <if test="title!=null"> and title = #{title}</if>
            <if test="realname!=null"> and realname = #{realname}</if>
            <if test="paywayid!=null"> and paywayid = #{paywayid}</if>
            <if test="startTime!=null"> and time >= #{startTime}</if>
            <if test="endTime!=null"> and time &lt;= #{endTime}</if>
        </where>
    </select>

(3)財務收入模塊

這裏設計思路和支出的設計思路一樣,作爲系統管理員,可以看到所有家庭的所有收入情況,而作爲普通用戶即可看到自己的收入情況。

同樣的在這個版塊包括五個功能點。

1.查看收入詳情。2.添加收入來源。3.刪除收入。4.修改收入。5.根據條件查詢
在這裏插入圖片描述


(4)統計報表模塊

在這裏插入圖片描述

ECharts圖表是一個商業級數據圖表,它的使用我們只需要簡單的學習前端相關的知識即可。


(5)系統管理模塊

①、角色管理
在這裏插入圖片描述
關於角色管理,我們數據庫設計了兩張相關的表,第一個是role表,第二個是roleprivilieges表,第一個表中我們設計了三個角色,系統管理員,家主,和用戶。

這一個版塊只有系統管理員可以看到,系統管理員一般交付的時候我們只會設計一個,後期我們可以對我們的家庭成員角色進行修改,增加,刪除等操作,來滿足我們系統用戶的需求。


②、用戶管理

1.查詢用戶信息 2.更新用戶信息 3.增加用戶信息(並設置身份) 4.刪除用戶信息 5.按角色查詢或者用戶名查詢(系統管理員)。

在這裏插入圖片描述

角色 功能
系統管理員 查看到所有家庭所有人的信息 ,以及增加刪除修改所有人信息
家主 查看到自己家庭成員的信息 ,以及增加刪除修改家庭成員信息
用戶 只能查看自己的信息,以及增加刪除修改自己的信息

四、 項目小結

本篇文章給大家介紹了家庭財務管理系統,從角色分析,功能需求分析,到數據庫的設計,以及具體的每一個板塊應該對應的功能都詳細闡述,希望對大家有幫助。

引入了Echarts圖表是很精心的幫助我們用戶更加直觀的感受和體會對比我們的消費情況。


The best investment is to invest in yourself

在這裏插入圖片描述

2020.05.28 記錄辰兮的第69篇博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章