日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring boot校园二手销售网站 毕业设计源码161417

發布時間:2024/1/8 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring boot校园二手销售网站 毕业设计源码161417 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目 ?錄

摘要 1

1 緒論 1

1.1 研究背景 1

1.2國內外研究現狀 1

1.3論文結構與章節安排 1

2開發工具及相關技術介紹 ?技術介紹 3

2.1 MVVM模式介紹 3

2.2?B/S體系工作原理 4

2.3?spring boot框架介紹 4

2.4?JavaScript 運行模式 5

2.5?Ajax 應用 5

2.6?Vue.js 主要功能 6

3?校園二手銷售網站 ?系統分析 7

3.1 可行性分析 7

3.2 系統流程分析 8

3.2.1 數據流程 8

3.3.2 業務流程 9

3.3 系統功能分析 9

3.3.1 功能性分析 10

3.3.2 非功能性分析 10

3.4 系統用例分析 11

3.5本章小結 11

4?校園二手銷售網站 ?總體設計 12

4.1 系統架構設計 13

4.2 系統功能模塊設計 14

4.2.1整體功能模塊設計 15

4.2.2用戶模塊設計 16

4.2.3商城管理模塊設計 17

4.2.4訂單管理模塊設計 17

4.3 數據庫設計 18

4.3.1 數據庫概念結構設計 18

4.3.2 數據庫邏輯結構設計 19

4.4本章小結 23

5?校園二手銷售網站 ?詳細設計與實現 23

5.1用戶功能模塊 24

5.1.1 前臺首頁界面 25

5.1.2 用戶注冊界面 27

5.1.3 用戶登錄界面 28

5.1.4在線留言界面 30

5.1.5 收貨地址界面 31

5.1.6 商品詳情界面 33

5.1.7 我的訂單界面 33

5.2管理員功能模塊 34

5.2.1 用戶管理界面 35

5.2.2 在線留言管理界面 36

5.2.3 二手商城管理界面 37

5.2.4 二手資訊界面 38

5.2.5?訂單列表管理界面 39

5.2.6?訂單發貨界面 40

6系統測試 41

6.1系統測試的目的 41

6.2 系統測試用例 41

6.3 系統測試結果 42

結論 43

參考文獻 44

?? 45

摘要

隨著互聯網的普及以及發展,在網上出售、購買東西變得越來越日常,出于對校園發展的考慮,在很多校園里都實現了各式各樣的校園二手銷售網站 ,提高了校園資源的利用效率。然而,搭建大部分的網站所需要花費的人力和財力普遍較高,部署高能硬件也是一道坎,使得大部分中校園二手銷售網站都沒有成型,平臺的后期維護費用也拖垮了不少用戶。怎樣解決這個問題?我們需要找到一個更優的技術和方法,來降低網站的響應時間和做到提高系統高并發性性能,提升用戶的使用體驗,降低硬件需求度,能夠使用更便宜的硬件進行部署,從而降低網站建設的成本。此校園二手銷售網站 的開發項目采用springboot技術+MYSQL數據庫,就論題的各類需求分析說明做出解釋,然后再就網站的總體設計和詳細設計做出論述,給出了網站總體結構的搭建方法。從而滿足大部分中校園二手銷售網站 的需求。

關鍵詞:springboot技術;MYSQL;校園二手銷售網站 ?

Abstract

With the popularity and development of the Internet, selling and buying things on the Internet has become more and more daily. For the consideration of campus development, a variety of campus second-hand sales websites have been realized in many campuses, which improves the utilization efficiency of campus resources. However, the human and financial resources required to build most websites are generally high, and the deployment of high-energy hardware is also a barrier, which makes most of the secondary sales websites on campus not formed, and the later maintenance cost of the platform also brings down many users. How to solve this problem? We need to find a better technology and method to reduce the response time of the website, improve the high concurrency performance of the system, improve the user experience, reduce the hardware demand, and be able to deploy with cheaper hardware, so as to reduce the cost of website construction. The development project of this campus second-hand sales website adopts springboot technology + MySQL database to explain various needs analysis and instructions of the topic, then discusses the overall design and detailed design of the website, and gives the construction method of the overall structure of the website. So as to meet the needs of most secondary sales websites on campus.

Keywords:?Springboot technology; MYSQL; Campus second-hand sales website

1 緒論

1.1 研究背景

隨著時代不斷進步,社會不斷發展.電子商務得到了不斷地發展.電子商務成為了人們日常生活的一部分.如今,網上買東西,足不出戶便可以買到想要的東西物美價廉更是成為了年輕人的主流消費方式而電子商務也正在逐步的走向校園,學生可以在網上更方便的找工作、購物、以及買賣交易二手物品.綜上所述,校園二手銷售網站系統是有發展潛力的。

二手物品在校園中是有市場的.將要畢業的學生,可以將二手物品,如書,自行車,暖壺,以及一些不方便攜帶的東西,可以賣給學弟學妹們.這樣可以很大程度上避免浪費,符合本人國的可持續發展的國策學弟學妹,可以用低廉的價格,買到自己想要而實用的物品,符合國家倡導的勤儉節約的政策.校園二手商品網上銷售系統無論是對丁買方還是賣方,可以達到雙贏互助的。

每個學校雖然在每年6月份都有跳蚤市場,來頭賣二手物品但是局限性很大同學們往往在跳蚤市場逛了天,卻還是無所獲沒要買到自己想要的東西.而且魚龍混雜,經常無法保證售后,以及二手物品的質量.而學生們如果在校園二手商品網上銷售系統上交易二手物品.不僅可以讓買賣變得方便,系統分類簡單明了,賣賣雙方都有學籍和學號,很大的程度減少學生受騙的情況。

綜上三點,校園二手商品網上銷售系統既方便,又便捷,還方便管理.符合開發的目的。

1.2國內外研究現狀

由于這幾年來,計算機技術的逐日發展,在現代化的生活中,我們所需要的各種信息的處理操作都是通過使用計算機來完成的,有了計算機就可以方便的對各種信息進行查詢和維護了。因此需要實現對校園二手交易管理的電子化,提高校園二手交易的管理效能和銷售效能。

因為國內外傳統的二手的交易的方式是基于手工的,而人的精力和工作準確度是有限的,所以傳統的二手交易的數據管理方式難免會存在效率低下、準確率低等缺點,還伴隨著人力資源的大量浪費。在管理的工作中,所涉及到的工作電腦機器比人類更為擅長,能夠達到快速、準確、耗費資源小等要求。基于這些顯著的優點,如果能設計一套完整且貼合具體校園用戶需求的校園二手銷售網站,那么將大大地提高二手交易的服務質量。在具備這樣的校園二手銷售網站之下,買家只要登錄到系統中就能看到所有的二手商品,進行購買,賣家只要登錄到系統中就能夠出售二手商品管理人員只需配備少量的專業人員對數據庫進行日常數據審核、管理以及定期維護。整個過程中,使用者只需提供少量的必要信息,大部分數據處理工作皆由數據庫和相關程序來完成,節省了大量時間。如果數據庫中的某部分信息存在錯誤,那么使用者可以通過批量修改等方式來降低排錯過程中所要花費的時間和精力。因此,為校園開發一個稱職的校園二手銷售網站是十分有必要的。

1.3論文結構與章節安排

論文將分層次經行編排,除去論文摘要致謝文獻參考部分,正文部分還會對網站需求做出分析,以及闡述大體的設計和實現的功能,最后羅列部分調測記錄,論文主要架構如下:

第一章:引言。第一章主要介紹了課題研究的背景,系統開發的現狀和本文的研究內容與主要工作。

第二章:系統需求分析。第二章主要從系統的用戶、功能等方面進行需求分析。

第三章:系統設計。第三章主要對系統框架、系統功能模塊、數據庫進行功能設計。

第四章:系統實現。第四章主要介紹了系統框架搭建、系統界面的實現。

第五章:系統測試。第五章主要對系統的部分界面進行測試并對主要功能進行測試

2開發工具及相關技術介紹???技術介紹

2.1.MVVM模式介紹:

MVVM是Model-View-ViewModel的簡寫。它本質上就是MVC 的改進版。MVVM 就是將其中的View 的狀態和行為抽象化,讓我們將視圖 UI 和業務邏輯分開。當然這些事 ViewModel 已經幫我們做了,它可以取出 Model 的數據同時幫忙處理 View 中由于需要展示內容而涉及的業務邏輯。微軟的WPF帶來了新的技術體驗,如Silverlight、音頻、視頻、3D、動畫……,這導致了軟件UI層更加細節化、可定制化。同時,在技術層面,WPF也帶來了 諸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由來便是MVP(Model-View-Presenter)模式與WPF結合的應用方式時發展演變過來的一種新型架構框架。它立足于原有MVP框架并且把WPF的新特性糅合進去,以應對客戶日益復雜的需求變化。

2.2 B/S體系工作原理

B/S架構采取瀏覽器請求,服務器響應的工作模式。

用戶可以通過瀏覽器去訪問Internet上由Web服務器產生的文本、數據、圖片、動畫、視頻點播和聲音等信息;

而每一個Web服務器又可以通過各種方式與數據庫服務器連接,大量的數據實際存放在數據庫服務器中;

從Web服務器上下載程序到本地來執行,在下載過程中若遇到與數據庫有關的指令,由Web服務器交給數據庫服務器來解釋執行,并返回給Web服務器,Web服務器又返回給用戶。在這種結構中,將許許多多的網連接到一塊,形成一個巨大的網,即全球網。而各個企業可以在此結構的基礎上建立自己的Internet。

在 B/S 模式中,用戶是通過瀏覽器針對許多分布于網絡上的服務器進行請求訪問的,瀏覽器的請求通過服務器進行處理,并將處理結果以及相應的信息返回給瀏覽器,其他的數據加工、請求全部都是由Web Server完成的。通過該框架結構以及植入于操作系統內部的瀏覽器,該結構已經成為了當今軟件應用的主流結構模式。

?

2.3 spring boot框架介紹

Spring框架是Java平臺上的一種開源應用框架,提供具有控制反轉特性的容器。盡管Spring框架自身對編程模型沒有限制,但其在Java應用中的頻繁使用讓它備受青睞,以至于后來讓它作為EJB(EnterpriseJavaBeans)模型的補充,甚至是替補。Spring框架為開發提供了一系列的解決方案,比如利用控制反轉的核心特性,并通過依賴注入實現控制反轉來實現管理對象生命周期容器化,利用面向切面編程進行聲明式的事務管理,整合多種持久化技術管理數據訪問,提供大量優秀的Web框架方便開發等等。Spring框架具有控制反轉(IOC)特性,IOC旨在方便項目維護和測試,它提供了一種通過Java的反射機制對Java對象進行統一的配置和管理的方法。Spring框架利用容器管理對象的生命周期,容器可以通過掃描XML文件或類上特定Java注解來配置對象,開發者可以通過依賴查找或依賴注入來獲得對象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時運行時可配置;AOP框架主要針對模塊之間的交叉關注點進行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無法與AspectJ框架相比,但通過與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務管理、遠程訪問等功能均可以通過使用SpringAOP技術實現。Spring的事務管理框架為Java平臺帶來了一種抽象機制,使本地和全局事務以及嵌套事務能夠與保存點一起工作,并且幾乎可以在Java平臺的任何環境中工作。Spring集成多種事務模板,系統可以通過事務模板、XML或Java注解進行事務配置,并且事務框架集成了消息傳遞和緩存等功能。Spring的數據訪問框架解決了開發人員在應用程序中使用數據庫時遇到的常見困難。它不僅對Java:JDBC、iBATS/MyBATIs、Hibernate、Java數據對象(JDO)、ApacheOJB和ApacheCayne等所有流行的數據訪問框架中提供支持,同時還可以與Spring的事務管理一起使用,為數據訪問提供了靈活的抽象。Spring框架最初是沒有打算構建一個自己的WebMVC框架,其開發人員在開發過程中認為現有的StrutsWeb框架的呈現層和請求處理層之間以及請求處理層和模型之間的分離不夠,于是創建了SpringMVC。

2.4 JavaScript 運行模式

JavaScript是一種屬于網絡的高級腳本語言,已經被廣泛用于Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能的。

1.8.1是一種解釋性腳本語言(代碼不進行預編譯)。

1.8.2主要用來向HTML(標準通用標記語言下的一個應用)頁面添加交互行為。

1.8.3可以直接嵌入HTML頁面,但寫成單獨的js文件有利于結構和行為的分離。

1.8.4跨平臺特性,在絕大多數瀏覽器的支持下,可以在多種平臺下運行(如Windows、Linux、Mac、Android、iOS等)。

1.8.5 JavaScript腳本語言同其他語言一樣,有它自身的基本數據類型,表達式和算術運算符及程序的基本程序框架。JavaScript提供了四種基本的數據類型和兩種特殊數據類型用來處理數據和文字。而變量提供存放信息的地方,表達式則可以完成較復雜的信息處理。

2.5Ajax 應用

該技術在 1998 年前后得到了應用。允許客戶端腳本發送HTTP請求(XMLHTTP)的第一個組件由Outlook Web Access小組寫成。該組件原屬于微軟 Exchange Server,并且迅速地成為了 Internet Explorer 4.0 的一部分。部分觀察家認為,Outlook Web Access 是第一個應用了 Ajax 技術的成功的商業應用程序,并成為包括Oddpost 的網絡郵件產品在內的許多產品的領頭羊。但是,2005 年初,許多事件使得 Ajax 被大眾所接受。Google 在它著名的交互應用程序中使用了異步通訊,如Google、Google 地圖、Google 搜索建議、Gmail等。Ajax 這個詞由《Ajax: A New Approach to Web Applications》一文所創,該文的迅速傳播加強了人們使用該項技術的意識。另外,對Mozilla/Gecko 的支持使得該技術走向成熟,變得更為易用。

Ajax 前景非常樂觀,可以提高系統性能,優化用戶界面。Ajax 現有直接框架 AjaxPro,可以引入 AjaxPro.2.dll 文件,可以直接在前臺頁面 JavaScript 調用后臺頁面的方法。但此框架與表單驗證有沖突。另外微軟也引入了 Ajax 組件,需要添加AjaxControlToolkit.dll 文件,可以在控件列表中出現相關控件。

?

2.6 Vue.js 主要功能

Vue.js是一套構建用戶界面的漸進式框架。與其他重量級框架不同的是,Vue采用自底向上增量開發的設計。Vue 的核心庫只關注視圖層,并且非常容易學習,非常容易與其它庫或已有項目整合。另一方面,Vue 完全有能力驅動采用單文件組件和Vue生態系統支持的庫開發的復雜單頁應用。

Vue.js 的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合的視圖組件。

Vue.js 自身不是一個全能框架——它只聚焦于視圖層。因此它非常容易學習,非常容易與其它庫或已有項目整合。另一方面,在與相關工具和支持庫一起使用時,Vue.js 也能驅動復雜的單頁應用。

3?校園二手銷售網站 ?系統分析

系統分析是開發一個項目的先決條件,通過系統分析可以很好的了解系統的主體用戶的基本需求情況,同時這也是項目的開發的原因。進而對系統開發進行可行性分析,通常包括技術可行性、經濟可行性等,可行性分析同時也是從項目整體角度進行的分析。然后就是對項目的具體需求進行分析,分析的手段一般都是通過用戶的用例圖來實現。下面是詳細的介紹。

本系統將在經濟、技術、操作這三個角度上進行可行性分析。

3.1?可行性分析

(1)經濟可行性

整個系統從設計到開發以及測試過程嚴謹步驟齊全,所有工作任務全部由本人完成,并未獲取外部技術支持,節約了一切服務成本開銷以及人工成本,在硬件方面,為節約成本使用一臺二手移動工作站作為項目部署服務器以及數據庫服務器,成本在一萬元一下,真個網絡部署也是由本人獨立完成不涉及到其他人工費用,整個開發過程本著低成本,低消耗的原則。

綜上所述經濟可行性也沒有問題。

(2)技術可行性

技術可行性分析的目的是確認該系統能否利用現有技術實現,并評估開發效率和完成情況。技術的可行性是指在當前的技術條件下,計算機軟件和硬件的開發是否能夠滿足發展的要求。因為該系統的開發基于Java語言,所以開發該系統所需的軟件和硬件條件可以在普通計算機上滿足。因為它占用的內存相對較少,所以用MySQL數據庫開發和設計軟件理論上沒有問題,因為它占用的內存太少。上述技術可以有效地保證系統的成功和高效開發。

綜上所述技術可行性也沒有問題。

(3)法律可行性:

從開發者角度來看,springboot和MYSQL是網上開源且免費的,在知識產權方面不會產生任何法律糾紛。

從用戶使用角度來看,只要不再系統上販賣違禁品,對系統做出條約協議,杜絕非法支付即可。

綜上所述法律可行性也沒有問題。

3.2 系統流程分析

3.2.1?數據流程

校園二手銷售網站主要的目的就是實現對二手商品的在線選購,圖2-1就是系統的數據流圖。

?

圖2-1商品購買操作展開圖

3.3.2?業務流程

分析完系統的數據流,接下來我們來看系統的業務流程,圖2-2就是業務流程圖:

?

圖3-2業務流程圖

3.3?系統功能分析

3.3.1 功能性分析

按照校園二手銷售網站的角色,我劃分為了用戶管理模塊、管理員管理模塊這兩大部分。

用戶管理模塊:

(1)用戶注冊登錄:用戶注冊為會員并登錄校園二手銷售網站;用戶對個人信息的增刪改查,比如個人資料,密碼修改。

(2)用戶查看商品:用戶進行商品信息的閱覽,通過發現喜歡的商品后可以購買+評論+收藏。

(3)二手資訊:用戶進行資訊的閱覽,查看管理者發布的二手資訊信息。

(4)在線留言:用戶在留言這一菜單下對用戶提交的查看、同時也可以發布留言、評論。

(5)我的訂單:用戶在提交訂單后,可以對提交的訂單進行管理。

管理員管理模塊:

(1)用戶管理:管理員可以對前臺上注冊過的用戶信息進行管控,也可以對管理員信息進行管控。

(2)二手資訊管理:管理員在后臺可以對校園二手銷售網站中顯示的二手資訊信息進行增刪改查。

(3)分類列表管理:管理員對校園二手銷售網站中商品的分類進行管控。

(4)二手商城管理:管理員對賣家提交的商品訂單進行管控。

(5)留言管理:管理員可以對校園二手銷售網站中用戶提交的留言以及留言的分類進行增刪改查。

(6)站點管理:管理員可以對校園二手銷售網站中首頁顯示的輪播圖以及系統中的一些公告發布到系統當中,讓用戶及時的查看到系統信息,進行合理安排。

3.3.2 非功能性分析

1.系統處理的準確性和機密性

系統軟件應確保公司內部信息內容的機密性,以確保用戶利益。系統軟件應選擇管理權限,操縱不同客戶的應用程序管理權限,并且客戶不得濫用該權限進行實際操作。系統軟件應確保數據信息的安全性。另外,客戶指定系統軟件具有縱橫比的可信度,數據信息的準確性,并且系統軟件是可恢復的。

2.系統軟件的開發和可擴展性

客戶會在系統使用過程中不斷對系統提出新要求,擴展系統功能,這就要求系統軟件必須具有出色的可伸縮性,以考慮到客戶的長期和易于使用的法規,客戶會在系統使用過程中不斷對系統提出新要求,擴展系統功能。

3.系統軟件的便利性和可執行性

控制系統設計應個性化,用戶界面應該做到清晰簡單一目了然,操作簡單方便,達到人機 友好的目的。

4.系統軟件的響應時間

系統軟件響應速度是考慮系統軟件特性的優缺點的關鍵參考。該系統要求響應速度短,升級解決方案快,數據交換和傳輸時間短以及后臺管理網絡服務器的響應速度快。由于系統軟件用戶的唯一性,系統軟件必須立即有效地做出響應。并且,請務必在安全前提下確保高效的響應能力。

校園二手銷售網站的非功能性需求比如校園二手銷售網站的安全性怎么樣,可靠性怎么樣,性能怎么樣,可拓展性怎么樣等。具體可以表示在如下3-1表格中:

3-1校園二手銷售網站非功能需求表

安全性

主要指校園二手銷售網站數據庫的安裝,數據庫的使用和密碼的設定必須合乎規范。

可靠性

可靠性是指校園二手銷售網站能夠安裝用戶的指示進行操作,經過測試,可靠性90%以上。

性能

性能是影響校園二手銷售網站占據市場的必要條件,所以性能最好要佳才好。

可擴展性

比如數據庫預留多個屬性,比如接口的使用等確保了系統的非功能性需求。

易用性

用戶只要跟著校園二手銷售網站的頁面展示內容進行操作,就可以了。

可維護性

校園二手銷售網站開發的可維護性是非常重要的,經過測試,可維護性沒有問題

3.4?系統用例分析

通過2.3功能的分析,得出了本校園二手銷售網站的用例圖:

用戶角色用例如圖2-3所示。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?

圖2-3?校園二手銷售網站 ?用戶角色用例圖

web后臺管理上的管理員是維護整個校園二手銷售網站中所有數據信息的管理員角色用例如圖2-5所示。

?

?

圖2-5?校園二手銷售網站管理員角色用例圖

3.6本章小結

本章主要通過對校園二手銷售網站的可行性分析、流程分析、功能需求分析、系統用例分析,確定整個校園二手銷售網站要實現的功能。同時也為校園二手銷售網站的代碼實現和測試提供了標準。

4 校園二手銷售網站 ?總體設計

本章主要討論的內容包括校園二手銷售網站 ?的功能模塊設計、數據庫系統設計。

4.1 系統架構設計

本校園二手銷售網站從架構上分為三層:表現層(UI)、業務邏輯層(BLL)以及數據層(DL)。

圖3-1校園二手銷售網站 ?系統架構設計圖

?

表現層(UI):又稱UI層,主要完成本校園二手銷售網站的UI交互功能,一個良好的UI可以打打提高用戶的用戶體驗,增強用戶使用本校園二手銷售網站時的舒適度。UI的界面設計也要適應不同版本的校園二手銷售網站以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用戶進行交互操作時必須要得到與之相符的交互結果,這就要求表現層要與業務邏輯層進行良好的對接。

業務邏輯層(BLL):主要完成本校園二手銷售網站的數據處理功能。用戶從表現層傳輸過來的數據經過業務邏輯層進行處理交付給數據層,系統從數據層讀取的數據經過業務邏輯層進行處理交付給表現層。

數據層(DL):由于本校園二手銷售網站的數據是放在服務端的mysql數據庫中,因此本屬于服務層的部分可以直接整合在業務邏輯層中,所以數據層中只有數據庫,其主要完成本校園二手銷售網站的數據存儲和管理功能。

4.2?系統功能模塊設計

4.2.1整體功能模塊設計

在上一章節中主要對系統的功能性需求和非功能性需求進行分析,并且根據需求分析了本校園二手銷售網站中的用例。那么接下來就要開始對本校園二手銷售網站的架構、主要功能和數據庫開始進行設計。校園二手銷售網站根據前面章節的需求分析得出,其總體設計模塊圖如圖3-2所示。

?

圖3-2?校園二手銷售網站功能模塊圖

前臺適用用于用戶的登錄、注冊、二手商品的展示和檢索、商品的購買和查看自己的訂單等。

  • 瀏覽二手資訊:只要進入這個平臺就可以查看各種二手資訊,有生活各類所需要的商品,用戶可以根據自己的需要自行瀏覽,選擇自己心儀的二手商品。
  • 查詢商品:對于購買商品目標明確的用戶,就可以在搜索欄里直接搜索自己想購買的商品,更快、更準確的找到商品。
  • 個人信息:登記個人信息并注冊就可以成為平臺的會員,該模塊包括姓名、性別、修改頭像、修改昵稱等。
  • 密碼修改:這個模塊中包括原密碼、新密碼和確認密碼。
  • 個人訂單:用戶購買了商品之后,就會生成一張訂單,訂單號是自動生成的,當用戶付款之后,就可以在訂單管理模塊待發貨中看到付完款的訂單,后臺管理員看到訂單詳情,進行核對之后,訂單狀態就會變為已審核,同時訂單狀態也會反饋給用戶,用戶收到貨就如果對商品不滿意可以申請售后反饋。
  • 訂單評價:買家對已經完成的訂單進行評價,輸入評分和內容,評價成功后,訂單對應的商品將顯示出該評價內容。
  • 后臺包括管理員登錄、增加商品、查看和修改商品信息、訂單管理、用戶管理。

  • 增加二手商品:該模塊用來上架新的商品,包括增加標題、封面圖、賣價、原價、商品庫存、產品分類、描述、成色。
  • 查看商品信息:可以查看上架商品的信息,能隨時修改商品的信息,也可以下架賣出商品。
  • 訂單管理:訂單是前臺生成的,后臺可以對訂單的狀態進行一些改變,同時,買家的售后申請操作,賣家可以批準或刪除。
  • 4.2.2用戶模塊設計

    后臺管理者能夠實現對前臺注冊的用戶增刪改查操作,用戶模塊結構圖如下圖:

    ?

    圖3-3會員用戶模塊結構圖

    4.2.3商城管理模塊設計

    校園二手銷售網站是中需要存儲不少商品信息,其模塊功能結構,具體的結構圖如下:

    ?

    圖3-4商城模塊結構圖

    4.2.4訂單管理模塊設計

    校園二手銷售網站最重要的一個功能就是購買,其模塊功能結構,具體的結構圖如下:

    ?

    圖3-5訂單模塊結構圖

    4.3 數據庫設計

    數據庫設計一般包括需求分析、概念模型設計、數據庫表建立三大過程,其中需求分析前面章節已經闡述,概念模型設計有概念模型和邏輯結構設計兩部分。

    4.3.1 數據庫概念結構設計

    下面是整個校園二手銷售網站 ?中主要的數據庫表總E-R實體關系圖。

    圖3-6?校園二手銷售網站總E-R關系圖

    ?

    下面根據校園二手銷售網站的數據庫總E-R關系圖可以得出校園二手銷售網站需要很多E-R圖,在此羅列出來一些主要的數據庫E-R模型圖。

    ?

    圖3-7訂單發貨E-R關系圖

    ?

    圖3-8?二手商城信息E-R關系圖

    ?

    圖3-9?地址信息E-R關系圖

    ?

    圖3-10?評論E-R關系圖

    4.3.2 數據庫邏輯結構設計

    通過上一小節中校園二手銷售網站中總E-R關系圖上得出一共需要創建很多個數據表。在此我主要羅列幾個主要的數據庫表結構設計。

    表3-1?user_registration用戶注冊表

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    user_registration_id

    int

    11

    用戶注冊ID

    gender

    varchar

    64

    性別

    examine_state

    varchar

    16

    審核狀態

    recommend

    int

    11

    智能推薦

    user_id

    int

    11

    用戶ID

    create_time

    datetime

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    表3-2?second_hand_mall二手商城表

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    second_hand_mall_id

    int

    11

    二手商城ID

    condition

    varchar

    64

    成色

    recommend

    int

    11

    智能推薦

    cart_title

    varchar

    125

    標題

    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

    創建時間

    update_time

    timestamp

    0

    更新時間

    表3-3 praise點贊表

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    praise_id

    int

    10

    點贊ID

    user_id

    int

    11

    點贊人

    create_time

    timestamp

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    source_table

    varchar

    255

    來源表

    source_field

    varchar

    255

    來源字段

    source_id

    int

    10

    來源ID

    status

    tinyint

    1

    點贊狀態

    表3-4?address收貨地址表

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    address_id

    int

    11

    收貨地址

    name

    varchar

    32

    姓名

    phone

    varchar

    13

    手機

    postcode

    varchar

    8

    郵編

    address

    varchar

    255

    地址:

    user_id

    mediumint

    8

    用戶ID

    create_time

    timestamp

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    default

    tinyint

    1

    默認判斷

    表3-5 comment評論信息表

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    comment_id

    int

    11

    評論ID

    user_id

    int

    11

    評論人ID

    reply_to_id

    int

    11

    回復評論ID

    content

    longtext

    0

    內容

    nickname

    varchar

    255

    昵稱

    avatar

    varchar

    255

    頭像地址

    create_time

    timestamp

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    source_table

    varchar

    255

    來源表

    source_field

    varchar

    255

    來源字段

    source_id

    int

    10

    來源ID

    表3-6?order_shipment訂單發貨表

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    order_shipment_id

    int

    11

    訂單發貨ID

    order_number

    varchar

    64

    訂單編號

    trade_name

    varchar

    64

    商品名稱

    shipment_quantity

    int

    11

    發貨數量

    delivery_time

    date

    0

    發貨時間

    delivery_logistics

    varchar

    64

    發貨物流

    shipment_no

    varchar

    64

    發貨單號

    user_account

    int

    11

    用戶賬號

    recommend

    int

    11

    智能推薦

    create_time

    datetime

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    4.4本章小結

    整個校園二手銷售網站的需求分析主要對系統總體架構以及功能模塊的設計,通過建立E-R模型和數據庫邏輯系統設計完成了數據庫系統設計。

    5?校園二手銷售網站 ?詳細設計與實現

    校園二手銷售網站的詳細設計與實現主要是根據前面的校園二手銷售網站的需求分析和校園二手銷售網站的總體設計來設計頁面并實現業務邏輯。主要從校園二手銷售網站界面實現、業務邏輯實現這兩部分進行介紹。

    5.1用戶功能模塊

    5.1.1 前臺首頁界面

    用戶界面要盡量簡潔大方,使用戶能夠方便找到需要的功能入口,瀏覽、購買商品,且要易于修改和維護,同時還要保證用戶合法和系統安全。其主界面展示如下圖5-1所示。

    ?

    圖5-1?前臺首頁界面圖

    系統首頁關鍵代碼如下所示。

    public class FindConfig {

    ????public static String PAGE = "page";

    ????public static String SIZE = "size";

    ????public static String LIKE = "like";

    ????public static String ORDER_BY = "orderby";

    ????public static String FIELD = "field";

    ????public static String GROUP_BY = "groupby";

    ????public static String MIN_ = "_min";

    ????public static String MAX_ = "_max";

    }

    5.1.2 用戶注冊界面

    不是校園二手銷售網站中正式用戶的是可以在線進行注冊的,如果你沒有本校園二手銷售網站的賬號的話,添加“注冊”,當填寫上自己的賬號+密碼+確認密碼+昵稱+郵箱+手機號等后再點擊“注冊”按鈕后將會先驗證輸入的有沒有空數據,再次驗證密碼和確認密碼是否是一樣的,最后驗證輸入的賬戶名和數據庫表中已經注冊的賬戶名是否重復,只有都驗證沒問題后即可用戶注冊成功。其用用戶注冊界面展示如下圖5-2所示。

    ?

    圖5-2?前臺用戶注冊界面圖

    注冊關鍵代碼如下所示。

    /**

    ?????* 注冊

    ?????* @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]用戶獲取其他與用戶相關的數據

    ?????*/

    ????@Id

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

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

    ????private Integer userId;

    ????/**

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

    ?????*/

    ????@Basic

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

    ????private Integer state;

    ????/**

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

    ?????*/

    ????@Basic

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

    ????private String userGroup;

    ????/**

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

    ?????*/

    ????@Basic

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

    ????private Timestamp loginTime;

    ????/**

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

    ?????*/

    ????@Basic

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

    ????private String phone;

    ????/**

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

    ?????*/

    ????@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位數字或英文組成

    ?????*/

    ????@Basic

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

    ????private String password;

    ????/**

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

    ?????*/

    ????@Basic

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

    ????private String email;

    ????/**

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

    ?????*/

    ????@Basic

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

    ????private Integer emailState;

    ????/**

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

    ?????*/

    ????@Basic

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

    ????private String avatar;

    ????/**

    ?????* 創建時間:

    ?????*/

    ????@Basic

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

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

    ????private Timestamp createTime;

    ????@Basic

    ????@Transient

    ????private String code;

    }

    5.1.3 用戶登錄界面

    校園二手銷售網站中的前臺上注冊后的用戶是可以通過自己的賬戶名和密碼進行登錄的,當用戶輸入完整的自己的賬戶名和密碼信息并點擊“登錄”按鈕后,將會首先驗證輸入的有沒有空數據,再次驗證輸入的賬戶名+密碼和數據庫中當前保存的用戶信息是否一致,只有在一致后將會登錄成功并自動跳轉到校園二手銷售網站 ?的首頁中;否則將會提示相應錯誤信息,用戶登錄界面如下圖5-3所示。

    ?

    圖5-3用戶登錄界面圖

    登錄關鍵代碼如下所示。

    /**

    ?????* 登錄

    ?????* @param data

    ?????* @param httpServletRequest

    ?????* @return

    ?????*/

    ????@PostMapping("login")

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

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

    ????????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);

    ????????//查詢用戶審核狀態

    ????????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,"該用戶審核未通過");

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

    ????????}

    ????????//查詢用戶狀態

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

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

    ????????}

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

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

    ????????????// 存儲Token到數據庫

    ????????????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, "賬號或密碼不正確");

    ????????}

    }

    5.1.4在線留言界面

    用戶在點擊導航欄上面的留言板后,就可以搜索查看留言信息,用戶根據自己的喜好可以進行交流,留言板界面如下圖4-4所示。

    ?

    圖4-4在線留言界面圖

    在線留言關鍵代碼如下所示。

    @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();

    ????}

    5.1.5?收貨地址界面

    當用戶點擊“收貨地址”右后,就回去顯示出目前現有的地址,也可以添加新的地址,界面如下圖4-5所示。

    ?

    圖5-5收貨地址界面圖

    5.1.6?商品詳情界面

    當訪客點擊了任意商品后將會進入該款商品的詳情界面,可以了解到該商品的圖片信息、商品信息、價錢信息等,同時可以對該商品進行加購+立即購買+收藏+點贊+評論,商品詳情展示頁面如圖4-6所示。

    ?

    圖5-6?商品詳情界面圖

    5.1.7?我的訂單界面

    當用戶點擊“我的訂單”鏈接后就進入自己購買的訂單的界面展示,界面如下圖4-7所示。

    ?

    圖5-7?我的訂單界面圖

    5.2管理員功能模塊

    5.2.1 用戶管理界面

    校園二手銷售網站中的管理人員是可以對前臺注冊的用戶進行管理的,也可以對管理員進行管控。界面如下圖4-9所示。

    ?

    圖4-9用戶管理界面圖

    用戶管理關鍵代碼如下所示。

    public String encryption(String plainText) {

    ????????String re_md5 = new String();

    ????????try {

    ????????????MessageDigest md = MessageDigest.getInstance("MD5");

    ????????????md.update(plainText.getBytes());

    ????????????byte b[] = md.digest();

    ????????????int i;

    ????????????StringBuffer buf = new StringBuffer("");

    ????????????for (int offset = 0; offset < b.length; offset++) {

    ????????????????i = b[offset];

    ????????????????if (i < 0)

    ????????????????????i += 256;

    ????????????????if (i < 16)

    ????????????????????buf.append("0");

    ????????????????buf.append(Integer.toHexString(i));

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

    ????????????re_md5 = buf.toString();

    ????????} catch (Exception e) {

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

    ????????}

    ????????return re_md5;

    ????}

    5.2.2?在線留言管理界面

    校園二手銷售網站中的管理人員是可以對前臺用戶發布的留言進行管控的,界面如下圖4-11所示。

    ?

    圖4-10在線留言界面圖

    5.2.3二手商城管理界面

    校園二手銷售網站中的管理人員是可以對校園二手銷售網站內的賣家發布的商品進行維護和管理的,支持增刪改查操作。界面如下圖4-11所示。

    ?

    圖4-11二手商城管理界面圖

    二手商城管理關鍵代碼如下所示。

    ??@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();

    ????}

    5.2.4 二手資訊界面

    校園二手銷售網站中的管理人員是可以對校園二手銷售網站內的資訊信息進行維護和管理的。校園資訊列表界面如下圖5-12所示。

    ?

    圖5-12二手資訊界面圖

    二手資訊管理關鍵代碼如下所示。

    @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();

    ????}

    5.2.5訂單列表管理的實現

    管理員在后臺管理界面點擊到所有訂單界面dingdan_list.html,向控制層dingdanAction發送請求,搜索當前所有訂單信息,dingdanAction向dingdanDAOImp調用搜索全部訂單的請求,向數據庫的訂單表搜索當前所有訂單并將訂單信息以對象的形式層層返回到dingdan_list.html界面,顯示出當前所有訂單信息。同時可以刪除過期訂單,確認已有訂單,進行發貨處理。

    訂單管理界面如下圖所示。

    ?

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

    訂單列表管理關鍵代碼如下所示。

    @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 "";

    ????}

    5.2.6訂單發貨界面

    管理員在后臺管理界面點擊到所有訂單發貨界面dingdan_list.html,向控制層dingdanAction發送請求,搜索當前所有訂單發貨信息,dingdanAction向dingdanDAOImp調用搜索全部訂單發貨的請求,向數據庫的訂單表搜索當前所有訂單發貨并將訂單信息以對象的形式層層返回到dingdan_list.html界面,顯示出當前所有訂單發貨信息。同時可以刪除過期訂單,確認已有訂單,進行發貨處理。

    訂單發貨管理界面如下圖所示。

    ?

    圖5-14訂單發貨界面圖

    訂單發貨管理關鍵代碼如下所示。

    @RequestMapping("/get_obj")

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

    ????????Query select = service.select(service.readQuery(request), service.readConfig(request));

    ????????List resultList = select.getResultList();

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

    ????????????JSONObject jsonObject = new JSONObject();

    ????????????jsonObject.put("obj",resultList.get(0));

    ????????????return success(jsonObject);

    ????????} else {

    ????????????return success(null);

    ????????}

    }

    ?public Query select(Map<String,String> query,Map<String,String> config){

    ????????StringBuffer sql = new StringBuffer("select ");

    ????????sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

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

    ????????if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

    ????????????sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

    ????????}

    ????????if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

    ????????????sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

    ????????}

    ????????if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

    ????????????int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

    ????????????int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

    ????????????sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

    ????????}

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

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

    ????}

    6系統測試

    6.1系統測試的目的

    系統開發到了最后一個階段那就是系統測試,系統測試對軟件的開發其實是非常有必要的。因為沒什么系統一經開發出來就可能會盡善盡美,再厲害的系統開發工程師也會在系統開發的時候出現紕漏,系統測試能夠較好的改正一些bug,為后期系統的維護性提供很好的支持。通過系統測試,開發人員也可以建立自己對系統的信心,為后期的系統版本的跟新提供支持。

    6.2?系統測試用例

    系統測試包括:用戶登錄功能測試、商品展示功能測試、商品添加、商品搜索、密碼修改功能測試,如表6-1、6-2、6-3、6-4、6-5所示:

    用戶登錄功能測試:

    表6-1?用戶登錄功能測試表

    用例名稱

    用戶登錄系統

    目的

    測試用戶通過正確的用戶名和密碼可否登錄功能

    前提

    未登錄的情況下

    測試流程

    1) 進入登錄頁面

    2) 輸入正確的用戶名和密碼

    預期結果

    用戶名和密碼正確的時候,跳轉到登錄成功界面,反之則顯示錯誤信息,提示重新輸入

    實際結果

    實際結果與預期結果一致

    商品查看功能測試:

    表6-2?商品查看功能測試表

    用例名稱

    商品查看

    目的

    測試商品查看功能

    前提

    用戶登錄

    測試流程

    點擊商品列表

    預期結果

    可以查看到所有商品信息

    實際結果

    實際結果與預期結果一致

    管理員添加商品界面測試:

    表6-3?管理員添加商品界面測試表

    用例名稱

    商品發布測試用例

    目的

    測試商品發布功能

    前提

    用戶正常登錄情況下

    測試流程

    1)點擊商品信息管理就,然后點擊添加后并填寫信息。

    2)點擊進行提交。

    預期結果

    提交以后,頁面首頁會顯示新的商品信息?

    實際結果

    實際結果與預期結果一致

    商品搜索功能測試:

    表6-4商品搜索功能測試表

    用例名稱

    商品搜索測試

    目的

    測試商品搜索功能

    前提

    測試流程

    1)在搜索框填入搜索關鍵字。

    2)點擊搜索按鈕。

    預期結果

    頁面顯示包含有搜索關鍵字的商品

    實際結果

    實際結果與預期結果一致

    密碼修改功能測試:

    表6-5 密碼修改功能測試表

    用例名稱

    密碼修改測試用例

    目的

    測試管理員密碼修改功能

    前提

    管理員用戶正常登錄情況下

    測試流程

    1)管理員密碼修改并完成填寫。

    2)點擊進行提交。

    預期結果

    使用新的密碼可以登錄

    實際結果

    實際結果與預期結果一致

    6.3?系統測試結果

    通過編寫校園二手銷售網站的測試用例,已經檢測完畢用戶登錄模塊、商品查看模塊、商品添加模塊、商品搜索模塊、密碼修改功能測試,通過這5大模塊為校園二手銷售網站的后期推廣運營提供了強力的技術支撐。

    結論

    至此,校園二手銷售網站已經結束,在開發前做了許多的準備,在本系統的設計和開發過程中閱覽和學習了許多文獻資料,從中我也收獲了很多寶貴的方法和設計思路,對系統的開發也起到了很重要的作用,系統的開發技術選用的都是自己比較熟悉的,比如Web、springboot技術、MYSQL,這些技術都是在以前的學習中學到了,其中許多的設計思路和方法都是在以前不斷地學習中摸索出來的經驗,其實對于我們來說工作量還是比較大的,但是正是由于之前的積累與準備,才能順利的完成這個項目,由此看來,積累經驗跟做好準備是十分重要的事情。

    當然在該系統的設計與實現的過程中也離不開老師以及同學們的幫助,正是因為他們的指導與幫助,我才能夠成功的在預期內完成了這個系統。同時在這個過程當中我也收獲了很多東西,此系統也有需要改進的地方,但是由于專業知識的淺薄,并不能做到十分完美,希望以后有機會可以讓其真正的投入到使用之中。

    參考文獻

    [1]朱珍珠,段華斌,鄧永清,杜丹蕾.基于Java的增值平臺的設計與實現[J].辦公自動化,2022,27(05):55-58.

    [2]魏瑾.Java多線程技術在網絡通信系統中的應用[J].山西電子技術,2022(01):66-68.

    [3]鎮鑫羽,景琴琴.Java語言程序設計的教學實踐[J].集成電路應用,2022,39(02):256-257.

    [4]董衛,王婷婷,徐劍.基于Java Web的畢業設計選題系統設計與實現[J].科技資訊,2022,20(03):1-3.

    [5]王春山,孫欣.基于Java的金融消費者投訴審計小助手的設計和實現[J].金融科技時代,2022,30(02):68-73.

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

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

    [8]曹明昊. 基于SpringBoot和Vue框架的邯鄲市現代農業園區信息管理系統的研發[D].河北工程大學,2021.

    [9]單樹倩,任佳勛.基于SpringBoot和Vue框架的數據庫原理網站設計與實現[J].電腦知識與技術,2021,17(30):40-41+50.

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

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

    [12]He Xinbin,Bai Yongbin,Yue Lisen,Wang Haixiao,Liu Yi. Design and Implementation of Information System Based on Java Technology Platform[J]. Journal of Physics: Conference Series,2021,2033(1).

    [13]陳曉華,劉加成.寧國市旅游景點空間特征及整體開發策略——基于大數據挖掘及地理信息技術應用[J].合肥學院學報(綜合版),2021,38(04):33-39.

    [14]田青海. 面向Java應用的性能監控系統的設計與實現[D].浙江大學,2021.

    [15]Qu Xiaona. Application of Java Technology in Dynamic Web Database Technology[J]. Journal of Physics: Conference Series,2021,1744(4).

    [16]嚴宇,王嘯楠.基于大數據分析的旅游景點信息平臺的模型設計[J].計算機產品與流通,2020(10):154.

    [17]Tian Ming Huang. Design and Implementation of App System for Legal Consulting Based on JAVA Technology[J]. Procedia Computer Science,2020,166(C).

    致 ?謝

    逝者如斯夫,不舍晝夜。轉眼間,大學生會員活便已經接近尾聲,人面對著離別與結束,總是充滿著不舍與茫然,我亦如此,仍記得那年秋天,我迫不及待的提前一天到了學校,面對學校巍峨的大門,我心里充滿了期待:這里,就是我新生活的起點嗎?那天,陽光明媚,學校的歡迎儀式很熱烈,我面對著一個個對著我微笑的同學,仿佛一縷縷陽光透過胸口照進了我心里,同時,在那天我認識可愛的室友,我們攜手共同度過了這難忘的兩年。如今,我望著這篇論文的致謝,不禁又要問自己:現在,我們就要說再見了嗎?

    感慨莫名,不知所言。遙想當初剛來學校的時候,心里總是想著工科學校會過于板正,會缺乏一些柔情,當時心里甚至有一點點排斥,但是隨著我對學校的慢慢認識與了解,我才認識到了她的美麗,她的柔情,并且慢慢的喜歡上了這個校園,但是時間太快了,快到我還沒有好好體會她的美麗便要離開了,但是她帶給我的回憶,永遠不會離開我,也許真正離開那天我的眼里會滿含淚水,我不是因為難過,我只是想將她的樣子映在我的淚水里,刻在我的心里。最后,感謝我的老師們,是你們教授了我們知識與做人的道理;感謝我的室友們,是你們陪伴了我如此之久;感謝每位關心與支持我的人。

    少年,追風趕月莫停留,平荒盡處是春山。

    點贊+收藏+關注 → 私信領取本源代碼、數據庫

    總結

    以上是生活随笔為你收集整理的spring boot校园二手销售网站 毕业设计源码161417的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    日本激情动作片免费看 | 在线一区二区三区 | 婷婷综合在线 | av女优中文字幕在线观看 | 免费三级黄色片 | 黄色成人av网址 | 国产欧美久久久精品影院 | 亚洲一区二区三区miaa149 | 亚洲有 在线 | 开心激情久久 | 91av看片| 欧美精品成人在线 | 亚洲开心激情 | 天天操天天射天天爽 | 国产高清黄 | 伊人手机在线 | 日韩色中色 | 成人一级电影在线观看 | 国产精品久久久久久久久毛片 | 亚洲视频一区二区三区在线观看 | 国产一线天在线观看 | 成人黄色电影在线播放 | 日本黄色黄网站 | 日本精品一区二区三区在线观看 | 区一区二区三区中文字幕 | av解说在线观看 | 青青河边草免费直播 | 中文免费 | 麻豆影视网站 | 91av在线播放视频 | 在线视频电影 | 亚洲aⅴ久久精品 | 日本精品视频在线 | 伊人影院在线观看 | 中文字幕第一页在线播放 | 国产精品久久久久久高潮 | 视频在线一区 | 久久国产影院 | 日本一区二区三区免费观看 | 亚洲国产精品成人va在线观看 | 欧美一级久久久 | 日韩电影中文,亚洲精品乱码 | 国产97在线看 | 99r精品视频在线观看 | 免费看片黄色 | av在线收看 | 久草在线中文888 | 中文亚洲欧美日韩 | 日韩视频图片 | 韩国视频一区二区三区 | 丁香婷婷久久 | 国产又粗又猛又爽又黄的视频先 | 人人澡av | 91在线免费视频 | 欧美aa在线| av黄在线播放 | 丁香六月婷婷开心婷婷网 | 麻豆系列在线观看 | 国产精品91一区 | 91丨九色丨蝌蚪丨老版 | 国产精品综合av一区二区国产馆 | 黄色软件大全网站 | 国产精品麻豆99久久久久久 | 国产一卡久久电影永久 | 国产精品1区2区在线观看 | 日韩av在线看 | 精品超碰 | 亚洲欧美经典 | 日韩精品一区二区不卡 | 午夜视频福利 | 国产97色在线 | 婷婷视频在线播放 | 青草视频在线看 | 精品国产视频在线观看 | 特级黄色一级 | 美女一二三区 | 日本久久久亚洲精品 | 91人人澡人人爽 | 免费日韩 精品中文字幕视频在线 | 国产久草在线观看 | 91网站在线视频 | 精品久久中文 | 日日躁你夜夜躁你av蜜 | 国产综合久久 | 怡春院av | av7777777| 丁香婷婷自拍 | 麻豆精品视频 | 久草在线免费在线观看 | 三级小视频在线观看 | 国产又黄又硬又爽 | 色婷婷综合久久久中文字幕 | 欧美日韩国产精品一区二区三区 | 亚洲成人精品国产 | 国产精品久久久久久久av电影 | 九色精品免费永久在线 | 日女人电影 | 美女久久一区 | 国产色爽 | 久久久久99精品国产片 | 日本高清dvd | 狠狠色丁香九九婷婷综合五月 | 99精品乱码国产在线观看 | 色狠狠综合天天综合综合 | 中文字幕在线视频精品 | 国产免费影院 | 日韩激情av在线 | 精品91在线 | 国产精品第十页 | 精品国产一区二区三区男人吃奶 | 国产一区二区三区高清播放 | 国产精品久久久久久久久搜平片 | 国产成人精品一区在线 | 欧美久久九九 | 日本视频网| 欧美一级在线看 | 亚洲午夜久久久久久久久电影网 | 亚洲欧美日韩一区二区三区在线观看 | 亚洲成av人电影 | 黄av免费在线观看 | 四虎影视成人永久免费观看视频 | 夜夜爽天天爽 | 超碰在线最新地址 | 亚洲成a人片在线www | www.婷婷色| 亚洲精品18p | 精品久久中文 | 免费精品视频在线观看 | 久久国产精品小视频 | 日日夜av| 久久久五月天 | sesese图片| 国产精品网红直播 | 三级黄色大片在线观看 | 91免费试看 | 又爽又黄又刺激的视频 | 亚洲精品视频免费在线 | 国产免费影院 | 日韩精品一区二区三区在线播放 | 亚洲国产精品va在线 | 欧美在线视频免费 | 热久久99这里有精品 | 国产精品久久久久9999吃药 | 97精品国产一二三产区 | 免费三及片 | 亚洲一级在线观看 | 国产91在线 | 美洲 | 久久精品美女视频网站 | 久久国产精品久久久 | 少妇高潮流白浆在线观看 | 久久字幕 | 青草视频在线看 | 又粗又长又大又爽又黄少妇毛片 | 成年人黄色在线观看 | 亚洲精品国产精品国自产 | 中文字幕91视频 | 在线观看一 | 夜夜夜影院 | 久久久免费毛片 | 亚洲精品午夜视频 | 天天av综合网 | 亚洲视频免费 | 国产成人精品av在线 | 91桃色国产在线播放 | 中文字幕在线观看第一页 | 久久久综合精品 | 午夜色大片在线观看 | 999精品网| 欧美日韩二三区 | 久久精品视频4 | 亚洲一区精品二人人爽久久 | 色婷婷成人| 日本精品在线看 | 日韩在线观看电影 | 一区二区三区久久精品 | 少妇精品久久久一区二区免费 | 日日躁夜夜躁xxxxaaaa | av.com在线| 国产又粗又猛又黄 | 国产精品成人久久 | 久久人人97超碰精品888 | 久久精品这里精品 | 色视频成人在线观看免 | 天天色成人网 | 国产精品去看片 | 亚洲精品在线视频播放 | 国产精品久久婷婷六月丁香 | 国产精品免费视频观看 | 国产综合久久 | 久久久国产精品一区二区三区 | 99久久婷婷国产综合亚洲 | 欧美精品小视频 | 欧美先锋影音 | 日韩激情片在线观看 | 免费在线播放av电影 | 最新久久免费视频 | 国产乱对白刺激视频在线观看女王 | 免费在线黄 | 韩日视频在线 | 在线精品视频免费播放 | 91精品免费在线观看 | 麻花豆传媒mv在线观看网站 | 91精品视频一区 | 成 人 黄 色 视频播放1 | 国产美女搞久久 | 亚洲日日射| 一区二区三区在线观看中文字幕 | 天天色天天射天天操 | 国产精品一区二区三区在线看 | 国产日韩欧美精品在线观看 | 日韩在线观看小视频 | 一级片色播影院 | 亚洲日韩欧美一区二区在线 | 96超碰在线 | 女人18片 | 欧美日一级片 | 亚洲精品视频在 | 视频一区二区三区视频 | 人人爽久久久噜噜噜电影 | 日本久久电影 | 国产玖玖精品视频 | 国产性xxxx | 99超碰在线播放 | 国产精品去看片 | 手机看片99 | 麻豆传媒视频在线免费观看 | 亚洲理论片在线观看 | 51久久夜色精品国产麻豆 | 国产91免费在线观看 | 欧美一区二区视频97 | 久久天天躁夜夜躁狠狠躁2022 | 最新日韩在线观看视频 | 黄色www在线观看 | 久久久久国产成人免费精品免费 | 欧美日韩另类在线 | 伊人亚洲精品 | 久久系列 | 亚洲高清视频在线观看免费 | 97视频在线观看网址 | 2019中文字幕第一页 | a视频在线观看免费 | 人人揉人人揉人人揉人人揉97 | 国产五月色婷婷六月丁香视频 | 天天天天天天天天操 | 国产高清绿奴videos | 久久高视频 | 午夜私人影院 | 日韩av免费观看网站 | 国产免费观看av | 97超碰免费在线 | 亚洲电影院 | 黄色网大全 | 97视频免费| 91色网址 | 综合网伊人 | 免费看一级特黄a大片 | 中文字幕一区二区三区在线视频 | 精品视频免费在线 | 久草网在线 | 五月开心激情网 | 制服丝袜一区二区 | 亚洲男人天堂a | 久久久久久久免费 | 香蕉视频在线免费看 | www99精品| 伊甸园永久入口www 99热 精品在线 | 精品成人久久 | zzijzzij日本成熟少妇 | av电影免费在线 | 国产一级片免费视频 | 色综合久久99 | 中文字幕在线观看一区二区三区 | 午夜av在线播放 | 91av色 | 色视频在线看 | 中文字幕av免费 | av黄色在线| 中文字幕在线日本 | 国产精品影音先锋 | 婷婷综合久久 | 在线观看成人国产 | 亚洲 中文 在线 精品 | 成人av网站在线 | 国产精品国产三级国产aⅴ入口 | 国产精品二区在线观看 | 欧美精品在线一区二区 | 热久久免费视频精品 | 91精选在线| 狠狠躁夜夜躁人人爽视频 | 亚洲视频大全 | 国产在线久久久 | 成年人视频在线免费观看 | 五月婷婷黄色 | 成人av网站在线播放 | 91视频一8mav | 免费在线观看国产黄 | 久久噜噜少妇网站 | 国产高清在线视频 | 波多野结衣视频一区二区 | 欧美日韩网站 | 欧美一区二区三区在线视频观看 | a视频免费在线观看 | 国产精品女教师 | 亚洲国产午夜视频 | 嫩模bbw搡bbbb搡bbbb | 婷婷激情网站 | 国产精品麻豆欧美日韩ww | 99久久久免费视频 | 四虎5151久久欧美毛片 | 国产做aⅴ在线视频播放 | 亚洲精品中文字幕在线 | 亚洲资源一区 | 蜜桃麻豆www久久囤产精品 | 狠狠色伊人亚洲综合网站野外 | 中文字幕资源在线观看 | 免费看污污视频的网站 | 黄网站免费看 | 看片网站黄| av中文字幕网 | 一级淫片a| 美州a亚洲一视本频v色道 | 最近中文字幕免费视频 | 午夜色性片 | 亚洲国产精久久久久久久 | 夜色资源站国产www在线视频 | 午夜婷婷在线观看 | 精品一区二三区 | 日本中文字幕在线观看 | 中文字幕第| 999国内精品永久免费视频 | 中文视频在线看 | 精品99在线视频 | 久久精品com | 国产成视频在线观看 | 国产精品系列在线观看 | 久久免费视频在线观看30 | av久久在线 | 精品女同一区二区三区在线观看 | 久久综合9988久久爱 | 日韩女同av | 成人在线黄色电影 | 在线观看一级片 | 人人草在线视频 | 亚洲人成人在线 | 久久精品123 | 六月色丁 | 在线观看视频你懂得 | 99热99re6国产在线播放 | 97碰碰精品嫩模在线播放 | 亚洲影视九九影院在线观看 | 国内精品久久久久久久97牛牛 | 久草视频在线看 | 中文字幕激情 | 欧美亚洲国产精品久久高清浪潮 | 婷婷五综合 | 精品久久久久久久久久久久久久久久久久 | 在线99| 国产精品美女www爽爽爽视频 | 亚洲电影自拍 | 中文字幕九九 | 久久国产精品视频 | 亚洲国内精品在线 | 免费看片网址 | 日韩精品2区 | 天天爱天天干天天爽 | 99视频+国产日韩欧美 | 在线 你懂 | 亚洲最新毛片 | 狠狠操狠狠干天天操 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 中文字幕网站 | 97精品国产97久久久久久免费 | 久久综合狠狠综合久久综合88 | 一级特黄aaa大片在线观看 | 久久亚洲电影 | 在线观看av国产 | 色五月激情五月 | 日韩欧美综合视频 | 午夜精品一区二区三区在线视频 | 97在线观看免费 | 精品久久久成人 | 97超碰站| 婷婷日韩| 成人免费在线视频 | 欧美无极色 | 国产日韩欧美在线观看 | 视频一区在线播放 | 白丝av在线 | 久久久久久久久久久久久久免费看 | 久久精品福利 | 亚洲少妇久久 | 99久久99久久精品国产片果冰 | 香蕉视频网站在线观看 | 欧美国产高清 | 日本三级久久久 | 久久精品牌麻豆国产大山 | 日韩精品一区电影 | 日韩电影在线观看中文字幕 | 亚洲 综合 激情 | 最近中文字幕mv | 91视频91蝌蚪 | 亚洲最大在线视频 | 亚洲黄色av网址 | 99r在线观看 | 久久99国产综合精品 | 精品一区二区久久久久久久网站 | 精品国产日本 | 丁香六月综合网 | 在线影视 一区 二区 三区 | 国产精品成人av久久 | 91在线视频免费播放 | 91手机电视| 九九在线免费视频 | 日韩免费中文字幕 | 激情网五月婷婷 | 91在线视频免费 | 美女精品 | 97看片| 欧美射射射| 最近高清中文在线字幕在线观看 | 亚洲精品乱码久久久久久蜜桃欧美 | 91视频网址入口 | 国产精品高潮在线观看 | 91看片在线| 亚洲在线日韩 | 精品一二三四五区 | 五月婷亚洲 | 九九亚洲视频 | 亚洲天堂香蕉 | 午夜在线看 | 国产色小视频 | 久久久久久久亚洲精品 | 亚洲成av人片 | 夜色资源站wwwcom | 久久精品激情 | 精品久久久久久久久久久院品网 | 91麻豆国产福利在线观看 | 国产日产精品一区二区三区四区的观看方式 | 欧美国产日韩一区二区三区 | 国产专区在线播放 | 激情网综合 | 91久久丝袜国产露脸动漫 | 超碰97在线资源站 | 成人av电影免费观看 | 999精品在线 | 999久久久久久久久6666 | 日韩免费电影网站 | 精品91视频 | 日韩免费专区 | 西西444www高清大胆 | 精品国产诱惑 | 久久视频在线观看中文字幕 | 91看片淫黄大片一级在线观看 | 欧美一级艳片视频免费观看 | 久久99精品久久久久久久久久久久 | 日日操天天操夜夜操 | 久久精品电影院 | 国产日韩欧美在线免费观看 | 九九九在线观看 | 一区二三国产 | 99视频 | www久久 | 久久婷婷久久 | av电影av在线 | 天天色棕合合合合合合 | 91自拍视频在线 | 3d黄动漫免费看 | 日日干av | 亚洲精品自拍视频在线观看 | 97久久精品午夜一区二区 | 欧美日韩精品在线视频 | 91桃色在线播放 | 国产精品一区二区在线免费观看 | 日韩中文字幕第一页 | 精品国产黄色片 | 超碰人人射 | 国产黄色大片免费看 | 麻豆视频一区 | 国产精品自拍av | 日韩影视大全 | 一本色道久久综合亚洲二区三区 | aⅴ视频在线 | 国产96在线观看 | 成全在线视频免费观看 | 18国产精品福利片久久婷 | av在线影片 | 开心色婷婷 | 国产一区二三区好的 | 免费看片色 | 日韩av电影手机在线观看 | 日韩欧美在线观看一区二区三区 | 最新av电影网站 | 久久久久亚洲精品国产 | 成人影音av| 国产精品久久久久9999吃药 | 美女又爽又黄 | 五月天综合激情网 | 久久久夜色 | 亚洲国产精久久久久久久 | 在线黄色av| 亚洲欧美成人网 | 九九九视频精品 | 又黄又爽又色无遮挡免费 | 欧美视频国产视频 | 最新色站 | 射射射av| 精品久久毛片 | 五月天婷婷在线播放 | 日本大片免费观看在线 | 色99导航| 久草在线视频新 | 精品99999 | 欧美色综合久久 | 久久激情视频免费观看 | 亚洲午夜精品久久久久久久久久久久 | 色视频 在线 | 天天操天天色天天射 | 午夜婷婷网 | 久久精品视频国产 | 超碰97免费观看 | 国产h片在线观看 | 精品久久久久久久久中文字幕 | 人人爽人人干 | 天天操天天草 | 久久不卡视频 | 欧美精品久久久久久久久免 | 丁香婷婷综合五月 | 亚洲毛片视频 | 久久福利小视频 | 天天拍天天干 | 超碰97久久| 国产最顶级的黄色片在线免费观看 | 欧美在线99 | 黄色三级免费看 | 亚洲视频专区在线 | 青青河边草免费观看完整版高清 | av中文字幕不卡 | 麻豆系列在线观看 | 五月婷婷操 | 特级西西人体444是什么意思 | 888av| 水蜜桃亚洲一二三四在线 | 欧美日韩国产一区二区三区在线观看 | 亚洲综合色网站 | 欧美日韩国产在线观看 | av免费网| 免费视频91蜜桃 | 免费视频xnxx com | 国产精品久久久久久久午夜片 | 国产夫妻av在线 | 91亚洲在线观看 | 五月天婷婷在线观看视频 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 久久精品视频18 | 久av电影| 午夜性盈盈 | 中文字幕国产 | 91精品一区在线观看 | 激情欧美一区二区三区免费看 | 四虎在线免费 | 91精品久久久久久综合乱菊 | 亚洲毛片一区二区三区 | 超碰精品在线观看 | 国产精品久久 | 中文字幕国产精品 | 九九久久婷婷 | 日韩精品久久久久久 | 999久久久久久久久 69av视频在线观看 | 一区二区视频在线免费观看 | 国产精品 日韩 | 国产一区二区高清 | 亚洲综合色激情五月 | 麻豆果冻剧传媒在线播放 | 成人av在线直播 | 亚洲一级国产 | 成人三级视频 | 久久免费中文视频 | 中文字幕免费看 | 精品久久久久久久久久久久久 | 色国产视频 | 精品国产一区二区三区四区vr | 综合婷婷久久 | 在线性视频日韩欧美 | 一区二区视频免费在线观看 | 国产亚洲精品综合一区91 | 欧美aa级| 最新国产视频 | 国产精品99久久免费黑人 | 欧美一二三区播放 | 久草国产在线观看 | 天堂素人在线 | 免费在线一区二区 | 精品国产99国产精品 | 免费在线观看一区 | 欧美在线1区 | 欧美日韩视频在线 | www.99久久.com | 成人黄色毛片 | 日本h在线播放 | 国产精品黄网站在线观看 | 亚洲精品小区久久久久久 | 黄色国产成人 | 亚洲日本一区二区在线 | 日韩在线视频一区 | 91av精品| 免费的黄色的网站 | 久草精品电影 | 国产精品国产精品 | 国产在线理论片 | 婷婷在线色| 日本最新一区二区三区 | 在线观看免费av网 | 日韩av免费在线电影 | 欧洲精品一区二区 | 黄色国产成人 | 久香蕉| 久久人91精品久久久久久不卡 | 中文字幕在 | 日韩欧美精品一区二区 | 亚洲综合精品视频 | 成人黄色大片网站 | 国产精品一区在线播放 | 欧美日韩不卡在线 | 欧美一区二区三区免费观看 | av中文国产 | 欧美在线视频一区二区三区 | 欧美激情视频一二区 | 国产精品久久久久久五月尺 | 中文免费在线观看 | 成人欧美一区二区三区在线观看 | 国产精品视频地址 | 日本中文字幕网站 | 亚洲欧美日韩精品一区二区 | 日本公妇在线观看高清 | 四虎在线免费视频 | 粉嫩高清一区二区三区 | 亚洲精品高清一区二区三区四区 | 久久久国产一区二区 | a级片韩国 | 久久精品播放 | av成人在线网站 | 色综合久久久久综合 | 久操视频在线观看 | 欧美日韩视频一区二区 | 日韩欧美在线国产 | 天天翘av| 天天射天天爽 | 日韩精品第一区 | 少妇精品久久久一区二区免费 | 狠狠干综合 | 精品国产中文字幕 | 91av在线免费看 | 人人澡人人干 | 五月婷婷在线视频观看 | 69精品在线 | www.伊人网 | 99免费| 国产一区二区三区在线 | 伊在线视频 | 国产 一区二区三区 在线 | 成人网页在线免费观看 | 狠狠色丁香久久婷婷综合丁香 | 欧美激情视频在线免费观看 | 综合激情婷婷 | 欧洲视频一区 | 久久久久 | 另类老妇性bbwbbw高清 | 91成品人影院| 超级碰碰碰视频 | 黄色午夜 | 国产精品国产三级国产不产一地 | 超碰午夜| 操操操av | 久久精品黄色 | 韩国一区二区三区在线观看 | 成人av电影免费观看 | 亚洲视频免费在线观看 | 99c视频在线 | 高潮久久久 | 国产xxxxx在线观看 | 日韩av在线一区二区 | 久精品视频在线观看 | 日韩在线小视频 | 中文字幕一区二区三区四区视频 | 美女免费视频一区 | 久久久久久久久免费视频 | 中文字幕亚洲精品日韩 | 欧美黄色成人 | 久久综合婷婷 | 国产一级二级三级在线观看 | 992tv在线| 日韩久久精品一区二区 | 香蕉久久国产 | 伊人亚洲精品 | 国产亚洲人成网站在线观看 | 超碰人人国产 | 高清av中文字幕 | 中文字幕在线播放日韩 | 国产99久久九九精品免费 | 人人射人人 | 国产精品美女久久久久久免费 | 夜夜操狠狠干 | 亚洲精品久久久久久国 | 97精品国产91久久久久久久 | 最近中文字幕大全中文字幕免费 | av国产网站 | 日韩黄色在线观看 | 国产精品日韩欧美 | 午夜免费在线观看 | 亚洲国产影院av久久久久 | 91精品网站在线观看 | 天天操综合网站 | 精品视频资源站 | 视频国产在线 | 国产视频欧美视频 | 人人澡超碰碰 | 成人黄色在线 | 亚洲精品综合在线 | 欧美aaa一级| 日韩精品一区二区在线观看视频 | 午夜精品久久久久久久99婷婷 | 91av99| 黄色av电影| 亚洲视频久久 | 黄色亚洲精品 | 操久| 91精品区| 在线看国产视频 | 国产一级视频 | 久久国产综合视频 | 日韩在线视频网 | 免费观看视频的网站 | 久久久久久久久久久成人 | 免费视频黄色 | 视频国产一区二区三区 | 国产黄色电影 | 国产精品av免费在线观看 | 久久99国产综合精品 | 久久免费视频3 | 中文字幕一区二区三区精华液 | 欧美另类sm图片 | 九九免费在线观看 | 国产精品久久久久久久久久新婚 | 视频在线99re | 久久少妇免费视频 | 免费看的黄色片 | 中文字幕在线影院 | 亚洲毛片久久 | 高清av影院 | 亚洲欧美国产精品va在线观看 | 亚洲理论影院 | 91人人澡人人爽人人精品 | 亚洲一区二区三区四区在线视频 | 国产精品久久久久999 | 日本99干网 | 91九色蝌蚪国产 | 久久av高清 | 欧美激情精品久久久久久免费印度 | 国产精品免费一区二区 | 国产精品私人影院 | 国产亚洲精品美女久久 | 久久影院一区 | 欧美日韩在线免费观看视频 | 亚洲人成影院在线 | 在线三级av | 成 人 免费 黄 色 视频 | 久草在线观| 亚洲日本精品 | 狠狠的日日 | 亚洲一区美女视频在线观看免费 | 国产福利91精品一区二区三区 | 五月激情丁香图片 | 久久另类视频 | 久草色在线观看 | 日本高清免费中文字幕 | 日韩欧美一区二区三区黑寡妇 | 日韩成片 | 精品中文字幕在线观看 | 中文字幕 第二区 | 精品免费一区 | 西西www444| h久久| 国产无区一区二区三麻豆 | 狠狠色香婷婷久久亚洲精品 | 在线黄av| 午夜av电影院 | 日韩一区二区三区高清免费看看 | 一区视频在线 | 日韩欧美视频一区二区 | 激情五月婷婷 | 色婷婷亚洲婷婷 | 日日弄天天弄美女bbbb | 日韩在线观看网站 | 日韩午夜视频在线观看 | 国产精选在线观看 | 国产少妇在线观看 | 国产精品网红直播 | 欧美成人播放 | 99精品国产兔费观看久久99 | 亚洲精品高清在线观看 | 日韩欧美在线综合网 | 国产精品九九久久久久久久 | 黄毛片在线观看 | 97操操| 91精品伦理 | 久久成人国产精品免费软件 | 国产精品久久久久久久7电影 | 九九视频免费观看视频精品 | 亚洲尺码电影av久久 | 黄色毛片一级片 | 久久久免费观看视频 | 狠狠操电影网 | 女人18毛片a级毛片一区二区 | 午夜精品一区二区三区在线视频 | 久久成人免费视频 | 国产精品乱码久久久久久1区2区 | 91毛片在线| 亚洲视频免费在线 | 国产黄色片免费在线观看 | 国产精品va | av黄免费看 | 韩日电影在线免费看 | 国产九九热视频 | 激情久久久久 | 久久久久在线观看 | 国产 欧美 在线 | 胖bbbb搡bbbb擦bbbb | 奇米导航 | 精品久久久久久国产偷窥 | 99久久综合狠狠综合久久 | 五月婷婷一区 | 国内精品久久久久影院优 | 久久激情视频网 | 日韩亚洲国产精品 | 成人精品国产免费网站 | 99精品国产福利在线观看免费 | 亚洲一级片免费观看 | 午夜在线免费观看视频 | av超碰在线| 国产在线一卡 | 亚洲欧美精品一区 | 久久精品导航 | 欧美视频国产视频 | 亚洲狠狠干 | 草久中文字幕 | 中文字幕精品三区 | 人人干狠狠干 | 久久艹艹 | 99se视频在线观看 | 国产精品久久久久久久久久妇女 | 国产999精品 | 成人一级影视 | 青青河边草免费观看 | 日本黄色免费大片 | 亚洲三区在线 | 亚洲精品美女久久久久 | 精品久久1| 亚洲精品综合在线 | 国产免费观看久久 | 国产福利91精品一区 | 中国一级特黄毛片大片久久 | 亚洲国产日本 | 亚洲精品美女在线观看 | 中文字幕在线播放日韩 | 中文字幕最新精品 | 色婷婷欧美 | 日韩精品久久久免费观看夜色 | 午夜精品一区二区三区四区 | 国产美女无遮挡永久免费 | 伊人五月综合 | 亚洲国产精品久久 | 天天舔天天射天天操 | 麻豆视频免费入口 | 免费看久久 | 国产精选在线观看 | 久久草视频 | 中文字幕在线免费观看 | 日韩电影在线看 | 成人羞羞视频在线观看免费 | 免费视频久久久久 | 色在线观看网站 | 欧美日韩国产一区二区三区在线观看 | 在线观看黄色国产 | 久久亚洲私人国产精品va | 中文字幕色网站 | 成人亚洲精品国产www | 色播五月激情综合网 | www.五月天激情 | 777xxx欧美 | 久久免费电影 | 日本精品视频一区 | 久久久久久久久久久网 | 国产精品成人一区二区三区吃奶 | 黄色aa久久 | www五月婷婷 | 91精品一区国产高清在线gif | 国产精品毛片一区二区 | 丁香花中文在线免费观看 | 免费在线视频一区二区 | av国产网站 | 亚洲精品一区二区在线观看 | 国产精品久久久久免费观看 | 91人人干 | 色欲综合视频天天天 | 亚洲精品国产精品国自 | 黄网站污 | 久久国产精品久久久久 | 国产精彩视频一区 | 九九导航 | av一级一片 | 欧美一级激情 | 久久人人爽人人爽人人片 | 日韩精品中文字幕有码 | 欧美综合在线视频 | 国产视频精品在线 | 久青草电影 | 91片黄在线观看 | 国产在线观看99 | 国产精品久久久久久久久久久久冷 | 国产精品久久久久久久av电影 | 国产视频精品久久 | 成人av手机在线 | 国产色道 | 中文字幕免费不卡视频 | 久久久在线观看 | 久久久国产精品亚洲一区 | 香蕉视频网站在线观看 | 在线观看黄色av | 91视频免费观看 | 国产99久久久国产精品 | 色综合欧洲 | 午夜国产影院 | 久久9999久久免费精品国产 | 日韩av中文字幕在线免费观看 | 天天综合婷婷 | 欧洲不卡av | 色欧美日韩 | 久久精品视频在线观看 | 亚洲日本va午夜在线影院 | 看v片| www.狠狠色.com| 日本午夜免费福利视频 | 四虎影视成人永久免费观看亚洲欧美 | 日批在线看 | 久草国产在线观看 | 99精彩视频在线观看免费 | 精品久久国产一区 | 韩国av电影在线观看 | 日本在线视频网址 | 国产理伦在线 | 中文字幕一区二区三区乱码在线 | www.亚洲精品 | 九九综合久久 | 在线视频一区二区 | 在线色网站 | 麻豆国产视频下载 | 国产永久免费高清在线观看视频 | 亚洲综合成人婷婷小说 | 天天爽天天碰狠狠添 | 在线电影 你懂得 | www四虎影院 | 国产成人一区二区啪在线观看 | 99久久网站 | 久久精品视频免费观看 | 久久黄页 | 国产va在线| 精品久久久久久久久久岛国gif | 三级黄色在线 | 婷婷六月天丁香 | 91视频91蝌蚪 | 91丨九色丨高潮丰满 | 黄色综合 | 午夜在线观看影院 | 久久久黄色 | 美女网站视频免费都是黄 | 欧美色操 | 国产精品久久久影视 | 黄色片网站大全 | www婷婷| 人人插人人澡 | 免费观看一区二区三区视频 | 在线免费观看的av网站 | 久久久久久久久久久久99 | 东方av免费在线观看 | av电影在线播放 | 在线观看91精品国产网站 | 九月婷婷人人澡人人添人人爽 | 亚洲毛片视频 | 国产精品精品久久久久久 | 在线观看亚洲精品 | 亚洲精品国产成人av在线 | 成人黄色片免费 | 婷婷网五月天 | 亚洲午夜久久久久久久久 | 免费网站在线观看人 | 免费观看黄色av | 中文字幕乱码一区二区 | 黄色成人小视频 |