免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
色www.con| 欧美性爱丁香五月| 激情纯色婷婷五月天在线不卡视频| 色色色九九九五月婷婷| 免费AV播放| 久久五月综合| 性婷婷| 在线成人av播放| 亚洲九九视频| 日本欧美在线| 99久热在线精品| 女人天堂 AV| 亚洲一色色色色色色色色| 五月婷激情影院| Www.sesese丁香| 狠狠五月天| 亚洲六月婷婷| 五月天婷婷丁香基地在线观看| 5月婷婷性视频| 六月丁香激情综合网| 99 福利 导航| 丁香五月黄色| 国产激情在线观看| 五月色亚洲| 人妻视频一区而且二区| 激情五月天.色网| 思思久久99热只有频精品66| 国产精产国品一二三在观看| 免费看欧美成人A片无码| 九九综合| 天天天天天日| 五月丁香激情综合| 五月综合久久| 青青福利网| 色婷婷婷av| 99精品人人| 亚洲99在线| 精品五月天| 婷婷五月天在线观看av| 欧美久久五月婷婷| 婷婷六月中文字幕| 激情五月婷婷六月丁香| 一区二区乱码视频| 天天插综合| 婷婷五月综合社区| 五月激情综合网| 五月停停色色丁香| 五月婷婷深深爱| 久久三级视频| 97人人干| 综合久久狠狠| 九九热在线视频观看免费10| 婷婷六月天天| 五月婷婷激情刺激| 日日操,日日爽| 九九热视频网站| 五月丁香婷成人网| 99热这里有精力| 婷婷丁香五月综合激情小说| 久久伦乱| 99re6在线视频精品免费| 五月激情综合五月| 99re热免费观看视频精品| 久久九九99亚洲国产久精综合| 伊人久久婷婷五月天激情四射| 九九视频这里只有精品在线播放| 婷婷六月花| 五月丁香婷婷激情澎湃四射| 九九这里只有精品| 丁香五月天堂网| 色婷婷狠狠| 国産精品| 色爽干| 91色色五月天| 亚洲网站999| 激情五月天色| 婷婷干五月综合在线播放| 99er热精品视频| 五月欧美丁香在线观看| www99热| 国产精品99久久久久久久女警| 99网| 97在线/亚洲| 丁香五月婷婷啪啪| 亚洲五月天婷婷在线| 久久久久人妻网址| 天天干夜夜谢| 色网站9| 日韩成人网址| 午夜丁香婷婷| 影音先锋偷偷色男人站| 人人爱天天摸摸天天爱| 九九热精品| 中文字幕在线播放视频| 久久99草五月婷婷| 天天搞夜夜爽夜夜爽| 天天射影视综合网| 精品久久人妻| 久久免费丁香| 久久婷婷五月综合啪| 婷婷情色五月天| 亚洲中文字幕在线观看| 久久婷丁香五月| 99爱这里只有精品| 免费啪啪亚州视频| 人人操人| 天天色天天干天天插| 性日本精品| 丁香五月影视| 大香婷婷| 69色色视频| 亚洲美女高潮久久久久久69| 国产色色小草视频| 五月婷婷六月激情网| 综合网啪啪| 色婷婷伊人激情在线观看| 99碰网站| 激情婷婷五月| 婷婷色色网站| 日本婷婷丁香五月| 激情深爱五月天| 亚洲精品**不卡在线播he| 91碰| 99热碰碰| 麻豆精品| 国产婷婷色综合AV蜜臀AV| 天天综合精品| 天天看A片| 可似看的AV| 国产67194| 久久大香免费| 久热网在线视频| 天天爽天天操| 天天天操天天天爰| 天天日日夜夜| 《诡秘之主》在线观看| 另类专区在线观看| 超碰色色综合| 人人操AV| 丁香五月91| 国产色99| 色色色色色日韩午夜激情 | 色综合久久88色综合天天99| 亚洲色五月| 激情综合五月丁香六月婷婷| 色色婷婷综合网| 99色在线观看| 激情婷婷五月女| 9热精品| 另类图片五月天激情| 婷婷色色播五月天| AV成人在线网站| 日本色噜| 69精品人人人人| 婷婷综合久久| 五月天开心网| 婷婷五月丁香婷婷| 九九久久9 9在线观看| 99热在线99| 99热8| 丁香六月啪| 久久久久人妻| 另类图片激情五月| 91天天操天天干天天射| 人人色人人摸人人看| www.五月婷婷.com| 九九色综合| 色99视频| 天天综合亚洲综合网天天αⅴ| 99操逼视频| 生活片五区| 婷婷久久精品| 99久视频| 天天干,夜夜爽| 99视频久久免费视频| 99亚州综合精品成人网| 狠狠狠狠免费| 99久久综合狠狠综合久久| 天天综合天天做天天综合| 九九碰九九爱97| www.激情五月天。com| 色色五月天丁香| 九九精品自拍| 国产乱妇乱子在线播视频播放网站| 深情六月婷婷综合久久| 在线超碰免费| 精品在线网站| 亚洲婷婷五月草久| 五月婷婷黄| 天天插天天插| 久久杏爱视频| 99色在线视频观看| 色五月六月| 五月天丁香啪啪综合| 亚洲激情综合| 婷婷开心久久| 色色婷| 国自产拍偷拍精品啪啪一区二区| 开心五月深爱婷婷| 色色五月婷婷| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 婷婷五月天无码熟女| 欧美性生交XXXXX无码小说| 五月丁香六月合| 色约约视频一区二区三区四区五区 | 色色五月天网站| 久操人妻| 碰99在线| 久热只有精品| 丁香色五月天| 五月天激情小说婷婷| 五月天婷婷色| 久狠狠狠| 婷婷久久免费看| 久操大屁股女人av| 99综合| 凹凸操Av| 五月婷俺去也| Aα在线免费观看| 欧美婷婷五月丁香| 色日本五月天| 久久狠狠色| 婷婷色基地在线看 | 丁香五月综合在线观看| 激情婷婷六月天| 五月激情婷婷开心五月| 99热欧美偷拍| 中文字幕丰满乱孑伦无码专区| 日韩99视频| 婷婷五月天xxx| 婷婷五月欧美AA片免费| 日本三级大片| 91九色在线视频| 久久久久亚洲A∨成人乱码电影| 婷婷综合在线视频| 最近中文字幕大全免费版在线 | 亚洲第一黄网| 96丁香六月婷婷蜜桃综合久久| www.激情五月天。com| 色五月婷婷91在线| 热思思九九| 六月丁香av| 天天透天天摸天天舔| 六月久久婷婷| 一级七香蕉| 色情婷婷| 丁香六月啪啪| 亚洲综合在线播放| 丁香六月激情国产| 日日鲁鲁夜夜爽爽| 五月天婷婷六月激情网| 欧美婷婷日本| 夜夜久久综合网| 操人妻AV| 极品少妇高潮啪啪AV无码| 婷婷丁香色五月亚洲| 人妻在线网站| 九月性爱网| 婷婷五月天色播| 丁香六月综合激情| 激情综合网激情五月天| 色婷狠狠| 天天插插天天| 激情六月日韩| 色噜噜狠狠狠综合曰曰曰| 九九热精品| 九伊人网| 丁香婷婷色情| 欧美日韩五月婷婷| 亚洲免费av观看| 婷婷99视频全集高清| 午夜丁香婷婷| 五月激情小说| 五月天色五月| 99精品视频在线观看| 丁香婷婷基地| 五月婷婷丁香| 丁香激情网| 婷婷天堂综合| 久久激情综合| 五月丁香六月婷婷免费视频| 九九婷婷五月天影视| 久9热| 色哟哟精品| 91嫩草久久| 色色色色色日韩午夜激情 | 美欧日韩国产成人在战| aaa久久| 丁香六月久久| 欧美激情综合色综合啪啪五月| 五月激情小说网| 丁香婷婷婷五月| 99久久er| 日本婷婷色日| 91久久电影| 色九月婷婷丁香| 五月婷婷啪啪| 另类激情综合| 精品人妻久久久久久| 99热在线看| 久草热8精品视频在线观看| 激情五月综合婷婷| 激情又色又爽又黄的A片| 香蕉久久国产AV一区二区| 高清一区二区三区日本久| 亚洲无AV在线中文字幕| 99精品久| 91色噜噜狠狠狠狠色综合| 91精品人妻少妇无码影院| 大香蕉久久婷婷精品综合| 九九av在线| 秋霞成人毛片一级A片| 久99视频在线观看| 久久视频婷婷视频| 色爱亚洲| 婷婷五月天AV| 97色一二三| 天堂网色色| 国产婷婷综合在线免费视频| 天堂婷婷五月在线| 亚洲色在线观看| 婷婷五月丁香超碰| www.狠狠操| 亚洲无码 图片区| 五月久久丁香| 99久久综合网| 伊人色综在线| 丁香六月久久| 超碰97在线观看免费| 男人天堂AV在线一区二区| 99热99精品| 密黄站| 伊人9999| 五月婷在线观看| 狠狠色综合五月人人| 丁香天堂夜| 激情综合婷婷| 婷婷丁香成人五月天| 婷婷五月综合久久中文字幕| 操人妻AV| 操操碰| 五月婷婷丁香av| 色在线99| 亚洲一二三网| 五月丁了香蕉综合| 91免费看片| 中文字幕日产A片在线看| 日本全黄一级999| 欧美性二区| 五月丁香六月婷婷网站| 五月丁香婷婷基地| 成人网站av免费网站推荐| 97五月天婷婷午夜| 热99免费在线| 超碰自拍天堂| 婷婷丁香水多多视频| 99精品国产在热久久婷婷| 国产黄大片在线观看画质优化| 激情五月婷黄版| 99热这只有| 五月激情小说| 9色91视频| 五月综合丁香婷婷| 五月丁香啪啪综合| 日本eVa一区=区视频| 久久久性爱视频| 天天操,夜夜骑| www.五月天婷婷| 午夜日韩久久久网站| 狠狠五月丁香色婷| 播播网色播播| 级情九色| 久9热视频| 热99玖玖99玖玖99九九| 五月激情婷婷开心五月| www.婷婷五月天.com| 五月婷婷九九久久| 五月花综合视频| 在线18av | 亚洲久热| 99精品亚洲| 99久久.www| 啪啪激情网站| 精品色色| 99热欧| 日韩啪| 99久久.www| 人人操人人爱丁香五月| 色一色综合| 99这里只有精品视频在线| 久99久在线| 操人精品| 色五月婷婷五月天| www.综合久久.com| 亚洲一区二区无遮挡A片| 色婷婷亚洲综合网站| 色婷婷丁香五月观看| 九色婷婷| 五月色色网| 色婷婷色综合| 色五月激情基地| 五月天丁香| 五月色网| 久久婷婷色| www.久久99| 五月天天久久香| 国产av天天插天天操天天爽| 色欲影香| 色99网| 亚洲黄色影视| 五月天色小说| 色婷婷久久7777| 1024欧美日韩精品久久久| 超级97碰碰| 天综合日日夜综合7799| 日韩成人电影在线播放| 九九熱最新視頻| 色婷丁香五月| 日日噜狠狠色综合久久| 深爱开心激情| 九九色图| 无码激情AAAAA片-区区| 玖玖玖婷婷婷| 超碰超碰在线| 高清无码一区二区三区四区| 婷婷五月天高清无码| 丁香五月欧美午夜视频| 九九热在线视频观看| 亚洲综合五月天婷婷丁香| 色色色色欧美| 一本色道久久88加勒比—| 2017狠狠干| 色狠狠狠干| 五月丁香综合啪啪対白| 激情五月婷婷丁香| www激情| 免费观看全黄做爰的视频 | 日本 色综合| 亚洲综合99| 久久黄色网扯| 精品久久人妻| 婷婷久久五月天| 先锋影音男人的天堂AV| 亚洲网视屏| www.五月激情.com| www.婷婷.com| 色色网站毛片| 丁香五月综合婷婷| 亚洲一区二区无码蜜乳av| 五月天开心婷婷激情网站| www.91久久| 欧美成人猛片AAAAAAA| 色五月中文字幕| 综合激情五月四射婷婷| 婷婷六月综合激情| 午夜不卡久久精品无码免费 | 激情五月丁香综合网站 | 思思re99视频在线观看| 日本三级日本黄色| 99婷婷| 乱色色色| 99精品网| 亚洲黄3级片网站欧美| 97色色色色色色色| 99精品视频免费观看| 国产成人网| 婷婷综合日本| 思思综合热| 91玖玖| 伊人喵咪a V| 九九aV| 丁香婷在线| 亚洲成人综合在线| 久久婷婷五| 色情丁香五月天| 色在线99| 久久久久97| 亚色网站小视频| 久9久成人精品视频| 九九婷| 国产欧美日韩性爱| 激情久久久久久久久久| YW无码| 99 频99热国里只有精品| www.色婷婷| 色五月丁香com| 97色干| 婷香五月激情视频| 操操综合网婷婷| 激情五月激情综合俺也去婷婷小说| 婷婷开心激情| 综合色七七| 99爱免费在线观看| 99热免费观看| 91色噜噜狠狠狠狠色综合| 五月丁香婷爱在线| 久久性综合| av婷婷丁香 六月| 国产免费一区二区三州老师F1F1| 久久天堂色| 五月丁香色狠狠干大屄| 91chinese在线| 精品在线网站| 99九九视频精彩在线| 人碰人人人玩91| 四色 爱 婷婷 精品 亚洲 五月天| 思思99久久| 男人視頻站| 五月丁香六月婷婷的女人| 人妻丰满精品一区二区A片| 99成人网一区| 91色久| 久婷久婷| 97操碰碰无码视频| 成人午夜免费电影| 婷婷色婷婷| 久久九九经典| 强伦轩人妻一区二区电影| 婷婷欠久少妇| 色婷婷五月婷婷五月婷婷五月| 丁香激情五月天| 天天性视频| 色色丁香| 五月婷视频久久| 色婷婷九月| 男人天堂99| 激情五月天综合网| 999激情视频| 97色天堂| 丁香五月首页| 俺去也婷婷| 亚洲中文丁香| 亚洲V国产V欧美V久久久久久| 丁香五月婷婷婷婷欧美综合| 亚洲激情四射| 亚洲综合丁香五月| 国产操B| 五月天堂在线| 自拍视频99| 久机视频这只有精品| 久久九⑨| 美女激情综合| 激情婷婷丁香五月天小说| 51国精产品自偷自偷综合| 天天天久久久| 久久A极片| 色狠狠综合| 日韩国产AV播放| 亚洲成人噜噜| 任你操精品免费| 五月天久久婷婷| 丁香五月婷婷狠狠色| 五月花婷婷| 丁香六月天婷婷色| 99久久国产综合精品五月天喷水\| 夜丁香五月婷婷| 超碰成人AV| 丁香色六月婷婷| 美女天天艹人人爽| 偷拍丁香九月激情| 日日噜噜夜夜狠狠久久丁香五月| 91视频一起草| 99热官网| 久久99热久久99精品| 91九色精品| 天天色视频| 丁香久久五月天视频在线观看| 影音先锋一区二区资源站| 开心五月网| 亲子乱AV一区二区三区下载| 激情五月激情综合网| 欧美色欲色欲天天天www| 色欧美日| 婷婷深爱五月| 色婷亚洲| www99精品| 99ER热精品视频| 五月丁香六月欧美综合网站| 激情五月综合网| 黄色片久久| 色播五月天激情| 久久只有精| 一级内射毛片| 婷婷丁香熟妇综合网| 五月激情丁香五月宗合| 97人妻碰碰碰久久久久-最近国语高清| 人人操日| 精品久久久久久久人妻| 97操碰视频| 九九热精品| 五月丁香六月情| 六月丁香久久| 成人五月天。COM| 97中文在线| 婷婷五月天第四色| 激情五月天色网站| 精品9久| 婷婷五月天影院| 久久九九99亚洲国产久精综合| 91九色国产熟女| 欧美丰满熟妇BBB久久久| 六月丁香激情| 国产一区男女| 九九色热| 婷香狠狠爱五月| 九九热在线精品视频| 99视频| 丁香五月98| 色欲婷婷五月天丁香| 亚洲国产精品二二三三区| 天天爽天天| 男人综合网| 五月天综合激情网| 壅壅儕家a| 99精品在线观看| 色色日本欧美| 蜜臀嫩草| 99精品视频在线免费观看| 97婷婷狠狠久久综合9色| 日本欧美成人片AAAA| 991国产精选视频在线播放下载| 能看的AV网站| 天天 青草 制服丝袜 在线| 久久日曰| 五月婷婷色色爱| 婷婷激情综合网| 欧美性爱一区| 丁香狠狠色婷婷久久无码视频| 丁香六月AV| 色综合视频| 五月天另类小说久久小说网| 亚洲精品又粗又大又爽A片| 欧美人人操| 婷婷五月草| 丁香五月激情视频在线| 99热热九九| 婷婷伊人网| 大香蕉久久婷婷精品综合| 超碰69天堂| 成人做爰高潮A片免费视频| 99精品久久| 久碰婷婷视频| 日日操夜夜爽| 婷婷五月天开心网| 久久婷婷五月综合色和| 日韩乱玛久久| 五月丁香狠狠地噜噜噜噜| 播五月婷婷开心| 综合色播| 人妻精品在线| 91碰在线| 超碰91av| 中文字幕av久久爽一区| 欧美激情综合色综合啪啪五月| 日本欧特黄色刺激一区影视久精品无码| 色婷婷五月综合激情中文字幕| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 狠狠婷婷日韩| 丁香五月婷婷综合激情哟哟哟| 亚洲乱码日产精品BD| 国产亚洲精品AAAAAAA片| 99在线免费观看| 久草五月天| 99热免| 99爱在线精品视频免费观看| 久机视频这只有精品| 丁香五月六月久久综合 | av在线不卡播放| 色婷婷第四色| 激情碰碰碰| 欧美黄色一级| 久久婷婷五月综合色天| 九九热99在线视频| 丁香综合久久| 99热费观看| 亚洲色激情| 久久婷婷五月丁香网| 丁香五月激情棕合| 啊V视频在线观看| 狠狠综合久久| 欧美成性色| 久热这里这里有精品| 五月亚洲激情| 五月久久亚洲| 色婷婷五月天不卡| 久久婷婷五月天蜜桃| 欧美五月婷婷| AV在线大香蕉| 高清无码入口| 亚洲妇女熟BBW| 91精品91久久久久77777| 99视频啪啪| 色婷婷精品视频| 综合久久综合久久| 欧美成人无码高清一区二区三区| 五月婷婷丁香大陆免费| 日本操逼九九九九58日本操逼| 十月色综合| 综合色影院| 色五月婷婷丁香五月| 婷婷五月综合在线| 狠狠婷婷综合| 激情宗合 激情宗合| 99综合久久| 天天操夜夜夜夜爽| 九月婷婷激情| 五月开心婷婷极品激情| caopeng97日韩| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 六月婷婷激情| 伊人综合网站| 殴美97色| 国产精品成人在线| 五五月五月| 99热在线观看免费| 97热精品| 国产美女无遮挡裸体毛片A片| 91九色PORNY肉丝在线| 色一情一乱一乱91Av| 五月丁香网视频| 五月天激情.com| 狠狠五月激情丁香六月| 亚洲视频在线观看| 婷婷九月丁香天堂丁香天堂| 99re思思热在线视频| 色婷婷影音| 久久色五月天| 国产欧美精品AAAAAA片| 99热久久日本| 综合婷婷六月| 亚洲色五月婷婷| 日日日日日| 久久91久久精品久久| 99ri久久| 天天干-天天日| 性天堂久久| 日本不卡一区二区三区| 久久久久久97| 五月丁香天堂网婷婷| 五月婷婷成人| 久久性爱网| 97久久人人| 五月激情婷婷开心| 久久九九国产精品怡红院| 伊人成综合五月婷婷| 69热在线| 五月丁香五月综合欧美| 国产精品久久久久久久久久| 中文字幕综合| 九色色| 激情亚洲色图片丁香综合| 综合色播| 中国丰满熟女A片免费观| 91网站黄| 婷婷丁香综合| 五月丁香综合啪啪| 九九精品99久久久| 五月婷综合网| 97精品综合久久| 天天综合91入口| 丁香五月天激情AV| 狠狠草在线观看| 97人妻碰碰碰久久| 色色综合视频| 亚洲成av人影院| 色五月色五天色情网| 国产无套精品一区二区| 四LLL少妇BBBB槡BBBB| 五月丁香激情四射| 五月婷婷在线免费| 两性婷婷丁香五月| 美女五月天婷婷| 婷婷永久在线| 97色图片中文字幕视频在线观看| 亚洲一区二区无码蜜乳av| www.天天干| 丁香婷婷六月天| 欧美激情综合五月色丁香| 无码少妇高潮喷水A片免费| 色噜噜综合网| www.maotanji.com| 婷婷影院欧美| 综合久久人妻| 91九色白丝| 亚洲尤物在线| 最近中文字幕大全免费版在线| 久9热| 色婷婷五月天成人网| 狠狠色狠狠色综合日日91| 色婷婷五月网| 在线观看国产高清视频免费网站| 激情综合网丁香| 婷婷色丁香五月| 91丨九色熟女丨首页| 日日狠狠久久偷偷四色综合免费 | 午夜成人AV在线| 色色无码| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 亚洲人成网亚洲欧洲无码久久| 99热这里只有精品1025| 婷婷五月天激情电影| 成年人丁香五月| 久久99日本精品视频免费观看| 久久久久久综合五月婷婷| 日日躁夜夜躁狠狠久久AV| 99久久国产成人精品| 五月婷婷六月丁香| 久热这里只有精品性色AV| 国产成人99久久亚洲综合精品| 色婷婷av在线| 六月婷婷色综合| 色综合久久天天综合网| 色香蕉影院| 久久亚洲婷婷| 开心激情综合| 夜夜躁狠狠| 日日夜夜天天| 婷婷成人五月天一区| 影音先锋美国A| 99精品7| www.99精品日操伊人乱碰在线| 婷婷十月丁香| 色欲色香,www,com| 五月天伊人网| 五月天停停日日| 五月婷婷激情| 极品色丁香| 伊人综合网站| 第一区久久网站| 五月天婷婷青青草| 99精品视频网站| 激情啪啪五月天| 精品爆操| 狠狠色色| 99热这里有精品| 第一区久久网站| 在线亚洲综合网| 99热都是精品| 五月丁香成人| 操99| 天天日夜夜操五月| 色婷婷成人久久| 丁香五月av| 香蕉久久国产AV一区二区| 五月天色色网站| 丁香5月啪啪| 久久久久久婷| 色色五月婷婷久久| 欧美色狠婷久| 五月婷婷亚洲天堂97色婷婷| 色五月婷婷五月天激情综合| 视频一二区| 色婷婷五月天在线观看| 久久人妻情侣| 婷婷五月,偷窥偷拍网| 婷婷色五月激情| 婷婷五月天日逼| 中文字幕人妻AV| 亚洲婷婷91丁香| 777久久精品| 丁香五月综合狠狠| 美欧成人视频| 性色播| 玖玖婷婷色欲| 91无码高清| 欧日韩AV| 五月婷婷9| 色色五月婷| 激情综合网 激情五月天| 欧美亚洲成人在线| 五月婷婷六月色| 人人人va亚洲视频在线| 色七七九九| 伊人在线视频| 桃色五月天| 七七九九色色| 超碰在线观看caop| 丁香五月激情综合| 天天综合中文| 五月婷婷深深的爱| 九九色插| 久久婷婷五月| 六月婷婷久久大全| 2014天天爽| 天花AV无码| 久久99热这里只频精品6学生| 区区欧美你爱| 亚洲九九夜夜| 丁香五月天婷婷大香蕉| 五月激情天| 五月婷婷官网色| 色婷婷狠狠干| 亚洲一级AV在线免费播放| 超碰免费在线| 夜色综合网| 思思久久96热在精品国产,| 五月天丁香综合久久国产| 亚洲亚洲人成综合网络| 丁香五月婷婷偷拍| 天天成人综合视频| 草一草avb| www.色欲丁香婷婷| 婷婷天堂站| 日韩淑女人妻luan伦激情精品一区二| 久草五月天电影网| 久久五月激情| 九九热99在线视频| 免费视频WWW在线观看网站| 一月婷婷色色| 思思久热6| www.夜夜操.con| 婷婷97碰碰| 97在线天堂| 国产69久久久欧美黑人A片| 九九热99熟女| 婷婷五月美女直播| 色五月婷婷成人视频| 99re在线精品视频| 婷婷五月综合免费在线| 少妇被下春药玩弄A片| 亚洲激情视频在线观看| 亚洲精品无码久久| 激情五月婷婷啪啪| 久9热视频在线| 婷色五月| AV在线资源| 丁香五月天在线观看| 色婷婷丁香AV综合| 精品一二三区视频立| 国产精品人妻欲求不满| 99视频在线啪| 91九色偷拍| 国产69久久久欧美黑人A片| 婷婷五月天开心网| 97人人操| 激情亭亭五月| 亚洲热视频| 激情五月视频在线婷婷| 涩涩网五月天| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 亚洲无码免费看| 爱久久小说下载网| 久久婷婷五月| 日本丁香五月| 色墦五月丁香| 激情九月综合| 另类激情五月| 久久伦乱| 久热99热| 五月婷婷深深爱| 五月激情在线| 五月丁香婷婷综合| 亚洲精品大片| 国产色色色色| 五月天婷婷无码视频| 天天日天天干天天插天天射| 日日撸天天干| 久久五月天激情视频| 婷婷丁香高潮了| 色婷婷五月丁香在线观看| 另类五月婷婷| 亚洲综合色网站| 都市激情蜜桃婷婷五月天 | 欧美日韩二区在线| 性生生活大片又黄又| 成人午夜天| 国产人妻777人伦精品HD| 最近中文字幕在线中文视频| 激情六月天| 国产亚洲精品AAAAAAA片| 中文字幕日产A片在线看| 91碰碰| 少妇AB又爽又紧无码网站| 午夜不卡久久精品无码免费| 成人无码髙潮喷水A片| 日韩中文字幕| 丁香花社区av| 激情婷婷五月综合| 婷婷激情啪啪| 亚洲色激情| 操碰99| a色色片| 色综合色综合色综合高潮| 热婷婷在线视频| AV免费在线网站| 国产免费av在线| 操逼毛片国语对白| 久热久色| 婷婷激情五月综合基地| 丁香婷婷久久综合在线| 26uuu欧美日本| 丁香五月婷婷大香蕉| 久久作爱| 色噜噜狠狠色综无码久久合欧美| 免费看欧美成人A片无码| 色五月激情五月| 91制片厂久久久国产电影| 日本情色一区二区| 九九色区| 久久五月婷婷电影| 内射激情在线| 五月婷婷AV| 97色天堂| 婷婷综合视频| 婷婷综合九色伊人| 丁香五月123| 操操碰| se99在线| VfJxEwPH| 色婷婷激情| 夜夜爱网站| 日本色色影片| 婷婷色偷拍| 五月天婷婷久久| 五月婷婷狠天天色综合| 色五月综合激情| 欧美精产国品一二三区| 欧美色五月| 伊人大综合| 丁香五月开心亚洲| 99re最新地址视频| 战争与艾拉电影免费观看| 玖玖午夜视频| 激情婷婷| 久久人视频| 综合激情五月天| 欧美Va在线| 伊人玖玖精品| 欧美电影在线播放| 99re青青草| 五月天激情播播网| 欧美激情凹凸丁香网| 99热e| 国产看真人毛片爱做A片| 天花AV无码| 精品视频这里只有精品| 亚洲天天综合| 色五月婷婷亚洲| 久久丁香综合香蕉| 婷婷伊人综合中文字幕| 五月丁香六月色情网欧美| 久久综合五月天| 91丨九色丨国产打屁股| 久久天堂女人| 五月丁香六月婷婷精品| 九九亚洲视频| 日本狠狠干| 91综合视频在线| 天天肏屄夜夜爽| 色99在线观看| 日日做A爰片久久毛片A片英语| 丁香五月最新网址| www.狠狠狠狠| 五月丁六月香av| 99啪啪网| 丁香六月婷婷基地| 五月丁香婷婷色| 婷婷丁香人妻天天| 丁香六月啪啪| 丁香五月AV| 开心五月色婷| 91久热| 月丁香久久久| 婷婷丁香高潮了| 色色激情五月| 91人妻人人操| 五月综合亚洲色| 五月婷婷六月激情| 久久全意婷婷| 天天草人人摸| 婷婷五月色色| 婷婷色综合中心站| 九九热视频网站| 激情四射网| 久久蜜臀婷婷| 婷婷六月丁香色| 精品久热| 色 五月 天 婷婷 丁香 九月| 狠狠色婷婷丁香六月| 色婷丁香| 成人丁香五月婷| 五月花亭亭| 另类天堂| 97人人干人人操| 五月天激情视频| 九九精品9| 色月视频| 99精品在线观看视频| 婷婷五月天亚洲综合| 五月天另类图片| 丰满少妇乱A片无码| 婷香五月网在线| 在线成人网站| 五月天婷婷AV| 日日操天天| 久久艹 五月天| 七七九九色色| www色五月| 色色免费网站| 丁香五月AV| 激情五月天99色| 少妇人妻综合色6699| 乱乱av| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 人妻久久久久久久| 亚洲av综合网| www.97碰碰com| 玖玖婷婷色| 五月天六月婷婷电影| 不卡在线中文字幕无| 色综合xx| 99免费视频| 99热精品10| 亚洲人人操| 人妻性爱av网站| 婷婷在线免费| 五月丁香啪啪综合| 夜夜久久综合网| 天天干天天操天天射 | 99啪啪视频| 久热中文字幕| 91九色熟女| 久久久大香蕉| 色婷婷五月色| 色婷婷大香蕉| 日韩另类| 天天狠天天叉| 激情丁香婷婷| 99热超碰| 无码se| 色吧五月婷婷| 日本va欧美va欧美va精品| 26uuu精品一区二区| 开心婷婷五月天综合| 九九这里有精品| 五月婷婷开心深| 国外亚洲成AV人片在线观看| 五月天色狠狠| 青草视频在线观看视频| 日日婷婷不卡| 丁香88AV五月婷婷| 色色五月婷婷丁香| 六月婷在线| 丁香久久久| 草一草avb| 99这里| 十月丁香婷婷| 久久久av久av久片一区二区| 天天爽天天爽夜夜爽| 另类丁香五月天区图| 久久久五月四色| 亚洲色图在线视频| 激情99热| 去干网av| 97热91| 婷婷五月激情视频| 五月婷婷日| 亚洲综合九九| 99热无码精品| 婷婷久综合| 婷婷五月情| 丁香五月另类色婷婷麻豆| 99精品视频在线观看| 久久五月婷综合网| 67194中文在线| 日日操夜夜爽| 色五月婷婷中文字幕| 五月天综合网| 日本成人噜噜| 色九月婷婷丁香| 激情亚洲网| 91啪级电影| 亚洲婷婷综合视频| 俺也高清无码高清视频| 国产午夜一区二区三区| 日本三级毛片| 久久98| 开心五月丁香综合久久| 激情综合五月丁香六月婷婷| 天天爱天天狠天天透| 婷婷五月天AV| 强辱丰满人妻HD中文字幕| 日韩精品二三区| 丁香五月激情棕合| 色婷五月天| 婷婷视频在线| 激情五月婷| 最近中文字幕在线中文视频| 亚洲第一精品网站| 武则天精品久久| 国产精产国品一二三在观看| 婷婷丁香五月综合激情视频| 97性视频| 欧美S码亚洲码精品M码| 激情五月婷婷开心网| 大香蕉婷婷| 五月四色激情| 99玖玖免费视频| 五月丁香激情婷婷综合字幕| 一区二区三区四区牛| 操碰97| 99日这里只有精品| 九九AV在线| av免费在线看不卡无毒| www.99热在线| 五月色情婷婷开心五月色情| 色久99| 99热这里都是精品| 伊人五月成人| 五月开心婷婷极品激情| 99在线看视频| 99久久6| 五月天五月天成人网亭亭成人色网站| 99re热在线视频| 丝袜熟女一区二区三区| 丁香六月情| 激情综合丁香五月| 色综合色综合婷婷热| 伊人热婷婷| 精品人妻伦九区久久AAA片| 激情五月天小说网| 五月开心六月婷婷在线播放网站| 五月婷婷综合影院| 中字幕视频在线永久在线观看免费| www色五月| 色婷婷在线综合色播网| 国产色网站| 99在线视频观看| 五月激情六月丁香| 夜夜撸日日操| 久久性爱网站| 欧美久久婷婷| 激情五月瑟瑟| 国产毛片欧美毛片久久久| 99婷婷国产最新视频| 五月丁香啪啪综合网| 色综合夜夜| 激情五月婷黄版| 中文字幕视频色婷婷| 五月丁香综合啪啪| 婷婷五月激情视频在线| 蜜臀av无码久久久久久久久| 99热这里有精品首页10| 99热最新国内| 婷婷久久久| 天堂色婷婷| 天天色,天天日,天天做| 丁香五月色播中文在线播放| 97视频.干com| 一级黄色操B| 九九综合九| 丁香婷婷激情| av久热| 人人摸人人| 婷婷射婷婷舔| 丁香五月AV综合激情| 婷婷色婷婷亚洲成人| 国产色网站| 综合九九日本| 日韩在线视频9色| 成人在线日韩| 级情九色| 色情五月天丁香社区| 久久机热/这里只有精品| 精品皮股午夜AV| 婷婷六月开心网|