色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

SpringBoot校園二手交易平臺(tái)實(shí)戰(zhàn):從數(shù)據(jù)庫設(shè)計(jì)到并發(fā)下單部署全解析

SpringBoot校園二手交易平臺(tái)實(shí)戰(zhàn):從數(shù)據(jù)庫設(shè)計(jì)到并發(fā)下單部署全解析 簡介在Java后端開發(fā)中SpringBoot憑借自動(dòng)配置機(jī)制大幅降低了環(huán)境搭建成本已成為構(gòu)建企業(yè)級(jí)應(yīng)用的主流框架。而校園二手交易平臺(tái)作為典型的業(yè)務(wù)閉環(huán)項(xiàng)目天然覆蓋用戶認(rèn)證、商品狀態(tài)機(jī)、訂單并發(fā)控制等核心場景非常適合用來理解框架原理與工程實(shí)踐的配合。圍繞這一主題文章從業(yè)務(wù)模塊拆分出發(fā)梳理了用戶、商品、交易三大核心域的表結(jié)構(gòu)設(shè)計(jì)方法強(qiáng)調(diào)了價(jià)格用分存儲(chǔ)、狀態(tài)流轉(zhuǎn)、事務(wù)邊界等細(xì)節(jié)同時(shí)深入解析了基于樂觀鎖的防超賣下單邏輯以及JWT鑒權(quán)、文件上傳、Docker部署等落地技術(shù)。對(duì)于正在準(zhǔn)備畢業(yè)設(shè)計(jì)或希望提升SpringBoot實(shí)戰(zhàn)能力的開發(fā)者這套完整方案既提供了可復(fù)用的數(shù)據(jù)庫設(shè)計(jì)方法論也給出了從源碼到可運(yùn)行系統(tǒng)的避坑指南。 做畢設(shè)選題的時(shí)候十個(gè)Java方向的人里有九個(gè)會(huì)刷到“校園二手交易平臺(tái)”這句話毫不夸張。但真正把源碼下載下來能順利跑起來、還能跟面試官講清楚技術(shù)點(diǎn)的人十個(gè)里未必有一個(gè)。我做過一套基于SpringBoot的校園二手交易平臺(tái)源碼和數(shù)據(jù)庫設(shè)計(jì)都完整整理過這中間踩了不少坑——SpringBoot版本兼容、MySQL表結(jié)構(gòu)反復(fù)推倒重來、并發(fā)下單一不小心就超賣。這篇文章就把這套項(xiàng)目的經(jīng)驗(yàn)從頭梳理一遍不堆砌源碼文件而是把模塊劃分、數(shù)據(jù)庫設(shè)計(jì)、核心代碼、部署坑點(diǎn)以及面試怎么答都講透。無論你是剛學(xué)完Java基礎(chǔ)想找項(xiàng)目練手還是準(zhǔn)備用SpringBoot做畢業(yè)設(shè)計(jì)或者想從“會(huì)抄代碼”進(jìn)步到“能講設(shè)計(jì)”這篇都值得認(rèn)真看完。1. 為什么這個(gè)項(xiàng)目比“合租系統(tǒng)”“博客系統(tǒng)”更適合做Java練手項(xiàng)目1.1 校園二手交易的業(yè)務(wù)閉環(huán)決定了它的技術(shù)含量很多人選畢設(shè)題目時(shí)會(huì)考慮圖書管理系統(tǒng)、博客系統(tǒng)、在線商城。這些系統(tǒng)確實(shí)簡單但做完之后你會(huì)發(fā)現(xiàn)它們大多只是“多個(gè)表的CRUD”沒有多少業(yè)務(wù)邏輯可講。校園二手交易平臺(tái)不一樣它有自己的完整業(yè)務(wù)閉環(huán)學(xué)生注冊(cè)后進(jìn)行校園身份認(rèn)證認(rèn)證通過后可以發(fā)布閑置買家通過搜索、分類、收藏找到商品買賣雙方經(jīng)過站內(nèi)聊天溝通細(xì)節(jié)買家下單后走站內(nèi)余額模擬支付賣家發(fā)貨、買家確認(rèn)收貨交易完成后雙方可以互相評(píng)價(jià)如果出現(xiàn)問題還有舉報(bào)和申訴流程管理員在后端進(jìn)行商品審核、用戶封禁、數(shù)據(jù)統(tǒng)計(jì)。這套流程決定了項(xiàng)目不是一堆孤立的表而是各個(gè)模塊相互咬合的狀態(tài)流轉(zhuǎn)。比如商品不是刪掉就消失而是有草稿、待審核、在售、預(yù)訂、已售、強(qiáng)制下架的狀態(tài)路徑訂單不是簡單的insert而是先檢查商品是否在售再樂觀鎖更新商品狀態(tài)最后創(chuàng)建訂單、扣減余額。這些邏輯寫下來才是真正的“業(yè)務(wù)開發(fā)”。1.2 為什么要選SpringBootMyBatis-Plus這套組合選型的理由很多人答不上來。我的看法是SpringBoot的價(jià)值不是“快”而是它通過自動(dòng)配置把環(huán)境差異收斂掉了。你在A機(jī)器上能跑換到B機(jī)器也能跑這對(duì)訓(xùn)練項(xiàng)目和實(shí)際交付太重要了。MyBatis-Plus把單表CRUD封裝好了寫起來比原生MyBatis少很多代碼但它不是萬能藥像訂單狀態(tài)變更、庫存扣減這種強(qiáng)一致性的寫操作我都是寫自定義SQL加樂觀鎖完全依賴BaseMapper是不合適的。我在這套項(xiàng)目里的推薦組合是SpringBoot 2.7.18 JDK 8 MySQL 8.0 MyBatis-Plus 3.5.3 Redis MinIO JWT。這套組合偏保守但穩(wěn)定。后面章節(jié)我會(huì)專門說為什么不要一上來就追SpringBoot 3.x。2. 模塊拆解先畫清楚“人、貨、單”三個(gè)核心域2.1 用戶域不是簡單地建一張user表用戶模塊最容易被做成一張只包含賬號(hào)密碼的user表我見過很多半成品就是這么干的。但校園二手平臺(tái)有個(gè)特殊點(diǎn)用戶需要證明自己是該校學(xué)生。于是在user表外我還設(shè)計(jì)了一張student_certification表用來存學(xué)號(hào)、姓名、所在院系、學(xué)生卡圖片URL、認(rèn)證狀態(tài)。user表本身只放通用登錄字段認(rèn)證信息單獨(dú)放原因是認(rèn)證是一次性的低頻操作拆開既能減少user表寬度也方便后臺(tái)審核時(shí)只查認(rèn)證表。user表核心字段id、username、password、nickname、avatar、phone、role0普通用戶1管理員、status0禁用1正常、points信譽(yù)積分、create_time、update_time。密碼存的是BCrypt加密后的字符串不是明文。這里有一個(gè)容易被忽略的點(diǎn)用戶狀態(tài)和登錄邏輯要聯(lián)動(dòng)。如果賬號(hào)被管理員禁用登錄時(shí)不能只查用戶名和密碼還要校驗(yàn)status字段否則被處罰的用戶依然可以正常登錄。2.2 商品域發(fā)布到下架的完整狀態(tài)機(jī)商品域的靈魂是狀態(tài)。如果你的goods表里只有一個(gè)status字段但代碼里沒有一套狀態(tài)流轉(zhuǎn)邏輯那和普通文章表沒有區(qū)別。我的狀態(tài)設(shè)計(jì)為0草稿、1待審核、2在售、3預(yù)訂中、4已售出、5下架、6管理員強(qiáng)制下架。為什么要有待審核因?yàn)椴皇撬袑W(xué)生都會(huì)規(guī)范發(fā)布商品后臺(tái)管理員需要審核圖片和標(biāo)題防止出現(xiàn)違規(guī)品類。為什么要區(qū)分“預(yù)訂中”和“已售出”因?yàn)榫€下交易存在“我先預(yù)訂然后當(dāng)面交付”的環(huán)節(jié)沒有這個(gè)狀態(tài)用戶并發(fā)下單就控制不住。商品表字段包括id、user_id發(fā)布者、category_id、title、description、price單位分、original_price、quality成色、image_urlsJSON數(shù)組存圖集、status、stock_version樂觀鎖版本號(hào)、view_count、create_time、update_time。價(jià)格我建議統(tǒng)一用“分”來表示不要用double否則訂單金額計(jì)算會(huì)出現(xiàn)浮點(diǎn)誤差這是個(gè)老生常談但很容易踩的坑。2.3 交易域二手交易不是標(biāo)準(zhǔn)電商訂單是所有模塊里最容易出錯(cuò)的。二手交易和標(biāo)準(zhǔn)電商最大的差異是庫存永遠(yuǎn)是1不允許超賣。標(biāo)準(zhǔn)電商可以扣減庫存二手場景則應(yīng)該是“下單即鎖定商品”成功創(chuàng)建訂單后商品狀態(tài)從在售變?yōu)轭A(yù)訂中其他人不能再下單。所以order表不能單純當(dāng)作訂單記錄表它實(shí)際承擔(dān)了商品狀態(tài)的“觸發(fā)器”。訂單表字段id、order_no、goods_id、buyer_id、seller_id、amount單位分、status0待支付1待發(fā)貨2待收貨3已完成4退款中5已關(guān)閉、pay_type0站內(nèi)余額1線下交付、pay_time、deliver_time、receive_time、close_time、remark、create_time。另外還要一張trade_record表用來記錄每次余額扣減和收入增加類似流水賬對(duì)賬和排查問題都用得上。3. 數(shù)據(jù)庫設(shè)計(jì)9張核心表4張擴(kuò)展表表和表之間的業(yè)務(wù)邏輯要能講明白3.1 核心表的結(jié)構(gòu)設(shè)計(jì)與建表SQL數(shù)據(jù)庫設(shè)計(jì)不能一上來就建表而是先把業(yè)務(wù)對(duì)象拆成“主表子表狀態(tài)流水”四個(gè)層次。以訂單為例orders是主表記錄一次交易的核心內(nèi)容訂單操作記錄是流水表記錄狀態(tài)變更歷史如果涉及退款還要有refund_record表。下表是我歸納出的核心表清單表名職責(zé)關(guān)鍵字段user賬號(hào)登錄與基本信息username、password、role、statusstudent_certification學(xué)生認(rèn)證資料user_id、student_no、campus_card_url、auth_statusgoods_category商品分類name、parent_id、sortgoods商品信息user_id、category_id、status、stock_versiongoods_image商品圖片goods_id、url、sortorders訂單主表order_no、goods_id、buyer_id、seller_id、statustrade_record余額流水user_id、type、amount、balance_before、balance_afterfavorite收藏user_id、goods_id、create_timemessage站內(nèi)私信from_user_id、to_user_id、content、is_read這里給出goods表的建表SQL注意索引和注釋CREATE TABLE goods ( id bigint(20) NOT NULL AUTO_INCREMENT, user_id bigint(20) NOT NULL COMMENT 發(fā)布者ID, category_id bigint(20) DEFAULT NULL COMMENT 分類ID, title varchar(120) NOT NULL COMMENT 標(biāo)題, description text COMMENT 描述, price bigint(20) NOT NULL COMMENT 價(jià)格單位分, original_price bigint(20) DEFAULT NULL COMMENT 原價(jià)單位分, quality tinyint(4) DEFAULT NULL COMMENT 成色1-10, status tinyint(4) NOT NULL DEFAULT 0 COMMENT 0草稿 1待審核 2在售 3預(yù)訂中 4已售出 5下架 6強(qiáng)制下架, stock_version int(11) NOT NULL DEFAULT 0 COMMENT 樂觀鎖版本號(hào), view_count bigint(20) DEFAULT 0 COMMENT 瀏覽量, create_time datetime DEFAULT NULL, update_time datetime DEFAULT NULL, PRIMARY KEY (id), KEY idx_category_status (category_id,status), KEY idx_user_id (user_id), KEY idx_create_time (create_time) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT商品表;注意幾個(gè)設(shè)計(jì)細(xì)節(jié)價(jià)格用bigint存“分”不用decimal避免MyBatis里類型轉(zhuǎn)換麻煩也方便Long接收status加上category_id聯(lián)合索引因?yàn)槭醉摲诸愓故臼亲畛R姷牟樵儓鼍皥D片不單獨(dú)建表用goods.image_urls字段存JSON數(shù)組減少一次關(guān)聯(lián)查詢?nèi)绻麑?duì)圖片查詢很頻繁再拆表3.2 擴(kuò)展表留言、舉報(bào)、通知、瀏覽記錄核心表之外要支撐完整業(yè)務(wù)閉環(huán)還需要四張擴(kuò)展表。message表站內(nèi)私信from_user_id、to_user_id、content、is_read、create_time。站點(diǎn)內(nèi)聊天時(shí)需要根據(jù)from_user_id和to_user_id查會(huì)話記錄這里可以加聯(lián)合索引(from_user_id, to_user_id, create_time)report表舉報(bào)target_type舉報(bào)商品還是評(píng)論、target_id、reason、status、handle_user_id、handle_time。后臺(tái)管理員處理舉報(bào)后狀態(tài)要能回溯notice表通知user_id、title、content、type、is_read。比如訂單狀態(tài)變化、審核結(jié)果都要推通知給用戶browse_record表瀏覽記錄user_id、goods_id、browse_time。用瀏覽記錄做“猜你喜歡”時(shí)查詢最近N條記錄這些擴(kuò)展表不一定每個(gè)頁面都用到但設(shè)計(jì)時(shí)先留好回頭加功能時(shí)就不用再動(dòng)大表。我的習(xí)慣是凡是需要追溯歷史的信息都單獨(dú)建流水表不要在原表上改得面目全非。3.3 索引和事務(wù)設(shè)計(jì)索引不是越多越好事務(wù)也不是越寬越好很多初學(xué)者拿到表結(jié)構(gòu)后把所有字段都加一遍索引這是不對(duì)的。索引會(huì)降低寫入速度占用磁盤空間。這個(gè)項(xiàng)目里真正熱點(diǎn)查詢是商品列表按分類、狀態(tài)、時(shí)間排序商品標(biāo)題模糊搜索訂單按買家或賣家查列表交易流水按用戶查對(duì)應(yīng)的索引就是goods(category_id, status, create_time)、goods(title)全文索引或簡單用LIKE、orders(buyer_id, status)、orders(seller_id, status)、trade_record(user_id, create_time)。注意不要給description加索引大字段加索引沒意義。事務(wù)設(shè)計(jì)更重要。下單這個(gè)操作需要把“更新商品狀態(tài)”“創(chuàng)建訂單”“扣減買家余額”“增加賣家余額”“寫入交易流水”放在同一個(gè)事務(wù)里任何一個(gè)失敗都要回滾。另外事務(wù)不是包得越寬越好。查詢操作不要加Transactional否則數(shù)據(jù)庫連接占用時(shí)間太長高并發(fā)時(shí)會(huì)把連接池打滿。4. 核心源碼解析把登錄、商品發(fā)布、下單這三段代碼吃透4.1 JWT登錄鑒權(quán)的完整鏈路登錄模塊我用JWT做無狀態(tài)鑒權(quán)。服務(wù)端不保存Session客戶端每次請(qǐng)求在Header里帶一個(gè)Authorization: Bearer token攔截器校驗(yàn)token合法性并從token里取出當(dāng)前用戶ID和角色。這樣做的優(yōu)點(diǎn)是方便前后端分離缺點(diǎn)是需要自己處理token過期和續(xù)期。JwtUtil核心代碼public class JwtUtil { private static final String SECRET your-secret-key; public static String generateToken(User user) { return Jwts.builder() .setSubject(user.getId().toString()) .claim(username, user.getUsername()) .claim(role, user.getRole()) .setIssuedAt(new Date()) .setExpiration(new Date(System.currentTimeMillis() 3600_000)) .signWith(SignatureAlgorithm.HS256, SECRET) .compact(); } public static Long getUserId(String token) { Claims claims Jwts.parser() .setSigningKey(SECRET) .parseClaimsJws(token) .getBody(); return Long.valueOf(claims.getSubject()); } }攔截器里要注意兩點(diǎn)一是白名單放行比如登錄、注冊(cè)、商品瀏覽、圖片訪問不需要token二是用戶被禁用后已經(jīng)發(fā)出的token要立即失效。我的處理方式是在Redis里存一個(gè)黑名單管理員封禁用戶時(shí)把該用戶的token版本號(hào)加1攔截器里比對(duì)版本號(hào)不匹配就拒絕訪問。4.2 商品發(fā)布的實(shí)現(xiàn)文件上傳與參數(shù)校驗(yàn)商品發(fā)布有兩個(gè)核心點(diǎn)圖片上傳和字段校驗(yàn)。圖片上傳我用MinIO做對(duì)象存儲(chǔ)不把圖片文件存到數(shù)據(jù)庫。MinIO兼容S3協(xié)議本地部署很方便和OSS相比沒有外網(wǎng)依賴。上傳流程是前端用MultipartFile上傳圖片后端把文件流轉(zhuǎn)成輸入流寫入MinIO返回圖片URL然后把URL數(shù)組存入goods.image_urls字段。代碼示例PostMapping(/goods) public Result addGoods(RequestBody Valid GoodsDTO dto, RequestHeader(Authorization) String token) { Long userId JwtUtil.getUserId(token); goodsService.addGoods(userId, dto); return Result.ok(); }GoodsDTO里用javax.validation注解做入?yún)⑿r?yàn)比如NotBlank(message 標(biāo)題不能為空)、NotNull(message 價(jià)格不能為空)。這里有個(gè)小經(jīng)驗(yàn)不要相信前端傳的任何值特別是status。用戶提交商品時(shí)status只能固定為待審核不能讓前端傳什么就存什么否則可以繞過審核直接上架。4.3 下單防并發(fā)樂觀鎖把“庫存為1”的坑填平下單是這個(gè)項(xiàng)目里最有技術(shù)含量的方法。前面說過二手商品庫存永遠(yuǎn)是1所以不能用常規(guī)的“先查庫存再扣減”否則并發(fā)請(qǐng)求同時(shí)通過檢查就會(huì)超賣。我的方案是使用自定義SQL加樂觀鎖Transactional(rollbackFor Exception.class) public Order createOrder(Long goodsId, Long buyerId) { Goods goods goodsMapper.selectById(goodsId); if (goods null || !goods.getStatus().equals(GoodsStatus.ON_SALE)) { throw new BizException(商品不存在或不在售); } int rows goodsMapper.lockStock(goodsId, goods.getStockVersion()); if (rows 0) { throw new BizException(手慢了商品已被下單); } // 生成訂單號(hào)、創(chuàng)建訂單、扣減買家余額、增加賣家余額 // 記錄交易流水 return order; }對(duì)應(yīng)的Mapper XMLupdate idlockStock update goods set status 3, stock_version stock_version 1 where id #{goodsId} and status 2 and stock_version #{stockVersion} /update這段SQL的作用是只有當(dāng)商品仍然是“在售”狀態(tài)且版本號(hào)沒有變化時(shí)才會(huì)更新成功。update影響行數(shù)為0說明商品已經(jīng)被別人下單或狀態(tài)已變化。我之所以不用select for update悲觀鎖是因?yàn)橥患唐凡l(fā)下單的沖突概率其實(shí)不高樂觀鎖在絕大多數(shù)情況下不會(huì)沖突對(duì)數(shù)據(jù)庫的壓力更小而悲觀鎖會(huì)讓所有請(qǐng)求都排隊(duì)等待商品詳情頁也可能被鎖影響。5. 從源碼到可運(yùn)行SpringBoot版本、MySQL初始化、Docker部署這些坑一次說清5.1 環(huán)境選型JDK8還是17SpringBoot 2.7.x還是3.x我見過很多新手用IDEA創(chuàng)建項(xiàng)目時(shí)默認(rèn)生成SpringBoot 3.x然后引入老教程的MyBatis-Plus和各類工具結(jié)果就是一堆jar包沖突。SpringBoot 3.x基于Jakarta EE之前寫javax.validation、javax.servlet的地方全部要改成jakarta.*MyBatis-Plus必須用3.5.5以上版本很多老博客里的寫法直接編譯不過。所以個(gè)人建議做校園二手交易這個(gè)體量的項(xiàng)目直接選擇SpringBoot 2.7.18JDK用8或11。它支持JDK17但不用新特性就不影響。等以后真正需要升級(jí)再遷現(xiàn)階段沒必要給自己增加“遷移類錯(cuò)誤”的排查負(fù)擔(dān)。5.2 MySQL初始化和application.yml的完整配置數(shù)據(jù)庫初始化時(shí)要注意如果MySQL是8.0連接URL必須加上時(shí)區(qū)和SSL參數(shù)否則啟動(dòng)會(huì)報(bào)錯(cuò)。我的application.yml關(guān)鍵配置如下spring: datasource: url: jdbc:mysql://localhost:3306/campus_secondhand?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/ShanghaiuseSSLfalse username: root password: yourpassword driver-class-name: com.mysql.cj.jdbc.Driver redis: host: localhost port: 6379 servlet: multipart: max-file-size: 5MB max-request-size: 20MB mybatis-plus: mapper-locations: classpath:mapper/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl jwt: secret: your-secret-key expire: 3600000啟動(dòng)前先執(zhí)行CREATE DATABASE campus_secondhand DEFAULT CHARACTER SET utf8mb4;再導(dǎo)入SQL腳本。這里容易踩的一個(gè)坑是數(shù)據(jù)庫字符集沒設(shè)utf8mb4導(dǎo)致發(fā)布商品時(shí)中文表情符號(hào)存不進(jìn)去。5.3 Docker部署和常見報(bào)錯(cuò)Docker部署SpringBoot項(xiàng)目其實(shí)很簡單本質(zhì)是打成一個(gè)jar包再丟進(jìn)容器。我給一個(gè)最簡DockerfileFROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILEtarget/*.jar COPY ${JAR_FILE} app.jar EXPOSE 8080 ENTRYPOINT [java,-jar,/app.jar]構(gòu)建命令mvn clean package -DskipTests docker build -t campus-secondhand:1.0 . docker run -d -p 8080:8080 --name campus campus-secondhand:1.0下面是我排查過程中經(jīng)常遇到的幾個(gè)問題報(bào)錯(cuò)信息原因解決辦法The server time zone value is unrecognizedMySQL連接URL缺少時(shí)區(qū)參數(shù)在url后加serverTimezoneAsia/ShanghaiFailed to configure a DataSource啟動(dòng)時(shí)沒有找到數(shù)據(jù)源配置檢查application.yml是否在classpath數(shù)據(jù)庫是否已啟動(dòng)java.io.FileNotFoundException: /tmp/...容器內(nèi)沒有上傳目錄權(quán)限D(zhuǎn)ockerfile里加RUN mkdir -p /data/upload并掛載volumeOutOfMemoryError: insufficient memory容器內(nèi)存限制啟動(dòng)命令加-Xmx512m6. 這套代碼藏在SpringBoot框架里的面試考點(diǎn)防八股問倒6.1 自動(dòng)配置到底是怎么回事“SpringBoot為什么能自動(dòng)配置”是必問題。套用這個(gè)項(xiàng)目回答最合適項(xiàng)目里引入了spring-boot-starter-data-redisSpringBoot通過EnableAutoConfiguration去讀取META-INF/spring.factories或AutoConfiguration.imports里的自動(dòng)配置類再配合ConditionalOnClass(RedisOperations.class)、ConditionalOnMissingBean這類條件注解自動(dòng)幫我們創(chuàng)建RedisTemplate、StringRedisTemplate這些Bean。表面上是“自動(dòng)配置”本質(zhì)上還是條件和工廠的結(jié)合。如果你需要定制可以在自己的配置類里聲明一個(gè)RedisTemplate的BeanConditionalOnMissingBean檢測到已經(jīng)存在就跳過自動(dòng)創(chuàng)建。這段邏輯平時(shí)不顯眼但理解了之后排查“為什么我配置沒生效”會(huì)快很多。6.2 項(xiàng)目中哪些地方用到了AOP和事務(wù)事務(wù)用的是Transactional。面試官特別喜歡問“事務(wù)失效場景”我在項(xiàng)目里實(shí)際踩過createOrder方法調(diào)用本類另一個(gè)事務(wù)方法結(jié)果內(nèi)部方法的Transactional沒生效。原因很簡單Spring的事務(wù)是通過AOP代理實(shí)現(xiàn)的同類調(diào)用走的是this而不是代理對(duì)象所以代理切面根本沒執(zhí)行。解決辦法要么把內(nèi)部方法拆到另一個(gè)Service要么用AopContext.currentProxy()。AOP除了事務(wù)我還用它做管理員操作審計(jì)日志。比如審核商品、處理舉報(bào)這類后臺(tái)操作定義一個(gè)自定義注解AdminLog再寫一個(gè)Aspect切面在方法執(zhí)行前后記錄操作人、操作類型、操作參數(shù)、耗時(shí)。這樣比在每個(gè)Controller里手寫日志要清爽得多也展示了你對(duì)AOP的理解。6.3 表設(shè)計(jì)通用方法論和WMS數(shù)據(jù)庫設(shè)計(jì)是同一個(gè)套路有人問“WMS系統(tǒng)怎么設(shè)計(jì)數(shù)據(jù)庫表”時(shí)我意識(shí)到其實(shí)和二手交易平臺(tái)設(shè)計(jì)是同一套方法論??梢园选跋到y(tǒng)里所有重要業(yè)務(wù)對(duì)象”拆成四層主表記錄核心對(duì)象及其當(dāng)前狀態(tài)例如訂單表、入庫單表子表/明細(xì)表記錄核心對(duì)象包含的具體條目例如訂單明細(xì)、入庫單明細(xì)流水表記錄所有歷史變更例如交易流水、庫存變動(dòng)流水唯一業(yè)務(wù)單號(hào)每張主表都生成一個(gè)全局唯一的業(yè)務(wù)編號(hào)order_no、入庫單號(hào)并建立唯一索引用于冪等和問題追溯這套方法論不是只能用在校園二手平臺(tái)WMS里的庫存管理、ERP里的訂單處理本質(zhì)上都是這樣一層一層拆出來的。聊到這個(gè)不僅能體現(xiàn)你會(huì)寫SQL還能體現(xiàn)你對(duì)系統(tǒng)設(shè)計(jì)的思考深度。7. 持續(xù)迭代方向不要把項(xiàng)目停在“演示可用”7.1 什么情況下不需要拆微服務(wù)很多人做完單體項(xiàng)目就想往上堆Nacos、Gateway、Feign覺得微服務(wù)顯得“高級(jí)”。我也曾經(jīng)這么做過但最后發(fā)現(xiàn)沒有千萬級(jí)用戶、沒有多團(tuán)隊(duì)并行開發(fā)微服務(wù)帶來的服務(wù)治理成本遠(yuǎn)大于收益。校園二手交易平臺(tái)用單體架構(gòu)完全合理真正需要演進(jìn)的方向不是拆服務(wù)而是把單體的代碼質(zhì)量和可觀測性做好比如加接口限流、日志采集、慢SQL監(jiān)控。7.2 想真正落地還需要補(bǔ)什么要讓這套系統(tǒng)在學(xué)校真正投入使用至少要補(bǔ)齊這幾塊真實(shí)支付微信/支付寶需要商戶資質(zhì)校園場景可以用模擬支付演示但代碼里要預(yù)留支付回調(diào)接口消息推送下單后需要通知賣家可以用RabbitMQ做異步通知避免下單響應(yīng)時(shí)間被郵件或短信拖慢內(nèi)容審核發(fā)布商品時(shí)圖片和文字需要先經(jīng)過云服務(wù)審核防止違規(guī)內(nèi)容數(shù)據(jù)脫敏管理員查看用戶列表時(shí)手機(jī)號(hào)、學(xué)號(hào)不能明文展示接口防刷用Redis實(shí)現(xiàn)滑動(dòng)窗口限流避免商品詳情和登錄接口被惡意刷最后分享一個(gè)很實(shí)際的調(diào)試技巧。下單并發(fā)是一個(gè)容易翻車也特別容易出彩的測試點(diǎn)在本地啟動(dòng)項(xiàng)目后用JMeter建20個(gè)線程同時(shí)搶同一件商品觀察請(qǐng)求返回和數(shù)據(jù)庫里該商品的stock_version、status變化。我第一次跑的時(shí)候出現(xiàn)了兩條訂單同時(shí)成功的現(xiàn)象后來正是在這條復(fù)現(xiàn)路徑上定位到問題——更新SQL漏了status2條件導(dǎo)致已經(jīng)預(yù)訂的商品還能被update。很多表面上“有源碼就完事”的項(xiàng)目恰恰在這種并發(fā)細(xì)節(jié)里見高下。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
夜夜高潮夜夜爽夜夜爱爱一区| 男人天堂欧美| 亚洲天堂 视频你懂的| 69人妻精品丰满熟女区| 久久精品国产96精品亚洲拳交| 九九九精品美女| 少妇与黑人高潮在线| 亚洲高清在线| 强奸国产在线| 中文字幕av一区二区三区人妻少妇| 东京日日夜夜| 亚洲第一无码播放立川理惠| 操逼无码一区| 国产一区二区三区免费视频在性观看 | 97人人操人人摸人人爱| 亚洲另类久操网| 少妇高潮特黄A片| 三级色影综合网| 日产成人久久| 六月丁操逼| 色色婷| 无码 黑人一区二区三区| 日韩91网| 亚洲风情在线观看| 蜜桃臀久久| www.AV有限公司一区| 吻戏激情性巴克| 91成人久久| 日本女人久久久| 美欧老女人97| 伊人伊人LD| 久久只有精品一区二区三区| 久久AV无码1区2区3区| 国模限制级电影| 婷婷亚洲五月***久久| 巨爆乳一区二区爆乳区| 国产精品福利视频播放| 9国产超碰| 偷拍偷窥与盗摄视频专区| 在线97视频| 蜜臀Av一区二区三区| 老熟女91av| 男人的天堂一区三区| 色婷婷激一区二区三区 | 啊啊啊啊一区| 久久精品视频久久久| 亚洲欧美内射| 超碰偷拍| 中文一区二区三区影院| 99色在线| 日韩精品在线视频,日韩精品……| 97资源站日韩| 香蕉视频欧美一卡二卡| 老熟女搡BBBB搡BBBB视频| 人人做,人人操,人人摸| 激情专区综合| 久久丁香五月婷婷| 亚洲天堂电影精品一区| 天天日天天舔东京热| 国产美女激情| 99re热| 伊人欧美大香蕉视频| 精品人妻视频一区二区在线播放 | 99re只有精品| 综合网亚洲1| 天天拍夜夜| 日韩精品字幕| 久久精品三级影视| 久久麻豆一区二区| 久久久精久久久| 国产熟妇一区二区| 99热一区二区三区四区| 成人性爱av| 亚洲欧洲综合视频在线| 97舔舔| 蜜桃不卡一区二区| 国产精品一区二区密臀| 好舒服视频| 91精品在线播放| 久久久久久久久久久久97 | 99自拍视频| 亚州色交| 日本一线产区和二线产区伦理片| 亚洲国产成人精品999| 乱伦av麻豆| 四色永久成人网站| 日日夜夜国产综合| 人妻熟妇一区二区三区| 日韩性爱小视频| 国产精品久久久久无码A√| 日韩女模中文造逼| 99国产天美| 国产吹潮女在线观看| 综合97| av无码精品久久久久| 99热久| 成人在线永久| 亚洲图片激情小说| 操逼逼无码| 中文字幕乱码人妻一区二区三区,99精品| 欧美性生活内射| 一本久道久久综合狠狠爱一密臀精| 久久这里是精品| 色色色色色色色色色色色色色色综合| 九九九热精品| 欧美一区二区三区另类精品| 欧美色图片91| 超碰97人人cao| 这里只有精品视频| 欧美日韩人妻精品一区二区三区| 性爱免费视频成人| 91殴美大片| 好属操| 亚洲一区二区三区AV无码 | 99热婷婷一区二区三| 国模私拍一区二区三区神乳| 欧美男女午夜啪啪| 后入式免费视频| 天堂中文资源在线bt| 91 国产丝袜在线放观看| 性高潮久久久| 91麻豆天美传媒HD| 国产偷拍网站| 91九九九馒头| 精品一区二区综合熟妇| 欧洲亚洲人人爽爽视频| 色婷婷激情| 尤物黄色在线观看网站| 闷骚老熟女15P| 一级做a爰片性色毛片久久| 久久五月份| 国产精品乱码久久久久久久久| 一本一道波多野毛片中文在线| 中文字幕人妻色偷偷久久皮| 精品久久无码午夜福利| 国产精品久久久久绯色| 在线播放免费av福利片| www. 男人天堂成人在线| 一个人免费视频观看在线WWW| 欧美综合97www| 亚洲中文字幕熟女少妇一区二区| 久久婷婷影院| 999精品乱码| 激情丁香五月| 中文字幕黄片在线| 欧美一级专区免费大片| 色呦呦呦在线观看视频| 久久久精品,3| 九九视品黄色| 久久成人国产精品| 99热这里只有精品1| 欧美网站免费| 亚洲不卡三级手机播放| 超碰在线97国产| 亚洲黄网在哪免费看| 99re99在线视频| 99这里有精品| 亚洲一区二区AV| 欧美性暴力猛交XXXX | 后入式免费视频| 欧美 中文字幕 一区| 久久成年片色大黄全免费网站| 日韩av三四区| 亚洲精品视频二区| 无码 黑人一区二区三区| 中文日韩欧美熟| 操人91| 亚洲AV麻豆Aⅴ无码电影一| 神马久久久久久久久久| 激情综合网激情五月天| 欧美老妇曰批的视频| 91热色| 天堂综合网| 99国产精品人妻人伦| 8x福利精品第一福利视频导航| 风月影院男女十八禁| 99热久| 99久久久无码国产精品性啊聊| 超碰天天操| 亚洲天堂中文字幕无码男同| 日本免费中文字幕在线| 欧美人体性爱互联网第一页婷婷日本| 日韩少妇在线视频| 99热超碰| 亚洲精品久久久久久久蜜桃臀| 亚洲小说视频| 亚洲成人帖图| 欧美一区二区成人一卡| 欧亚乱色熟一区二区三四区| 亚洲午夜AV| 国产亚洲精品无码三区| 国产精品成久久久久午夜午夜| 国产中文字幕在线| 97爱b| 亚洲有码 视频一区| 18禁的网站在线| 亚洲高清视频在线免费观看| 欧美色图亚洲色| 日日嗨AV一区二区夜夜| 男人的天堂激情| 免费观看国产不卡av| 91老司机在线| 国产美女自拍视频| 欧洲亚洲人妻无码久久三区四区| 国产91专区| 欧美综合网1| 91久久18禁| 91原创在线观看| 97人人干| 激情五月综合网| 国产欧美日韩在线不卡第一页| 黄色人人| 欧美αv.com| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 性性久久| 中文字幕久久亚州无码| 日韩人妻精品| 91岛国动作片| 人妻铁牛TV| yy少妇精品久久| 超碰碰97| 曰本91情色| 狠狠热这里都是精品| 日韩人妻网站| 日日夜夜噜| 91性感网站| 综合天天网| 亚洲色图图片| 大屁股人妻女教师撅着屁股| 在线综合 亚洲 欧美中文字幕| 欧洲在线性爱视频| 97在线观看播放视频| 超97在线精品视频| 精品性爱一区二区| 天堂精品在线| 日韩天堂av电影在线观看| 男人的天堂2018.| 大香蕉色网| 欧洲小说色图视频另类| 啊啊啊骚| 成人午夜高潮av猛片| 内射夫妻三片| 激情五月天色色网| 伊人97色天使| 中文一区在线日| 乱操9999| 天天综合网91| 日本视频一区二区三区| 五月色网| 97超碰天天爱天天爱| 美女诱惑在线一区| 国产v亚洲v日韩v欧美v片另类| 最新av中文字幕高清| 自拍偷拍 日韩无码| 啊啊啊啊一区| 久草精品一区 | 99热国产| 97er欧美性| 另类欧美色| 国产野战露脸在线播放| 色色婷婷丁香| 91成人国产综合久久精品蜜月| 精品国产人成在线| 天美麻豆精品视频99| 1204av韩国| 熟女人妻一区二区三区| av凤凰久久久| 好舒服视频| 男人天堂网址| 色色综合网站| 亚洲AV在线资源| 蜜臀久久99精品久久久| 国产三级电影免费观看| 天美一二三在线观看Av| 白丝av| 丁香婷婷九月| 久久久男人的天堂| 国产成久久综合片| 久久女人一区二区三区| 激情文学亚洲| 国产熟女完整版中字 | 粉嫩av在线| 久久精视频美日韩在线视频| 麻豆激情综合| 欧美福利视频啊啊啊啊| 一品道视频一区二区三区| 另类欧美| 国产精品自拍xxxx| 97资源欧美| 天天综合~91| 99热精品在线观看| AV久日| 亚洲精品一二区| 欧美激情总合网| 伊人久久蜜月| 免费一级a毛片久久久久久鸭绿欲| 69精品少妇一区二区三区蜜桃| 国产人人干| 久久无码成人| 蜜桃AV天堂| 熟女六十路| 欧美激情久| 亚洲色图 欧美热图 清纯唯美 另类自拍 | julia中文字幕在线观看| 国产激情视频一区区三区| 99精品久久| 欧美性第1页| www色色com| 中文字幕国产| 校园春色制服丝袜中文字亚洲 | 无码精品一区二区三区潘金莲| 中 文字幕一区二区三四 五 区日 日 骚| 蜜乳AV一区二区三区四| 香蕉大久久久| 亚洲天堂综合AV| 亚洲色婷婷久久91| 人妻少妇久久| 国产一区二区三区不卡手机在线| 精品少妇人妻av久久免费| 老司机免费视频在线91| 青青草中文-久久青草精品一区二区三| 78精品在线| 欧洲中文字幕| 日本99久久| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 中文字幕乱码人妻一区二区三区,99精品| 亚洲色欧美| 97伦乱| 日韩性爱视频在线免费观看 | 人妻少妇久久中文字幕一区二区 麻豆 | 天天综合网1| 日本在线不卡一二区| 蜜臀无码视频在线观看| 東南亚性呦成人伦理资源在线视频| 亚洲欧美精品一区天堂久久| 国产高清在线观看欧美| 亚州熟女乱伦| 天天看天天日天天操| 国产日韩中文字幕欧美| 麻豆国产97在线| 一本色道久久综合亚洲二区三区| 天天摸天天舔天天操| 婷婷色香| 亚洲宗合电影| 9999亚洲电影| 狠狠做深爱婷婷久久二区| 色官网在线| 色网综合网| 香蕉久久AⅤ...| 亚洲天堂AV在线播放| 中文字幕黑人大片| 裸模AV女优| 欧美系列在线一区二区| 久久国产视频专区一二三| 亚洲操逼无码| 无码91| 97鸡把在线视频| 国产福利av精彩对白| 日1区2区3区2020| 熟妇熟女亚洲天堂网| 无码 黑人一区二区三区| 日韩精品一区,二区 九九...老司机| 强奸乱伦AV网站| 99久久免费看精品国产一区| 久久精品视| 九九热男人天堂| 成人女人国产| 国产精品99久久久www| 国产亚洲精品A在线观看下载| 欧美论理片| 人妻少妇久久久| 亚洲操人| 亚洲AV免费在线| 人妻一区视频| av最新免费中文字幕| 加勒比综合88| 欧美色女人| 67914在线兔费成人视频| 丰满翘臀美女影院视频| 区一二区日韩亚洲乱码av电影| 日韩三级一区 | 国产欧美在线观看免费观看| 亚洲欧美不卡线| 使劲用力艹少妇视频一区二区| 艳美熟妇先锋一二三区| 狂操嫩妻视频一区二区三区| 亚洲精品丝袜-不卡成人免费……| 亚洲色图激情小说| 黄呦呦在线| 97热视频在线观看| 插入逼91| 国产亚洲精品第一最新| 日韩一级欧美一级在线观看| 志村玲子视频一区二区| 青青草乱入乱欲视频在线观看| 骚女高跟AV在线| 91AV天美在线视频| 9999久久久久| 日韩av性爱在线播放| 国产三级在线现体验区| 操我无码| 啊啊啊啊啊好大好舒服想要| 色臀AV| 日日插夜夜| 精品国产网站| 亚洲欧美洲综合| 国内毛片热久久思思热| 992这里有精品| 91中文精品日韩欧美在线| 被窝影院午夜看片无码| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 蜜臀一区二区三区在线| 国产AV无码AV| 品亲网欧美品亲网| 亚洲精品乱码线路中文字幕| 亚洲综合色婷婷| 区一在线观看| 最新亚洲黄色免费电影| 精品久久99| 亚洲综合九九| 少妇高潮99p| 啊啊啊慢点| 国产高清视频无码在线| 黄色小说亚洲| 91夜色| 欧色综合| www.狠狠| 国产精品乱码久久久久久久久| AV网站高清无码在线观看| 天天日天天舔东京热| 亚洲精品一区二区精品| 日韩精品大香蕉伊人在线| 国产综合日韩伦理| 夜夜 中文视频rt| 久久精品中文字幕观看| 亚欧美色图| 天天日少妇逼AV| 蜜乳AV免费观看| 色婷婷在线视频精品导航| 91精品久久久久| 婷婷五月天av| 国产精品爱欲| 久久久蜜桃臀无码视频| 91色艳| 你懂的在线观看区国产| 久草男人天堂| 亚洲精品亚洲人成人网| 色综合av综合久久| 啊啊啊啊好疼| 天天看天天干| 日日日大屁股骚女人精品| 婷婷影院入口| 精品久久久久久亚洲| 黄色AAAAAAAAAAA大片| 超碰天天去日穴| 中文伊人大香蕉视频| 成全在线观看免费观看| 亚洲情色一区三区| 五月综合久久| 欧美色性爱| 91久久免费视频互動交流| 日韩中文9| 色噜噜国产在线| 成人a大片在线观看| 九九九精品美女| 欧美色97| 欧美高清第一页| 日本三级韩国三级美三级91| 精品人妻一区二区三区-国产精品| 五码视频在线观看| 日韩成年人性爱视频| 亚洲欧美999| 久久精品超碰| 国产一区二区三区白丝| 日韩欧洲操屄视频| 国产在线强奸视频| 日本女优在线视频福利| 福利在线观看一区二区| 精品国产乱码久久久久久口爆网站| 97免费在线观看| 日本在线15p| 亚洲另类色综合网站| 超碰天天去日穴| 一区二区三区四区理论片| 亚洲色婷婷综合久久久久中文| 91热热色| 欧美亚洲高清| 国产精品视频一区二区三区八戒| 日本欧美亚洲高清在线看| 日本免费专区| 91精品久久综合熟女| 激情小说五月天| 色色热| 九九成人精品| 超碰诱惑| 国内精品久9| 亚州男人天堂| 裸体女人草逼视频播放一区,二区,三区,四区,五区| 91日日| 欧美东京热青青草| 午夜福利视频在线一区| 久操B网| 婷婷美人网| 国产一区二区在线播放| 91在线精品| 婷婷亚洲综合| 日韩欧美偷拍美女视频| 精品国产乱码久久久久久久久久毛片| 色眯眯av| 国产精品久久久久久久无码AV| 国产成人自拍视频在线| 婷婷激情一区二区三区俺也去| 国产AV线| 色婷亚洲五月在线观看| 欧美 中文字幕 一区| 欧美韩国你懂得在线| 狠狠操使劲操| 澳门成人网站久国产日韩| 人妻美腿丝袜日韩| 欧美午夜视频免费观看| 性生活久久久久久久久久| 亚洲丝袜少妇在线| 99精品无码| 久久久成人精品| 国产高清精品一区二区三区毛片| 用力操死我| 精品久久久av无码免费| 天天天天做夜夜夜夜做| 久久永久无码人妻视频| 欧美少妇内射| 国产树林里野战在线看| 99re6国产精品99re| 日本免费中文字幕在线| 久久久久9999妇女| 日韩激情啪啪| 天天网综合| 大香蕉十区| 999亚洲国产视频| 亚洲无码99| 亚洲 暴爽 AV人人爽日日碰| 天天摸天天碰天天添青青| 亚欧高清| juliaann精品熟女一区| 嫩草影院在线观看精品 | 精品视频一区二区| 色眯眯av| 日日干夜夜干| 在线观看高清AV| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 天天草天天日| 易易A毛视频| 伊人97色天使| 久久性爱城| 99精品国产户外露出| 涩涩久久精品| 情色av电影| 国产91福利小视频在线观看| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 顶级少妇BT天堂| 国产精品久久妻无码网站| 欧美激情黑人| 欧美日韩亚洲电影| 亚洲蜜臀懂色| 国产白丝在线| 少妇国产不卡| 天天色综合图片| 日韩一级片在线看| 大香蕉伊人亚洲| 大香蕉手机视频| 巨爆乳一区二区爆乳区| 欧美日韩黄片精品在线| 亚洲**2021在线观看| 亚洲 暴爽 AV人人爽日日碰| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 特级特黄一级毛片免费| 免费精品无码一级毛片牛牛影视 | 欧美亚洲素人制服精品| 亚洲91射| 青青青艹在线视频| 成人五月天色网| 日本999精品| 色九九综合AV| 91久| 精品国产Av无码久久久伦古装| 亚洲国产精品久久久久婷婷老年| 天天综合有色网| 九九九九免费高| 亚洲色综网| 99精品九九九九九九| 乱人乱色一区二区三区免费| 78操B| www.伪伪| 亚州精品一区二区三区香中文字幕在线| 91xingse| 色欧美天天| 无码91| 蜜臀无码一区二区| 亚洲日韩在线a不卡99精品| 国产精品日日摸天天碰| 内射小黄片| 精品性爱无码在线播放| 亚洲欧美精品91| 国产亚洲欧洲在线观看| 97在线视频免费看| 亚洲欧综合另类无码一区| 欧美很很操视频| 精品人妻一区二区三区-国产| 色综合加勒比四四季| 成人情色综合网| 亚洲成人激情小说视频| 91大学精品激情戏| 国产亚卅97| 亚洲精品电影| 日欧操屄视频| 久久99精品九九久久久婷婷| 亚洲āv网址在线观看| 日人妻视频91| 中文字幕AV片| 操逼天美3区| 日韩不卡毛片Av免费高清| 国产少妇内射| 欧美激情内射| 欧美综合骚| 蜜臀久久99精品久久久久久无删减 | 少妇 综合| 蜜臀99久久精品久久久懂爱| 青青草五月天| 东北熟女91| 国产 丝袜 欧美中文 另类| 91精品国久久久久久无码| 五月天我淫我色av| 久久久男人的天堂| 欧洲一级性爱视频在线观看| 天天综合网~91综合网| 强奸乱伦av电影| 加勒比久久av| 天天做天天爽| 热热色91| AV中文字幕剧情1区2区3| 最新日产中文在线麻豆| 91操熟女视频| 国产极品999| 成人一道本免费视频| 欧美亚洲日韩16色| 麻豆久久久久久久久丝袜 | 福利色色| 精品黄色电影| 青操影院| 狠肏骚人妻| 久久精品国产72国产精品福利| 夜夜高潮夜夜爽夜夜爱爱一区| 色五月av| 精品欧美А∨无码黑人大荫蒂| 97在线观看| 蜜桃视频一区二区三区| 91久精品| 欧美日不卡| 久热99| 中文字幕一区二区三区四区在线视频| 91美女国产在线| 刺激性视频黄页| 欧美性天天影视| 日韩去日本高清在| 333kkkk·亚洲com久久| 男人天堂黄片| 天天视频网站黄| JuliaAnnXXX888| 极品少妇久久久久| 超碰综合97在线| 亚洲在线综合| yazhououmeizongya| 97欧美色| 欧美 色 亚洲| 妇女乱色二区| 蜜臀中文字幕| 无码99| 最新亚洲风情电影| 久久天天性久久伊人| 99精品久久久久久久婷婷蜜桃| 国产91久久九九免费精品无码| 秋霞一级鲁丝片A片| 国产家庭乱伦性爱视频| 国产精品呦一区二区三区| 亚洲日本激情| 五月婷婷AV| 丁香五月综合| 图色综合网| 亚洲人久久久久日| 青娱乐国产剧情av一区| 亚洲无码成人精品| 人人透人人操| 又摸又舔在线观看网站| 四虎精品一区| 欧美综合另类| 欧美亚洲中文字幕| 操学生天天| 欧美九九九九九| 97这里只有精品| 人人摸人人添人人操 | 天美国产精品| 三级片大波波| 在线97视频| 国产又粗又长又爽又色| 啊啊啊好爽快点啊啊啊嗯嗯| 在线情色电影 91大| 亚州综合色| 亚洲天堂无码| 熟女中出视频| 国产强奸乱伦xd| 九九热最新| 加勒比综合a∨| 91精片| www.夜夜操| 十八禁黄色| 多乙久久久久久| 加勒比久久av| 伦理片秋霞免费影院| 国产久久久久影院老熟女| 综合情欲网| 精品区国产区一区二区三区| 日韩精品人妻中文字幕不卡乱码| 100啪啪视频大全| 欧美国产精品| 欧美色图91p| 8050无码八戒| 91久久久老司机| 欧美性生活综合| 男人的天堂1024| 熟女色图在线| 国产51色综合久久免费| 精品9999| 亚洲图片欧美91N| 国产精品直播在线观看直播| 国产高清1234区| 九九精品99| 久久AV色| 91超级碰碰| 亚洲密乳AV| 自拍第一页| 精品久一区免费| 中国国产精品一区视频| 丰满人妻一区二区三区| 亚洲青青草| 在线只有精品| 在线欧美69V免费观看视频| 欧美日本不卡在线| 欧美日韩国产男人| 久久久9视频| 思思热免费视频观看| 超碰视97中文| 高凊专区人人操| 日韩人成网站在线播放| 韩国手机不卡无码三级视频| 少妇内射视频| 大香网伊人久久综合网eew| 黑人精品成人一区二区三区| 日韩有码 一区二区三区| 性高潮久久久久久久久久久| 青久久| 超碰天天操| 欧亚乱色熟一区二区三四区| 激情五月丁香五月| 9l视频自拍9l九色成人| 亚洲av无码国产精品字幕| 亚洲一二三| 亚洲精品一二三四区| 国产综合网站在线播放 | 伊人91| 99日视频在线免费| 欧美成人精品一区二区男人蜜臀 | 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 久久综合18p| 性爱久久| 99热亚洲天堂| 青青久操| 中文乱码99| 岛国小电影| 操人妻丝袜高跟| 男人的天堂欧美| 国产自产91区13区| 欧美中字二区| 超碰97在线色男人??| 大香蕉2017| 亚洲天堂少妇| 玖玖爱在线视频免费观看| 一级人妻性爱视频| 无码日韩人妻av一| 嗯嗯嗯好爽| 国产亚洲色婷婷99精品91| 日本A级视频| 91久久国产精品| 日本淫乱女一区二区三区视频| 日韩一性一交一A片俄罗斯 | 99精品久久久久久| 亚洲a色| 国产精品嫩草影院免费| 天天爽天天操| 国产视频97| 天天上日日上日韩精品| 激情五月丁香五月| 天天影视射综合网| 高清有码一区二区| 日本福利社| 久久久月天| 免费福利视频中文字幕| 97超碰色屌| 亚洲精品人体| 99免费视频| 四虎精品亚洲| 五月婷婷五月天| 久久久96精品| 国内自拍 日韩激情 99| 大香蕉在线SuP| 91九色网| 久久系列| 国产人伦精品一区二区三区| 97色碰| www.四虎在线| 国语精品av| 久久久精品国产亚洲伊人| 超碰97人人乐| 国产一级αv免费看片| 亚洲伊人青青草| 丁香五月色| 精品免费成人久久| 一区久久久二区| 一区二区三区视频| 97天天摸天天碰| 欧美激情视频在线一区| 啊啊啊在线观看免费视频| av爱爱爱| 玖玖资源视频一区二区三区| 精品一区二区啪啪啪| 久9九综合在线| 亚洲色图美腿丝袜| 婷婷激情五月天小说网| 另类欧美色| 97一区二区蜜臀| 熟女字幕| 99999久久精| 锕锕好爽 死我在线观看| 亚洲精品三| 欧美不卡五十路| 久久日本熟女精品一区| 欧美午夜精品久久久久久超碰| 亚洲欧洲激情卡通另类文学四射小说网站| 国产SV一线| 亚洲精品色| 狠狠中文字幕| 男女无套 免费网站| 久久精品操| 超碰久久草| 中文字幕在线观看第二页| 美國A片| 国产精品自拍xxxx| 女性喷水高潮在线观看| 久久久九| 国产精品不卡一区二区三区| 97在线国产精品| 久久丁香五月婷婷| 中国一级操逼视频| 黄色大片免费在线| 天天综合网网欲色| 国产在线播放成人免费| 久久精品无码熟妇一区二区三区视频导航 | 亚洲一区日韩精品中文字幕| 久久綜合很很很| 亚洲精品精品一区二区| 国产精品宅男免费| 久久性爱精品一区| 天天视频网站黄| 国产精品蜜臀久久久久无码AV| 97日韩欧美| 欧美高清第一页| 欧美A片中文字幕| 中文字幕一二三av| 亚洲色图一区二区三区| 少妇熟女1区2区3区| 老司机午夜精品视频| 超碰国产精品无码| 一牛影视成人片免费| 日本操大逼| 国产精品国产拍高清AV| 久久欧美按摩999| 欧美中文字幕一区 | 抽插一区二区视频| 麻豆天美91| 99久久婷婷丁香| 成人av免费观看| 精品夜夜澡人妻无码| 亚洲人91| 国产亚热在线久久| 97超碰人人模人人拍人人| 美女91网| 香蕉热人人精品| 亚洲第一综合| 婷婷香网站| 人人操人人干xxx| 亚洲av强奸乱伦| 婷婷情色五月天| 日本ZZ高免费A级视频| 国产精品亚洲一级av第二区| 天天爽天天爽| 无码精品啪啪啪一区二区三区三州| 激情文学 亚洲图片| 啊啊嗯嗯好爽| 精品超碰中文在线| 久久久九精品| 国产67194| 风月影院男女十八禁| 最新av网站在线观看| 99超碰色| JIZZJIZZ亚洲女人被躁| 日韩性爱网址| 我中文字幕6区| 色第一页| 制度丝袜99| 久久同城AV| 成人麻豆av电影网站| 日韩欧美中文字| 色欲无码人妻日韩欧美精品| 亚洲网自拍| 亚洲日本天堂| 中文字幕国产在线天堂| 激情小说五月天| 大香蕉综合网| 丝袜av一区二区三区| 少妇人妻太紧太深av| 天综合网欧美| 综合一区中亚洲国产成人综合精品| 久久精品视频一区三区小泽玛利亚| 日韩亚洲中文有码视频| 欧美日韩精品久久| 高清国产av无码| 中国人高清www色视频免费| 91色鬼| 丁香九月激情啪| 精品久久97| 久久久久网站-538在线视频-欧美永久乱码 | 中文字幕欧美丝袜07资源| 私色综合网| 久久精品国产亚洲AV无码电影| av橘色网站| 天天爽夜夜欢视| 亚洲人成网www| 激情 欧美 亚洲 小说| 天天摸天天操视频| 五月天色电影| 一区二区三区 丝袜 高跟 美腿| 国产偷人伦激情在线观看| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 激情五月综合| 国产第12页| 欧美裸体美女日麻屄| 久久噜| 亚洲国产丝袜在线观看| 日韩伦理视频| 亚洲精品视频二区| 丁香五月av| 插欧洲美女欧美精品| 26uuu性物| 亚洲国产91精品一区二区久久| 国产综合久久久麻桃个| 综合五月天| 清纯唯美综合亚洲| 综合少妇网| 久久天天躁日日躁狠狠躁| 9热9热综合网| 伊人网在线观看| 久久人妻97久久久久久久| 久热伊人| 99热综合| 人人操天天爽| 乱久久久| 日韩中文9| 亚洲女人91| 黄色大片视频在线免费看| 欧美天天| 日韩一性一交一A片俄罗斯| 免费1级a做爰片观看| 一区二区三区四区免费视频| 69精品久久久久中文字幕| www.色婷婷| 蜜桃久久久久久久| 97 国产一区| 91熟女网| 日韩强奸av| 青青操狠狠撩| 在线 亚洲 网爆 自拍| 国产免费久久精品99re韩国| 青青草中日韩在线| 亚洲成人贴图| 中日韩熟女| 国产视频一区二区在线观看| 日产中文字幕2020| sewuyueav| 亚洲砖码砖专无区2023| 青青青国产| 日本久久超碰| 国语av最新自产拍在线观看| 97操97色| 蜜桃久久一区| 国产精品99精品视频网站| 在线不卡视频| 亚洲 另类 丝袜 自拍 动漫| 中文字幕丰满人妻日本| 99热综合| 久久9999 | 最新日韩黄片| 97精品97| 日韩高清黄片| 狠狠久久四虎| 亚洲国产另类在线中文| 91一区二区| 久热这里只有精品9| 大香蕉黄色一区| 色吊丝 日日骚 清纯唯美| 女人午夜视频777| 久草色在线观看| 巨爆乳一区二区爆乳区 | 少妇色综合| 亚洲国产奇米影视久久| 午夜AV污污污| 久久ww| 色妇综合网| 欧亚第一综合网| 囯产乱伦一区二区三女| 啊啊啊啊,啊啊好多水| 噜噜噜狠狠色综合| 欧美色交| 福利风月五月天影院| 日韩一级成人毛片免费观看| 亚洲色图第一页| 亚洲男人bt天堂| 国产AV激情无码久久无码 | w w w.久久精品| 日本熟妇色熟妇在线视频播放| 国产精品色片一区二区| 91精片| 中国小夫妻勾搭露脸淫荡对白| 美國A片| 大香蕉伊人在线成人AV在线观看| 激情接吻视频久久久久久| 精品人妻一区二区三区四区| 日韩女优在线| 日本在线不卡v二区| 乱操乱伦AV| 亚洲日韩97| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 日本裸体久久色噜噜| 岛国AB视频| 国产熟女完整版中字 | 蜜臀久久99精品久久久久久婷婷 | 校园春色五月天| 国产精品午夜成人福利| 国产黄a三级三级三级av在线看| 韩国午夜理伦三级好看| 中文字幕97| 97色亚洲| 色吧91| 日韩91网| 欧洲一区二区| 奶水 人妻 哺乳 在线| 少好三P| 伊蕉97蜜桃97狠狠综合干| 久久免费老司机精品| 日婷婷| 激情小说在线视频| www国产无码| 操b在线观看| 999精品国产高清一区二区| 大香蕉乱级| 九月丁香综合网| 思思热在线视频免费| 尤物av网站免费在线播放| 欧美成人一级麻豆| 欧美岛国精品在线观看| 啊啊嗯嗯好爽| 国产黄色视频久久| 亚洲一二三四区| 日本阿v天堂在线观看| 日日夜夜精品视频| 国产一区二区免费福利片| 五码视频在线观看| 成人亚欧免费视频| 久久精品国产亚洲AV清纯| 強姦亂倫a| 欧美日韩国产高清在线一二三区| www.国产高潮精品| 人妻天天爽夜夜爽爽| 男人的天堂久久狠| 人人操人人肉久久精品| 国产精品久久久啊| 风流老熟女一区二区三区l| 91九色网| 成人热久久精品| 九九九久久久W精品| 99久久婷婷丁香| 亚洲图片 91| 亚洲97资源| 欧美劲爆视频一区二区| 亚洲骚女一区二区三区| 日本一级不卡一二区| 国产极品粉嫩馒头一线天av| 午夜视频久久久久一区| 91操碰| 亚洲一区二区中文字幕| 免费簧片在线观看| 精品国产网站| 日本淫乱女一区二区三区视频| 九九探花视频在线观看| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 亚洲天天做日日做天天谢日日 | 天天爱天天操| www.91色| 99热国产精品| 超碰人人超在线观看| 欧美日韩国产色五月综合在线| 天天做日日做| 欧美在线干| 天天综合~91入口| 色网亚洲人| 国产伦乱91| 91精品国产91熟女| 国产亚洲 中文欧美久久| 美女9118禁| 国产精品制服丝袜中文字幕日韩一区二区三区| 91嫩草欧美| 嗯嗯啊啊用力视频免费| 色欲天天综合久久久无码网中文| 美女露胸露屁股| 色y情视频免费看| 看看日B真人视频| 青青草在线成人视频| 亚洲一区在线观看欧洲| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 一区操逼日比视频| 97伦综合| 97超碰天天爱天天爱| 久久精品国产亚洲AV无码做| 国产精品密臀网在线观看| 一起草三级AV电影在线观看| 乱伦AVxx| 男人的天堂va| 人人爽人人精品乱人伦AV| 中文字幕av乱伦| 精品国产一区二区三区香蕉欧美| 骚妻少妇精品性色无码四色A V| 成人网址在线观看| 操逼日批| 91情色| 久久久日本电影| 北京美女一区二区| 熟妇最新先锋一二三区| www久| 婷婷九月色| 麻豆这里只有精品| 操逼逼中文字幕| 欧美一级国产一级| 大香蕉日亚洲日本亚大|