亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

蒼穹外賣項(xiàng)目實(shí)戰(zhàn):Spring Boot + Redis 構(gòu)建完整O2O訂單系統(tǒng)

蒼穹外賣項(xiàng)目實(shí)戰(zhàn):Spring Boot + Redis 構(gòu)建完整O2O訂單系統(tǒng) 做這個(gè)項(xiàng)目之前我在本地跑過不少零散的接口demo但真正動(dòng)手把“蒼穹外賣”這套完整項(xiàng)目從頭到尾捋下來之后才感受到一個(gè)線上級(jí)業(yè)務(wù)系統(tǒng)涉及的東西遠(yuǎn)不止CRUD那么簡單。這套外賣系統(tǒng)很像一個(gè)濃縮版的商業(yè)中臺(tái)用戶端小程序、商家端后臺(tái)、管理端控制臺(tái)外加一整套訂單流轉(zhuǎn)、購物車、支付回調(diào)、配送提醒、數(shù)據(jù)統(tǒng)計(jì)的鏈路。無論你是準(zhǔn)備畢業(yè)設(shè)計(jì)、想寫進(jìn)簡歷的練手項(xiàng)目還是想搞明白“一個(gè)真實(shí)業(yè)務(wù)系統(tǒng)怎么從零搭起來”這個(gè)項(xiàng)目都能給你很完整的參照系。主后端用的是Spring Boot持久層用了MyBatis也有一版是MyBatis Plus緩存交給Redis登錄鑒權(quán)走JWT前后端分離管理端用Vue構(gòu)建。整個(gè)開發(fā)過程里最難的部分不是某個(gè)算法而是“多個(gè)模塊之間怎么把狀態(tài)同步好”——訂單狀態(tài)怎么變、庫存什么時(shí)候扣、超時(shí)單怎么處理、WebSocket怎么把配送狀態(tài)推給用戶。這篇文章我會(huì)把你需要關(guān)注的模塊設(shè)計(jì)、關(guān)鍵實(shí)現(xiàn)、部署細(xì)節(jié)以及我實(shí)際調(diào)試過程中踩過的坑全部拆開講盡量做到你照著往下走就能復(fù)現(xiàn)。1. 項(xiàng)目全貌與技術(shù)選型拆解1.1 為什么叫“蒼穹外賣”它在解決什么問題“蒼穹外賣”是一個(gè)典型的O2O外賣平臺(tái)項(xiàng)目名字本身是代號(hào)你可以把它理解成一套“小美外賣”或“某外賣系統(tǒng)”。它模擬真實(shí)外賣平臺(tái)的核心閉環(huán)用戶瀏覽菜品、加入購物車、下單支付模擬、商家接單、騎手配送、用戶確認(rèn)收貨同時(shí)管理端還承擔(dān)分類管理、菜品管理、套餐管理、員工管理、訂單查詢和數(shù)據(jù)統(tǒng)計(jì)等功能。這個(gè)項(xiàng)目最大的價(jià)值在于覆蓋面廣它不是簡單的“增刪改查”而是把真實(shí)的業(yè)務(wù)狀態(tài)機(jī)、并發(fā)控制、緩存策略、權(quán)限模型都融入進(jìn)來了。比如用戶端需要處理購物車勾選的一堆菜品下單時(shí)要同時(shí)考慮起送價(jià)、配送費(fèi)、訂單總金額和結(jié)算明細(xì)商家端要能看到新訂單并執(zhí)行接單/拒單管理端要能按時(shí)間段查詢營業(yè)額和用戶下單趨勢。任何一個(gè)環(huán)節(jié)如果只寫表面接口都會(huì)在聯(lián)調(diào)時(shí)出問題。對(duì)于開發(fā)者來說它解決了“只會(huì)寫CRUD不知道業(yè)務(wù)怎么串聯(lián)”的痛點(diǎn)。你會(huì)真實(shí)地感受到一個(gè)訂單從創(chuàng)建到完成需要哪些表需要哪些狀態(tài)字段什么時(shí)候用Redis存購物車什么時(shí)候必須落到MySQL什么時(shí)候用定時(shí)任務(wù)去處理超時(shí)未支付訂單。這些經(jīng)驗(yàn)在面試和實(shí)際工作中都非常關(guān)鍵。1.2 技術(shù)棧清單與選型理由先列一份我在項(xiàng)目中實(shí)際使用的技術(shù)棧集合方便你對(duì)照環(huán)境層次技術(shù)選型說明后端Spring Boot 2.x主框架快速搭建RESTful服務(wù)持久層MyBatis含MyBatis Plus封裝靈活編寫SQL應(yīng)對(duì)復(fù)雜報(bào)表緩存Redis緩存店鋪營業(yè)狀態(tài)、購物車數(shù)據(jù)存儲(chǔ)JWT黑名單鑒權(quán)JWT Spring Interceptor無狀態(tài)登錄校驗(yàn)數(shù)據(jù)庫MySQL 5.7/8.0存儲(chǔ)持久化業(yè)務(wù)數(shù)據(jù)前端用戶端微信小程序原生或uni-app貼近真實(shí)C端場景前端管理端Vue Element UI管理后臺(tái)界面接口文檔Knife4j / Swagger前后端聯(lián)調(diào)必備部署Linux Nginx Docker可選模擬線上環(huán)境選型背后的邏輯我需要多說幾句。Spring Boot在Java生態(tài)里就是“約定優(yōu)于配置”的代言人起步快并且社區(qū)資料極其豐富。MyBatis和JPA的爭論一直存在但這個(gè)項(xiàng)目里我選MyBatis是因?yàn)楹芏嗖樵兩婕岸啾黻P(guān)聯(lián)、動(dòng)態(tài)條件、金額統(tǒng)計(jì)MyBatis的SQL可控性更強(qiáng)出現(xiàn)慢查詢時(shí)可以直接在XML里優(yōu)化。Redis在這里不是裝飾品而是真實(shí)承擔(dān)了高頻讀寫業(yè)務(wù)外賣系統(tǒng)里的店鋪營業(yè)狀態(tài)每天被看好幾次購物車數(shù)據(jù)用戶改來改去寫在MySQL里不僅要頻繁建會(huì)話表壓力也大放在Redis里天然帶過期時(shí)間數(shù)據(jù)結(jié)構(gòu)又支持Hash和List非常契合。JWT則解決了分布式場景下的會(huì)話共享問題。雖然單體項(xiàng)目用Session也可以但JWT更接近現(xiàn)在的主流架構(gòu)習(xí)慣登錄后服務(wù)端不保存用戶會(huì)話只需要在攔截器里校驗(yàn)Token的簽名和有效期這樣后續(xù)如果要把服務(wù)拆成多實(shí)例也無須額外同步Session。1.3 系統(tǒng)角色與模塊劃分我從實(shí)際開發(fā)的角度把整個(gè)項(xiàng)目拆成三大塊用戶端小程序/移動(dòng)H5登錄、瀏覽分類與菜品、購物車、下單、支付結(jié)算模擬、查看訂單狀態(tài)、催單。商家端管理后臺(tái)一部分主要是商家或店員視角管理菜品、接收新訂單、訂單狀態(tài)流轉(zhuǎn)比如接單、配送中、完成。管理端平臺(tái)運(yùn)營視角員工管理、分類與菜品管理、套餐管理、訂單綜合查詢、營業(yè)數(shù)據(jù)統(tǒng)計(jì)、工作臺(tái)運(yùn)營概覽。為什么要把商家端和管理端分開真實(shí)外賣平臺(tái)中商家只能管理自己的店鋪平臺(tái)運(yùn)營可以查看全量數(shù)據(jù)。這個(gè)項(xiàng)目里Model劃分雖然沒有搞微服務(wù)那么重但Controller層的包結(jié)構(gòu)、權(quán)限攔截、角色判斷還是要提前設(shè)計(jì)好。我一開始就是把所有接口都堆到同一個(gè)Controller里后面發(fā)現(xiàn)要么是權(quán)限混亂要么是字段輸出到前端時(shí)互相干擾所以項(xiàng)目里凡是標(biāo)識(shí)了admin的路徑都統(tǒng)一管理凡是/user路徑都走用戶身份判斷形成約定后代碼好維護(hù)很多。2. 數(shù)據(jù)庫設(shè)計(jì)與核心表結(jié)構(gòu)解析2.1 業(yè)務(wù)實(shí)體拆解做任何項(xiàng)目數(shù)據(jù)庫設(shè)計(jì)都是地基。我最初設(shè)計(jì)這張表清單花了兩天時(shí)間來回調(diào)整了三版。最終的核心表大概包括員工表employee管理端登錄賬號(hào)包含賬號(hào)、密碼加鹽加密、狀態(tài)。分類表category類型區(qū)分菜品分類和套餐分類名稱、排序、是否刪除。菜品表dish菜名、圖片、價(jià)格、描述、所屬分類、狀態(tài)啟售/停售。口味表dish_flavor很多菜品需要選辣度、規(guī)格一對(duì)多。套餐表setmeal包含套餐價(jià)格、分類、狀態(tài)。套餐與菜品關(guān)聯(lián)表setmeal_dish多對(duì)多關(guān)系。用戶表user微信端用戶信息openid模擬、昵稱、手機(jī)號(hào)。地址簿表address_book收貨人、手機(jī)號(hào)、詳細(xì)地址、標(biāo)簽家/公司。購物車表shopping_cart其實(shí)可以用Redis但落庫版本能把購物車持久化到MySQL表里存用戶ID、菜品ID、口味JSON、數(shù)量、金額。訂單表orders訂單號(hào)、用戶ID、地址快照、金額明細(xì)、狀態(tài)、下單時(shí)間、支付時(shí)間、預(yù)計(jì)送達(dá)時(shí)間。訂單明細(xì)表order_detail一個(gè)訂單對(duì)應(yīng)多個(gè)菜品記錄菜品快照信息。工作臺(tái)相關(guān)統(tǒng)計(jì)表一般實(shí)時(shí)計(jì)算不單獨(dú)建表。這里想強(qiáng)調(diào)兩個(gè)容易被忽略的設(shè)計(jì)點(diǎn)。第一訂單表里一定要存地址快照和菜品快照而不是通過外鍵去關(guān)聯(lián)用戶地址表和菜品表。否則用戶以后改了地址或者菜品下架改名歷史訂單的數(shù)據(jù)就全部亂掉了。第二金額字段要用decimal(10,2)不能用float或double這個(gè)面試?yán)锊戎懈怕蕵O高——二進(jìn)制浮點(diǎn)數(shù)在累加時(shí)會(huì)出現(xiàn)0.10.2不等于0.3的問題訂單金額錯(cuò)了可沒法交代。2.2 訂單狀態(tài)流轉(zhuǎn)與關(guān)聯(lián)設(shè)計(jì)訂單是這個(gè)系統(tǒng)的核心我們把狀態(tài)機(jī)設(shè)計(jì)為狀態(tài)值含義對(duì)應(yīng)的用戶操作1待付款用戶下單后未支付2待接單已支付等待商家確認(rèn)3已接單商家已接受制作中4配送中騎手正在配送5已完成用戶確認(rèn)或自動(dòng)完成6已取消用戶取消或超時(shí)取消7退款售后狀態(tài)模擬狀態(tài)之間絕不能亂跳比如待付款狀態(tài)下是不能直接改成配送中的。我代碼里在Service層寫了一個(gè)統(tǒng)一的狀態(tài)校驗(yàn)方法不允許非法狀態(tài)躍遷。在訂單表里還設(shè)置了一個(gè)字段區(qū)分是用戶取消、商家拒單還是超時(shí)取消便于后續(xù)統(tǒng)計(jì)取消原因。和訂單關(guān)聯(lián)最緊密的就是明細(xì)表。明細(xì)表不需要和菜品表做強(qiáng)關(guān)聯(lián)因?yàn)椴似繁碜侄慰梢噪S便改但明細(xì)要保留當(dāng)時(shí)的價(jià)格。如果你在管理端改了菜品價(jià)格然后回頭查歷史訂單發(fā)現(xiàn)金額變了那就是關(guān)聯(lián)設(shè)計(jì)出了問題。這是我實(shí)際開發(fā)中遇到的真實(shí)問題所以快照思路要嚴(yán)格執(zhí)行。2.3 數(shù)據(jù)庫設(shè)計(jì)的幾個(gè)坑第一個(gè)坑是時(shí)間字段的時(shí)區(qū)問題。MySQL里如果連接參數(shù)沒有設(shè)置serverTimezoneAsia/Shanghai入庫的時(shí)間會(huì)和本地時(shí)間差8小時(shí)。訂單的統(tǒng)計(jì)是按天來的時(shí)區(qū)一亂營業(yè)額統(tǒng)計(jì)就大概率偏移。第二個(gè)坑是邏輯刪除。很多表都加了deleted字段但查詢時(shí)稍不注意就把已刪除的分類也查出來了。我采取的方案是MyBatis配置全局的邏輯刪除字段并在業(yè)務(wù)層通過構(gòu)造查詢條件強(qiáng)制過濾。第三個(gè)坑是索引設(shè)計(jì)。訂單表數(shù)據(jù)量一旦上來如果沒對(duì)user_id和status建聯(lián)合索引按用戶查歷史訂單、按狀態(tài)列訂單都會(huì)走全表掃描。我的建議是order_no做唯一索引user_idstatus做聯(lián)合索引訂單創(chuàng)建時(shí)間的范圍查詢也要考慮到。3. 核心功能實(shí)現(xiàn)與實(shí)操要點(diǎn)3.1 用戶登錄與JWT鑒權(quán)流程外賣項(xiàng)目的用戶端登錄一般走微信登錄真實(shí)場景需要調(diào)用微信的code2session接口換取openid。做模擬項(xiàng)目的時(shí)候不需要真實(shí)的AppID所以我在項(xiàng)目里封裝了一個(gè)類似的登錄服務(wù)前端把模擬的code傳過來后端通過固定的配置類生成一個(gè)openid真實(shí)場景就是請(qǐng)求微信接口獲取再根據(jù)openid查用戶表不存在則自動(dòng)注冊新用戶最后生成JWT返回給前端。代碼層面JWT我用的是jjwt庫核心操作就是三塊生成Token、解析Token、校驗(yàn)過期時(shí)間。實(shí)際項(xiàng)目中我會(huì)自定義一個(gè)攔截器或者HandlerInterceptor對(duì)所有除登錄接口之外的路徑進(jìn)行校驗(yàn)。攔截器里從Header中取token解析成功就把用戶ID放到ThreadLocal或RequestContext里后續(xù)Controller直接取。這里有個(gè)關(guān)鍵點(diǎn)ThreadLocal用完后一定要remove否則線程池復(fù)用時(shí)會(huì)帶來數(shù)據(jù)串臺(tái)的隱患。我踩過的坑是第一次設(shè)計(jì)Header字段時(shí)叫“Authorization”但管理端和用戶端用了同一個(gè)攔截器導(dǎo)致用戶Token被當(dāng)成管理員Token用。后來我給兩個(gè)端分別定義了不同的鑒權(quán)攔截器且路徑前綴區(qū)分開/admin/**走管理端校驗(yàn)/user/**走用戶端校驗(yàn)。這個(gè)設(shè)計(jì)影響到后面所有模塊的聯(lián)調(diào)提前理清很有必要。3.2 購物車與下單鏈路購物車是這個(gè)系統(tǒng)中“高頻寫”的代表。用戶加購時(shí)前端把菜品ID和口味組合傳給后端后端先判斷Redis里有沒有對(duì)應(yīng)數(shù)據(jù)如果有數(shù)量加一如果沒有初始化一個(gè)新的購物車條目。用Hash結(jié)構(gòu)存儲(chǔ)時(shí)key可以用userIdfield用“菜品id_口味hash”這樣同一個(gè)菜加不同辣度可以分開計(jì)數(shù)也方便前端回顯購物車列表時(shí)聚合。下單鏈路我更想強(qiáng)調(diào)“一致性”。下單涉及的操作包括校驗(yàn)購物車非空、計(jì)算總金額、校驗(yàn)余額或模擬支付結(jié)果、生成訂單主表和明細(xì)表、清空購物車、扣減庫存如果做了庫存。這些操作必須放在同一個(gè)事務(wù)中否則一旦中途異常訂單表和庫存表就出現(xiàn)不一致。我在做庫存扣減時(shí)一開始用的是先查庫存再更新結(jié)果并發(fā)下單時(shí)出現(xiàn)超賣問題。后來改了SQL直接通過UPDATE語句“庫存購買數(shù)量”這個(gè)條件來扣減update dish set stock stock - #{num} where id #{id} and stock #{num}。受影響行數(shù)為0說明庫存不足需要回滾。這是我在實(shí)際項(xiàng)目中記憶很深刻的一個(gè)教訓(xùn)雖然蒼穹這套項(xiàng)目有些版本沒有做庫存字段但加上這個(gè)點(diǎn)會(huì)讓項(xiàng)目含金量更高。3.3 訂單狀態(tài)變更與消息推送訂單狀態(tài)變化之后用戶端需要實(shí)時(shí)看到。這里我沒有引入MQ做異步推送而是用WebSocket建立一個(gè)長連接商戶或管理端修改訂單狀態(tài)后服務(wù)端主動(dòng)把最新狀態(tài)推送給對(duì)應(yīng)的用戶端連接。實(shí)現(xiàn)步驟大致是后端引入WebSocket依賴編寫一個(gè)WebSocketServer的單例管理所有在線連接當(dāng)用戶登錄成功后前端通過握手請(qǐng)求把token傳上來服務(wù)端解析出userId后把Session映射到userId的Map中訂單狀態(tài)變更時(shí)根據(jù)訂單里的userId找到對(duì)應(yīng)連接并推送JSON消息比如推送訂單號(hào)、最新狀態(tài)、預(yù)計(jì)送達(dá)時(shí)間。如果不想引入WebSocket也可以前端定時(shí)輪詢訂單接口但這樣實(shí)時(shí)性差且壓力大。WebSocket的難度主要在于連接管理和心跳保活。我在本地測試時(shí)發(fā)現(xiàn)瀏覽器和服務(wù)器之間存在網(wǎng)絡(luò)代理時(shí)會(huì)自動(dòng)斷開連接所以寫了Ping/Pong心跳機(jī)制每30秒發(fā)一次心跳包維持連接。這個(gè)機(jī)制如果你不做線上環(huán)境很容易出現(xiàn)用戶那邊已經(jīng)斷開了服務(wù)端還不知道的情況。3.4 管理端數(shù)據(jù)統(tǒng)計(jì)與報(bào)表管理端有一個(gè)比較亮眼的功能是數(shù)據(jù)統(tǒng)計(jì)按時(shí)間區(qū)間展示營業(yè)額、訂單量、平均客單價(jià)、新增用戶數(shù)同時(shí)畫出訂單趨勢曲線。這里不需要額外引入復(fù)雜的BI工具用SQL聚合即可。我以營業(yè)額為例說明思路篩選條件包括訂單狀態(tài)已完成的訂單才計(jì)算營業(yè)額不能把待付款和已取消算進(jìn)去然后根據(jù)下單時(shí)間或支付時(shí)間所在日期進(jìn)行分組按天求出訂單金額總額。注意MySQL的DATE_FORMAT函數(shù)可以把datetime轉(zhuǎn)成yyyy-MM-dd的字符串再配合GROUP BY就能得到每日的營業(yè)額列表。類似的訂單趨勢統(tǒng)計(jì)是按天統(tǒng)計(jì)訂單數(shù)新增用戶數(shù)是按用戶表create_time日期分組訪問趨勢可能涉及UV/PV統(tǒng)計(jì)這時(shí)候Redis的HyperLogLog就派上用場了PFADD和PFCOUNT可以非常省內(nèi)存地去重計(jì)數(shù)。當(dāng)然如果只是為了演示效果用SQL直接做也行但你能說出HyperLogLog的原理面試官對(duì)你的工程認(rèn)知會(huì)明顯加分。4. 部署與環(huán)境搭建實(shí)錄4.1 本地開發(fā)環(huán)境準(zhǔn)備我先說本地跑起來的必要環(huán)境配置。JDK建議用Java 8或11Maven用3.6以上MySQL用5.7或8.0都可Redis用5.0以上。如果你的電腦還沒裝這些我建議用Docker一鍵跑MySQL和Redis可以省去很多環(huán)境變量的煩惱。比如執(zhí)行docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD123456 -d mysql:5.7Windows上記得檢查端口占用本地開發(fā)時(shí)3306端口很容易被另一個(gè)殘留MySQL進(jìn)程占著連接不上時(shí)先netstat查一下。項(xiàng)目配置文件中需要修改的核心項(xiàng)是數(shù)據(jù)源和Redis地址。Spring Boot里我傾向于用application.yml統(tǒng)一管理。需要注意的一點(diǎn)是密碼和敏感信息不要寫死在git里至少應(yīng)該通過環(huán)境變量引用spring.redis.host${REDIS_HOST:localhost}這樣既方便本地跑也方便上線時(shí)用環(huán)境變量注入。4.2 前后端聯(lián)調(diào)中的協(xié)議約定這個(gè)項(xiàng)目涉及到小程序端和管理端前后端聯(lián)調(diào)是重頭戲。聯(lián)調(diào)之前必須先統(tǒng)一數(shù)據(jù)格式。我用的統(tǒng)一響應(yīng)結(jié)構(gòu)是{ code: 1, msg: success, data: {} }code為1表示成功0表示失敗。有人喜歡用200/500這種HTTP狀態(tài)碼來代表業(yè)務(wù)成功與否但我不太建議因?yàn)镠TTP狀態(tài)碼應(yīng)該表達(dá)傳輸層狀態(tài)而業(yè)務(wù)層狀態(tài)需要code字段來細(xì)分。前端拿到res.code后判斷是否等于1再?zèng)Q定拉取data還是彈出錯(cuò)誤信息。另外一個(gè)非常容易踩雷的是日期格式。后端返回的LocalDateTime默認(rèn)是一長串帶T的格式小程序端直接展示很難看。我在全局配置里加了Jackson的日期格式化統(tǒng)一為“yyyy-MM-dd HH:mm:ss”。還有金額字段返回時(shí)要小心精度丟失不能轉(zhuǎn)成double再傳給前端而是要保留字符串或整數(shù)形式比如以元為單位保留兩位小數(shù)或者前端用整數(shù)分單位解析避免浮點(diǎn)數(shù)精度問題。4.3 打包部署的常見問題本地運(yùn)行成功后要把后端打成jar包部署到Linux服務(wù)器。執(zhí)行mvn clean package后在target目錄下生成xxx.jar。部署時(shí)我用的是systemd服務(wù)或者直接nohup java -jar xxx.jar logs/log.log 21 。最常見的三個(gè)問題第一打包時(shí)test報(bào)錯(cuò)導(dǎo)致打包失敗可以在pom中跳過測試spring-boot-maven-plugin配置maven.test.skiptrue或者命令行加-Dmaven.test.skiptrue。第二端口沒開服務(wù)器安全組或防火墻擋住了8080端口導(dǎo)致前端請(qǐng)求連接超時(shí)檢查firewalld或者iptables規(guī)則。第三靜態(tài)資源路徑問題。管理端打包后的dist文件一般放在Nginx里Nginx配置api反向代理到后端的8080端口前端和后端之間不會(huì)跨域但如果你前端直接用devServer代理本地跑時(shí)也要確認(rèn)proxy表配置正確。5. 問題排查與避坑指南5.1 常見異常速查表我在做這個(gè)項(xiàng)目時(shí)整理過一張異常排錯(cuò)表現(xiàn)在直接分享出來異常表現(xiàn)常見原因解決方案登錄接口返回401JWT過期或簽名不匹配檢查token是否帶Bearer前綴再確認(rèn)攔截器排除路徑是否配錯(cuò)MySQL連接報(bào)CommunicationsException數(shù)據(jù)庫地址/端口/賬號(hào)錯(cuò)誤或連接池耗盡檢查yml配置注意時(shí)區(qū)參數(shù)重啟時(shí)確認(rèn)服務(wù)已啟動(dòng)Redis連接失敗Redis未啟動(dòng)或密碼錯(cuò)誤本地執(zhí)行ping檢查生產(chǎn)環(huán)境用redis-cli -a 密碼 ping驗(yàn)證中文亂碼數(shù)據(jù)庫連接字符集未配置UTF-8URL加useUnicodetruecharacterEncodingutf-8金額對(duì)不上使用了float/double全面改為BigDecimal并配置保留兩位小數(shù)前端報(bào)跨域后端未允許跨域或代理配置錯(cuò)誤開發(fā)環(huán)境用async的proxy線上用Nginx同源解決定時(shí)任務(wù)沒執(zhí)行未啟用EnableScheduling或cron表達(dá)式錯(cuò)誤檢查啟動(dòng)類注解和Cron表達(dá)式注意6位還是7位最隱蔽的問題是數(shù)據(jù)庫連接池連接泄露。如果有長連接查詢特別慢或者偶發(fā)無法獲取連接多半是事務(wù)沒提交或者連接未歸還。我會(huì)在yml里配置連接池監(jiān)控參數(shù)例如maximum-pool-size20minimum-idle5并開啟日志排查的時(shí)候能看清誰拿了連接不還。5.2 我踩過的幾個(gè)坑第一個(gè)坑是事務(wù)失效。在同一個(gè)類里調(diào)用帶Transactional的public方法時(shí)事務(wù)不會(huì)生效因?yàn)镾pring的代理對(duì)象調(diào)用的是this方法而不是代理方法。解決辦法是把需要事務(wù)的邏輯拆到另一個(gè)Service類中或者通過注入自身的代理對(duì)象調(diào)用。為了排查這種問題我會(huì)在配置里加上事務(wù)日志輸出到控制臺(tái)觀察異常后是否有rollback記錄。第二個(gè)坑是JSON序列化循環(huán)引用。菜品類里包含分類對(duì)象分類對(duì)象又包含菜品列表結(jié)果返回JSON時(shí)直接棧溢出。后來把關(guān)聯(lián)屬性用JsonIgnore或設(shè)置DTO只返回需要的字段。經(jīng)驗(yàn)就是實(shí)體類不要直接作為API響應(yīng)體一定要轉(zhuǎn)VO/DTO這既安全又靈活。第三個(gè)坑是MyBatis的動(dòng)態(tài)SQL字段里出現(xiàn)了下劃線映射問題。表字段是create_time實(shí)體屬性是createTime如果沒開啟mapUnderscoreToCamelCase查詢字段時(shí)為null。在配置文件里加上mybatis.configuration.map-underscore-to-camel-casetrue即可這個(gè)點(diǎn)能幫你省半小時(shí)。5.3 性能優(yōu)化與后續(xù)擴(kuò)展方向項(xiàng)目基本跑通后我又做了幾個(gè)方向上的優(yōu)化讓整個(gè)項(xiàng)目的完成度更高。緩存優(yōu)化方面店鋪營業(yè)狀態(tài)、分類列表這些讀多寫少的數(shù)據(jù)可以在每次查詢后寫入Redis并設(shè)置合理的過期時(shí)間例如5到10分鐘。新增或修改時(shí)主動(dòng)刪除對(duì)應(yīng)緩存保證緩存與數(shù)據(jù)庫最終一致。頁面端會(huì)出現(xiàn)數(shù)據(jù)短暫延遲但通??梢越邮堋=涌趦?yōu)化方面菜品分頁查詢時(shí)如果數(shù)據(jù)量大可以考慮用PageHelper分頁或者在SQL里做limit分頁。管理端訂單列表查詢使用了比較多的時(shí)間范圍篩選我建立了復(fù)合索引避免臨時(shí)文件排序。擴(kuò)展方向上可以給項(xiàng)目加入MQ來處理訂單超時(shí)消息比如用延遲隊(duì)列實(shí)現(xiàn)下單后15分鐘未支付自動(dòng)取消。還可以引入Elasticsearch做菜品搜索提高分類和菜品的查詢速度?,F(xiàn)在很多微服務(wù)架構(gòu)把蒼穹項(xiàng)目拆分成多個(gè)模塊比如認(rèn)證服務(wù)、訂單服務(wù)、商品服務(wù)這其實(shí)也是很好的學(xué)習(xí)路徑但先把單體項(xiàng)目吃透更重要。一點(diǎn)私人總結(jié)做完這個(gè)項(xiàng)目之后我最大的收獲是建立了對(duì)完整業(yè)務(wù)系統(tǒng)的認(rèn)知閉環(huán)。以前寫CRUD只是照著接口文檔填方法體而蒼穹外賣讓我真正思考了訂單在什么時(shí)機(jī)生成、購物車數(shù)據(jù)放在哪里、什么時(shí)候要加鎖、什么時(shí)候要用快照。從數(shù)據(jù)庫設(shè)計(jì)到鑒權(quán)攔截再到WebSocket推送鏈路完整每個(gè)環(huán)節(jié)都不是孤立的。如果你正在動(dòng)手做這個(gè)項(xiàng)目我建議你不要只滿足于“能跑起來”。把每一個(gè)狀態(tài)變更的日志打出來把每一次調(diào)用鏈路梳理清楚甚至可以自己畫一張時(shí)序圖。只要你把訂單主流程的所有細(xì)節(jié)都吃透了下次再去接觸分布式事務(wù)、消息隊(duì)列、微服務(wù)拆分這些主題會(huì)發(fā)現(xiàn)基礎(chǔ)已經(jīng)打好了。最后再分享一個(gè)小經(jīng)驗(yàn)這個(gè)項(xiàng)目做完記得用真實(shí)體驗(yàn)的心態(tài)去測試每一個(gè)按鈕你自己就是最好的測試人員。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
JIZZJIZZ亚洲女人被躁| 欧洲在线性爱视频| 国产乱弄免费在线视频。| 日韩黄片影院| 日韩成人私密一级精品av| 婷婷五月天色网| 日韩天堂av电影在线观看| 国产对白刺激视频| 欧美在线啊啊啊 | 久久久精品视频免费观看| 亚洲中文丝袜美腿诱惑字幕| 色91综合网| 丁香六月婷婷综合| 欧美九九爱| 亚洲人成网站7777| 亚州欧美综合| 欧洲中文字幕| 激情综合久久| 歐美一級亂黃99在綫精品| 中文字幕乱码在线观看| 大香蕉视频一二三区| 国产亲戚伦亲在线| 91九色蝌蚪在线观看| 老熟妇91| 久久69| 91AV天美在线视频| 麻豆人妻少妇在线免费观看| 中文字幕一区二区三区蜜臀| 亚洲精品一区二区三区新线路| 超碰99热| 日韩国产中文字幕| 久久综合婷婷| 区二区亚洲婷| 东北女人操比视频| 欧美亚洲厕所精品偷拍91| 蜜桃在线观看一区二区三区| 亚洲男人的天堂一区二区| 都市激情人妻一区二区青青操视频 | 欧美在线色| 男人的天堂色偷偷青青草视频婷婷网| 精品妇女一区二区三区| 91原创在线观看| 色999亚洲人成色| 国产日本久久免费精品| wwwcaobibi| 欧美另类精品xxxx| 亚洲最大无码中文字幕网站| 久久亚洲av成人无码国产| 91热爆在线| 日本在线激情一区二区三区| 欧美做爰无码A片视频| 淫荡少妇免费| 人妻22p| 色婷婷小说| 婷婷五月成人| 9999九九九久久久| 校园春色 亚洲| 97国产|免费| www.久久超碰| 色色毛片| 女人被男人桶爽视频网站| 亚洲导航深夜福利| 99自拍视频在线| 情侣开房子拍 日韩无码 女的很漂亮| 97青青操视频| 国产AV线| 蜜乳中文字幕a在线| 三级精品三级在线观看| 立川理惠加勒比无码| 五月丁香激情综合| 蜜桃在线观看一区二区三区| 我想要啊 啊 啊| 久久精品国产亚洲av水密被窝| 色噜噜狠狠色综无码久久合欧美| 性饥渴少妇av无码毛片| 亚卅熟女乱色| 亚州精品丝袜-不卡成人免费| 诱惑人妻欧美一区在线播放| 色香av| 亚洲啪啪视频免费| 五月丁香激情综合| 91国产大片| 小电影欧美91| gogogo免费高清看中国国语| 亚洲成人在线播放| 欧美综合传媒| 东京热视频网| 亚洲少妇色| 精品中文日韩字幕视频| 亚洲97在线| 伊人久久综合影院| 5252色欧美在线| 神马久久久久久久久| 91操操操操| 69精品久久久久中文字幕| 少妇免费视频| 丝袜美腿91| 秋霞免费无码视频日韩A片| 最新国产精品久久精品| 久久久久国产| 黄色香蕉视频网站一区| 屌色在线97视频| 欧美日韩国产人人| 久久的免费性爱视频| 亚洲女毛多水多21P| 久悠悠av| 精品一区二区三区蜜桃臀赵总 | 夜夜性| 熟女六十路| 视频在线观看一二三区| 超碰成人人人爽人人爽| 亚洲天堂,男人| 久久中文字幕女同性恋一区| 多乙久久久久久| 免费看美国人人爽,人人操| 97视频新免费| 亚洲黄色网址视频| 人妻大香蕉| 自拍偷拍 高清无码| 2019天天操天天爽天天拍| 久久久久久九九九九九| 丁香啪啪| 91精品国产91综合久久蜜臀| 亚洲成人一二三区| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 国产青青美女玩逼视频| 欧美中文字幕日韩在线| 91伊人久久在线| 最新三级网址| 97超碰色| 97精品久久久久久久| 国产精品不卡高清在线观看| 天天天天天天天天综合| 亚洲激情综合另类男同| 91色综合色| 国产精品亚洲一区二区三区四区| 色香AV| 91人人爽人人爽| 久久久精品| 无码欧美有限公司| 嫩呦国产一区二区三区AV| 精品九九九九九九九| 亚洲另类欧美精品| #NAME?| 亚洲aV性爱| 欧美一区二区| 欧美精品丝袜久久久中文字幕| 日韩免费看在线黄色片| 2017天天透天天通天天擦| 日韩在线观看字幕精品| 亚洲春色一区二区三区| 欧美综合在线第一页| 久久久中文| av亚欧| 天堂涩涩| 久操综合在线| 亚洲精品国产精品乱码不99| 久久久久久久久久久免费精品| 97就爱干| 91逼逼女人91| 久久香蕉影院| 久久69精品久久久久久久| 免费97视频| 丁香婷婷色五月| 欧美第一页| 中文字幕精品三级久久久| 欧美日韩99精品麻豆传媒| 超清福利精品视频在线| 国产嫩草精品A88AV| 18一区二区三区| 欧亚不卡| 99熟女| 操逼逼一区视频| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 狼狼色丁香久久婷婷综合五月 | 99在线精品观看99| 国产自产一区视频在线| 人人操欧美风骚| 欧美一区二区三区成人性生活| 亚洲天堂,男人| 欧美αv.com| 亚洲色图综合| 青青草依人大香蕉| 91亚洲丝袜熟女| 鸥美插入视频| 嗯嗯嗯嗯啊啊啊好紧好大| 日本在线视频导航| 精品国产无码中文| 日韩电影在线观看网址| 欧美亚洲特P| 国产性久久久| 亚洲天天操| 天天日少妇逼AV| 夜夜躁狠狠躁日日躁av| 青青在线视频日韩欧美| av草草在线电影| 国产精品 午夜福利| 无码自拍SM| 亚洲国产欧美另类自拍| 久久久久久久久久久免费精品| 亚州欧美在线| 天天日天天干天天摸天天操| 国产丸一视频| 日韩不卡网操逼中文字幕日韩| 精品国产乱码久久久久久影片| 亚洲四虎熟女精品| 久久久久九九九| 国产欧美日韩一区二区三区| 九九视频黄色片| 久久久97| 午夜男女爽爽大片免费观看| 亚洲伊人成综合成人网| 亚洲影院成人| 26uuu成人影片| 综合 亚洲 欧美| 国产在线激情| 91四海无码日韩欧美| 東南亚性呦成人伦理资源在线视频| 97超碰巨乳| 欧美性综合| 60秒免费视频| 日本熟妇自慰性高潮一区二区三区| 欧美高潮| 97超碰影音| 亚洲欧洲日韩中文字幕一区| 超碰97COm中文| 丝袜美腿操av| 男人的天堂va| 日韩熟女乱伦中出| 手机在线人成免费视频| 99久久婷婷国产综合精品草原| 日韩久久激情精品| 日本三级黄页| 久久人妻97久久久久久久| 日韩 人妻 精品| 91色黑人少妇| 我爱搞逼综合网| 久久风骚城市| 成全动漫视频观看免费下载| 国内精品不卡无毒99999| 精品91摸| 精品国产久久乱码| 亚洲一区二区av| 日韩兔费看黄片| 中文字幕精品免费一区二区| 国产色精品午夜大片| 色婷婷99| 婷婷五月天无码| 欧美亚洲韩国视频十五区| 欧美亚州综合网图片| 国产精品分类在线观看| 日韩欧美国产高清视频| 综合网欧| 成人性交免费视屏| 无码精品蜜桃一区二区三区ww| 狠狠干婷婷| 观看免费区二区三区二| 日日碰视频网| 肏逼视频日本| 国产尹人在线视频免费| 欧美综合传媒| 日韩av在线精品观看| 五月天婷精品激情| 日韩视频小说在线观看| 亚洲综合999| 91人妻中文| 超碰亚洲欧美日韩无| 黄色十八禁| 啊啊啊在线观看| ?亚洲伊人伊成久久人综合网| 性色一线| 成人一二三区| 九九色图| 青青草原av| 国产日韩欧美操逼视频| 北条麻妃99精品青青久久| 欧美日韩人妻精品一区二区三区| 免费观看国产不卡av| 四虎影库国产精品免费| 东北老熟女| 亚洲制服aⅴ中文字幕| 国产剧情一区在线观看| 99热精品在线观看| 再深点灬舒服灬太大了好硬好爽| 成人久久精品| 国产精品无码成人精品| 国产精品高潮久久AV| 亚洲日韩国产精品| 久久精品人体| 综合网 欧美| 996热| 久久9999 | 欧美性爱第一区| 欧美日日操| 777超碰| 亚洲人妻日日日| 丰满人妻无码一区二区三区| 国产视频一区二区在线观看| 少妇精品| 91久久久久久| 国产一二三福利视频网| 一级黄色影片| 精品无吗m| 五月综合视频| 色综合加勒比| 亚洲中文字幕妇伦久久| 久久久久久久强迫| 少妇国产不卡| 草草电影院| 在现视频女上位好爽| 97色碰| 亚洲天堂,男人| 国产黄色在线播放观看| 精品人妻一区二区免费蜜桃| 天天操人人操狠狠插| 欧美日韩亚洲五月天婷婷| 日本欧美一区二区三区视频麻豆| 在线中文AV| 亚洲制服欧美另类内射| 九九热精品| 国产人妻精品久久久一区二区三区| 国产馆| 婷婷伊人一区| 尤物一级在线免费观看| 0755午夜福利视频| 亚洲一二三精品久久网| www.人人cao| 97精品一区二区三区免费| 国内91熟女人妻丝袜天天精品视频在线 | 中文欧丝袜诱惑| 日本理论在线| av网站在线看| 天天干夜夜操一区二区| 午夜天天碰综合视频| 收看日本人日bb| 欧美精品欧美精品系列| 欧美日韩国产中文精品字幕自在自线,| 99re免费| 亚洲AV在线资源| 婷婷激情五月综合| 先锋色眉乱伦资源| 亚洲乱妇p22| 97精品国产手机| 天天色播| 人妻 丝袜美腿 中文字幕| 久艹免费| 性色高清..……| 性吧在线视频| 日本熟女中文| 日本欧美韩国国产在线| 天天综合青苹果| 久久久久久久六六| 9 7超碰在线免费观看| 日韩不卡av一二三| 草草影院最新网址| 青草综合| 91在线国产后入风骚翘臀美女素人| 欧美亚洲激情小说| 日本午夜福利影院| 国产精品熟女九色九色蜜臀| 天天综合网日韩| 日本加勒比无码专区一二三| 日本亚洲vr欧美不卡高清专区| 欧美麻豆成人同性GⅤ在线| 极品销魂美女一区二区| 91爱啪| 久久中文字幕女同性恋一区| 熟妇高潮精品一区二区三区下载| 91美女视屏| 91free福利| jizzjizz欧美| 草莓精品视频在线免费观看| 九九碰九九爱97超| 97免费在线观看| 久久久亚洲精品中文字幕人妻| 欧美一区二区三区成人性生活| 精品人妻夜夜草| 一本道综合色图| 丁香五月电影| 国产少妇与亚洲av| 69精品少妇一区二区三区蜜桃| 国产亚州高清国产拍精| 亚洲色图殴美色图激情乱伦| 久久精品国产亚洲AV无码做| 黄片aaaaa一区| 天天激情综合站| 在线不卡视频| 桃色五月天| 91超级碰| 男人天堂2019亚洲| 天美传媒国产原创中文字幕亚洲欧美另类 | 超碰在线91| 国内一级精品| 91五十路| 亚洲日韩人妻中文字幕一区| 欧美成人性爱视频在线播放| 性久久久| 久久精品国产72国产精品福利| 99re公开精品免费视频| 婷婷中文网| av国产无码| 亚洲综合色男人网| 自拍视频大全亚洲专媒视频/一区二区三区 | 日韩兔费看黄片| 国产亚洲99久久精品熟| 日韩美女啪啪一区| **一级毛片国产| www.色五月| 欧美制服网站美腿丝袜| 97亚洲资源| 亚洲九九爱| 新怡红院| av天堂精品久久| 国产一区二区三区导航| 射 色综合| 97精品视频免费| 好屌色综合| 欧美少妇高潮视频| 国产精品白丝在线播放| 日韩黄色一区二区三区| 91久久国产综合久久| 乱码熟妇人妻久久久| 亚洲综合贴图91| 超碰97男女| 亚洲福利影院一区久久| 欧美日韩国产高清在线一二三区 | 色偷综合| 色综合91好| 影音先锋日本乱伦| 日韩啪啪啪啪啪| 欧美色一二三| 人妻久久一区二区三区 | 久久久国产成人一区二区三区在线| 亚洲人成网www| 品亲网欧美品亲网| 亚洲激情视频| WWW黄片COM| 91麻豆天美国产| 高精欧美色| 做爱A级亚欧| 啊啊啊好爽快点啊啊啊嗯嗯| 91男人天堂网| 一个国产在线综合网站| 超碰av人人人| 床戏久久久av一区二区麻豆| 26uuu性物| 欧美日日网| 超碰碰小说97| 一类无码操逼视频| 日韩激情视频| 人人操人人爽人人操人人| 5月婷婷6月六月丁香| 精品国产乱码久久久兰草影视| 亚洲色图A| 在线国产一区二区av| 日本A级视频| 超碰97亚洲| 91粉嫩萝控精品福利网站_精品影音先锋国 | 色天堂在线观看| 国内毛片国产欧美拍| 日韩丝袜人妻AV| 99999久久精| 人人插人人摸人人| 97视频在线免费播放| 久久 国产 无码| 日韩美女久久一区二区三区| 97在线免费| 精品一区二区三区四区外站| 多毛小伙内射老太婆| 超碰 另类 欧美| 日本精品999| 97超碰69| 秋霞一级鲁丝片A片| 电影69乱码96| 岛国爱情动作片在国产AV无码专区亚洲AV漫画 | 日本91白丝| 日韩十八禁| 亚洲精品色| 日韩三级av片| 久草综合京东| 91性高朝久久久久久久久| 亚洲综合码| 激情黄色片在线观看| 中文乱码99| 午夜福利激情在线视频| 人人噜夜夜操| 黄色大香焦1级‘′‘| 超碰偷拍| 欧美日韩丝袜| 狠狠色伊人亚洲综合网站色| 精品一二三区女同| 欧美很很操视频| 综合久久2017| 曰本精品久久久| 密乳AV免费观看| 91网站在线播放| 毛片电影一区二区三区| 成人性交免费视频| 啊好爽快点-国产一区二区三区撒尿在线-成人AV| 偷拍偷窥与盗摄视频专区| 97爱亚洲综合色| 思思热影视| 99re黄| 小草精彩毛片| 欧美翘臀视频网站一区二区三区| 97福利视频| 天天综合有色网| 亚洲熟妇AV日韩熟妇在线| 日韩激情小说一区二区| 亚洲欧美国产va在线| 99久久精品无码一区二区| 国产精品午夜精品| 亚洲熟妇自偷自拍另欧美| 色婷婷国产精品一区在线观看| 久久久久9久久久久| 国产精品人妻熟女aⅴ| 超碰97资源网亚洲| 一区=区三区视频| 亚州免费啪啪视频| 精品国产乱子伦一区二区三区,精品一 | 国产AV高清AV无码| 亚欧高清| 熟人人妻少妇精品久久| 免费看污网站| 久久久九九网站| 26uuu成人影片| 人人操超碰在线| 欧美 青青草| 午夜免费福利视频一区| 亚欧毛片基地国产毛片基地| 天美传媒麻豆一区二区三区国产精| 亚洲综合在线高清| 九九碰九九爱97| 欧美激情性爱视频网站| 亚洲国产精品成人久久蜜臀| 超碰在线日韩一区| 欧美性天天影院| 9久久9综合| 99超级碰免费视频| 国产精品美女在线一区| 黄片www视频免费| 人人操超碰在线| 成人久久精品| 内射黑人| 射丝袜高跟鞋99| 日本色婷婷| 凸凹视频在线观看| 欧美另类精品xxxx| 人人干黄色| 91天天| 射久久| 国产一二三福利视频网| 青青青草原| 天天操天天日青青草超碰av| 色九九九综合| 99国产精品久久久久久久成人热| 天天肏美女| 偷拍伦理视频| 欧美人妻熟女在线| 人人澡人人澡人人| 97久久精品不卡| 操老熟女AV| 亚洲宗合网| 爱爱久久| 99日免费视频中文字幕| 久久久久久裸体| 91久久久久久久| 男人的天堂久久狠| 亚洲脚交| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 九九国产| 91久久久久久久| 长久操视频| 亚洲黄色网址| 男女香蕉一区二区| 九九九九九九综合| 啊啊啊啊啊好多水| 玖玖爱在线视频免费观看| 视频国产欧美在线播放| 亚洲av国产av综合av卡| 欧美一级久久久久久久大片动画| 日韩欧美综合激情| 丁香色色网| 大香蕉免费中文| 久久色激情一区二区三区| 麻豆久久久久久久久丝袜| 91天天综合网,天天综合网| 久久久久久久久久久久黄色| 97精品97久久| 色色九区| 日本成人免费一区二区三区| 日韩av不卡在线看| 狠狠爱综合| 后入 亚洲 美女 射| 久久熟妇五十路一区| 精品国产乱码久久久兰草影视| 欧美色图97| 无码人妻一区二区三区四区老鸭窝| 国产视频人人网| 亚洲蜜乳av| www.婷婷五月天| www.99热在线只有精品| 伊人久大| 亚洲日韩视频二区| 欧美一级色| 2019AV天堂| 亚洲图片视频小说| 亚洲AV成人无码一二三久久| 日本韩欧美在线播放a| oumeisetu综合| 久久久久久久六六| 欧美亚洲高清| 国产18精品亚洲精品| 久久免费老司机精品| 亚洲国产丝袜在线观看| 97在线观看免费视频| 国产三级多多影院2022国产AA一级毛片无码| 女人被添高潮免费视频| 欧亚第一综合网| 91欧美网| 中文字幕av亚洲在线| 情色日播放AV| 久久久久久久久久久久97| 国模无码人体一区二区三| 国产人妻天天干精品| 亚洲码和欧洲精品激情系列| 亚洲a色| 18禁的网站在线| 蜜桃精久三区| 超碰97护士| 成人av动漫在线观看| 久久久久久久久久久999| 久久免费少妇| 开心激情站| 丁香7月婷婷| 一级黄色视频网| 欧美狠狠弄| 91天天| 97资源制服丝袜| 国产美女高潮视频| 不卡啪啪视频| 久久中文字幕女同性恋一区| 乱伦1色页| 九九亚洲精品| 美女视频尤物网在线看| 精品网站9999| 国产一级高清免费观看| 人妻嗯啊啊在线播放| 色偷偷综合91久久噜噜| 亚洲第一黄色av网站| av一区二区三区四区五区久草臀| 日韩免费在线观看不卡| 久久手机视直播| 人妻少妇久久中文字幕一区二区 麻豆| 色久综合| 免费国产视频| 视频在线观看一二三区| 国产精品成人AV片免费看网站| 亚洲91极品| 91春色| 日韩在线人妻网站| 国产精品久久天天干| 嗯嗯啊啊好疼| 日本激情免费大片| 天堂精品一区| 91久久久久久| 亚洲综合第一页| AV天堂电影网| 欧美一区二区日韩传媒搭讪精品| 精品人妻一二三| 99国产天美| 精品毛片av一区二区| 久久久久久久六六| 亚洲偷拍自拍在线视频| 99少妇| 欧美极品少妇交| 亚洲男人综合| 99re在线视频| 五月丁香色综合| 国产精品一区二区a| 久久 亚洲 日韩 人妻| 亚洲成a人在线观看久| 97色欧洲| 超碰97在线 欧美 国产| 亚欧无码在线| 9丨久久九九九| 欧美日韩黄色片一区二区三区四区人与兽做爱| 精品久久久久久无码| 国产AV人人夜夜澡人人爽麻豆| AV综合中文字幕干| 天天综合欧美| 97AV在线免费观看| 婷婷五月天福利| AⅤ片水多多| 九七毛片九九毛片| 色妺妺在线视频| 懂色av色欲av蜜臀av| 操久久久久| 四虎884a| 狠狠操狠狠爱| 欧美日韩国产黄色片| 男人的天堂99| 亚洲精品蜜桃久久久久久久| 中文字幕成人| 超碰在线香蕉| 少妇高潮特黄A片| 亚洲av在线免费观看| A级毛片在线看免费| 91天天综合在线观看| 久久不卡一区二区| 人人色人人操在线| 熟妇的味道HD中文字幕| 欧美加勒比| 欧美一品道| 亚洲色图欧美色图制服丝袜| 精品久久99| 美女极品一区二区三区| 老司机午夜精品视频| 精品熟妇视频一区二区| 国产肏屁眼视频| 激激五月| 99色视频| 图片区小说区| 中文字幕精品日韩中文字幕| 日本淫乱女一区二区三区视频| 日本精品一区二区三| 欧美老妇女内射网址| 亚州精品一区二区三区香中文字幕在线| 99精品视频在线观看免费| 最新无码国产| 少妇久久久久久| 91 综合网| 亚州黄站| 伊人网在线点播| 玖玖爱综合网| 久久九操在线观看| a片亚洲一本通视频| 爱爱动态试试看6 0秒| 后X久久| 在线观看一卡二卡| 开心激情站| 天天色播| 久久久久久久人妻| 亚洲高清无码免费观看视频| 国产92麻豆天美精品色欲5| 欧美日韩色综合网| 看大黄色大片原件| 日韩性爱毛片操骚逼| 亚洲黄色视频在线观看视频| 亚洲人成在线放东京热| 九九九久久久| 四虎国产精品永久在线囯在线| 亚欧美综合网| 欧美天天综合| 色吧5亚洲| 久久中文字幕不卡人妻| 国产精品久久久久久高清无码免费看| 亚洲欧美国产中文视频| 国产9 9在线 | 亚洲| 都市久久精品激情亚洲| 亚洲最大成人a毛毛片| 黄片免费久久久久久久| 99久久精品国产高潮| 超碰人人色| 97久久精品亚洲| AV高清一区| 黑人与人妻| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 色香综合天天影视综合 | 99re在线观看| Aa东京男人的天堂| 蜜臀99久久精品久久久久久| 久久久久久999| 亚洲无码电影久久久| 亚洲精品乱码线路中文字幕 | 夜夜操夜夜高潮夜夜爽国产精品区| 毛片99-全集电影手机免费观看完整-B029AV | 夜夜操天| 成人免费性爱视视| 亚洲精品白浆高清久久久久久| 成人日韩3| 久久美女福利是上海美女| 97视频在线免费看| 在线观看无码三级少妇| 亚洲啪啪视频一区二区| 99无码视频| 96精品久久久久中文字幕| A一级色女| 啊啊啊草死我| 丰满人妻无码一区二区三区| 婷婷亚洲综合| 色天堂综合| 欧美亚洲图片| 精品久久久久av影院| 天天干天天插| 日韩不卡网操逼中文字幕日韩| 亚洲素人综合| www.色吧5.com| 国产精品三级视频网站| 精品一久久久| 亚洲熟女综合网| 国产亲戚伦亲在线| 99精品丰满人妻无| 五月天精品| 一起草日韩| 久久久影院| 中文字幕福利视频一区二区三区在线观看| 成人羞羞视频国产| 99激情视频| 激情啪啪视频| 超碰国产精品无码| 久久超碰久| 夜夜嗨一区| 亚洲高清无码在线桃色| 久久超碰、| 神马久久午夜| 91人妻Pr| 乱色老一区二区三区的观看方式| 亚洲日韩人妻中文字幕一区| 中文字幕在线观看丝袜| 伊人嫩草| 亚洲无码?第一页| 久久久婷| 骚女天天综合网| 9色在线| 欧美在线|亚洲| 操操逼操操逼操操逼逼| 色五月第四色| 亚洲97成人在线观看| 亚洲第一页色| 欧美92| 97操操| AV中文字幕三四五| 欧美顶级黄片AAAAA在线免费看| 天天澡天天爽日日av| 亚洲97成人在线观看| 久久久噜噜噜久久久| 97视频播放| 欧美99| 少妇精品| 天天添天天干电影| 久久男人的天堂| 素人播放一区| 国产成年女黄特黄| 欧美久久婷| 欧差乱伦二三| 亚洲丝袜色图| 18啪啪手机免费性爱| 69人妻精品丰满熟女区| wwwxxx日本爽| 加勒比人妻综合| 午夜理论片在线观看免费| 亚洲精品久久一区二区三区蜜桃臀| 天天色天天干天天射| 少妇色综合| A 天堂在线观看视频| 啊啊啊轻点在线观看| 婷婷AV一区二区三区| 天天久久久久久| 激情五月综合| 亚洲巨爆乳一区二区三区四季网| 亚洲天堂自拍| 日韩色| 国产精品农村妇女| 久久精品视频久久久| 中文字幕人成乱码熟女香港| 熟妇激情| 婷婷亚洲色| 天天综合91| 97一区二区三区视频| 国产福利精品最新在线| 酒色综合网| 超碰精品| 国产精品秘 福利姬在线观看| 97亚洲在线| 日本一天色道久久久精品视频| 成人乱码一区二区三少妇| 蜜臀99久久精品久久久久久| 亚洲 图片 综合91| 午夜AV人气不卡| 农村少妇久久久久久久| 蜜色网色哟哟| a级成人毛片免费视频高清| 精品少妇99| 99国产精品免费| 日本久久网| 久久69精品久久久久久久| 激情婷婷黑人91| 爱爱动态试试看6 0秒| 亚洲第一成人影院色播| 婷婷色综合欧美日韩| 青青草无码视频| 日韩欧美麻豆大片| 精品国产乱码久久久久久口爆网站| 亚洲熟女诱惑| 九九九草| 丝袜制服字幕在线| 大香蕉久| 日韩国产在线观看av| 韩国三级色呦呦| 色哟哟精品1精品2| 好看的91视频| 熟妇熟女视频一区二区三区| 一区二区影院| 人人看黄色视频| 久久αⅴ| 国产超碰97| 熟妇人妻一区二区三在线| 久久久久13| 五月丁香激情综合网| 尤物网址| 欧美黄色手机在线观看| 伊人超碰97| 在线有码中文字幕| 久久久久久久久久久久97 | 亚洲a色| 国产精品国产| 国产偷仑| 日本日日色视频| 亚洲有薄码区日本系列中文字幕| 92人人操人人| 亚洲 国产 精品一区| 亚洲密乳AV| 沈阳熟女高潮对白视频| 九九九九久久久久| 中文字幕一区二区三区四五区| 国产乱码久久久久久| 偷拍超碰| 欧美亚州综合图片| 99热精品国产| 久久亚洲不卡一区二区三区| 日本一区二区三区精品| 精品 码产区一区二-1080P高清在线www-B029AV| 亞洲久久直播| 亚洲精品aa久久伊人| 国产精品女久久久久av爽| 岛国免费黄色网址| 天天看天天在线精品| 亚洲国产精品9999在线观看| 岛国在线免费视频| 日韩精品在线观看观看| 三级特黄60分钟播放| 久久久久久电影| 国产精品久久久久亚洲av| 在线观看免费视频国产| 国产Aα| 操高情无码| 日逼97| 欧美日韩亚洲少妇寂寞影院正在播放| 日韩射图| 欧美色性情| 中文字幕在线免费观看| 91人人| 日韩免费在线观看不卡| 中文子幕一二三| 亚洲精品蜜桃久久久| 老熟女天天操| 97这里有精品| 日本中文熟女视频| 成人97人人超碰人人| 日本高清免费一本视频在线观看| 无码免费在线观看黄色片| 激情抓乳插进去啪啪啪日韩 | 蜜乳Av成人片网站| 人人摸人人添人人操| 免费精品人妻一区二区三| 尤物一级在线免费观看| 香蕉久久AⅤ...| 国产九九九九九九九九| 丁香婷婷久久| 殴美牲| 青女在线| 台湾佬大香蕉| 91色综合| 色黄色美女大长腿午夜视频| 91精品国产麻豆国产自产在| 色婷婷综合网站| 99热精品青草在线| 美女网站黄页| 欧洲精品二区| 国产v片在线免费观看| 国产精品一二三在线看| 亚洲欧洲综合视频在线| 91色鬼| yazhouzaixian| 精品人妻av区天天看片| 天天做日日做| 盗摄 精品 另类 一区| 超碰 另类 欧美 | 日韩成人人妻网站| 神马麻豆福利院| 影音先锋视频在线| 亚洲美乱| 99精品久久久久久| 青春草莓视频在线观看网址| 国内毛片国产专区二| 艹我哪美一区无码| 中文一区二区| 国产精品久久久久婷婷二区次| 国产拍偷精品网站| 人妻人人操| 亚洲色天堂日韩中| 亚洲涩图欧美| 2019精品国产无码成人| 免费公开人人操| 九月丁香婷婷| 啪啪啪男女亚洲中文字幕99| 情趣丝袜无码操逼视频| 99免费视频| 日日AAvv| 人人操我人人干| 亚洲中文人妻色| 超碰碰97资源站| 明星性猛交ⅹxxx乱大交| 九色婷婷| 男人成人黄色视频在线观看免费下载| 日韩少妇无码| 国产综合永久精品日韩鬼片| 欧美天天综| 伊人嫩草| 日韩性爱毛片操骚逼| AV天堂电影网| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 丁香五月自拍| 亚洲天堂日本| 久久欲| 一区 欧美 日韩 麻豆| 蜜臀99久久国产| 丁香五月综合| 999九九九九国产动| 20cm女自慰在线日韩欧美| 色999亚洲人成色| 日本天堂在线播放| 东亚亚洲无码高清| 蜜桃色院一区久久| 国产一区二区三区白丝| 日韩欧美成人大香蕉| 加勒比久久av| 欧美一区二区观看在线| 亚洲欧洲无码一区夜| 国产精品嫩草影院免费| 日韩av熟女一区二区三区成人| 热99这里有精品综合久久| 亚洲欧美大香蕉| 欧美综合色图网| 久久99综合| 色吊丝 日日骚 清纯唯美| 天天躁日日躁AAA片李宗瑞| 美女上床网站| 妺妺跟我一起洗澡没忍住| 综合九九| 男人的天堂一区三区| 久久久一二三四区| 97摸视频| 人妻少妇精品久久久久久| 五月丁香色婷婷| 无套后入双马尾| 99热9| 日本一区二区中文字幕久久| 天色综合网| 欧美日韩*字幕一区| 国产熟妇一区二区| 手机在线A片| 久久久久久久久久久久欧美日| 婷婷中文网| 欧美日韩人妻精品系列一区二区三区| 色香色欲天天综合网天天来吧| 久久久久久久久9| 看日韩美女二区三区免费操逼视频 | 99re国产中文字幕| 麻豆人妻偷人精品无码视频| 久久久久国产精品片区无码直播| 97日韩欧美亚洲| 欧州色图区| 高清有码一区二区| 好爽免费视频,| 淫妻综合网| 亚洲伊人久久综合97| 日韩精品9区| 99视频内射三四| 91被操| 91熟女.com| 色婷婷小说| 无码人妻精品一区二区三区99不卡| 75大香蕉| 我要看免费韩日黄片| 国产在线能看的你懂的| 国产风韵犹存熟妇三区| 色婷婷99| 日本狂喷奶水在线播放212| 国产999精品久久久| 九九久久一区二区三区| 99久久精品无码一区二区| 亚洲国产精品成人久久蜜臀| 欧美情色贴图| 中文激情网| 国产一级特黄大片处女| 91精品导航| 欧美天堂日韩三级国产传媒| 久久久久久AⅤ无码免费肉站 | 天天色,天天干,天天干| 亚州黄站| 中文字幕97色| 欧美亚州手机在线| 夜夜影视四色| 日韩一级二级三级在线不卡观看完整| 国产视频小说| 澳门成人网站久国产日韩| 一区二区三区欧美激情| 九九综合九九综合| AV女资源| 久草线上视频免费看| 欧美亚洲玖玖玖| 国产精品视频精品一二| 吖在线不卡一区二区国产剧情| 中文字幕在线免费观看| 久久偷拍人| 97在线亚洲| 啊啊啊啊操死我了| 夜夜夜久久| 伊人激情| 亚洲暴力强奸AV| 亚洲阿v天堂在线| 中文字幕福利视频一区二区三区在线观看| 5278欧美一区二区三区| 欧美不卡在线一区二区| 97精品免费视频网站| 97日韩欧美亚洲| 久久国模av| 美女久久久久久久| 97爱免费插| 久久黄黄| 无遮挡h肉动漫在线观看| 欧美亚洲另类在线蜜桃| 熟妇xxxxx性春色| 欧美色图99| 国产AV天美传媒一区二区三区| 精品无码久久久久| 久干网| 肉丝网站91| 欧美色图亚洲特色| 久久9亚洲| 玖玖综合色| 91久久久久久久久久久| 女人爽到高潮久久久| 狠狠干综合| 人妻久久久| 热九九精品| 99久热| 日韩乱码Av| 天天综合在线4| 日本91白丝| 91蜜臀在线久久久久| 91美女在线精品视频| 亚洲。日韩。欧美| 超碰日本97美女人妻人人玩人人爱| 国产原创自拍| 嗯嗯嗯嗯啊啊啊好紧好大| 亚洲AO在线| 久久国产视频专区一二三|