中國企業(yè)培訓網(wǎng)蘭州seo培訓
?全網(wǎng)粉絲20W+,csdn特邀作者、博客專家、CSDN新星計劃導師、java領域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質(zhì)作者、專注于Java技術領域和畢業(yè)項目實戰(zhàn)?
🍅文末獲取項目下載方式🍅
一、項目背景介紹:
隨著我國經(jīng)濟的不斷發(fā)展,許多零售企業(yè)在發(fā)展過程中面臨著業(yè)務不斷增長,而管理水平相對滯后的困境。尤其是許多企業(yè)在逐年經(jīng)營過程中,積累了大量歷史數(shù)據(jù),但是信息比較分散、相互獨立。在信息技術迅猛發(fā)展的今天,處于競爭性行業(yè)的中小型零售企業(yè)如何在未來的市場競爭中借助信息化實時掌握營銷動態(tài),不斷提升服務水平,提高資源配置水平和核心競爭力,成為他們不得不面對的問題。
在零售企業(yè)中引入超市信息管理系統(tǒng),利用收銀機將超市中各種商品的進貨、退貨、銷售等信息輸入電腦,使得經(jīng)營管理者能夠及時掌控經(jīng)營信息,作出合適的各種采購及貨物庫存決策。
超市信息管理系統(tǒng),可完成商品采購訂貨、銷售、盤點庫存、財務分析等管理功能,并對商品的購銷存狀態(tài)實時跟蹤記錄。本論文主要介紹超市信息管理系統(tǒng)中的系統(tǒng)登錄、商品錄入、庫存管理、商品銷售等部分內(nèi)容,以展現(xiàn)設計一個完整信息管理系統(tǒng)的思路和步驟。
二、項目技術簡介:
- JAVA:Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚?#xff0c;允許程序員以優(yōu)雅的思維方式進行復雜的編程。
- Spring:Spring框架是一個開放源代碼的J2EE應用程序框架,由Rod Johnson發(fā)起,是針對bean的生命周期進行管理的輕量級容器(lightweight container)。 Spring解決了開發(fā)者在J2EE開發(fā)中遇到的許多常見的問題,提供了功能強大IOC、AOP及Web MVC等功能。Spring可以單獨應用于構筑應用程序,也可以和Struts、Webwork、Tapestry等眾多Web框架組合使用,并且可以與 Swing等桌面應用程序AP組合。因此, Spring不僅僅能應用于J2EE應用程序之中,也可以應用于桌面應用程序以及小應用程序之中。Spring框架主要由七部分組成,分別是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。
- SpringBoot:Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應用開發(fā)領域(rapid application development)成為領導者。
- Mybatis:MyBatis本是apache的一個開源項目iBatis,2010年這個項目由apache software foundation遷移到了google code,并且改名為MyBatis。2013年11月遷移到Github。
iBATIS一詞來源于“internet”和“abatis”的組合,是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAOs)。 - Thymeleaf:thymeleaf是一個XML/XHTML/HTML5模板引擎,可用于Web與非Web環(huán)境中的應用開發(fā)。它是一個開源的Java庫,基于Apache License 2.0許可,由Daniel Fernández創(chuàng)建,該作者還是Java加密庫Jasypt的作者。
Thymeleaf提供了一個用于整合Spring MVC的可選模塊,在應用開發(fā)中,你可以使用Thymeleaf來完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目標在于提供一種可被瀏覽器正確顯示的、格式良好的模板創(chuàng)建方式,因此也可以用作靜態(tài)建模。你可以使用它創(chuàng)建經(jīng)過驗證的XML與HTML模板。相對于編寫邏輯或代碼,開發(fā)者只需將標簽屬性添加到模板中即可。接下來,這些標簽屬性就會在DOM(文檔對象模型)上執(zhí)行預先制定好的邏輯。
6. Redis:redis是一個key-value存儲系統(tǒng)。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現(xiàn)了master-slave(主從)同步。
Redis 是一個高性能的key-value數(shù)據(jù)庫。 redis的出現(xiàn),很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關系數(shù)據(jù)庫起到很好的補充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。
三、系統(tǒng)功能模塊介紹:
四、數(shù)據(jù)庫設計:
1:‘銷售賬單表’(bill)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
id | bigint | NULL | 賬單項目編號 |
product_id | varchar | NULL | 商品編號 |
product_name | varchar | NULL | 商品名稱 |
category_id | bigint | NULL | 分類編號 |
category_name | varchar | NULL | 所屬分類 |
purchase_price | decimal | NULL | 進貨價 |
sale_price | decimal | NULL | 銷售價 |
profits | decimal | NULL | 凈利潤 |
number | bigint | NULL | 購買數(shù)量 |
create_time | datetime | NULL | 創(chuàng)建日期 |
2:‘代碼生成業(yè)務表’(gen_table)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
table_id | bigint | NULL | 編號 |
table_name | varchar | NULL | 表名稱 |
table_comment | varchar | NULL | 表描述 |
sub_table_name | varchar | NULL | 關聯(lián)子表的表名 |
sub_table_fk_name | varchar | NULL | 子表關聯(lián)的外鍵名 |
class_name | varchar | NULL | 實體類名稱 |
tpl_category | varchar | NULL | 使用的模板(crud單表操作 tree樹表操作 sub主子表操作) |
package_name | varchar | NULL | 生成包路徑 |
module_name | varchar | NULL | 生成模塊名 |
business_name | varchar | NULL | 生成業(yè)務名 |
function_name | varchar | NULL | 生成功能名 |
function_author | varchar | NULL | 生成功能作者 |
gen_type | char | NULL | 生成代碼方式(0zip壓縮包 1自定義路徑) |
gen_path | varchar | NULL | 生成路徑(不填默認項目路徑) |
options | varchar | NULL | 其它生成選項 |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
remark | varchar | NULL | 備注 |
3:‘代碼生成業(yè)務表字段’(gen_table_column)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
column_id | bigint | NULL | 編號 |
table_id | varchar | NULL | 歸屬表編號 |
column_name | varchar | NULL | 列名稱 |
column_comment | varchar | NULL | 列描述 |
column_type | varchar | NULL | 列類型 |
java_type | varchar | NULL | JAVA類型 |
java_field | varchar | NULL | JAVA字段名 |
is_pk | char | NULL | 是否主鍵(1是) |
is_increment | char | NULL | 是否自增(1是) |
is_required | char | NULL | 是否必填(1是) |
is_insert | char | NULL | 是否為插入字段(1是) |
is_edit | char | NULL | 是否編輯字段(1是) |
is_list | char | NULL | 是否列表字段(1是) |
is_query | char | NULL | 是否查詢字段(1是) |
query_type | varchar | NULL | 查詢方式(等于、不等于、大于、小于、范圍) |
html_type | varchar | NULL | 顯示類型(文本框、文本域、下拉框、復選框、單選框、日期控件) |
dict_type | varchar | NULL | 字典類型 |
sort | int | NULL | 排序 |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
4:‘商品表’(product)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
auto_id | int | NULL | 商品分類編號 |
id | varchar | NULL | 條形碼 |
category_id | bigint | NULL | 商品分類編號 |
provider_id | bigint | NULL | 供應商編號 |
name | varchar | NULL | 商品名稱 |
factory_address | varchar | NULL | 生產(chǎn)地址 |
purchase_price | decimal | NULL | 進貨價 |
sale_price | decimal | NULL | 銷售價 |
stock | int | NULL | 庫存 |
5:‘商品分類表’(product_category)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
id | int | NULL | 商品分類編號 |
name | varchar | NULL | 商品分類名稱 |
6:‘供應商表’(product_provider)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
id | bigint | NULL | 供應商編號 |
name | varchar | NULL | 供應商名稱 |
contact_name | varchar | NULL | 聯(lián)系人姓名 |
contact_phone | varchar | NULL | 聯(lián)系人電話 |
address | varchar | NULL | 供應商地址 |
7:‘Blob類型的觸發(fā)器表’(qrtz_blob_triggers)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sched_name | varchar | NULL | 調(diào)度名稱 |
trigger_name | varchar | NULL | qrtz_triggers表trigger_name的外鍵 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外鍵 |
blob_data | blob | NULL | 存放持久化Trigger對象 |
8:‘日歷信息表’(qrtz_calendars)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sched_name | varchar | NULL | 調(diào)度名稱 |
calendar_name | varchar | NULL | 日歷名稱 |
calendar | blob | NULL | 存放持久化calendar對象 |
9:‘Cron類型的觸發(fā)器表’(qrtz_cron_triggers)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sched_name | varchar | NULL | 調(diào)度名稱 |
trigger_name | varchar | NULL | qrtz_triggers表trigger_name的外鍵 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外鍵 |
cron_expression | varchar | NULL | cron表達式 |
time_zone_id | varchar | NULL | 時區(qū) |
10:‘已觸發(fā)的觸發(fā)器表’(qrtz_fired_triggers)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sched_name | varchar | NULL | 調(diào)度名稱 |
entry_id | varchar | NULL | 調(diào)度器實例id |
trigger_name | varchar | NULL | qrtz_triggers表trigger_name的外鍵 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外鍵 |
instance_name | varchar | NULL | 調(diào)度器實例名 |
fired_time | bigint | NULL | 觸發(fā)的時間 |
sched_time | bigint | NULL | 定時器制定的時間 |
priority | int | NULL | 優(yōu)先級 |
state | varchar | NULL | 狀態(tài) |
job_name | varchar | NULL | 任務名稱 |
job_group | varchar | NULL | 任務組名 |
is_nonconcurrent | varchar | NULL | 是否并發(fā) |
requests_recovery | varchar | NULL | 是否接受恢復執(zhí)行 |
11:‘任務詳細信息表’(qrtz_job_details)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sched_name | varchar | NULL | 調(diào)度名稱 |
job_name | varchar | NULL | 任務名稱 |
job_group | varchar | NULL | 任務組名 |
description | varchar | NULL | 相關介紹 |
job_class_name | varchar | NULL | 執(zhí)行任務類名稱 |
is_durable | varchar | NULL | 是否持久化 |
is_nonconcurrent | varchar | NULL | 是否并發(fā) |
is_update_data | varchar | NULL | 是否更新數(shù)據(jù) |
requests_recovery | varchar | NULL | 是否接受恢復執(zhí)行 |
job_data | blob | NULL | 存放持久化job對象 |
12:‘存儲的悲觀鎖信息表’(qrtz_locks)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sched_name | varchar | NULL | 調(diào)度名稱 |
lock_name | varchar | NULL | 悲觀鎖名稱 |
13:‘暫停的觸發(fā)器表’(qrtz_paused_trigger_grps)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sched_name | varchar | NULL | 調(diào)度名稱 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外鍵 |
14:‘調(diào)度器狀態(tài)表’(qrtz_scheduler_state)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sched_name | varchar | NULL | 調(diào)度名稱 |
instance_name | varchar | NULL | 實例名稱 |
last_checkin_time | bigint | NULL | 上次檢查時間 |
checkin_interval | bigint | NULL | 檢查間隔時間 |
15:‘簡單觸發(fā)器的信息表’(qrtz_simple_triggers)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sched_name | varchar | NULL | 調(diào)度名稱 |
trigger_name | varchar | NULL | qrtz_triggers表trigger_name的外鍵 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外鍵 |
repeat_count | bigint | NULL | 重復的次數(shù)統(tǒng)計 |
repeat_interval | bigint | NULL | 重復的間隔時間 |
times_triggered | bigint | NULL | 已經(jīng)觸發(fā)的次數(shù) |
16:‘同步機制的行鎖表’(qrtz_simprop_triggers)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sched_name | varchar | NULL | 調(diào)度名稱 |
trigger_name | varchar | NULL | qrtz_triggers表trigger_name的外鍵 |
trigger_group | varchar | NULL | qrtz_triggers表trigger_group的外鍵 |
str_prop_1 | varchar | NULL | String類型的trigger的第一個參數(shù) |
str_prop_2 | varchar | NULL | String類型的trigger的第二個參數(shù) |
str_prop_3 | varchar | NULL | String類型的trigger的第三個參數(shù) |
int_prop_1 | int | NULL | int類型的trigger的第一個參數(shù) |
int_prop_2 | int | NULL | int類型的trigger的第二個參數(shù) |
long_prop_1 | bigint | NULL | long類型的trigger的第一個參數(shù) |
long_prop_2 | bigint | NULL | long類型的trigger的第二個參數(shù) |
dec_prop_1 | decimal | NULL | decimal類型的trigger的第一個參數(shù) |
dec_prop_2 | decimal | NULL | decimal類型的trigger的第二個參數(shù) |
bool_prop_1 | varchar | NULL | Boolean類型的trigger的第一個參數(shù) |
bool_prop_2 | varchar | NULL | Boolean類型的trigger的第二個參數(shù) |
17:‘觸發(fā)器詳細信息表’(qrtz_triggers)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sched_name | varchar | NULL | 調(diào)度名稱 |
trigger_name | varchar | NULL | 觸發(fā)器的名字 |
trigger_group | varchar | NULL | 觸發(fā)器所屬組的名字 |
job_name | varchar | NULL | qrtz_job_details表job_name的外鍵 |
job_group | varchar | NULL | qrtz_job_details表job_group的外鍵 |
description | varchar | NULL | 相關介紹 |
next_fire_time | bigint | NULL | 上一次觸發(fā)時間(毫秒) |
prev_fire_time | bigint | NULL | 下一次觸發(fā)時間(默認為-1表示不觸發(fā)) |
priority | int | NULL | 優(yōu)先級 |
trigger_state | varchar | NULL | 觸發(fā)器狀態(tài) |
trigger_type | varchar | NULL | 觸發(fā)器的類型 |
start_time | bigint | NULL | 開始時間 |
end_time | bigint | NULL | 結(jié)束時間 |
calendar_name | varchar | NULL | 日程表名稱 |
misfire_instr | smallint | NULL | 補償執(zhí)行的策略 |
job_data | blob | NULL | 存放持久化job對象 |
18:‘參數(shù)配置表’(sys_config)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
config_id | int | NULL | 參數(shù)主鍵 |
config_name | varchar | NULL | 參數(shù)名稱 |
config_key | varchar | NULL | 參數(shù)鍵名 |
config_value | varchar | NULL | 參數(shù)鍵值 |
config_type | char | NULL | 系統(tǒng)內(nèi)置(Y是 N否) |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
remark | varchar | NULL | 備注 |
19:‘部門表’(sys_dept)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
dept_id | bigint | NULL | 部門id |
parent_id | bigint | NULL | 父部門id |
ancestors | varchar | NULL | 祖級列表 |
dept_name | varchar | NULL | 部門名稱 |
order_num | int | NULL | 顯示順序 |
leader | varchar | NULL | 負責人 |
phone | varchar | NULL | 聯(lián)系電話 |
varchar | NULL | 郵箱 | |
status | char | NULL | 部門狀態(tài)(0正常 1停用) |
del_flag | char | NULL | 刪除標志(0代表存在 2代表刪除) |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
20:‘字典數(shù)據(jù)表’(sys_dict_data)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
dict_code | bigint | NULL | 字典編碼 |
dict_sort | int | NULL | 字典排序 |
dict_label | varchar | NULL | 字典標簽 |
dict_value | varchar | NULL | 字典鍵值 |
dict_type | varchar | NULL | 字典類型 |
css_class | varchar | NULL | 樣式屬性(其他樣式擴展) |
list_class | varchar | NULL | 表格回顯樣式 |
is_default | char | NULL | 是否默認(Y是 N否) |
status | char | NULL | 狀態(tài)(0正常 1停用) |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
remark | varchar | NULL | 備注 |
21:‘字典類型表’(sys_dict_type)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
dict_id | bigint | NULL | 字典主鍵 |
dict_name | varchar | NULL | 字典名稱 |
dict_type | varchar | NULL | 字典類型 |
status | char | NULL | 狀態(tài)(0正常 1停用) |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
remark | varchar | NULL | 備注 |
22:‘定時任務調(diào)度表’(sys_job)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
job_id | bigint | NULL | 任務ID |
job_name | varchar | NULL | 任務名稱 |
job_group | varchar | NULL | 任務組名 |
invoke_target | varchar | NULL | 調(diào)用目標字符串 |
cron_expression | varchar | NULL | cron執(zhí)行表達式 |
misfire_policy | varchar | NULL | 計劃執(zhí)行錯誤策略(1立即執(zhí)行 2執(zhí)行一次 3放棄執(zhí)行) |
concurrent | char | NULL | 是否并發(fā)執(zhí)行(0允許 1禁止) |
status | char | NULL | 狀態(tài)(0正常 1暫停) |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
remark | varchar | NULL | 備注信息 |
23:‘定時任務調(diào)度日志表’(sys_job_log)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
job_log_id | bigint | NULL | 任務日志ID |
job_name | varchar | NULL | 任務名稱 |
job_group | varchar | NULL | 任務組名 |
invoke_target | varchar | NULL | 調(diào)用目標字符串 |
job_message | varchar | NULL | 日志信息 |
status | char | NULL | 執(zhí)行狀態(tài)(0正常 1失敗) |
exception_info | varchar | NULL | 異常信息 |
create_time | datetime | NULL | 創(chuàng)建時間 |
24:‘系統(tǒng)訪問記錄’(sys_logininfor)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
info_id | bigint | NULL | 訪問ID |
login_name | varchar | NULL | 登錄賬號 |
ipaddr | varchar | NULL | 登錄IP地址 |
login_location | varchar | NULL | 登錄地點 |
browser | varchar | NULL | 瀏覽器類型 |
os | varchar | NULL | 操作系統(tǒng) |
status | char | NULL | 登錄狀態(tài)(0成功 1失敗) |
msg | varchar | NULL | 提示消息 |
login_time | datetime | NULL | 訪問時間 |
25:‘菜單權限表’(sys_menu)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
menu_id | bigint | NULL | 菜單ID |
menu_name | varchar | NULL | 菜單名稱 |
parent_id | bigint | NULL | 父菜單ID |
order_num | int | NULL | 顯示順序 |
url | varchar | NULL | 請求地址 |
target | varchar | NULL | 打開方式(menuItem頁簽 menuBlank新窗口) |
menu_type | char | NULL | 菜單類型(M目錄 C菜單 F按鈕) |
visible | char | NULL | 菜單狀態(tài)(0顯示 1隱藏) |
is_refresh | char | NULL | 是否刷新(0刷新 1不刷新) |
perms | varchar | NULL | 權限標識 |
icon | varchar | NULL | 菜單圖標 |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
remark | varchar | NULL | 備注 |
26:‘通知公告表’(sys_notice)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
notice_id | int | NULL | 公告ID |
notice_title | varchar | NULL | 公告標題 |
notice_type | char | NULL | 公告類型(1通知 2公告) |
notice_content | varchar | NULL | 公告內(nèi)容 |
status | char | NULL | 公告狀態(tài)(0正常 1關閉) |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
remark | varchar | NULL | 備注 |
27:‘操作日志記錄’(sys_oper_log)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
oper_id | bigint | NULL | 日志主鍵 |
title | varchar | NULL | 模塊標題 |
business_type | int | NULL | 業(yè)務類型(0其它 1新增 2修改 3刪除) |
method | varchar | NULL | 方法名稱 |
request_method | varchar | NULL | 請求方式 |
operator_type | int | NULL | 操作類別(0其它 1后臺用戶 2手機端用戶) |
oper_name | varchar | NULL | 操作人員 |
dept_name | varchar | NULL | 部門名稱 |
oper_url | varchar | NULL | 請求URL |
oper_ip | varchar | NULL | 主機地址 |
oper_location | varchar | NULL | 操作地點 |
oper_param | varchar | NULL | 請求參數(shù) |
json_result | varchar | NULL | 返回參數(shù) |
status | int | NULL | 操作狀態(tài)(0正常 1異常) |
error_msg | varchar | NULL | 錯誤消息 |
oper_time | datetime | NULL | 操作時間 |
28:‘崗位信息表’(sys_post)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
post_id | bigint | NULL | 崗位ID |
post_code | varchar | NULL | 崗位編碼 |
post_name | varchar | NULL | 崗位名稱 |
post_sort | int | NULL | 顯示順序 |
status | char | NULL | 狀態(tài)(0正常 1停用) |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
remark | varchar | NULL | 備注 |
29:‘角色信息表’(sys_role)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
role_id | bigint | NULL | 角色ID |
role_name | varchar | NULL | 角色名稱 |
role_key | varchar | NULL | 角色權限字符串 |
role_sort | int | NULL | 顯示順序 |
data_scope | char | NULL | 數(shù)據(jù)范圍(1:全部數(shù)據(jù)權限 2:自定數(shù)據(jù)權限 3:本部門數(shù)據(jù)權限 4:本部門及以下數(shù)據(jù)權限) |
status | char | NULL | 角色狀態(tài)(0正常 1停用) |
del_flag | char | NULL | 刪除標志(0代表存在 2代表刪除) |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
remark | varchar | NULL | 備注 |
30:‘角色和部門關聯(lián)表’(sys_role_dept)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
role_id | bigint | NULL | 角色ID |
dept_id | bigint | NULL | 部門ID |
31:‘角色和菜單關聯(lián)表’(sys_role_menu)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
role_id | bigint | NULL | 角色ID |
menu_id | bigint | NULL | 菜單ID |
32:‘用戶信息表’(sys_user)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
user_id | bigint | NULL | 用戶ID |
dept_id | bigint | NULL | 部門ID |
login_name | varchar | NULL | 登錄賬號 |
user_name | varchar | NULL | 用戶昵稱 |
user_type | varchar | NULL | 用戶類型(00系統(tǒng)用戶 01注冊用戶) |
varchar | NULL | 用戶郵箱 | |
phonenumber | varchar | NULL | 手機號碼 |
sex | char | NULL | 用戶性別(0男 1女 2未知) |
avatar | varchar | NULL | 頭像路徑 |
password | varchar | NULL | 密碼 |
salt | varchar | NULL | 鹽加密 |
status | char | NULL | 帳號狀態(tài)(0正常 1停用) |
del_flag | char | NULL | 刪除標志(0代表存在 2代表刪除) |
login_ip | varchar | NULL | 最后登錄IP |
login_date | datetime | NULL | 最后登錄時間 |
pwd_update_date | datetime | NULL | 密碼最后更新時間 |
create_by | varchar | NULL | 創(chuàng)建者 |
create_time | datetime | NULL | 創(chuàng)建時間 |
update_by | varchar | NULL | 更新者 |
update_time | datetime | NULL | 更新時間 |
remark | varchar | NULL | 備注 |
33:‘在線用戶記錄’(sys_user_online)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
sessionId | varchar | NULL | 用戶會話id |
login_name | varchar | NULL | 登錄賬號 |
dept_name | varchar | NULL | 部門名稱 |
ipaddr | varchar | NULL | 登錄IP地址 |
login_location | varchar | NULL | 登錄地點 |
browser | varchar | NULL | 瀏覽器類型 |
os | varchar | NULL | 操作系統(tǒng) |
status | varchar | NULL | 在線狀態(tài)on_line在線off_line離線 |
start_timestamp | datetime | NULL | session創(chuàng)建時間 |
last_access_time | datetime | NULL | session最后訪問時間 |
expire_time | int | NULL | 超時時間,單位為分鐘 |
34:‘用戶與崗位關聯(lián)表’(sys_user_post)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
user_id | bigint | NULL | 用戶ID |
post_id | bigint | NULL | 崗位ID |
35:‘用戶和角色關聯(lián)表’(sys_user_role)
字段名 | 類型 | 默認值 | 列注釋 |
---|---|---|---|
user_id | bigint | NULL | 用戶ID |
role_id | bigint | NULL | 角色ID |
五、功能模塊:
-
登錄:通過管理員給與的賬號登錄進入到系統(tǒng)中,不同的賬號擁有不同的權限,而權限不同登錄進系統(tǒng)所看到的和能夠使用的功能也不一樣
-
系統(tǒng)首頁:在系統(tǒng)首頁可以查看系統(tǒng)的數(shù)據(jù)統(tǒng)計信息,系統(tǒng)的用戶訂單收入等多維度的統(tǒng)計信息
-
超市收銀臺:在超市收銀臺中輸入商品信息和數(shù)量系統(tǒng)回自己統(tǒng)計價格,在結(jié)賬后系統(tǒng)回將金額統(tǒng)計進入銷售賬單中,并且同步到系統(tǒng)首頁的大屏統(tǒng)計中,同時對應的庫存也會對應的減少
-
銷售賬單:銷售賬單中為收銀臺的每一筆記賬信息
-
庫存管理:
-
商品分類:在商品分類管理中系統(tǒng)回將每個商品進行分類,而可以選擇的類型則是在商品分類中進行管理
-
供應商:供應商列表對是對超市的供應商做了一個清單管理,超市人員可以很直觀的了解超市的供應商信息
-
數(shù)據(jù)權限管理:在超市管理中有用戶,角色,菜單,部門,崗位等信息的管理,他們的關系是每個用戶都擁有有屬于的部門,并且管理員可以通過設置不同的角色,角色擁有的菜單和數(shù)據(jù)權限,用戶擁有不同的角色來達到對系統(tǒng)的額權限進行管理.
六、代碼示例:
;@Controller
@RequestMapping("/system/checkout")
public class CheckOutController extends BaseController {private String prefix = "system/checkout";@Autowiredprivate CheckoutService checkoutService;// @RequiresPermissions("system:checkout:view")@GetMapping()public String product() {return prefix + "/checkout";}/*** 新增保存商品分類*/@PostMapping("/tmp-bill-item/add")@ResponseBodypublic AjaxResult saveTempBillItem(AddTempBillItemDto addTempBillItemDto){User currentUser = ShiroUtils.getSysUser();Long userId = currentUser.getUserId();boolean success = checkoutService.saveTempBillItem(userId, addTempBillItemDto);if (success) {return AjaxResult.success("添加成功");} else {return AjaxResult.error("找不到商品,請檢查商品編號是否正確");}}/*** 獲取數(shù)據(jù)集合*/@PostMapping("/tmp-bill-item")@ResponseBodypublic TableDataInfo getTempBillItem() {User currentUser = ShiroUtils.getSysUser();Long userId = currentUser.getUserId();return getDataTable(checkoutService.getTempBillItems(userId));}/*** 獲取數(shù)據(jù)集合*/@GetMapping("/search-product")@ResponseBodypublic AjaxResult collection(@RequestParam("id") String id){AjaxResult ajax = new AjaxResult();ajax.put("result", checkoutService.matchProductSuggestByProductId(id));return ajax;}/*** 獲取數(shù)據(jù)集合*/@GetMapping("/total-should-pay")@ResponseBodypublic AjaxResult countTempBillItemsTotalShouldPay() {User currentUser = ShiroUtils.getSysUser();Long userId = currentUser.getUserId();AjaxResult ajax = new AjaxResult();ajax.put("result", checkoutService.countTempBillItemsTotalShouldPay(userId).toString());return ajax;}@GetMapping("/tmp-bill-item/remove")@ResponseBodypublic AjaxResult removeTempBillItem(@RequestParam("index") int index){User currentUser = ShiroUtils.getSysUser();Long userId = currentUser.getUserId();checkoutService.removeTempBillItem(userId, index);return AjaxResult.success("刪除成功");}@GetMapping("/tmp-bill-item/close")@ResponseBodypublic AjaxResult closeTempBillItem(){User currentUser = ShiroUtils.getSysUser();Long userId = currentUser.getUserId();checkoutService.closeTempBillItem(userId);return AjaxResult.success("刪除成功");}/*確認結(jié)算*/@GetMapping("/tmp-bill-item/submit")@ResponseBodypublic AjaxResult submitTempBillItem(){User currentUser = ShiroUtils.getSysUser();Long userId = currentUser.getUserId();checkoutService.submitTempBillItem(userId);return AjaxResult.success("結(jié)算成功");}
}@Controller
@RequestMapping("/system/product")
public class ProductController extends BaseController
{private String prefix = "system/product";@Autowiredprivate IProductService productService;@RequiresPermissions("system:product:view")@GetMapping()public String product(){return prefix + "/product";}/*** 查詢商品列表*/@RequiresPermissions("system:product:list")@PostMapping("/list")@ResponseBodypublic TableDataInfo list(Product product){startPage();List<Product> list = productService.selectProductList(product);return getDataTable(list);}/*** 導出商品列表*/@RequiresPermissions("system:product:export")@Log(title = "商品", businessType = BusinessType.EXPORT)@PostMapping("/export")@ResponseBodypublic AjaxResult export(Product product){List<Product> list = productService.selectProductList(product);ExcelUtil<Product> util = new ExcelUtil<Product>(Product.class);return util.exportExcel(list, "商品數(shù)據(jù)");}/*** 新增商品*/@GetMapping("/add")public String add(){return prefix + "/add";}/*** 新增保存商品*/@RequiresPermissions("system:product:add")@Log(title = "商品", businessType = BusinessType.INSERT)@PostMapping("/add")@ResponseBodypublic AjaxResult addSave(Product product){return toAjax(productService.insertProduct(product));}/*** 修改商品*/@RequiresPermissions("system:product:edit")@GetMapping("/edit/{id}")public String edit(@PathVariable("id") String id, ModelMap mmap){Product product = productService.selectProductById(id);mmap.put("product", product);return prefix + "/edit";}/*** 修改保存商品*/@RequiresPermissions("system:product:edit")@Log(title = "商品", businessType = BusinessType.UPDATE)@PostMapping("/edit")@ResponseBodypublic AjaxResult editSave(Product product){return toAjax(productService.updateProduct(product));}/*** 刪除商品*/@RequiresPermissions("system:product:remove")@Log(title = "商品", businessType = BusinessType.DELETE)@PostMapping( "/remove")@ResponseBodypublic AjaxResult remove(String ids){return toAjax(productService.deleteProductByIds(ids));}
}
七、論文參考:
論文參考···
八、項目總結(jié):
通過對基于springboot的超市信息管理系的開發(fā),讓我深刻明白開發(fā)一個程序軟件需要經(jīng)歷的流程,當確定要開發(fā)一個基于springboot的超市信息管理系的程序時,
我在開發(fā)期間,對其功能進行合理的需求分析,然后才是程序軟件的功能的框架設計,數(shù)據(jù)庫的實體與數(shù)據(jù)表設計,
程序軟件的功能詳細界面實現(xiàn),以及程序的功能測試等進行全方位的細致考慮,雖然在此過程中,各個環(huán)節(jié)都遇到了大大小小的困難,但是通過對這些問題進行反復的分析,深入的思考,
借助各種相關文獻資料提供的方法與解決思路成功解決面臨的各個問題,最后成功的讓我開發(fā)的基于springboot的超市信息管理系得以正常運行。
基于springboot的超市信息管理系在功能上面是基本可以滿足用戶對系統(tǒng)的操作,但是這個程序軟件也有許多方面是不足的,因此,在下一個時間階段,有幾點需要改進的地方需要提出來,它們分別是:
(1)操作頁面可以滿足用戶簡易操作的要求,但是在頁面多樣化設計層面上需要把一些比較豐富的設計結(jié)構考慮進來。
(2)程序軟件的總體安全性能需要優(yōu)化,例如程序的退出安全性,以及程序的并發(fā)性等問題都需要進行安全性升級,讓開發(fā)的基于springboot的超市信息管理系中的相關網(wǎng)站更貼合。
(3)需要對程序的數(shù)據(jù)結(jié)構方面,程序的代碼方面等進行優(yōu)化,讓運行起來的程序可以保持穩(wěn)定運行,也讓程序能夠保證短時間內(nèi)處理相關事務,節(jié)省處理事務的時間,提高事務處理的效率,
同時對服務器上資源占用的比例進行降低。
基于springboot的超市信息管理系的開發(fā)一方面是對自身專業(yè)知識技能進行最終考核,另一方面也是讓自己學會獨立解決程序開發(fā)過程中所遇到的問題,掌握將理論知識運用于程序開發(fā)實踐的方法。
基于springboot的超市信息管理系的開發(fā)最終目標就是讓系統(tǒng)更具人性化,同時在邏輯設計上,讓系統(tǒng)能夠更加的嚴謹。
九、源碼獲取:
大家點贊、收藏、關注、評論啦 、查看👇🏻👇🏻👇🏻獲取項目下載鏈接,博主聯(lián)系方式👇🏻👇🏻👇🏻
鏈接點擊直達:下載鏈接