99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

畢業(yè)設(shè)計(jì)實(shí)戰(zhàn):沙縣小吃點(diǎn)餐系統(tǒng)從業(yè)務(wù)建模到部署避坑全指南

畢業(yè)設(shè)計(jì)實(shí)戰(zhàn):沙縣小吃點(diǎn)餐系統(tǒng)從業(yè)務(wù)建模到部署避坑全指南 簡(jiǎn)介沙縣小吃點(diǎn)餐系統(tǒng)完整源碼與畢業(yè)論文打包面向計(jì)算機(jī)相關(guān)專業(yè)畢業(yè)設(shè)計(jì)或課程設(shè)計(jì)人群可作為基于JavaWeb與MySQL的典型管理系統(tǒng)開(kāi)發(fā)參考。資源覆蓋管理員、用戶及前臺(tái)首頁(yè)三個(gè)操作端涉及小吃信息、門(mén)店信息、預(yù)約信息、訂單與購(gòu)物車等模塊角色權(quán)限與業(yè)務(wù)流程劃分清晰功能體系適合入門(mén)級(jí)二次開(kāi)發(fā)。壓縮包內(nèi)共1337個(gè)文件約20.17MB以js、jsp、css、html等前端頁(yè)面和動(dòng)態(tài)資源為主配合java源碼、sql數(shù)據(jù)庫(kù)腳本、配置文件及docx論文便于直接部署運(yùn)行和繼續(xù)完善。已有69人瀏覽學(xué)習(xí)適合需要快速搭建餐飲點(diǎn)餐類系統(tǒng)、理解分角色管理或參考論文結(jié)構(gòu)的讀者。附帶數(shù)據(jù)庫(kù)腳本和完整目錄結(jié)構(gòu)可降低從零搭建環(huán)境與梳理業(yè)務(wù)的時(shí)間通過(guò)源碼注釋能快速定位關(guān)鍵邏輯同時(shí)論文部分也有助于開(kāi)題或答辯環(huán)節(jié)參考。1. 沙縣小吃點(diǎn)餐系統(tǒng)源碼論文.zip畢業(yè)設(shè)計(jì)里最容易被低估的一個(gè)題目拿到「沙縣小吃點(diǎn)餐系統(tǒng)源碼論文.zip」這個(gè)資源包的同學(xué)多半是正在做課程設(shè)計(jì)或者畢業(yè)設(shè)計(jì)。乍一看這題目平平無(wú)奇——不就是個(gè)點(diǎn)餐的 CRUD 嗎但真把需求拆開(kāi)沙縣小吃這個(gè)場(chǎng)景比「網(wǎng)上訂餐系統(tǒng)」難做不少店內(nèi)座位要并臺(tái)、菜品有套餐拆分、高峰期一桌十幾種單品同時(shí)下單、后廚出餐要按桌聚合這些全都要在系統(tǒng)里落成一張張表和一行行業(yè)務(wù)代碼。很多同學(xué)答辯翻車就是栽在「把沙縣當(dāng)普通餐廳做」上。這個(gè)資源包能替你解決兩件事一是給你一套能跑的源碼做底子二是給你一篇結(jié)構(gòu)和字?jǐn)?shù)都達(dá)標(biāo)的論文做模板。但直接解壓、改個(gè)名字就交查重和工作量這兩關(guān)都過(guò)不去。這篇筆記就按我自己的習(xí)慣把這個(gè)題目從業(yè)務(wù)建模一直拆到部署驗(yàn)證幫你把它變成真正能講清楚、能當(dāng)場(chǎng)演示、敢讓老師隨便點(diǎn)問(wèn)的方案。2. 先把業(yè)務(wù)拆清楚點(diǎn)餐系統(tǒng)的數(shù)據(jù)流和狀態(tài)機(jī)2.1 從「下單」到「出餐」一條訂單要過(guò)幾個(gè)狀態(tài)沙縣小吃點(diǎn)餐這件事表面看是「顧客點(diǎn)菜、后廚做菜、前臺(tái)收錢(qián)」但落到系統(tǒng)里訂單要拆成幾個(gè)明確的狀態(tài)否則你沒(méi)法回答「有個(gè)訂單卡住了現(xiàn)在到底到哪一步了」。我一般會(huì)用狀態(tài)字段去驅(qū)動(dòng)整條流程狀態(tài)枚舉放在后端前端只根據(jù)狀態(tài)渲染按鈕。一條完整訂單的狀態(tài)流轉(zhuǎn)是這樣的待支付 → 待出餐 → 制作中 → 待取餐 → 已完成外加兩個(gè)終止態(tài)「已取消」和「已退款」。每個(gè)狀態(tài)變更都對(duì)應(yīng)一個(gè)業(yè)務(wù)動(dòng)作待支付是下單動(dòng)作的終點(diǎn)支付回調(diào)把訂單推到待出餐后廚大屏或者出餐口點(diǎn)擊「開(kāi)始制作」訂單從待出餐變成制作中出餐完成點(diǎn)擊「出餐」訂單變成待取餐顧客取走之后訂單變成已完成。這套狀態(tài)機(jī)寫(xiě)進(jìn)論文的用例圖里比寫(xiě)「系統(tǒng)支持訂單管理」這種話有說(shuō)服力得多。2.2 桌臺(tái)、菜品、套餐與口味沙縣場(chǎng)景下的數(shù)據(jù)建模沙縣小吃的業(yè)務(wù)有幾個(gè)很具體的點(diǎn)別的餐飲系統(tǒng)大概率不會(huì)這么設(shè)計(jì)。首先是并臺(tái)兩撥人拼一張桌子各自點(diǎn)各自的菜最后可能各結(jié)各的賬也可能 A 桌幫 B 桌一起結(jié)了。所以桌臺(tái)和訂單的關(guān)系必須是「一個(gè)桌臺(tái)可以掛多個(gè)訂單」而不是訂單上只放一個(gè)桌號(hào)字段。其次是套餐拆分。一份「雞腿飯」在菜單里是一個(gè)商品但后廚要看到的是「雞腿 米飯 配菜」的拆分結(jié)果不然沒(méi)法備料。常見(jiàn)做法是引入「套餐模板表」套餐下單時(shí)按模板展開(kāi)成子項(xiàng)后廚端看到展開(kāi)后的明細(xì)。還有一個(gè)沙縣特有的東西——口味和加料比如「拌面要花生醬多一點(diǎn)」「餛飩不要蔥」這類備注不能塞進(jìn)商品表得單獨(dú)存訂單明細(xì)的擴(kuò)展字段里。我在做這類課設(shè)項(xiàng)目時(shí)的表結(jié)構(gòu)一般是八張表起用戶表、桌臺(tái)表、菜品分類表、菜品表、套餐明細(xì)表、訂單表、訂單明細(xì)表、支付記錄表。再加一張操作日志表用來(lái)記錄誰(shuí)在什么時(shí)候改了什么狀態(tài)。這九張表夠?qū)懸黄蝗f(wàn)字的論文也不會(huì)顯得堆砌。2.3 狀態(tài)機(jī)與并發(fā)為什么兩個(gè)服務(wù)員同時(shí)開(kāi)臺(tái)會(huì)翻車如果你只是單機(jī)、單用戶操作狀態(tài)機(jī)怎么寫(xiě)都無(wú)所謂。但演示的時(shí)候老師可能會(huì)問(wèn)「兩個(gè)服務(wù)員同時(shí)在兩個(gè)瀏覽器上操作同一張桌子系統(tǒng)會(huì)不會(huì)出問(wèn)題」這個(gè)問(wèn)題背后是并發(fā)控制也是論文里值得寫(xiě)的一節(jié)。最常見(jiàn)的坑是超賣和重復(fù)下單。超賣發(fā)生在套餐場(chǎng)景——菜單里寫(xiě)「腿排飯今日限量 30 份」前臺(tái)兩個(gè)人同時(shí)下單都讀到剩余 30各自扣 1數(shù)據(jù)庫(kù)里就變成 29實(shí)際賣了 2 份但庫(kù)存扣了 1不對(duì)是庫(kù)存扣減丟了一次更新。重復(fù)下單發(fā)生在「提交訂單」按鈕被連點(diǎn)兩次生成了兩條一樣的訂單。解決超賣用得最多的辦法是樂(lè)觀鎖在菜品表加一個(gè) version 字段更新庫(kù)存時(shí)帶上WHERE version ?更新成功再改版本號(hào)。解決重復(fù)下單前端加按鈕防抖是治標(biāo)真正可靠的是后端在生成訂單前做一次「該用戶、該桌臺(tái)、該菜品組合在最近 N 秒內(nèi)是否已有未完成訂單」的查重。這兩件事寫(xiě)進(jìn)論文的難點(diǎn)分析里答辯時(shí)老師基本不會(huì)再為難你所謂的「系統(tǒng)太簡(jiǎn)單」。3. 技術(shù)選型與最小可跑系統(tǒng)讓代碼在 30 分鐘內(nèi)動(dòng)起來(lái)3.1 技術(shù)棧怎么選課設(shè)/畢設(shè)的三種常見(jiàn)組合很多人拿到源碼包第一件事是問(wèn)「這是什么技術(shù)?!埂T诮鈮褐澳阆认肭宄约簳?huì)什么而不是什么火選什么。這個(gè)題目在課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)里最常見(jiàn)的組合有三套第一種是 Java 路線Spring Boot MyBatis Plus Vue MySQL。這也是現(xiàn)在絕大多數(shù)畢業(yè)設(shè)計(jì)選題默認(rèn)的組合社區(qū)資料最多出了問(wèn)題搜得到答案老師也認(rèn)。第二種是 Python 路線Flask 或者 Django Bootstrap SQLite/MySQL。好處是你可以在論文里寫(xiě)「使用 Python 進(jìn)行快速原型驗(yàn)證」而且單文件就能跑起來(lái)適合工期緊的同學(xué)。第三種是純前端 本地存儲(chǔ)路線Vue localStorage 或者 Electron。這種適合「系統(tǒng)演示」導(dǎo)向的課程設(shè)計(jì)不需要裝數(shù)據(jù)庫(kù)但論文工作量往往不好寫(xiě)夠老師一問(wèn)「數(shù)據(jù)存在哪」就容易露怯。我一般會(huì)建議選第一種因?yàn)榇疝q老師最熟悉而且后面要加的掃碼點(diǎn)餐、Redis 緩存這些擴(kuò)展點(diǎn)Java 生態(tài)都有現(xiàn)成方案。你拿到的源碼包如果恰好是 Python 寫(xiě)的也不是不能用但你要能說(shuō)清楚你為什么選它。3.2 用 Spring Boot Vue 搭最小閉環(huán)建庫(kù)、連庫(kù)、跑通一個(gè)點(diǎn)餐接口假設(shè)你手里這份源碼是 Spring Boot 后端 Vue 前端的結(jié)構(gòu)。第一步不是急著看業(yè)務(wù)代碼而是先把它跑起來(lái)。跑通一個(gè)最小閉環(huán)只需要幾步建庫(kù)、改配置、啟動(dòng)后端、啟動(dòng)前端、用接口調(diào)試工具打一個(gè)請(qǐng)求。先建數(shù)據(jù)庫(kù)執(zhí)行項(xiàng)目里帶的 SQL 腳本。如果沒(méi)有腳本按我上面的九張表設(shè)計(jì)自己建核心兩張表先建出來(lái)CREATE TABLE orders ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT 訂單ID, order_no VARCHAR(32) NOT NULL COMMENT 訂單編號(hào)格式y(tǒng)yyyMMddHHmmss隨機(jī)數(shù), table_id BIGINT NOT NULL COMMENT 桌臺(tái)ID支持并臺(tái)后多個(gè)訂單掛同一桌, status TINYINT NOT NULL DEFAULT 0 COMMENT 0待支付 1待出餐 2制作中 3待取餐 4已完成 5已取消 6已退款, total_amount DECIMAL(10,2) NOT NULL COMMENT 訂單總金額單位元, remark VARCHAR(255) DEFAULT NULL COMMENT 整單備注如少鹽少油, 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_order_no (order_no), KEY idx_table_id (table_id), KEY idx_status (status) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT訂單主表; CREATE TABLE order_items ( id BIGINT NOT NULL AUTO_INCREMENT, order_id BIGINT NOT NULL COMMENT 關(guān)聯(lián)訂單主表id, dish_id BIGINT NOT NULL COMMENT 菜品ID, dish_name VARCHAR(50) NOT NULL COMMENT 冗余菜品名稱防止菜品改名后歷史訂單對(duì)不上, quantity INT NOT NULL DEFAULT 1, price DECIMAL(10,2) NOT NULL COMMENT 下單時(shí)的單價(jià)快照, is_combo TINYINT NOT NULL DEFAULT 0 COMMENT 是否套餐展開(kāi)子項(xiàng), spec VARCHAR(100) DEFAULT NULL COMMENT 口味備注如不要蔥, PRIMARY KEY (id), KEY idx_order_id (order_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT訂單明細(xì)表;這兩張表是整套系統(tǒng)的地基。orders表里我把order_no設(shè)成唯一鍵業(yè)務(wù)上所有地方都用order_no而不是id去做關(guān)聯(lián)和查詢因?yàn)閕d自增會(huì)暴露訂單量演示時(shí)也容易被看出是測(cè)試數(shù)據(jù)。order_items表特意冗余了dish_name和price兩個(gè)字段這叫「下單快照」——菜品后來(lái)改價(jià)了歷史訂單仍然顯示當(dāng)時(shí)的價(jià)格這是餐飲系統(tǒng)的硬性要求。接下來(lái)改數(shù)據(jù)庫(kù)連接配置。Spring Boot 的配置文件在src/main/resources/application.yml里server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/shaxian?useUnicodetruecharacterEncodingutf8mb4serverTimezoneAsia/Shanghai username: root password: yourpassword driver-class-name: com.mysql.cj.jdbc.Driver jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: Asia/Shanghai mybatis-plus: configuration: map-underscore-to-camel-case: true global-config: db-config: logic-delete-field: deleted logic-delete-value: 1 logic-not-delete-value: 0serverTimezoneAsia/Shanghai這個(gè)參數(shù)不加MySQL 8 會(huì)報(bào)時(shí)區(qū)錯(cuò)誤這是最常見(jiàn)的啟動(dòng)失敗原因。map-underscore-to-camel-case: true把數(shù)據(jù)庫(kù)的order_no自動(dòng)映射成 Java 實(shí)體里的orderNo少寫(xiě)一堆TableField注解。邏輯刪除配置是給你的表加一個(gè)deleted字段刪除菜品時(shí)實(shí)際執(zhí)行 UPDATE 而不是 DELETE防止演示的時(shí)候誤刪數(shù)據(jù)找不回來(lái)。啟動(dòng)后端之后用 curl 驗(yàn)證最核心的下單接口能不能通。假設(shè)項(xiàng)目里有個(gè)POST /api/order/create的接口curl -X POST http://localhost:8080/api/order/create \ -H Content-Type: application/json \ -d { tableId: 1, items: [ {dishId: 101, quantity: 1, spec: 不要蔥}, {dishId: 102, quantity: 2} ], remark: }正常響應(yīng)會(huì)返回一個(gè)訂單號(hào)比如202506111430120001。如果返回 500優(yōu)先看后端控制臺(tái)日志——百分之八十是表名對(duì)不上比如實(shí)體類默認(rèn)映射成order而你的表名是ordersMyBatis Plus 的TableName(orders)沒(méi)加。3.3 前端跑起來(lái)Vue 項(xiàng)目的啟動(dòng)與代理配置前端如果是 Vue 2 或 Vue 3 的項(xiàng)目解壓后先看有沒(méi)有node_modules目錄。沒(méi)有的話需要先裝依賴這一步在網(wǎng)絡(luò)不好時(shí)會(huì)很折磨人建議直接用 npm 的國(guó)內(nèi)鏡像源npm install --registryhttps://registry.npmmirror.com npm run serve前端啟動(dòng)后訪問(wèn)http://localhost:8081頁(yè)面能打開(kāi)但接口 404 的話基本是前端代理沒(méi)配。Vue CLI 項(xiàng)目的代理配置在vue.config.js里寫(xiě)法和參數(shù)含義如下module.exports { devServer: { port: 8081, proxy: { /api: { target: http://localhost:8080, changeOrigin: true, pathRewrite: { ^/api: } } } } };changeOrigin: true表示讓后端收到的請(qǐng)求頭 Host 變成后端的地址否則后端如果有域名校驗(yàn)會(huì)拒絕。pathRewrite是把前端請(qǐng)求里的/api前綴去掉再轉(zhuǎn)發(fā)給后端——這個(gè)前綴的有無(wú)必須跟前端封裝請(qǐng)求的 baseURL 保持一致很多源碼包跑不通問(wèn)題就出在這一行。3.4 驗(yàn)證最小閉環(huán)點(diǎn)一個(gè)菜看狀態(tài)怎么流轉(zhuǎn)跑通接口之后按我自己的驗(yàn)收習(xí)慣會(huì)走一遍「用戶看到什么、后端記錄什么、后廚看到什么」的完整鏈路下單接口打成功后數(shù)據(jù)庫(kù)orders表出現(xiàn)一行狀態(tài)為0待支付的記錄order_items表出現(xiàn)對(duì)應(yīng)明細(xì)。接著模擬支付成功調(diào)用支付回調(diào)接口或者直接把狀態(tài)更新為1待出餐。刷新后廚頁(yè)面能看到這張單子按桌臺(tái)分組出現(xiàn)點(diǎn)擊「開(kāi)始制作」?fàn)顟B(tài)變2點(diǎn)擊「出餐」?fàn)顟B(tài)變3。前臺(tái)頁(yè)面看到的狀態(tài)跟著變。這個(gè)過(guò)程能跑通核心鏈路就是健康的。4. 核心模塊實(shí)現(xiàn)菜單管理、下單、結(jié)算與訂單打印4.1 菜單管理的增刪改查與上下架狀態(tài)菜單管理模塊沒(méi)什么高深的但有兩個(gè)細(xì)節(jié)值得做對(duì)一是菜品要有「上架/下架」?fàn)顟B(tài)下架的菜品不出現(xiàn)在點(diǎn)餐列表里但歷史訂單還能正常顯示名稱二是菜品分類要支持排序沙縣的菜單是固定的「飯類、面類、蒸點(diǎn)、燉品、飲料」幾大類排序字段放在分類表里前端按 sort 值升序渲染。菜品的增刪改查用 MyBatis Plus 的IService就能覆蓋但刪除操作要處理外鍵約束。如果你刪了一個(gè)被訂單明細(xì)引用的菜品數(shù)據(jù)庫(kù)會(huì)報(bào)外鍵錯(cuò)誤。三種處理方式物理刪除前先查order_items有沒(méi)有引用、邏輯刪除推薦、或者干脆不允許刪除只允許下架。答辯演示時(shí)老師如果問(wèn)「這個(gè)菜賣完了怎么辦」你回答「下架」比回答「刪除」專業(yè)得多。4.2 下單接口購(gòu)物車、套餐拆分與庫(kù)存扣減下單是整個(gè)系統(tǒng)里業(yè)務(wù)邏輯最密集的地方也是論文里「核心功能設(shè)計(jì)與實(shí)現(xiàn)」這一章的重頭戲。一個(gè)合格的下單接口要同時(shí)完成四件事校驗(yàn)桌臺(tái)狀態(tài)、拆分套餐、扣減庫(kù)存、生成訂單。我習(xí)慣把這幾件事寫(xiě)在一個(gè)帶Transactional事務(wù)注解的方法里任何一步失敗就全部回滾。核心的 Service 層代碼大概是這樣的Transactional(rollbackFor Exception.class) public OrderVO createOrder(OrderCreateRequest request) { // 1. 校驗(yàn)桌臺(tái)狀態(tài)桌子必須處于使用中而不是已結(jié)賬 Table table tableMapper.selectById(request.getTableId()); if (table null || table.getStatus() ! 1) { throw new BizException(當(dāng)前桌臺(tái)不可點(diǎn)餐請(qǐng)先開(kāi)臺(tái)); } // 2. 生成訂單號(hào)時(shí)間戳 4位隨機(jī)數(shù)避免并發(fā)沖突 String orderNo LocalDateTime.now().format(DateTimeFormatter.ofPattern(yyyyMMddHHmmss)) String.format(%04d, ThreadLocalRandom.current().nextInt(10000)); // 3. 拆分套餐并累加金額 Order order new Order(); order.setOrderNo(orderNo); order.setTableId(request.getTableId()); order.setStatus(OrderStatus.WAIT_PAY.getCode()); ListOrderItem items new ArrayList(); BigDecimal total BigDecimal.ZERO; for (CartItem cartItem : request.getItems()) { Dish dish dishMapper.selectById(cartItem.getDishId()); if (dish null || dish.getStatus() ! 1) { throw new BizException(菜品不存在或已下架 cartItem.getDishId()); } // 套餐拆分查套餐模板表把一份套餐展開(kāi)成多個(gè)子項(xiàng) if (dish.getType() DishType.COMBO.getCode()) { ListComboTemplate templates comboMapper.selectByComboId(dish.getId()); for (ComboTemplate t : templates) { OrderItem sub new OrderItem(); sub.setDishId(t.getChildDishId()); sub.setDishName(t.getChildDishName()); sub.setQuantity(cartItem.getQuantity() * t.getChildQuantity()); sub.setPrice(t.getChildPrice()); sub.setIsCombo(1); sub.setSpec(cartItem.getSpec()); items.add(sub); } } // 非套餐直接生成訂單明細(xì) else { OrderItem item new OrderItem(); item.setDishId(dish.getId()); item.setDishName(dish.getName()); item.setQuantity(cartItem.getQuantity()); item.setPrice(dish.getPrice()); item.setIsCombo(0); item.setSpec(cartItem.getSpec()); items.add(item); } // 累加金額單價(jià) * 數(shù)量 total total.add(dish.getPrice().multiply(BigDecimal.valueOf(cartItem.getQuantity()))); } order.setTotalAmount(total); orderMapper.insert(order); for (OrderItem item : items) { item.setOrderId(order.getId()); orderItemMapper.insert(item); } // 4. 扣減庫(kù)存樂(lè)觀鎖防止超賣 for (CartItem cartItem : request.getItems()) { int updated dishMapper.deductStock(cartItem.getDishId(), cartItem.getQuantity()); if (updated 0) { throw new BizException(庫(kù)存不足 cartItem.getDishId()); } } return OrderVO.from(order); }這里幾個(gè)關(guān)鍵點(diǎn)說(shuō)明一下。第一訂單金額用BigDecimal而不是double或float原因是二進(jìn)制浮點(diǎn)數(shù)在計(jì)算0.1 0.2時(shí)會(huì)出現(xiàn)精度丟失金額算錯(cuò)在答辯時(shí)是致命傷。第二Transactional保證了訂單主表、明細(xì)表、庫(kù)存扣減三處操作要么全部成功要么全部回滾——你在數(shù)據(jù)庫(kù)客戶端里手動(dòng)插一條訂單主表記錄、沒(méi)插明細(xì)系統(tǒng)跑起來(lái)沒(méi)報(bào)錯(cuò)但后臺(tái)一查訂單詳情就是空的這就是事務(wù)沒(méi)控制好的典型癥狀。第三庫(kù)存扣減的 SQL 寫(xiě)在 mapper 里用一條 UPDATE 語(yǔ)句帶上庫(kù)存判斷條件UPDATE dish SET stock stock - #{quantity} WHERE id #{dishId} AND stock #{quantity}這條 SQL 返回的影響行數(shù)是 0 就說(shuō)明庫(kù)存不夠直接拋異?;貪L。注意不能用「先 SELECT 再 UPDATE」的方式兩個(gè)請(qǐng)求同時(shí)讀到庫(kù)存 5各自扣 3都判斷夠最終庫(kù)存變成 2 而不是 -1不對(duì)是都執(zhí)行了 UPDATE 導(dǎo)致庫(kù)存變成 -1這就是丟失更新的并發(fā)問(wèn)題。單條 UPDATE 語(yǔ)句是原子操作能從根本上避免這個(gè)問(wèn)題。4.3 結(jié)算與「并臺(tái)結(jié)賬」一個(gè)容易被答辯老師追問(wèn)的點(diǎn)沙縣小吃的結(jié)賬場(chǎng)景和連鎖餐廳不太一樣最大的特點(diǎn)是「一桌可以分開(kāi)結(jié)」。A 桌兩個(gè)人各點(diǎn)各的各掃各的碼付款。所以結(jié)算不能寫(xiě)在訂單上而是要有「支付單」概念一個(gè)訂單可以存在多筆支付記錄每筆支付記錄支付該訂單的一部分金額所有支付記錄金額之和等于訂單總額時(shí)訂單才算支付完成。還有更復(fù)雜的場(chǎng)景是「幫付」——B 桌的顧客把 A 桌的單一起結(jié)了。這種場(chǎng)景下支付單上要有一個(gè)「支付人」字段可以關(guān)聯(lián)到當(dāng)前登錄用戶也可以是一個(gè)匿名標(biāo)記。這個(gè)設(shè)計(jì)寫(xiě)進(jìn)論文里是一個(gè)亮點(diǎn)因?yàn)榇蟛糠贮c(diǎn)餐系統(tǒng)根本沒(méi)考慮過(guò)并臺(tái)和幫付。表格設(shè)計(jì)上支付記錄表的核心字段就五個(gè)payment_no支付單號(hào)、order_no訂單號(hào)、pay_amount本次支付金額、pay_method微信/支付寶/現(xiàn)金、pay_status支付中/成功/失敗。訂單表的status什么時(shí)候從待支付變成待出餐不是首次支付完成時(shí)而是「累計(jì)支付金額 訂單總額」時(shí)。4.4 小票打印模板渲染與 ESC/POS 指令的最簡(jiǎn)實(shí)現(xiàn)打印小票是餐飲系統(tǒng)躲不開(kāi)的一環(huán)也是普通課設(shè)源碼包里經(jīng)常缺失的一塊。做的方案有兩種一種是前端直接調(diào)瀏覽器打印把訂單明細(xì)渲染成 80mm 寬的小票樣式用window.print()打印另一種是后端生成文本通過(guò)串口或網(wǎng)絡(luò)發(fā)給熱敏打印機(jī)。我傾向于用第一種理由是不需要額外依賴而且演示時(shí)可以導(dǎo)成 PDF 給老師看比讓老師湊到打印機(jī)面前看小票更像回事。小票模板的核心是「對(duì)齊」——品名左對(duì)齊、單價(jià)和數(shù)量右對(duì)齊學(xué)名叫「等寬字體制表」。最簡(jiǎn)單的做法是把所有字符轉(zhuǎn)成半角然后自己算填充空格function padEnd(str, len) { let s String(str); let count 0; for (let i 0; i s.length; i) { count s.charCodeAt(i) 255 ? 2 : 1; } for (let i count; i len; i) { s ; } return s; } const line1 padEnd(雞腿飯, 14) padEnd(x1, 6) 15.00; const line2 padEnd(拌面(不要蔥), 14) padEnd(x2, 6) 16.00; const sep --------------------------------; console.log(sep \n line1 \n line2 \n sep);padEnd里charCodeAt(i) 255 ? 2 : 1是關(guān)鍵中文字符在 GBK 編碼下占兩個(gè)字節(jié)寬度數(shù)字和空格占一個(gè)字節(jié)不做這個(gè)處理所有中文菜名都會(huì)錯(cuò)位。這屬于那種「不做不知道一做嚇一跳」的細(xì)節(jié)論文的工作量描述里可以寫(xiě)一筆。5. 避坑源碼跑不起來(lái)、論文查重高、數(shù)據(jù)造假的三個(gè)重災(zāi)區(qū)5.1 MySQL 時(shí)區(qū)報(bào)錯(cuò)與中文亂碼現(xiàn)象后端啟動(dòng)時(shí)控制臺(tái)報(bào)The server time zone value ?D1ú±ê×?ê±?? is unrecognized或者插入中文數(shù)據(jù)后查出來(lái)全是問(wèn)號(hào)。原因MySQL 8 默認(rèn)時(shí)區(qū)是系統(tǒng)時(shí)區(qū)中國(guó)標(biāo)準(zhǔn)時(shí)區(qū)名在 MySQL 內(nèi)部識(shí)別不了中文亂碼是連接字符集和表字符集不一致。解決數(shù)據(jù)庫(kù)連接 URL 加上serverTimezoneAsia/Shanghai和characterEncodingutf8建表語(yǔ)句統(tǒng)一用DEFAULT CHARSETutf8mb4。utf8mb4和utf8的區(qū)別記得在論文里提一句utf8mb4是真正的四字節(jié) UTF-8能存 Emoji 表情和生僻字MySQL 的utf8是坑人的假 UTF-8最多只能存三個(gè)字節(jié)。5.2 端口被占、路徑帶空格導(dǎo)致的啟動(dòng)失敗現(xiàn)象后端啟動(dòng)報(bào)Port 8080 was already in use前端啟動(dòng)后瀏覽器白屏控制臺(tái)報(bào)模塊加載錯(cuò)誤。原因8080 端口被其他程序占用——最常見(jiàn)的是之前沒(méi)關(guān)干凈的調(diào)試進(jìn)程前端項(xiàng)目路徑包含中文或空格Webpack 的解析在部分 Windows 版本上會(huì)失敗。解決Windows 下用netstat -ano | findstr :8080查出占用進(jìn)程的 PID再taskkill /PID pid /F結(jié)束進(jìn)程前端項(xiàng)目目錄改成純英文路徑比如D:\projects\shaxian-order。這兩個(gè)問(wèn)題在課設(shè)現(xiàn)場(chǎng)出現(xiàn)頻率極高提前處理能省很多尷尬。5.3 論文里圖表編號(hào)錯(cuò)亂與「工作量不足」的追問(wèn)現(xiàn)象論文里圖 3.2 引用的是「訂單狀態(tài)圖」實(shí)際排版后跑到圖 3.5 的位置答辯時(shí)老師問(wèn)「你這系統(tǒng)的核心難點(diǎn)在哪里」你答不上來(lái)。原因Word 里手敲的題注和交叉引用沒(méi)有關(guān)聯(lián)插入圖片后編號(hào)不會(huì)自動(dòng)更新論文只寫(xiě)了系統(tǒng)功能沒(méi)寫(xiě)系統(tǒng)設(shè)計(jì)——狀態(tài)機(jī)、數(shù)據(jù)庫(kù)設(shè)計(jì)、接口設(shè)計(jì)、異常處理這些內(nèi)容缺失。解決一是給所有圖片用 Word 的「題注」功能自動(dòng)編號(hào)https://chatgpt.com 引用用「交叉引用」最后全選按 F9 更新域。二是論文結(jié)構(gòu)按這個(gè)順序補(bǔ)需求分析用例圖用例描述表→ 總體設(shè)計(jì)架構(gòu)圖功能模塊圖→ 詳細(xì)設(shè)計(jì)E-R 圖核心表結(jié)構(gòu)關(guān)鍵流程圖→ 系統(tǒng)實(shí)現(xiàn)核心代碼運(yùn)行截圖→ 測(cè)試功能測(cè)試用例表結(jié)果。論文的核心不是代碼粘貼而是「設(shè)計(jì)過(guò)程」代碼貼太多反而查重率高。5.4 數(shù)據(jù)造假翻車訂單時(shí)間與營(yíng)業(yè)時(shí)間對(duì)不上現(xiàn)象老師翻了翻數(shù)據(jù)庫(kù)問(wèn)「你這訂單時(shí)間是凌晨一點(diǎn)沙縣開(kāi)到這么晚嗎」或者「今天是 6 月 11 日為什么最大訂單號(hào)是 6 月 10 日生成的你昨天就寫(xiě)完了」原因?yàn)榱税延唵瘟斜眄?yè)撐起來(lái)手動(dòng)往數(shù)據(jù)庫(kù)里插了大批量測(cè)試數(shù)據(jù)插入時(shí)間用的是NOW()時(shí)間戳均勻分布在最近幾天唯獨(dú)沒(méi)考慮業(yè)務(wù)合理性。解決生成測(cè)試數(shù)據(jù)時(shí)用一個(gè)腳本按「營(yíng)業(yè)時(shí)間 7:00 ~ 22:00」來(lái)設(shè)置create_time再隨機(jī)錯(cuò)開(kāi)日期。論文里如果放了訂單列表截圖記得把日期的年份改成當(dāng)前年份否則一眼假。5.5 zip 包交付偽加密、文件殘留、路徑過(guò)長(zhǎng)現(xiàn)象從網(wǎng)盤(pán)下載的源碼 zip 包雙擊解壓報(bào)「文件損壞」或提示輸入密碼解壓出來(lái)一堆__MACOSX殘留目錄和.DS_Store文件源碼路徑里包含中文和空格導(dǎo)致前端編譯失敗。原因部分壓縮包在打包時(shí)用了特殊工具設(shè)置了偽加密標(biāo)志——zip 格式里有個(gè)「加密標(biāo)志位」有的打包器把這個(gè)標(biāo)志位錯(cuò)誤置位實(shí)際上文件并未加密但解壓工具會(huì)誤判另外從 macOS 打包的壓縮包會(huì)帶上 Apple 雙資源派生文件。解決解壓報(bào)錯(cuò)的用 7-Zip 打開(kāi)看文件列表里有沒(méi)有「加密」列如果所有文件都標(biāo)記為加密但你知道這個(gè)包應(yīng)該免費(fèi)可解多半是偽加密7-Zip 可以直接忽略偽加密標(biāo)志解壓。解壓后先刪掉所有__MACOSX、.DS_Store、Thumbs.db文件再開(kāi)始閱讀代碼。把整個(gè)工程目錄移動(dòng)到純英文無(wú)空格的路徑下再啟動(dòng)避免路徑相關(guān)的玄學(xué)問(wèn)題。6. 進(jìn)階把掃碼點(diǎn)餐和超時(shí)關(guān)單加進(jìn)去論文答辯才穩(wěn)如果時(shí)間和精力允許我強(qiáng)烈建議在這個(gè)源碼包的基礎(chǔ)上加兩個(gè)功能掃碼點(diǎn)餐和超時(shí)未支付自動(dòng)關(guān)單。這兩個(gè)功能一個(gè)解決「移動(dòng)端點(diǎn)餐」的業(yè)務(wù)完整性一個(gè)解決「異常訂單處理」的系統(tǒng)健壯性都是答辯老師偏愛(ài)的追問(wèn)方向也是論文「系統(tǒng)特色」里最實(shí)在的兩筆。6.1 并發(fā)扣庫(kù)存樂(lè)觀鎖與 Redis 的取舍掃碼點(diǎn)餐最大的區(qū)別是并發(fā)量上來(lái)了——一個(gè)店內(nèi)幾十個(gè)顧客同時(shí)掃碼下單數(shù)據(jù)庫(kù)直接扛壓力。常見(jiàn)做法是引入 Redis菜品列表和庫(kù)存先加載到 Redis扣庫(kù)存用 Redis 的DECR命令保證原子性異步同步回?cái)?shù)據(jù)庫(kù)。演示的時(shí)候打開(kāi) Redis 客戶端把某個(gè)菜品庫(kù)存改成 1兩個(gè)手機(jī)同時(shí)下單只有一個(gè)能成功這個(gè)效果非常直觀。6.2 超時(shí)未支付自動(dòng)關(guān)單定時(shí)任務(wù)還是延遲隊(duì)列用戶下了單但沒(méi)付款訂單一直占著庫(kù)存這類單子必須有一個(gè)超時(shí)關(guān)閉機(jī)制。最簡(jiǎn)單的實(shí)現(xiàn)是 Spring 的Scheduled定時(shí)任務(wù)每分鐘掃一次「創(chuàng)建時(shí)間超過(guò) 5 分鐘且狀態(tài)為待支付」的訂單把它們改成已取消并回補(bǔ)庫(kù)存。如果你想在系統(tǒng)設(shè)計(jì)上更講究一點(diǎn)把訂單下進(jìn)來(lái)的時(shí)候同時(shí)發(fā)一條延遲消息到 RocketMQ延遲等級(jí)設(shè)為幾分鐘到期后消費(fèi)消息檢查訂單狀態(tài)再?zèng)Q定是否關(guān)單。兩種方案寫(xiě)進(jìn)論文都成立但定時(shí)任務(wù)更容易當(dāng)場(chǎng)演示延遲隊(duì)列更適合寫(xiě)到「系統(tǒng)優(yōu)化展望」里。6.3 驗(yàn)證方法手工造并發(fā)不如腳本壓一遍演示之前用腳本快速壓一下下單接口既能驗(yàn)證并發(fā)邏輯又能生成測(cè)試數(shù)據(jù)。我常用的是一個(gè)簡(jiǎn)單的并發(fā)腳本多線程同時(shí)向下單接口發(fā)請(qǐng)求觀察成功和失敗的數(shù)量# 模擬20個(gè)并發(fā)請(qǐng)求同時(shí)下單觀察庫(kù)存扣減是否正確 seq 1 20 | xargs -P 20 -I {} curl -s -X POST http://localhost:8080/api/order/create \ -H Content-Type: application/json \ -d {tableId: 1, items: [{dishId: 101, quantity: 1}]} \ -o /dev/null -w %{http_code}\n | sort | uniq -c輸出大概長(zhǎng)這樣16 200和4 500成功率符合預(yù)期然后去數(shù)據(jù)庫(kù)里確認(rèn)庫(kù)存扣減了 16 而不是 20這個(gè)結(jié)果就可以直接截圖貼進(jìn)論文的測(cè)試章節(jié)。壓測(cè)用的這道命令要放到論文的「系統(tǒng)測(cè)試」一節(jié)里說(shuō)明你做過(guò)并發(fā)測(cè)試而不是只測(cè)了單用戶點(diǎn)餐流程。最后說(shuō)一個(gè)我自己的習(xí)慣拿到任何源碼包先花十分鐘把整個(gè)目錄結(jié)構(gòu)過(guò)一遍搞清楚哪些文件是必須的、哪些是 IDE 配置文件、哪些是下載殘留然后從零開(kāi)始把依賴裝一遍。這個(gè)過(guò)程走通了你對(duì)這套系統(tǒng)的理解會(huì)比看十遍代碼都深。論文和代碼的對(duì)應(yīng)關(guān)系也要提前梳理——老師讓你「現(xiàn)場(chǎng)改一個(gè)需求」的時(shí)候你改的代碼最好恰好就是你論文里貼出來(lái)的那一段這才叫自洽。希望這篇筆記能幫到正在跟這個(gè)題目較勁的你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人人摸人人干| 婷婷涩涩五月天| 97色色网| 亚洲性色XXXXX| 一区=区操屄高清大全av| 热99精品视频五月| 精品丁香五月天在线播放| 99热这里只有精品搜| www.久久色.com| 26uuu日韩| 五月丁香做爱视频| 九九这里有精品视频| 激情骚五月| 五月天偷拍| 五月天综合在线观看视频| 九九视频网| 91人人操| 九九中文字幕九| 99热这里只有精品9| 丁香婷婷基地| 色五月天成人| 色五月天成人| 日本狠狠网| 四虎婷婷五月天| 综合激情在线| 人人97碰| 五月天婷婷色| 、激情六月天| 婷香五月网在线| 97五月婷婷| 色婷婷av综合网| 26uuu国产| 99综合视频| 五月天婷婷青青| 天天操婷婷| 色综合爱综合| 色五月婷婷激情五月| 丁香六月啪啪| 五月丁香色婷婷伊人| 国产五月天婷婷| 一级性爱大片| 日本久久婷婷| 伊人网欧美在线男人天堂五月丁香| 五月叮香啪| 色www99| 天堂成人A片永久免费网站| 五月天激情小说| 亚洲婷婷91丁香| 色噜噜五月天| 99re免费精品视频| 日韩无码成人电影| 91色综合网站在线| 亚洲99在线| 无码色综合| 亲子乱av一区二区三区的| 欧美色五月| 99热精品中文字幕| 99热在线观看免费精品| 婷婷五月天成人| AV操逼网| 艹B高清无码| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 九九热精品| 久久国产色| 热久视频| 99re思思久久| 99精品综合| 久久无码成人| 91疯狂操操操操| 五月丁香六月婷婷久久肏| 啪啪婷婷五月天激情| 免费黄色AV| 婷婷激情综合网| 五月综合视频在线| 成年人最刺激的综合网| 丁香五月激情五月| 老妇操B| 九色七七| 亚洲小说欧美激情| 91要啪| 成年人丁香五月| 激情内射人妻1区2区3区| 精品久久久中文字幕大豆网推荐理由| 欧美天天搞| 久久最新色色色| 丁香五月AV综合激情| 99热这里只有精品无码| 99操99| 9国产在线视频| 五月丁香婷婷激情爱爱| 丁香五月电影| 狠狠精品干练久久久无码中文字幕| 1024欧美看片| 久久er九九| 婷婷五月天狠狠| 内射综合网| 九九综合久久| 九九狠狠干| 五月天伊人av| 六月婷婷综合| 婷婷久久在线| 五月丁婷婷| 看片视频在线免费日产在线看| AV电影在线播放| 色婷婷小说| 国产成人在线不卡AV| 婷婷五六月丁香| 99热这里只有精品搜| 五月丁香综合| 97AV人人插人人操| 丁香五月无码| 国产69久久久欧美黑人A片| 婷婷五月丁香色播| 久久九九热视频| 天天爽天天操| 亚洲综合五月天婷婷丁香| xfplayav在线| 大香蕉久久| 人人插9| 青青草日本亚洲| 午夜丁香综合婷婷| 五月丁香龟婷婷| 亚洲成人综合在线| 婷婷久久五月丁香| 超碰色综合| 日韩二区搞逼插逼毛片| 精品一区二区三区木瓜| 丁香香蕉射射射| 中文字幕不卡+婷婷五月| 婷婷香五月综合激情| 九九精品99| 日本97在线看片| 久久这里只有精品07 | 安息电影在线观看完整版| 欧美人妻一区二区| 在线综合91| 五月丁香色婷婷熟女| 四色五月婷婷| 婷色人人狠| 天堂久久精品| 91天天操天天干天天射| 久久婷五月| 91超级碰| 色婷婷色99国产综合精品| 2017狠狠干| 色狠狠色综合久久久绯色aⅴ影视| www.日本91| 欧美xx激情视频在线观看| 精品欧美性爱超级爽| 日日日,com| 99色色网| 九九九九九无码| 开心五月网 | 久久亚洲婷婷综合色五月| 91色在线/日韩| 无码动漫AV| 激情五月天在线视频| 亚州男人天堂婷婷五月| 人人操AV| 99热福利| 色和综合网| 人人做天天爱| 亚洲天99| 五月激情综合网| 色小说婷婷五月天天天| 中文字幕av网站| 婷婷五月天资源| W色综合| 色情综合网| 97人人操人人拍| 天天激情| 九九RE视频在线精品| 色综合香蕉| 久久99激情| 手机在线日韩视频中文字幕| 国产成人片| 激情五月婷婷在线区| 91在线观看九区| 99热免| 五月丁香婷婷久久| 激情涩播| 婷婷爱五月天| 日韩色五月| 免费人人操| 亚洲天堂大香蕉| 中文字幕AV在线| 欧美人与性动交CCOO| 好好干av| 91久久综合亚洲鲁鲁五月天| 99国产在线精品视频| 丁香六月视频免费观看| 99精品国产在热久久| 噼里啪啦完整版中文在线观看| 天天舔天天摸天天透| WWW.久久久久久久久久久久久| 草草操操| 婷婷五月天在线一区| 婷婷成人AV| 久操人妻| 久久这里只有精品视频15 | 婷婷五月深爱五月| 久久久色婷婷五月天| ..真实国产乱子伦对白在线_欧| 人人摸人人干人人做| 26uuu丁香婷婷五月| 色婷婷综合网站| 五月花综合视频| 丁香婷婷激情综合五月激情 | 成人版视频在线观看| 99国产小视频免费观看| 五月婷婷色播| 99热99日天天干| 啊v视频在线观看| 天天射综合网天天插| 婷婷激情人妻| 综合激情四射一theav| 激情影院丁香五月| 99色干| 久久久久99精品成人片| 狠狠夜夜五月丁香| 婷婷永久在线| 怡春院久操| 国产99久久久国产精品免费看| 五月天丁香综合久久国产| 婷婷五月天在婷| 大香蕉手机视频| 丁香婷在线| 婷婷六月激情| 偷拍91九色| 人与禽A片啪啪| www.99热视频| 人妻九九九九| 婷婷六月天天| 开心激情婷婷| 大香蕉中文| 激情婷婷啪啪| 丁香五月综合在线观看| 午夜婷婷五月天在线| 婷香五月| 97人人干| 丁香综合伊人| 99热99思午夜精品| 97色五月天| 日本色道视频网站| 69热在线| 久久这里只有国产| 99热精品少| 五月丁香色色| 色999亚洲人成色| 久久视频婷婷| 久综合| www狠狠com| 91a片爽| 婷婷综合在线网| 五月Huangsewang| 被强行糟蹋的女人A片| 色婷婷AAA| 一起操 91N.com| 五月色婷丁香| 欧美日韩成人在线网站| 97碰啪啪| 狠狠草婷婷| 五月丁香六月日逼| 色婷婷色五月综合| 色五月成人| 五月天婷婷爱| 亚洲激情久久| 国产熟妇乱子伦hd| 日韩啪图| 欧洲亚洲免费视频9 | 久久aaa| 色999五月色| 天天 日综合| 激情婷婷丁香色五月综合| 开心丁五月| 日日操夜夜操狠狠操| 色色影院aaaav| 婷婷五月天成人动漫| 婷婷深爱色五月| 六月婷婷国产| 欧美色久| 国产69久久久欧美黑人A片| 青草青草视频2免费观看| 亚洲A片成人无码久久精品青桔| 被强行糟蹋的女人A片| 热久久77777| 激情婷婷内射| 99综合色| 五月天久久婷婷| 五月婷婷色| 午夜伊人大香蕉| 九九热99久久99| 黄色精品五月婷婷| 久久这里只有精品无码| 成人免费高清在线播放| 欧美黑人巨大性生话| 丁香五月伊人| 天天爽在线视频| 国熟女视频| 九九热这里只有精品6| 婷婷的99视频网站| 激情 久久 婷婷| www.久久久久久久久久久| 91九色国产在线| 精品国产va久| 久99久在线| 少妇高潮呻吟A片免费看软件| 久久婷婷五月综合色天| 日日日日做夜夜夜夜无码| 五月丁香青草综合啪啪| 丁香五月婷久久| 中日韩美欧成人一区二区精品在线 | www.com色播五月天| 久久久久久欧美精品se一二三四| 国产女18毛片多18精品| 色婷婷AAA| 久久久五月婷婷| 91人人网| A1片久久| 天天干天天操| 中文成人在线| 狠狠做六月爱婷婷综合aⅴ| 夜丁香五月婷婷| 思思热精品在线| 久久九九99.www| 久久er免费视频| 色色射| 伊人综合网站| 婷婷丁香五月av| 婷婷狠狠操| 免费视频WWW在线观看网站| 51成人| 久久小片| 亚洲人操亚洲人| 天天日天天添| 九九青青草成人| 六月丁香成人| 丁香五月天AV| 色色色色色色色色色色色色色色,网站| 五月天激情综合网俺也去| 第四色五月天| 99热一本久道| 可以看的AV网站| 成人 在线观看国产| 精品成人久久久久久久_一二三四视| av一级棒av| 婷婷第六色| 99热e| 97成人超碰免| 五月婷婷啪啪| 91精品又长又大又粗又爽又猛| 五月综合缴情网| 国产欧美日韩综合精品一区二区| 久久aaa| 丁香五月天社区| 大香蕉婷婷丁香视频在线| 久久精品性爱| 婷婷色操| 九九精品99| 一区二区乱码视频| 久久9久| 婷婷五月天激情网| 99热这里是精品| 99超级碰免费视频| 9久热| 婷婷国产综合| 欧美日韩精品人妻狠狠躁免费视频| 激情5月舔| 婷婷俺去也| 華人性愛AV在線| 色婷婷五月在线| 丝袜大香蕉| 91超碰人人操| 美国天天日天天操| 日韩美女羞羞网站在线观看| 91日视频| 1024人妻| 狠狠干激情五月| 国产毛片操B| 五月婷婷人妻| 午夜九九九九九九九九九九九九九| 一月婷婷色色| 亚洲九九免费| 蒲京久久无码视频| 九色91视频| 九九黄色网| 91啪啪视频| 开心亚洲久久开心| 97超碰在线观看免费| 亚洲va欧美va天堂v国产综合| 国产精品国产| 99热这里只有精品9| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 99ER热精品视频| 激情网五月婷婷| 狠狠色综合网站久久久久| www.婷婷,com| 综合在线丁香五月| 丁香婷婷色九月| 色吧五月婷婷| 丁香六月久| www.久久爱.com| 99热精品在线观看| 少妇搡BBBB搡BBB搡毛茸茸 | 五月丁香婷婷无码中文| 五月丁香偷拍| 久久婷婷五月天懂色| 裸睡玩奶头(高H)| 天天爽日日爽夜夜爽| 大香蕉狼人久久| 99ri视频| 激情第四色| 亚洲性爱干干| 久久全意婷婷| 激情色情五月天| 国内一级精品| 67久久| 97AV在线视频| 人人射人人高潮| 婷婷五月天成人导航| 日韩AV在线影片| 婷婷射图| 日韩九九| 97色色色色色色色色色色色色色| 激情黄色小说色五月| 67194中文在线| 日本三级黄色大片| www.激情| 久久这里有| 人人干人人干骚美女| 玖玖玖婷婷婷| 九九99精品免费播放| 五月激情偷拍| 婷婷五月电影院| 五月久久丁香| 逼逼AV| 97啪啪| 丁香色影院| 国产91资源在线| 婷婷五月丁香色播| 思思热99er| 六月激情婷婷| 久久99网| 欧美婷婷五月丁香| 五月婷婷大香蕉| 岛国av网站| 天天射综合网夜夜操| 国产永久一二一起草| 五月天激情久久| 97操男人的天堂| 丁香六月婷婷缴情欧美| 久久综合九色综合97婷婷| 色色网站在线| 六月婷婷色综合| www.色五月.com| 五月婷婷天天| 七七色色综合| 久久久久久97| 97在线精品视频| 欧美激情综合色综合啪啪五月| 99热这里只有精品在线播放| 五月天久久综合婷婷丁香| 婷婷激情五月综合基地| 久热中文字幕在线线观看| 丁香婷婷五月天亚洲| 日本色色色| 人人操99| 国产精品久久久99视频| 丁香六月av| 综合在线网| 九九免费视频在线| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 岛国午夜视频| 任你擦免费视频| 色五月婷婷综合在线| 大香蕉久久草| se99高清无码| 久久狠狠色| 久久人妻系列| 色五月婷婷小说亚洲中文字幕组| www.色色五月天.com| 99九九热在线观看| 任你爽视频| 国产乱妇乱子在线播视频播放网站| 国产精品久久久久久久久久免费| 99操九九网| 97久久超视频| 99热99在线| 九九热这里只有精品首页| se色99| 国产一级婬片毛片| 色婷婷五月天久久| 五月丁香人妻| ..真实国产乱子伦毛片| 日韩色色一区| 久青青久| 日日狠狠久久偷偷四色综合免费 | 亚洲欧美婷婷五月色综合| 中文字幕黄色片| 一本色道久久88综合日韩精品| 亚洲天堂色| 亚洲无码成人网| 亚洲中文字幕av| 婷婷伊人綜合中文字幕小说| A色色| 色五月婷婷小说亚洲中文字幕组| 99久在线精品99re8热| 精品一二三区久久AAA片| 五月美女婷婷风骚| 成人亚洲精品| 青青草原精品久久| 日日干夜夜干| 久久婷婷丁香五月宗合| 婷婷色天香| 天天天干夜夜夜操| 日日做A爰片久久毛片A片英语| 91jiuseshunv| 天天爽天天日人人爱| 色五月综合在线| 五月天综合视频| www.韩日视频| 亚洲激情.com| 六月综和久久| 九九精品综合| 色吧网综合| 天天操夜夜爽天天操| 99热视精品| 伊人久久婷婷| 久久香蕉婷婷| 日日做夜夜爱| 婷婷五月天成人网| 婷婷的久久网站| 婷婷五月天日本无码| 激情五月五月婷婷| 中文字幕av在线播放| 免费试看小视频 99| 玖玖无码中文| 丁香五婷| 亚洲欧美另类在线23p| 激情综合婷婷| 五月丁香婷婷综合| 丁香久久五月婷综合| 男人先锋久久| 五月情综合| 六月婷婷色综合| 丁香婷婷色情| 亚洲第一综合| 色九九一二| 丁香婷停五月激情综合深爱| 99久在线精品99re8热| WWW,五月| 婷婷成人AV| 九一九九黄色| 涩五月色婷婷| 丁香五月天亚洲综合| 97婷婷丁香五月天激情图片| 五月婷婷啪啪| 狠狠色噜噜狠狠色噜噜噜999| 五月丁香色综合| 五月丁香天堂| 九九视频这里只有精品| 9色天堂| 激情综合网 激情五月天| 欧洲色色| 久久在这里有精品| 老美AA片| 99热精品一| 夜夜操加勒比| 久久这里只有精品1| 黄色中文字目| 综合五月天婷婷色| 92久久久| 五月丁香成人网| 久久激情五月网| 久久人妻精品| 亚洲愉拍99热成人精品| 五月丁香亚洲综合| 超碰色色综合| 婷婷色在线| 色五月六月| 亚洲精品网站色视频| 五月婷婷综合视频| 色综合久久伊伊婷婷五月| 99国产精品久久久久久久久久久| 婷婷综合五月激情| 五月激情婷婷偷拍| 激情影院丁香五月| 欧美色图天堂网| 狠狠操狠狠插| 五月婷婷九| 丁香久久激情俄| 色五月婷婷五月天| 五月天婷婷激情网| 婷婷伊人久久无码色五月| 激情五月天免费视频| 成人精品网站在线观看| 超级碰碰碰97免费| 怕怕視頻| 9九九久久精品无码专区| 色色色9| 婷婷五月综激情| 操一操干一干| 亚洲狠狠狠| 色婷婷精品视频| 五月婷婷无码| 丁香六月亚洲综合| 亚洲av网站在线观看| 91丨九色丨熟女高潮| 五月丁香青草综合啪啪| 99久久www| 99久久婷婷| 天天摸夜夜夜| 久久精彩综合视频| 五月色丁香婷婷综合| 久久九九爽| 亚洲 小说 欧美 激情 另类| 国产偷人妻精品一区| 99日精品视频| 精品国产乱码久久久久久免费| 狠狠色婷婷777| 激情婷婷色色| 99艹精品在线观看| 91操碰| 婷婷开心五月| 丁香五月天人体| 亚洲AV无码成人精品电影| 99精品亚洲| 色色色色色色色色色色色色色色,网站| 庭庭久久内射| jiujiuxiangjiaowang| 国产亚洲色婷婷久久99精品91| tingtingzonghewang| 久久久久亚洲AV无码网影音先锋| 一级AV片| 五月激情影院| 天天综合久久| 九九机热| 亚洲五月天天| 婷婷丁香在线| 99re热在线视频观看| 亚洲亚洲人成综合网络| 91久久婷婷| 亚洲狠狠干| 天天 日综合| 婷婷久久亚洲| 综合激情肏逼网| 九九婷婷激情综合网| 26uuu精品一区二区| 色五婷婷开心缴| 色五月婷婷视频| 玖玖色综合| 久碰综合| 色色色色色色色色色色色色色五月天| 国产视频色色色色色色色| 九色PORNY9l原创自拍| 日狠狠| 在线看片h站| 九九色色| 色啪网| 大香蕉久艹| 男女免费视频999| 中文乱子伦视频| 99久久成人| 国产 A片 自拍| 婷婷香香五月| 九九色逼| 欧韩性爱| 热99精品视频在线观看| 丁香婷婷人妻| 99久久精彩视频。| 天天日日夜夜爽| 色色五月婷| 96丁香六月婷婷蜜桃综合久久| 九九视屏| 久久久99视频| 狠狠色婷婷7777久| 天天色月| 丁香五月天人体| 青青草搞屄视频网站| 丁香五月天色| 六月婷婷私欲| 99热这里只有的精品视 | 99热这里只有精品23| 色999五月色| 五月丁香六月婷婷不卡免费无码| 激情综合网,婷婷五月天| 五月天色婷婷视频| 久色五月| 性色天| 色爱综合网| 五月丁香亚洲综合| 开心五月深爱五月| 婷婷最新地址| 人妖色AV色综合| 色玖玖导航| 亚洲成人免费在线| 深爱五月天婷综合| 99热在线这里| 在线成人网址| 国产精自产拍久久久久久蜜 | 人妻操日日| 香蕉视频91| 婷婷香香五月| 99精品爱| 婷丁香五月天| 五月丁香亭亭| 日韩av在线播放综合网| 五月丁香黄色| 五月丁香六月日逼| 无码人妻一区| 九九性视频| 激情五月婷婷| 67194中文字幕| 天天爽夜夜爽夜夜爽精品| 美女激情婷婷| 开心五月婷婷| 粉嫩AV久久一区二区三区| 亚洲av电影网站| 强伦轩人妻一区二区电影| 欧美噜噜免费观看| 99色色色色| 五月丁香人妻| 五月婷婷 婷婷五月 一区二区 久久久 | 无码激情精品色婷婷久久久久| 丁香五月激情婷婷婷婷在线观看| 五月婷婷激情久久| 色五月色开心开心五月| 欧美日韩99| 婷婷十月丁香| 99A片| 亚洲欧洲一二| 天天做天天双| 欧美啪啪9| 国内一级片| 婷婷五月天奸女| 丁香色情五月综合网站| 九九视频在线| 99五月婷| 天天日日爽| 亚洲操B| 色综合久久综合| 久久午夜理论| 四色五月视频| 色五月婷婷婷婷| 色情婷婷五月天| 大香蕉人人网| 婷婷五月天亚洲综合网| 99视频在线| 久久久久久久久久久月丁| 天天插天天日天天爽| 伊人婷婷大香蕉| 五月婷婷 自拍| 天天色天天爱天天舔| 国产综合色婷婷精品久久| 色吧网综合| 激情五月天综合图片小说网站| 性色婷婷| 久久丁香婷婷五月| 97婷婷五月天| Aaa久久| 色亚洲婷婷| AVDV久久| 久9视频| www.9797国产| 激情久久综合网| 99综合激情久久精品久久| 国产乱妇无乱码大黄AA片| 欧美日韩99| 久草性爱| 久9久9热久热| 超碰九九热| 色情婷婷。| 亭亭玉月丁香| www.久9| 色五月婷婷很很操| 中文字幕在线不卡视频| 天天综合网亚洲网站| 五月丁香婷婷伊人| 天天干天天操天天爱| 精品无码久久久久久久久 | 久99在线视频| 久久久性爱网| 亚洲网视屏| 情色五月天网站| 97人人看| 婷婷五月天成人在线视频| 97综合在线| 九九色影视| 久久综合婷婷| 99热新网址| 九热精品| 俺去也五月天| 日韩一66精品| 色哟呦av| 色欲色香综合网| 久久九⑨| 久久婷婷啪啪视频| 色综合99| 少妇真实被内射视频三四区| 五月丁香六月婷婷手机无线| 婷婷丁香大香蕉| 欧美综合激情丁香五月六月婷| 激情熟女网| 99热精品99| 婷婷五月激情四月综合| 大战熟女丰满人妻AV| 色婷婷五月综合在线| 丁香五月天AV在线| 天天操天天操天天操天天操天天操| 99亚洲精品视频| 操人91| 5月婷婷6月丁香aV| 亚洲在线网站| 色婷婷先锋| 五月丁香六月色婷婷综合五月天| 成人无码精品1区2区3区免费看| 激情五月天免费视频| 激情综合网站| 五月丁香免费看| 9999热这里只有精品| 成人国产网站| 中文av网| 丁香六月婷婷综合在线| 婷婷丁香激情综合色情| 久久久久久久人妻| 五月婷婷在线播放| 久久综合99| 婷婷在线五月综合| 久久网日本| 我爱婷婷五月天综合88| 色综合香蕉| 六月婷婷色综合| 永久AⅤ1| 久久机热这里只有精品免费视频| 91黄色五月天视频| 婷婷久久久| 五月天五月婷五月激情网| 色婷婷色情| 亚洲精品久久久久久久久久飞鱼 | 新激情婷婷| 五月丁香亭亭操逼| 婷婷日日天天| 人妻人人操| 91在线人| 在线另类| 五月天婷婷基地综合网| 青青草六月丁香| 五月丁香激情四射综合| 67194线路二在线观看| 亚洲99热| 99只有这里有精品在线视频| 桃色激情婷婷伊人网| 性天堂久久| 香蕉久日夜| 婷婷俺去也| 播五月丁香三月婷婷| 日韩AAA| 婷婷五月天激情网| www.99免费视频| 欧美成人AAA片一区国产精品| 欧美 日韩 成人在线| 五月婷婷性| 五月天a婷婷伊人| 日本色色图| A1片久久| 97操碰人免费| 校花娇喘呻吟校长陈若雪视频 | 丁香五月天社区| 91免费看片| 欧美美美女性色视频| 天天插夜夜爽| 99热免费网站| 色噜噜综合网| 国产老熟妇亲子乱对白| 亚洲第二AV| 伊人狼人干| 国产精产国品一二三在观看| 99热这里只有精| 超碰91在线| 五月天婷综合| 99热这里只有精品4| 亚洲人人操BD| 五月丁香六月色婷婷| WWW.五月天9999| 这里只有精品免费在线视频| 超碰女人天堂| 91九色熟女| 色天堂在线| 日本黄色在线观看| 99精品国产在热久久婷婷| 成人午夜在线视频| 日韩欧美性爱| 婷婷五月丁香激情图片| 色97啪啪| 人人爽欧美婷婷久久久五月丁香 | 丁香婷婷五月色成人网站| 大香蕉狠狠爱主页| 婷婷趴趴| 激情婷婷久久| 五月丁香色情| 这里都是精品99| 综合激情网五月激情| 精品九九在线观看视频| 夜夜骑日日操| 五月天开心色情网| 五月天激情久色| 五月天另类图片| www,婷婷| 成年人最刺激的综合网| 五月丁香在线| 大香蕉综合在线| 婷婷伊人| 大地资源色婷婷视频在线| 国产精产国品一二三在观看| 色情终和网| 七七色综合| 韩国19 主播内部福利vip免费播放| 色色色97| 97福利视频| 六月婷婷狠狠| 新伍月婷婷| 精品爆操| 高清无码入口| 极品人妻VIDEOSSS人妻| 天天日色情| 91岛国片| 狠狠干五月天婷婷网| 五月社区婷婷激情| 欧美一级操逼视频| 日本超碰在线| 欧美精品中文字幕亚洲专区| 五月婷婷亚洲综合在线 | 欧美色狠婷久| 99精品久久久久久久婷婷久久| 丁香五月播播| 丁香六月啪啪| 婷婷香蕉精品| 人妻激情在线| 婷婷五六日| 国产偷人妻精品一区| 亚洲AV网站| 久久黄色片| 九色激情网| 欧美群妇大交乱婬网| 六月丁香婷婷在线波多 | 2015好吊操| 伊人午夜综合色啪| 影音先锋91| A片试看50分钟做受视频| 超碰色天堂| 色色99色色| 五月丁香婷婷综合网| 五月婷婷六月丁香| 婷五月天| 熟女乱论网| 亚洲操B| 91操人视频| 操人精品| 婷婷五月色影视先锋| 国产色网站| 婷婷六月激情综合| 日韩欧美一级大黄网站| 大陆肏屄视频| 日本天天操| 成人在线高清| 噜噜狠狠色综合久| 五月开心六月婷婷在线播放网站| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 丁香五月在线播放| 97爱综合| 米奇激情婷婷| 日本综合色图| 日韩精品一区二区刘| 免费精品66| AV在线免费播放| 97久久精品视频| 第二色AⅤ| 在线婷婷| 亚洲色婷婷久久99精品91| 五月婷丁香在线视频在线| 久久色天堂| 久久五月天免费网站| 五月激情久久综合| 婷香五月激情视频| 99在线视频资源| 色播激情五月天| 亚洲欧洲另类图片| 丁香色情五月天| 成人 在线 日韩| 丁香五月婷婷综合精品素人| 国产色五月| 国产古装妇女野外A片| 亚洲国产婷婷色五月| 综合网啪| 青青草Avb在线| VfJxEwPH| 五月丁香色欲| 婷婷六月久久| 无码AV久久久久久久久| 丁香综合伊人| 日韩AAAAA| 欧美色色色| 九九色逼| AV在线观看网站| 97人人做| 六月丁香婷婷综合狠狠爱夜夜爱| 九九热99热| 国产女生爱爱AA| 青青草原福利在线| 丁香五月-激情综合| 五月天色五月天| 丰满少妇乱A片无码| 激情欧美婷五月| 99热只有| 色五月aV| 婷婷五月花| 777丁香六月青青草婷婷综合久月| 激情五月丁香五月| www。88热在线视频免费观看| 天天插天天日| 欧美亚洲999| 性按摩玩人妻HD中文字幕| 另类图片五月天婷婷| 99精品偷自拍| 丁香欧美| 狠狠 久久| 九九在线精点品| 日本久久超碰| 91九色国产| 久久激情视频99| www久久久| 手机AVAV天堂看网| 日韩AC在线免费观看| 99re鈥哸鈥唙| 全高清无码视頻| www.99热视频| 六月婷婷视频| AV亚洲在线| 停婷丁五月在线| 最新久久网址| 天天做天天爽| 综合五月激情| 婷婷成人在线| 亚洲丁香花色| www。五月天。com| 欧美婷婷色五月网| 97久久草草超级碰碰碰| 五月丁香六月综合情在线观看| 色情成人五月天| 久久九九在线视频| 色情五月天。| 激情五月综合网| 欧美婷婷五月天综合| 九九九九九九九九九九九九九国产精品| 狠狠操综合| 五月总合激情网| 亚洲网综合在线| 成功精品影院| 婷婷基地成人五月天| 99热亚洲只有色| 99热新网址| 人人射av| 久久精品系列| 中文字幕无码人妻少妇免费视频| 日本熟女内射| 亚洲中文字幕av| 九七色色六月丁香| 97干网站| 玖玖精品资源| 丁香久久综合| 91妻人人爽人人看片| www.99热精品| 激情纯色婷婷五月天在线不卡视频| 大香蕉娱乐| 九九色热| 婷婷成人五月天成人文学| 99这里只有精品国产| 免费观看2018www黄色操逼网站| 天天天天天天操| 亚洲视频图片婷婷五月| 性韩日色婷婷五月天激情啪啪XXX| 亚洲午夜国产成人电影VA国产欧…| 成人av中文字幕| 九九视频精品在线免费| 久久婷婷五月天激情四射| 少妇性按摩无码中文A片| www.9797国产| 五月天色视频| WWW·天天操·视频?| 9久久久| 无码激情AAAAA片-区区| 97碰久久| 激情五月天伊人影院| 色色色综合视频| av在线观看网站| 9|在线观看视频| 国产精品人人做人人爽人人添 | 97色色网| 国产精品国产| 久久久精品人妻录| 婷婷久久视频| xxxx久| 色婷婷啪啪| 欧美亚洲色色色色| 五月天激情综合| 国产精品日日躁夜夜躁| 丁香婷婷色| 97色伦另类图片小说视频| 六月丁香婷婷视频综合在线观看| 丁香五月天天| 九九色中文| 无码91中文字幕| 国产一级片| 狠狠狠狠狠狠狠狠| 天天摸天天肏| 日日干日日| 五月天婷婷激情综合| 五月天在线视频尤物视频在线看| 噜综合| www.婷婷| 色99在线视频| 操人久久| 欧美性猛交99久久久99| 亚洲五月天色色| 精品视频网| 亚洲精品无码A片一区二区| 欧美日韩精品人妻狠狠躁免费视频| 婷婷五月天av| 色99在线观看| 99国产在线| 色五月天综合网| 另类小说五月天| 超碰在线91| 欧美色五月| 婷婷基地爱| 五月天激情国产综合婷婷婷| 久久这里只有精品8| 激情五月婷婷| 五月花免费视频| 五月丁香啪啪| 婷婷中文字幕| 天天肏夜夜肏| 色色热| A片试看120分钟做受图片| 人妻丰满精品一区二区A片| 人妻熟人中文字幕一区二区| 国产精产国品一二三在观看| 久久99国产综合精品免费| 99精品国产乱码久久久人妻| 日日躁夜夜躁狠狠久久AV| 激情九月婷婷九月| 亚洲精级| 五月丁香趴趴| 黑人熟妇一区二区三区| www.jiujiujiu| 久久香蕉影院| 日本激情ⅩXX免费视频| 色五月av伊人| 婷婷四色成人综合色视| 99热免| 91色涩| 五月婷婷综合在线| 精品欧美一区二区三区久久久| 成人丁香婷婷| 99热在线观看99| 另类图片天天影视在线观看| 丁香五月在线伊人| 日本成人小说婷婷六月| 丁香五月天激情视频| 九九久久五月天| AA丁香综合激情| 91在线视频观看午夜福利| 婷婷色色欧美| 99热精品在线观看| 六月婷婷色宗合| 99热精品在线在线| 亚洲激情AV| 五月天开心色色网| 9超碰在线| 丁香五月在线伊人| 九九色热视频| 亚洲天堂热| 国产AV一区二区三区最新精品| 色约约视频一区二区三区四区五区 | 国产婷婷五月色情综合| 玖玖综合色| 99ER热精品视频| 一操久久| 婷婷97狠狠干| 久热69| 激情五月小说婷婷| 四色五月婷婷| 丁J香六月首页| 色五月网址| 久久九九在线视频| 97干欧美| 国产在线aaa片一区二区99| 国产在线视频1234| 99久久精彩视频。| 五月婷视屏在线观看| 亚洲情欲| 99久久色| 热久久99视频| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 五月婷婷香蕉| 久久婷婷五月天蜜桃| 天天干天天操天天上| 国产免费AV在线| 9色资源在线| 久久天天天| 亚洲激情综合| 51精品国自产在线| 色欲丁香| 狠狠xx| 三男玩一女三A片| 亚洲在线资源| 色色哒五月婷婷六月丁香| 五月综合色| www一起操| 天天舔天天摸视频| 五月婷在线| 生活片五区| 六月丁香社区| 北京熟妇搡BBBB搡BBBB| 超碰99久久| 人人摸人人搞| 婷婷五月天免费99| 这里有精品99| 99激情网| 久久日曰| 狠狠狠狠狠操| 激情综合五月婷婷| 在线成人网站| av在线免费网站 | 伊人天堂婷婷| 亚洲尤物在线| 久99久视频| a在线观看| 六月撸婷婷| 综合爱久久| 婷婷情色激情| 五月天社区婷婷| 婷婷五月天亚洲色| 色婷婷香蕉| 超碰在线国产| 天天射综合网站| 99热精品观看| 激情99| 免费超碰在线| 亚洲99精品欧美一区| 久久九九激情五月天 | 狼人伊人天堂| 99精品爱| 刘玥av在线| 天天干天天 亚洲| 欧美成人AAA片一区国产精品 | 国产亚洲精久久久久| AⅤ网站在线看| 天天日夜夜草进麻麻的子宫| 成AV人片一区二区三区久久| 九九热这里有精品视频| 夜夜爽天天爽| 婷婷激情丁香五月天综合| 香蕉婷婷| 插插干干干色| 爆乳熟妇一区二区三区四区|