關(guān)鍵詞:農(nóng)產(chǎn)品溯源;SpringBoot;前后端分離;二維碼
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)26-0035-02開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID) :
0 引言
食品安全是涉及人民群眾身體健康的重大公共衛(wèi)生問題[1],而農(nóng)產(chǎn)品從生產(chǎn)、運(yùn)輸、存儲(chǔ)到銷售的各個(gè)環(huán)節(jié)都可能引入不安全因素,導(dǎo)致食品安全事件頻發(fā)[2]。因此,建立科學(xué)高效的農(nóng)產(chǎn)品溯源系統(tǒng),滿足公眾對(duì)農(nóng)產(chǎn)品安全信息的知情權(quán)迫在眉睫[3]。
農(nóng)產(chǎn)品溯源系統(tǒng)記錄了產(chǎn)品從生產(chǎn)、運(yùn)輸、存儲(chǔ)到銷售全過程的關(guān)鍵信息。發(fā)生食品安全問題時(shí),可以通過系統(tǒng)快速定位問題環(huán)節(jié),追溯責(zé)任人,并對(duì)問題產(chǎn)品進(jìn)行追蹤和處理,有效避免類似事件再次發(fā)生。此外,消費(fèi)者可以通過系統(tǒng)直觀地了解農(nóng)產(chǎn)品全生命周期信息,參與食品安全監(jiān)督中,提升對(duì)農(nóng)產(chǎn)品的信任度。
二維碼技術(shù)近年來應(yīng)用廣泛,用戶可隨時(shí)隨地通過智能手機(jī)掃描二維碼獲取相關(guān)信息。將二維碼技術(shù)應(yīng)用于農(nóng)產(chǎn)品溯源,能夠?yàn)橛脩籼峁O大的便利??紤]到農(nóng)產(chǎn)品溯源系統(tǒng)的廣泛用戶群體,采用HTML語言構(gòu)建前端系統(tǒng),能夠更好地適應(yīng)不同設(shè)備和操作系統(tǒng),用戶無須安裝應(yīng)用程序即可方便快捷地訪問系統(tǒng)。
1 需求分析
農(nóng)產(chǎn)品溯源信息管理系統(tǒng)旨在追蹤農(nóng)產(chǎn)品從生產(chǎn)、加工、運(yùn)輸?shù)戒N售各個(gè)環(huán)節(jié)的信息,為消費(fèi)者、農(nóng)產(chǎn)品生產(chǎn)企業(yè)和系統(tǒng)管理員提供服務(wù)。系統(tǒng)主要功能需求如下。
1.1 消費(fèi)者
1) 通過掃描二維碼查詢農(nóng)產(chǎn)品溯源信息。
2) 對(duì)農(nóng)產(chǎn)品進(jìn)行問題反饋。
1.2 農(nóng)產(chǎn)品生產(chǎn)企業(yè)
1) 管理農(nóng)產(chǎn)品種植信息,包括添加、修改、刪除和查詢。
2) 添加和管理每批農(nóng)產(chǎn)品的生產(chǎn)過程信息,包括施藥、施肥、加工、運(yùn)輸、儲(chǔ)存、銷售等。
3) 管理消費(fèi)者投訴,并通過系統(tǒng)追溯生產(chǎn)過程,對(duì)問題產(chǎn)品進(jìn)行下架處理,優(yōu)化生產(chǎn)流程。
1.3 系統(tǒng)管理員
1) 普通管理員:管理農(nóng)產(chǎn)品及農(nóng)產(chǎn)品溯源信息。
2) 超級(jí)管理員:在普通管理員權(quán)限基礎(chǔ)上,擁有系統(tǒng)管理權(quán)限,包括用戶管理、查看登錄日志和操作日志、發(fā)布通知公告等。
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)模塊結(jié)構(gòu)系統(tǒng)采用模塊化設(shè)計(jì),主要分為系統(tǒng)管理模塊、農(nóng)產(chǎn)品基本信息管理模塊和農(nóng)產(chǎn)品溯源信息管理模塊三大模塊,如圖1所示。
2.1.1 系統(tǒng)管理模塊
1) 用戶管理子模塊:負(fù)責(zé)用戶注冊(cè)、登錄、用戶信息管理(添加、修改、刪除和查詢)等功能。管理員和普通用戶使用相同的登錄入口。
2) 日志管理子模塊:記錄系統(tǒng)操作日志和用戶登錄日志。操作日志記錄每次系統(tǒng)接口調(diào)用、操作賬戶、時(shí)間、方式等信息。登錄日志記錄賬戶的登錄時(shí)間、IP地址等信息。
2.1.2 溯源信息管理模塊
1) 施肥信息管理子模塊:施肥信息的添加、查詢、修改和刪除。
2) 施藥信息管理子模塊:施藥信息的添加、查詢、修改和刪除。
3) 運(yùn)輸信息管理子模塊:運(yùn)輸信息的添加、查詢、修改和刪除。
4) 存儲(chǔ)信息管理子模塊:存儲(chǔ)信息的添加、查詢、修改和刪除。
5) 種植戶信息管理子模塊:種植戶信息的添加、查詢、修改和刪除。
2.1.3 農(nóng)產(chǎn)品基本信息管理模塊
1) 農(nóng)產(chǎn)品種植信息管理子模塊:種植信息的添加、查詢、修改和刪除,為每批農(nóng)產(chǎn)品生成唯一的二維碼。
2) 通知公告信息管理子模塊:通知公告信息的添加、查詢、修改和刪除。
3) 用戶反饋信息管理子模塊:用戶反饋信息的添加、查詢、修改和刪除。
2.2 系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)包含13張數(shù)據(jù)表,用于存儲(chǔ)系統(tǒng)運(yùn)行所需的數(shù)據(jù)信息,具體如表1所示。
1) 農(nóng)產(chǎn)品種植信息表:用于記錄農(nóng)產(chǎn)品種植的相關(guān)信息。
2) 施肥信息表:用于記錄農(nóng)產(chǎn)品每次進(jìn)行施肥的相關(guān)信息。
3) 施藥信息表:用于記錄農(nóng)產(chǎn)品每次進(jìn)行殺蟲打藥的相關(guān)信息。
4) 加工信息表:用于記錄對(duì)農(nóng)產(chǎn)品進(jìn)行加工的相關(guān)信息。
5) 運(yùn)輸信息表:用于記錄農(nóng)產(chǎn)品進(jìn)行運(yùn)輸?shù)南嚓P(guān)信息。
6) 種植戶信息表:用于記錄農(nóng)產(chǎn)品種植戶的基本信息。
7) 儲(chǔ)存信息表:用于記錄對(duì)農(nóng)產(chǎn)品進(jìn)行存儲(chǔ)的相關(guān)信息。
8) 銷售信息表:用于記錄農(nóng)產(chǎn)品的銷售情況信息。
9) 通知公告表:用于記錄系統(tǒng)管理員發(fā)布的公告。
10) 用戶基本信息表:用于記錄系統(tǒng)用戶的基本信息。
11) 用戶反饋表:用于記錄用戶反饋的信息。
12) 用戶登錄日志表:用于記錄用戶的系統(tǒng)登錄信息。
13) 用戶操作日志表:用于記錄用戶登錄后所做的操作。
2.3 系統(tǒng)架構(gòu)
系統(tǒng)采用前后端分離架構(gòu),分層設(shè)計(jì),主要包括前端UI層、業(yè)務(wù)層、數(shù)據(jù)層和運(yùn)行環(huán)境4個(gè)層次,如圖2所示。
1) 前端UI層:采用Bootstrap[4]框架,使用HTML、CSS和JavaScript 進(jìn)行開發(fā),為用戶提供友好的操作界面。
2) 業(yè)務(wù)層:使用Java語言和SpringBoot[5]、Spring框架實(shí)現(xiàn),負(fù)責(zé)處理業(yè)務(wù)邏輯。
3) 數(shù)據(jù)層:使用MySQL 數(shù)據(jù)庫,用于存儲(chǔ)系統(tǒng)數(shù)據(jù)。
4) 運(yùn)行環(huán)境:可以部署在Windows或Linux操作系統(tǒng)服務(wù)器上。
3 系統(tǒng)實(shí)現(xiàn)
3.1 服務(wù)端實(shí)現(xiàn)
服務(wù)端基于Maven構(gòu)建項(xiàng)目,使用IntelliJ IDEA開發(fā)。項(xiàng)目采用SpringBoot框架,內(nèi)嵌Tomcat服務(wù)器,無須額外配置。業(yè)務(wù)層基于SpringBoot框架實(shí)現(xiàn),采用經(jīng)典的三層架構(gòu):Controller 層、Service 層和DAO層。
1) DAO層:定義數(shù)據(jù)訪問接口,使用@TableName 注解將實(shí)體類映射到數(shù)據(jù)表,每個(gè)屬性對(duì)應(yīng)數(shù)據(jù)表中的字段。
2) Service層:實(shí)現(xiàn)業(yè)務(wù)邏輯,每個(gè)Service接口對(duì)應(yīng)一個(gè)Impl實(shí)現(xiàn)類,實(shí)現(xiàn)對(duì)每張數(shù)據(jù)表的增刪改查操作。
3) Controller層:負(fù)責(zé)處理前端請(qǐng)求,調(diào)用Service 層完成業(yè)務(wù)邏輯,并將處理結(jié)果返回給前端。
3.2 客戶端實(shí)現(xiàn)
客戶端采用HTML、CSS 和JavaScript 進(jìn)行開發(fā),基于Bootstrap框架構(gòu)建響應(yīng)式布局,適配PC、平板和手機(jī)等多種終端設(shè)備??紤]到移動(dòng)端用戶為主,且二維碼掃描主要通過手機(jī)完成,因此前端頁面設(shè)計(jì)優(yōu)先保證手機(jī)端的顯示效果和用戶體驗(yàn),其他終端設(shè)備保證功能正常即可。
4 結(jié)束語
本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于SpringBoot和二維碼技術(shù)的農(nóng)產(chǎn)品溯源系統(tǒng)。系統(tǒng)采用前后端分離架構(gòu),前端基于Bootstrap框架,后端采用SpringBoot框架和MySQL數(shù)據(jù)庫。系統(tǒng)主要功能模塊包括系統(tǒng)管理、農(nóng)產(chǎn)品基本信息管理和農(nóng)產(chǎn)品溯源信息管理,涵蓋了農(nóng)產(chǎn)品從生產(chǎn)、加工、運(yùn)輸?shù)戒N售的各個(gè)環(huán)節(jié),為農(nóng)產(chǎn)品生產(chǎn)企業(yè)、消費(fèi)者和系統(tǒng)管理員提供了便捷的溯源管理服務(wù)。