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

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
返回資訊列表
女人精品内射国产99| 十八禁成人网站在线观看| 亚州再线| 爽爽歪在线视频| 久久亚州精品成人Av无| 伦理第一页| 欧美亚洲宗合色性图| 婷婷丁香五月综合| 在线观看岛国有码| 国产91av在线播放| 免费成人自拍视频在线| 日韩欧美加勒比| 日本顶级天天操狠狠操夜夜操中文字幕| 日韩国产成人自拍视频| 91国产操逼视频| 97国产精品在线观看| 欧洲乱码一区二区| av优播| 8050午夜少妇无码| 屁股久久久久久久久| 亚洲乱码精品一区二区| 久久成人东京热人妻| 国产精品成人无码a v毛片| 久9精品| 亚欧美综合| 动漫片子网站3黄| 亚洲情色电影网| av网页一区二区三区| 乱伦熟妇一区二区| 色操逼网| 国产探花精品在线| 亚洲国产精品9999在线观看| av一区二区三区四区| av毛片aaaaa免费看| 国产福利影视| 日韩一区二区精品视频| 丁香五月天视频| 欧美日韩岛国大片在线观看| 日本一区视频在线观看| 黄色电影在线播放综合网站| 国产精品久久久久久久久久梁医生| 十八禁啪啪视频| 97一本大道亚洲一区| 日本不卡一区二区三区| 亚洲aV性爱| 久久后入制服| 天堂av2019| 欧美 日韩 亚洲 春色| 本道在线| 精品人妻二区三区| 中日韩久久久| 国产久9| 1024香蕉视频| 日韩操逼性鲍| 久久97视频| 你草精品在线视频| 天天干天天拍| 97国产|免费| 丝袜喷水在线| 久久一二三四五六七八九区区区| 午夜国产成人精品视频| 欧美色图亚洲色,麻豆| 久久婷婷国产一区二区色| 免费?级毛片无码?∨蜜芽试看| 欧美一区二区三区成人性生活| 九月丁香| 国产精品岛国片在线观看| 特色a在线上| 日韩精品大香蕉伊人在线| 国产少妇肉丝在线观看| 欧美综合骚| 黄色免费网页无码| 欧美呦呦性爱| 飘花国产午夜精品不卡| 亚洲色图尤物视频 | 日日夜夜骚| 天天看天天在线精品| AⅤ片水多多| 久久专区| 日本熟女不卡视频| 日本久久女同性恋视频| 97爱爱| 国产97在线 | 亚洲| 欧美人妻一区二区| 人人爽夜夜玩视频| 舔人妻中文免费视频| 人妻丝袜肏逼| 久射吧| 久湿久久 | 亚洲国产成人精品女人久久久| 99re在线视频国产| 啊啊啊啊啊啊在线观看| 综合色区偷拍| 麻豆久久精品亚洲精品88| 中国的操老妇女| 久久久九九| 男人天堂网手机版婷婷| 美女好片色日本| 欧美92| 日韩少妇无码| 无码外流操逼视频| 国产午夜激片Av毛片不卡| 亚洲一区二区三区中文字幕| 色色色色综合网| 狠狠操狠狠爱| 欧美亚洲20p| 欧美亚洲高清晰 | 亚洲熟女av中文字幕| 日韩人妻免费精品| 成人A片男人的天堂| 老鸭窝黄色视频网站| 综合网少妇| av网站在线观看了| 伊人久久大香线综合无码| 精品白丝一区| 国产 日韩 另类 视频一区爱| 欧美日韩资源在线| 影视综合无码少妇| 成人综合网 欧美| 美女黄色91| 自拍大香蕉乱插| 国产亚洲综合欧美一区| 亚洲AO在线| 欧美 亚洲 91| 国产白丝精品在线观看| 翘臀vidoes| 成人精品水蜜桃久久久久久久| 在线日韩日本亚洲国产| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 激情黄色五月天| 日本αv| 人妻天天夜夜爽一区二区| 后入福利| 亚洲97网站| 91人人臊| 久久人| 国产精品青青草| 国产深夜福利| 超碰97亚洲区| 啊啊啊好爽快点啊啊啊嗯嗯| 91精品国产91久久青草| 99青青草国产视频| 综合网久久| 成在线人在线观看视频| 夜色91| 日本免费不卡二区| 亚洲成人网站在线观看| 青青操综合网| 夜夜草我| 丰满熟女一区二区三区在线播放| 欧美色图成人网一区二区| 最新三级网址| 久热精品在线| 97香焦色区| 台湾一区国产高清在线| 天天天操天天天爱| 中文字幕少妇色| 久久久 国产精品| 97在线观看免费视频| 国产AV人人夜夜澡人人爽麻豆| 好吊妞转入那个网| 久久精品店| 日韩啊V| 欧美亚洲韩国视频十五区| 操我啊啊啊啊啊| 99精品久久| 日韩不卡av一二三| 免费毛片在线播放| 色色色天美视频| 青娱乐亚洲自拍| 免费看黄片现成| 国产成人亚洲精品无| 97视频在线观看免费高清| 精吧天堂| 亚洲色图片区| 国产精品夜夜| 色牛牛AV| 久久99久久99久久99人受| 九九综合久久| 久久9精品视频| 中文字幕制服欧美久久一区| 最新精品久久蜜桃 | 日本性一区| 久久精品天美| 噜噜噜亚洲精| 亚洲在线欧美| 国产一区在线观看无码AV| 两女互慰AV高潮喷水在线观看| 亚洲精品国产无码高清| 黄片com.| 亚洲国成人情色好看电影| 91精品成人| 97超久碰| 亚洲天堂电影网99999| 99这里都是精品| 青青久日| 麻豆国产精品午夜视频| 日韩av不卡在线观看| 超碰av人人人| 男人的天堂日韩| 久久六六| 久久人人看| 久久爱超碰网| 欧美性爱一区二区三区| 精品久久久久久无码| 97任你吞精| 97这里只精品| 高清有码一区二区| 深夜激情无码| 国产精品乱人伊人网| 亚洲国内精品成人不卡| 午夜操一操| 蜜桃中文字日产乱幕4区| x97av| 九热中文字幕| 蜜臀久久一区二区| 夜夜性| 91精品久久久久久77777| 蜜臀99999| 男人久久天堂| 亚洲精品一二三四区| 91少妇人妻| 综合久久中文字幕综合日韩精品 | 欧美日韩青操| 国产在线强奸视频| 亚洲欧美国产中文视频| 日韩免费三级黄片电影| 五月激情影院| 白丝AV| 国产一区二区av综合| 国产原创自拍| 欧美激情久操网| 国产女上位好爽在线| 暴力av在线| 成人国产精品三级A片| 国产熟妇一区二区| 欧美日韩另类在线播放| 日韩色图 一区二区| 五月丁香六月婷综合成人综合| 舔人妻中文免费视频| 日韩午夜啪啪视频| 欧美特大AA级黄片| 久草在| 欧日a| 日本欧美不卡| 亚洲人精品久久久喷水| 日韩成人无码| 久久99手机免费视频| 99在线无码精品秘 入口黑人| 亚洲 另类 丝袜 自拍 动漫| 欧亚在线视频| 国产视频一区二区在线观看| 91狼人| 日韩免费三级黄片电影| 91日韩国产欧美亚洲另类精盘州至城都| 天天做天天爽| 91精品伊人久久久大香线蕉91| 91在线丝袜| 欧洲乱码视频| 91九色丨国产丨爆乳| 91精品久久久| 精品国产99999| 超碰国产情侣自拍网| 人妻系列无码专区中文有码| 99久久免费看精品国产一区| 九九热免费国产视频婷婷伊人五月 | 丰满少妇一区二区三区专区| 激情小说五月天| 性爱av在线免费观看| 一区操逼日比视频| 白天啪啪晚上啪啪视频| 日韩三A大片在线观看| 美女t无毒不卡不卡| 91超碰碰在线| 青青草原成人| 久久99九九九九6666免费观看软件| 色噜噜狠狠色综合日日| 欧美特大黄一级片片免费| 特色a在线上| 婷婷探花久久精品一区| 大香蕉在线SuP| 春色校园综合网| 久久久久久性爱片| 日韩av色图综合| 9999伦理视频| 国产亚洲日本| 国产一区二区久久| 午夜精品人妻二区三区| 丰满人妻一区| 五十路成人在线视频二区三区| 少妇与黑人高潮在线| 亚洲熟妇乱女区二区三区| 国产欧美日韩在线观看麻豆传媒公司| 夜夜爽爽夜夜精品视频| 大香蕉在线免| 久久久久久九九九九九九| 久久宗合97| 国产深夜福利| 国产成人99久久亚洲综合| 亚洲欧美色图小说| 亚洲国产无码精品首页久久久| 亚洲欧洲网站免费观看| 国产性刺激| 欧洲亚洲天堂精品| 亚洲一区中文精品| 色丁香五月婷婷| 国产夜夜艹| 亚洲色综网| 性91| 人人弄人人摸| 亚洲激情在线| 青草影院内射高潮| 亚洲av性爱电影| 二区熟妇韩日| 狠狠爱AV| 日韩成人高清一区二区| 黑人无码一区二区| 欧美页片| 国产无码久久高清| 国产成人自拍视频在线| 亚洲中文字幕日产无码久久| 蜜桃狠狠色伊人亚洲综合| 欧美亚洲小说| 夂久色| 欧美日韩系列| 丁香五月自拍| 欧美激情高清性猛交| 欧美人妻精品一区二区| 成人久久精品| 激情国产乱伦Av| 欧美黑人与女人91~| 91夜色| 欧美午夜精品久久久久久3D| 黑人性暴力毛片| 韩国一级做A片免费的| 97免费视频在线观看视频| 欧美夜夜草视频| 青青草中文-久久青草精品一区二区三| 试看福利| 国产一区二区a毛片| 今日头条成人一区二区三区四虎精品| AV一区观看| 91久久午夜无码鲁丝片久久人妻| 免费操逼91| 男人天堂.AB| 国产日韩精品suv| 99啪| 无色无码| 欧美亚洲综合高清在线| 大香蕉99热| 免费黄色片。| 清纯唯美激情| 97 视频在线| 91粉嫩萝控精品福利网站_精品影音先锋国| 91国产丝袜白虎| 亚洲性爱高潮影院| 亚洲欧美日韩免费电影| 精品人妻久久久久一区二区三区| 久色网| 边做饭边操逼逼| 欧美性天天影院| AV中文在线可看| 日本不卡高清视频| 少妇久久久| 一二三卡欧美日韩人妻免费精品| 久久久A∨| 青青久久手机线视频| 国产午夜视频| 欧美另类自拍 | 九色 人妻 大香蕉| 91人妻Pr| 色婷婷视频| 91亚洲色图| 欧美啪啪啪91| 九九九九一区| 亚洲,欧美,综合网| 毛片99-全集电影手机免费观看完整-B029AV| 亚洲伊人久久精品狠狠在线| 91久久精品国产| 98精品国产乱码久久久久久| 91电影色诱| 91在线色| 久久大香蕉97| a亚洲欧美色欲| 色呦呦呦在线观看视频| 在线不卡视频| 蜜臀AV成人精品蜜臀AV久久| 亚洲青青草| 国语精品对白| 欧洲成人性爱视频| 久久婷婷精品| 亚州久久9| 亚洲中文字幕乱码无码一区二区| 亚洲无限观看| 国产精品人妻一区二区| 人妻精品视频一区二区| 成人看片网站| 91挑色欧美| 啊啊啊啊在线播放| 亚洲丝袜少妇在线| 思思热在线视频免费| av天堂精品久久| 91在线欧色| 日本顶级天天操狠狠操夜夜操中文字幕| 超碰偷拍| 波多野结衣被操50分钟免费视频| 日本色色色| 一区二区视频你懂的| CCYY草草影院地址入口| 裸体美女国产免费久久久网站| 91AV天美在线视频| 国产日韩在线播放av| 欧美天天拍| 丝袜美腿丝袜| 岛国黄色大片网站| 久久综合久久综合人久久夜精品| 亚洲日本天堂| 日韩在线一区高清在线| 69人妻精品丰满熟女区| 婷婷爽人人婷婷爽视频| 欧美熟女操屄| 97精品久久久久中文字幕| 亚洲中文字幕在线视频一区二区| 视频分类 国内精品| 97在线青| 青娱乐国产精品| 91欧美另类| 激情抓乳插进去啪啪啪日韩 | 欧美色图第一页| 日本特黄f c2| 中精品一区二区三区| 手机午夜电影神马久久| www.一本大99| 国产午夜激片Av毛片不卡| 黄总AV色图| 亚洲日韩视频二区| 亚洲做性| 国产原创精品| 日韩免费三级黄片电影| 欧美日韩天堂| 日本3级一区二区免费| 97鸡把在线视频| 国产剧情一区在线观看| A级毛片在线看免费| 亚州久久9| 97任你吞精| 亚洲日韩av专区无码| 亚洲色图片区| 日韩精品人妻中文字幕不卡乱码| 色999亚洲人成色| 好吊色综合| 99re这里只有精品3| 91精品亚洲内射孕妇| 欧美人妻熟女在线| 日韩pv中文| 果冻国产精品麻豆成人av| 91性片| 亚洲欧美精品久| 人妻啊啊人妻啊| 亚洲最大成人a毛毛片| 91丰满| 2017超碰| 91美女视频在线免费观看| 综合亚洲欧美精品日韩?v| 91欧美少妇| 91少妇香蕉久久精品| 国产成人资源| 探花精品视频| 天天操天天舔| 91精品啪在线观看国产城中村| 国产一区二区三三视频| 丝袜无码a片| 久艹99| 超碰碰97| 狠狠爱综合网| 99国产精品人妻人伦| 熟妇熟女一区二三区| 91久久18禁| 亚洲Av噜噜一区二区三区妖精| 激情五月综合网| 亚洲有码 视频一区| 91露脸熟女专区| 人人做,人人操,人人摸| 久久成人午夜精品影院| 2018色综合天天操| 翘臀vidoes| 亚洲激情网一二三四区| 国产精品色片一区二区| 人人爱人人操人人性| 亚洲天堂久久久久久粉红视频| 国产高清精品一区二区三区毛片| 少妇被c 黄 免费观看| 超碰97国产欧美| 人人澡人人干| 亚洲男人电影天堂| 色综合久久av| 久操热| 日本熟妇一区二区三区| 亚洲综合色婷婷| ,国产乱人伦精品一区二区三区| 久久久精品日本一道| 色哟哟1区2区| 午夜人人操| 欧美在线干| 亚洲欧美国产中文字幕| 懂色Av一区二区三区| 性爱综合一区二区| 377p欧洲日本亚洲大胆| 五月激情影院| 啊啊啊啊好疼视频| 国产熟女精品一区二区| 成年人性爱日韩| 清清一区二区三区四区不卡视频| 极品少妇久久久久| 免费无码婬片AAAA片直播色戒| 日本www操操操| 麻豆精品A片免费观看| 传媒在线观看一区二区三区| 婷婷AV一区二区三区| 国产久久日| 欧美日韩亚洲天堂| 精品一区二区综合熟妇| 中文一区在线日| 激情小说图片亚洲首页| 色婷婷狠狠| 激情婷婷丁香| 亚洲国产一区二区入口| 丝袜综合| 天天插夜夜操| 激情视频一二三| 91人妻人人澡人人爽人人精品| 日韩性爱电影一区| 夜夜黄| 亚洲国产精品成人无码久久久| 啊啊啊好大好湿| 啪啪资源网| 国产日韩中文字幕欧美| 麻豆精品久久久久久久| 日韩无码精品综合久久| 狠狠色五月亚洲91| 欧美se亚洲| 在线播放一级无码视频| 97久久天天综合色天天综合色电影| 亚洲精品国产无码高清| 亚洲综合大片| 啊a一区在线| 欧美一区二区一级岛国大片| 97日韩欧美亚洲| 97干天天| 国产人伦精品一区二区三区 | 青青草在线视频播放器| 91欧美美女日韩国产婷婷| 麻豆人妻精品一区二区| 综合av社区| 超碰色美女| 嗯~啊~快点 死我视频| 十八禁成人网站在线观看| 91中文字幕在线观看| 综合亚洲欧美| 亚洲乱色视频一区、二区在线| 激情熟女12P| 福利五区| 亚洲色图第四色| 欧美激色| 97射欧美| 老鸭窝在线视频播放| 加勒比海成人视频网| 蜜臀av在线播放一区二区三区| 色综合尤物| 啪啪资源网| 国产精品色片一区二区| 亚洲 小说 欧美 激情 另类| 黑人性欧美| 情色五月天网| 国精综合一二三区影视| 一区二区三区四区五区高清无码永久视频 | 亚洲 欧美 中文 日韩超碰 | a片亚洲一本通视频| 一起草日韩| 少妇熟女1区2区3区| 午夜美女福利视频| 蜜臀久久99'精品久久久| aaa淫乱视频| 国产精品天干天干综合网麻豆| 少妇69中文| 蜜臀99999| 欧美熟女丝袜| 97干色| 国产一级137片内射麻豆| 淫荡网址| 秋霞一级鲁丝片A片| 欧美一级美片在线观看免费| 一级做a爰片久久毛片图片| 啊啊啊草死我| 隔壁邻居波多野结衣中文字幕 | 性饥渴少妇av无码毛片| 久久国内| 国产suv精品一区二区四区999| 色噜噜国产在线| 97AV在线免费观看| 91 亚欧| 91精品微拍福利| 亚洲中文一区二区三区| 欧美97在线观看| 日日AAvv| 精品成人亚洲午夜电影| 99精彩视频| 夜夜操一区二区| 久久啊啊| 婷婷五月天av| 人人操人人肉久久精品| 婷婷久月| 大香蕉2017| 中文字幕精品资源在线| 97精彩视频网站| 国产超碰欧美| 岛国色情视频在线观看| 99啪| WWW.操逼.COM| 懂色AV一区二区三区| 青青草原av| 亚洲欧洲另类| 激情婷婷综合久久| 亚洲欧美日韩有码| 免费a在线播放v| 日日夜夜噜| 国产一区二区成人av在线播放| 精品国产乱码久久久久久久久1 | 熟妇熟女一区二区三区| 精品-91人妻子系列| 亚洲国产青青| 亚洲二区精品在线观看| 91超碰在线播放| 亚洲成人久久一区二区| 骚货 中文字幕 av| 伊人AAA| 欧差乱伦二三| 欧美后入视频| 国产精品老熟女一区二区| 亚洲黄色电影| 毛片视频白嫩| 精品成人无码| 久久有码视频| 久草资源欧美在线视频| 丁香婷婷啪啪| 18禁无码永久免费无限制| 夜夜嗷嗷一区二区| 色999人与兽| 婷婷AV一区二区三区| 国产精品一区在线播放| 性爱1区| 亚洲麻豆av一区二区| 试看福利| 亚洲αv一区二区三区| 91人妻人人澡人人爽人人精品| 日本三级日本三级三级人妇四虎| 亚洲 日韩 丝袜 熟女 变态| 搡老女人911熟妇老熟女| 欧美狠狠操| 校园春色之综合网| 黑人黄片在线免费观看| 国产精品久久天天干| 熟女自慰久久久| 日韩欧美女优电影| 国产欧美日韩精品中文| 九热中文字幕| 91性感在线| 日日骚一区二区三区| 精品欧美日韩在线观看| 欧美爱国产综合、| 99在线精品观看视频中文| 亚洲欧洲日产国产综合网| 久久精品72| 9999伦理视频| 国产一区二区三区不卡手机在线| 韩三级a视频在线观看| 免费国产视频| 中文乱码字字幕在线第5页| 日韩欧无码一区二区三区免费不卡| 超碰人妻久久| 澳门黄片一香蕉视频| 亚一综合久久久久久久久久| 强奸乱伦亚洲第一页| 亚洲成人在线乱码色午夜| 日韩中文字幕熟妇人妻| 116美女午夜| 蜜桃中文字日产乱幕4区| 人看人人摸人人操| 中国探花熟女| 熟妇亚洲一区二区三区| 国产乱码久久久| 第45页一区二区| 97精品在线| 久久久久久免费电影| 桑老女人九区| 99久久久| 久热精品在线国产| 家庭乱伦性爱av| 女同性恋久久| 久久婷婷国产一区二区色| 91久久18禁| 麻豆视频一区二区| 色婷久久| 最新av在线| 精品69网| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 怡红院亚洲怡春院av| 婷婷另类小说| 亚洲色人| 后X久久| 亚洲精品97久久| 操屄不卡视频| 久久宗合亚洲| 亚洲不雅视频1区二区| 粉嫩粉嫩一区性色AV片| 五月天婷精品激情| 欧美亚洲涩涩| 日本色色色网站免费看不卡| 五月丁香色综合| 东京热av影院| 日韩三级在线观看网站| 男人的天堂不卡一区二区| 网友自拍第1页| 操逼天美3区| 狠肏骚人妻| 国产精品美女久久久久久网站| 激情小说五月天| 天天狂操夜夜狂日| 一区二区三区四区色图| 亚洲怡春院| www久| 九9热伊人| 成全动漫视频观看免费下载| 日本天天吊| 天天干18禁| 啊啊啊啊啊啊啊好爽不要| 操人人| 亚洲日精品| 丝袜内射| 欧美三四五区| 91精品人妻一区二区三区蜜桃臀| 色黄色美女大长腿午夜视频| 国产麻豆一区二三区| 国模吧 一区二区三区| 91久久午夜无码鲁丝片久久人妻| 国产拍偷精品网站| 春色综合免费| 上床不卡网站| 狠狠色噜噜狠狠狠狠狠色综合久久 | 色呦呦呦在线观看视频| 大香蕉日韩| 亚洲第一综合| 欧美极品美女aaaaaa级黄片| 91N综合网在线| 夜夜操二区| 成人午夜高潮av猛片| 操b网站亚洲无码| 欧美一级特黄淫片在线观看| 青青草综合在线| 婷婷综合| 天天看精品动漫视频一区| 日韩特一级久久| 日韩精品人妻中文字幕有码午| 亚乱色| 搡老人老9丨女老熟人| 日本色日夜干| 精品国产乱码久久久久久久久1 | 91高跟美女在线播放| 正宗无毛一线天嫩逼| 日本一区视频在线观看| 蜜臀精品1区2区| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 天天影视亚洲| 黄片视频,下载| 久久亚洲影院一区二区| 91天天综合日韩欧美| 99色色网| 成年人黄色视频免费| 亚洲精品 大香蕉| 夜夜躁狠狠躁日日躁av| 激情露脸爱| 一级日本牲交大片好爽在线看| 久久五月综合| 麻豆亚洲AV成人无码久久精品| 欧美亚综合色图| 18禁的网站在线| 精人妻无码一区二区三区伊人直播| 欧美欧美少妇| 台湾大香蕉99热| 亚洲 国产 精品一区| 日本亚洲嫩草影院啪啪| 高清不卡一二三区视频......| a级免费在线观看| 中文字幕十五区| 小日子操bb在线看| 日本不卡在线二区三区| 91爰爱欧美| 天天拍天天操| 日韩精品中文字幕一 | 久视频在线观看| 日日噜噜夜夜狠狠视频无| 一起草在线视频| 青青爽| 国产成人手机视频激情| 久一区久久蜜桃| 九九英色视频| 九九九九九九九精品视频| 精品人妻av在线播放| 在线人成亚洲视频免费观看| 欧美丝袜91| 九九九九九九九九九九精品视频| 婷婷色中文字幕| 色在线视频导航| 久久中文字幕在线观看| 亚洲影视第一页| 男女香蕉一区二区| 亚洲极品| 天堂涩涩| 操b网站亚洲无码| 97人亚洲综合字幕| 日韩在线视频1234| 欧美精品第3页| 伊人96在线| 抽插爽| 97jingpin| 热久久无毒不卡| 高清孕妇孕交 交孕妇| 91人人臊| 91 刺激在线| Julia在线播放亚洲久久| 2020国产精品| 亚洲综合色男人网| 色综合中文字幕不卡| 久久99综合| 吉田爱美AV在线| av婷婷色网| 欧美成人精品一区二区三区| 天天亚洲综合| 好舒服视频| 天天干夜夜| 老司机午夜精品视频| 麻豆尤物视频网| 懂色Av一区二区三区| 啪啪视频免费在线观看| 操高情无码| 色色色热| 日本高清一区二区在线| 中文字幕91综合| 精品网站9999| 亚洲精品不卡一二三区| 精品日韩| 欧美色偷偷| 萌白酱自拍视频| 激情综合网激情五月天| 日本在线不卡123| 欧洲自拍色图gif在线| 97aiaiai| 99精品在线观看| 五月天丁香欧洲日韩| 精品制服美女中文一区二区三区| 国产精品久久久久无码Av网曝门| 欧美性爱伊人| 情色五月天久久久| 小说区 图片区色 综合区| av资源在线观看少妇| 97欧美色综合| 精品人妻1区| 欧美成人一级免费电影| 色噜噜人妻av 中文字幕| 情色大香蕉| 日本一区二区做爱的视频| 色香蕉影院| 91日韩网站| 少妇熟女1区2区3区| 激情综合婷婷| 大香蕉日韩| 国产亚洲精品美女久久久久久2021| 国产欧美伊人| 本道在线| 睡产熟女乱伦| 亚洲激情深爱文学小说网站| 91在线精品一区二区三区| α√在线| 精久久久| 中文字幕jul-617人妻熟女| 亚洲人久久久网| 国产一区二区三区导航| 中文字幕国产| 亚洲日韩青青草色月| 亚洲男人电影天堂| 中文一区二区婷婷视频| 黑人娇小av在线播放| 色噜噜国产在线| 无遮挡一级毛片视频免费的| 日韩欧美偷拍美女视频| 小日子操bb在线看| 亚洲精品九九九九九九| 亚洲精品成人激情在线| 久热这里| a久久| 天天澡天天爽日日AV| 日韩久久艹| 日韩在线观看中文字幕视频| 日日骚av| 亚洲中文字幕乱码无码一区二区| 八人操人人摸人人看| av亚洲天堂资源网站| 国产福利第一视频| 大鸡巴久久| 国产精品欧美激在线| www.夜夜操| 亚洲精品国产专区在线观看| 男人天堂2019| 操淫穴亚洲五月丁香 | 中文字幕午夜精品久久久| 欧美国产视频| 欧美制服网站美腿丝袜| 蜜臀久久99精品久久久久久| 麻豆国产成人精品| 校园春色制服丝袜中文字亚洲| 午夜性生活av免费在线看| 黑人性欧美| 亚洲久草AV色图| 欧美久久婷婷| 中文一区二区婷婷视频| 懂色av色欲av蜜臀av| 欧美亚洲特P| 大香蕉色欲AV| 人人噜夜夜操| 日韩中文字幕av在线播放| 熟女视频久久| 亚洲成人一二三区| 国产精品久久久三级无码| 国产传媒操逼视频| 中国一级操逼视频| 国产老太乱伦一区| 国产三级在线现体验区| 草草草视频在线免费看| 超碰欧美| a级免费在线观看| 日日日色色色色色| 亚欧美综合网| 亚州性色| 超碰在线97国产| 操一区| 精产国品一区二三产品| 爱媛媛久久国产福利| 任你草| 激情综合97| 国产超碰在线| 亚洲天堂电影精品一区| 天天爱天天韩国日本牛牛牛牛| 91中文在线| 天堂九九九九九九九九九| 国产怡红院| 热热色青青草| 人妻丰满熟妇av无码区蜜桃| 色香综合天天影视综合| 天久久久噜噜噜久久国产精品爽爽 | 天天影视之亚洲综合网| 中文字幕色AV| 欧美黄业| 又粗又长又爽在线观看| 五月天婷精品激情| 五月天黄色av| 欧美性少妇| 中国熟女老妇仑乱一区二区三区| 精品视频在线观看| 国产操偷| 国产亚洲在线观看| 亚洲AO在线| 欧美日韩欧美| 大香焦A片| 十八禁网站在线| 亚洲AO在线| 狠狠操狠狠操操| 日本天天色| 中精品一区二区三区| 3PAV乱伦视频| 五月天婷婷综合网| 人摸人人操人| 亚洲色图欧美色图制服丝袜 | 日本久久久久久久久久| 日本人妻A片成人免费看片| 日韩精品三级片长长久久| 69视频入口| 熟妇熟女视频一区二区三区| 亚州,欧美在线| 亚洲国产高清福利视频| 九九九九九九九九九九九九九九九女| 日韩欧美天堂| 久/久精品99看9| 97在线免费视频观看| 91人人臊| 天天综合网网欲色| 成人AV素股で擦久久| 玖玖爱在线视频免费观看| 天美传媒国产原创中文字幕亚洲欧美另类 | 超碰调教97| 日韩 女同 综合| 亚洲精品免费中文字幕| 久久精品99久久久久久| 亚洲,日韩,欧美,成人播放| 精品人妻夜夜草| 精品视频免费在线一区| 久久超碰av在线| 在线可观看的黄色网址| 91在线丝袜| 91干熟女| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 精品蜜乳AV免费观看| 日本97久久久精品| 秋霞色色影院| 免费人人搞97| 丁香九月激情| 久久草草亚洲蜜桃臀| 亚熟hd视频在线| 91丨九色丨东北熟女| 天堂网亚洲区手机版| 成人夜夜爽| 粉嫩在线一区二区懂色| 久久久国产av美女私房| 欧洲自拍色图gif在线| 一区二区你上我| 白丝被操91| 精品免费囯产一区二区三区 | 天天碰操中国年青熟妇| 精品国产人成在线| 99热精品在线观看| 国产亚洲精品A在线观看下载| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 日韩AV电影网站| 乱伦3P视频| 日本黄色大片一级视频免费麻豆| 成人九九| 久久一区二区三区四区五区| 日韩情色视频| 91久久久久免| 亚洲日韩美女中文字幕乱| 人人考人人摸人人干| 欧美天天射| 97精品97久久| 高清不卡 中文 人妻| 超碰色大香蕉| 日本二区不卡| 干B| 亚洲drav色图| 91欧美www| 国产精品一区二区三| 成人热久久精品| 神马久久久久久久久| 欧亚日韩三区| 1区2区3区中文字幕日韩| 日韩激情视频| 日韩AV熟女乱伦| 91精品无码人妻系列| 久久五月丁香| 久久国产精品91| www.男人天堂| 欧美色欧美| 日韩欧洲操屄视频| 逼逼逼逼操操操操操操操操操午夜剧场 | 日本操逼视频不卡直接放| 亚洲男人的天堂va亚洲男人社| 男人的天堂日韩| 国产欧美另类久久久精品课程| 久久一二三四| 黄片免费看的| 久久一区二区三区入口| 国产精品老熟女一区二区| 超碰在线99| 天天日天天屌天天操| 亚洲天堂日本| 亚洲欧洲成人在线电影| www网站黄| 九九精品美女高溯喷水| 日韩人妻丝袜美腿中文| 亚洲国产91精品一区二区久久| 老女人综合| 2019天天干| 琪琪精品免费一区二区三区| 久久一级无码精品毛片6| 91色综合激情| 国产精品操| 精品超碰国产| 综合激情五月天| 激情综合婷婷| 大香蕉92| 亚洲AV秘无码一区..| 日本女厕偷拍| 囯产精品久久久久久久久久梁医生 | 伊人991| 丁香九月 婷婷| 婷婷成人五月天| 啊好爽快点-国产一区二区三区撒尿在线-成人AV| 伦理日韩国产久久| 午夜高清成人在线视频| 夜夜狠狠躁日日躁色视频| 亚欧高清| 久久一二三级一一一| 翔田千里A片一区二区| 在线观看AV片| 日韩超碰精品综合| 舔足天天操天天射| 久久9亚洲| 成人26uuu| 大香蕉啪啪啪啪在线| 青椒国产97在线熟女| 青青青在线高清视频在线一二三四区| 国产 亚洲 丝袜 制服| 91精品人妻五十路| 日韩av一级黄片| 热热色色综合| 欧美精品自慰系列寂寞少妇| 91无摭挡| 这里只有精品久久| 91久久免费视频互動交流| 抽插爽| 青青草原人妻| 婷婷丁香九月| 天天射天天色成人| 竹菊影视国产一区二区| 亚洲激情久久久伊人综合| 亚洲AV无码国产成人| 97超碰欧美中文字幕| 综合视频91| 天天色天天干天天射| 色香伊人| 暖暖精品二区三区观看| 成人性爱免费播放| 青青草原成人| 91欧美性| 婷婷五月色| 日韩乱伦影音先锋| 人人操人人摸人人看人人插| 亚洲国产亚洲天堂| 色色婷婷丁香| 欧美色性爱| 99视频这有这里有精品| 啪啪啪东京| 欧美 中文字幕 一区| 婷婷综合网站| 激情婷婷丁香| 国产午夜无码片在线观看影视| yazhououmeizongya| 亚洲综合888| 亚洲 综合 欧美| 日韩少妇一区二区三区| 97最新在线播放视频| 蜜乳AV一区| 无码日韩人妻av一| 又粗又长又大国产不卡| 亚洲骚逼少妇| 欧美春色| 97超碰色色| 97欧美色综合| 久久久九九| 日本Suv精品一区二区| 曰韩精品九九无码| 色精品极品|