久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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
返回資訊列表
五月天综合网| 91丨九色丨大屁股| 神马久久啊啊| 亚洲AV成人在线| 97久久超碰| 亚洲国产精品乱码在线观看| 久久国产免费激情视频| 91无码人妻精品一区二区三区蜜桃| 日韩在线欧美精品一区二区| 风间由美日韩欧美久久| 国产精品乱码久久久久久| 国产人妻精品久久久一区二区三区 | 日韩少妇无吗| 色久综合| 黄片视频,下载| 亚洲av青草久久一区二区| 91殴美大片| 日日夜夜天天| 国产午夜在线观看| 手机av亚洲丝袜美腿日韩第一页二页| 校园春色综合| 狠狠色噜噜狠狠狠狠狠色综合久久| 欧美偷拍| 日韩少妇无码| 国产在线激情| 久久精品六区| 青青草玖玖爱| 中文字幕超碰CAO| 九月婷婷| 草b在线 | 精品人妻一区二区三区-国产| 成人a级高清视频在线观看| 男人天堂欧美| 99草精| 加勒比av中文| 你草精品在线视频| 亚洲日本男人天堂网| 国产在线视视频有精品| 亚洲乱码尤物193YW| 久久九九视频九九视频| 人妻偷拍一区二区三区| 亚洲精品97久久| 亚洲综合草草| 激情内射| 先锋女优在线观看视频| 国产suv一区二区三区6| 色臀AV| 男人的天堂三级| 天天综合色电影| 久久动漫精品视频这里只有精品| 亚洲AO在线| 天天日天天操天天射河南省| 久久久一二三四区| 2019男人的天堂| 99色婷婷中文字幕乱色| 91熟女综合| 中文字幕高清20页视频| 婷婷久久综合| 久久人妻办公室视频| 五月激情视频| 国产亚洲人妻综合日韩 久久| 被体育老师抱着c到高潮| 久草国产在线视频| 久久久久久久亚洲Av无码| 91在线秘 男同| 激情五月天插| 1禁看欧美黄片免费看| 久热影视| 亚洲欧美精品一区天堂久久 | 国产欧美一区激情交| 在线视频日韩欧美国产| 极品极品色影院| 天天插天天操| 少妇69中文| 99re3这里只有精品| 中文字幕-区二区三区四区视频中国| 九月丁香婷婷| 天天超级碰碰碰| 欧美色图在线视频少妇| 香蕉免费一区二区三区不读| 第45页一区二区| 人人澡人人爽人人精品| 色色99| 天天狠| 夜夜操91744565| 人人摸人人干| 国产精品白丝AV| 偷拍三区| 亚洲av乱伦色图网站| 99精品久久| 韩日男人的天堂| 亚洲AV不卡在线观看尤物| 熟妇激情| 无码高清少妇久久| 免费黄色A片| 日韩精品一二三四| 日本久久久久久久久久| 五码视频在线观看| www.婷婷| 加勒比五月天| 中文字幕精品日韩中文字幕| 婷婷五月天小说| 丰满欧美放荡少妇在线| 懂色AV中文| 夜夜躁狠狠躁日日躁av| 欧美丰满少妇交换91欧美精品| 国产精品农村妇女| 伊人黄色视频免费观看| 国产美女91视频| 大屁股熟女一区二区三区| 欧美 亚洲精品首页| 国产精品一区二区亚洲人成毛片| 久久九九视频九九视频| 亚洲色图大香| 亚洲精品97中文字幕| 精品人妻一区二区三区鲁大师| 乱伦一二三| 91超碰人人操| 九九九九免费高| 蜜乳中文字幕a在线| 午夜理论片在线观看免费| 草b在线| 中文精品一区二去| 国模不卡| 91|九色|国产熟女| 99精品在线播放| 四虎免费看黄| 午夜福利1区2区3区| 9999免费精彩视频| 天天操人人操骚逼网站| 97香蕉网| 免费亚洲国产精品久久一区| se吧提供91精品国产91久久久久久 | 中文字幕91页| 性交一区二区在线播放| 久草视频在线视频在线视频在线观看| 麻豆一区在线| 福利操逼| 天天情欲宗合网| 国产精品亚洲天堂网址| 欧美性高潮在线| 久久精品亚洲成a人天堂| oumeizonghese,www| 亚洲一区日韩精品中文字幕| 欧美综合色站| 日韩在线欧美精品一区二区| 成人热久久精品| 国产第12页| 欧美精品 - 91爱爱| 大学生美女口爆| 超碰人人妻| 欧美色九九| 深田咏美亚洲精品福利社| 色婷婷一区二区三区久久午夜| 精品国产无码中文| 97超碰色屌| 美女操逼A A| 国产又大又粗又长视频在线| 亚洲五码一区二区三区| 熟女高潮精品一区二区| 五月丁香综合啪啪| 99热这里只有精品18| 亚洲天堂,男人| 亚洲欧美不卡线| 中文字幕丝袜美腿| 久久激情五月| 成人性爱视频在线看| 99RE在线视频精品,这里只有精品| 国产97在线视频| 青青11操操操操操操操操| 深夜激情 | 精品女同一区| 久久久久久亚洲精品不卡人乳 | 久操网线| 男人的天堂三级| 神马九九九| 午夜无码精品免费看性色| 国产超碰在线一区| 九九Av| 97无码视频在线播放| 五十路人妻在线| 亚欧精品久久久久久久久久久| 久久午夜鲁丝片| www男人天堂| 自拍啪啪视频| 很很很很操| AV天堂男人的天堂| 大香蕉欧美国产日韩高潮| 奸色色 男人天堂 天天射| 综合影院亚洲| 99久在线精品99re8热视频在线| 欧美日韩少妇色情| 日本好吊色视频| 校园激情狠狠四射| 超碰97男女| 乱操9999| 农村少妇久久久久久久| 精品人妻一区二区三区不卡断 | 狼狼色丁香久久婷婷综合五月| 户外裸露刺激视频第一区| 亚洲成?V人片在线观看福利| 久久綜合很很很| 日韩人妻精品中文字幕| 国产天天骚| 丰满人妻-区二区三区免费| 天天伊人| 亚洲色图欧美色图日韩色图| 国产www色在线观看| 亚洲av综合伊人久久| 老熟女搡BBBB搡BBBB视频| 日本高清视频xxxx| 青青草吊丝| 啊啊啊男女| 大茄子熟女AV导航| 98久久超碰| 五月丁香色综合| 夜夜做夜夜爽精品视频| 婷婷午夜成人色中色| 久热久一区二区三区| 一区中文字幕二区日韩| 久久亚洲天堂| 黑人免费福利视频| 亚洲图片偷拍视频区| 97干日韩| 亚洲精品九九九| 欧美特大黄一级片片免费| 91丨九色丨43老版熟女| 久久9精品网站| 久久久精品网站| 午夜天堂精品久久| 9丨久久九九九| 刺激性视频黄页| 91高清欧美| 十八禁成人网站在线观看| 欧美在线 亚洲| 五月丁香婷婷色| 91亚.色| 亚洲婷婷丁香在线| 国产女人高潮视频| 欧美日韩另类激情图片| 人妻系列无码专区中文有码| 久久原创中文| 男人天堂.AB| 91亚洲色人| 啊啊啊好爽快点啊啊啊嗯嗯| 老熟女网站| 亚州色交| 少妇一级婬片免费放一级a性色.| 清纯唯美亚洲综合| 1024亚洲中文字幕久在线看片你懂的| 欧美体内射精| 人人考人人摸人人干| 亚av顶级裸体一区二区三区四区五区 | 美中日韩无码| 91无码人妻精品一区二区三区蜜桃| 无码高清国产AV| 超碰在97| 色色婷婷五月| 蜜臀AV秘一区翔田千里| 日韩无码AB| 亚洲欧洲偷拍一区| 人妻 中文 日韩| 91成人无码| 人妻大香蕉| 欧美少妇性乱| 欧美视频在线视频免费va| 久久久久九九九九九| 超碰538| 五月丁香啪啪网| 强被迫伦姧在线观看无码网站| 欧美久久婷婷| 中文字幕少妇色 | 亚洲无线码一区国产欧美国| 成人小电影网站tex| AV天天综合| 天天操天天干一区二区| 色综合一本| 96麻豆精品一区二区三区| 91精品国| 午夜福利在线合集| 精品一区二区三区四区外站| 中出人妻中文字幕91在线| 97AV在线免费观看| 久久东京国产精品视频| 日韩亚洲中文字幕在线| 国产亚洲深夜激情| 中文字幕美女91| 91女优在线观看| 中日992视频| 爱丝福利| 夜夜高潮夜夜爽夜夜爱爱一区| 风间由美日韩欧美久久| 另类图片综合| 蜜臀久久99精品久久久久久-DVD| 国产午夜精品理论片一二三区区| 蜜桃视频成a人v在线| 人人射人人操人人摸| 99re99视频在线免费观看| 裸模AV女优| 色哟哟-国产专区| 大肉棒导航| 99热日| 青青在线视频免费| 情趣丝袜无码操逼视频| 岛国在线一区二区三区| 99热思思| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 日韩内| 天天综合中文字幕 91| 久久伊人最新网址视频| 色激情综合网站| 亚洲中文一区二区三区视频| 日本伦理一区二区| 超碰97人妻自拍| 深夜激情无码| 久操B网| 99热99在线播放激情| 欧美很很操视频| 久久成年精品| 特级特黄一级毛片免费| 亚洲少妇色图自慰直播| 人妻二区| 91色鬼| 涩涩久久精品| 狠狠干综合| 日本新免费二区三区| 干b网| 日本午夜久久电影| 啊啊啊啊操死我| 成人26uuu| 成人av免费观看| 婷婷激情五月综合| 欧美精品第3页| 国产精品9999| 天天插天天射| 91成人无码| 97中文超碰| 韩国一级做a久久久久| 欧苏综合色综合| 欧美一区二区三区不卡高清视频| 国内毛片国产专区二| 亚洲天堂人人妻| 日韩精品色呦呦| 精品一区二区成人| 激情婷婷黑人91| 国产精品黄色三级av| 综合激情一一91| 狠狠干综合| 久久日本熟妇熟色高清| 992大香蕉| 精品午夜福利国产一区二区在线观看| 78p欧美| 日本Xx性爱| 神马视频久久久久久| 免费观看国产不卡av| 天天操妹子| 操逼不卡中文字幕| 亚洲91大片| 午夜欧美神马久久久久| 国产精品久久久久久久AV大片| 超碰日本97美女人妻人人玩人人爱| 欧美72网页| 久久婷婷精品| 久久久久成人亚洲国产| 成人无遮挡毛片免费看| 中出欧美| 太久视频| 五十路人妻在线| 久久色人体| 免费看日产一区二区三区| 91亚州| 97爱欧美| 女人妻一区| 黑人猛交| 黄页| 青草精品视频-日本久久久久网站| 啊啊啊好湿久久| 五月天婷婷色色| 国产在线强奸视频| 日韩福利综合一区| 91人精品妻入口| 97超碰站| 91在线秘 男同| 国产精品成人无码a v毛片| 日韩av免费一级电影| 欧美欧美少妇| 一级一性爱免费视频| 淫荡网址| 天天爽人人综合免费7799| 91社操逼| 亚洲最大网站av| 色婷亚洲五月在线观看| 日韩欧美亚洲一区二区三区影院| 性做久久久久久久| 亚洲AV无码乱码| 久久超碰av在线| 亚洲男人bt天堂| 黄网在线播放| 婷婷三区| 麻豆黄站| 九九九久久久| 国产精品久久久无码AV网站| 五月天黄色激情视频| 欧美成人性爱视频大全| 亚洲各类熟们中文字幕| 国产丝袜美女诱惑| 97亚洲综合在线| 无码137片内射在线影院| 精品成人动漫一区二区| 伊人五月天青青草婷婷| 久久精品店| 中文字幕啊啊啊在线观看视频| 美中日韩无码| 天天综合网日韩7799| se吧提供91精品国产91久久久久久 | 日韩钢筋无码高清啾啾啾| 中文字幕乱碼在线| 亚洲色宗合| 麻豆久久一区二区三区| 色狠狠 - 百度| 人妻少妇一区二区| 亚洲精品国产拍免费91在线| 国产特级毛片AAAAAA高潮流水| 久久精品国产亚洲AV嘿嘿| 香蕉婷婷| 久久久啊啊啊| www久| 国产在线激情| 日本精品一区三区| 先锋激情∨在线视频播放| 性性久久| 国产亚洲女v在线观看| 综合亚洲欧美| 国产无码精品无码| 亚洲黄色| 国产精品探花视频| 99操| 97免费视频在线观看| 大香蕉淫人网| 天天日天天爽| 26uuu最新| 精品久久久久瑟瑟| 精品国产人成在线| 婷婷人妻激情| 国产又大又粗又长视频在线| 午夜一级免费毛片| 日本大香蕉| 国产欧美精品日韩区二区麻豆天美| 三级色影综合网| 婷婷色婷婷| 97爱| 狠狠2050在线观看| 伊人久久婷婷| 尤物黄色在线观看网站| 99国产在线绯色一区| 免费观看国产不卡av| 欧美洲精品一级| 色五月婷婷麻豆在| 国产乱码精品一区二区三区四川| 999精品国产高清一区二区| 国产性爱欧美性爱在线| A啊啊在线观看| 中国农村熟妇毛片视频| 天干天干天干天天做| 中文97国产| 韩美日操逼| 色香综合| 免费啊啊啊| 青青草天天亲夜夜操网| 99热这里只有精品1| 日本Xx性爱| 久久久久白虎| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | a啊啊啊啊啊啊啊啊一区二区| 97最新在线播放视频| 亚洲欧洲中文日韩女优乱码| 国产乱人妻精品入口| 国产精品天美传媒| 日本岛国黄色网址| 久久精品国产亚洲AV无码做| 福利视频香蕉免费一区二区在线| 五月丁香六月| 一区二区你上我| 黑人操一区二区| 张柏芝国产一区在线观看| 伊人在线大香蕉视频久久| 四虎免费视频| 欧日韩一二三f区| 97在线免费看视频| 91免费看一区二区三区| 久草视频观看视频在线| 乱欲视频| 国产传媒操逼视频| 日韩综合第八区国产精品| 亚洲国产美女久久久久| 精品大全99999| 91麻豆天美国产欧美高潮| 超碰色图| 日韩欧美性爱电影在线观看| 亚洲αv一区二区三区| 欧美成年人性爱视频免费观看| 久久精品高清AV| 日韩一级二级| 少妇超碰在线| 欧美色图私拍91| 亚洲中文电影| 久久蜜桃一区二区| 超碰午夜| 欧美人体性爱互联网第一页婷婷日本| 欧美黑人熟妇精品91| 日韩97在线| 强奸乱伦大香蕉| 久久成年精品| 久久草草欧美精品| 日韩一999精品| 欧中美三级一区二区三区| 在线v中文字幕一区二区三区| 国产国产亚洲一二三久久| 99re视频在线播放青草| 国产对白刺激视频| 国产不卡片| 成人三级片一区二区三区视频| 黄色片一区二区三区四区五区 | 国产精品97超碰| 国产曰批免费观看久久久| 精品福利视频| 99热在线只有精品| 精品久久久久av影院| 欧美激情性久久久久久| 乱日视频| 亚洲激情综合另类男同| 二对二中文字幕。| 亚洲欧美中文一区二区三| 国产AV高清AV无码| 色97欧美| 国产成人网| 日本不卡在线二区三区| 九久久九精品视频| 强奸乱伦大香蕉| 丝袜综合色图| 尹人免费观看视频在线| 国偷自 一区二区| 国产农村一一级特黄毛片| 后入合集| 在线视频日韩欧美国产| 超碰无码加勒比| 水滴偷拍| 国产精品午夜成人福利| 日本一级婬片试看三分钟| 大香蕉色网| 97人妻免费中文字幕| 一区二区三区精品黑丝白丝酒店对鸡 | 精品久久久久黄少妇| 超碰无码加勒比| 校园春色亚洲色图| 欧美亚洲天天| 色偷综合| 日韩9999| 日本三级韩国三级99| 中 文字幕一区二区三四 五 区日 日 骚| 后入式福利| 精品四五区| 日操粉逼逼| 操操逼视频| 精品九九九九九九九| 婷婷激情五月| 国产AV激情无码久久无码| 中文字幕av丝袜| 午夜福利国产欧美日韩夜夜| 歐美性天天| 自拍视频大全亚洲专媒视频/一区二区三区 | WWW4虎| 综合一区中亚洲国产成人综合精品| 亚洲图片视频小说| 999九九九九国产动| 欧美熟妇乱码在线一区| 欧美亚洲国产91在线| 国产91丝袜 在线播放| 神马久久网| 欧美激情总合网| 欧美性爱一内片一区二区三区| 久草精品视频| 97久久资源| 91强热人妻| 欧美色图欧美| 天天色怡春院| 国产精品三级视频网站| 啪啪啪亚欧美视频| 欧美黄色片在线播放| 欧美色综合网| 国产成人亚洲精品无码最新在线| 五月丁香六月综合缴清无码 | 九九国产热| 色网1| 综合性视频99| 天堂资源站| 嗯嗯嗯啊啊在线观看| 999久久久九九九九| 久久精品人人做人人看| 日韩亚洲Av人人夜夜澡人人爽| 亚洲国产精品V?在线播放| 伊人五月天婷婷| 免费黄色片。| 天天干一区二区| 天天综合网1| 欧美亚洲日韩16色| 热99这里有精品综合久久 | 五月天婷婷综合网| 青青草在线视频人人想人人上| 亚洲se电影| 96精品久久| 午夜精品五区| 中文字幕一二三区| 亚洲偷拍欧美激情| 黄色av网站在线播放| 亚洲色综合| 久久人妻视频网| 国产久久日| 国产精品自在线发布| 91国产美女丝袜足交精品视频| 亚洲一区中文精品| 国产AV无码AV| 黄网在线播放| 久久精品免费| 青青久久久| 亚洲性天堂| 少妇无码999| 亚洲制服aⅴ中文字幕| 亚洲情色婷婷五月天| 久久久久97| 男人 天堂 日 亚洲| www国产无码| 一个人在线看的黄色电影网站| 91香蕉视频在线观看免费| 国产精品suv一区| 日本黄 R色 成 人网站| 日韩欧美天堂| 国产高潮AA片免费看| 欧美操逼熟女| 婷婷丁香五月天综合东京热| α√在线| AV无码久久久精品| 亚洲超碰在线| 性交一区二区在线播放| 大香网站| 日韩中文字幕宗合在线| 96AV精品| 岛国AB视频| 97视频www| 婷婷久久久| 97亚洲综合在线| 91男同| 色婷婷五月天| 尤物国产一区在线观看| 亚洲精品国语在线播放| 亚洲国产精品久久久久久久久久| 欧美亚洲首页| 岛国人妻少妇av在线观看| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 四季AV综合网址| 五月婷婷啪啪| 六月色色| www99热| 一二三区在线| 啊v在线观看视频| 影音先锋日本乱伦| 久久激情四射婷婷丁香五月天| 五月婷婷综合网| www.狠狠| 不卡人妻少妇精品毛片一区23区视频 | 国产午夜激片Av毛片不卡| 欧美色图亚洲色| 青青草国产欧美非洲黑人| 日本大香蕉综合网| 美女黄频a美女大全免费皮| 欲综合网| 麻豆一区二区三区精品| 日韩乱插| 亚洲色图欧美视频| 久久久啊啊啊| 亚洲 欧美 另类 日韩 人妻一区| 亚洲精品一区中文字幕乱码| 国产suv精品一区二区四| 嗯嗯,好大,好爽,好骚| 午夜啊啊啊| 五月天开心网| 人人操人人大香蕉| 激情黄色片在线观看| 夜夜高潮夜夜爽国产伦精品| 夜夜高潮夜夜爽高清视频一 | 色狠狠综合| 亚洲 欧美 日韩 国产一区二区| 欧美1727免费观看视频| 成人乱码一区二区三少妇| 少妇久久久久久| 台湾佬大香蕉| 精品国产乱码久久久久久久久久毛片 | 日韩三级在线观看网站| 强乱老妇中文字幕| 少妇熟女视频一区二区三区| 久久久久七视频| 色婷婷综合网| 丁香五月性爱| 色婷婷六月| 狠狠操狠狠| 懂色AV一区二区三区| 超碰人人妻| 成人乱码一区二区三少妇| 一区二区高清视频| 男人的午夜天堂| 亚洲AV无码乱码| 九九九九热| 黑人精品XXX一区一二区| 欧美成人一级麻豆| 免费观看性欧美一级| 色操逼网| 8050无码八戒| 91综合在线| 人妻美腿丝袜制服诱惑综合天堂-| 蜜桃视频精品一区二区| 国产久久久9999| 精品一区二区人妖| AV不卡在线| 一区二区三区黄片免费观看| 日本高清_区二区三区| 婷婷天堂站| 天天综合有色网| 2024人人操人人摸| 日本三级中国三级99人妇网站| 91狠| 亚洲.欧美.丝袜.中文.综合| 国产中文字幕曰本毛片| ?亚洲伊人伊成久久人综合网| 国产亚洲日本精品在线| 亚洲福利中文字幕在线| 青青国产精品在线| 加勒比综合a∨| 欧美亚洲天天| 国产AV久久野战精品| 狠狠爱综合| 国产精品天干天干综合网麻豆 | 极品综合| 午夜精品久久久久久久男人的天堂 | 久久久无码av精| 久久婷婷一区| av网站免费看| 99久久精品国产系列| 综合激情二| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 91欧美高清| 综合97亚洲| 翔田千里爆乳巨臀无码| 99精品网| 欧美热图99| 日韩一级片在线看| 蜜桃狠狠色伊人亚洲综合| 性色av大全| 九九九九久久久| 亚洲精品819| 欧美激情精品| 中文字幕欧美精品亚洲日韩蜜臀| 综合一区中亚洲国产成人综合精品 | 国产精品农村妇女| 免费在线观看国内色片网站网址| 青青草精品| 久热99| 激情综合五月| 超碰在线1234区| 伊人大香蕉在线| av东京热男人的天堂| 欧美日韩m| 97超碰逼| 操高情无码| 中文字幕视频二区| 93人人操人人| 久久久穴999| 美女黄色91| 久久东京国产精品视频| 少妇无码999| 亚洲永久AV无码精品秋霞| 美女久久久| 久日91在线| 色五月婷婷麻豆在| 99蜜桃臀亚洲成人在线观看| 三级网站超变态精品| 色婷婷六月丁香七月婷婷| 欧美天天谢综合网| 蜜乳AV.COM| 中文字幕视频在线观看一区二区| 亚洲情色欧美| 人妻少妇久久久| 13小男生GAY自慰脱裤子| 亚洲色悠悠久久88| 欧美综合骚| 国产 无码 一区二区| 久久久三区二区一区| 亚洲最新a在线观看| 久久岛国| 色九九久九九| 999九九精品| 黄色乱论网站| 九色PORNY9l原创自拍| 亚洲色图欧美色图日韩色图| 91性网| 骚日日av| 久久久精品久久| 中文久久96| 今日头条成人一区二区三区四虎精品| 青青操网| 亚洲中文字幕熟女| 久久久久夜夜夜夜| 精品国产国产AV| 国模不卡一本二本三电影| 亚洲色吧网| 亚洲精品男人的天堂| 九九久久99| 久久综合资源一区二区| 韩三级a视频在线观看| 精品无码一区二区三区色欲| 97超级色碰碰| 懂色av中文字幕| 日本三级韩国三级美三级91| 熟女丰满人妻一区| 亚洲色天堂日韩中| 亚洲中文字幕网| 久久久精品成人国产| 久久久国产成人一区二区三区在线| 一类无码操逼视频| 在线强奷到舒服的无码视频 | 91爱剪切久久| 无码人妻一区二区三区四区老鸭窝| 亚欧操逼片在线观看| 9久精品视频在线观看| 夜夜操av亚洲一区二区| 亚洲一区深夜| 激情综合av| 婷婷探花久久精品一区| 清纯唯美第一页| 久久狠狠色噜噜狠狠狠狠97| 欧美东京热青青草| 亚洲三区视频| 丁香五月天啪啪| 极品内射| 不卡在线观看视频| 国产后入| 一区操逼日比视频| 欧美天天插| 另类专区加勒比| 99999国产| 免费看国产曰批40分钟怎么下载| 人妻少妇色综合| 久久久久久人妻| 久久久久久久久久久久久久久久9| 亚洲AV永久无码精品成人调教| а√天堂资源官网在线资源| 日韩久久激情精品| 日本最新免费韩国1区2区视频播放| 精品少妇一区二区三区| 可以在线观看的黄色网址| 国产又色又爽又舒服的三级视频 | 国产不良强奸视频免费看| 色婷婷综合视频| 国产精品乱码久久久、久久| 国产操逼视频在线观看| av中文字幕在线熟女| 一区二区视频在看| A片三级无码| 尤物视频偷拍免费| 精品视频免费在线一区| 久久综合五月天| 劲爆欧美人妖三区91| WWW操逼| 99免费在线视频| 三四中文字幕| 嗯啊不要在线观看嗯啊| A 天堂在线观看视频| 日韩精品一区二区三区色欲| 97超级欧美| 亚瑟国产精品久久无码| 国产乱弄免费在线视频。| 欧美影院一区二区三区| 国产高清不卡视频| 日韩偷拍一区二区三区 | 91小视频| 欧美狠狠狠| 天天摸,夜夜摸| 久湿久久 | 91精品久久久久五月天精品| 97超视频在线观看| 亚洲国产精品久久AV| 欧美激情欧美精品| 日本一本道A级黄色毛片试看60分钟| 91在线美女| 操逼视频亚洲| 高清孕妇孕交 交孕妇| 亚洲少妇诱惑| 国产丝袜美女诱惑| 成人影 天天操 亚洲| 国产亚洲精品第一最新| 欧美欧美少妇| 亚洲男人天堂2| 久久婷婷伊人| 岛国成人av在线播放网址| 国产家庭乱伦性爱视频| 蜜臀久久99精品久久久电影| 国产九九久久久精品| 色综合久久888| 婷婷五月综合在线| 久久九九99| 七久久久| 亚洲欧洲小说图片视频| 成人综合色网| 亚洲中文字母在线播放| 91n欧美| 久操视频在线观看| 国产 日韩 欧美一区| 男女做爰猛烈动高潮A片免费应用| 色悠久| 久久久少妇| 操逼免费视频无码国产| 午夜视频好爽啊| 欧美日韩国内不卡| 国产美女mm131爽爽爽爽| 男人天堂黄片| 欧美综合区| 亚洲人精品久久久喷水| 一区二区三区在线资源| 99999精品成人| 超碰激情808| 青青草国产一区二区三区| 精品传媒在线一区| 在线播放免费av福利片| 国产激情在线| a男人的天堂| 久久最新视频免费观看| 国产欧美日产一区二区三区 - 国产欧美日 | 国产粉嫩出水在线播放| 婷婷激情五月| 福利在线视频一区二区| 天天干嫩逼网| AV色女综合| 亚洲AV秘 精品久久老牛影视| 黄色在线网站| 嫩草 人人网精品| 久久有码视频| 亚洲天堂AV在线播放| 天美av在线观看| 超碰在线97国产| 欧美性爱1080p| 欧美乱欲| 亚洲AV无码乱码| 青娱乐二区免费| 日日夜夜摸| 欧美一级AAAAAAA| 日韩欧美中文| 91视频国品一二三区| 歐美性天天| 97国产天堂岛| 国产精品视频精品一二| 香蕉在线一区二区三区| 国产精品久久发布| 九九久久国产精品| 欧美成人精品一区二区男人蜜臀| 91精品国产乱码| 午夜啊啊| 亚洲无码超碰免费| 久久久国产成人一区二区三区在线 | 亚洲色综合| 国产家庭乱伦网址| 色色五月丁香| 日韩精品第3页| 亚州一区二区| 日韩三级在线观看网站| 超碰AV在线| 神马久久69| 变态综合色| 日本一区二区三区四区免费观看| 一区二区三区四区色图| 亚洲全色网| 亚洲偷拍自拍在线视频| 亚洲天在线| 综合操逼| 啊啊啊啊嗯嗯在线久久久| 国产成人资源| 国产又粗又长视频| 亚洲乱码国产乱码精网站| 91日韩网站| 久九干| 精品久久久久黄少妇| 不卡中文字幕aⅴ在线| 精品网站99999| 强奸乱伦AV网址| 97伦综合| 欧美日韩操逼嗦吊| 日韩不卡一二三四| 这里只有精品久久| av一区二区三区四区| 超碰 国产熟女精品一区| 人人爱人人操人人性| 91热热色| 亚洲永久永久永久永久一级一级一级精品 | 国产农村妇女精品1区二区| 久久性爱精品一区| 久草成人影片| 丝袜美腿诱惑亚洲欧美视频在线观看 | 五月丁香婷婷啪啪| 亚洲欧洲av影音| 麻豆激情综合| 俺去久久| 色色色999| 精品无码少妇| 在线洲亚线| 男人亚洲91首页在线| 岛国毛片手机在线观看| 日本性爱欧美性爱| aaaa少妇高潮大片| 亚州欧美综合| 亚洲97P| 日韩人妻大香蕉| 日韩AV无码网站| 国产美女91| 亚洲男人天堂网久久| 久久久久久久人妻| 久久这里是精品| 国产性爱乱伦AV| 国产女人高潮嗷嗷嗷叫小说 | 久久偷拍人| 久久久久密| 亚洲中文制服诱惑| 97资源站国产精品| 加勒比av中文| 国产在线激情| 91免费看一区二区三区| 伊人久久大香线蕉无码| 亚洲精品视频二区| 玖玖大干人妻| 在线a亚洲视频播放在线| 国产高清MV操逼视频| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 后入精品| 中日韩久久久免费看| 欧美色图自拍| 欧美宗合网| 国产毛片毛片4p懂色| 男人的天堂va| 国产综合色精品在线观看| 欧美十八禁视频| 91美| 美女的肌被草喷水视频| 国产精品久久久久久夜夜夜| 久久免费老司机精品| 亚洲综合一| 四虎国产精品永久在线囯在线| 0755午夜福利视频| 久久久91福利姬| 992大香蕉| 97资源视频| 屁屁影院一区二区三区国产| 亚洲成人久久一区二区| ji熟女.com| 一区二区影视| 九九这里只有精品| 人妻激情视频| 麻豆熟妇乱妇熟色A片在线看| 蜜臀av在线播放一区二区三区| 中日韩熟女| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 大香蕉十区| 97欧美色综合| 中文字幕AV中出| 欧美一区二区一级岛国大片| 欧美日本天堂| 欧美性色欧美| 欧美成人一级麻豆| 久久午夜伦| 亚洲国产一区二区入口| 九九无码久久精品视频| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 国产精品 午夜福利| 蜜桃色色网站视频三区| 加勒比日本在线| 人妻素股| 国产91啪| 免费亚洲国产精品久久一区| 99re在线视频国产| 91爆操视频| 淫穴高潮色图| 久久伊人影院| 亚洲天天做日日做天天谢日日 | 久久国产视频专区一二三| 久久久久久九九九九| 97天天综合| 熟女日韩| 亚洲第一男人天堂| 日本孕妇一区二区视频操逼免费看 | 婷婷丁香五月激情啪啪| 国产这里只有精品| 新精精品久久精品| 人人干人人操人人爱| 激情久久av一区av二区av| 国产精品乱人伊人网| 91爱欧美| 久热9| 欧美精品三级黄片| 国产在线视视频有精品| 欧美激情1区| 精品v日韩欧美国产| 欧美韩日精品99综合| 久久国产逼| 91天天综合在线观看| 69精品在线| A级国产欧美激情在线| 欧美激情欧美精品| 91九色精品熟女内射| 国精综合一二三区影视| 91综合在线| 国产精品不卡一区二区三区av| 国产av又色又爽又黄| 99re视频这里只有精品| 国产99 中文字幕日韩小视频| 97chaopengongkai| 国产九月婷婷| 激情文学小说一区二区| 欧美性暴力猛交XXXX| 第一高清av中文字幕| 伊色久人大在线| 粉嫩国产精品久久粉嫩| 亚洲一区二区精品福利| 少妇特黄一区二区三区| 亚洲情色一区三区| 亚洲精品人妻在线| 九九九九九九九九九五码| 丰满欧美少妇| 成功精品影院| 99精品久久久久久久婷婷蜜桃| 日韩人妻播放| 久久97超碰| 亚洲高清内射| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 天天天干977| 韩国一区二区精品亚洲| 思思热久久成人| 黄片视频,下载| 97干天天| 91欧美性| 国产97在线 | 亚洲| 亚洲欧美国产精品久久久久久久| 日韩射精| 久久线上视频免费看| 亚洲一区二区中文字幕| 蜜臀av中文字幕| 久久久精品,3| 日韩欧美久久婷婷网站| 国产黄色影片在线观看| 秋霞操逼片| av婷婷色网| 妺妺跟我一起洗澡没忍住| 乱论91| 干婷婷综合网| 中文字幕老熟妇黄色视频|