日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(附源码)springboot校园购物网站APP 毕业设计041037

發(fā)布時間:2024/3/13 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (附源码)springboot校园购物网站APP 毕业设计041037 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

springboot校園購物網(wǎng)站APP

摘 要

21世紀(jì)的今天,隨著社會的不斷發(fā)展與進(jìn)步,人們對于信息科學(xué)化的認(rèn)識,已由低層次向高層次發(fā)展,由原來的感性認(rèn)識向理性認(rèn)識提高,管理工作的重要性已逐漸被人們所認(rèn)識,科學(xué)化的管理,使信息存儲達(dá)到準(zhǔn)確、快速、完善,并能提高工作管理效率,促進(jìn)其發(fā)展。

論文主要是對校園購物網(wǎng)站APP進(jìn)行了介紹,包括研究的現(xiàn)狀,還有涉及的開發(fā)背景,然后還對系統(tǒng)的設(shè)計目標(biāo)進(jìn)行了論述,還有系統(tǒng)的需求,以及整個的設(shè)計方案,對系統(tǒng)的設(shè)計以及實現(xiàn),也都論述的比較細(xì)致,最后對校園購物網(wǎng)站APP 進(jìn)行了一些具體測試。

本文以springboot為開發(fā)技術(shù),實現(xiàn)了一個校園購物網(wǎng)站APP。校園購物網(wǎng)站APP的主要使用者分為用戶、管理員;管理員功能包括有:購物資訊、用戶管理、商品管理、分類列表、訂單列表、售后服務(wù);前臺首頁功能包括有:首頁、訂單、購物車、購物資訊、我的等功能。通過這些功能模塊的設(shè)計,基本上實現(xiàn)了整個校園購物網(wǎng)站APP 的過程。

具體在系統(tǒng)設(shè)計上,采用了springboot的結(jié)構(gòu),后臺上采用Mysql數(shù)據(jù)庫,是一個非常優(yōu)秀的校園購物網(wǎng)站APP 。

關(guān)鍵詞:校園購物網(wǎng)站;Spring boot框架;

Springboot campus shopping website app

Abstract

Today in the 21st century, with the continuous development and progress of society, people's scientific understanding of information has developed from low-level to high-level, and from the original perceptual understanding to rational understanding. The importance of management has been gradually recognized by people. Scientific management can make information storage accurate, fast and perfect, improve work management efficiency and promote its development.

This paper mainly introduces the campus shopping website app, including the research status and the development background involved, then discusses the design objectives of the system, the requirements of the system and the whole design scheme, and discusses the design and implementation of the system in detail. Finally, it makes some specific tests on the campus shopping website app.

Taking springboot as the development technology, this paper realizes a campus shopping website app. The main users of campus shopping website app are divided into users and administrators; Administrator functions include: shopping information, user management, commodity management, classification list, order list and after-sales service; The front page functions include: home page, order, shopping cart, shopping information, my, etc. Through the design of these functional modules, the whole process of campus shopping website app is basically realized.

Specifically, in the system design, it adopts the structure of springboot and MySQL database in the background. It is a very excellent campus shopping website app.

Key words:Campus shopping website; Spring boot framework;

目 ?錄

第1章 緒論 1

1.1?研究意義 1

1.2?國內(nèi)外研究現(xiàn)狀 1

1.3?論文組成結(jié)構(gòu) 2

第2章 開發(fā)工具及相關(guān)技術(shù)介紹 3

2.1開發(fā)技術(shù) 3

2.2?Android技術(shù)介紹 3

2.3 B/S結(jié)構(gòu) 3

2.4?Spring Boot框架 4

2.5?Mysql數(shù)據(jù)庫 5

第3章 系統(tǒng)分析 6

3.1?可行性分析 6

3.1.1?經(jīng)濟(jì)可行性 6

3.1.2?技術(shù)可行性 6

3.1.3?操作可行性 6

3.2?性能分析 ? 6

3.3?系統(tǒng)操作流程 9

3.3.1用戶登錄流程 9

3.3.2信息添加流程 10

3.3.3信息刪除流程 10

第4章 系統(tǒng)設(shè)計 11

4.1系統(tǒng)架構(gòu)設(shè)計 11

4.2開發(fā)流程設(shè)計 11

4.3數(shù)據(jù)庫設(shè)計 12

4.3.1實體ER圖 13

4.3.2數(shù)據(jù)表 13

第5章 系統(tǒng)實現(xiàn) 17

5.1用戶前臺功能模塊 17

5.2管理員功能模塊 27

第6章 系統(tǒng)測試 35

6.1??測試目的 35

6.2?測試方案設(shè)計 35

6.2.1 測試策略 35

6.2.2 測試分析 35

6.3 測試結(jié)果 36

第7章 總結(jié)與展望 37

參考文獻(xiàn) 38

致謝 40

  • 緒論
  • 1.1研究意義

    校園購物網(wǎng)站是指在校園范圍內(nèi)利用基礎(chǔ)網(wǎng)絡(luò)、計算機(jī)硬件、軟件和電子通訊手段構(gòu)建,為校園內(nèi)師生提供網(wǎng)絡(luò)購物的站點。校園購物網(wǎng)站的建立有其深遠(yuǎn)的實踐意義:

    ?(1)校園購物網(wǎng)站能為電子商務(wù)、物流及相關(guān)專業(yè)的特長生提供實踐的機(jī)會。校園購物網(wǎng)站為學(xué)生提供電子商務(wù)的實踐環(huán)境,?為電子商務(wù)理論教學(xué)提供了實習(xí)基地,為培養(yǎng)電子商務(wù)合格人才創(chuàng)造了條件,為新世紀(jì)電子商務(wù)的全面開展打下基礎(chǔ),同時也可以增加學(xué)生勤工助學(xué)的機(jī)會。

    ?(2)校園購物網(wǎng)站解決電子商務(wù)中物流配送、信用與安全支付等關(guān)鍵問題。校園購物網(wǎng)站的物流可以采取買賣雙方通過E-mail或電話聯(lián)系,共同商討供貨方式。而支付除了現(xiàn)金支付外,還可通過校園網(wǎng)利用校園卡轉(zhuǎn)賬功能進(jìn)行安全、快捷的資金網(wǎng)上支付。

    ?(3)校園購物網(wǎng)站培養(yǎng)學(xué)生的創(chuàng)業(yè)理念。校園購物網(wǎng)站是一個開放的網(wǎng)站,任何人都可以成為買者或者賣者,無需任何費(fèi)用,可以在網(wǎng)上開-一個店鋪,這些都是大學(xué)生的就業(yè)實踐,對于大學(xué)生將來走上工作崗位是一個很好的鍛煉機(jī)會?。

    ?(4)校園購物網(wǎng)站提供二手市場流通學(xué)生的閑置物品,避免資源的浪費(fèi)。每年畢業(yè)生離校時都要進(jìn)行舊物交易,并且在日常學(xué)習(xí)生活中學(xué)生們也常出現(xiàn)一些閑置物品待交易,這些都能在網(wǎng)上二手交易市場中實現(xiàn)。在校園購物網(wǎng)站中,通過發(fā)布供求信息,就可以很好地解決二手市場的供求關(guān)系。

    1.2國內(nèi)外研究現(xiàn)狀

    隨著計算機(jī)網(wǎng)絡(luò)的不斷滲透,人們的生活與工作、學(xué)習(xí)的方式也在慢慢發(fā)生變化。傳統(tǒng)的用戶相關(guān)信息管理方式一般都采取人工的方式,信息的獲取、整理、修改、存儲等工作還停留在人工階段。這種方式一方面需要花費(fèi)大量的人力、物力和金錢,交互起來比較困難,而且會浪費(fèi)時間;另一方面對用戶等信息的管理,特別是隨著用戶數(shù)量的遞增,查詢、修改起來特別困難;最后由于用戶等其他信息的不斷增加,信息的存儲也成為了難題。

    一些發(fā)達(dá)國家,網(wǎng)絡(luò)發(fā)展比較快,已經(jīng)很大程度上完成了從人工到計算機(jī)管理的轉(zhuǎn)變。我國計算機(jī)應(yīng)用起步比較晚,而且發(fā)展區(qū)域不平衡,還有很多地區(qū)或單位使用傳統(tǒng)的方式進(jìn)行管理,但是目前計算機(jī)發(fā)展較快,包括網(wǎng)絡(luò)也已經(jīng)普及,很多單位和用戶也開始慢慢接觸網(wǎng)絡(luò)管理系統(tǒng)。縱觀這些系統(tǒng)主要有以下幾個特點:

    (1)先進(jìn)性:實現(xiàn)網(wǎng)絡(luò)化管理。

    (2)通用性:同一行業(yè)基本都能使用。

    (3)方便性:通過網(wǎng)絡(luò)就能完成管理工作。

    (4)及時性:信息更新及時。

    (5)可擴(kuò)展性:可根據(jù)需要進(jìn)行模塊的增加。

    (6)安全性:對單位、用戶等信息進(jìn)行加密。

    截至如今,互聯(lián)網(wǎng)已經(jīng)深入人們的生活,智能手機(jī)、筆記本電腦等已經(jīng)是人們獲取信息的主要工具,這是一個溝通無限的時代,因此,利用網(wǎng)絡(luò)來進(jìn)行校園購物網(wǎng)站APP的管理也成為大勢所趨,所以,開發(fā)一個校園購物網(wǎng)站APP是必須的。

    1.3論文組成結(jié)構(gòu)

    根據(jù)市場調(diào)研得到的信息數(shù)據(jù),結(jié)合國內(nèi)外前沿研究,利用相關(guān)系統(tǒng)開發(fā)和設(shè)計方法,最終設(shè)計出校園購物網(wǎng)站APP系統(tǒng) 。

    本文共有七章,如下所示。

    第一章概述了校園購物網(wǎng)站APP系統(tǒng)的研究目的和意義;精煉地總結(jié)了國內(nèi)外在內(nèi)的領(lǐng)域研究情況和未來的研究趨勢,最后給出了論文的組成結(jié)構(gòu)。

    第二章簡要概述了本文所用的開發(fā)技術(shù)和工具。

    第三章簡要對系統(tǒng)各業(yè)務(wù)流程進(jìn)行需求分析、可行性分析。

    第四章對校園購物網(wǎng)站APP進(jìn)行設(shè)計。

    第五章對校園購物網(wǎng)站APP進(jìn)行實現(xiàn),并貼出相關(guān)頁面截圖,語言描述出具體功能實現(xiàn)的操作方法。

    第六章對校園購物網(wǎng)站APP采用測試用例的方式來對一些主要功能模塊測試,最后得出測試結(jié)果。

    第七章總結(jié)全文并對未來的研究做出展望。

  • 開發(fā)工具及相關(guān)技術(shù)介紹
  • 2.1開發(fā)技術(shù)

    本系統(tǒng)前端框架采用了比較流行的漸進(jìn)式JavaScript框架Vue.js。使用Vue-Router和Vuex實現(xiàn)動態(tài)路由和全局狀態(tài)管理,Ajax實現(xiàn)前后端通信,Element UI組件庫使頁面快速成型。后端部分:采用springboot作為開發(fā)框架,同時集成MyBatis、Redis等相關(guān)技術(shù)。

  • 2.2 Android技術(shù)
  • Android是基于Linux內(nèi)核的操作系統(tǒng),早期由Google開發(fā),后由開放手機(jī)聯(lián)盟開發(fā)。它采用了軟件堆的架構(gòu),主要分為三部分。底層以Linux內(nèi)核工作為基礎(chǔ),只提供基本功能;其他的應(yīng)用軟件則由各公司自行開發(fā),以Java作為編寫程序的一部分。另外,為了推廣此技術(shù),Google和其它幾十個手機(jī)公司建立了開放手機(jī)聯(lián)盟。Android在未公開之前常被傳聞為GPhone。

    它采用了軟件堆層(software stack,又名軟件疊層)的架構(gòu),主要分為三部分:底層以Linux核心為基礎(chǔ),由c語言開發(fā),只提供基本功能。中間層包括函數(shù)庫Library和虛擬機(jī)Virtual Machine,由C++開發(fā)。最上層是各種應(yīng)用軟件,包括通話程序,短信程序等,應(yīng)用軟件則由各公司自行開發(fā),以Java編寫。

    2.3B/S結(jié)構(gòu)

    B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)是目前主流的網(wǎng)絡(luò)化的結(jié)構(gòu)模式,它能夠把系統(tǒng)核心功能集中在服務(wù)器上面,可以幫助系統(tǒng)開發(fā)人員簡化操作,便于維護(hù)和使用。只需要用戶在客戶端安裝360瀏覽器、谷歌瀏覽器、QQ瀏覽器等當(dāng)前大眾瀏覽器,在電腦里面安裝sqlserver、mysql數(shù)據(jù)庫等數(shù)據(jù)庫。安裝好的瀏覽器與服務(wù)器端的數(shù)據(jù)庫進(jìn)行信息數(shù)據(jù)的交互。很多專門軟件能夠做到的事情,采用B/S結(jié)構(gòu)模式也能實現(xiàn),它能夠結(jié)合Web瀏覽器技術(shù),ActiveX技術(shù)以及多種腳本語言等技術(shù)。幫助程序開發(fā)者節(jié)約了不少開發(fā)成本。目前B/S結(jié)構(gòu)成為程序開發(fā)主流結(jié)構(gòu),它最好的地方就是沒有地點限制還不用專門安裝軟件,筆記本或者電腦能夠上網(wǎng)就能訪問系統(tǒng)。系統(tǒng)使用B/S進(jìn)行開發(fā)在后期系統(tǒng)維護(hù)上面就會很省事,不用什么問題都在服務(wù)器上面操作,簡單的客戶端處理就解決部分問題,開發(fā)出來的程序跟用戶交互性上面也會增強(qiáng),還可以實時刷新瀏覽器進(jìn)行程序局部的數(shù)據(jù)信息更新。

    ?

    圖1-1 B/S模式三層結(jié)構(gòu)圖

    2.4Spring Boot框架

    Spring框架是Java系統(tǒng)上的一種開源應(yīng)用框架,提供具有控制反轉(zhuǎn)特性的容器。盡管Spring框架自身對編程模型沒有限制,但其在Java應(yīng)用中的頻繁使用讓它備受青睞,以至于后來讓它作為EJB(EnterpriseJavaBeans)模型的補(bǔ)充,甚至是替補(bǔ)。Spring框架為開發(fā)提供了一系列的解決方案,比如利用控制反轉(zhuǎn)的核心特性,并通過依賴注入實現(xiàn)控制反轉(zhuǎn)來實現(xiàn)管理對象生命周期容器化,利用面向切面編程進(jìn)行聲明式的事務(wù)管理,整合多種持久化技術(shù)管理數(shù)據(jù)訪問,提供大量優(yōu)秀的Web框架方便開發(fā)等等。Spring框架具有控制反轉(zhuǎn)(IOC)特性,IOC旨在方便項目維護(hù)和測試,它提供了一種通過Java的反射機(jī)制對Java對象進(jìn)行統(tǒng)一的配置和管理的方法。Spring框架利用容器管理對象的生命周期,容器可以通過掃描XML文件或類上特定Java注解來配置對象,開發(fā)者可以通過依賴查找或依賴注入來獲得對象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時運(yùn)行時可配置;AOP框架主要針對模塊之間的交叉關(guān)注點進(jìn)行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無法與AspectJ框架相比,但通過與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務(wù)管理、遠(yuǎn)程訪問等功能均可以通過使用SpringAOP技術(shù)實現(xiàn)。Spring的事務(wù)管理框架為Java系統(tǒng)帶來了一種抽象機(jī)制,使本地和全局事務(wù)以及嵌套事務(wù)能夠與保存點一起工作,并且?guī)缀蹩梢栽贘ava系統(tǒng)的任何環(huán)境中工作。

    2.5Mysql數(shù)據(jù)庫

    數(shù)據(jù)庫是系統(tǒng)開發(fā)過程中不可或缺的一部分。 在WEB應(yīng)用方面,MySQL AB開發(fā)了一個具有很大優(yōu)勢的MySQL關(guān)系數(shù)據(jù)庫管理系統(tǒng)。 MySQL可以將數(shù)據(jù)存儲在不同的表中,這非常靈活,并且還可以提高系統(tǒng)在實際應(yīng)用中的速度。 數(shù)據(jù)庫訪問最常用于標(biāo)準(zhǔn)SQL語言,MySQL用于SQL語言,因此它具有高度兼容性。數(shù)據(jù)庫的操作是必不可少的,包括對數(shù)據(jù)庫表的增加、刪除、修改、查詢等功能。現(xiàn)如今,數(shù)據(jù)庫可以分為關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫,Mysql屬于關(guān)系性數(shù)據(jù)庫,Mysql數(shù)據(jù)庫是一款小型的關(guān)系型數(shù)據(jù)庫,它以其自身特點:體積小、速度快、成本低等,Mysql數(shù)據(jù)庫是目前最受歡迎的開源數(shù)據(jù)庫。

    在WEB應(yīng)用技術(shù)中, Mysql數(shù)據(jù)庫支持不同的操作系統(tǒng)系統(tǒng),雖然在不同系統(tǒng)下的安裝和配置都不相同,但是差別也不是很大,Mysql在Windows系統(tǒng)下兩種安裝方式,二進(jìn)制版和免安裝版。安裝完Mysql數(shù)據(jù)庫之后,需要啟動服務(wù)進(jìn)程,相應(yīng)的客戶端就可以連接數(shù)據(jù)庫,客戶端可通過命令行或者圖形界面工具登錄數(shù)據(jù)庫。

  • 系統(tǒng)分析
  • 3.1可行性分析

    本系統(tǒng)將在經(jīng)濟(jì)、技術(shù)、操作這三個角度上進(jìn)行可行性分析。

  • 經(jīng)濟(jì)可行性
  • 整個系統(tǒng)從設(shè)計到開發(fā)以及測試過程嚴(yán)謹(jǐn)步驟齊全,所有工作任務(wù)全部由本人完成,并未獲取外部技術(shù)支持,節(jié)約了一切服務(wù)成本開銷以及人工成本,在硬件方面,為節(jié)約成本使用一臺二手移動工作站作為項目部署服務(wù)器以及數(shù)據(jù)庫服務(wù)器,成本在一萬元一下,真?zhèn)€網(wǎng)絡(luò)部署也是由本人獨立完成不涉及到其他人工費(fèi)用,整個開發(fā)過程本著低成本,低消耗的原則。

  • 技術(shù)可行性
  • 技術(shù)可行性分析的目的是確認(rèn)該系統(tǒng)能否利用現(xiàn)有技術(shù)實現(xiàn),并評估開發(fā)效率和完成情況。技術(shù)的可行性是指在當(dāng)前的技術(shù)條件下,計算機(jī)軟件和硬件的開發(fā)是否能夠滿足發(fā)展的要求。因為該系統(tǒng)的開發(fā)基于springboot語言,所以開發(fā)該系統(tǒng)所需的軟件和硬件條件可以在普通計算機(jī)上滿足。因為它占用的內(nèi)存相對較少,所以用Mysql數(shù)據(jù)庫開發(fā)和設(shè)計軟件理論上沒有問題,因為它占用的內(nèi)存太少。上述技術(shù)可以有效地保證系統(tǒng)的成功和高效開發(fā)。

  • 操作可行性
  • 校園購物網(wǎng)站APP的使用界面簡單易于操作,采用常見的界面窗口來登錄界面,通過電腦進(jìn)行訪問操作,用戶只要平時使用過電腦都能進(jìn)行訪問操作。此系統(tǒng)的開發(fā)采用springboot技術(shù)開發(fā),人性化和完善化是B/S結(jié)構(gòu)開發(fā)比較顯要的特點使得用戶操作相比較其他更加簡潔方便。易操作、易管理、交互性好在本系統(tǒng)操作上體現(xiàn)得淋漓盡致。

    3.2性能分析

    對于性能分析,與傳統(tǒng)的管理方式相比,傳統(tǒng)的管理方式是使用人工通過用紙和筆進(jìn)行數(shù)據(jù)信息的統(tǒng)計和管理,并且這種方式對于存儲和查找某一數(shù)據(jù)信息都比較麻煩,隨著計算機(jī)網(wǎng)絡(luò)的到來,這種傳統(tǒng)的方法很難適應(yīng)當(dāng)下社會的發(fā)展,不僅降低人們的辦事效率,而且還需要很多的人力和物力,對于使用的時間和所要花費(fèi)的費(fèi)用都是比較高的,為了降低成本費(fèi)用,提高用戶的工作效率,進(jìn)行開發(fā)一套基于計算機(jī)和網(wǎng)絡(luò)技術(shù)的校園購物網(wǎng)站APP。

    校園購物網(wǎng)站APP系統(tǒng)的開發(fā)設(shè)計時一個獨立的系統(tǒng),以流行數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的存儲開發(fā),主要是為了實現(xiàn)校園購物網(wǎng)站APP的用戶角色及相對應(yīng)的功能模塊,讓校園購物網(wǎng)站APP的管理不會存在管理差異、低效率,而是跟傳統(tǒng)的管理信息恰好相反,校園購物網(wǎng)站APP的實現(xiàn)可以節(jié)約資源,并且對于業(yè)務(wù)的處理速度也提高,速度快、效率高,功能性強(qiáng)大。

    3.3系統(tǒng)操作流程

    3.3.1用戶登錄流程

    對于系統(tǒng)的安全性的第一關(guān),就是用戶想要進(jìn)入系統(tǒng),必須通過登錄窗口,輸入自己的登錄信息才可以進(jìn)行登錄,用戶輸入的信息準(zhǔn)確無誤后才可以進(jìn)入到操作系統(tǒng)界面,進(jìn)行功能模塊的相對應(yīng)操作,如果用戶輸入的信息不正確,則窗口出現(xiàn)提示框,用戶登錄失敗,返回到第一步進(jìn)行重新輸入,如圖3-1所示。

    ???????????????????????????????圖3-1登錄操作流程圖

    ?

    3.3.2信息添加流程

    對于校園購物網(wǎng)站APP,需要隨時添加所需要的數(shù)據(jù)信息,對于用戶添加信息,需要根據(jù)添加界面,根據(jù)選框的內(nèi)容進(jìn)行填寫所要添加的數(shù)據(jù)信息,信息輸入完成后判斷數(shù)據(jù)信息是否符合要求,符合要求則添加完成,用戶所添加的信息不符合要求,則需要返回到第一步,重新輸入數(shù)據(jù)信息,再進(jìn)行判斷操作,如圖3-2所示。

    ?

    圖3-2 信息添加流程圖

    3.3.3信息刪除流程

    不管是哪個用戶角色進(jìn)入到不通的系統(tǒng)操作界面,都可以進(jìn)行不同的信息內(nèi)容的操作功能,對用系統(tǒng)數(shù)據(jù)信息的刪除,用戶一旦將信息刪除,那么該刪除的數(shù)據(jù)信息將無法恢復(fù),所以用戶在對數(shù)據(jù)刪除事,一定判斷刪除的內(nèi)容是否是確定要刪除的,確定無誤后選擇確定刪除操作,如圖3-3所示。

    ?

    圖3-3?信息刪除流程圖


  • 系統(tǒng)設(shè)計
  • 4.1系統(tǒng)架構(gòu)設(shè)計

    校園購物網(wǎng)站APP的系統(tǒng)項目的概述設(shè)計分析,主要內(nèi)容流浪寵物救助系統(tǒng)信息的具體分析,進(jìn)行數(shù)據(jù)庫的是設(shè)計,數(shù)據(jù)采用mysql數(shù)據(jù)庫,并且對于系統(tǒng)的設(shè)計采用比較人性化的操作設(shè)計,對于系統(tǒng)出現(xiàn)的錯誤信息可以及時做出處理及反饋。

    校園購物網(wǎng)站APP的設(shè)計基于現(xiàn)有的手機(jī),可以實現(xiàn)管理員:后臺首頁、用戶管理、購物資訊、資訊分類列表、商品管理、分類列表、訂單列表、售后服務(wù)等詳細(xì)的了解及統(tǒng)計分析。根據(jù)系統(tǒng)功能需求建立的模塊關(guān)系圖如下圖:

    ?????????????????圖4-1管理員功能模塊圖

    ?

    4.2開發(fā)流程設(shè)計

    校園購物網(wǎng)站APP的開發(fā)對管理模塊和系統(tǒng)使用的數(shù)據(jù)庫進(jìn)行分析,編寫代開發(fā),規(guī)劃和操作是構(gòu)建信息管理應(yīng)用程序的必要三步曲,它決定了系統(tǒng)是否能夠真正實現(xiàn)預(yù)設(shè)功能以及是否可以在成功設(shè)計后實施。在開發(fā)過程中,每個階段必須嚴(yán)格按照線性順序進(jìn)行開發(fā),并且在相應(yīng)階段生成的每個工作都可以通過技術(shù)進(jìn)行驗證和檢查。確保一個階段完成后是正確的,不會造成下一階段拖拽現(xiàn)象,使系統(tǒng)完成設(shè)計功能后得到保證。

    從校園購物網(wǎng)站APP系統(tǒng)的成功開發(fā)經(jīng)驗來看,上述方法效果最為明顯,最大程度地降低了系統(tǒng)開發(fā)的復(fù)雜性。如圖4-2所示。

    ?

    圖4-2開發(fā)系統(tǒng)流程圖

    4.3數(shù)據(jù)庫設(shè)計

    數(shù)據(jù)庫是信息系統(tǒng)的基礎(chǔ)和核心。數(shù)據(jù)庫設(shè)計的好壞直接影響到信息系統(tǒng)開發(fā)的成敗。創(chuàng)建數(shù)據(jù)庫表首先確定實體的屬性和實體之間的關(guān)系。根據(jù)關(guān)系創(chuàng)建一個數(shù)據(jù)表。4.3.1實體ER圖

    數(shù)據(jù)庫是整個軟件編程中最重要的一個步驟,對于數(shù)據(jù)庫問題主要是判定數(shù)據(jù)庫的數(shù)量和結(jié)構(gòu)公式的創(chuàng)建。展示系統(tǒng)使用的是Mysql進(jìn)行對數(shù)據(jù)庫進(jìn)行管理,進(jìn)行保證數(shù)據(jù)的安全性、穩(wěn)定性等。

    概念模型的設(shè)計是為了抽象真實世界的信息,并對信息世界進(jìn)行建模。它是數(shù)據(jù)庫設(shè)計的強(qiáng)大工具。數(shù)據(jù)庫概念模型設(shè)計可以通過E-R圖描述現(xiàn)實世界的概念模型。系統(tǒng)的E-R圖顯示了系統(tǒng)中實體之間的鏈接。而且Mysql數(shù)據(jù)庫是自我保護(hù)能力比較強(qiáng)的數(shù)據(jù)庫,下圖主要是對數(shù)據(jù)庫實體的E-R圖:

    (1) 評論管理E-R圖,如圖4-3所示:

    ?

    ??????????圖4-3 評論體屬性圖

    ?(2)?售后服務(wù)信息E-R圖如圖4-4所示:

    ?

    圖4-4售后服務(wù)信息實體圖

    (3)購物車E-R圖如圖4-5所示:

    ?

    圖4-5購物車實體圖

    這些功能可以充分滿足校園購物網(wǎng)站APP系統(tǒng)的需求。此系統(tǒng)功能較為全面如下圖系統(tǒng)功能結(jié)構(gòu)如圖4-5所示。

    ????????????????????????????????????????????????圖4-5系統(tǒng)功能結(jié)構(gòu)圖

    ?

    4.3.2數(shù)據(jù)表

    我們可以根據(jù)數(shù)據(jù)結(jié)構(gòu)的詳細(xì)分析要求,我們根據(jù)輸入和輸出數(shù)據(jù)量的要求進(jìn)行分析,確定什么表表,結(jié)構(gòu)之間的關(guān)系,我們可以驗證,調(diào)整和完善,查詢和瀏覽過程,可以實現(xiàn)數(shù)據(jù)庫,以使用戶對數(shù)據(jù)和功能有更多要求。

    基于系統(tǒng)使用的數(shù)據(jù)庫管理系統(tǒng)的特點,對數(shù)據(jù)庫的概念模型進(jìn)行了轉(zhuǎn)換和構(gòu)建。但是,這個系統(tǒng)只需要充分考慮校園購物網(wǎng)站APP系統(tǒng)的功能,而且組織比較清晰。

    member_user表

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    member_user_id

    int

    11

    會員用戶ID

    user_name

    varchar

    64

    用戶名

    full_name

    varchar

    64

    姓名

    gender

    varchar

    64

    性別

    personal_introduction

    varchar

    64

    個人介紹

    examine_state

    varchar

    16

    審核狀態(tài)

    recommend

    int

    11

    智能推薦

    user_id

    int

    11

    用戶ID

    create_time

    datetime

    0

    創(chuàng)建時間

    update_time

    timestamp

    0

    更新時間

    commodity_management

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    commodity_management_id

    int

    11

    商品管理ID

    remarks

    text

    0

    備注

    hits

    int

    11

    點擊數(shù)

    recommend

    int

    11

    智能推薦

    cart_title

    varchar

    125

    標(biāo)題

    cart_img

    text

    0

    封面圖

    cart_description

    varchar

    255

    描述

    cart_price_ago

    double

    8

    原價

    cart_price

    double

    8

    賣價

    cart_inventory

    int

    11

    商品庫存

    cart_type

    varchar

    64

    商品分類:

    cart_content

    longtext

    0

    正文

    cart_img_1

    text

    0

    主圖1

    cart_img_2

    text

    0

    主圖2

    cart_img_3

    text

    0

    主圖3

    cart_img_4

    text

    0

    主圖4

    cart_img_5

    text

    0

    主圖5

    create_time

    datetime

    0

    創(chuàng)建時間

    update_time

    timestamp

    0

    更新時間

    comment

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    comment_id

    int

    11

    評論ID

    user_id

    int

    11

    評論人ID

    reply_to_id

    int

    11

    回復(fù)評論ID

    content

    longtext

    0

    內(nèi)容

    nickname

    varchar

    255

    昵稱

    avatar

    varchar

    255

    頭像地址

    create_time

    timestamp

    0

    創(chuàng)建時間

    update_time

    timestamp

    0

    更新時間

    source_table

    varchar

    255

    來源表

    source_field

    varchar

    255

    來源字段

    source_id

    int

    10

    來源ID

    after_sale_service

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    after_sale_service_id

    int

    11

    售后服務(wù)ID

    order_number

    varchar

    64

    訂單號

    trade_name

    varchar

    64

    商品名稱

    number

    varchar

    64

    數(shù)量

    after_sales_type

    varchar

    64

    售后類型

    applicant

    int

    11

    申請人

    full_name

    varchar

    64

    姓名

    commodity_certificate

    varchar

    255

    商品憑證

    after_sales_status

    varchar

    64

    售后狀態(tài)

    describe_the_reason

    text

    0

    描述原因

    after_sales_reply

    text

    0

    售后回復(fù)

    recommend

    int

    11

    智能推薦

    create_time

    datetime

    0

    創(chuàng)建時間

    update_time

    timestamp

    0

    更新時間

    order

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    order_id

    int

    11

    訂單ID

    order_number

    varchar

    64

    訂單號

    goods_id

    mediumint

    8

    商品id

    title

    varchar

    32

    商品標(biāo)題

    img

    varchar

    255

    商品圖片

    price

    double

    10

    價格

    price_ago

    double

    10

    原價

    num

    int

    8

    數(shù)量

    price_count

    double

    8

    總價

    norms

    varchar

    255

    規(guī)格

    type

    varchar

    64

    商品分類

    contact_name

    varchar

    32

    聯(lián)系人姓名

    contact_email

    varchar

    125

    聯(lián)系人郵箱

    contact_phone

    varchar

    11

    聯(lián)系人手機(jī)

    contact_address

    varchar

    255

    收件地址

    postal_code

    varchar

    9

    郵政編碼

    user_id

    int

    10

    買家ID

    merchant_id

    mediumint

    8

    商家ID

    create_time

    timestamp

    0

    創(chuàng)建時間

    update_time

    timestamp

    0

    更新時間:

    description

    varchar

    255

    描述

    state

    varchar

    16

    訂單狀態(tài)

    cart表

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    cart_id

    int

    11

    購物車ID

    title

    varchar

    64

    標(biāo)題

    img

    varchar

    255

    圖片

    user_id

    int

    10

    用戶ID

    create_time

    timestamp

    0

    創(chuàng)建時間

    update_time

    timestamp

    0

    更新時間

    state

    int

    1

    狀態(tài)

    price

    double

    8

    單價

    price_ago

    double

    8

    原價

    price_count

    double

    10

    總價

    num

    int

    8

    數(shù)量

    goods_id

    mediumint

    8

    商品id

    type

    varchar

    64

    商品分類

    description

    varchar

    255

    描述

  • 系統(tǒng)實現(xiàn)
  • 5.1用戶前臺功能模塊

    校園購物網(wǎng)站APP,在系統(tǒng)首頁可以查看首頁、交流論壇、公告欄、學(xué)習(xí)計劃、課程信息等內(nèi)容,如圖5-1所示。

    ?

    圖5-1首頁界面圖

    登錄,在登錄頁面通過填寫賬號、密碼等信息完成登錄,如圖5-3所示。

    ?

    圖5-2登錄界面

    登錄系統(tǒng)主要代碼如下。

    /**

    ?????* 登錄

    ?????* @param data

    ?????* @param httpServletRequest

    ?????* @return

    ?????*/

    ????@PostMapping("login")

    ????public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

    ????????log.info("[執(zhí)行登錄接口]");

    ????????String username = data.get("username");

    ????????String email = data.get("email");

    ????????String phone = data.get("phone");

    ????????String password = data.get("password");

    ????????List resultList = null;

    ????????Map<String, String> map = new HashMap<>();

    ????????if(username != null && "".equals(username) == false){

    ????????????map.put("username", username);

    ????????????resultList = service.select(map, new HashMap<>()).getResultList();

    ????????}

    ????????else if(email != null && "".equals(email) == false){

    ????????????map.put("email", email);

    ????????????resultList = service.select(map, new HashMap<>()).getResultList();

    ????????}

    ????????else if(phone != null && "".equals(phone) == false){

    ????????????map.put("phone", phone);

    ????????????resultList = service.select(map, new HashMap<>()).getResultList();

    ????????}else{

    ????????????return error(30000, "賬號或密碼不能為空");

    ????????}

    ????????if (resultList == null || password == null) {

    ????????????return error(30000, "賬號或密碼不能為空");

    ????????}

    ????????//判斷是否有這個用戶

    ????????if (resultList.size()<=0){

    ????????????return error(30000,"用戶不存在");

    ????????}

    ????????User byUsername = (User) resultList.get(0);

    ????????Map<String, String> groupMap = new HashMap<>();

    ????????groupMap.put("name",byUsername.getUserGroup());

    ????????List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

    ????????if (groupList.size()<1){

    ????????????return error(30000,"用戶組不存在");

    ????????}

    ????????UserGroup userGroup = (UserGroup) groupList.get(0);

    ????????//查詢用戶審核狀態(tài)

    ????????if (!StringUtils.isEmpty(userGroup.getSourceTable())){

    ????????????String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

    ????????????String res = String.valueOf(service.runCountSql(sql).getSingleResult());

    ????????????if (res==null){

    ????????????????return error(30000,"用戶不存在");

    ????????????}

    ????????????if (!res.equals("已通過")){

    ????????????????return error(30000,"該用戶審核未通過");

    ????????????}

    ????????}

    ????????//查詢用戶狀態(tài)

    ????????if (byUsername.getState()!=1){

    ????????????return error(30000,"用戶非可用狀態(tài),不能登錄");

    ????????}

    ????????String md5password = service.encryption(password);

    ????????if (byUsername.getPassword().equals(md5password)) {

    ????????????// 存儲Token到數(shù)據(jù)庫

    ????????????AccessToken accessToken = new AccessToken();

    ????????????accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

    ????????????accessToken.setUser_id(byUsername.getUserId());

    ????????????tokenService.save(accessToken);

    ????????????// 返回用戶信息

    ????????????JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

    ????????????user.put("token", accessToken.getToken());

    ????????????JSONObject ret = new JSONObject();

    ????????????ret.put("obj",user);

    ????????????return success(ret);

    ????????} else {

    ????????????return error(30000, "賬號或密碼不正確");

    ????????}

    }

    用戶注冊,在用戶注冊頁面可以填寫賬號、密碼、昵稱、郵箱、手機(jī)號碼、身份、性別、身份證號碼等詳細(xì)內(nèi)容進(jìn)行注冊,如圖5-3所示。

    ?

    圖5-3用戶注冊界面

    用戶注冊關(guān)鍵代碼如下所示。

    /**

    ?????* 注冊

    ?????* @param user

    ?????* @return

    ?????*/

    ????@PostMapping("register")

    ????public Map<String, Object> signUp(@RequestBody User user) {

    ????????// 查詢用戶

    ????????Map<String, String> query = new HashMap<>();

    ????????query.put("username",user.getUsername());

    ????????List list = service.select(query, new HashMap<>()).getResultList();

    ????????if (list.size()>0){

    ????????????return error(30000, "用戶已存在");

    ????????}

    ????????user.setUserId(null);

    ????????user.setPassword(service.encryption(user.getPassword()));

    ????????service.save(user);

    ????????return success(1);

    }

    /**

    ?????* 用戶ID:[0,8388607]用戶獲取其他與用戶相關(guān)的數(shù)據(jù)

    ?????*/

    ????@Id

    ????@GeneratedValue(strategy = GenerationType.IDENTITY)

    ????@Column(name = "user_id")

    ????private Integer userId;

    ????/**

    ?????* 賬戶狀態(tài):[0,10](1可用|2異常|3已凍結(jié)|4已注銷)

    ?????*/

    ????@Basic

    ????@Column(name = "state")

    ????private Integer state;

    ????/**

    ?????* 所在用戶組:[0,32767]決定用戶身份和權(quán)限

    ?????*/

    ????@Basic

    ????@Column(name = "user_group")

    ????private String userGroup;

    ????/**

    ?????* 上次登錄時間:

    ?????*/

    ????@Basic

    ????@Column(name = "login_time")

    ????private Timestamp loginTime;

    ????/**

    ?????* 手機(jī)號碼:[0,11]用戶的手機(jī)號碼,用于找回密碼時或登錄時

    ?????*/

    ????@Basic

    ????@Column(name = "phone")

    ????private String phone;

    ????/**

    ?????* 手機(jī)認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)

    ?????*/

    ????@Basic

    ????@Column(name = "phone_state")

    ????private Integer phoneState;

    ????/**

    ?????* 用戶名:[0,16]用戶登錄時所用的賬戶名稱

    ?????*/

    ????@Basic

    ????@Column(name = "username")

    ????private String username;

    ????/**

    ?????* 昵稱:[0,16]

    ?????*/

    ????@Basic

    ????@Column(name = "nickname")

    ????private String nickname;

    ????/**

    ?????* 密碼:[0,32]用戶登錄所需的密碼,由6-16位數(shù)字或英文組成

    ?????*/

    ????@Basic

    ????@Column(name = "password")

    ????private String password;

    ????/**

    ?????* 郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時

    ?????*/

    ????@Basic

    ????@Column(name = "email")

    ????private String email;

    ????/**

    ?????* 郵箱認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)

    ?????*/

    ????@Basic

    ????@Column(name = "email_state")

    ????private Integer emailState;

    ????/**

    ?????* 頭像地址:[0,255]

    ?????*/

    ????@Basic

    ????@Column(name = "avatar")

    ????private String avatar;

    ????/**

    ?????* 創(chuàng)建時間:

    ?????*/

    ????@Basic

    ????@Column(name = "create_time")

    ????@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    ????private Timestamp createTime;

    ????@Basic

    ????@Transient

    ????private String code;

    }

    我的頁面通過填寫基本信息、頭像、昵稱、修改頭像、修改昵稱、修改密碼等信息,并可以進(jìn)行修改信息,如圖5-4所示。

    ?

    圖5-4我的界面圖

    收貨地址管理,在收貨地址頁面通過填寫收貨人、手機(jī)號、詳細(xì)地址等信息進(jìn)行填寫,如圖5-5所示。 ???????

    ?

    ?

    圖5-5收貨地址界面圖

  • 管理員功能模塊
  • 管理員登錄,通過填寫注冊時輸入的用戶名、密碼、進(jìn)行登錄,如圖5-6所示。

    ?

    圖5-6管理員登錄界面圖

    管理員登錄進(jìn)入校園購物網(wǎng)站APP后的主要功能是:后臺首頁、站點管理(公告欄、輪播圖)用戶管理(管理員、會員用戶)內(nèi)容管理(購物資訊、資訊分類列表)商城管理(商品管理、分類列表、訂單列表)更多管理(售后服務(wù))等信息。還可以對校園購物網(wǎng)站等進(jìn)行管理操作,如圖5-7所示。

    ?

    圖5-7校園購物網(wǎng)站首頁界面圖

    購物資訊管理,在購物資訊管理頁面中可以查看標(biāo)題、封面圖、文章分類、標(biāo)簽等信息,并可根據(jù)需要對已有購物資訊管理進(jìn)行查看評論、修改或刪除等詳細(xì)操作,如圖5-8所示。

    ?

    圖5-8購物資訊界面圖

    購物資訊關(guān)鍵代碼如下所示。

    @RequestMapping(value = "/del")

    ????@Transactional

    ????public Map<String, Object> del(HttpServletRequest request) {

    ????????service.delete(service.readQuery(request), service.readConfig(request));

    ????????return success(1);

    }

    ????@Transactional

    ????public void delete(Map<String,String> query,Map<String,String> config){

    ????????StringBuffer sql = new StringBuffer("DELETE FROM ").append("`").append(table).append("`").append(" ");

    ????????sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.GROUP_BY))));

    ????????log.info("[{}] - 刪除操作:{}",table,sql);

    ????????Query query1 = runCountSql(sql.toString());

    ????????query1.executeUpdate();

    ????}

    商品管理,在商品信息頁面中可以查看標(biāo)題、封面圖、賣價、原價、商品庫存、產(chǎn)品分類、描述、備注等內(nèi)容,并且可以對商品信息進(jìn)行編輯,修改或刪除等詳細(xì)操作,如圖5-9所示。

    ?

    圖5-9商品管理界面圖

    商品管理關(guān)鍵代碼如下所示。

    @PostMapping("/set")

    @Transactional

    ????public Map<String, Object> set(HttpServletRequest request) throws IOException {

    ????????service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

    ????????return success(1);

    }

    ????public Map<String,String> readConfig(HttpServletRequest request){

    ????????Map<String,String> map = new HashMap<>();

    ????????map.put(FindConfig.PAGE,request.getParameter(FindConfig.PAGE));

    ????????map.put(FindConfig.SIZE,request.getParameter(FindConfig.SIZE));

    ????????map.put(FindConfig.LIKE,request.getParameter(FindConfig.LIKE));

    ????????map.put(FindConfig.ORDER_BY,request.getParameter(FindConfig.ORDER_BY));

    ????????map.put(FindConfig.FIELD,request.getParameter(FindConfig.FIELD));

    ????????map.put(FindConfig.GROUP_BY,request.getParameter(FindConfig.GROUP_BY));

    ????????map.put(FindConfig.MAX_,request.getParameter(FindConfig.MAX_));

    ????????map.put(FindConfig.MIN_,request.getParameter(FindConfig.MIN_));

    ????????return map;

    }

    ????public Map<String,String> readQuery(HttpServletRequest request){

    ????????String queryString = request.getQueryString();

    ????????if (queryString != null && !"".equals(queryString)) {

    ????????????String[] querys = queryString.split("&");

    ????????????Map<String, String> map = new HashMap<>();

    ????????????for (String query : querys) {

    ????????????????String[] q = query.split("=");

    ????????????????map.put(q[0], q[1]);

    ????????????}

    ????????????map.remove(FindConfig.PAGE);

    ????????????map.remove(FindConfig.SIZE);

    ????????????map.remove(FindConfig.LIKE);

    ????????????map.remove(FindConfig.ORDER_BY);

    ????????????map.remove(FindConfig.FIELD);

    ????????????map.remove(FindConfig.GROUP_BY);

    ????????????map.remove(FindConfig.MAX_);

    ????????????map.remove(FindConfig.MIN_);

    ????????????return map;

    ????????}else {

    ????????????return new HashMap<>();

    ????????}

    }

    ????@Transactional

    ????public void update(Map<String,String> query,Map<String,String> config,Map<String,Object> body){

    ????????StringBuffer sql = new StringBuffer("UPDATE ").append("`").append(table).append("`").append(" SET ");

    ????????for (Map.Entry<String,Object> entry:body.entrySet()){

    ????????????Object value = entry.getValue();

    ????????????if (value instanceof String){

    ????????????????sql.append("`"+humpToLine(entry.getKey())+"`").append("=").append("'").append(value).append("'").append(",");

    ????????????}else {

    ????????????????sql.append("`"+humpToLine(entry.getKey())+"`").append("=").append(value).append(",");

    ????????????}

    ????????}

    ????????sql.deleteCharAt(sql.length()-1);

    ????????sql.append(toWhereSql(query,"0".equals(config.get(FindConfig.LIKE))));

    ????????log.info("[{}] - 更新操作:{}",table,sql);

    ????????Query query1 = runCountSql(sql.toString());

    ????????query1.executeUpdate();

    }

    ????public String toWhereSql(Map<String,String> query, Boolean like) {

    ????????if (query.size() > 0) {

    ????????????try {

    ????????????????StringBuilder sql = new StringBuilder(" WHERE ");

    ????????????????for (Map.Entry<String, String> entry : query.entrySet()) {

    ????????????????????if (entry.getKey().contains(FindConfig.MIN_)) {

    ????????????????????????String min = humpToLine(entry.getKey()).replace("_min", "");

    ????????????????????????sql.append("`"+min+"`").append(" >= '").append(URLDecoder.decode(entry.getValue(), "UTF-8")).append("' and ");

    ????????????????????????continue;

    ????????????????????}

    ????????????????????if (entry.getKey().contains(FindConfig.MAX_)) {

    ????????????????????????String max = humpToLine(entry.getKey()).replace("_max", "");

    ????????????????????????sql.append("`"+max+"`").append(" <= '").append(URLDecoder.decode(entry.getValue(), "UTF-8")).append("' and ");

    ????????????????????????continue;

    ????????????????????}

    ????????????????????if (like == true) {

    ????????????????????????sql.append("`"+humpToLine(entry.getKey())+"`").append(" LIKE '%").append(URLDecoder.decode(entry.getValue(), "UTF-8")).append("%'").append(" and ");

    ????????????????????} else {

    ????????????????????????sql.append("`"+humpToLine(entry.getKey())+"`").append(" = '").append(URLDecoder.decode(entry.getValue(), "UTF-8")).append("'").append(" and ");

    ????????????????????}

    ????????????????}

    ????????????????sql.delete(sql.length() - 4, sql.length());

    ????????????????sql.append(" ");

    ????????????????return sql.toString();

    ????????????} catch (UnsupportedEncodingException e) {

    ????????????????log.info("拼接sql 失敗:{}", e.getMessage());

    ????????????}

    ????????}

    ????????return "";

    ????}

    訂單列表管理,在訂單列表管理頁面中可以查看商品名稱、訂單號、商品圖片、價格、原價、購買數(shù)量、總價、聯(lián)系人名稱、聯(lián)系人地址、訂單狀態(tài)、買家等內(nèi)容,并且根據(jù)需要對已有訂單列表管理進(jìn)行詳情,修改或刪除等詳細(xì)操作,如圖5-10所示。

    ?

    圖5-10訂單列表管理界面圖

    訂單列表管理關(guān)鍵代碼如下所示。

    ??@PostMapping("/add")

    ????@Transactional

    ????public Map<String, Object> add(HttpServletRequest request) throws IOException {

    ????????service.insert(service.readBody(request.getReader()));

    ????????return success(1);

    ????}

    ????@Transactional

    ????public Map<String, Object> addMap(Map<String,Object> map){

    ????????service.insert(map);

    ????????return success(1);

    }

    ????public Map<String,Object> readBody(BufferedReader reader){

    ????????BufferedReader br = null;

    ????????StringBuilder sb = new StringBuilder("");

    ????????try{

    ????????????br = reader;

    ????????????String str;

    ????????????while ((str = br.readLine()) != null){

    ????????????????sb.append(str);

    ????????????}

    ????????????br.close();

    ????????????String json = sb.toString();

    ????????????return JSONObject.parseObject(json, Map.class);

    ????????}catch (IOException e){

    ????????????e.printStackTrace();

    ????????}finally{

    ????????????if (null != br){

    ????????????????try{

    ????????????????????br.close();

    ????????????????}catch (IOException e){

    ????????????????????e.printStackTrace();

    ????????????????}

    ????????????}

    ????????}

    ????????return null;

    }

    ????public void insert(Map<String,Object> body){

    ????????StringBuffer sql = new StringBuffer("INSERT INTO ");

    ????????sql.append("`").append(table).append("`").append(" (");

    ????????for (Map.Entry<String,Object> entry:body.entrySet()){

    ????????????sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

    ????????}

    ????????sql.deleteCharAt(sql.length()-1);

    ????????sql.append(") VALUES (");

    ????????for (Map.Entry<String,Object> entry:body.entrySet()){

    ????????????Object value = entry.getValue();

    ????????????if (value instanceof String){

    ????????????????sql.append("'").append(entry.getValue()).append("'").append(",");

    ????????????}else {

    ????????????????sql.append(entry.getValue()).append(",");

    ????????????}

    ????????}

    ????????sql.deleteCharAt(sql.length() - 1);

    ????????sql.append(")");

    ????????log.info("[{}] - 插入操作:{}",table,sql);

    ????????Query query = runCountSql(sql.toString());

    ????????query.executeUpdate();

    ????}

    售后服務(wù),在售后服務(wù)頁面中可以查看訂單號、商品名稱、數(shù)量、售后類型、申請人、姓名、商品憑證、售后狀態(tài)等內(nèi)容,并且根據(jù)需要對已有售后服務(wù)進(jìn)行詳情,修改或刪除等詳細(xì)操作,如圖5-11所示。

    ?

    圖5-11售后服務(wù)界面

    售后服務(wù)管理關(guān)鍵代碼如下所示。

    @RequestMapping("/get_list")

    ????public Map<String, Object> getList(HttpServletRequest request) {

    ????????Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

    ????????return success(map);

  • 系統(tǒng)測試
  • 6.1測試目的

    程序設(shè)計不能保證沒有錯誤,這是一個開發(fā)過程,在錯誤或錯誤的過程中難以避免,這是不可避免的,但我們不能使這些錯誤始終存在于系統(tǒng)中,錯誤可能會造成無法估量的后果 如系統(tǒng)崩潰,安全信息,系統(tǒng)無法正常啟動,導(dǎo)致安裝用戶手機(jī)屏幕等,為了避免這些問題,我們需要測試程序,并發(fā)現(xiàn)這些問題,并糾正它們 ,并使系統(tǒng)更長時間穩(wěn)定成熟,本章的作用是發(fā)現(xiàn)這些問題,并對其進(jìn)行修改,雖然耗時費(fèi)力,但長期非常重要和必要系統(tǒng)的開發(fā)。

    軟件測試與開發(fā)過程是一樣的,都必須按照軟件工程的正規(guī)原理進(jìn)行,遵守管理學(xué)理論。不過,目前國內(nèi)的軟件測試已經(jīng)積累了大量經(jīng)驗和方法,步驟相對成熟,軟件測試的效率也越來越高。

    校園購物網(wǎng)站APP系統(tǒng)的實現(xiàn),對于系統(tǒng)中功能模塊的實現(xiàn)及操作都必須通過測試進(jìn)行來評判系統(tǒng)是否可以準(zhǔn)確的實現(xiàn)。在校園購物網(wǎng)站APP系統(tǒng)正式上傳使用之前必須做的一步就是系統(tǒng)測試,對于測試發(fā)現(xiàn)的錯誤及時修改處理,保證系統(tǒng)準(zhǔn)確無誤的供給用戶使用。

    6.2測試方案設(shè)計

    6.2.1 測試策略

    1、功能測試

    從用戶的角度來看,測試時不了解新開發(fā)軟件的內(nèi)部結(jié)構(gòu),因此可以將系統(tǒng)與黑匣子進(jìn)行比較,盲目輸入后可以查看系統(tǒng)給出的反饋。這種測試屬于黑盒測試,在測試中如果輸入錯誤信息系統(tǒng)會報錯。

    2、性能測試

    測試軟件程序的整體狀況(稱為性能測試)通常使用自動化測試工具來檢測系統(tǒng)的整體功能,在負(fù)載測試和壓力測試之間進(jìn)行分配,在某些情況下,將這兩種情況結(jié)合起來。雖然壓力測試可以檢測到系統(tǒng)可以提供的最高級別的服務(wù),但負(fù)載測試可以測試系統(tǒng)如何響應(yīng)增加的負(fù)載。

    6.2.2 測試分析

    測試評估系統(tǒng)質(zhì)量的方法不局限于系統(tǒng)編碼和過程,應(yīng)該與軟件設(shè)計工作和歷史需求分析密切相關(guān)。

    軟件測試應(yīng)遵循以下原則:

    (1)軟件測試應(yīng)盡快進(jìn)行,整個測試部分應(yīng)在軟件開發(fā)和設(shè)計的整個過程中進(jìn)行。如發(fā)現(xiàn)錯誤,立即處理,將大大減少軟件開發(fā)的時間,并提高軟件的質(zhì)量。

    (2)在軟件的各種測試中,測試過程中使用的計劃、報告等應(yīng)妥善處理和存儲。其主要目的是為了便于以后系統(tǒng)的維護(hù)。

    (3)軟件測試整個過程中的聚類現(xiàn)象應(yīng)優(yōu)先考慮。

    (4)對于軟件測試,我們應(yīng)該盡量不去和自己設(shè)計的系統(tǒng)進(jìn)行參考,而是要測試對方的程序,以確保軟件測試結(jié)果的客觀性和公平性。

    (5)整個測試計劃嚴(yán)格按照軟件測試的具體實施細(xì)則進(jìn)行。

    (6)對整個測試結(jié)果進(jìn)行綜合檢查,盡量避免重復(fù)錯誤。

    本校園購物網(wǎng)站APP系統(tǒng)滿足用戶的要求和需求,本校園購物網(wǎng)站APP系統(tǒng)的使用能夠有效的提高用戶的使用率。

    6.3?測試結(jié)果

    測試后得到的性能和用例,系統(tǒng)具有足夠的正確性、可靠性、穩(wěn)定性,并且可以對輸入數(shù)據(jù)進(jìn)行準(zhǔn)確的點擊操作處理和響應(yīng)測試用戶的體驗也得到了很好的反饋和響應(yīng)時間。合理的范圍,可以兼容所有主流瀏覽器,設(shè)計所需的效果。

  • 總結(jié)與展望
  • 通過校園購物網(wǎng)站APP系統(tǒng)的開發(fā),本人鞏固了之前學(xué)過的知識,如今將平時所學(xué)到的知識融合在設(shè)計中,在設(shè)計過程中,做了很多的準(zhǔn)備,首先,在數(shù)據(jù)庫系統(tǒng)的設(shè)計過程中,尤其是在數(shù)據(jù)庫的工作原理、工作特點,對其深刻的討論,與此同時,對于小型站點來說,最好服務(wù)器的選擇,其次,利用所學(xué)的知識點分析所做的系統(tǒng),并在此基礎(chǔ)上設(shè)計。

    目前本系統(tǒng)已經(jīng)上線,正在試運(yùn)行階段,用戶反饋良好,基本完成用戶所需,試運(yùn)行過程中沒有出現(xiàn)阻斷性問題,有一些不足和小問題也及時予以修正,系統(tǒng)上線后,為了保證數(shù)據(jù)的安全性,對系統(tǒng)進(jìn)行了備份操作,系統(tǒng)備份是每兩個月備份一次,數(shù)據(jù)庫備份為每周備份一次,系統(tǒng)部署在租賃的云系統(tǒng)服務(wù)器中。

    本次系統(tǒng)上線成功后,得到了用戶的高度認(rèn)可,但是在功能上和性能上還需做進(jìn)一步的研究處理,使其有更高的性能和更好的用戶體驗。

    系統(tǒng)在以后的升級過程中,需要解決一系列用戶所提出的問題,例如打印過程中如何避免瀏覽器的兼容性問題,大量用戶訪問時,如何保持較高的響應(yīng)速度,在系統(tǒng)今后的升級過程中將著重解決這些安全性問題。

    參考文獻(xiàn)

    [1]劉在英,楊磊. 一種基于SpringBoot框架的企業(yè)進(jìn)存銷系統(tǒng)的設(shè)計方法[P]. 山東省:CN114003204A,2022-02-01.

    [2]陳碧勇,方敏,申志奎. 基于springboot actuator的監(jiān)控組件擴(kuò)展方法[P]. 福建省:CN113961417A,2022-01-21.

    [3]熊柏祥.基于Springboot和Vue框架的考試資源服務(wù)平臺的設(shè)計與實現(xiàn)[J].信息與電腦(理論版),2022,34(01):97-99+103.

    [4]霍福華,韓慧.基于SpringBoot微服務(wù)架構(gòu)下前后端分離的MVVM模型[J].電子技術(shù)與軟件工程,2022(01):73-76.

    [5]陳曉華. 一種基于springboot框架校友信息管理系統(tǒng)[P]. 重慶市:CN113641510A,2021-11-12.

    [6]蘇文強(qiáng),劉紫陽,苗玉恒.基于SpringBoot的缺陷管理系統(tǒng)設(shè)計與實現(xiàn)[J].大眾科技,2021,23(10):4-6+10.

    [7]王萍.SpringBoot項目中EhCache緩存技術(shù)的實現(xiàn)[J].電腦知識與技術(shù),2021,17(29):79-81.

    [8]吳思瑩,張坤濤,王世華.基于Android的校園購物系統(tǒng)的設(shè)計與實現(xiàn)[J].電子技術(shù)與軟件工程,2021(14):45-47.

    [9]Fuyuan Cheng. Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J]. Advances in Educational Technology and Psychology,2021,5(2).

    [10]劉欣,李亮亮,牛聰. 基于Vue和SpringBoot框架的流域監(jiān)管平臺的研究和應(yīng)用[C]//.第十一屆防汛抗旱信息化論壇論文集.,2021:118-122.

    [11]Guanhong Chen,Jiangming Xu. Design and implementation of efficient Learning platform based on SpringBoot Framework[J]. Journal of Electronics and Information Science,2020,6(1).

    [12]Jian Chen,Chen Jian,Pan Hailan. Design of Man Hour Management Information System on SpringBoot Framework[J]. Journal of Physics: Conference Series,2020,1646(1).

    [13]羅業(yè)丁,楊振南,賀英健.基于WEB前端技術(shù)的校園購物網(wǎng)站的設(shè)計與實現(xiàn)[J].信息記錄材料,2020,21(08):209-210.

    [14]不公告發(fā)明人. 一種基于校園的網(wǎng)絡(luò)超市購物系統(tǒng)[P]. 湖南:CN108280665A,2018-07-13.

    [15]郭峰,麻強(qiáng).基于敏捷方法的校園拼單購物系統(tǒng)分析與設(shè)計[J].中國新技術(shù)新產(chǎn)品,2018(02):28-30.

    [16]賈峰.校園電商平臺中購物車的設(shè)計與實現(xiàn)[J].河北軟件職業(yè)技術(shù)學(xué)院學(xué)報,2017,19(02):63-64.

    [17]劉利琴.校園購物網(wǎng)站下用戶體驗?zāi)P驮O(shè)計與實現(xiàn)[J].赤峰學(xué)院學(xué)報(自然科學(xué)版),2017,33(06):20-21.

    致謝

    時光飛逝,轉(zhuǎn)眼間我在學(xué)校的這些年生活即將結(jié)束,回顧這幾年的學(xué)習(xí)生活,收獲良多,既有幸福也有難過,學(xué)校生活的結(jié)束對于我來說也是一個新的開始。論文即將完成,在此,我心中有許多想要感謝的人。首先感謝我的導(dǎo)師,不僅在學(xué)習(xí)研究方面加以指導(dǎo),也在生活和為人處世上給予幫助。還要感謝授課老師,你們嚴(yán)謹(jǐn)?shù)膶W(xué)術(shù)精神和積極向上的工作態(tài)度都在激勵我的成長和進(jìn)步。感謝多年來一直生活在一起的室友,謝謝你們多年來的陪伴和照顧。最后,要感謝各位論文評審老師,感謝您們在百忙之中抽空評閱本論文并給出寶貴的意見和建議

    免費(fèi)領(lǐng)取項目源碼,請關(guān)注點贊+私聊

    總結(jié)

    以上是生活随笔為你收集整理的(附源码)springboot校园购物网站APP 毕业设计041037的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。