摘要:文章介紹了一個(gè)基于Android的綠色交易系統(tǒng)數(shù)據(jù)庫App的設(shè)計(jì)。該系統(tǒng)由Android前端界面、Spring Boot框架服務(wù)端和MySQL數(shù)據(jù)庫共同組成。設(shè)計(jì)選用了idea和Android Studio作為主要開發(fā)工具,旨在為用戶提供一個(gè)便捷、實(shí)用的綠色交易系統(tǒng)數(shù)據(jù)庫,使用戶可以通過移動(dòng)App在各種場(chǎng)合查詢和進(jìn)行綠色交易。
關(guān)鍵詞:綠色交易系統(tǒng);數(shù)據(jù)庫設(shè)計(jì);App
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)23-0078-04
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID)
隨著全球?qū)沙掷m(xù)發(fā)展的關(guān)注日益增加,綠色交易逐漸成為經(jīng)濟(jì)活動(dòng)中的重要組成部分,并從傳統(tǒng)的線下操作逐漸向“線上+線下”轉(zhuǎn)型。對(duì)于用戶來說,通過智能手機(jī)進(jìn)行線上交易比僅依賴PC端操作更加方便。一方面,用戶可以隨時(shí)隨地通過手機(jī)瀏覽和購(gòu)買與環(huán)保、清潔能源、低碳經(jīng)濟(jì)等相關(guān)的商品;另一方面,供應(yīng)商可以建立實(shí)時(shí)的用戶反饋和評(píng)價(jià)系統(tǒng),讓用戶對(duì)購(gòu)買的綠色商品和服務(wù)進(jìn)行評(píng)價(jià)和打分,為商家提供改進(jìn)產(chǎn)品的依據(jù)。基于這一背景,本設(shè)計(jì)旨在開發(fā)一個(gè)基于Android操作系統(tǒng)的綠色交易移動(dòng)端數(shù)據(jù)庫App,為用戶提供一個(gè)便捷、實(shí)時(shí)的交易平臺(tái)。
1 開發(fā)技術(shù)以及環(huán)境
本設(shè)計(jì)選取的Android系統(tǒng),涵蓋了Spring boot框架以及MySQL作為本設(shè)計(jì)的開源數(shù)據(jù)庫[1]。究其原因,是因?yàn)镸ySQL對(duì)PHP有著較好的支持,可借助GPL協(xié)議修改源碼來開發(fā)實(shí)現(xiàn)MySQL系統(tǒng)。
1.1 開發(fā)軟件環(huán)境
本設(shè)計(jì)選取的Android Studio,是基于IntelliJ IDEA專門為Android開發(fā)定制的一個(gè)集成開發(fā)環(huán)境。
1.2 開發(fā)硬件環(huán)境
筆記本一臺(tái):AMD Ryzen 7 4800H/16 GB/RTX2060/Windows 11專業(yè)版21H2;手機(jī)一臺(tái):Redmi Note 7 Pro/6.0GB/MIUI穩(wěn)定版12.5.4/Android10;顯示器一臺(tái):AOC 23.8英寸 I2490VXH/BS。
2 系統(tǒng)分析與設(shè)計(jì)
2.1 需求功能分析
注冊(cè)功能:用戶輸入相應(yīng)的信息即可完成注冊(cè)。
登錄功能:用戶在登錄界面輸入信息后,系統(tǒng)驗(yàn)證無誤即可成功登錄。
程序首頁:包括一個(gè)廣告輪播圖、一個(gè)搜索框和一個(gè)推薦商品列表。
綠色交易車:用戶可將商品添加到綠色交易車,并在綠色交易車中調(diào)整數(shù)量,顯示合計(jì)金額。
商品分類:在商品分類列表中,可根據(jù)所選的一級(jí)分類找到對(duì)應(yīng)的二級(jí)商品。
商品搜索:在搜索欄中輸入想要查詢的商品,可以查詢到對(duì)應(yīng)的商品,支持模糊搜索。
商品詳情頁:展示商品的輪播圖,并可點(diǎn)擊查看大圖,還可以收藏商品和查看商品評(píng)分。
客服咨詢:用戶可以與客服進(jìn)行溝通。
我的收藏:在“我的收藏”中,用戶可以查看自己收藏的商品列表。
瀏覽記錄:用戶可以查看曾經(jīng)瀏覽過的商品記錄。
用戶完成注冊(cè)后,首先點(diǎn)擊登錄按鈕進(jìn)入首頁進(jìn)行商品瀏覽。然后可以利用商品分類和搜索功能來挑選喜歡的商品。接下來,在商品詳情頁中,用戶可以查看相關(guān)信息,篩選適合自己的綠色交易商品,并將其添加到交易車中。最后,在確認(rèn)個(gè)人信息(如收貨地址和聯(lián)系方式)無誤后,用戶可以生成訂單并進(jìn)行支付,完成最終的商品購(gòu)買。綠色交易流程圖與功能結(jié)構(gòu)圖見圖1。
2.2 性能分析
啟動(dòng)時(shí)間:在市場(chǎng)上常見的安卓和蘋果智能手機(jī)配置下,應(yīng)用的啟動(dòng)時(shí)間應(yīng)該在5秒之內(nèi)。
響應(yīng)時(shí)間:在忽略網(wǎng)絡(luò)和設(shè)備配置的情況下,本地測(cè)試顯示點(diǎn)擊的響應(yīng)速度應(yīng)該在0.5秒以內(nèi)。
運(yùn)行內(nèi)存占用:在用戶正常操作的情況下,應(yīng)用的運(yùn)行內(nèi)存占用不應(yīng)超過100 MB。
硬盤空間占用:在用戶正常使用的情況下,包括緩存,商城App所占據(jù)的硬盤空間總量應(yīng)不超過700 MB。
2.3 數(shù)據(jù)庫設(shè)計(jì)
考慮到數(shù)據(jù)庫的選擇和設(shè)計(jì)會(huì)直接影響到系統(tǒng)的性能和應(yīng)用的設(shè)計(jì)[2],因此在本設(shè)計(jì)中,選擇了當(dāng)前市場(chǎng)上使用頻率較高的開源數(shù)據(jù)庫MySQL,并且采用方便、易用、可視化界面的Navicat Premium作為數(shù)據(jù)庫操作的輔助工具。在數(shù)據(jù)庫的整體框架上,本系統(tǒng)共設(shè)計(jì)了13個(gè)表,它們分別是:用戶表、用戶地址表、品牌表、優(yōu)惠券信息表、物流表、訂單表、商品表、商品圖片表、商品類型表、用戶瀏覽記錄表、綠色交易車表、用戶收藏表、用戶反饋表。
2.3.1 用戶表
用戶表包含用戶id(user_id) 、用戶名(username) 、密碼(password) 、昵稱(nike_name) 、頭像(head_pic) 、聯(lián)系電話(telno) 、郵箱(email) 字段。設(shè)置用戶id為主鍵,自動(dòng)生成。
2.3.2 用戶地址表
用戶地址表設(shè)置地址id(address_id) 為主鍵,采用自動(dòng)生成,此外還包含用戶id(user_id) 、收貨人(Consignee) 、手機(jī)號(hào)(telno) 、省市區(qū)(province_and_city) 和詳細(xì)地址(detailed_address) 字段。
2.3.3 品牌表
品牌表包含品牌id(brand_id) 、品牌名(brand_name) 和品牌圖片地址(brand_pic_url) 字段。
2.3.4 優(yōu)惠券信息表
優(yōu)惠券信息表包含優(yōu)惠券id(discount_volume_id) 、用戶id(user_id) 、優(yōu)惠券類型(discount_volume_type) 、優(yōu)惠券說明(preferential_volume_content) 字段。
2.3.5 物流表
物流表包含發(fā)貨方式(preferential_volume_content) 、物流id(logistics_id) 、物流公司(logistics_company) 、運(yùn)單id(waybill_id) 、物流詳情(logistics_details) 字段。其中物流id字段采用主鍵自動(dòng)生成策略。
2.3.6 訂單表
訂單表包含訂單id(order_id) 、訂單日期(order_date) 、用戶id(user_id) 、訂單說明(receiver_information) 、訂單金額(order_money) 、訂單狀態(tài)(order_status) 、優(yōu)惠券id(discount_volume_id) 、物流id(logistics_id) 、運(yùn)費(fèi)(freight) 、發(fā)票(invoice_rise) 、支付模式(delivery_mode) 、支付時(shí)間(delivery_time) 、付款方式(payment_method) 字段。其中訂單id為主鍵采用自增的策略,通過用戶id、優(yōu)惠券id、物流id去關(guān)聯(lián)相應(yīng)的表。
2.3.7 商品表
商品表包含商品id(product_id) 、商品類型id(product_type_id) 、商品名(product_name) 、商品原價(jià)(old_price) 、商品描述(description) 、商品新價(jià)格(new_price) 、商品圖片(product_pic_url) 、商品狀態(tài)(flag) 、商品單位(unit) 、品牌id(brand_id) 、庫存(inventory) 、上架時(shí)間(time) 、商品規(guī)格(specification) 字段。其中,商品id為主鍵,采用自增的策略。通過商品類型id、品牌id去關(guān)聯(lián)相應(yīng)的表。
2.3.8 商品圖片表
商品圖片表包含商品圖片id(pic_id) 、商品id(product_id) 、商品圖片路徑(product_pic_url) 字段。其中商品圖片id采用自增策略。通過商品id去管理相對(duì)應(yīng)的商品。
2.3.9 商品類型表
商品類型表包含商品類型id(product_type_id) 商品類型(product_type_name)、商品類型圖(product_type_pic_url) 字段。其中商品類型id為自增的主鍵。
2.3.10 用戶瀏覽記錄表
用戶瀏覽記錄表包含用戶瀏覽記錄id(user_browse_record_id)、用戶id(user_id)、商品id(product_id) 字段。其中以用戶瀏覽記錄編號(hào)為自增主鍵,通過用戶id和商品id去關(guān)聯(lián)用戶表(tbl_user) 和商品表(tbl_product) 。
2.3.11 綠色交易車表
綠色交易車表包含用戶id、商品數(shù)量、商品id字段。通過商品id去關(guān)聯(lián)商品表(tbl_product) 。
2.3.12 用戶收藏表
用戶收藏表包含用戶收藏id(tbl_product) 、用戶id(user_id) 、商品編號(hào)id(product_id) 字段。其中用戶收藏id為遞增主鍵,通過用戶id和商品id分別對(duì)應(yīng)去關(guān)聯(lián)用戶表(tbl_user) 和商品表(tbl_product) 。
2.3.13 用戶反饋表
用戶反饋表包含用戶反饋id(user_feedback) 、商品id(product_id) 、用戶id(user_id) 、聯(lián)系方式(contact_information) 、反饋內(nèi)容(feedback_content) 、星級(jí)(star_class) 字段。以用戶反饋編號(hào)為主鍵,采用遞增的策略。通過用戶id和商品id分別去關(guān)聯(lián)用戶表(tbl_user) 和商品表(tbl_product) 。
2.4 綠色交易系統(tǒng)數(shù)據(jù)庫前端設(shè)計(jì)
2.4.1 用戶注冊(cè)登錄功能
在本次基于Android的綠色交易系統(tǒng)數(shù)據(jù)庫App設(shè)計(jì)中,注冊(cè)頁面要求用戶輸入用戶名和兩次密碼。只有在驗(yàn)證用戶名沒有重復(fù)且兩次密碼輸入一致時(shí),才能成功完成注冊(cè)。注冊(cè)完成后,用戶將自動(dòng)跳轉(zhuǎn)到登錄頁面。如果用戶忘記密碼,可以選擇“找回密碼”操作來重新找回并完成密碼重置。此外,本設(shè)計(jì)還在用戶名和密碼的輸入上加入了正則表達(dá)式來判斷用戶的輸入是否符合規(guī)范,這樣可以避免密碼過短、過于簡(jiǎn)單,或者用戶名太短的問題。這些措施旨在提高系統(tǒng)的安全性和用戶體驗(yàn)。
2.4.2 綠色交易流程設(shè)計(jì)
商品瀏覽功能是本設(shè)計(jì)中最基本的功能之一,即使用戶沒有登錄也可以使用。如圖2所示,用戶可以通過各種商品列表頁來瀏覽商品,然后點(diǎn)擊進(jìn)入商品詳情頁。在用戶登錄后,他們還可以在商品詳情頁上對(duì)商品進(jìn)行選擇。例如,他們可以選擇是否將商品加入綠色交易車,是否需要與客服進(jìn)行咨詢確認(rèn),或者是否將商品僅供暫時(shí)收藏等操作。這些功能的存在為用戶提供了更加靈活和便捷的購(gòu)物體驗(yàn)。
3 服務(wù)端功能的具體實(shí)現(xiàn)
服務(wù)端采用Spring Boot框架實(shí)現(xiàn)。其中,config包用于存儲(chǔ)服務(wù)端的相關(guān)配置信息,包括數(shù)據(jù)庫配置文件、日志配置文件、應(yīng)用配置文件等。Controller包中存放各種API接口[3]。Dao包主要用于提供對(duì)數(shù)據(jù)庫的集成支持,方便快速地進(jìn)行數(shù)據(jù)庫操作。而model包則包含實(shí)體類,這些實(shí)體類是根據(jù)數(shù)據(jù)庫表結(jié)構(gòu)自動(dòng)生成的。
3.1 登錄注冊(cè)功能
登錄功能由login()方法實(shí)現(xiàn),服務(wù)端接收客戶端傳來的user對(duì)象,然后通過遍歷數(shù)據(jù)庫驗(yàn)證用戶名和密碼是否正確。如果驗(yàn)證成功,則返回包含用戶信息的數(shù)據(jù)。
3.2 商品列表查詢功能
商品列表查詢功能相對(duì)簡(jiǎn)單,可以分為查詢所有商品、根據(jù)條件查詢和模糊查詢等。在本設(shè)計(jì)中,綠色交易系統(tǒng)數(shù)據(jù)庫會(huì)傳入相應(yīng)的品牌ID,然后服務(wù)端根據(jù)傳入的品牌ID去搜索滿足條件的商品,并最終返回結(jié)果[4]。
3.3 交易車添加、修改功能
當(dāng)用戶在綠色交易系統(tǒng)數(shù)據(jù)庫上點(diǎn)擊添加到綠色交易車時(shí),會(huì)向后端發(fā)送一個(gè)包含UserCart對(duì)象的HTTP請(qǐng)求[5]。該對(duì)象包含用戶ID和商品信息等。服務(wù)端收到請(qǐng)求后,會(huì)遍歷查詢找到對(duì)應(yīng)的用戶,再找到相應(yīng)的商品,并進(jìn)行綠色交易車表的插入操作。
3.4 相關(guān)功能測(cè)試
首先,在登錄注冊(cè)功能的測(cè)試方面,該功能邏輯清晰,易于理解。通過對(duì)User對(duì)象進(jìn)行驗(yàn)證,能有效防止非法用戶訪問系統(tǒng)。同時(shí),該功能還提供了用戶信息的安全存儲(chǔ),為后續(xù)的個(gè)性化服務(wù)和操作打下了堅(jiān)實(shí)的基礎(chǔ)。
其次,在商品列表查詢功能的測(cè)試中,能夠?yàn)橛脩籼峁┣逦臑g覽和搜索商品的能力。通過將綠色交易系統(tǒng)數(shù)據(jù)庫與品牌ID相結(jié)合,實(shí)現(xiàn)了精確和高效的查詢。這種設(shè)計(jì)不僅簡(jiǎn)化了查詢過程,還為用戶提供了更個(gè)性化的搜索體驗(yàn)。此外,該功能還支持模糊查詢和分頁查詢,進(jìn)一步增強(qiáng)了其實(shí)用性。
最后,在交易車添加、修改功能的測(cè)試中,該功能允許用戶對(duì)感興趣的商品進(jìn)行管理,并能隨時(shí)更新購(gòu)買意向。當(dāng)用戶點(diǎn)擊添加綠色交易車時(shí),會(huì)發(fā)送包含用戶ID和商品信息的UserCart對(duì)象。服務(wù)端在接收到請(qǐng)求后,能夠快速定位到用戶和相應(yīng)的商品,并進(jìn)行插入操作。這樣的設(shè)計(jì)保證了數(shù)據(jù)的準(zhǔn)確性和一致性,并為用戶提供了流暢的購(gòu)物體驗(yàn)。
綜上所述,綠色交易系統(tǒng)數(shù)據(jù)庫App的數(shù)據(jù)庫設(shè)計(jì)在服務(wù)端功能上具有很高的可行性和實(shí)用性。這些功能不僅滿足了用戶的基本需求,還通過高效的數(shù)據(jù)庫操作和邏輯設(shè)計(jì)提高了系統(tǒng)的性能和穩(wěn)定性。
4 結(jié)論
綠色交易的目的是通過交易的方式強(qiáng)調(diào)節(jié)約能源和材料消耗,減少環(huán)境污染,并實(shí)現(xiàn)社會(huì)環(huán)境資源的可持續(xù)發(fā)展。本設(shè)計(jì)是基于Android的綠色交易系統(tǒng)數(shù)據(jù)庫App,主要包含Android前端(綠色交易App本身)和一個(gè)服務(wù)器后端。用戶可以通過App進(jìn)行綠色交易。前端使用Retrofit2框架實(shí)現(xiàn)網(wǎng)絡(luò)請(qǐng)求,通過Banner實(shí)現(xiàn)輪播圖,并通過自定義控件實(shí)現(xiàn)綠色交易車的相關(guān)功能。此外,本設(shè)計(jì)還通過自繪控件完成了客服咨詢界面的實(shí)現(xiàn)。在未來的研究中,希望能對(duì)代碼進(jìn)行進(jìn)一步優(yōu)化,以實(shí)現(xiàn)多人同時(shí)進(jìn)行虛擬化交易,推動(dòng)綠色交易行業(yè)的高效運(yùn)轉(zhuǎn)。
參考文獻(xiàn):
[1] 王子靜,劉思雨.基于ECharts的交易數(shù)據(jù)可視化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].集成電路應(yīng)用,2023,40(5):244-245.
[2] 于樹科,嚴(yán)晨雪.基于區(qū)塊鏈技術(shù)的物聯(lián)網(wǎng)數(shù)據(jù)交易系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].信息系統(tǒng)工程,2022(12):51-54.
[3] 李群,孫永忠,郭寧遠(yuǎn).Oracle數(shù)據(jù)庫數(shù)據(jù)備份與還原系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].網(wǎng)絡(luò)安全和信息化,2023(5):75-77.
[4] 杜欣笑.基于區(qū)塊鏈技術(shù)的物聯(lián)網(wǎng)數(shù)據(jù)感知與自動(dòng)交易系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2019.
[5] 黃永鋒,芮國(guó)榮,王嘉瑋,等.基于區(qū)塊鏈技術(shù)的房地產(chǎn)預(yù)售資金托管系統(tǒng)探究:以正泰公司托管系統(tǒng)改造為例[J].江蘇理工學(xué)院學(xué)報(bào),2022,28(6):107-121.
【通聯(lián)編輯:張薇】