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

ARTICLE DETAIL

資訊詳情

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

基于Java的家務(wù)服務(wù)平臺畢設(shè):Spring Boot訂單狀態(tài)機與部署避坑

基于Java的家務(wù)服務(wù)平臺畢設(shè):Spring Boot訂單狀態(tài)機與部署避坑 簡介這是一套基于Java技術(shù)棧的家政服務(wù)平臺完整項目采用SpringBoot搭建后端適合作為計算機相關(guān)專業(yè)畢業(yè)設(shè)計、課程設(shè)計或工程實訓(xùn)的參考模板。資源涵蓋全套源碼、數(shù)據(jù)庫SQL腳本及論文文檔能夠幫助學(xué)習(xí)者快速搭建可運行的系統(tǒng)并理解前后端交互、權(quán)限管理、訂單流轉(zhuǎn)等典型業(yè)務(wù)模塊的實現(xiàn)思路。壓縮包內(nèi)共949個文件以java、js、vue、html等前端與后端代碼文件為主同時包含svg、gif、jpg等靜態(tài)資源以及sql數(shù)據(jù)庫文件、配置文件和說明文檔整體體積僅17.71MB便于下載傳閱。目前已有87人學(xué)習(xí)使用項目經(jīng)過測試可直接運行適合不同起點的學(xué)習(xí)者按需取用。除了直接復(fù)刻功能外還可以基于現(xiàn)有代碼擴展預(yù)約服務(wù)、評價管理或數(shù)據(jù)可視化等模塊既滿足畢設(shè)驗收要求也為后續(xù)深入開發(fā)提供了清晰的技術(shù)骨架。1. 為什么“基于Java的家務(wù)服務(wù)平臺”是高分畢設(shè)項目的常青樹畢設(shè)季一到各種“高分項目”資源包就開始流通。這類“基于Java的家務(wù)服務(wù)平臺的系統(tǒng)包含全套源碼 數(shù)據(jù)庫sql 論文.rar”是其中最典型的一種Java 寫的完整工程、能直接導(dǎo)入的數(shù)據(jù)庫腳本、一篇配套論文三者打包成一個壓縮包。它背后是一個完整的業(yè)務(wù)閉環(huán)——用戶預(yù)約保潔、阿姨接單、管理員管上下架和派單比傳統(tǒng)圖書管理系統(tǒng)多出訂單狀態(tài)流轉(zhuǎn)、時間沖突檢查、評價結(jié)算這些能拿上臺面的內(nèi)容。適合正在找 Java 畢設(shè)或課設(shè)參考的人也適合想從純 CRUD 走向業(yè)務(wù)閉環(huán)的初學(xué)者。但解壓只是開始“解壓成功、啟動失敗”才是這類資源最常見的歸宿。Java 環(huán)境、數(shù)據(jù)庫版本、端口沖突、依賴缺失任何一環(huán)都能讓一個看起來完美的項目卡死在控制臺。下面按我實際做這類家政平臺的路徑把打開壓縮包到能演示、能答辯的全過程拆開講。2. 壓縮包背后是一套什么系統(tǒng)技術(shù)棧選型與模塊邊界2.1 為什么是 Spring Boot MyBatis MySQL這套技術(shù)棧好在哪標(biāo)題里只寫了“基于 Java”但家政服務(wù)平臺在畢設(shè)圈里的主力組合其實非常固定Spring Boot 負(fù)責(zé)把配置瑣事處理掉MyBatis 負(fù)責(zé)寫關(guān)聯(lián)查詢和動態(tài) SQLMySQL 存數(shù)據(jù)前端用 JSP Bootstrap 或 Thymeleaf 渲染頁面。選這套不是因為它新而是它在“代碼量可控”和“能講清楚”之間最平衡。Spring Boot 的核心價值是自動配置和起步依賴。一個家政平臺最常用到的無非 web、mybatis、mysql 驅(qū)動這幾個 starterpom.xml 里依賴不沖突IDE 一刷新就能拉完。這對新手很友好不需要像 SSH 時代那樣手動拼一堆 XML 配置。MyBatis 的優(yōu)勢在于預(yù)約這類業(yè)務(wù)有大量“按條件查詢”的場景查某阿姨某天有沒有空、查某用戶所有狀態(tài)的訂單、按時間區(qū)間統(tǒng)計營收。MyBatis 的 XML 里寫動態(tài) SQL比 JPA 的派生方法更直觀也更容易讓答辯評委看懂。說白了它把 SQL 從黑匣子重新變成了你手里的籌碼。MySQL 則是 Java 畢設(shè)中的默認(rèn)選項免費、資料多、圖形客戶端多。搭配 Navicat 或 DBeaver 就能完成建庫、導(dǎo)數(shù)據(jù)、看表結(jié)構(gòu)的全部操作。壓縮包里的“數(shù)據(jù)庫sql”絕大多數(shù)也是針對 MySQL 寫的拿到手先確認(rèn)腳本頭部的建庫語句別一上來就往 SQL Server 或 PostgreSQL 里塞。2.2 三個角色、四個模塊先看業(yè)務(wù)邊界再去看代碼拿到這類壓縮包第一件事不是解壓后盲目 import而是在腦子里建立系統(tǒng)邊界。家政平臺再花哨也逃不出三個角色管理員、雇主用戶、服務(wù)人員阿姨。圍繞這三個角色業(yè)務(wù)上一般拆成四個模塊用戶與權(quán)限、服務(wù)目錄、預(yù)約與訂單、評價與結(jié)算。角色典型功能用戶注冊登錄、瀏覽服務(wù)項目、填寫上門時間與地址、下單支付、查看訂單、評價服務(wù)人員查看分配給我的單、開始服務(wù)、完成服務(wù)、查看收入記錄管理員服務(wù)項目上架/下架、阿姨信息維護、訂單查看與派單、統(tǒng)計報表理解這個邊界有什么用第一是有目的地讀源碼先找 controller 層看路由前綴就知道每個模塊落在哪個包。第二是被問到“為什么這樣設(shè)計”時有話可答訂單不直接掛在用戶表下而是獨立成表因為訂單是核心實體它同時關(guān)聯(lián)用戶、服務(wù)人員、服務(wù)項目和時間。配套論文通常會把系統(tǒng)設(shè)計放一整章里面有 ER 圖、用例圖。我一般建議先看論文里的 ER 圖把它抄到草稿紙上再對著去找表。從數(shù)據(jù)庫入手讀一個未知項目比從 controller 一層層往下摸快得多也更容易在論文答辯時講出“我對這個系統(tǒng)有整體把握”的感覺。2.3 改好 application.yml 里這幾行項目才有機會啟動解壓后的第一道門檻是 Java 版本與 Maven 能否對上。常見的是 JDK 8 配 Spring Boot 2.x這類項目多半能在 JDK 8 上跑。進 IDEA 后先等 Maven 把依賴下完再改配置文件。要改的第一個文件幾乎必然是 src/main/resources/application.yml 或 application.properties。spring: datasource: url: jdbc:mysql://localhost:3306/housekeeping?useSSLfalseallowPublicKeyRetrievaltrueserverTimezoneAsia/ShanghaicharacterEncodingutf8 username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver mvc: view: prefix: /WEB-INF/jsp/ suffix: .jsp mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.housekeeping.entity configuration: map-underscore-to-camel-case: true這段配置里最值得解釋的是 URL 上的三個參數(shù)serverTimezone 不設(shè)MySQL 8 會報時區(qū)錯誤allowPublicKeyRetrievaltrue 不設(shè)連接時會報 Public Key Retrieval is not allowedcharacterEncodingutf8 不設(shè)中文會變成問號。驅(qū)動類名也分版本MySQL 8 對應(yīng) com.mysql.cj.jdbc.Driver5.x 是 com.mysql.jdbc.Driver寫錯就直接 ClassNotFound。MyBatis 部分有個容易被忽視的開關(guān)map-underscore-to-camel-case。表字段 create_time 要自動映射到實體類的 createTime靠的就是它。不打開查詢結(jié)果里這些字段全是 null訂單時間顯示為空排查起來非常像玄學(xué)問題。如果原來是手寫 resultMap 的項目這一行開不開都行但大多數(shù)畢設(shè)項目都依賴這個自動映射。注意這里的 password 要改成你自己本機的 MySQL 密碼庫名 housekeeping 要和第三章導(dǎo)入的庫名一致。如果項目用了 JSP 視圖mvc.view 里的 prefix 和 suffix 決定了控制器返回的字符串如何對應(yīng)到 jsp 文件路徑配錯的表現(xiàn)是“頁面 404 但接口正?!?。3. 初始化家政平臺數(shù)據(jù)庫SQL 腳本導(dǎo)入與關(guān)鍵表結(jié)構(gòu)拆解壓縮包名字里“數(shù)據(jù)庫sql”占了三個字但很多人恰恰在這一步翻車。腳本本身可能沒問題問題出在導(dǎo)入方式、字符集選擇以及 MySQL 版本差異上。3.1 用命令行導(dǎo)入 SQL 的正確姿勢拿到 .sql 文件后我一般不用圖形客戶端去“運行 SQL 文件”一個大文件整體執(zhí)行因為一旦中間某條語句報錯后半段全部作廢出錯信息還容易被界面吞掉。更穩(wěn)妥的方式是命令行分步做先建庫再選庫最后 source。mysql -uroot -p # 進入 MySQL 命令行后逐條執(zhí)行 CREATE DATABASE IF NOT EXISTS housekeeping DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE housekeeping; SET NAMES utf8mb4; SOURCE /path/to/housekeeping.sql;如果不想進交互式命令行也可以直接用一行命令完成建庫和導(dǎo)入mysql -uroot -p -e CREATE DATABASE IF NOT EXISTS housekeeping DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; mysql -uroot -p housekeeping --default-character-setutf8mb4 housekeeping.sql這里建庫必須用 utf8mb4 而不是 utf8。家政平臺的服務(wù)名稱、地址、評價內(nèi)容里都可能出現(xiàn)生僻字或表情符號utf8mb4 是 MySQL 里真正能存下四字節(jié)字符的字符集utf8 在某些版本下只能存三字節(jié)一旦插入含表情的內(nèi)容就報錯。COLLATE 選 utf8mb4_unicode_ci 是為了排序和比較行為更符合常規(guī)預(yù)期。導(dǎo)入后立刻驗證表數(shù)量和數(shù)據(jù)量別急著啟動項目USE housekeeping; SHOW TABLES; SELECT COUNT(*) FROM appointment;如果表數(shù)量對不上多半是腳本執(zhí)行到一半中斷。此時不要盲目重跑整個文件先看第一次報錯停在哪張表修復(fù)后再重來。重復(fù)執(zhí)行完整腳本通常是無害的因為建表語句前面往往有 DROP TABLE IF EXISTS但前提是你已經(jīng)知道這個約定。3.2 六張核心表搞懂它們才敢說“這個系統(tǒng)拿下了”家政平臺的表數(shù)量一般在十幾張上下但核心不出下面這六張。先把它們的職責(zé)和關(guān)聯(lián)關(guān)系理清再去看具體的 CREATE TABLE效率會高很多。表名作用關(guān)鍵字段user三個角色共用一張用戶表id, username, password, role, phoneservice_category服務(wù)分類如日常保潔、深度清潔id, name, sortservice_item具體的服務(wù)項目掛在分類下id, category_id, name, price, detailappointment預(yù)約/訂單主表全系統(tǒng)的心臟id, order_no, user_id, worker_id, status, service_date, slot_start, slot_endevaluation用戶的評價記錄id, order_id, user_id, score, contentadmin_log管理員操作日志答辯加分項id, admin_id, action, create_time以訂單主表為例一個典型的建表語句長這樣CREATE TABLE appointment ( id INT AUTO_INCREMENT PRIMARY KEY, order_no VARCHAR(32) NOT NULL COMMENT 訂單號支付回調(diào)的唯一依據(jù), user_id INT NOT NULL COMMENT 下單用戶, worker_id INT NOT NULL COMMENT 服務(wù)人員ID, service_item_id INT NOT NULL COMMENT 服務(wù)項目ID, service_date DATE NOT NULL COMMENT 服務(wù)日期, slot_start TIME NOT NULL COMMENT 預(yù)約開始時間, slot_end TIME NOT NULL COMMENT 預(yù)約結(jié)束時間, address VARCHAR(255) NOT NULL COMMENT 上門地址, amount DECIMAL(10,2) NOT NULL COMMENT 訂單金額, status TINYINT NOT NULL DEFAULT 0 COMMENT 0待付款 1待服務(wù) 2服務(wù)中 3待確認(rèn) 4已完成 5已取消, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, UNIQUE KEY uk_order_no (order_no), KEY idx_worker_date (worker_id, service_date), KEY idx_user_status (user_id, status) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT家政預(yù)約訂單表;這個表的結(jié)構(gòu)信息量很大。order_no 必須有唯一索引它是支付回調(diào)時的冪等依據(jù)后面第四章會展開。status 用 TINYINT 而不是字符串省空間、查詢快代價是代碼里必須有一一對應(yīng)的枚舉否則狀態(tài)含義全靠猜。復(fù)合索引 idx_worker_date 直接支撐“查阿姨某天有沒有單”這個高頻查詢?nèi)绻┙ㄓ唵瘟恳簧先ナ醉摬榭臻e阿姨的接口就會明顯變慢。3.3 字段冗余和索引設(shè)計評委最愛追問的兩個細(xì)節(jié)家政平臺的訂單表特別適合做字段冗余。什么是冗余就是把 service_item 里的服務(wù)名稱、單價以及 user 表里的阿姨姓名在下單那一刻直接復(fù)制一份存到訂單表里而不是下單后每次都去關(guān)聯(lián)查詢。原因很簡單服務(wù)項目的價格和名稱會變阿姨也可能改名。如果訂單表只存 service_item_id三個月后改一次價歷史訂單的金額就對不上了。冗余之后訂單表自帶“當(dāng)時的服務(wù)叫什么、多少錢、誰來做”審計和售后都有依據(jù)。答辯時把這個點講出來評委通常會認(rèn)可你有真實業(yè)務(wù)意識。索引方面除了 order_no 唯一索引和 worker_id service_date 復(fù)合索引還建議給 status 加普通索引。管理端列表頁最常見的就是“按狀態(tài)查訂單”和“按用戶查訂單”這兩個查詢在數(shù)據(jù)量上來之前看不出差別但索引的成本很低順手加上不吃虧。有一點要提醒別迷信外鍵。常見做法是表與表之間只靠邏輯關(guān)聯(lián)不建物理外鍵。物理外鍵在導(dǎo)入 SQL 時對執(zhí)行順序有要求刪除數(shù)據(jù)時也容易受阻對畢設(shè)項目的演示和答辯反而是一種負(fù)擔(dān)。用代碼保證數(shù)據(jù)一致性外鍵只畫在論文的 ER 圖里這是這個體量下的務(wù)實選擇。4. 預(yù)約到結(jié)算的完整閉環(huán)訂單狀態(tài)機與時間沖突家政平臺和電商系統(tǒng)的本質(zhì)區(qū)別在于商品是標(biāo)準(zhǔn)化的服務(wù)是發(fā)生在特定時間、特定地點的。因此訂單狀態(tài)機和時間沖突檢查是這個系統(tǒng)真正值錢的地方。4.1 訂單狀態(tài)從 0 到 5狀態(tài)機怎么設(shè)計操作邊界在哪一個家政訂單從創(chuàng)建到結(jié)束通常會經(jīng)歷六個狀態(tài)。狀態(tài)用數(shù)字存庫但代碼里必須用枚舉管住不能讓業(yè)務(wù)代碼隨便 setStatus。public enum OrderStatus { PENDING_PAY(0, 待付款), PAID(1, 待服務(wù)), SERVING(2, 服務(wù)中), CONFIRM(3, 待確認(rèn)), FINISHED(4, 已完成), CANCELLED(5, 已取消); private final int code; private final String desc; OrderStatus(int code, String desc) { this.code code; this.desc desc; } public static boolean canChange(int from, int to) { switch (from) { case 0: return to 1 || to 5; // 待付款可支付或取消 case 1: return to 2 || to 5; // 待服務(wù)可開始服務(wù)或取消 case 2: return to 3; // 服務(wù)中只能進入待確認(rèn) case 3: return to 4 || to 5; // 待確認(rèn)可完成或取消 default: return false; // 已完成/已取消是終態(tài) } } }這個枚舉的價值是讓“非法跳轉(zhuǎn)”在代碼層面就沒有入口。比如從“服務(wù)中”跳到“已完成”繞過用戶確認(rèn)這一步系統(tǒng)就不允許。演示時如果有人從數(shù)據(jù)庫手工改狀態(tài)或者接口被重復(fù)調(diào)用狀態(tài)機能把異常狀態(tài)攔在業(yè)務(wù)邏輯之外。每個狀態(tài)變化的操作者是誰也要明確待付款→待服務(wù)是用戶點擊支付后觸發(fā)待服務(wù)→服務(wù)中是阿姨點擊“開始服務(wù)”服務(wù)中→待確認(rèn)是阿姨點擊“完成服務(wù)”待確認(rèn)→已完成是用戶點擊“確認(rèn)并評價”。管理員可以查看所有訂單但不應(yīng)該能隨意改狀態(tài)頂多在異常情況下做人工取消和退款操作。這里強烈建議再加一張 order_status_log 表記錄每次狀態(tài)的 from、to、操作人、操作時間。它本身不復(fù)雜但能讓你在答辯時回答“訂單從下單到完成經(jīng)歷了哪些步驟”這個問題時拿出真實數(shù)據(jù)展示而不是空口描述。4.2 阿姨同一時段被搶兩次單沖突檢查 SQL 怎么寫家政平臺最容易出現(xiàn)、也最容易被忽略的業(yè)務(wù) bug就是同一阿姨在同一時段被預(yù)約兩次。很多初版代碼的做法是下單時查一下當(dāng)天有沒有訂單沒有就插入。這個邏輯在單用戶測試時沒問題但系統(tǒng)一開放給多人使用立刻就會翻車。正確做法是在插入訂單前做一次真正的時間重疊檢查SELECT COUNT(*) FROM appointment WHERE worker_id #{workerId} AND status IN (1, 2, 3) -- 待服務(wù)、服務(wù)中、待確認(rèn)這些單占用了阿姨的時間 AND service_date #{serviceDate} AND slot_start #{slotEnd} -- 新時段開始時間 已有預(yù)約結(jié)束時間 AND slot_end #{slotStart}; -- 已有預(yù)約開始時間 新時段結(jié)束時間這個 SQL 的核心是后面兩個重疊條件。直觀理解新預(yù)約 [09:00, 10:00) 和已有預(yù)約 [09:30, 10:30) 是否沖突要看新開始時間是否早于已有結(jié)束時間并且已有開始時間是否早于新結(jié)束時間。兩個條件同時滿足說明兩個區(qū)間確實有交集。為什么要用這種寫法而不是“分別在開始和結(jié)束時刻各查一次”因為那兩種寫法都存在漏判。比如已有預(yù)約是 09:00 到 11:00新預(yù)約是 10:00 到 10:30只查開始時刻會認(rèn)為 10:00 沒單但如果查結(jié)束時刻 10:30 落在別人區(qū)間里就能攔住。反向同理。用區(qū)間重疊判斷才是無死角的。status IN (1, 2, 3) 的過濾也很講究。待付款訂單還不確定是否成立不應(yīng)該占住阿姨的時間已取消和已完成的單更不用管。但這里有個隱藏問題如果用戶下單后一直不付款時間被別人搶走了怎么辦常見做法是加超時取消機制比如下單后 30 分鐘未支付自動把訂單置為已取消釋放時間占用。這個邏輯不用做成定時器用戶下單時查一下自己的待付款單是否超時順帶清理即可。4.3 支付回調(diào)的冪等處理唯一約束 樂觀鎖更新線上支付的回調(diào)接口是家政平臺另一個隱藏考點。哪怕只是模擬支付也應(yīng)該按真實支付回調(diào)的姿勢來寫支付平臺會多次通知結(jié)果你的接口必須保證“同一個訂單被回調(diào)一百次效果等同于一次”。Transactional public PayResult handlePayCallback(String orderNo, BigDecimal amount) { // 1. 冪等前置檢查查當(dāng)前狀態(tài) Appointment appointment appointmentMapper.selectByOrderNo(orderNo); if (appointment null) { return PayResult.fail(訂單不存在); } // 2. 已經(jīng)處理過的回調(diào)直接返回成功不重復(fù)處理 if (appointment.getStatus() ! OrderStatus.PENDING_PAY.getCode()) { return PayResult.success(重復(fù)回調(diào)已處理); } // 3. 樂觀鎖更新只有狀態(tài)為待付款時才能變?yōu)榇?wù) int rows appointmentMapper.updateStatusByOrderNo(orderNo, OrderStatus.PENDING_PAY.getCode(), OrderStatus.PAID.getCode()); if (rows 1) { return PayResult.success(支付成功); } return PayResult.fail(狀態(tài)更新失敗請重試); }對應(yīng)的 MyBatis 更新語句只有一條UPDATE appointment SET status #{to}, update_time NOW() WHERE order_no #{orderNo} AND status #{from};這條 UPDATE 的關(guān)鍵在于 WHERE 條件里帶著舊狀態(tài)。兩個并發(fā)請求同時進來只有一個能匹配到 status 0 的記錄另一個影響行數(shù)為 0直接按“重復(fù)回調(diào)”處理。這就是樂觀鎖的思路——用一條帶條件的 UPDATE 替代“先查再改”避免競態(tài)。為什么說這個設(shè)計值得做因為幾乎所有家政平臺的簡歷項目里都會寫“對接了支付流程”面試官一聽支付接踵而來的就是三個問題怎么保證回調(diào)不重復(fù)處理、怎么處理金額校驗、怎么處理訂單狀態(tài)一致性。能用“order_no 唯一約束 條件更新”答清第一問就已經(jīng)超過很多只會在 controller 里寫 CRUD 的候選人了。5. 從源碼到能演示家政平臺 5 個常見部署踩坑與排查5.1 端口被占點啟動按鈕沒反應(yīng)日志尾部寫著 already in use現(xiàn)象IDEA 里點啟動控制臺打到一半就退出來最后一行通常是 Port 8080 was already in use。有時候連提示都不給只在日志里淺淺帶過。原因本機有別的 Java 進程或開發(fā)工具占了 8080。最常見的是你自己之前跑過另一個 Spring Boot 項目沒關(guān)掉或者是某個工具自帶的服務(wù)占了這個端口。解決先看誰占了端口。Windows 上執(zhí)行 netstat -ano | findstr 8080macOS/Linux 上執(zhí)行 lsof -i:8080找到 PID 后按需結(jié)束進程。如果那個進程不能殺就改項目的 server.port同時全局搜索前端頁面或 JS 里寫死的 localhost:8080把端口一起換掉。# Windows netstat -ano | findstr 8080 taskkill /PID 12345 /F # macOS / Linux lsof -i:8080 kill -9 12345這個坑看似簡單但我在協(xié)助別人跑類似項目時見過太多次“只改后端端口、忘記前端硬編碼”結(jié)果頁面打開了一堆接口 404。改端口務(wù)必把前端資源和頁面里的地址一次改齊。5.2 MySQL 8 連接失敗Public Key Retrieval is not allowed 與驅(qū)動版本現(xiàn)象項目啟動時報 Failed to configure a DataSource或者連接報 Public Key Retrieval is not allowed偶爾還有 ClassNotFoundException: com.mysql.jdbc.Driver。原因兩個疊加在一起。MySQL 8 默認(rèn)的認(rèn)證插件是 caching_sha2_password客戶端第一次連接需要向服務(wù)端請求公鑰同時 pom.xml 里的 MySQL 驅(qū)動版本太老不認(rèn)識這個流程或者驅(qū)動類名寫的是 5.x 的舊名字。解決把依賴替換為 MySQL 8 對應(yīng)的驅(qū)動坐標(biāo)mysql-connector-java 或 com.mysql:mysql-connector-jJDBC URL 里加上 allowPublicKeyRetrievaltrue 和 useSSLfalse驅(qū)動類名寫成 com.mysql.cj.jdbc.Driver。dependency groupIdcom.mysql/groupId artifactIdmysql-connector-j/artifactId scoperuntime/scope /dependency這里的版本號不用手動寫死Spring Boot 2.x 的依賴管理會自動選一個匹配 8.x 的版本。如果項目用的是更早的 Spring Boot那就直接在 pom 里寫一個較新的 8.x 版本號讓 IDE 重新導(dǎo)入即可。5.3 SQL 文件導(dǎo)入中文亂碼記事本打開過就廢了一半現(xiàn)象導(dǎo)入 SQL 后表里的中文注釋全是亂碼或者包含中文的字段值插不進去報錯。原因最常見的是有人用 Windows 記事本打開過 .sql 文件再保存時被轉(zhuǎn)成了 ANSI 編碼。另一種是導(dǎo)入時客戶端連接的字符集和文件編碼不一致。解決先用 VS Code 或 Notepad 這類能識別編碼的編輯器重新保存為 UTF-8。導(dǎo)入時在 MySQL 命令行先執(zhí)行 SET NAMES utf8mb4再用 source 導(dǎo)入。命令行導(dǎo)入時可以顯式指定字符集mysql -uroot -p housekeeping --default-character-setutf8mb4 housekeeping.sql判斷文件編碼的小技巧看注釋里的中文是否正常。如果正常基本可以確定編碼沒問題。如果文件頭是亂碼先轉(zhuǎn)碼再導(dǎo)入不要指望數(shù)據(jù)庫層面能兜住所有編碼問題。另外用 DBeaver 連接 MySQL 后如果表列表不顯示先檢查連接配置里選擇的 schema 是不是 housekeeping很多時候是默認(rèn)連到了別的庫。5.4 登錄后立刻被踢回登錄頁Filter、Session、context-path 三連現(xiàn)象登錄頁能打開賬號密碼也正確但跳轉(zhuǎn)后馬上又回到登錄頁或者頁面樣式全丟、CSS 加載不出來。原因這類系統(tǒng)通常有一個登錄攔截 Filter 或攔截器判斷 Session 里有沒有用戶信息。常見問題有三個攔截器把所有請求都攔了包括 /css、/js、/images 這些靜態(tài)資源登錄成功后 Session 寫入的 key 和攔截器檢查的 key 不一致項目部署帶了 context-path頁面里的跳轉(zhuǎn)鏈接卻是寫死的根路徑。解決先看攔截器注冊時排除了哪些路徑。常見做法是放行登錄頁、注冊接口和所有靜態(tài)資源registry.addInterceptor(new LoginInterceptor()) .addPathPatterns(/**) .excludePathPatterns(/login, /register, /api/user/login, /css/**, /js/**, /images/**);如果靜態(tài)資源放行了還跳回登錄頁多半是登錄成功后 Session 沒寫對。登錄接口里寫入 session.setAttribute(loginUser, user)攔截器里也必須是同一個 key大小寫、下劃線都不能差。至于 context-path 問題最簡單的驗證方法就是改配置后全局搜一下源碼里有沒有寫死 /xxx/ 的跳轉(zhuǎn)統(tǒng)一改成相對路徑或從 request 里拿上下文路徑。5.5 并發(fā)下單導(dǎo)致重復(fù)預(yù)約事務(wù)隔離讓“先查后改”形同虛設(shè)現(xiàn)象兩個人幾乎同時提交同一個阿姨同一時段的預(yù)約數(shù)據(jù)庫里出現(xiàn)了兩條記錄而頁面提示都顯示預(yù)約成功。原因把 4.2 的沖突檢查 SQL 放在“查詢再插入”的普通邏輯里在高并發(fā)下會有競態(tài)。兩個請求都先執(zhí)行了 SELECT COUNT(*)都發(fā)現(xiàn)沒有預(yù)約然后都執(zhí)行 INSERT。MySQL 默認(rèn)的隔離級別是 REPEATABLE READ兩個事務(wù)互相看不到對方未提交的插入于是各自認(rèn)為“空閑”。解決根據(jù)項目進度二選一。最直接的是在檢查時分兩步把“檢查時間”變成“鎖住時間”在事務(wù)里對阿姨某天的某個時段加鎖SELECT id FROM appointment WHERE worker_id #{workerId} AND service_date #{serviceDate} AND slot_start #{slotStart} FOR UPDATE;如果查詢返回空說明沒人預(yù)約可以安全插入如果有人預(yù)約這條 SELECT 會等鎖插入操作自然被阻塞。另一種更徹底的方案是加唯一索引讓數(shù)據(jù)庫在物理層面拒絕重復(fù)ALTER TABLE appointment ADD UNIQUE KEY uk_worker_slot (worker_id, service_date, slot_start);唯一索引方案需要注意它要求用戶下單時就把這個時段“占住”也就是先插入一條 status0 的待付款單付款成功后再更新為待服務(wù)。這樣同一個阿姨的同一個開始時間只能存在一條訂單重復(fù)插入直接被數(shù)據(jù)庫拒絕。代價是待付款的超時釋放邏輯必須跟著做好。6. 把“高分項目”變成“自己的項目”答辯前驗收與改造6.1 跑通不等于能用四個功能閉環(huán)先驗一遍拿到項目后不要急著改代碼先把四個閉環(huán)走完走到每一步都符合預(yù)期為止。用戶側(cè)閉環(huán)注冊新賬號登錄瀏覽服務(wù)項目選一個阿姨和時間提交訂單模擬支付看到訂單狀態(tài)從待付款變成待服務(wù)服務(wù)完成后確認(rèn)并評價。這一步能驗收 80% 的前后端聯(lián)通問題。服務(wù)側(cè)閉環(huán)用阿姨賬號登錄看到分配過來的訂單點擊開始服務(wù)再點擊完成服務(wù)。這里重點看狀態(tài)變化是否符合第四章的狀態(tài)機尤其是“服務(wù)中”能不能直接跳到“已完成”——能跳就說明代碼繞過了用戶確認(rèn)屬于需要修的 bug。管理側(cè)閉環(huán)管理員賬號登錄新增一個服務(wù)項目修改價格把項目下架查看全部訂單按狀態(tài)篩選如果有派單功能把訂單指派給指定阿姨。數(shù)據(jù)側(cè)閉環(huán)檢查訂單表里的金額、狀態(tài)、時間字段沒有明顯異常評價表的 order_id 和訂單能對上服務(wù)項目的價格修改沒有影響到歷史訂單的金額。這一條檢驗的就是第三章說的冗余設(shè)計有沒有真正落地。6.2 性價比最高的三個改造一天內(nèi)可以完成第一把 4.2 的沖突檢查從普通查詢改成事務(wù) FOR UPDATE 或唯一索引。這是最值得做的改造因為它直接消滅一個邏輯 bug還能在簡歷上寫“通過數(shù)據(jù)庫約束解決服務(wù)時段超賣問題”。配合一段測試過程演示效果極好。第二加訂單狀態(tài)日志表。每張表的操作都記錄操作人、時間、舊狀態(tài)、新狀態(tài)和備注并在用戶端訂單詳情頁展示一條狀態(tài)時間線。這個功能不復(fù)雜卻是很多項目缺失的答辯時點開一看評委就知道你做的不只是增刪改查。第三把模擬支付接口改成“回調(diào)式”?,F(xiàn)在很多項目是用戶點一個“模擬支付”按鈕直接把訂單改成已付款這個流程拿不上臺面。改造思路生成訂單后調(diào)一個模擬支付頁點擊“確認(rèn)支付”后請求層的 /api/pay/callback 接口回調(diào)里帶上訂單號和金額后端按第四章的方式做冪等處理。我做這類系統(tǒng)時吃過一次大虧演示當(dāng)天現(xiàn)場兩個賬號同時下單同一個阿姨的九點到十一點時段被預(yù)約了兩次訂單列表里兩條單并排躺著氣氛非常尷尬。后來我把唯一索引和狀態(tài)機補齊才真正體會到——所謂高分項目拼的不是頁面多漂亮而是這些邊界條件有沒有被堵死。后來帶新人跑通類似項目時我都會讓他們先把訂單狀態(tài)機畫出來再動手寫代碼。這個教訓(xùn)直接讓我在之后做任何管理系統(tǒng)時都把“狀態(tài)流轉(zhuǎn)是否合法”當(dāng)成第一優(yōu)先級的檢查項。希望這些步驟和坑能幫你把這個壓縮包變成一個真正敢在答辯時打開的系統(tǒng)。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99热这里只有精品首页| 5月婷婷激情在线| www.AV在线| 69婷婷丁香午夜| 久久久久九九九九视屏小说88| 婷婷丁香五月精品| 欧美激情伊人| 91AV婷婷| 日本五月天激情| 综合大香蕉| 婷婷综合中文字幕| 少妇高潮A片无套内谢麻豆传| 五月婷婷激情四月| 国产日韩欧美性生活| 99热午夜精品| 99精品成人无码A片观看金桔| 激情五月亚洲| 天色综合网站| 人人草成人视频| 香蕉综合网| www久久99| 久热这里只有精品66| a色婷婷| 亚洲婷婷基地| 开心五月深爱五月| 国产精品成人av在线观看春天| 一本久道综合99| 91N 一起草| 高清视频一区| 超碰9| 综合网五月天123| 亚洲欧美国产A片免费观看| 五月婷婷av| 五月花在线观看视频| Av性爱网站| 日本 欧美在线| av在线免费播放观看| 色综合久久88色综合天天99| 情情五月天色| 婷婷五月天深爱| 丁香色成人| 亚洲色99综合天堂| 七七久久婷婷| 激情综合另类| 五月黄色婷婷| 五月狠狠| 91精品久久久久久久久久久久| 五月丁香激情综合| 综合久| 婷婷丁香五月婷婷| 九九热在线视频| 色综合久久伊伊婷婷五月| 北京熟妇搡BBBB搡BBBB| 丁香六月婷婷| 日本操天堂| 色综合丁香婷婷| 狠狠操狠狠干综合| 综合久久五月天| 人人看人人摸人人| www.com五月天| 五月天婷亚洲综合在线嫩草网| 开心五月综合激情网| 婷婷丁香www视频日本韩国| 激情五月婷婷| 国产片XXXXA片国语对白| 欧美激情VA永久在线播放| 色综合久久44| 久久精彩视频| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 五月婷婷色色爱| 乱岳熟女50岁| 欧美色偷偷大香| 综合久久综合五月天婷婷| 五月开心播播网| 八戒青柠影视剧在线观看| 中文人妻AV久久人妻18| 婷婷九月丁香中文| 91无码高清| 九九大香蕉黄色影院| 啪啪婷婷五月天激情| 4438成人电影| 九九九九大香蕉| 色婷婷偷拍| 涩五月婷婷| 国产亚洲精品人人| 99性爱视频网站| 天天做天天爱天天要| 色色是色N一| 一起草Av| 六月色国内综合| 六月天六月婷| 欧美久久网| 九九色逼| 丁香五月-激情综合| 强奸幻女毛片| 国产亚洲色婷婷99精品| 五月婷婷六月综合| 67194国产| 久久婷婷色综合| 深爱激情五月网| 乱岳熟女50岁| 久久色五月| 婷婷亚洲五| 在线日韩视频| 久久五月天激情视频| 狠狠狠狠狠操| 丁香五月在线| www,黄色在线,con| sewuyuetingtingiii| 亚洲综合视频网| 色天天综合天天综合频道。| 99精品小视频| 成人做爰高潮A片免费视频| 99久久国产综合精品五月天喷水\| 五月丁香婷色| 亚洲日韩26uuu| 人妻无码精品一区| 精品一二三区久久AAA片| www超碰com| 91人人爱| 99热6这里只有精品6| 欧美爆乳一区二区三区| 五月丁香花视频| 成人免费120分钟啪啪| 97干在线看| 人人操Av| 婷婷伊人綜合中文字幕| www.婷婷五月天| 全部老头和老太XXXXX| 五月激情婷婷四射| sesesesezonghe| 五月草影视| 久久综合人妻| 婷婷日本色| 婷婷月综合| 婷婷丁香五月激情图片| 操99| 五月天社区| 五月激情五月婷婷五月天在线| 成人短视频在线观看| 国产精品24r| 亚洲sesesese| 日本九九九九| 久久视频婷婷视频| 婷婷五月中文在线| 校园激情 亚洲| 玖玖婷婷综合| 久久婷婷丁香五月宗合| 婷婷五月天高清无码| 五月婷婷与六月丁香图片激情| 色啪久 | 日本精品九九九| 日韩无码专区| 婷色五月天| 五月婷婷综合在线视频| 亚洲综合新99视频| 激情丁香五月| 五月丁香成人| 疯狂做受XXXX高潮A片| 五月天啪啪视频| 第四色婷婷色五月| 大香蕉伊人丁香五月| 五月婷俺去也| 五月天综合在线| 超碰在线观看9| 视频色色色色色色| 九九精品碰| 天天干天天干天天干天天干天天干天天干天天| 五月婷婷五月天| 任你搞在线观看视频| 韩国婷婷丁香五月| 狠狠狠狠狠干| 亚洲精品字幕| 亚洲传媒在线观看| 79色色色色| 噼里啪啦完整版中文在线观看| 激情综合五月天| 色五月大| 亚洲av网站在线观看| 九九热精品在线| 婷婷色综合中心站| 婷婷五月视频| 五月丁香婷婷啪啪综合| 色色五月天丁香婷婷| 欧美婷婷九月| www.91在线观看| 丁香五月色网| 91久久久久久| 又大又粗九一在线| 五月婷婷激情网| 五月激情婷婷综合| 五月丁香久人妻中文| 国产亚洲色婷婷久久99精品91| 色色五月天网站| 无码髙清| 丁香五月花婷婷开心| 亚洲操操操| 丁香五月六月久久综合 | 成人做爰黄A片免费看直播室男男| 9精品视频在线观看| 超碰人人91| 丁香五月激情网| 丁香五月色网| 99爱免费在线观看| 亚洲精品444久久久久久| 色 五月俺去也| 99re最新地址| wWW九九在线播放| 国产综合色婷婷精品久久| 超碰91人人操| 色伦专区97中文字幕| 欧美va亚洲va在线播放| 日本nghangse中文字幕| 夜夜 操无码| 日韩999| 天天艹夜夜艹| 五月色天情| 91在线视频综合| 99热这里只有精品2| 人妻性爱av网站| 国产午夜成人AV在线播放| 久久99这里只有精品视频| 精品无码片| 97影院一级片| 九九热在线视频,| 五月天激情图片网| 激情第四色| 久热这里只有精品视频免费观看| 伊人久久综合| 婷婷五月天电影在线| 99国产精品白浆在线观看免费| 六月丁香婷婷开心综合基地| 色婷婷综合在线| 五月天婷婷成人网| 五月婷婷丁香在线| 性欧美日本| 午夜天堂啪啪| 99热无码首页| 丁香5月综合啪啪| 在线sebiav精品视频| 亚洲综合久| 天天草天天舔| 青青久久91| 91久热| 亚洲五月天婷婷综合| 中文AV在线播放| 影音先锋91在线资源站| 丁香久久| 中文AV在线观看| 婷婷五月天无码视频| 久久五月天 91| 久热这里只有精品6| 丁香五月婷婷在线视频| 999激情视频| 天天舔天天爽| 久久少妇视频| 婷婷5月开心6月| 99五月婷| 丁香五月97视频| 91chinese在线| 大香蕉欧美在线| 色欲丁香久久| 狠狠草天天草| 色色色激情| 91丨九色丨国产在线| 五月婷在线| 五月天丁香成人| 婷婷五月色亚洲| 九九热a| 色婷婷AⅤ| 思思久久96热在精品国产,| 欧美啪啪9| 色婷综合| 国产亚洲精品久久久久久久久动漫| 久久久五月激| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 久久婷婷五月天激情新地址| 久久久久8888| 激情文学 综合 九月| 欧美色五月| 激情色色| 久久激情五月| 久草狼人| 亚洲综合久| 99er这里只有精品视频| 亚州激情九月| 丁香五月婷婷激情完整版| 久热大香蕉| 五月天丁香综合| 天天爱天天做天天操| 狠狠五月激情婷婷直播片| 五月丁香手机在线| 亚洲另类婷婷五月丁香在线播放| 亚洲性受XXXX五月丁香| 天天日天天插天天操| 久久大香蕉同僚| 日韩久综合| 丁香五月激情综合久久| 中文字幕av网站| 99久操视频| 天天做天天爱天天爽| AV人人操| 久久婷婷内射| 色婷婷网| 中文字幕人妻熟女在线| 婷婷综合网站| 开心五月婷婷99| www.婷婷,com| 欧美丁香五月| 伊人五月综合网| 婷婷色五月婷| 五月丁香影院| 五月丁香激情综合| 久久91久久精品久久| 香蕉AV777XXX色综合一区| 欧美性做爰大片免费看办公室| 991国产精选视频在线播放下载| 可以免费观看的av| 婷婷婷婷婷婷婷五月丁香| 婷婷王月天影院| 六月婷婷九月丁香亚洲综合| 久久五月婷婷丁香| 久久婷婷亚洲| 少妇搡BBBB搡BBB搡毛茸茸| 97色干| 丁香五月婷婷色| 另类激情五月| www.天天干| 激情综合网激情五月丁香五月俺也去| 丁香五月天AV在线 | 最新激情五月天| 国产免费av在线| 色月九九| 丁香五月在线视频| 免费观看的婷婷五月视频在线| 色五月激情| 激情四射婷婷| 99在线精品免费视频| 伊人婷婷福利网| 五月丁香偷拍| 色波激情五月天| 色五月婷激情| 超碰人人射| 色色五月天丁香| 日本三级黄色大片| 日韩无码成人电影| 日本99婷婷| 99久在线精品| 99只有这里是精品| 操一区| 亚洲亚洲人成综合网络| AAA久久久AAA久久久AAA| 色婷婷久久| 五月婷婷色播视频| 婷婷五月视频| 欧美精品18| 区欧美日韩成人| 色女人久久| 玖玖五月丁香| 天天日综合网射| 天天添天天摸天天天天做| 97干婷婷| 97碰碰草| 色色网站免费在线视频| 久久538| 97人人射| 超碰com| www.思思99热| 综合色播| AV在线观看网站| 操逼123网| 六月综合在线| 大香焦A∨| 久操大香蕉| 五月激情丁香久久综合网| 精品免费99| 色色射| WWW,五月| 婷婷五月天色综合翘| 丁香五月婷在线| 婷婷色基地| 亚洲综合色色色| 婷婷五月综合基地| 久er7久热| 武汉美女啪啪视频免费一级片| 欧美久久婷婷| 正宗黄色毛片| 在线可以看的av网址| 丁香五月欧美| 加勒比日本一区二区三区| 丁香久色| 99热久久这里只有精品| 午夜天堂啪啪| 久99在线视频| 91精品啪| 99在线小视频| 欧美激情 日韩无码 婷婷 五月天| sS丁香五月婷婷| 91丁香五月| 在线亚洲综合网| 欧爱综合视频| 五月丁香六月婷| 女婷久久| 丁香五月性| 青青久久大香蕉| 五月综合精品| 欧美日韩成人| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 欧美WW在线网| 婷婷五点亚洲| 欧美日本不卡黄色片| 色综合天天网| 色伦专区97中文字幕| 五月丁香网视频| 久久精品4| 激情五月天色婷婷综合| 男女免费视频999| 国产色香蕉精品五夜婷| 亚洲狠狠干| 色八戒操婷婷| 色在线视频网2025| 亚洲无码黄色| 99狠狠| 久Se视频在线观看| www.色综合.com| 99热这里有精品首页10| 婷婷色在线观看| 丁香五月网| 久久精品五月天| 亚洲中文字幕AV在线| 玖玖五月丁香| 五月天激情视频五月天| 国产免费一区二区三区三州老师F1F1.CC| 大香蕉九九| 精品人妻一区| 色综合久久久久久久久五月| 五月天婷婷日日爱| 久婷婷五月综合欧美| 色偷偷AV亚洲男人的天堂| 色婷婷电影网| 欧美激情-区二区三区| 97视频91| 久婷婷久草| 丁香婷婷久久 | 少妇人妻偷人精品无码视频新浪| 99福利导航| 六月婷五月丁香| 欧美日本黄色| 免费观看2018www黄色操逼网站| 久99久99精品免| 米奇影视资源婷婷狠狠色激情欧美五月丁香| 色播五月综合网| 狠狠爱深色婷婷综合| 丁香久久| 日本婷婷色| 日韩色色色色色| 五月婷婷在线综合| 亚洲激情婷婷| 拍真实国产伦偷精品| 丁香激情合作五月| 三级99热| 噜噜在线| 日日操夜夜骑| 婷婷丁香五月天婷婷| 99国产精品久久久久久久久久久| 深情五月天| www.婷婷亚洲基地| 亚洲午夜在线视频| 一月婷婷色色| 五月婷婷综合色啪首页| 国产日韩av片| 亚洲字幕AV一区二区三区四区| 26uuu另类| 91视频免费后入强操| 激情五月婷婷网| 亭亭社区五月天| 99精品久久久久久久| 九九亚洲| 婷婷五月婷婷| 色婷婷六月激情| 五月婷婷丁香网| 激情九月婷婷| 日本色色网站| 色综色五月天婷婷| 日日骑夜夜撸| 丁香五月激情月| 婷婷色导航| 丁香六月婷婷综合缴| 99热最新网址| 婷婷亚洲久久| 成人网在线观看视频| 98色花堂98t.R| 我淫我色婷婷五月天激情四射| 丁香色婷婷| 丁香五月婷婷性爱| 中文资源在线a | 岛国资源站| 久久久婷| 五月玖玖| 天天爽天天爽视频| 久久成人综合五月天| 女同激情久久av久久| 精品久9| 五月婷婷AV| 这里只有精品视频在线| 中文字幕欧美日韩VA免费视频| 亚洲亚洲亚洲AAAAAA| 五月天社区婷婷丁香社区| 99在线精品免费视频| 丝袜激情网| 欧美成人精品老美女噜噜噜| 思思热思在线精品视频| 五月丁香激情啪啪| 91精品又长又大又粗又爽又猛| 丁香情色五月| 色色无码| 超碰免费人妻| 中文字幕激情综合| 开心网五月色婷婷| 色色欧美色色| 日本激情五月| 99爱免费视频在线观看| 色国产五月| 99精品国产在热久久| 在线观看亚洲AV| 色综合99色| 99热这里有精品| 另类精品视频在线观看| 五月丁香性| 开心五月深爱五月丁香五月激情五月| 婷婷五月综合中文字幕| 人妻丰满精品一区二区A片| 伊人久久艹| 亚洲啪啪网| 久久这里只有精品99| 亚洲国产va| 日韩精品色| 五月永久激情| 久久这里只有精品视频26| 思思久ren热| 色五月婷婷五月丁香五月激情五月视频| 国产综合视频婷婷| 亚洲视频无| 性色综合网| 婷婷丁香综合在线| 九九热青青草| 99九九在线视频| 伊人玖玖网| 婷婷刺激综合| 天堂资源欧日浪女在线播放| 粉嫩av蜜桃av蜜臀av| 99热免费精品| 五月天激情综合网俺也去| www.黄色片-久久成人国产精品在线播放-999AV | 丁香婷婷啪啪| 久久这里只精品| 91九色精品熟女内射| 99亚洲视频| 五月天综合在线| 国产超碰在线| 久久se 综合网| 日韩99无码| 一本色综合色| 曰本aaaaaa丈片| 91视频久久久| 97人人操人人爽| 草美女在线观看视频在线播放| 婷婷另类开心| 91干在线视频| 97影院一级片| 天天综合色丁香| 天天色,天天操,天天射| 五月丁香在线婷婷美女| 综合狠狠干| 97精品综合| 中文字幕乱码亚洲精品一区| 大大香蕉综合在线| 激情丁香六月| 538久久| 婷婷五月天激情综合婷婷五月天激情综合| 日逼免费视频| 亚洲欧美婷婷五月色综合| 色情五月丁香| 四川女人毛多水多A片| 丁香av网| 99视频自拍| 色必久悠悠影院| 美女妹子后射视频网站在线观看| 五月丁香成人| 97色婷婷| 亚洲旡码| 五月天激情图| 激情九月综合| 天天色中文字幕女优AV| www.婷婷亚洲基地| 青青草视频福利| 九九人人精品| 激情文学综合婷婷五月天丁香花| 五月天婷婷情色| 色色色精品无码区| 亚洲激情综合| 欧美丰满熟妇BBB久久久| 九月大香蕉| 亚洲综合网区| 婷婷丁香五月,狠狠综合| 天天天天干| www.婷婷| 天天日,天天干,天天操| 欧美性爱丁香五月| 丁香五月婷婷啪啪| 五月天亚洲色| 欧美人与性动交CCOO| 懂色av蜜臀av粉嫩av永陈冠希| 激情色中文| 五月婷av| 无码激情AAAAA片-区区| 91色九| 婷婷综合五月色播| 99精品综合| 欧美婷婷综合网| 日本va网站| 9l视频自拍9l视频自拍九色学生| 国外亚洲成AV人片在线观看| 欧美日朝成人| 欧美日韩aaaa| 免费做A爰片77777| 超碰97人人操| 激情五月天综合| 亚洲精品又粗又大又爽A片| 五月丁香久人妻中文| 日韩精品无码99| 国产精品色色| AV在线免费播放| 婷婷色基地| http:色情日本com| 国产99美少妇| 婷婷丁香五月综合| av激情在线| 永久AⅤ1| 91在线操逼视频| 婷婷久久丁香五月| 这里只有精品视频在线| 五月天婷婷网站| 色狠狠伊人久久五月丁香| 日本色色网| 九九色区| AVDV久久| 一级性爱大片| 99热只有精品在线观看| 人妻肉射免费观看| 色婷婷狠狠| 97人人草| 5月丁香啪啪啪| 超碰色综合| 天天操夜夜操| 99热丁香五月| 六月婷婷色色色| 亚洲免费av观看| 九九99精品视频在线观看| 色五月婷婷成人| 亚洲射激情| 风流少妇A片一区二区蜜桃| 亚洲热手机在线观看| 久久这里只有精品22| 日韩AV免费电影在线播放| 色综合99| 思思热在线观看| 黄网在线免费观看| 伊人啪啪网| 丁香五月性| 亚洲色网络| 青草网在线观看| 婷婷五月天亚洲| 五月天激情小说| 九月婷婷激情| 婷婷五月天激情综合| 五月天丁香综合| 激情性爱五月天| 五月丁香色色网| 青青草性爱视频| 五月天婷婷社区| 五月婷婷六月丁| 99网| www.亭亭五月天| 综合99在线| 九九热在线精品视频| www.婷婷com| 97色色在线视频| 91婷婷五月丁香碰| 99热精品在线免费观看| 亚洲无码www| av在线观看免费| 六月婷婷深深爱| A片试看120分钟做受图片| A网在线欧洲| 超碰AV成人| 狠狠丁香| 五月激激网w'w'w| 99色最新在线视频网站| 2020日日干| 亚洲色视频| 天天干天天干天天干天天干天天干天天 | 欧美综合激情| 丁香婷五月天开心六月| 青草青草久热这里只有精品| 国产69久久久欧美黑人A片| 亚洲第一视频 久久| 婷婷丁香六月天激情四射网| 六月久久婷婷| 婷丁香五月天| 99视频在线啪| 思思热99热| 天天狠狠色综合| 六月丁香婷婷色狠狠久久| 在线视频99| 久久6这里只有精品| 色综合网页| 91超级碰| 婷婷五月天激情影片| 99ri精品在线| 丁香六月综合激情| 色噜噜狠狠色综合日日| 亚洲有码在线视频| 九九在线精品| 青草激情综合| WWW,激情五月天,COM| 狠狠婷婷色综合| 五月天伊人综合| 丁香六月激| 久在线综合69| 五月开心网| 色吧五月婷婷| 99热视| 久久婷婷丁香五月宗合| 色欲一区二区三区精品A片| 激情五月天综合网| 九九热在线视频,| 婷婷九月亚洲| 久久XX日本综合| 天天干夜夜谢| AV在线免费播放| AA片在线观看视频在线播放| 色色色婷| 婷婷六月丁| 婷五月丁香| 久久人人超| 在线不卡的视频| 五月综合激情婷婷六月色窝| 91人人操.COM| 夜夜干 夜夜操| 丁香五月婷婷久久久| 国产精品色婷婷久久久精品| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 天天爽天天日人人爱| 久久激情五月网| 五月停停大香蕉| 天天爽夜夜操| 亚洲情色一区| 桃色五月天| 婷婷综合伊人丁香| 五月婷伊人| 五月天激情四射| 欧美天天搞| 99视频| 天天日夜夜爽| 五月天婷婷色| 青青草原亚洲天堂| 天天干,天天日| 婷婷五月天中文字幕| www.粉嫩av.com| 九九RE视频在线精品| 五月婷婷成人| Www.狠狠| 九九热91| 看久久性爱99视频| av九九| 婷婷六月色情| 伊人超碰在线| 91色性感五月婷婷丁香| 欧美性生交XXXXX无码小说 | 色色射| 色五月婷婷少妇人妻| 99re热精品在线视频| 日日噜噜夜夜狠狠久久丁香六月| 大香蕉九九热| 亚洲精品另类| 激情骚五月| 婷婷色五月天色| 欧美啪啪网| 色射7856五月天激情四射| 丰满少妇乱A片无码| 久9视频| 亚洲成人免费在线| 婷婷色色网| 精品久久久人妻| 婷婷六月啪啪| www激情| 色五月婷婷网| 九八Av| 五月婷婷很很色| 色逼综合网| 久久日本wwww色| 婷婷婷五月香蕉| 五月丁香婷婷欧美色图视频五月丁香777电影 | AV操操操| 超碰在线成人| 国产偷人爽久久久久久老妇APP | 亚洲色色色| 日本久久婷婷| 久久婷婷视频| 伊人99热| 东京热五月婷婷| 丁香六月激情| 五月Huangsewang| 岛国av电影网站| 精品少妇蜜臀91| 婷婷丁香五月在线播放| 这里只有精品免费视频| 欧美在线视频免费播放| 色婷婷六月天| 久久婷婷五月天| 丁香五月电影| 最近免费中文字幕大全高清大全1| caop视频| 99热一本久道| 伊人婷婷五月天av| 99九色视频在线观看| 综合久色五月| 99热这里只有精品18| 丁香五月六月婷婷综合| 色五月在线播放| 精品国产乱码久久久久久免费| 欧美在线ee日韩| 婷婷五月色图| 久久久久久天天日天天爱| xxx综合在线| 五月婷婷综合丁香视频| 120分钟婬片免费看| AA片在线观看视频在线播放 | 日本一级淫| 色婷婷无吗| 伊人久久大香天蕉亚洲特级| www.99在线| 丁香五月天综合网| 99re视频在线播放| 国产99久久久国产精品免费看| 99在线一区| 欧亚洲在线高清视频| 五月丁香六月婷婷在线播放| 99热精品免费| www.激情| 嫩草国产| 色噜噜狠狠色综合日日免费| 免费视频99| 99热精品在线播放| 五月综合激情啪啪啪啪啪| 丁香五月手机在线| 亚洲麻豆乱码国产2028| 色综合中文| 婷婷婷婷午夜| 深夜男女福利刺激影院一区| 国产色五月| 成人 在线 日韩| 亚洲丁香五冃97色| 婷婷五月天国产精品| 国产VA亚洲VA96| 婷婷丁香五月天在线视频| 婷婷六月天激情| 亚洲精品V天堂中文字幕| 香蕉久日夜| 99色婷婷视频| 丁香六月婷婷综合缴| 91久久婷婷| 五月婷婷9| 色五月久久成人婷婷| 综合性爱网| 丁香五月大香蕉在线99| 99免费视频久久| 伊人玖玖婷婷| 99视频热99| 色五月丁香五月五月婷婷| 日本美女五月天| 婷婷丁香18| 都市激情蜜桃婷婷五月天| www.99日本| 第四色色色色色丁香五月天| 五月婷婷六月丁香激情深爱| Www.婷婷五月| 五月天综合网| 色婷久久| 色丁香六月| 色呦精品| 青草性爱视频| 狠狠狠狠狠狠狠狠| 99人人干人人| 欧洲激情精品婷婷| 色情终和网| 国产裸舞福利资源在线视频| 欧美综合五月丁香六月婷| 亚洲成人AV一区在线观看| 五月丁香狠狠爱婷婷综合| 思思久久精品| 久久综合中文| 黄网免费观看| 玖玖婷婷色五月| 2025色婷婷| 国产精品成人网址| 99这里只有精品在线观看| 99热精品在线在线| 伊人网欧美在线男人天堂五月丁香| 五月丁香花视频| 日韩精品电影| 激情五月婷| www夜夜操com| 婷婷色影音天| 色婷五月天亚洲| 免费婷婷| 人人操插| caop在线视频| 91凹凸在线| 久久WW| 日本久久人| 五月丁香六月激情综合| 色婷婷文字幕| 欧美激情综合色综合啪啪五月| 91精品视频男人的天堂| 婷婷五月亚洲一本在线丁香| 99国产精品久久久久久久久久久 | 丁香五月www| 丁香五月23111| 日碰日| 新激情五月天色播| 9久9久9久女女女九九九一九| 久久这里只有欧美| av五月天婷婷丁香| 色婷婷视频在线| 97色视频网| 五月婷婷丁香五月| 久久色五月天| 99热青青草| www.日本91| 人妻AV中文系列| 综合视频久久| 色综合色五月| 亚洲va日| 天天狠狠综合精区| 六月色播| 六月丁香啪啪啪| www.婷婷| 五月色婷婷综合丁香精品无遮挡| 熟妇人妻中文字幕无码老熟妇| 色婷婷综合五月| 丁香激情五月| 天堂婷婷丁香六月网| 成人va在线| 国产精品电影网| 超碰人妻在线| 婷婷五月天久久久| 九九这里只这里只有精品| 7EzOBIhNq85TO| 综合色五月| 婷婷午夜精品久久久| 激情久久久久久久久| 色婷婷五月天中文字幕| 国产毛片精品一区二区色欲黄A片| 色人妻五月| 九月av| 婷婷社区五月天| 99九九视屏| 在线观看视频1区| 五月丁香六月激情| 丁香五月天在线观看视频| 嫩草极品| 日本色五月| 天天开心天天色| 99婷五月| 婷婷激情视频欧美视频自拍视频欧美剧| 操操天堂| 五月久久噜噜| 婷婷五月综合色小姐小说| 午夜婷婷久久 | 99久久婷| 操嫩逼电影| 婷婷丁香五月91| 五月丁香色综合| 欧美25p| 在线国产精品色| 色天使久久综合| 婷婷91| 免费视频1区| 五月天伊人久久久久| 久一这里有精品国产| 五月天激情图片网| 99热9| 五月婷婷五月天在线| 婷婷六月丁香在线| 97日本在线| 亚洲成av人影院| 久艹大香蕉| 777.色色| 在线观看免费狠狠色丁香香综合 | 欧美成人日韩| 玖玖精品视频99| 欧美天堂久久| 九九爱激情| 色综合大香蕉| 思思精品久久艹| 九九99热| 日韩AC在线免费观看| 色色色色色色网| 九九热这里| 婷婷成人丁香色情基地30| 婷婷激情性爱| AV在线二十六页| 久久综合99| 超碰狠狠色| 激情五月丁香婷婷夜夜操| 超碰AV成人| 琪琪色网在线| 人人摸人人干| 99热主页日本| 五月丁香六月婷婷久久| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网 | av网站不卡在线| 日韩视频99| 婷婷五月丁香欧洲| 深夜A片| 色婷婷综合中心| 在线中文av| 99人人操人人操人人精| 性爱技巧五月| 另类激情中文| 99在线资源| 日本va欧美va国产激情| 天天天摸夜夜夜玩| 激情的五月| 激情深爱综合| 激情六月丁香| 综合色吧| 美女爆乳18禁www久久久久久| 亚洲综合另类| 中文字幕在线播放视频| 色色色在线观看| 天天透天天爱| 亚洲精品午夜国产va久久成人| aaaaaa片| WWW色综合| 夜夜夜天天操| 国产99美少妇| 久久五月视频| 久久婷婷丁香五月一二三| 激情文学 综合 色| 五月天色婷好好| 九九热免费观看视频| 开心亚洲久久开心| 丁香五月六月婷婷自拍| 亚洲综合色丁香婷婷六月| 色青青视频| wwwC0maV五月花| 五月激情婷婷开心| 五月天另类视频| 九九热精品| 五月丁香亭亭操逼| 激情性爱五月天| site:pnnrt.com| 五月婷婷六月激情| 国产一级视频a| 丁香五月色激情| 91性人人| 六月丁香av| 婷婷丁香射射| 丰满人妻一区三区三区| 国产精品婷婷午夜在线观看| 九九99一区| 日日干日日| 99视频在线| 五月丁香啪啪啪| 超碰在线50| 99啪视频在线观看| 久碰婷婷视频| 开心五月天私房婷婷| 色婷婷伦理| 婷婷婷婷婷开心无码播放| www.五月天婷婷| 久热免费视频| 九九综合影音先锋| 伊人婷婷91| 久久性视频| 婷婷五月开心中文字幕色| 不卡影院午夜理论片| 亚洲人成色A777777在线观看| 狠狠色婷婷7777久| 精品国产一区二区三区四区阿崩 | 婷婷深爱五月| 五月婷婷操操| 日本WWW九九九| 五月激情久久| 色婷婷综合在线| 成人欧美日韩| 79亚洲精品少妇| 九九亚洲视频| 婷婷五月av| 538在线精品| 婷婷综合一二三| 久久五月天合网| 激情六月婷| 97av在线视频| 一级AV片| 美女激情综合| 五月丁香婷婷六月天| 狠狠干在线| 一起草AV| 99九九99九九九视频精品| 97在线/亚洲| 五月婷婷色情| 久9视频| 影音先锋色婷婷| 亚洲精品久久久无码| 东北黄色一级| 婷婷色五月天第7色| 这里只有精彩视频| 开心婷婷五月| 久草狼人| 丰满人妻一区三区三区| 99免费热视频在线| 婷婷五月天第四色| 久久伊人日日夜夜| 久久婷婷五月草视频在线播放| 人妻射精AV| 久久er这里只有精品| 婷婷五月色情天| 噜噜噜噜噜久| www.主妇. com| 天天爱天天日| 成年AAAA色情| 欧美天天干五月丁香| 国产日批视频| 爱草视频在线观看| 色婷婷五月婷婷五月婷婷五月| 五月天婷婷网站| 亚洲精品五月| 人人草人人视| 婷婷五月天色播| 天天干天天做| 婷婷亚洲影院| 婷婷五月天综合网| 内射干少妇亚洲69XXX| 九九九激情网| 五月丁香婷婷综合网色欲| 天天综合色丁香| 激情四射网| 99国产小视频免费观看| 久月丁香爱婷婷综合| 久久综合伊人综合在线| 天天狠狠色| 激情综合激情综合| 色射影院| 五月婷婷丁香六月| 九九婷婷热| 91久草五月天婷婷| 九九九九国产| 色综合色欲综合天天免费| A久网| 欧美色色色色色色色色色色| 国产精品大香蕉| 青草青草视频2免费观看| www,setingting| 狼人婷婷综合| 深爱激情网五月| 亚洲色婷婷视频| 亚洲六月婷婷| 婷婷丁香社区| 黄色99热| 精品乱码视频| 开心五月色婷婷综合开心网| 天天爽夜夜操| 婷婷激情图片| 伊人激情综合| 丁香婷婷黄网站| 人人干AV| 婷婷久久精品| 无码日本精品XXXXXXXXX | 色玖玖网| 性爱网久久| jiqingliuyuetian| 日本综合色图| 婷婷热色| 这里都是精品99| 亚洲欧美一区二区三区四区爱爱动图| 秋霞A V毛片| 99免费超碰在线| 91婷婷色五月| 国产精品婷婷午夜在线观看| 色综合综合色| 色天使久久综合| 人妻AV在线| 婷婷播5月| 91欧美| 五月丁香婷婷综合视频| 91啪级电影| 久久婷丁香五月| 男人大jjc女人免费视频| 九九九色综合| 久久一热| 成熟妇人A片免费看网站| 激情九色| 能直接看的AV网站| 色婷婷色99国产综合精品| 色婷婷色综合| 森林影视大全,最好看的2019年视频 | 六月丁香婷婷五月天| 五月丁香婷婷免费视频| seav天堂| 99噜噜噜在线播放| 先锋资源91| 成人va在线| 人人添人人| 人人摸人人干| 五月丁香六月激情综合 | 99自拍视频在线观看| 天色色综合网| 日韩AAA| 99热8| 激情久久五月天| 狠狠色噜噜狠狠狠888| 亚洲狠狠终合停停终合| 欧美大奶熟女噜噜噜噜| 成人AV在线电影| 99色日本| 中文av网| 婷婷综合玖玖五月| 丁香五月丁香伊人| 婷婷五月天成人| 九九熱最新視頻| 综合网色| 久9久9久9久9久9久9| 亚洲色色色| 国产精品视频网| 五月丁香亚洲婷婷| 一区二区无码视频| 久久机只有这里精品| 中文字幕人妻熟女在线| 丁香六月婷婷综合激情欧美 | 九九色欲网| www.99精品视频| 激情五月影院| 婷婷丁香五月天大香蕉| 九九热这里只有精品在线观看| 91男人操女人视频| 亚洲综合五月天综合| 一本道在线电影| 好吊丝aV| 国产精产国品一二三在观看| 六月婷五月丁香| 亚洲深喉AV| 丁香五月天五码婷婷| 婷婷五月天 丁香五月天 裸体| 草婷婷在线| 色五月婷婷在线观看第一页舔| 五月丁香婷婷中文网| 久久五月婷婷综合网| 99精品久久久久久久婷婷久久| 黄色片avv| 草逼大片| 九九99香蕉在线视频播放| 久久99久久99精品免观看粉嫩|