


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