欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Spring Boot旅游商品管理系統(tǒng)實戰(zhàn):從技術(shù)選型到推薦算法落地

Spring Boot旅游商品管理系統(tǒng)實戰(zhàn):從技術(shù)選型到推薦算法落地 1. 旅游商品管理系統(tǒng)的真實需求場景畢設(shè)選題之前要想清楚的事很多同學(xué)一看到“旅游商品管理系統(tǒng)”這個題目第一反應(yīng)是“又一個CRUD”第二反應(yīng)是“Spring Boot 大數(shù)據(jù)聽起來高級但大數(shù)據(jù)到底用在哪”。說實話這兩個反應(yīng)都沒錯但也都只對了一半。我本人這幾年幫不少計算機專業(yè)的學(xué)弟學(xué)妹審過畢業(yè)設(shè)計題目也帶過幾個類似的系統(tǒng)項目。這個題目的價值恰恰在于它不像純粹的電商系統(tǒng)那樣只需要做好訂單和庫存也不像純粹的數(shù)據(jù)分析平臺那樣只需要做報表和挖掘。旅游商品這個業(yè)務(wù)域天然帶有“商品管理共性 旅游場景特性 數(shù)據(jù)價值挖掘潛力”三重屬性做起來既有基本功的展示空間又有差異化亮點的發(fā)揮余地。先說一個反直覺的結(jié)論旅游商品管理系統(tǒng)最大的難點從來不在“系統(tǒng)能不能跑通”而在“你憑什么說這個系統(tǒng)是旅游商品的系統(tǒng)而不是把超市進(jìn)銷存改了個名字”。很多同學(xué)做完系統(tǒng)去答辯老師問了三個問題就卡住了基本都出在這一點上。你的旅游商品和普通電商商品有什么區(qū)別——答不上來。大數(shù)據(jù)技術(shù)在你的系統(tǒng)里做了什么MySQL存數(shù)據(jù)也算大數(shù)據(jù)嗎——答不上來。你的并發(fā)設(shè)計了沒有節(jié)假日旅游高峰怎么辦——答不上來。所以這篇博文我不想給那種“先建個Spring Boot項目然后抄一堆代碼”的流水賬教程。我要做的是把一條相對完整的實現(xiàn)路徑拆給你看——從技術(shù)選型的取舍邏輯到數(shù)據(jù)庫建模的坑到“大數(shù)據(jù)”在畢設(shè)里怎么落地才算合理再到前后端對接和文檔撰寫的避坑點。這篇內(nèi)容適合的人群是準(zhǔn)備做Java方向畢業(yè)設(shè)計的本科生、需要課程設(shè)計成果的專科或培訓(xùn)學(xué)員以及想快速理解“Spring Boot 數(shù)據(jù)類應(yīng)用”怎么結(jié)合的轉(zhuǎn)行開發(fā)者。為了讓你對最終做出來的東西有個具象感知先說一下整個系統(tǒng)的目標(biāo)形態(tài)一個可以演示、可以答辯、可以寫進(jìn)簡歷的Web應(yīng)用管理端完成商品、分類、景區(qū)關(guān)聯(lián)、庫存、訂單、用戶、公告的全流程管理加上基于訂單數(shù)據(jù)衍生的統(tǒng)計報表。前端不做太重的東西后端結(jié)構(gòu)規(guī)范數(shù)據(jù)庫設(shè)計合理文檔和演示流程齊全。聽起來不難但把每個環(huán)節(jié)做扎實至少需要一到兩周的密集開發(fā)時間。2. 技術(shù)選型背后的取舍邏輯為什么是Spring Boot為什么是MySQL又為什么碰“大數(shù)據(jù)”2.1 Spring Boot在畢設(shè)場景下的統(tǒng)治力你去看近三年Java方向的課程設(shè)計和畢業(yè)設(shè)計Spring Boot的覆蓋率大概在七成以上這不是偶然。Spring Boot解決了傳統(tǒng)SSM整合時最痛苦的配置問題——你不需要再寫那一大堆XML不需要手動配置事務(wù)管理器不需要操心Bean之間的依賴關(guān)系怎么聲明一個SpringBootApplication注解啟動類加上自動配置機制就能把大部分基礎(chǔ)設(shè)施從“顯式配置”變成“約定優(yōu)于配置”。我用一個生活化的類比來說SSM時代做項目像是自己裝修房子水電、墻面、地板都得盯著每一步都能看到過程但每步都很累Spring Boot時代做項目像是全屋定制你在菜單上選好風(fēng)格和模塊工廠一次性生產(chǎn)好到現(xiàn)場拼裝就能住。對于畢設(shè)這種“既要完成度、又要時間可控”的場景來說全屋定制顯然是更理性的選擇。但你要注意一個關(guān)鍵點Spring Boot的自動配置解決的是“怎么把項目跑起來”而不是“項目該怎么做”。很多同學(xué)的誤區(qū)是Spring Boot幫我把配置搞定了我就只需要寫Controller和Mapper就行。實際上Spring Boot項目的架構(gòu)分層、統(tǒng)一返回結(jié)構(gòu)、異常處理、參數(shù)校驗這些都是“技術(shù)債”前期不搭好后期改起來痛不欲生。在本項目里Spring Boot承擔(dān)的具體職責(zé)如下職責(zé)維度具體技術(shù)點作用說明Web層Spring MVC RESTful API提供前后端分離的接口訪問數(shù)據(jù)層Spring Data JPA / MyBatis-Plus完成ORM映射和數(shù)據(jù)庫操作安全校驗Spring Validation 攔截器參數(shù)合法性和登錄狀態(tài)校驗事務(wù)管理Transactional保證訂單和庫存操作的原子性數(shù)據(jù)初始化CommandLineRunner / SQL腳本啟動時初始化基礎(chǔ)數(shù)據(jù)版本方面建議Spring Boot 2.7.x系列不要盲目追新。理由很實在2.7.x是2.x時代的收尾版本資料豐富、兼容性好、網(wǎng)上踩坑案例多畢設(shè)階段遇到問題時搜到的解決方案基本都能用。Spring Boot 3.x雖然已經(jīng)成熟但涉及Jakarta命名空間遷移和Java 17的要求對很多同學(xué)來說沒必要冒這個險。2.2 數(shù)據(jù)庫選型MySQL是默認(rèn)答案嗎如果你問十個做過畢設(shè)的人九個會告訴你就用MySQL。這個答案對但你要理解“為什么對”才能去答辯時候說清楚。第一MySQL的生態(tài)成熟度無人能比。無論是Navicat、DataGrip這些圖形化工具還是網(wǎng)上鋪天蓋地的教程和報錯解決方案都能極大降低開發(fā)期的排錯成本。第二MySQL的InnoDB引擎在事務(wù)支持方面夠用且可靠——旅游商品訂單涉及金額、庫存扣減、用戶余額多個數(shù)據(jù)表聯(lián)動沒有事務(wù)保障很容易出現(xiàn)數(shù)據(jù)不一致。第三學(xué)校機房、演示環(huán)境、答辯現(xiàn)場的兼容性最穩(wěn)你不可能在答辯時告訴老師“這個系統(tǒng)必須跑在PostgreSQL特定版本上”。數(shù)據(jù)庫版本建議8.0原因很簡單8.0的窗口函數(shù)、CTE公共表表達(dá)式等特性在后續(xù)寫統(tǒng)計報表SQL時會非常方便。字符集統(tǒng)一使用utf8mb4因為商品名稱、景區(qū)介紹里完全可能包含emoji或特殊符號utf8mb4才能完整支持。但我要特別提醒你把數(shù)據(jù)持久層從JDBC原生寫法升級為MyBatis-Plus是本項目開發(fā)效率提升幅度最大的一步。MyBatis-Plus提供的BaseMapper接口內(nèi)置了增刪改查和分頁查詢的通用方法你不需要為每個實體類重復(fù)編寫基礎(chǔ)SQL它的LambdaQueryWrapper則讓條件查詢變得像寫偽代碼一樣直觀。// 使用LambdaQueryWrapper完成多條件商品查詢 LambdaQueryWrapperGoods wrapper new LambdaQueryWrapper(); wrapper.like(StringUtils.hasText(keyword), Goods::getName, keyword) .eq(categoryId ! null, Goods::getCategoryId, categoryId) .eq(Goods::getStatus, 1) .orderByDesc(Goods::getSales); PageGoods page goodsMapper.selectPage(new Page(pageNum, pageSize), wrapper);2.3 “大數(shù)據(jù)技術(shù)”在畢業(yè)設(shè)計中的合理落地方式這是整個選題里最需要想清楚的部分。你我都知道用MySQL做個三張表的系統(tǒng)離真正的“大數(shù)據(jù)”還有十萬八千里。但畢設(shè)題目的要求是“基于大數(shù)據(jù)技術(shù)”你必須在系統(tǒng)里找到一個真實、合理、可解釋的場景把大數(shù)據(jù)相關(guān)的技術(shù)或思路融進(jìn)去而不是生硬地堆一個ElasticSearch或者Redis就完事。我給的落地路徑是三個層次第一層數(shù)據(jù)采集層。在系統(tǒng)前端埋點記錄用戶的瀏覽、搜索、收藏、購買行為生成用戶行為日志表。這部分可以直接用MySQL實現(xiàn)但在設(shè)計時要考慮日志數(shù)據(jù)的增長量——旅游商品系統(tǒng)的日訂單量可能不高但行為日志量級是訂單量的幾十倍。這本身就是大數(shù)據(jù)思想的萌芽行為和交易分離存儲就是數(shù)倉分層建模中ODS操作數(shù)據(jù)存儲與DWD明細(xì)數(shù)據(jù)分離的簡化版。第二層數(shù)據(jù)分析層?;谟唵蚊骷?xì)和用戶行為數(shù)據(jù)實現(xiàn)若干維度統(tǒng)計商品銷量排行按景區(qū)、分類、時間段、用戶消費金額分布、復(fù)購率分析、熱門景區(qū)關(guān)聯(lián)商品推薦等。這些統(tǒng)計邏輯用SQL聚合函數(shù)就能實現(xiàn)但它們的表達(dá)方式——按維度分組、按度量聚合、趨勢對比——本質(zhì)上就是OLAP在線分析處理的核心思路。答辯時完全可以說清楚“我的分析模塊采用的是一種輕量化的多維數(shù)據(jù)分析方案”。第三層數(shù)據(jù)應(yīng)用層。這是最能體現(xiàn)“大數(shù)據(jù)”價值的場景簡單協(xié)同過濾推薦。根據(jù)“購買了某景區(qū)門票的用戶還購買了哪些商品”的歷史訂單數(shù)據(jù)計算商品間的共現(xiàn)關(guān)系從而在商品詳情頁展示“購買此商品的用戶也買了”的推薦列表。這個邏輯不復(fù)雜但它是實實在在的數(shù)據(jù)驅(qū)動應(yīng)用而且可視化效果好足以作為系統(tǒng)的亮點展示。這里有個很重要的原則要說明畢業(yè)設(shè)計中的數(shù)據(jù)量可能只有幾百條模擬數(shù)據(jù)但你要讓架構(gòu)具備面對更大數(shù)據(jù)量的擴(kuò)張思路也就是說不是“實現(xiàn)了多少數(shù)據(jù)量”而是“你為了應(yīng)對更大的數(shù)據(jù)量做了什么設(shè)計”。比如分頁查詢是標(biāo)配比如統(tǒng)計查詢的SQL要寫索引友好型寫法比如日志表和業(yè)務(wù)表分離存儲這些都是答辯時可以主動陳述的設(shè)計取舍。3. 數(shù)據(jù)庫與系統(tǒng)架構(gòu)設(shè)計一張好的ER圖能幫你避免80%的返工3.1 實體關(guān)系建模旅游商品系統(tǒng)至少需要哪些表做畢設(shè)最忌諱的事情就是拿到題目直接開寫代碼寫到一半發(fā)現(xiàn)字段不夠用表缺了好幾項。先花半天時間把數(shù)據(jù)模型設(shè)計清楚后面開發(fā)效率能快三倍左右。旅游商品管理系統(tǒng)的核心實體我按業(yè)務(wù)域拆成五組來說業(yè)務(wù)域核心表關(guān)鍵字段說明用戶域sys_user用戶名、密碼BCrypt密文、昵稱、頭像、手機號、狀態(tài)、角色I(xiàn)D商品域goods商品名稱、主圖、輪播圖JSON數(shù)組、詳情富文本、價格、庫存、銷量、狀態(tài)、所屬景區(qū)分類域category分類名稱、父ID支持二級分類、排序號、圖標(biāo)交易域orders和order_item訂單號唯一、總金額、支付狀態(tài)、收貨信息子表存商品快照信息內(nèi)容域banner、notice、feedback首頁輪播圖、系統(tǒng)公告、用戶反饋建議再說說為什么這樣拆分。把核心業(yè)務(wù)數(shù)據(jù)與支撐性基礎(chǔ)數(shù)據(jù)分離是中小型管理系統(tǒng)設(shè)計的核心準(zhǔn)則。goods表里不要塞入分類名和景區(qū)名這種冗余內(nèi)容而是用外鍵關(guān)聯(lián)到category表和scenic_spot表。這樣分類名稱一旦修改所有商品自動生效不需要逐條更新。orders表與order_item表分離則是標(biāo)準(zhǔn)的訂單模型——主表存訂單整體狀態(tài)和金額子表存目標(biāo)商品、數(shù)量、單價快照。注意“快照”這個詞商品價格后續(xù)完全可能調(diào)整但已生成的訂單必須保留交易當(dāng)下時刻的價格所以子表需要冗余存儲商品名和成交單價而不是簡單關(guān)聯(lián)goods_id。3.2 用戶角色與權(quán)限模型一個表解決還是RBAC以畢設(shè)的系統(tǒng)復(fù)雜度來說我建議用簡潔的RBAC基于角色的訪問控制模型而不是復(fù)雜的Spring Security OAuth2全家桶。所謂簡潔版就是三張核心表sys_user用戶、sys_role角色、sys_menu菜單/權(quán)限加上一張關(guān)聯(lián)表打通用戶與角色關(guān)系。本系統(tǒng)的角色劃分管理員admin擁有全部菜單和操作權(quán)限包括商品管理、分類管理、訂單管理、用戶管理、數(shù)據(jù)分析、系統(tǒng)設(shè)置。商戶/運營operator可管理商品和訂單可查看統(tǒng)計數(shù)據(jù)但不可操作用戶和系統(tǒng)設(shè)置。普通用戶user前臺小程序/H5端的注冊用戶可瀏覽商品、下單購買、查看個人訂單、提交反饋。在Spring Boot端實現(xiàn)權(quán)限控制最簡單的方案是攔截器 用戶角色判斷。這個方案的好處是不引入額外的安全框架依賴代碼邏輯直觀答辯時容易說清楚。當(dāng)然也可以用Spring Security的注解式權(quán)限控制PreAuthorize兩種方案我都跑過如果你的時間充裕建議用Spring Security走一遍簡歷上能多寫一行技能點如果時間緊張攔截器方案完全足夠。3.3 關(guān)鍵表結(jié)構(gòu)的細(xì)節(jié)設(shè)計示范這里重點說幾個容易踩坑的表字段設(shè)計直接給出我實測過的建表SQL片段CREATE TABLE goods ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT 商品ID, goods_sn VARCHAR(32) NOT NULL COMMENT 商品編號, name VARCHAR(128) NOT NULL COMMENT 商品名稱, category_id BIGINT NOT NULL COMMENT 分類ID, scenic_spot_id BIGINT DEFAULT NULL COMMENT 關(guān)聯(lián)景區(qū)ID, main_image VARCHAR(255) DEFAULT NULL COMMENT 主圖URL, gallery JSON DEFAULT NULL COMMENT 輪播圖列表, detail TEXT COMMENT 商品詳情富文本, price DECIMAL(10,2) NOT NULL COMMENT 銷售單價, original_price DECIMAL(10,2) DEFAULT NULL COMMENT 原價劃線價, stock INT NOT NULL DEFAULT 0 COMMENT 庫存, sales INT NOT NULL DEFAULT 0 COMMENT 銷量, status TINYINT NOT NULL DEFAULT 1 COMMENT 狀態(tài) 1上架 0下架, create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY uk_goods_sn (goods_sn), KEY idx_category (category_id), KEY idx_status_sales (status, sales DESC) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT旅游商品表;這里有幾個值得你在答辯時主動提及的設(shè)計思考goods_sn使用唯一索引而不是直接用自增ID做商品編號這樣商品編號對外暴露時不會泄露業(yè)務(wù)量同時給后續(xù)導(dǎo)入導(dǎo)出留下穩(wěn)定業(yè)務(wù)主鍵。status與sales建立聯(lián)合索引idx_status_sales因為商品列表頁最常見的查詢條件是“上架狀態(tài)下的銷量排行”這個索引能讓排序查詢走覆蓋索引避免文件排序。價格類型使用DECIMAL(10,2)而不是FLOAT或DOUBLE因為浮點類型在金額運算時存在精度丟失問題這個在答辯中經(jīng)常被問到。訂單表有一點要特別注意訂單金額必須在后端進(jìn)行計算前端傳過來的金額只能當(dāng)作參考值。你在實際項目里肯定明白前端傳值等于把業(yè)務(wù)規(guī)則交給客戶端手里用戶隨便改個參數(shù)就能以0.01元下單。正確的做法是后端根據(jù)商品單價和數(shù)量實時計算訂單金額再用事務(wù)確保庫存扣減和訂單生成的一致性。3.4 系統(tǒng)架構(gòu)的分層設(shè)計從Controller到Mapper的路不能亂關(guān)于后端包結(jié)構(gòu)我推薦按業(yè)務(wù)模塊分包而不是按技術(shù)層次分包。兩種方式各有利弊但對畢設(shè)來說按模塊分包會讓你在寫代碼時更自然地思考“這個功能屬于哪個業(yè)務(wù)域”比如com.tourism.goods ├── controller // 請求入口 ├── service // 業(yè)務(wù)邏輯層 ├── mapper // 數(shù)據(jù)訪問層 ├── entity // 實體類 ├── dto // 數(shù)據(jù)傳輸對象 ├── vo // 視圖對象 ├── config // 配置類 ├── common // 通用類統(tǒng)一返回結(jié)果、異常處理等 └── utils // 工具類接口設(shè)計上統(tǒng)一返回結(jié)構(gòu)類必不可少這是前后端協(xié)作的基礎(chǔ)Data public class ResultT { private Integer code; // 200 成功其他為錯誤碼 private String message; // 提示信息 private T data; // 業(yè)務(wù)數(shù)據(jù) public static T ResultT ok(T data) { ResultT result new Result(); result.setCode(200); result.setMessage(操作成功); result.setData(data); return result; } public static T ResultT fail(String message) { ResultT result new Result(); result.setCode(500); result.setMessage(message); return result; } }這個類看著簡單但它是整個項目腳手架的地基。有了它Controller里的每個方法都不需要手動拼JSON異常處理器可以統(tǒng)一攔截錯誤并包裝成Result返回前端拿到結(jié)果后只需要判斷code字段即可。4. 核心功能模塊的實現(xiàn)思路與代碼實踐商品、訂單、統(tǒng)計逐個擊破4.1 商品管理模塊設(shè)計“完整”比“花哨”更重要商品管理的標(biāo)準(zhǔn)功能包括商品列表含分頁和多條件篩選、新增商品、編輯商品、上下架、批量刪除、導(dǎo)入導(dǎo)出。這可能是你寫過很多遍的CRUD但在旅游商品背景下有兩個值得深挖的點。第一個是條件查詢。商品列表頁的搜索條件通常有商品名稱模糊、分類ID精確、狀態(tài)精確、價格區(qū)間范圍、銷量排序、上架時間排序。用LambdaQueryWrapper可以優(yōu)雅處理這些條件的組合public PageVOGoodsVO queryGoodsPage(GoodsQueryDTO queryDTO) { LambdaQueryWrapperGoods wrapper new LambdaQueryWrapper(); // 關(guān)鍵字搜索 wrapper.like(StringUtils.hasText(queryDTO.getKeyword()), Goods::getName, queryDTO.getKeyword()); // 分類篩選 wrapper.eq(queryDTO.getCategoryId() ! null, Goods::getCategoryId, queryDTO.getCategoryId()); // 狀態(tài)篩選 wrapper.eq(queryDTO.getStatus() ! null, Goods::getStatus, queryDTO.getStatus()); // 價格區(qū)間篩選 wrapper.between(queryDTO.getMinPrice() ! null queryDTO.getMaxPrice() ! null, Goods::getPrice, queryDTO.getMinPrice(), queryDTO.getMaxPrice()); // 排序邏輯 if (sales.equals(queryDTO.getOrderBy())) { wrapper.orderByDesc(Goods::getSales); } else if (price_asc.equals(queryDTO.getOrderBy())) { wrapper.orderByAsc(Goods::getPrice); } else { wrapper.orderByDesc(Goods::getCreateTime); } return pageToVO(goodsMapper.selectPage(new Page(queryDTO.getPageNum(), queryDTO.getPageSize()), wrapper)); }這段代碼沒有高深的技術(shù)含量但它代表了實際業(yè)務(wù)開發(fā)中的一種重要能力查詢條件的組合拼接能力。每一個if守衛(wèi)都對應(yīng)一個前端可能發(fā)起查詢的邊界情況如果沒有這些守衛(wèi)空值條件拼接進(jìn)SQL會產(chǎn)生不可預(yù)期結(jié)果。第二個是商品上架前必做的庫存校驗和唯一校驗。新增商品時goods_sn需要在數(shù)據(jù)庫中檢查唯一性否則會拋出數(shù)據(jù)庫層異常。項目里應(yīng)當(dāng)先調(diào)用count方法做一次業(yè)務(wù)校驗返回給前端明確的提示信息而不是直接報錯。4.2 訂單交易模塊事務(wù)、狀態(tài)機與并發(fā)扣庫存訂單流程是整個系統(tǒng)的核心鏈路扮演著“不能出岔子”的角色。流程大概是用戶在前臺下單 → 后端校驗商品上下架狀態(tài)和庫存 → 計算訂單金額 → 生成訂單主記錄和子記錄 → 扣減庫存 → 模擬支付或走真正的支付接口 → 更新訂單狀態(tài)。為什么必須用事務(wù)你試想一個場景用戶下單成功后訂單生成了但庫存沒扣減或者庫存扣了但訂單失敗。這兩個操作有的是“同時成功”有的是“同時失敗”。Spring的Transactional就是用來保證這種一致性的Override Transactional(rollbackFor Exception.class) public OrderVO createOrder(OrderCreateDTO createDTO) { // 1. 校驗商品是否存在且上架 Goods goods goodsMapper.selectById(createDTO.getGoodsId()); if (goods null || goods.getStatus() ! 1) { throw new BizException(商品不存在或已下架); } // 2. 校驗庫存充足 if (goods.getStock() createDTO.getQuantity()) { throw new BizException(庫存不足); } // 3. 計算訂單金額 BigDecimal totalAmount goods.getPrice() .multiply(BigDecimal.valueOf(createDTO.getQuantity())); // 4. 生成訂單號時間戳 隨機數(shù)或雪花算法 String orderSn generateOrderSn(); // 5. 創(chuàng)建訂單記錄 Orders order new Orders(); order.setOrderSn(orderSn); order.setUserId(createDTO.getUserId()); order.setTotalAmount(totalAmount); order.setStatus(0); // 待支付 // 6. 創(chuàng)建訂單子記錄保存商品快照 // 7. 原子扣減庫存 int updated goodsMapper.deductStock(createDTO.getGoodsId(), createDTO.getQuantity()); if (updated 0) { throw new BizException(庫存不足扣減失敗); } // 8. 返回訂單信息 return orderVO; }關(guān)于并發(fā)扣庫存有一個老生常談但值得深入說明的細(xì)節(jié)不能用select查庫存再判斷大于0后直接update這樣在并發(fā)場景下會造成超賣。比如庫存剩1件兩個用戶同時下單都查到庫存是1都通過了檢查然后都執(zhí)行扣減最后庫存會變成-1。正確做法是用一條帶條件的UPDATE語句讓數(shù)據(jù)庫在原子層面完成檢查與扣減UPDATE goods SET stock stock - #{quantity}, sales sales #{quantity} WHERE id #{goodsId} AND stock #{quantity}這條SQL執(zhí)行后如果影響行數(shù)為0就說明庫存不足或商品狀態(tài)有變catch到信號后直接在業(yè)務(wù)拋異?;貪L事務(wù)即可。這個“原子遞減”方案是電商系統(tǒng)的通用解法也是畢設(shè)答辯時展示技術(shù)深度的好素材。4.3 統(tǒng)計分析模塊用少量數(shù)據(jù)展示多維分析思路統(tǒng)計頁面的常見展示包括總銷售額、總訂單數(shù)、總商品數(shù)、總用戶數(shù)四個核心指標(biāo)加上近7日/近30日銷售趨勢折線圖、商品分類銷量占比餅圖、銷量TOP10商品條形圖。這些圖表的實現(xiàn)方式有兩條路前端用ECharts后端只提供JSON數(shù)據(jù)。這是目前最主流的方案。后端需要針對性寫聚合查詢SQL以近7日銷售趨勢為例SELECT DATE_FORMAT(create_time, %Y-%m-%d) AS day, COUNT(*) AS order_count, SUM(total_amount) AS sales_amount FROM orders WHERE create_time DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND status ! 4 -- 排除已取消訂單 GROUP BY DATE_FORMAT(create_time, %Y-%m-%d) ORDER BY day;一個有實用價值的擴(kuò)展是加入景區(qū)維度的分析因為旅游商品和普通電商不同的地方就是它綁定了景區(qū)場景。比如統(tǒng)計“某某景區(qū)相關(guān)商品的銷量占比”“哪個景區(qū)的關(guān)聯(lián)商品銷售額最高”。這個分析維度在普通電商系統(tǒng)里是沒有的恰好能成為本項目的有力差異化展示點。統(tǒng)計模塊實現(xiàn)不復(fù)雜但要注意統(tǒng)計SQL一定要在數(shù)據(jù)庫端做聚合而不是查出明細(xì)數(shù)據(jù)后在Java里循環(huán)求和。前者利用數(shù)據(jù)庫索引和聚合引擎效率高幾倍后者一旦數(shù)據(jù)量上來就會內(nèi)存溢出。這也是答辯時考察“你對大數(shù)據(jù)量處理有沒有敬畏心”的經(jīng)典問題。4.4 首頁數(shù)據(jù)聚合接口一次請求返回多模塊數(shù)據(jù)前臺首頁通常包含輪播圖、熱門商品、新品上市、為你推薦等模塊。這些數(shù)據(jù)各自需要訪問不同表如果前端分別調(diào)七八個接口不僅慢而且代碼凌亂。更好的方案是后端提供一個聚合接口一次返回首頁全部數(shù)據(jù)。GetMapping(/home) public ResultHomeVO getHomeData() { HomeVO homeVO new HomeVO(); // 輪播圖 - 狀態(tài)為啟用的banner homeVO.setBanners(bannerService.listEnabled()); // 熱門商品 - 銷量前8 LambdaQueryWrapperGoods hotWrapper new LambdaQueryWrapper(); hotWrapper.eq(Goods::getStatus, 1).orderByDesc(Goods::getSales).last(LIMIT 8); homeVO.setHotGoods(goodsMapper.selectList(hotWrapper)); // 新品上市 - 上架時間最新 LambdaQueryWrapperGoods newWrapper new LambdaQueryWrapper(); newWrapper.eq(Goods::getStatus, 1).orderByDesc(Goods::getCreateTime).last(LIMIT 8); homeVO.setNewGoods(goodsMapper.selectList(newWrapper)); // 推薦列表基于協(xié)同過濾見下一節(jié) homeVO.setRecommendGoods(recommendService.recommend(1L, 8)); return Result.ok(homeVO); }這種“BFFBackend For Frontend聚合模式”在實際企業(yè)開發(fā)中隨處可見——后端不為每個數(shù)據(jù)模塊單獨暴露接口而是為端上的特定頁面組織一份最優(yōu)的數(shù)據(jù)結(jié)構(gòu)。把這個思路寫進(jìn)畢業(yè)設(shè)計文檔的“設(shè)計亮點”部分面試官看過后通常會眼前一亮。5. “大數(shù)據(jù)技術(shù)”核心亮點的實現(xiàn)基于共現(xiàn)關(guān)系的商品推薦5.1 為什么選協(xié)同過濾而不是更復(fù)雜的算法很多同學(xué)一提到推薦就想上機器學(xué)習(xí)、深度學(xué)習(xí)其實大可不必。原因有兩個第一畢設(shè)階段的項目沒有足夠的數(shù)據(jù)量來訓(xùn)練復(fù)雜模型強行做深度學(xué)習(xí)只會得到一個“過擬合到只有幾十條交互記錄”的玩具。第二論文答辯時評委更看重的是“你對算法思想的理解以及你根據(jù)場景做了哪些合理簡化”而不是你不會跑一個又大又空的模型。協(xié)同過濾家族中最適合本項目的是基于物品的協(xié)同過濾Item-based Collaborative Filtering。它的核心思想用一句話概括喜歡物品A的用戶通常也喜歡物品B——基于“用戶對歷史行為數(shù)據(jù)”的分析把與目標(biāo)商品高度關(guān)聯(lián)的其他商品推薦給用戶。比如用戶買了“黃山風(fēng)景區(qū)成人門票”系統(tǒng)就可以推薦“山頂酒店早餐券”“登山杖租賃券”等關(guān)聯(lián)商品。5.2 共現(xiàn)矩陣推薦算法的簡化實現(xiàn)基于物品的協(xié)同過濾實現(xiàn)思路分解為三步第一步從訂單明細(xì)中提取“商品共現(xiàn)關(guān)系”。統(tǒng)計哪些商品出現(xiàn)在同一個訂單里。比如訂單A包含商品1和商品2訂單B包含商品1和商品3那么商品1與商品2、商品3都產(chǎn)生了一次共現(xiàn)。第二步計算商品間的相似度。用“共同被購買的頻率”來近似商品之間的相似度。一種簡單有效的計算方式是Jaccard相似度sim(A, B) |購買A也購買B的用戶數(shù)| / |購買A或購買B的用戶數(shù)|但Jaccard有個問題熱門商品會把相似度稀釋。更常用的是“共現(xiàn)次數(shù)的歸一化”。對于畢設(shè)項目而言用戶量不大直接用“共同出現(xiàn)在同一訂單中的次數(shù)作為相似度分?jǐn)?shù)”再按分?jǐn)?shù)排序取TOP-N即可。第三步生成推薦列表。當(dāng)用戶查看商品A時找出與A最相似的前K個商品扣除用戶已購買過的商品即得到“看了又看”的推薦列表。用一段SQL加少量Java邏輯就能實現(xiàn)從order_item表中找出所有“包含商品A的訂單”再找出這些訂單中出現(xiàn)的“其他商品”按出現(xiàn)次數(shù)降序排列。SELECT oi2.goods_id, COUNT(*) AS co_count FROM order_item oi1 JOIN order_item oi2 ON oi1.order_id oi2.order_id WHERE oi1.goods_id #{goodsId} AND oi2.goods_id ! #{goodsId} GROUP BY oi2.goods_id ORDER BY co_count DESC LIMIT #{limit}這樣一段SQL在答辯時能清晰地展示了你對數(shù)據(jù)庫關(guān)聯(lián)查詢、子查詢、聚合分組的熟練度又確實落地了推薦算法的核心步驟。如果還要進(jìn)一步說明“為什么不用Spark”——你可以說系統(tǒng)現(xiàn)階段數(shù)據(jù)量在百萬級以內(nèi)單機關(guān)系型數(shù)據(jù)庫的聚合性能已足夠支撐秒級響應(yīng)若后續(xù)數(shù)據(jù)規(guī)模增長可將共現(xiàn)矩陣計算遷移至Spark離線批處理架構(gòu)上預(yù)留了擴(kuò)展路徑。這句話一出來“大數(shù)據(jù)技術(shù)”在系統(tǒng)里的融入點就是真實可信的。5.3 推薦接口的降級策略代碼之外的工程意識推薦模塊的調(diào)用鏈“商品ID → 共現(xiàn)查詢 → 排序去重 → 過濾已購”如果用戶或商品沒有歷史訂單數(shù)據(jù)共現(xiàn)查詢結(jié)果為空。這種空狀態(tài)必須有降級處理返回銷量排行TOP-N作為“默認(rèn)推薦”。這個設(shè)計不是復(fù)雜但體現(xiàn)的是工程上的魯棒性思維——線上系統(tǒng)最怕的不是數(shù)據(jù)不夠準(zhǔn)確而是接口報錯。public ListGoods recommendByItem(Long goodsId, int limit, Long userId) { ListGoods result itemCFService.recommend(goodsId, limit); if (result.isEmpty()) { // 冷啟動降級返回?zé)徜N商品 LambdaQueryWrapperGoods wrapper new LambdaQueryWrapper(); wrapper.eq(Goods::getStatus, 1).orderByDesc(Goods::getSales).last(LIMIT limit); result goodsMapper.selectList(wrapper); } return result; }6. 從代碼到可演示數(shù)據(jù)庫初始化腳本、測試數(shù)據(jù)與前端適配的坑6.1 數(shù)據(jù)庫初始化腳本的標(biāo)準(zhǔn)化寫法一個完整的畢設(shè)項目源碼包和數(shù)據(jù)庫腳本必須是完全匹配的我見過太多項目和SQL腳本對不上導(dǎo)致跑不起來的情況。你在交付時數(shù)據(jù)庫腳本應(yīng)該包含1_schema.sql建庫、建表語句包含所有外鍵和索引2_data.sql基礎(chǔ)數(shù)據(jù)包括管理員賬號BCrypt加密后的密碼、菜單權(quán)限、基礎(chǔ)分類、測試商品和測試訂單數(shù)據(jù)3_reset.sql清理業(yè)務(wù)表數(shù)據(jù)、重置自增ID的語句方便多次重啟演示時復(fù)位測試數(shù)據(jù)的生成上有一個前人經(jīng)驗用Python腳本批量生成模擬用戶、訂單和瀏覽記錄數(shù)據(jù)比手寫SQL快十倍。你可以用腳本隨機組合用戶ID、商品ID、數(shù)量、下單時間生成千條量級的訂單數(shù)據(jù)然后導(dǎo)入MySQL。這些數(shù)據(jù)不僅讓首頁圖表看起來豐富也讓推薦算法具備有效的計算輸入。我建議訂單數(shù)據(jù)至少生成500條以上日期范圍覆蓋近30天這樣趨勢圖才有“曲線感”。6.2 對接前端時最容易出現(xiàn)的聯(lián)調(diào)問題和解決思路日期格式化錯亂。后端返回java.util.Date或LocalDateTime時默認(rèn)序列化格式可能是Redis通用的時間戳或者ISO字符串和前端ECharts的期望格式對不上。統(tǒng)一配置Jackson格式化spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT8如果是LocalDateTime類型還需要額外引入jackson-datatype-jsr310模塊Spring Boot在spring-boot-starter-web中已包含并配置spring: jackson: serialization: write-dates-as-timestamps: false跨域問題。本地開發(fā)時前端比如Vite默認(rèn)端口5173和后端8080端口分屬兩個域名瀏覽器會執(zhí)行跨域攔截。Spring Boot后端最簡單的處理方式是新建一個Cors配置類Configuration public class CorsConfig { Bean public CorsFilter corsFilter() { CorsConfiguration config new CorsConfiguration(); config.addAllowedOriginPattern(*); config.addAllowedMethod(*); config.addAllowedHeader(*); config.setAllowCredentials(true); UrlBasedCorsConfigurationSource source new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration(/**, config); return new CorsFilter(source); } }注意涉及登錄校驗的接口不要放開所有origin生產(chǎn)環(huán)境要配置白名單畢業(yè)設(shè)計本地演示階段可以放行。圖片上傳與訪問路徑。商品圖片不能只存在后端服務(wù)器本地磁盤否則換個環(huán)境演示就得重新傳圖。推薦簡單的方案在application.yml里配置upload.dir為本地某個目錄同時建一個/images/**的靜態(tài)資源映射指向該目錄圖片URL返回相對路徑。如果條件允許直接上OSS或七牛云對象存儲——這一行在簡歷上寫“熟悉云存儲SDK接入”也是個加分項。6.3 演示環(huán)境的穩(wěn)定優(yōu)先原則部署到哪怎么啟動答辯演示那天什么意外都可能發(fā)生。我最慘的一次經(jīng)歷是現(xiàn)場電腦沒有安裝JDK好在提前打包了可執(zhí)行JAR臨時裝了Java 8才勉強救場。所以演示前請注意本機務(wù)必安裝JDK 8或JDK 11并配置好JAVA_HOME項目打包用mvn clean package確保生成可執(zhí)行JAR數(shù)據(jù)庫腳本執(zhí)行后用一個可以一鍵重置的reset.sql復(fù)位準(zhǔn)備一臺備用電腦或者至少把演示視頻錄一份放U盤里數(shù)據(jù)庫連接配置不要寫死IP用jdbc:mysql://localhost:3306/tourism_goods?serverTimezoneAsia/Shanghai這類相對配置7. 萬文文檔的寫作策略論文字?jǐn)?shù)與質(zhì)量如何平衡7.1 目錄結(jié)構(gòu)讓老師一眼看到你要寫什么畢設(shè)文檔不是隨筆它需要嚴(yán)格遵循學(xué)校模板但內(nèi)容詳略完全可以自己把控。一份合格的Spring Boot系統(tǒng)設(shè)計文檔至少應(yīng)該包含以下章節(jié)緒論背景、意義、國內(nèi)外研究現(xiàn)狀、主要工作需求分析可行性分析、功能需求、非功能需求、用例圖系統(tǒng)設(shè)計總體架構(gòu)圖、功能模塊設(shè)計、數(shù)據(jù)庫設(shè)計、接口設(shè)計系統(tǒng)實現(xiàn)各核心模塊的關(guān)鍵代碼與界面展示系統(tǒng)測試測試環(huán)境、功能測試用例、測試結(jié)果分析總結(jié)與展望很多同學(xué)最頭疼的是第一個章節(jié)“研究現(xiàn)狀”不知道寫什么。我的建議是不要寫空泛的趨勢要寫具體的工程背景。你可以用一兩段談旅游行業(yè)數(shù)字化轉(zhuǎn)型背景下旅游商品的線上銷售管理需求增長引出系統(tǒng)建設(shè)的必要性再對照一兩篇優(yōu)秀碩士論文的研究現(xiàn)狀說明自己的工作在哪些方面做了簡化、在哪些方面做了適配。這種有實質(zhì)內(nèi)容的寫法導(dǎo)師看起來會舒服得多也不容易被判定為“網(wǎng)上復(fù)制粘貼”。7.2 核心實現(xiàn)章節(jié)的寫作技巧先圖后碼再解釋文檔中的第三章和第四章最核心也是最應(yīng)該下功夫的地方。好的做法是先放設(shè)計圖/流程圖/ER圖再放關(guān)鍵代碼片段最后用200字左右的文字解釋代碼的設(shè)計意圖和亮點。這樣每一頁都有圖表支撐視覺上不會大段全是文字閱讀體驗也好。特別提醒一點代碼不要貼完整類只貼核心方法即可。一個完整的Mapper類可能有幾百行全文放進(jìn)去浪費頁碼且沒有閱讀價值。但像createOrder這種包含事務(wù)注解、業(yè)務(wù)校驗、庫存扣減三步邏輯的核心方法值得完整呈現(xiàn)并配上解釋。選代碼的邏輯是選“能體現(xiàn)你思考過程的方法”而不是“看起來很長的文件”。7.3 測試章節(jié)的落地方式基于功能的用例設(shè)計關(guān)于測試章節(jié)很多同學(xué)只會寫“運行成功”老師根本不信。標(biāo)準(zhǔn)做法是列出功能模塊清單每張表給幾條具體的測試用例包含前置條件、操作步驟、預(yù)期結(jié)果、實際結(jié)果、是否通過。舉一個示例用例編號TC-GOODS-003測試內(nèi)容商品上下架狀態(tài)切換前置條件管理員已登錄存在一條狀態(tài)為“上架”的商品記錄操作步驟1. 進(jìn)入商品管理列表頁2. 點擊目標(biāo)商品的“下架”按鈕3. 列表頁刷新預(yù)期結(jié)果商品狀態(tài)變更為“下架”前臺首頁不再展示該商品實際結(jié)果狀態(tài)變更成功前臺首頁已不再展示該商品結(jié)論通過這樣的測試用例寫20到25條覆蓋商品管理、分類管理、訂單管理、用戶登錄、權(quán)限校驗、首頁聚合、數(shù)據(jù)統(tǒng)計幾個核心模塊文檔的“測試”章節(jié)就有了厚度支撐。8. 我踩過的坑和給你的避坑清單做這類系統(tǒng)很多問題不是不會寫而是在寫的過程中姿勢不對白白浪費時間和情緒。我把自己實操里踩過的坑按“高發(fā)頻率”列出來算是這篇博文最有價值的部分之一。第一個坑上來就寫代碼沒畫ER圖做到一半推倒重來。我見過太多學(xué)弟的項目商品表里直接沒有分類表分類用一個字符串字段裝“文創(chuàng)/特產(chǎn)/門票/酒店”等做到統(tǒng)計模塊才發(fā)現(xiàn)按分類統(tǒng)計根本沒法用字符串做精確聚合。我的經(jīng)驗是前夕花4到6小時把ER圖和字段清單整理出來找導(dǎo)師或同學(xué)確認(rèn)一遍再進(jìn)入開發(fā)。這個時間投入的收益比非常高。第二個坑密碼明文存儲。別覺得畢設(shè)無所謂答辯時老師隨便看一眼數(shù)據(jù)庫就會問“你的密碼為什么是明文” 用Spring Security的BCryptPasswordEncoder加密一行代碼的事但體現(xiàn)的是安全意識。你自己看這類項目時也留意一下明文密碼出現(xiàn)在任何交付物里都是低級錯誤。第三個坑前端素材的版權(quán)和加載問題。很多同學(xué)喜歡直接從網(wǎng)上拖一堆圖片當(dāng)商品圖演示時圖片加載不出來會顯得很廉價。建議用本地占位圖或者用picsum這種穩(wěn)定圖源并確保圖片上傳到項目附帶的resources目錄或云存儲而不是依賴外鏈。旅游商品場景下可以用景點風(fēng)光類無版權(quán)圖片網(wǎng)會顯得更專業(yè)。第四個坑事務(wù)不生效的經(jīng)典誤用。Transactional默認(rèn)只在拋出RuntimeException時回滾如果你在事務(wù)方法里自己用try-catch把異常吃了事務(wù)就會照常提交扣庫存和生成訂單就會變成兩個獨立的行為。做訂單模塊時不要在createOrder內(nèi)部catch未知異常而是向上拋由全局異常處理器處理并返回統(tǒng)一錯誤提示。第五個坑文檔和代碼版本對不上。交材料前務(wù)必核對文檔里的核心代碼片段、數(shù)據(jù)庫腳本和實際項目完全一致。評分時最尷尬的就是老師翻你的論文找到了一個跟你項目里根本不存在的類名或方法名。9. 寫在最后從能運行到講得出如果你已經(jīng)看到這里我要把最想說的一句話放在結(jié)尾畢業(yè)設(shè)計評分的分水嶺從來不是系統(tǒng)能不能跑起來而是你對自己的系統(tǒng)能不能講出“為什么這么設(shè)計”。能夠運行是基本盤但“為什么這里用Redis”“為什么這里用事務(wù)”“為什么推薦算法選協(xié)同過濾”“為什么庫存扣減用原子SQL”這些才是答辯老師在提問環(huán)節(jié)真正想聽到的內(nèi)容。我用自己帶項目的一個標(biāo)準(zhǔn)來給你做自檢找一個完全不了解你項目的同學(xué)讓他拿到你的系統(tǒng)的演示視頻、源碼、數(shù)據(jù)庫腳本和論文看完后向你提問20個問題。如果這20個問題你都能順利答上來那你的畢業(yè)設(shè)計無論從功能還是從展示角度看都已經(jīng)超越了平均水準(zhǔn)。技術(shù)選型、數(shù)據(jù)結(jié)構(gòu)、代碼實現(xiàn)、文檔寫作——每個環(huán)節(jié)單獨看都不難但它們組合在一起需要的正是耐心、邏輯和工程意識。給自己留足時間按我上面建議的順序一步步推進(jìn)你會發(fā)現(xiàn)做到“能夠清晰講出自己的系統(tǒng)”這個目標(biāo)并沒有想象中遙遠(yuǎn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
就爱操www com| 色99网| 色色影院aaaav| 丁香色成人| 变天就操逼婷婷五月| 丁香婷婷人妻综合网| 国产综合激情五月久久| 婷婷色五月综合| 91精品电影18T| 五月天色综合| 五月综合无码| 亚洲婷婷丁香五月在线| 麻豆AV一区二区三区| 成人视频九九| 综合天天综合| 999精品久久久久久久| 99A片| 亚洲五月天另类小说图片| 大天天伊人| 99乱视频| 精品久久久久久久久久久久人妻| 玖玖五月丁香| 9视频在线成人网站| 99热这里只有精品在线播放| www九九热| 亚洲色久| 六月婷久久| 色天天综合色| 色婷婷丁香五月在线| 色八戒操婷婷| 精品久久99| 丁香五月天社区| Av性爱网| 五月激情偷拍婷婷| 蜜桃婷婷五月| 婷婷五月色情天| 99视频| 色色色图| 思思热再线视频| 玖月婷婷爱丁香| 丁香五月另类色婷婷麻豆| 欧美性爱五月天| 亚洲五月色| 国产精品久久99| 婷婷性爱综合| 超碰免费电影| 91嫩草国产线观看亚洲一区二区| 国产av天天插天天操天天爽| 激情碰碰碰| 丁香深五月婷婷| 久久精品99国产精品日本| 97成人超碰免| 久久久精品免费啪啪国| 国产看真人毛片爱做A片| 亚洲AV网站| 久久人妻视步| 一起草无码| 婷婷五月天成人网| 狠狠草在线观看| www.久久av.com| 99热无码精品| 五月婷婷之美女图片| 九九99久久| 色婷婷色丁香色欲av| 久久激情网| 久久久婷婷五月亚洲97号色| 五月天色图| 婷婷激情五月| 国产亚洲精品久久久久久久久动漫| 最新久久网址| 亚洲高清在线| 色噜噜狠狠色综合日日| 一月婷婷色色| 伊人网碰碰| 欧美十二区| 五月天丁香啪啪网| 色婷操逼| 色噜噜狠狠色综合伊人| 欧美日韩AAA| 成年人最刺激的综合网| 色一情一乱一伦一区二区三区| 精品在线网站| 五月综合久久| 日本少妇AA一级特黄大片| 三级毛片7979| 久热久色| WWW激情五月天| 久久六月婷婷| 六月色婷婷综合影视| 殴美日韩成人| 亚洲色情激情丁香五月| 日本色婷婷| A片试看120分钟做受视频红杏 | a免费在线| 国产欧美精品AAAAAA片| 午夜激情综合| 天天干天干| 综合九九| 性无码专区无码| 欧美激情综合色综合啪啪五月| 亚洲亚洲人成综合网络| 人妻人人操| 国产精品久久久久久喷浆| 婷婷色色综合| 97色啪| 国产激情在线| 五月天成人在线视频丁香| 成人婷婷桔色| 婷婷永久在线| 大香蕉AV电影在线| 思思热思在线精品视频| 五月开心深爱激情网| 六月激情婷婷| www91精品| 婷婷色5月天在线。| 日日夜夜狠狠| 一区操| 婷婷欧美激情| 六月婷色| 亚洲欧美国产高清vA在线播放| 色婷婷五月综合| 丁香六月婷婷久久综合| 日韩肏屄网| 五月婷婷视频ab| 亚州操操| 99热丁香| 日91高清无玛| 91男人资源站| peg 2区三区四区的| 五月激情天| 丁香五月婷婷基地| 熟女色专区| 欧美日韩成人高清在线| 海外网站专业操老外| 丁香成人五月天| 先锋男人91资源| 九九热思思热| 色婷婷色99国产综合精品| 噜噜五月天综合| 五月婷婷中文网| 99无码视频| 综合另类激情| 色99网站| av激情在线| 六月合五月婷| 久久se 综合网| 丁香久久AV| 九九热只有精品| 91人人爱| 激情五月婷婷五月| 中文超碰视在线| 欧美精品中文字幕亚洲专区| 另类图片五月天婷婷| 色五月天电影| 青青热久精品视频在线观看| 9久久精品| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 中文字幕成人日韩| 久久久精品人妻| 丁香五月在线播放| 99re26视频| 久热黄色| 伊人青草成人| 婷婷五月,综合伊人| 天天干狠狠操| 91在线观看www| 色婷婷丁香五月天在线视频| 琪琪色网址| 99爱免费视频在线观看| 狠狠色大香蕉| 97人人超| 五月丁香六月激情综合欧美| 国産精品| 九九性爱网| 久久久婷婷五月亚洲97号色| 玖玖资源在线视频| 五月草影视| 久久人操-久草婷婷-成人AV| 十一月婷婷激情四射| 国产婷婷五月| 久久99网站| 五月丁香综合精品| 婷婷狠狠操| 亚洲激情四射| 天天影视色综合网| 91九色国产| 啪啪操操| 五月丁香六月激情在线| 婷婷五月天狠狠| 伊人五月天97| 国产XXXX搡XXXXX搡麻豆| 五月婷深深爱激情网| 久久38视频| 丁香五月天婷婷中文字幕| 六月99天天婷婷激情综合| 五月综合久久| 激情AV在线| 99ER热精品视频| 五月丁香日本一抹本| 成人做爰高潮A片免费视频| 色婷婷色婷婷五月| 婷婷九月激情| 国产激情综合| 激情五月份婷婷| 激情五月天综合| 婷婷五月免费在线| 永久的网站AAAA | 99精品自拍| 日在线V视频在线播放| 人妻在线网站| 伊人网色婷婷五月天| 久99久99精品免| 日日天天天| 精品导航在线x不卡| 激情婷婷六月天| 99视频这里有精品免费观看| 婷婷深爱五月亚洲综合| 五月天婷婷久久日| 亚洲成人在线播放| 97热这里精品在线视频| 伊人青涩网| 99久热| 婷婷99狠狠躁| 99热这里只有精品最新地址获取| 欧美色图天堂网色| 五月天激情黄色网址| 99热综合| 亚洲va成人va成人va在线观看| 久久黄色片| 第2色五月婷| 免费黄网不卡AV| 超碰激情网| 婷婷五月天777| 亚洲综合婷婷五月| 99亚洲天堂| 五月天婷婷色情| 九九丁香社区欧美激情| 婷婷丁香九色| 丁香五月亚洲综合丝袜| 国产高清av黄色看片| 激情综合久久| 综合激情站| 4399人妻无码久久久| 天天操狠狠操| 婷婷六月丁| 五月丁香久久丝袜啪啪| 久久久色婷婷五月天| 丁香五月停停基地| 精品成人在线观看| 亚洲殴洲精品Av在线| 成人无码髙潮喷水A片| 精品久热| www.99精品在线| 五月丁香婷色| 1024操逼视频| 中文字幕av在线| 9热在线视频精品| 婷婷综合国产| 99热销国产这里有精品| 亚洲旡码| 丁香五月色色色色| 森林影视大全,最好看的2019年视频 | 亚洲九九99精品视频在线播放| 99色综合久久| 超碰在线资源| 性天堂久久| 激情人妻综合| 久er7久热| 亚洲性图一区二区三区| 美国天天日天天操| 女人天堂AV| 夜色综合网| 五月丁香花视频| 欧美丁香五月| 激情五月婷婷六月丁香| 丁香激情五月| 五月天综合色| 久久婷婷五月综合色和| 婷婷欧美激情| 久久综合九九| 丁香婷婷九月在线| 日韩色色一区| 六月婷婷天天操夜夜爽视频| 九九色视频| 色色色综合色| 色99在线视频| 99久久网站| 婷婷色五月91啪啪| 久婷婷婷| 欧美综合激情五月| 九九色欲网| 思思久久99| 色狠狠色综合久久久绯色aⅴ影视| Aaa久久| 在线超碰91| 99久久精彩视频。| 精品久久久人妻| 国产熟女一区二区三区五月婷| 色婷婷久久| 男女av免费看| 任你艹| 颜射 精品性爱av| 色婷婷久久综合久色综| 国产精品久久久久久久久久| 久久狠婷婷| 亚州婷婷五月激情综合| 亚洲狠狠狠色婷婷综合激情久久久| 伊人激情网| 六月婷婷网| 色亚洲中文| 五月激情六月综合| 青草视频在线播放| 九九精品在线视频观看| 天天综合五月| 色五月综合网| h亚洲| 婷婷色播六月无码| 99视频久久| 91/九色黑人| 俺也去婷婷五月天第五色| 丁香五月激情啪啪| 最近免费中文字幕大全高清大全1 色狠狠色噜噜AV天堂五区 | 综合五月婷婷| 天堂久久大香蕉| 五月天婷亚洲天综合网综合| 99久久久免费| 丁香六月婷婷开心婷婷网| 日本的α片xxxwww| 99热官网精品在线| 天天插天天射天天干| 99在线看片| 九九人人操| 五月婷婷 自拍| 精品无码色| 99自拍视频网站| 久久激情婷婷| 色色网五月激情| 日韩免费视频| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | www超碰| 九色七七| 大香蕉久热| 任你干线上免费视频有3吗| 五月丁香婷婷人体| 亚洲AV影片在线观看| 丁香五月激情天AV无码| 日日干天天爽| 99er这里只有精品视频| 996热| 激情综合五月天| 色五婷婷开心缴| 牛牛澡牛牛爽| 成人九九视频| 亚洲男女激情| 亭亭丁香久久五月| 五月天综合| 综合精品99| 五月婷婷网五月在线| 久久精品国产AV一区二区三区 | 人妻AV在线观看| 综合激情在线观看| 自拍偷窥99热| 丁香婷婷六月婷婷六月婷婷六月婷婷| 99精品热| 天堂五月婷婷| 婷婷激情五月天激情小说| 天堂AV在线看| 秋霞少妇AV网站| 久久婷婷色丁香| 久久性爱99国产| 九九青青草成人| 久久久激情| 丁香五月天堂网| 色五月天婷婷| 亚洲熟妇AV综合网五月丁香伊人 | 开心网五月色婷婷| 五月丁香无码| 激情第四色| 久久久区区一久久久久久| 日韩av手机在线观看| 天天日夜夜夜操操操操| 色久一| 国产激情av| 97综合在线| 91婷婷| 九九九午夜影院成人| 日韩成人影片网站| 日韩综合久| 91色综合| 久久ri精品| 激情五月婷婷丁香| 五月婷婷播| 婷婷五月丁香性爱| 综合色播| 色五月婷婷影院| 久久婷婷五月天激情四射| 五月婷婷婷| 亚洲AAA| 亚洲色婷婷久久99精品91| 色五月成人| 免费精品66| 99re视频在线精品| 婷婷久久五月天| 开心五月婷| 玖玖婷婷五月| 成人五月丁香花| 丁香婷婷色五月激情综合| 91日韩在线| www.色色色com| 亚洲熟女色| 成人婷婷五月| 六月丁香久久| 色色网91| 极品人妻VIDEOSSS人妻| 久久九九网| 色婷婷五月综合网| 国产99美少妇| 美女精品一级不卡视频| 在线只有精品| 黄色一级影片| 这里只有精品视频99| 婷婷五月综合在线| 婷婷色五月天色| 久久五月综合| 人妻中文在线| 殴美综合激情五月天免费视频| 婷婷丁香视频在线观看免费| 国产综合婷婷| 丁香社92视频| 教师性爱毛片| 日本少妇裸体做爰高潮片| 色婷婷先锋| 久久99这里只有精品视频 | 99无码视频| 可以直接看的av| caopeng97日韩| 99自拍视频在线| 9精品一区| 操逼五月婷婷| 成人在线二区| XX色综合| 夫妇交换刺激做爰| 激情久久久| 9久精品视频| 婷婷 色 丁香 夜| 色五月色综合| 五月丁香亚洲综合网| 人人亚洲| 天天日天天干天天爱| 狠狠色狠狠| 色噜久| 亚洲人成网站999综合| 久久久99精品免费观看| 激情综合五| 99热一区| 色999亚洲人成色| www.色五月| 97干网站| 色综合色色| 日本久久精品18| 裸体美女丁香五月天。| 国产毛片精品一区二区色欲黄A片| 狠狠搞亚洲| 婷婷亚洲在线| 亚洲五月花| 色婷婷久综合久久一本国产AV| www.com操| RenRenSe在线视频网站| 色欲五月婷婷| www.99视频| 丁香五月六月综合激情| 五月丁香六月色| 99丁香五月婷| 五月丁香五月婷婷| 97干干干丁香| 丁香五夜激情四射夜夜夜| 亚洲免费成人电影AV| 欧美日韩成人h| 五月婷婷之综合激情在线| 国产在线网址1| 五月天婷婷无码| 99视频在线看| 久久婷婷网| 久久这里精彩免费在线观看| 丁香婷婷免费| 99热6色| 婷婷婷婷婷婷婷婷| 26UUU欧美| 欧洲MV日韩MV国产| 五月天怕怕| 99色干| 性色播| 五月婷婷花| 激情婷婷六月天| 丁香五月天黄色片| 人妻丰满精品一区二区A片| 色青青电影色五月| 黑人熟妇一区二区三区| 色网站99| 久久精彩免费视频| 六月天婷婷| 国产精品成av人在线视午夜片| 狠狠综合网| 五月天婷a在线| 天堂爱啪啪| Av狠狠色丁香婷| 日日夜夜狠狠干| 9l视频自拍9l视频自拍九色学生| 国产精产国品一二三在观看| www.无码com| 人人澡天天色天天做| 久草xx性爱视频| 8区视频在线| 牛牛热这里只有jingpin| 性色av大香综合| 天堂爱爱| 五月婷婷激情| 青吴乐视频| 激情99热| 在线1青婷| 色色射| 影音先锋91视频| 91超级碰| 伊人玖玖婷婷| 级人人91| 99热这里只有在线播放| 日韩超碰在线| 色在线免费观看| 99热这里在线精品| 日本美女上人| 婷婷五月精品中文| 精品怡红九九九| 六月激情婷婷| 五月天婷婷綜合院| 九九婷婷五月天| 五月丁香啪啪网| 大香线蕉伊人| 丁香色婷婷| αv中文字幕在线观| 天天爽在线视频| 婷婷激情综合| 色婷婷精品视频在线播放| www.激情五月天.com| 91久久九久久九久久九久久九久久| 天堂成人A片永久免费网站| 免费亚洲婷婷中文字幕| 99热资源在线| 综合网狠狠| 草做免费在线观看| 97色 五月天丁香| 欧日韩AV| 五月婷婷基地| 九玖视频这里只有精品| 日韩无码专区| 国产成人AV在线| 激情图片久久| 九九色大香蕉| 超碰国产在线观看| 91九色大屁股| 色私五月婷婷| 强伦轩人妻一区二区电影| 超碰1999| 香蕉伊人综合| 人人九色| 秋霞免费三级片| 久久久999精品| 97久人人| 色色综合网站| 综合在线网| 91九色首页| 亚洲 日韩色色| 99热综合| 思思综合热| 狠狠爱深色婷婷综合| 六月五月久久丁香| avh片在线观看| 久久99性爱视频| 色约约视频一区二区三区四区五区| 丁香欧美| 亚洲午夜Av| 伊人碰碰碰| 热九九精品| 久久激情五月| 爱婷婷五月| 狠狠色综合网站久久久久| 丁香激情五月| 婷婷色婷婷亚洲成人| 97人人超| 99思思热只有在这里看| 亚洲黄3级片网站欧美| 激情综合网五月丁香| www色色com| 日本99视频| 9999色色色色| 五月婷婷成人| 丁香五月激情婷婷| 丁香五月开心五月激情| 在线成人网址| 91精品国产综合久久久不卡电影| 色情五月婷婷| 中文网AV| 99久久久精品| 丁香桃色网| 激情五月婷婷综合网| 色五月婷婷影视| av大香蕉| 四色AVwww| 婷婷六月啪啪| 丁香五月天大香蕉啪啪| 9久国产精品| 亚洲AV激情五月综合网| 日本123区日韩欧美不卡在线看| www久久久| 五月丁香婷庭在线| 黄色五月婷婷| 大鸡巴伊人网| 午夜天堂啪啪| 五月天伊人| 99热欧| 怡红院91a√| 狠狠操狠狠爱| 婷婷久久综合| 五月丁香亚洲综合网| 97极品在线| 国产精品久久久爽爽爽麻豆色哟哟| 色五月五月天色婷婷色五月| 色综合久久伊伊婷婷五月| 亚洲成人另类| 精品九九久久| 免费精品99| 欧美影院| 国产在线另类五月婷婷| A一级操| 五月天婷综合| 丁香99| www.婷婷六月天| 日本高清久| 国产色五月| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 五月天婷婷成人资源站| 五月婷婷六月丁香激情深爱| 热99免费在线| 天花AV无码| 超碰日韩成人| 国产精品久久久久久妇女6080| 色五月激情| 婷婷五月天六点丁香五月| 九九视频精品这里只有| 激情综合亚洲| 久草 天堂| 成人资源在线| 激情婷婷综合网| 久久久久久99日本| 人妻无码视频网| 久热9| 99色在线| 婷婷在线精品| aa久久| 天天色粽合合合合合合合| 26uuu国产激情视频| 五月天综合区| 丁香六月爱综合| 五月婷无码| 免费的日逼视频| 天天射影| 高潮毛片遮挡费高一百度| 在线成人网站| 狠狠干狠狠色| 99 热| 色狠狠狠干| wWwCom夜操wwW| 99热18| 99色激| 色五月丁香六月资源站| 98毛片| 秋霞午夜理论 | 色九网| 另类小说五月天| 午夜大香蕉| 久久免片| 午夜天堂一区人妻| 色五月 婷婷, 大香蕉| 影音先锋日本三级资源| 99精品丰满| 久久久久久久五月| 91丨九色丨熟女| 五月色色色| 激情深爱五月婷婷| 人人天堂操| 亚洲丁香五月在线观看| 天天综合中文| 就爱操www com| 99久久久久久www| 另类 在线| 久久视频婷婷视频| 婷婷综合五月| 99热最新国内| 99九九视频| 婷婷五月天丁香| 五月久久噜噜| 五月花激情| 91综合国免费久入| 99re在线观看| 丁香色色五月| 五月丁香另类图片| 久久机热这里只有 | 激情九月婷婷| 青青久在线视频免费观看| 天堂网亚洲色图| 大香蕉五月婷婷| 色婷婷丁香五月天在线视频| 婷婷亚洲欧美丁香五月| 99久久婷婷| AV成人在线网站| 久久久久98| 琪琪理论片| 韩国天天婷婷| 五月天激情国产综合婷婷婷| 亚洲永远av在线播放| 亚洲人妻Av| 五月丁香WWW| 欧美激情综合五月色丁香| 丁香五月香蕉| 99视频在线看| 激情五月图| 五月婷婷之综合激情| 99免费| 五月婷av| 天天草婷婷五月| 五月天婷婷激情| 乱精品一区字幕二区| 美欧日韩国产成人在战| 99热精地址| 99热.com| 九九亚洲无码| 大陆肏屄视频| 国产超碰在线| 色综合久久综合中文综合网| 久久精品亚洲一级牲爱综合| 色婷婷基地| 六月丁香色色| 九九色综合视频| AA片在线观看视频在线播放| 亚洲一级色电影| 天堂草在线看www| 婷婷五月色| 99热国内精品| 色五月播五月| 国产高潮白浆一区二区| 伊人六月无码视频| 五月天激情图片| 久99久视频免费观看| 免费播放99性爱视频| 狠狠干,狠狠操| 99热1| 婷婷五月天色播| 国内精品免费一区二区2009| 狠狠色丁香婷婷基地| 五月天色丁香| 久久久WWW| 91视频综合网| 大香蕉人人网| 丁香六月婷婷综合欧美| 在线免费视频caop| 激情综合婷婷| 三十熟女| 午夜九九电影| 国精产品一区一区三区免费视频 | 伊九九三级区| www.婷婷五月| 粉嫩av蜜桃av蜜臀av| 精品99在线| 五月婷婷丁香啪啪| 久久看婷婷| xx久久| 丁香婷婷五月六月久久| 五月丁香六月色| 天堂久久婷婷| 色三级色三级| 直接看的AV| 色激情综合| 超碰电影在线播放| 久久综合中文| 日本va欧美va欧美va精品| 伊人啪啪网| 九九热a| 久久久网站| 五月婷婷久久开心网| 中文字幕日产A片在线看| 婷婷大美在线| ..真实国产乱子伦毛片| 深爱激情网综合| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 五月天 另类图片| 9在线9在线婷婷在线国产| 日韩啊啊啊| 夜夜爱伊人| 久久99久久99久久99人受| 久久只有这里精品免费| 国产精产国品一二三在观看| 99惹精品视频| 日本三级网址| 婷婷五月成人| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888| 免费看欧美成人A片无码| 丁香五月在线视频黑人| 秋霞网在线免费基地五月婷婷丁香| 日韩啊啊啊| 99热日韩| 风流少妇A片一区二区蜜桃| 五月天六月婷婷电影| 小色小蛇伊人婷婷色香五月| 久久xx| 色综合性视频| 久久的爱大香蕉| 狠狠操综合| 亚洲综合色五月| 日本女人久久| 噼里啪啦完整版中文在线观看| 99成人无码| 男人的天堂97| 狠狠色综合网| 五月天婷婷影院影院观看| 天堂资源欧日浪女在线播放| a在线观看| av五月天婷婷丁香| 五月天婷婷色色| 色狠狠色狠狠| 99爽视频| 亚洲精品一区中文字幕乱码| 婷婷五月天天天| 丁香五月天色综合| 亚洲人成网站999久久久综合| 六月激情婷婷| 婷婷六月伊人| 亚洲国产成人在线| 久草九一| 在线只有精品| 五月激情六月丁香| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 亚洲精品性色| 日本久久精品| 色原狠狠综合| 国产乱人偷精品人妻A片| 久久999久久999久久999久久| 午夜美女人啪最红院| 91视频人人做97| 欧美日韩精品人妻狠狠躁免费视频| 色色五月天婷婷丁香| 五月婷色丁香| 色色五月天婷婷| 天天网曰日曰夜夜综合永久免费| 99热免费| 五月天激情图片| 人。妻久久| sewuyuejiqingwang| 97人人干人人操| 激情都市丁香婷婷| 五月天激情婷婷五月天久久| 成人看片网站| 久久精品五月天| AV中文字幕夜夜操b天天摸bb | 色五月激情婷婷| 五月六月激情婷婷| 97人人草| 亚洲最大在线| 久99久99精品免| 日本nghangse中文字幕| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 久热久| 噜噜操操| 五月婷婷激情日本| 婷五月天| 婷婷丁香六月天激情四射网| 免费黄网不卡AV| 熟妇人妻中文字幕无码老熟妇 | 91妻人人爽人人看片| 五月婷婷六月丁香| 天天干天天干天天干天天干天| 婷婷五月激情中文字幕| 99无码黄色视频| 噜噜久| 热99只有里视频| 99久久综合精品五月天| 婷婷激情六月中文| 九九九成人在线视频| 五月丁香六月婷婷不卡免费无码| 99开心五月五月丁香激情| 91精品婷婷国产综合久久| 国内一级精品| 日韩一级A片黄色| 丁香五月日韩| 五月丁香啪啪激情| 99色在线视频| 秋霞黄色一级久久| 怡红院99| 婷婷五月天六月综合| 亚洲五月天综合| 五月丁香久久激情网| 五月婷婷伊人久久| 成人超碰Av| 四月丁香五月婷婷久久| 激情婷婷丁香| 97人人做| AVDV久久| 欧美情色一区| 婷婷五月综合丁香久久| www.久9| 夜夜躁婷婷AV| 激情综合网五月在线播放| 色综久久AV| 天天做天天要天天爽| 人人看人人摸人人| 日本婷婷| 亚州操人在线视频| 99热在线观看| 99久久久精品| 丁香六月狠狠干| 成人五月天综合网| 久久机热这里只有 | 91成人性爱视频| 激情五月天色播| 极品人妻VIDEOSSS人妻| 99操不停| 天天综合网91| 亚洲天天免费| 激情综合丁香五月| AV在线观看网站| 久久婷婷五月综合| 99精品久久久久久久久| 亚洲成人无码网站| 色色99色色| 色五月婷婷五月丁香五月| 激情丁香五月| 欧美人与性动交CCOO| 色婷婷色丁香色欲av| 五月天激情久久| 天天草婷婷五月| 俺去也综合| 久久HD| 亚洲第一影院高清无码网站| 丁香九月激情| 色五月视频,小说| 婷婷午夜激情| 2025超碰| 久久久久亚洲AV成人无码电影| 99久久国产成人精品| 狠狠草在线观看| 99热99色| 六月婷婷视频| 色五月天天| 六月婷婷久久| 五月激情四射网站| 亚洲精品成人| 久久久久久久久人妻| www99热| 五月丁香天堂| 99热精品少| 婷婷激情综合| 变态 另类 在线| 久久九区| 丁香六月婷婷色XXXXX| 天天插天天射| 99玖玖免费视频| 涩涩涩.com| 五月丁香婷婷色| 91九色在线视频| 99er6热在线观看精品6| 丁香五月天婷婷激情| 超色欲天天| 国色天香伊人狠狠色| 青草五月天| WWW99视频| 欧美成人精品老美女噜噜噜| 九九色逼| 91Chinese在线| 丁香六月久久| 久综合4| 玖玖在线资源视频| 九九激情综合| av在线免费网站 | 999热这里只有美国精品| 天天搞夜夜叫| 97久久久| 国产免费一区二区三区三州老师F1F1.CC| 丁香五月冃欧美| 欧美成人精品A片免费一区99| 婷婷黄色| 91日视频| 99在线视频女女视频| 六月婷婷九月丁香亚洲综合| 人妻熟女一区二区AV| 五月婷婷高清| 亚洲免费婷婷| 九九精品99| 色五月激情综合| 狠狠色丁香婷婷| 五月丁香六月婷婷综合网站| 九九99精品免费播放| 丁香六月中文| 国产av天堂| 桃色五月天| www.99视频| 久久xx| 亚洲欧洲另类| 99这里只有精| 色狠狠五月天| 色五月激情五月开心五月| 日韩人妻无码专区| 日韩欧洲亚洲| 超碰人人艹| 99热网站| 婷婷激情中文综合| 99视频| 色五月婷婷天天干| 国产亚洲精品久久久久久牛牛| 3pAV| 欧类av怡春院| 激情婷婷五月天在线观看| 婷婷综合丁香| 99色最新在线视频网站| 婷婷五月另类网站| 五月天久久91| 天天综合久久| 亚洲色碰| 91欧美| 久热无码| 五月婷婷综合色啪首页| 天堂久热| 婷婷色导航| 91色五月| 五月丁香婷婷综合| 深爱五月亚洲| 停停六月 综合| 成人欧美日韩| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 亚洲色久| 亚洲12p| 五月激情黄色小说| 九九re视频在线视频| 99riAV国产精品视频| 这里只有精品偷拍| 欧美性生交XXXXX无码小说| 人人看人人摸人人| 六月婷欧美| 中文字幕在线观看视频www| 深爱激情五月天婷婷网| 停停六月 综合| 五月丁香免费视频| 777丁香六月青青草婷婷综合久月| 国产精品成av人在线视午夜片| 性色五月天| 玖玖在线视频福利| 五月桃花网综合| 日韩在线视频网站| 亚洲丁香五月天在线视频| 国产三级在线播放| 超碰人人射| 天天色色婷婷| 久久性刺激| 国产无遮挡又黄又爽免费网站| 五月丁香综合在线| 久久之人妻| 五月九九综合| 99热在线播放| 99热久久这里只有精品2010| 亚洲欧美婷婷五月色综合| 婷婷欠久少妇| 天天肏视频| 深爱丁香激情| 久久婷婷综合网| 色99最新网址| 五月天开心激情综合网| www夜夜操comwww| 婷婷色导航| 在线日韩av| 狠狠色色| 激情图片久久| 五月婷婷六月奇米网丁香| 51XX午夜影福利| 久婷婷视平| 狠狠色综合网| 亚洲va综合va国产va中文| 五月天自拍网| 91精品久久久久| 婷婷色色婷婷| 热久久成人| 五月婷婷色影院| 殴美97色| 欧美性生交XXXXX无码小说| 五月丁香久久网| 毛片色五月| www·五月天| 欧美日韩999| 五月天久久网站| 激情五月婷婷综合网| 九九热精品| 婷婷在线综合| 热99这就是精品视频| 呦呦v线| 99re66热这里只有精品| 97碰碰视频| a毛片二逼wwwwwwwwww| 在线观看国产高清视频免费网站| 99在线热| 丁香五月天激情视频| 色五月婷婷久久大| www.五月激情.com| 色色日韩| 九色视频91| 91九色精品| 国产综合久久久777777| 五月丁香六月停停停| 日韩精品AV一区二区三区| 色婷婷小说网| 99热这里只有精品22| 另类综合激情| 91丁香五月| 开心婷婷中文字幕| 激情综合网五月天| 99热中文字幕久久| 综合五月激情网| 五月天夜夜爱夜夜操| 亚洲精| 色丁香婷婷美女视频网站| 狠狠狠激情网| 狠狠狠狠狠狠狠狠草| 日本五月婷婷久久久六月丁香| 久久精品爱爱| 视频这里只有精品| 99在线观看亚洲| 五月花综合网| 亚洲久久视频| 开心婷婷五月花| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 色情综合网| 99在线观看| 啪啪啪大香蕉| 秋霞三级色戒| 日本色婷婷久久99精品91| 五月丁香少妇A| 亚洲五月天伊人| 精品久久久久久久久久久久人妻| 五月丁香六月婷婷在线播放| 丁香5月婷婷| 亚洲第一第二网站| www热久久yy9| 激情四射五月天| 丁香婷婷大香蕉| 中文字幕乱码亚洲精品一区| 草草女人亚洲| 国产高潮白浆一区二区| 在线99精品| 久久人人九九| 丁香蜜臀黄色婷婷五月天| 婷婷五月丁香综合亚洲| 99热思思久| 婷婷五月丁香基| 欧美成人精品老美女噜噜噜| 人人干人人看| 国产99久久久| 久久久人妻| 日韩AC在线免费观看| 午夜色丁香| 四虎成人精品永久免费AV九九| 在线五月婷婷小电影| 丁香婷婷六月天| 婷婷成人五月天成人文学小说| 色婷婷激情| 日韩无码色色| 九九色情网站| 亚洲操B视频| 性爱网久久| 成人.在线日韩| 9在线9在线婷婷在线国产| 久久婷婷色色| 色综合久久伊伊婷婷五月| 激情VA视频| 婷婷五月天AV| 色色色激情网| 欧美久久网| 伊人五月久久| 精品人妻在线| 最近韩国日本免费高清观看| 激情婷婷。| 国产欧美日韩性爱| 色综合综合网| 另类专区在线观看| 爱99干99| 国产ava| 国产探花AV在线| 在线观看av网站| 免费看欧美成人A片无码| 亚洲无码www| 凹凸探花电影| 九九热视频在线观看| 九九黄色网| 日韩美女羞羞网站在线观看| www.夜夜操.con| www.狠狠| 五月日韩中文字幕| 五月丁香婷婷基地| 色六月视频| 996er热| 成年视频免费观看| 一根材五月婷成人| 99re视频在线播放| 三日本无码| site:hcxsz888.com| 5五月综合网亚洲| 国产精产国品一二三在观看| 97碰久久| 亚洲AV色婷婷人禽五月天| 婷婷视频网| 丁香婷婷色色| 六月丁香色婷婷| CHINESE熟女老女人HD视频| 91婷婷色 | 五月天激情影院| 午夜激情久久| 人人干天天操五月丁香| 久久三级视频| 久久国产高清| 天天操夜夜肏| 五月丁香色综合| 日本超碰在线| 久久亚洲无码| 久久综合综合综合| 六月色色婷婷| 中文字幕无码人妻少妇免费视频| 超碰免费成人| 五月婷在线| 九九成年视频| 五月丁香婷婷婷婷综合网| 五月天精品视频| 亚洲AV网站在线观看| 这里只有精品1| 色婷婷综合久久| 五月丁香六月婷精品视频| 五月婷婷啪啪| 色五月婷婷中文字幕| www.91九色| 五月久久网| 99精品热| 99久高清视频| 五月天久久网站| 99在线看视频| 婷婷色五月情| 六月婷婷毛片| 开心五月丁香婷婷| 99精品偷自拍| WwW天天干| 麻豆AV一区二区三区| 色色色综合视频| 激情综合五月| 天天做综合| 99久久99久久综合| 久月丁香爱婷婷综合| 亚洲激情av| 久久这有这里精品| 亚洲爆乳无码精品AAA片蜜桃| 免费视频舔| 丁香网站| 天天草天天日| 色色色五月天激情资源| 婷婷五月天国产|