日韩精品一区二区三区在线视频放-无码中文字幕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)開發(fā)參考。資源覆蓋管理員、用戶及前臺(tái)首頁(yè)三個(gè)操作端涉及小吃信息、門店信息、預(yù)約信息、訂單與購(gòu)物車等模塊角色權(quán)限與業(yè)務(wù)流程劃分清晰功能體系適合入門級(jí)二次開發(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í)論文部分也有助于開題或答辯環(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 嗎但真把需求拆開沙縣小吃這個(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)收錢」但落到系統(tǒng)里訂單要拆成幾個(gè)明確的狀態(tà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)擊「開始制作」訂單從待出餐變成制作中出餐完成點(diǎn)擊「出餐」訂單變成待取餐顧客取走之后訂單變成已完成。這套狀態(tài)機(jī)寫進(jìn)論文的用例圖里比寫「系統(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é)果不然沒法備料。常見做法是引入「套餐模板表」套餐下單時(shí)按模板展開成子項(xiàng)后廚端看到展開后的明細(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í)開臺(tái)會(huì)翻車如果你只是單機(jī)、單用戶操作狀態(tài)機(jī)怎么寫都無(wú)所謂。但演示的時(shí)候老師可能會(huì)問(wèn)「兩個(gè)服務(wù)員同時(shí)在兩個(gè)瀏覽器上操作同一張桌子系統(tǒng)會(huì)不會(huì)出問(wèn)題」這個(gè)問(wèn)題背后是并發(fā)控制也是論文里值得寫的一節(jié)。最常見的坑是超賣和重復(fù)下單。超賣發(fā)生在套餐場(chǎng)景——菜單里寫「腿排飯今日限量 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)是否已有未完成訂單」的查重。這兩件事寫進(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è)的三種常見組合很多人拿到源碼包第一件事是問(wèn)「這是什么技術(shù)?!?。在解壓之前你先想清楚自己會(huì)什么而不是什么火選什么。這個(gè)題目在課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)里最常見的組合有三套第一種是 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。好處是你可以在論文里寫「使用 Python 進(jìn)行快速原型驗(yàn)證」而且單文件就能跑起來(lái)適合工期緊的同學(xué)。第三種是純前端 本地存儲(chǔ)路線Vue localStorage 或者 Electron。這種適合「系統(tǒng)演示」導(dǎo)向的課程設(shè)計(jì)不需要裝數(shù)據(jù)庫(kù)但論文工作量往往不好寫夠老師一問(wèn)「數(shù)據(jù)存在哪」就容易露怯。我一般會(huì)建議選第一種因?yàn)榇疝q老師最熟悉而且后面要加的掃碼點(diǎn)餐、Redis 緩存這些擴(kuò)展點(diǎn)Java 生態(tài)都有現(xiàn)成方案。你拿到的源碼包如果恰好是 Python 寫的也不是不能用但你要能說(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 腳本。如果沒有腳本按我上面的九張表設(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 是否套餐展開子項(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ò)誤這是最常見的啟動(dòng)失敗原因。map-underscore-to-camel-case: true把數(shù)據(jù)庫(kù)的order_no自動(dòng)映射成 Java 實(shí)體里的orderNo少寫一堆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)沒加。3.3 前端跑起來(lái)Vue 項(xiàng)目的啟動(dòng)與代理配置前端如果是 Vue 2 或 Vue 3 的項(xiàng)目解壓后先看有沒有node_modules目錄。沒有的話需要先裝依賴這一步在網(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è)面能打開但接口 404 的話基本是前端代理沒配。Vue CLI 項(xiàng)目的代理配置在vue.config.js里寫法和參數(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)擊「開始制作」?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)菜單管理模塊沒什么高深的但有兩個(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有沒有引用、邏輯刪除推薦、或者干脆不允許刪除只允許下架。答辯演示時(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í)慣把這幾件事寫在一個(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)先開臺(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()); } // 套餐拆分查套餐模板表把一份套餐展開成多個(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)插一條訂單主表記錄、沒插明細(xì)系統(tǒng)跑起來(lái)沒報(bào)錯(cuò)但后臺(tái)一查訂單詳情就是空的這就是事務(wù)沒控制好的典型癥狀。第三庫(kù)存扣減的 SQL 寫在 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)是「一桌可以分開結(jié)」。A 桌兩個(gè)人各點(diǎn)各的各掃各的碼付款。所以結(jié)算不能寫在訂單上而是要有「支付單」概念一個(gè)訂單可以存在多筆支付記錄每筆支付記錄支付該訂單的一部分金額所有支付記錄金額之和等于訂單總額時(shí)訂單才算支付完成。還有更復(fù)雜的場(chǎng)景是「幫付」——B 桌的顧客把 A 桌的單一起結(jié)了。這種場(chǎng)景下支付單上要有一個(gè)「支付人」字段可以關(guān)聯(lián)到當(dāng)前登錄用戶也可以是一個(gè)匿名標(biāo)記。這個(gè)設(shè)計(jì)寫進(jìn)論文里是一個(gè)亮點(diǎn)因?yàn)榇蟛糠贮c(diǎn)餐系統(tǒng)根本沒考慮過(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)躲不開的一環(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é)論文的工作量描述里可以寫一筆。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 端口被其他程序占用——最常見的是之前沒關(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 里手敲的題注和交叉引用沒有關(guān)聯(lián)插入圖片后編號(hào)不會(huì)自動(dòng)更新論文只寫了系統(tǒng)功能沒寫系統(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)沙縣開到這么晚嗎」或者「今天是 6 月 11 日為什么最大訂單號(hào)是 6 月 10 日生成的你昨天就寫完了」原因?yàn)榱税延唵瘟斜眄?yè)撐起來(lái)手動(dòng)往數(shù)據(jù)庫(kù)里插了大批量測(cè)試數(shù)據(jù)插入時(shí)間用的是NOW()時(shí)間戳均勻分布在最近幾天唯獨(dú)沒考慮業(yè)務(wù)合理性。解決生成測(cè)試數(shù)據(jù)時(shí)用一個(gè)腳本按「營(yíng)業(yè)時(shí)間 7:00 ~ 22:00」來(lái)設(shè)置create_time再隨機(jī)錯(cuò)開日期。論文里如果放了訂單列表截圖記得把日期的年份改成當(dāng)前年份否則一眼假。5.5 zip 包交付偽加密、文件殘留、路徑過(guò)長(zhǎng)現(xiàn)象從網(wǎng)盤下載的源碼 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 打開看文件列表里有沒有「加密」列如果所有文件都標(biāo)記為加密但你知道這個(gè)包應(yīng)該免費(fèi)可解多半是偽加密7-Zip 可以直接忽略偽加密標(biāo)志解壓。解壓后先刪掉所有__MACOSX、.DS_Store、Thumbs.db文件再開始閱讀代碼。把整個(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)健壯性都是答辯老師偏愛的追問(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ù)直接扛壓力。常見做法是引入 Redis菜品列表和庫(kù)存先加載到 Redis扣庫(kù)存用 Redis 的DECR命令保證原子性異步同步回?cái)?shù)據(jù)庫(kù)。演示的時(shí)候打開 Redis 客戶端把某個(gè)菜品庫(kù)存改成 1兩個(gè)手機(jī)同時(shí)下單只有一個(gè)能成功這個(gè)效果非常直觀。6.2 超時(shí)未支付自動(dòng)關(guān)單定時(shí)任務(wù)還是延遲隊(duì)列用戶下了單但沒付款訂單一直占著庫(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)單。兩種方案寫進(jìn)論文都成立但定時(shí)任務(wù)更容易當(dāng)場(chǎng)演示延遲隊(duì)列更適合寫到「系統(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 配置文件、哪些是下載殘留然后從零開始把依賴裝一遍。這個(gè)過(guò)程走通了你對(duì)這套系統(tǒng)的理解會(huì)比看十遍代碼都深。論文和代碼的對(duì)應(yīng)關(guān)系也要提前梳理——老師讓你「現(xiàn)場(chǎng)改一個(gè)需求」的時(shí)候你改的代碼最好恰好就是你論文里貼出來(lái)的那一段這才叫自洽。希望這篇筆記能幫到正在跟這個(gè)題目較勁的你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天谢天天干| 免费亚洲国产精品久久一区| 国产毛片在线| 狠狠操狠狠操操| 欧美另类自拍 | 艳美熟妇先锋一二三区| 婷婷激情五月天小说网| 亚洲欧美首页| 日韩在线欧美精品一区二区| 欧美乱欲| 亚洲色天堂九9| 天美传媒精品久久视频| 欧美日韩小说| 熟妇一区,二区,三区。| 色网综合网| 中文字幕国产精品1区| 手机看av网站在线看| 一级性爱视频免费观看 | 亚一综合久久久久久久久久| 国产 亚洲 一二三四| 屁股久久久久久| 校园春色 亚洲| 中文字幕久久亚州无码| 人妻 欧美亚洲| 男人成人黄色视频在线观看免费下载| se,,,亚洲欧美| 后X久久| 国产精品免费视频人成| 激情五月丁香五月| 天堂精品在线| 无码人妻丰满熟妇奶水区毛片| 精品超碰中文在线| 丰满人妻一区二区三区在线| 成年女人一区| 国产日韩欧美三级片| 日韩中文字幕精品一区在线| 日日噜噜夜夜狠狠视频无| 香蕉视频欧美一卡二卡| 日本综合色图| 99婷婷一区二区| 火箭成精品视频884必出精品| 青青草国产一区二区三区| 青青青青草av在线观看| 91国产大片| 人妻夜夜爽天天爽麻豆三区网站| 日韩欧美女优电影| www.夜夜操| 人妻激情偷乱视三区频一区二区| 女人午夜视频777| 99久久久久久亚洲精品不卡| 户外裸露刺激视频第一区| 亚洲精品久久久久久久蜜桃臀| 福利五区| 蜜臀久久99精品久久久久电影| 老色鬼成人精品视频下载大在线观看| 青草伊人久久| 亚洲欧美国产精品久久久久久久| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 麻豆人妻精品一区二区| 久久夜精品一区二区三区| 超碰97最新人妻| 中文字幕女同在线| 欧美综合传媒| 天天综合91| 色欧美综合| 精品人妻一区二区三区日产乱码| 熟女探花啪啪| 自偷自拍的亚洲视频| 凹凸视频特色日本特黄| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 99这里只有精品国产| 欧美aa一级片| 精品久热| caopeng97人妻| 黄总AV色图| 日韩精品影视| 国产精品操| 偷拍偷窥与盗摄视频专区| 9久在线视频只有精品| 99国产在线绯色一区| 和协无码影院| 9久9久| 97超碰9| 十八禁视频一区二区| 超碰在线观看av不卡| 中文字幕狠狠玩| 六月丁香网| 美日韩一卡二卡三卡免费人妻精品| 干B视频伊人网| 日韩在线人妻网站| 日本道人妻久久久在线不卡色视频| 妇女一区二区三区| 91九色蝌蚪在线观看| 亚洲欧美国产成人综合不卡| 精品国产乱码久久久久久影片| 天天享受天天看| 情色五月天就去干| 天天躁日日躁XXXXYY| 97精品国产97久久久久久免费| 久草精品国产蜜臀 | 亚洲综合97| 中文字幕日韩人妻视频一区二区三区| 欧美日韩资源在线| 97国产中文| 大学生口爆吞精| 美女久久久久久久久久久| 人人贴人人摸| 日本 欧美 国产一区| 夜夜高潮夜夜爽高清视频一 | 在线观看高清AV| 亚洲天堂综合AV| 人伦四五区| 日韩精品色呦呦| 99精品久久久久久久婷婷蜜桃| 嗯嗯嗯啊啊啊操的我好爽| 少妇高潮九九九九九九九| 国产精品ⅴ无码大片在线看.| 午夜天堂啪啪| 97伊人超碰| 天天狠操| 久久一二三四五六七八九区| 能在线播放的国产三级| 亚洲色91C| 欧美性爱综合,免费| 成人午夜视频免费播放| 超碰97.com| 激情婷婷五月天| 91欧美性| 亚洲欧美一区二区网址| 欧美一区二区在线资源| 九月婷婷| 看一级黄色视频| 极品白嫩福利在线| 人爽不卡视频| 人妻嗯啊啊在线播放| 91n.欧美| 亚洲情色第一页| 97精品一区二区视频在线观看| 黄片免费视频2019| 偷拍超碰| 中国少妇XXXX做受| 亚洲人久久久网| 日韩操p| 伊人操操| 欧美强奸乱| 黑人性暴力毛片| 人妻22p| 91精品操美女| 六月婷婷色综合| 国产精品一区二区密臀| xxx亚洲午夜天堂| 亚洲久久久久| 熟妇高潮精品一区二区三区下载| 色九九九综合| 丝袜美腿制服人妻二区中文字幕| 麻豆区久久久久亚| 青青草九九九九九| 看黄片视频免费| 欧美性色欧美| 一区二区三区日韩欧美| 久草免费在线一区二区| 久久人妻| 人人操人人精品影片| 新久久AV| 欧美亚洲成人在线一区二区三区| 手机在线A片| 人妻出轨一区二区三区| 热九九精品| 午夜啊啊| 1204金沙人妻懂旧版免费| 成人性爱美曰韩| 青青草一区二区高清无码视频| 9久超碰| 黄视频免费| 久伊人网78| 久久的网站啊啊啊啊啊| 亚洲成人久久美女| 欧美一级美片在线观看免费| 91亚洲综合在线| 樱花草社区www中国| 97久久国产精品| 99亚洲天堂| 国产对白刺激视频| 中文操逼字幕| 九色黄站| 国际精品久久久| 色女综合| 男人夜色天堂ss| 1769国内精品视频| 欧美亚洲中文| 91痴汉| 欧美 传媒 麻豆 日韩 偷拍| 日日狠狠久久偷偷色综合免费| 欧美精品精品一区二区| 欧美激情在线观看视频| 青青青草原| 精品人妻一区二区三区夜夜| 啊好大好舒服| 女色视频社区| 国产精品一二三免费网站| 久久精品国产亚洲AV无码做| 东北少妇高潮zzzz| 久久婷婷电影网| 欧美欧美少妇| 久久噜噜噜精品国产亚洲综合| 美女AV一区二区| 宗合情欲网| 亚洲欧洲另类| 黄片在线免费在线观看| 日日日色色色色色| 青青草精品| 91亚州日韩高清| 岛园激情| 日本一区三级韩国| 日本美女性生活久久久久久久| 这里只有精品视频在线| 韩日精品四区| 91人妻丝袜无码| 久久99黄色卞西瓜| 国产欧美精品日韩区二区麻豆天美| 人、人、摸,人、人、草| 奇米四色影视777久久久| 日本高清视频xxxx| 国产对白刺激视频| 亚洲一区二区中文字幕| 免费视频a级毛片免费视频| 日韩AV无码中文一区二区| 国产欧美精选激情视频| 国产精品熟女丝袜一区二区| 麻豆这里只有精品| 东北女人av| 蜜臀av在线播放一区二区三区| 日本精品第一视频在'| 国产伦乱91| 亚洲AV无码国产精品久久久久 | 一牛影视成人片免费| 国产久久成人| 日韩欧美中文日韩欧美色| 亚洲成人美女无吗| 开心五月婷婷激情| 日韩女优中文字幕| 色综和网| 四虎影视国产精品| 欧美亚洲综合高清在线| 最新日日夜夜天天干干| 在线免费观看日韩一区| 人人色人人操在线| 亚州操操穴网| 男人a天堂手机在线版| 亚洲国产欧美中文永久| 亚洲色人妻综合| 日本日日色视频| 欧美色图 人妻| 人妻美腿丝袜日韩| 亚州精品一区二区三区香中文字幕在线| 91视频在线观看18| 精品国产乱码久久久久久网站入口| 亚洲大色堂| 成功精品影院| 欧美老妇女内射网址| 大香蕉综合在线| 精品免费成人久久| 久操凹凸视频| 九九无码久久精品视频| 日日干夜夜骑| 性爱视频啪啪啪啪| 大香蕉碰碰| 农村妇女精品一区二区| 大鸡巴久久| 免费一级精品啪啪视频| 久久黄黄| 亚洲熟女一区| 毛片一区二区| 婷婷九月色| 欧美亚洲影视| 外国免费性情大片| 人妻激情偷乱视三区频一区二区| 99九九久久| 国产精品成人午夜福利| 欧美日韩不卡传媒| 十八禁av无码免费网站APP| 色色激情五月天| 欧美与日韩97| 日本成人A片网站| 伊人久久大香线综合无码| 大色综合网| 亚洲天堂自拍| 中文字幕丰满子伦无码专区在线视频最新 | 欧洲乱码一区二区| 综合第一页| 伊人五月天激情| 亚州操操穴网| 清纯唯美亚洲综合| 国产少妇与亚洲av| 欧美日韩中文字幕人妻| 六月丁香久久| 高精欧美色| 玖玖玖玖精品国产剧情| 97在线观视频免费观看| 素人一区二区三区日韩| 在线啊啊啊啊| 91精品无码久久久久久久| 欧美淫穴| 懂色aV一区二区天美传媒| 九热视频| 亚洲骚逼少妇| 天天舔天天 | 多毛小伙内射老太婆| 亚洲综合色男人网| 国内毛片欧美香蕉精品| 夜夜嗨av午夜成人| 九九热久久99精品re| 国产精品久久久久绯色| 日韩无码极品| AV丝袜东京热| 国产女生在线| 91狠狠综合久久| 激情五月综合网| 日韩欧美女求操每天更新| 99久久9| 亚洲丨在线| 很很干很很操| a亚洲欧美色欲| 熟妇艹鸡八| 狠狠2050在线观看| 国产精品久久久九九九| 久久无码成人| 久久久精品九| 先锋精品av色鲁| 日韩性爱啪啪视频| 岛国人妻少妇av在线观看| www.国产高潮精品| 亚洲天天操| 超碰97玖玖爱| 国产18精品亚洲精品| 亚洲精品蜜桃久久久| 久久国产热视频97电影| 91n处女在线观看| 999熟女精品| 色情五月丁香| 高清有码一区二区| 欧美日韩亚洲电影| 国产丝袜视频| 久久91精品国产9丨久久分亭 | 91免费看中出视频| 国产超碰在线一区| 九九热精品| 成人性爱AV在线免费观看| 日韩人妻丝袜美腿中文| 亚洲色图久久成人| 91精品国产麻豆国产自产在| 无码免费在线观看黄色片| 91欧美性| 欲色影视综合吧| 亚洲精品美女久久久久久久久| 亚洲se91| 日日干夜夜欢| 色女综合| 亚洲国产精品久久久久久久久久| a级成人毛片免费视频高清| 美女久久久久久久久久久| 日韩中文字幕2020| 日本美女性生活久久久久久久| 天天色天天干天天射| 无码78| 亚洲欧美在线综合| 亚洲国产一级中文综合久久天堂在线免费观看| HEYZO高无码国产精品227| 91操熟女| 香蕉久久国产AV一区二区| 四虎精品永久在线播放| 九九热re99re6在线精品| 欧美大香蕉97| 91色碰| 婷婷丁香六月| 综合免费无码中文| 国产乱伦亚洲色图高清无码| 午夜性生活av免费在线看| 欲综合网| 国产精品一区在线播放| 国产精品久久久午夜夜伦鲁鲁| 国产女同性恋视频| 国产中文福利| 精品97精品97| 内射黑人| 亚熟在线| 欧美最婬乱婬爆婬性视频| 日韩Va亚洲va欧美Ⅴa久久| 97欧美日韩| 99re6国产精品99re| 99精品在线| 入口操逼网站| 欧美黑人精品在线播放| 国产v片在线免费观看| 久久六六| 加勒比综合| 久久久97| 亚洲精品国产熟女| 天天综合网日韩7799| 日本免费人成视频播放120秒| 国产强奸AV在线| 乱伦熟女论坛| h4610国产人妻| 美女视频尤物网在线看| 一级黄色性爱A级片| 久久久新亚洲AV| 久久九色| 欧美性生活免费网| 国产高清无码一区二区三区四区皇冠| 黄片直播三级黄片两女一男| 久久久久熟女| 射综合网| 久久草草亚洲蜜桃臀| 亚洲高清无毛一区二区| 中文字幕乱在线伦视频中文字幕乱码在线 | 少妇蜜汁| 精品一区二区三区蜜桃臀www| 久久久久网站-538在线视频-欧美永久乱码 | 青青青草伊人精品| 91激情综合| 男生通女生屁股| 天天久久| 国产精品自拍xxxx| 五月花婷婷| 欧美熟妇精品黑人巨大一二三区| 伊人一区二区三区| 抽插一区二区视频| 亚洲一区二区在线观看91| 日韩精品人妻一区二区| 无码高清少妇久久| 亚洲无码色| 九九热五区| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 99热99re超碰精品| 国产久久男人天堂| 60秒不遮不挡| 97人妻免费中文字幕| 日本一级一级一级一级| 性性久久| 欧美色偷偷| 欧美性爱日韩性爱| 婷婷日韩一区二区三区中文字幕在线| 天天天天天天天天综合| 麻豆精品.欧美精品.日韩精品.| 欧美gv在线观看| 极品极品色影院| 婷婷国产精品九区| 激情综合 婷婷五月 红杏| 超碰九7| 亚洲成人在线高清| 久久五月份| 日日摸日日碰| 亚洲精品久久久久毛片A片拉屎 | 91福利网在线观看| 久久思思热| 97在线观看免费视频l| 玖玖爱影院| 在线人人人人人人精品超 | 秋霞操逼片| 欧美精品999| 欧美91在线+|+欧美| 欧美高清第一页| 国产67194| 无码人妻系列少妇| 国产探花日韩援交| 狠狠干狠狠干| 凌辱美少妇久久aV| 色婷婷99| 蜜桃AV天堂| 曰本人妻人人澡人人夹| 97 国产一区| 日韩三级伊人| 插入综合网| 熟妇人妻丰满久久久久久久无码 | 99啪啪视频| 香蕉视频精品亚洲一区二区三区在线播| 嫩草一区二区在线观看| 白丝少妇一区二区| 日本色色视频网站| 91激情网| 亚洲成人一区二区精品| 偷拍色图| 欧美三级中文字幕hd| 加勒比AV天堂| 18禁美女裸体无遮挡啪啪| 男生女生啊啊啊啊| 超碰在线观看av不卡| 国产精品视频| 久久精品国产AV一区二区三区| 亚洲第一成人影院色播| 性欧美91| 大香蕉 222| 99婷婷一区二区| 99re8超碰| A级国产欧美激情在线| 国产视频一区二区在线| 岛国黄片网站| 亚洲日韩乱码中文无码蜜桃臀网站| 久久午夜鲁丝片| 日韩丝袜高跟制服在线观看| 日韩乱中文| 久久亚洲日韩熟女精品| 男人天堂久久精品| 日韩黄片视频试看| 不卡六六在线91| 91狼人| www.91视频网| 91+欧美| 欧美强奸乱能| 强乱老妇中文字幕| 精品人妻一区二区三区-国产精品| 日韩av无码网站| 久久免费精品96| 国产97视频免费观看| 97亚洲色图| 日韩一区二区熟女| 免费国产视频| 欧美日韩一干二干| 久久精品美女一区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 乱伦a片视频| 天堂日本亚洲欧美| 欧美一区二区观看在线| 大香蕉99999| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 密乳AV免费观看| 208天天久久九九九| 天天综合在线4| 无码精品久久久天天影视| 久久精品国产97欧美精品亚洲 | 天天色,天天干,天天干| 国产一区在线看| 妇女视频网站| 久久久久人妻| 免费?级毛片无码?∨蜜芽试看| 91激情综合| 大香蕉碰碰| 欧美一区二区三区四区综合| 国产视频大全| 久久久婷| 婷婷情色综合网| 探花一区在线| 免费啪啪av| 97超碰护士| 十八禁电影伊人网| 日韩ab网| 观看视频图片一区二区三区| 五月婷婷色| 黄色片大香蕉| 永久免费发布性爱网| 国产精品点击进入在线影院高清| 偷拍亚洲情色| 东方亚洲在线操逼天堂| 免费9 1久久| 鲁鲁色综合网| 色婷婷丁香五月| 国产亚洲日本精品在线| 亚洲最大成人a毛毛片| 高清有码一区二区| 蜜臀久久99精品久久久久| 中文字幕熟女人妻丝袜丝| 国产1727欧美| 蜜桃久久久久久久久久久久| 九九热视频这里只有精品| 99久久com免费视频′| 五月婷丁香| 我爱大香蕉| 97香蕉碰碰人妻国产欧美| 97人妻免费中文字幕| 看大黄色大片原件| 超碰国产精品久| 国产精品永久免费10000| 欧美九九九九九| 欧洲亚洲天堂精品| 色在线69堂| 亚洲日韩少妇一道本视频| 东北女人操比视频| 97jingpin| 性感美女啊啊啊在线| 人妻五十路在线| 夜夜做夜夜爽精品视频| 丝袜视频网国产90| 无码粉嫩白虎一线天b区| 啊啊啊啊嗯嗯在线久久久| 婷婷激情丁香| 婷婷色综合欧美日韩| 测评在线观看AV| 91精品微拍福利| 18禁网站在线播放| 日本三级R| 欧美激情综合色综合啪啪五月| 99精品在线| 蜜臀AV一区二区三区激情综合| 国产自产91区13区| 玖玖草久草99蜜月一区二区三区| 春色综合免费| 久久久久久久97| 青青操网| 人妻精品一区二区在线| 长长久久88视频| 人妻天天爽夜夜爽爽| 人妻 欧美 中文| 少妇久久久免费| 色与欲影视| 亚洲精品成人动漫在线| 搡老熟女老女人老熟妇免费视频| 3571色综合一区二区二区| 中文字幕乱碼在线| 久久精品国产97欧美精品亚洲 | 天天综合,91综合永久| 日本在线视频导航| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 一级做a爰片性色毛片久久| 国产乱伦性爱区| 91狼人| 在线 亚洲 网爆 自拍| 久久 久久国内精品亚洲| 久久人妻熟女一区二区| 性爱综合一区二区| 婷婷色播婷婷| 91久久国产综合精品| 殴美色网| 亚欧成人综合影院| 乱人伦 国语对白:视频直接看| 日本99一区二区| 久久岛国| 日本一级性爱| 99色婷婷中文字幕乱色| 午夜毛片亚洲精品片国产久久久| 超碰成人公开| 日韩中文字幕熟妇人妻| 无马一区二区| 亚洲 一区二区 自拍| 美女人妻色网站| 日韩91网| 人人射人人操人人摸| 青青色综合| 亚洲熟女av中文字幕| 亚洲国产精品无码AV在线| 欧美少妇大量自拍视频在线观看| 偷拍亚洲情色| 国产高清MV操逼视频| 婷婷激情一区二区三区俺也去| 激情啪啪视频| 不卡av在线中文字幕| 4399成人黄A片| 亚州色站 日韩电影| 超碰色美女| 性夜影院爽黄A爽免费动漫| 久久久91福利姬| 亚洲影视综合| 久热9| 九九久精品| 精品国产丝袜一区二区三区乱码| 欧美中文字幕一区| 肉动漫无遮挡h在线观看| 亚洲人人操| 久久久91| 91美女丝袜诱惑视频| 狠狠入| 久热婷婷| 亚洲男人的天堂va亚洲男人社| 免费观看啪视频| 蜜桃天美传媒AV一区二区三区| 久久午夜鲁丝片| 欧美少妇第一页| 高清国产无码av| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | WWW黄片COM| 亚洲色综网| 天天躁日日躁XXXXYY| 夜夜免费视频| 国产精品午夜高潮呻吟久久av| 亚洲国产中文字幕| 黄片www.| 日韩精品 欧美激情| 欧美成人精品A片免费一区99| 亚洲天堂人妻熟妇视频| 亚州欧美一区| 97九色人妻| 日韩无码AB| 干b在线性社区| 欧插网站| 中文字幕视频2区| 天天欧美欧美亚洲网| 人人妻人人狠人人| 久久精品店| 26uuu性| 精品人体无圣光凹凸| 色y情视频免费看| 国产精品亚洲无码| 无码免费在线观看黄色片| 黑人精品XXX一区一二区| 久久精品一区二区一8| 1769成人国产精品视频| dy888午夜老子影视达达兔| 唯美清纯 妖精视频| 国产AV中文| 诱惑网综合| 1000部熟女视频在线观看| 色哟哟AⅤ| 无码免费在线观看黄色片| 欧美日韩午夜精品一区二区三区| 97超碰人人模人人拍人人| 免费av在线播放二区| 高清无码在线播放网站| 久久精品国产72国产精品福利| 无码人妻丰满热妇又大又粗| 亚洲超碰在线| 欧美拳交在线播放| 超碰99热中文字幕| jiujiujiujingpin| 欧美激情 亚洲色图| 日本欧美不卡| 99re99在线视频| 日韩成人高清一区二区| 日韩99精品视频综合区| 性爱1区| 在线观看一卡二卡| 78精品在线| 丰满熟女人妻一区二区三五十一路| 精品一区二区久久| 丁香九月婷婷| 日韩欧美午夜一区二区| 亚洲AV无码乱码在线观看性色| 这里只有精品视频| 欧美变态激情网| 一本大道久| 国产中文字幕在线点播| 伊人影院综合是一个与深夜成人在线 | 激情综合亚洲| 亚洲aw毛茸茸在线| 欧美在线大香999| 欧美亚洲中文| 欧美刺激色黄片免费看| 天天操女人| 激情视频图片| 国内毛片欧美香蕉精品| 91精品伊人久久久大香线蕉91| 天天做天天爱天天高潮| 久久久禁| 伊人网高清| 欧美人妻精品一区二区| 偷拍伦理视频| 东京热伊久| 青青操网| 久久久久久国产成人| 激情婷婷| 91爱欧美| 91成人高清在线观看| 日本综合久久| 美女91色黄18| 超碰精品日韩欧美国产| 99热在线观看| 欧美传媒一区| 国产精品国产自产高清AV| www.夜夜| 日韩精品资源| 亚洲第一免费视频| 五月天色图| 老熟乱一区二区三区四区| 久久久免费的精品| 中文97国产| 一级性爱网| 在线只有精品| 亚洲区 欧美区| 首页中文字幕中文字幕免费| 福利天堂| 自拍内地三级在线观看| 久久人妻四季| 亚洲在线91| 人人透人人操| 色综合超碰超| 日本ZZ高免费A级视频| 人人插人人摸人人| 精品一久久久| 老外又粗又长一晚做五次| 亚洲av夫妻操穴网| 欧美黄页| 成人资源中文字幕在线观看天天| 天天干人人乐| 欧美黄片视频在线观看免费 | 九一屌逼| 亚洲深夜福利| 日韩一区二区精品视频| 欧美情色亚洲| 亚洲男人天堂2019| 97这里有精品| 久久发布国产伦子伦精品| 亚洲人久久久久日| 久操高青| 午夜成人爽爽爽爽A片李冰冰| 日本有码影片下载| 无码国产精品96久久久久孕妇| 欧美日韩情色一区二区| 不卡在线观看视频| 96爱综合| 综合国产影视三级| 婷婷久草| 欧美黄色大香蕉一区二区| 日韩欧美女求操每天更新| 2024人人操人人摸| 欧美在线视频99| 另类图片五月天| 丁香六月天| 狠狠干91| 天天综合精品| 精品视频一区二区| 色爱欲亚洲| 久操操AV电影| 亚洲免费看片| 偷拍综合网| 色好看av| 户外裸露刺激视频第一区| 天操天操夜操夜月月年年操操| 少妇滛荡视频| 精品九区| 超碰97最新人妻| 国产精品69人妻无码久久久| 97中文字幕一区| 五月婷婷六月色| 92性色国产午夜福利在线661| 欧美在线啊啊啊| 免费一级毛片在线视频观看| 600国产精品视频| 欧美激情超碰777| 日本羞羞的视频在线播放| 69人妻精品丰满熟女区| 51一区二区三区| 亚洲欧美黄| 欧美精品双插| 丁香五月婷婷基地| 17c嫩草51久久91嫩草| 日本中文字幕一区| 五月婷婷六月色| 黄色激情电影在线观看| www.成人无码| 亚州再线| 欧美一级黄片免费播放| 亚洲性爱成人| 午夜操操操| 99xav| 丁香六月啪| 亚洲精品三区在线观看| 亚春色色| 久久99草| 亚洲18禁| 1024日韩| 思思热国产在线视频| 国产精品久久久啊| 爱丝福利| 国产视频小说| 91N欧美| 91人妻Pr| 欧美亚洲第一页| 操国产高清| 人妻 欧美亚洲| 性生活无遮挡纯毛片在线看| 婷婷久久五月天| 欧美亚洲日本视频久久久| 东北女人无套内谢视频| 久夜操| 欧美激情久久久久| 精品国产一区二区久久| 一起草精品人妻| 伊人一区二区在线播放| 久久久久久久| 超碰久草| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 大香蕉亚洲中文| 国产偷人伦激情在线观看| 啊啊啊啊嗯嗯在线久久久| 蜜桃精品视频一区| 亚洲熟妇熟在线电影视频| 1024人妻熟女一区二区三区| 国产成人无码a| 天天摸天天操视频| 人妻丰满熟妇av无码区蜜桃| 97网址www| 亚洲春色激情小说| 日人妻视频91| 很黄很色的视频在线观看| 亚洲 无码 偷拍| 日韩小电影| 中文字幕人妻丝袜| 操比国产| 蜜桃无码AV一区二区| 日本欧美一区二区三区免费| 久久久久免费看少妇A片特黄| 测评在线观看AV| 青青草五月份天| 欧美啪啪天堂| 精品国产久久乱码| 九九九草| 今日头条成人一区二区三区四虎精品| 78p欧美| 色色色色色色色色色色色色色色综合| 超踫中文字幕| 亚洲日韩成人性爱视频| 亚洲古典另类欧美在线| 视频国产精品未满十八禁止在线观看| 国产精品嫩草影院午夜两性| AV中亚| 20cm女自慰在线日韩欧美| 91亚洲综合| 啊啊啊想要| 激情五月天中文字幕色| 最新日本中文字幕| 波多野结衣之双飞调教在线播放| 久久久久久久久久久免费精品| 国产精品成久久久久午夜午夜| 天天看天天日天天操| 屁股久久久久久| 亚欧色图在线激情| 69XX一中文字幕人妻91| 久操网址| 久久精品国产亚洲AV无码电影| 影音先锋乱| 精品国产www久久| 去干网最新版| 色婷婷丁香五月天| 激情开心五月天| 久草成人福利导航| 国产日韩精品一区二区三区| 麻豆AV短剧| 东方亚洲在线操逼天堂| 欧美综合色| 另类天堂| 亚洲视频1区| 0755午夜福利视频| 少妇熟女一区二区三区| 中文字幕99999| 亚洲无码国产探花在线观看| 成人无码在线超碰网| 亚洲1区2区三区高清中文字幕| av天堂5| 久久黄黄| 久久久久久久少妇| 校园春色家庭伦理欧美激情| 果冻传媒A片麻豆熟妇人妻| 91亚洲色图| 操逼www.| 色色五月丁香| 美女诱惑在线一区| 亚洲欧美综合图片| 一二三区操逼国产91| 亚洲第一狼人丝袜美女另类| AAA久久| 亚洲不卡AV在线| 久久久精品一区二区| 亚洲久9| 亚洲图片色图欧美另类| 欧美一区二区亚洲天堂| 性感女人网页在线观看视频| 激情欧美日韩女同久久| 精品无码久久| 白丝AV| 久久99午夜精品一区人妻| 97午夜剧场日韩| 亚洲日韩久久精品一区| 中文字幕在线免费观看 | 日韩成人午夜精品久久高潮| 91欧美www| 国产精品久久久久久久AV大片 | 黄片免费日韩| 久久一区二区三区入口| 日韩成人午夜精品久久高潮| 69久久| 高清一区AV无码| 国产精品交换一区二区| 欧亚揄拍偷拍精品视频| 中国少妇啪啪视频| 国产AV高清AV无码| 天堂精品小草| 欧美爱爱97| 欧美成人黄网色网站| 欧美大香蕉97| 中文字幕在线免费观看2| 不卡啪啪视频| 夜夜综合| 国产精品久久蜜乳av| 国产亚洲精品第一最新| 狠狠操一区二区| 肏逼视频日本| 夂久色| 欧美综合自拍亚洲综合图| 欧美日韩国产另类综合| 国产馆极品诱惑| 欧美翘臀视频网站一区二区三区| 成人5码视频| 自拍二页| 无码精品久久久久久亚洲| 五月天色图| 日韩欧亚中文在线| 色视频蜜乳| 天天操av懂色| 色香av| 色婷婷久久| 9Ⅰ超碰| 久热9| 舔人妻中文免费视频| 久久av成人无码免费| 偷拍欧美激情| 高清国产无码av| 亚洲熟女国产综合另类| 国产久久久久久| 亚洲综合小说另类图欧美视频激情小说色五月天| 夜夜福利| 三级激情网站| 欧美后入视频| 91午夜无码| 狠狠亚洲| 伊人女女资源在线观看| 中文在线视频| 日本在线播放不卡一区| 亚洲色棕合| 约操熟妇| 日韩成人人妻网站| 日韩成人大片在线观看| 亚洲图片视频小说| 日韩另类| 黄页av| 骚货| 亚洲av综合伊人久久| 久久免费看高潮毛片韩国| 精品视频一二三中文| 蜜臀AV一区二区三区激情综合| 蜜臀在线视频| 亚洲综合网图| 不卡av在线中文字幕| 91色图片| 亚洲砖码砖专无区2023| 久久久天堂| 天天综合91在线| 一二三区操逼国产91| 色www精品视频在线观看| a片偷拍视频| 亚洲AV乱码专区国产噜噜亚洲| 2020中文在线一区二区三区| 日本黄页视频在线观看| 欧美极度丰满熟妇hd| 精品国产乱码久久久A| 91啪9色| 日日插夜夜| 久久久久久久久久久精| 狠狠狠狠狠| 91香蕉视频在线观看免费| 色香综合天天影视综合| 91碰碰碰| 立川理惠被中出无码 | 欧美日韩免费性爱| 亚洲精品黑丝| 99亚亚热| 中文人妻av高清一区| 精品人妻15区| 日本不卡高清免v欧美日韩在线观看| 欧美A片中文字幕| 国产精品夜夜夜| 嗯~啊~快点 死我视频| 国产欧美精选激情视频| 成人精品久久| 中美日韩毛片| 91黑人无码激情在线| www.亚洲黄色| 亚洲激情欧美色图 | 视频黄色国产一级| 欧美宗合网| 亚洲AV无码天美传媒一区| 国产高清精品福利| 久久精品| 天天干夜夜操一区二区| 日韩丝袜人妻AV| 91狠狠综合久久久久久| 99操99| 日本操逼视频免费| WWW美腿丝袜香蕉中文| 志村玲子视频一区二区| 91午夜无码| 国产精品内射婷婷一级二| 疯操AV| 色诱avtt| 国产精品麻豆成人AV艾秋| 人人妻人人狠人人| 国产亚洲精品一区二区三区| 91精品婷婷国产综合久久| 三级片大波波| 麻豆国产免费影片| 中文字幕人成乱码熟女香港| 欧美性色欧美| 密臀AV在线| 精品视频久久久久九九九九9999| 久久东京伊人一本到鬼色| 九九九九精品九九九九| 涩亚洲欧洲| 色综合一区二区三巨| 日本中文字幕在线电影| 国产A v无码专区| 视频国产欧美在线播放| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 嗯啊抽插大香蕉网页| 一区二区三区精品黑丝白丝酒店对鸡 | 密乳视频在线| 国产美女高潮视频| 久久人妻少妇| 级品肉射| 女同在线视频一区| 99热18| 日本日皮视频逼| 欧美十八禁导航成人| 五十路三区在线| 欧美色性情| 久久久一区二区三区麻豆| 少妇激情AV| 日韩色女精品| 久久中久文96| 91欧美巨乳| 中文字幕av丝袜| 天天亚洲综合| 欧美综合在线91| 好吊色一区| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 97精品97久久| 精品无码人妻一区二区免费蜜桃| 久久熟妇五十路一区| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 蜜臀国产AV中文字幕| 天天插天天操| 日韩精品中文字幕二区| 日韩不卡av一二三| 在线无码视频| 亚洲黄网在哪免费看| 国产一区二区视频在线播放| 亚洲一区二区精品福利| 亚洲AV无码国产成人| 色99在线| 欧美嫩性色| 免费视频在线观看啊啊啊啊啊| 日韩av乱伦| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 久久色激情一区二区三区| 成人网欧美风情| 亚热日本熟女| 欧美综合传媒| 蜜臀久久99精品久久久久电影| 97AV在线观看| 日韩免费中文字幕视频| 日韩无码精品综合久久| 中文字幕奈奈美被公侵犯| 婷婷AV一区二区三区| 9色在线| 人人澡人人爽人人精品| 日韩AV电影网站| 亚洲不卡av在线| 亚洲欧美日韩电影网站一区| 色九九九九九九| 玖玖爱影院| 国产日韩精品无码去免费专区国产| 午夜国产成人精品视频| 中国探花熟女|