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

ARTICLE DETAIL

資訊詳情

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

基于Java的藥房購藥系統(tǒng):Spring Boot+Vue全棧開發(fā)詳解

基于Java的藥房購藥系統(tǒng):Spring Boot+Vue全棧開發(fā)詳解 快到畢業(yè)季了后臺總有人私信問我“藥房購藥系統(tǒng)”這類題目該怎么下手。作為經(jīng)常幫畢業(yè)生審代碼、理思路的老學長我今天就以這套基于JAVA的藥房購藥系統(tǒng)為例子把從需求拆解、技術選型、數(shù)據(jù)庫設計到核心代碼實現(xiàn)的完整鏈路掰開揉碎講一遍。這套系統(tǒng)不只是應付答辯你要是真能把它吃透Spring Boot Vue 的前后端分離開發(fā)、RBAC權限模型、訂單狀態(tài)機這些硬技能都能實實在在落到簡歷上。先給還不清楚狀況的同學定位一下這是一個典型的JavaWeb方向的管理信息系統(tǒng)業(yè)務邊界清晰技術棧主流特別適合計算機專業(yè)、軟件工程、信息管理類專業(yè)的畢業(yè)設計。系統(tǒng)解決的核心痛點很樸素——傳統(tǒng)藥房靠手工記賬、紙質(zhì)處方管理藥品庫存靠人工盤點效期管理靠肉眼排查而這套系統(tǒng)要做的就是把這些線下流程搬到線上實現(xiàn)藥品信息管理、庫存預警、前臺購藥結算、訂單追蹤、角色權限控制的一體化閉環(huán)。如果只是隨便找個開源項目改改名字交差那你大概率會在答辯時被問懵。我這篇博文的目標是讓你真正理解每個設計決策背后的原因為什么訂單金額用BigDecimal而不是double為什么用戶表和角色表要拆開為什么庫存扣減要放在數(shù)據(jù)庫事務里做把這些“為什么”搞明白你不僅能順利通過答辯還能在以后的面試里多幾分底氣。1. 項目整體設計與需求拆解1.1 從“購藥”到“管藥”一個完整的業(yè)務閉環(huán)很多人拿到這個題目第一反應是“這不就是個網(wǎng)上商城嗎把賣衣服換成賣藥不就行了”。這是最大的誤區(qū)。藥房購藥系統(tǒng)雖然長得像電商系統(tǒng)但它的業(yè)務復雜度遠超普通商城核心差異在于三個地方第一個差異是藥品的雙重屬性。藥品既是商品也是特殊監(jiān)管對象它有關聯(lián)的批準文號、生產(chǎn)廠家、批號、有效期、處方類型處方藥與非處方藥、儲存條件這些額外字段。普通商城只需要管理SKU和價格藥品管理系統(tǒng)必須管理效期和批號因為臨近過期的藥不能賣過了效期的藥必須鎖定下架。第二個差異是用戶角色的多樣化。一套完整的藥房系統(tǒng)至少要有四類角色管理員管人和管數(shù)據(jù)、藥師審核處方、上下架藥品、收銀員銷售開單、普通用戶瀏覽藥品、下單購藥。不同角色看到的界面不同操作的權限不同這就牽扯到RBAC權限模型的設計。第三個差異是庫存精度要求更高。普通商品庫存少一個多一個影響頂多是補貨藥品庫存出錯會直接影響患者用藥安全。所以庫存操作必須做事務控制每次出庫入庫都要留操作日志方便事后追溯。搞清楚這三點你再回來看這個選題就會發(fā)現(xiàn)它其實是個“麻雀雖小、五臟俱全”的綜合訓練——既有常規(guī)CRUD又有權限控制、事務處理、狀態(tài)流轉(zhuǎn)、報表統(tǒng)計該有的難點全都有。1.2 核心需求逐條拆解我習慣先畫功能樹再寫代碼。這套系統(tǒng)的功能規(guī)劃大致如下前臺用戶端針對普通購藥用戶用戶注冊、登錄、個人信息維護、密碼修改藥品分類瀏覽、關鍵字搜索、藥品詳情查看含說明書、用法用量購物車管理加入、修改數(shù)量、刪除、批量結算提交訂單、在線模擬支付、查看訂單狀態(tài)與歷史訂單常見問題FAQ與留言反饋后臺管理端針對管理員、藥師、收銀員登錄認證與基于角色的菜單權限控制藥品管理增刪改查、上架/下架、藥品圖片上傳、效期預警分類管理藥品類別維護支持二級分類庫存管理入庫登記、出庫登記、庫存盤點、低庫存預警訂單管理訂單列表篩選、訂單狀態(tài)更新發(fā)貨、完成、取消、訂單明細導出用戶管理用戶列表、禁用/啟用賬號、重置密碼輪播圖與系統(tǒng)公告管理這里要特別說明一下處方藥流程。很多畢設偷懶把所有藥品都當普通商品直接下單這是不專業(yè)的。但在畢業(yè)設計階段完整實現(xiàn)處方上傳、藥師審核、審核通過后才能支付的流程工作量確實偏大。實際操作中多數(shù)優(yōu)質(zhì)畢設會把處方藥設計成“加入購物車時需要填寫用藥人信息并勾選已確診聲明”然后在后端加一道藥師審核節(jié)點這樣既體現(xiàn)了業(yè)務理解深度又不至于把項目周期拖得太長。1.3 系統(tǒng)架構前后端分離還是單體應用這個問題幾乎每個來問我的人都糾結過。我的建議很直接有基礎就上前后端分離沒基礎就用單體Bootstrap模板引擎兩種方案都能做出優(yōu)質(zhì)畢設關鍵看你怎么選。前后端分離方案是當前工業(yè)界的主流形態(tài)后端用Spring Boot暴露RESTful API前端用Vue 3 Element Plus構建單頁應用通過JSON交換數(shù)據(jù)。好處是技術棧新、代碼組織清晰、簡歷上好看壞處是你要同時掌握后端接口設計和前端組件開發(fā)調(diào)試跨域、處理token過期這類問題的排查鏈路更長。單體模板方案是Spring Boot Thymeleaf或者JSP頁面由后端渲染邏輯簡單直接沒有跨域煩惱開發(fā)速度快。缺點是技術棧相對傳統(tǒng)前端交互體驗一般。我個人強烈推薦前后端分離因為答辯時老師大概率會問“為什么選前后端分離”這個問題的標準答案本身就體現(xiàn)了你對現(xiàn)代開發(fā)流程的理解。而且后端API的測試、前端組件的復用這些實踐都是可以直接帶到工作中的。后面我講的代碼示例也是以后端API為視角展開的。2. 技術選型與開發(fā)環(huán)境搭建2.1 技術棧逐項解析這套系統(tǒng)我采用的是Java生態(tài)里最經(jīng)典也最穩(wěn)妥的組合后端主體JDK 8 或 JDK 11JDK 11是分水嶺畢業(yè)設計用8也行但11的局部變量類型推斷等特性更好用Spring Boot 2.7.x不用最新的3.x因為3.x要求JDK 17而且很多配套組件版本變化較大容易給自己挖坑MyBatis-Plus 3.5.x數(shù)據(jù)持久層相比純MyBatis省去大量單表操作的XML配置MySQL 8.0關系型數(shù)據(jù)庫8.0以上更好用支持窗口函數(shù)Redis 可選用于緩存驗證碼、token如果不想引入中間件本地Map也能應付前端主體Vue 3 Vite構建速度快組合式API寫邏輯更順手Element Plus組件庫表格、表單、彈窗、分頁都是現(xiàn)成的Pinia狀態(tài)管理比Vuex更簡潔AxiosHTTP請求庫ECharts可視化圖表用于首頁統(tǒng)計輔助工具Maven依賴管理JWT Spring Security 或者 Sa-Token認證授權Lombok簡化實體代碼Hutool工具類庫處理日期、加密、驗證碼很方便這個組合是目前B站和培訓機構主流的教學組合資料多、報錯網(wǎng)上都能搜到解決方案對畢設來講是風險最低的選擇。2.2 為什么不用SSM框架很多同學在選題時后臺老師會列“Spring SpringMVC MyBatisSSM”讓你選。我的意見是能不用SSM就不用。SSM屬于上一個時代的開發(fā)方式配置繁瑣——光一個Spring配置和MyBatis配置就要寫幾十行XML而Spring Boot通過自動配置把這些問題全部抹平了。你做畢設是為了展示工程能力不是為了證明自己能手工拼裝XML。同理為什么不推薦用ShiroShiro和Spring Security都能做權限控制但Spring Security在最近版本中不斷演進社區(qū)活躍度更高與Spring Boot的集成更無縫。當然如果你擅長Shiro選它也完全沒問題核心是你要能講清楚Session認證與Token認證的區(qū)別。我這個項目用的是Sa-Token它的學習曲線平緩API設計對初學者非常友好文檔又全屬于小眾但非常香的選擇。2.3 環(huán)境搭建的坑與版本匹配環(huán)境搭建這一步我見過太多人卡死在版本匹配上。直接給一套我已驗證可用的版本組合JDK1.8.0_202 或 Amazon Corretto 8Maven3.6.3 或 3.8.xSpring Boot2.7.14MyBatis-Plus3.5.3.1注意3.5.4之后分頁插件寫法有變化MySQL8.0.32 或 5.7.265.7也可以但注意時區(qū)配置Node.js16.20.x 或 18.xVite 4需要Node 16.20npm8.x一個非常容易踩的坑是Maven倉庫依賴下載緩慢或版本沖突。建議在Maven的settings.xml里配置阿里云鏡像并且只用spring-boot-starter-parent做統(tǒng)一版本管理不要自己隨意指定子模塊版本否則極容易出現(xiàn)NoSuchMethodError之類的問題。遇到啟動報錯先別急著懷疑代碼按這個順序排查Maven依賴是否下載完整 → 數(shù)據(jù)庫連接配置是否有誤 → 端口是否被占用 → 啟動類位置是否放對Spring Boot默認掃描啟動類所在包及其子包。80%的啟動失敗都能用這四步解決。3. 數(shù)據(jù)庫設計藥房業(yè)務的地基3.1 數(shù)據(jù)表全景數(shù)據(jù)庫設計是面試和答辯時老師最愛深挖的地方也是最能體現(xiàn)你水平的地方。這張表結構圖我建議直接背下來并能講出每一張表為什么這么設計。核心表sys_user用戶表用戶ID、用戶名、密碼、昵稱、頭像、手機、郵箱、角色標識、狀態(tài)、創(chuàng)建時間sys_role角色表角色ID、角色編碼、角色名稱sys_user_role用戶角色關聯(lián)表多對多關系drug_category藥品分類表分類ID、父分類ID、分類名稱、排序drug_info藥品信息表藥品ID、批準文號、藥品名稱、通用名、規(guī)格、劑型、單位、生產(chǎn)廠家、儲存條件、處方類型、零售價、會員價、庫存數(shù)量、預警值、圖片、說明書、創(chuàng)建時間drug_stock_log庫存變動日志表日志ID、藥品ID、變動數(shù)量、變動類型入庫/出庫/盤點調(diào)整、操作前后數(shù)量、操作人、操作時間、備注cart_item購物車表購物車ID、用戶ID、藥品ID、藥品數(shù)量、加入時間order_info訂單主表訂單號、用戶ID、訂單總金額、實付金額、訂單狀態(tài)、收貨人、聯(lián)系電話、收貨地址、下單時間、支付時間、完成時間order_item訂單明細表明細ID、訂單ID、藥品ID、藥品名稱快照、單價快照、數(shù)量、小計金額sys_notice公告表公告ID、標題、內(nèi)容、發(fā)布時間sys_pic輪播圖表圖片ID、圖片地址、跳轉(zhuǎn)鏈接、排序這幾張表覆蓋了一個藥房系統(tǒng)的全部核心鏈路。多說一句訂單明細表里的藥品名稱快照字段特別重要它是為了防止藥品信息被修改后歷史訂單數(shù)據(jù)跟著變臟的做法。畢業(yè)設計能考慮到這一點答辯時是明顯的加分項。3.2 關鍵字段設計意圖解讀我挑幾個容易踩坑的字段詳細說說。藥品價格字段必須使用DECIMAL(10,2)。我審過不少畢設代碼發(fā)現(xiàn)有人圖省事用double存價格這是嚴重的低級錯誤。float和double在二進制浮點運算中會產(chǎn)生誤差0.1 0.2輸出的結果不是0.3這在涉及金額累加、優(yōu)惠折扣計算時會造成分級別錯誤。Java后端對應使用BigDecimal所有價格計算必須通過BigDecimal的add、subtract、multiply方法完成禁止直接使用算術運算符。庫存字段藥品表冗余存一個當前庫存字段同時用庫存變動日志表記錄每一次出入庫明細。為什么這么設計因為如果只靠日志表時時SUM統(tǒng)計庫存訂單并發(fā)高的時候性能撐不住而且查詢歷史維度特別麻煩如果只存一個當前庫存數(shù)字又無法追溯“這個月總共入庫多少、出庫多少”。兩者互補才是完整方案。訂單狀態(tài)字段用int類型TINYINT存狀態(tài)值配合后端狀態(tài)機做流轉(zhuǎn)校驗。不要用字符串狀態(tài)直接存因為不同模塊對狀態(tài)的叫法可能不一致比如前端叫“待付款”后端叫“PENDING_PAY”用數(shù)字枚舉后端統(tǒng)一維護并配合狀態(tài)機限制流轉(zhuǎn)路徑比如“已發(fā)貨”狀態(tài)下不能直接跳到“已取消”這種限制能防止臟數(shù)據(jù)。3.3 物理外鍵與邏輯外鍵的選擇這是個很經(jīng)典的開發(fā)爭議話題。很多教科書鼓勵建外鍵約束但我實際做項目時的習慣是數(shù)據(jù)庫層面不建物理外鍵邏輯外鍵由代碼控制。原因很簡單——物理外鍵會導致幾個問題一是每次插入子表都要檢查主表寫并發(fā)高的時候性能受損二是刪除主表數(shù)據(jù)時如果被外鍵約束攔住會出現(xiàn)一堆“刪除失敗”的詭異報錯三是項目運行中如果要調(diào)整表結構比如分庫分表外鍵是最難遷移的。所以在互聯(lián)網(wǎng)公司里物理外鍵幾乎絕跡都是靠開發(fā)人員在業(yè)務層保證引用完整性。但在答辯時如果老師質(zhì)疑“為什么沒有外鍵”你要能解釋清楚這套邏輯而不是支支吾吾答不上來。這本身就是設計思維的體現(xiàn)。4. 核心功能模塊的實現(xiàn)細節(jié)4.1 用戶認證JWT令牌機制用戶登錄是整套系統(tǒng)的第一道門。我不建議用傳統(tǒng)的Session方案因為前后端分離的場景下Session天然要依賴Cookie而跨域場景下Cookie處理很麻煩。這里采用JWTJSON Web Token方案。簡單講用戶輸入用戶名密碼后端校驗通過后生成一個帶簽名的令牌前端把令牌存到本地每次請求在請求頭里帶上Authorization: Bearer xxx后端過濾器攔截并驗簽。這套機制的核心價值是無狀態(tài)——服務器不需要保存會話信息天然支持水平擴容。JWT的生成代碼在用Sa-Token時非常簡單PostMapping(/login) public ResultString login(RequestBody LoginDTO dto) { // 1. 校驗驗證碼防止暴力破解 // 2. 根據(jù)用戶名查用戶 SysUser user userService.getByUsername(dto.getUsername()); // 3. 密碼加密比對BCrypt加密 if (user null || !BCrypt.checkpw(dto.getPassword(), user.getPassword())) { return Result.error(用戶名或密碼錯誤); } // 4. 賬號是否被禁用 if (user.getStatus() 0) { return Result.error(賬號已被禁用請聯(lián)系管理員); } // 5. 簽發(fā)token StpUtil.login(user.getUserId()); return Result.success(StpUtil.getTokenValue()); }這里要強調(diào)一個核心原則數(shù)據(jù)庫里的密碼絕不能存明文。正確的做法是使用BCrypt或Spring Security自帶的加密器對密碼做哈希處理登錄時用BCrypt.checkpw比對。如果你在項目里發(fā)現(xiàn)密碼直接明文存儲答辯時這就是被攻擊的點——老師只要問一句“數(shù)據(jù)庫泄露了怎么辦”你就無言以對。4.2 庫存扣減事務控制藥品下單是整個系統(tǒng)里并發(fā)風險最高的操作。比如100個用戶同時爭搶庫存僅剩3盒的藥品如果代碼寫成“先查庫存-判斷足夠-再減庫存”在高并發(fā)場景下會產(chǎn)生嚴重的超賣問題。因為查庫存和減庫存兩步之間有時間窗其他請求可能在這期間插進來大家都查到庫存是3都以為自己能買結果最終扣成負數(shù)。正確做法是用數(shù)據(jù)庫層面的原子更新加事務控制Transactional(rollbackFor Exception.class) public void deductStock(ListCartItem items) { for (CartItem item : items) { // 原子更新庫存大于購買數(shù)量時才扣減 int rows drugInfoMapper.deductStock(item.getDrugId(), item.getQuantity()); if (rows 0) { throw new RuntimeException(庫存不足商品 item.getDrugName()); } // 記錄庫存變動日志 drugStockLogService.recordLog(item.getDrugId(), -item.getQuantity(), ...); } }對應Mapper中的SQLUPDATE drug_info SET stock stock - #{quantity} WHERE drug_id #{drugId} AND stock #{quantity}注意這段SQL的巧妙之處它在一條語句里同時完成了“判斷庫存是否充足”和“扣減庫存”兩個操作利用數(shù)據(jù)庫行鎖保證了并發(fā)安全。如果影響行數(shù)為0說明條件不成立那就拋異常讓整個事務回滾訂單也不會創(chuàng)建。這種寫法比你“先select后update”的方式在性能和安全性上高出不止一個檔次。庫存扣減還有兩個細節(jié)需要注意。第一必須在Transactional里執(zhí)行一旦后面的訂單創(chuàng)建、明細寫入任何一個環(huán)節(jié)報錯庫存能跟著回滾不會出現(xiàn)“錢沒收到、藥卻扣了”的局面。第二可以額外設計一個庫存預警機制——當庫存低于預警值時后臺首頁會提示采購員補貨這個邏輯在數(shù)據(jù)字典里有預警值字段。4.3 訂單狀態(tài)機與異常處理訂單模塊看起來只是簡單的insert和update但真正折磨人的是各種邊界狀態(tài)。用戶下單后不支付怎么辦支付了但不發(fā)貨怎么辦發(fā)貨了但用戶要退貨怎么辦如果代碼里沒有約束就會出現(xiàn)任意狀態(tài)跳到任意狀態(tài)的混亂情況。我建議用一個私有方法集中處理狀態(tài)流轉(zhuǎn)public boolean changeOrderStatus(String orderNo, int targetStatus) { OrderInfo order this.getByOrderNo(orderNo); // 合法狀態(tài)流轉(zhuǎn)映射 MapInteger, ListInteger validTransitions new HashMap(); validTransitions.put(0, Arrays.asList(1, 5)); // 待支付 - 已支付 / 已取消 validTransitions.put(1, Arrays.asList(2)); // 已支付 - 已發(fā)貨 validTransitions.put(2, Arrays.asList(3, 4)); // 已發(fā)貨 - 已完成 / 已退款 ListInteger allowed validTransitions.get(order.getStatus()); if (allowed null || !allowed.contains(targetStatus)) { throw new BizException(非法的訂單狀態(tài)流轉(zhuǎn)); } // 執(zhí)行更新 }這200行不到的狀態(tài)映射表是你答辯時說明“對業(yè)務有完整理解”的絕佳材料。老師問“你怎么保證訂單狀態(tài)不亂”你就可以拿這個類直接講設計思路。訂單模塊還有幾個容易遺漏的細節(jié)生成訂單號要保證唯一且有序一般用時間戳加隨機數(shù)或雪花算法保存收貨地址要單獨存字符串快照而不是存地址ID防止用戶修改地址后歷史訂單地址跟著變刪除訂單只能做軟刪除避免破壞與明細表之間的引用關系。4.4 前端頁面的核心交互邏輯前端部分藥房購藥系統(tǒng)的核心頁面包括首頁輪播圖 藥品展示 公告、藥品列表分類篩選 關鍵詞搜索 分頁、藥品詳情、購物車頁、訂單結算頁、個人中心、后臺管理頁。這里提兩個前端頁面里最值得優(yōu)化的交互點。第一個是購物車數(shù)量加減的防抖處理。用戶在購物車里面連續(xù)點擊“”號時如果每次都發(fā)一次請求更新數(shù)據(jù)庫會產(chǎn)生大量無用請求而且容易導致數(shù)據(jù)錯亂。正確做法是前端在200毫秒內(nèi)合并點擊操作只發(fā)最后一次請求或者更穩(wěn)妥的做法是購物車數(shù)量變動只在內(nèi)存中操作等用戶點擊“去結算”時才批量提交后端。后端再根據(jù)提交的數(shù)據(jù)進行數(shù)量重新校驗避免用戶直接篡改價格或數(shù)量。第二個是訂單提交前的秒殺式重復點擊防護。用戶點擊“提交訂單”后按鈕立刻變成loading狀態(tài)同時生成一個前端請求序列號后端判斷該序列號是否已處理過處理過就直接返回結果而不是再建一次單。這些細節(jié)雖然不起眼但答辯時被問“系統(tǒng)有哪些安全設計”時你能說出這些點老師會非常認可。前端還有一塊容易被忽視的是路由權限控制。Vue Router里定義路由meta信息比如meta: { roles: [admin] }路由守衛(wèi)里根據(jù)當前用戶的角色過濾。這不難但能讓后臺管理系統(tǒng)的不同角色進入不同菜單屬于必須有的體驗。5. 開發(fā)全流程記錄與踩坑實錄5.1 從建表到跑通首個接口的開發(fā)順序很多同學拿到題目不知道先干什么。我梳理一個我認為最高效的開發(fā)順序第一步畫數(shù)據(jù)庫ER圖建表并插入測試數(shù)據(jù)。這一步花兩天時間都不為過因為后續(xù)的所有代碼都圍繞表結構寫。測試數(shù)據(jù)要造得像樣藥品名、批準文號、生產(chǎn)廠家都要真實比如“阿莫西林膠囊 0.25g*24粒 國藥準字H20003263”這種。第二步搭后端骨架建項目、配置數(shù)據(jù)庫連接、寫實體類、Mapper先跑通一個登錄接口。到這里你的項目已經(jīng)能啟動了。第三步實現(xiàn)用戶端核心鏈路注冊登錄 - 藥品列表 - 藥品詳情 - 加入購物車 - 提交訂單 - 模擬支付 - 查看訂單。這個流程打通之后系統(tǒng)的大梁就算是立住了。第四步實現(xiàn)后臺核心鏈路藥品CRUD - 分類管理 - 庫存出入庫 - 訂單處理發(fā)貨/取消 - 用戶管理。到這里你的系統(tǒng)已經(jīng)可以真實使用了。第五步做輔助功能輪播圖管理、公告管理、數(shù)據(jù)統(tǒng)計圖表、個人中心。這些都是錦上添花的內(nèi)容工作量可控但非常提升完成度。最后是測試和補充用Postman把每個接口測一遍記錄異常情況并修復檢查權限接口是否被正確攔截處理前端控制臺警告編寫部署說明文檔。5.2 前后端分離聯(lián)調(diào)時的跨域問題前后端分離項目第一個攔路虎就是跨域。前端跑在5173端口后端跑在8080端口瀏覽器的同源策略會直接攔截Ajax請求控制臺報錯CORS policy。有三種主流解決方案一是在后端寫全局跨域配置類二是前后端通過Nginx反向代理同一域名下轉(zhuǎn)發(fā)三是用Spring Cloud Gateway之類的東西做網(wǎng)關代理。對畢設而言第一種最簡單直接。Configuration public class CorsConfig implements WebMvcConfigurer { Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping(/**) .allowedOriginPatterns(*) .allowedMethods(GET, POST, PUT, DELETE, OPTIONS) .allowedHeaders(*) .allowCredentials(true) .maxAge(3600); } }注意allowedOriginPatterns(*)與allowCredentials(true)必須同時使用只寫allowedOrigins(*)在部分瀏覽器版本上會與credentials沖突??缬騿栴}排查不難但如果你不知道原理改半天代碼都找不到問題在哪最后往往是后端過濾器把OPTIONS預檢請求攔截了。5.3 MyBatis-Plus分頁失效問題分頁可以說是查詢功能里必踩的坑。MyBatis-Plus使用分頁需要配置一個分頁插件Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); return interceptor; }如果你忘記配置這個插件調(diào)用selectPage不會報錯但數(shù)據(jù)會全部返回分頁完全失效。更隱蔽的問題是分頁查詢返回的total值默認是普通count如果數(shù)據(jù)量極大這種count是全表掃描的性能很差。MyBatis-Plus默認做了優(yōu)化但如果你的查詢SQL里包含多表joincount語句可能會統(tǒng)計出錯誤的總數(shù)需要手動指定optimizeCountSql或單獨的處理方式。另一個常見問題是分頁時帶上條件查詢MyBatis-Plus會自動拼接條件但如果你在條件里傳了模糊匹配的搜索詞而這個詞帶%或_這種SQL通配符就會導致查詢結果異常。需要用QueryWrapper的like方法配合Escape處理或者自己手動轉(zhuǎn)義。5.4 文件上傳藥品圖片的存儲策略藥品管理里圖片上傳看似簡單其實有個規(guī)劃問題圖片存到哪里常見三種方案。方案一是存本地磁盤上傳路徑寫在配置文件里前端通過Nginx映射訪問。這種方案適合畢設簡單可靠但要注意服務器重啟后路徑配置不能寫死。方案二是存到數(shù)據(jù)庫的Blob字段但這種方案極度不推薦數(shù)據(jù)庫文件過大會拖性能備份和遷移都是災難。方案三是存到云端對象存儲阿里云OSS/MinIO畢設用MinIO自建就夠。如果不想引入額外組件方案一在本地環(huán)境足夠了。上傳接口用Spring Boot自帶的MultipartFile接收配合Hutool的FileUtil生成隨機文件名限制文件大小2MB校驗文件后綴名。這些代碼網(wǎng)上都有但你要能講清楚為什么限制大小和類型答案是防惡意上傳這屬于系統(tǒng)安全設計的一部分。5.5 報表統(tǒng)計模塊的數(shù)據(jù)組織藥房系統(tǒng)的首頁儀表盤通常要展示今日銷售額、今日訂單數(shù)、會員總數(shù)、庫存預警藥品數(shù)、近一周銷售趨勢圖。這部分我用ECharts來實現(xiàn)效果很直觀。數(shù)據(jù)庫層面的做法是寫聚合SQLSELECT DATE(create_time) AS order_date, SUM(total_amount) AS amount, COUNT(*) AS cnt FROM order_info WHERE create_time DATE_SUB(CURDATE(), INTERVAL 6 DAY) GROUP BY DATE(create_time) ORDER BY order_date;后端把這個List返回給前端前端ECharts直接把日期和金額作為x軸、y軸渲染成折線圖。這部分在答辯時是非常出彩的展示亮點建議認真做。5.6 常見的啟動與運行異常速查表記一份異常排查手冊可以省掉很多上網(wǎng)搜索的時間。異?,F(xiàn)象可能原因解決方案啟動報Consider defining a bean of type xxxMapperMapper接口沒有被掃描到在啟動類加MapperScan注解前端請求返回401 UnauthorizedToken缺失或過期檢查前端請求攔截器是否帶了請求頭用Postman直接測后端驗證中文寫入數(shù)據(jù)庫變成?數(shù)據(jù)庫連接URL未指定characterEncoding在JDBC URL中加?useUnicodetruecharacterEncodingutf8上傳圖片后訪問404靜態(tài)資源路徑未映射配置WebMvcConfigurer的addResourceHandlersjava.sql.SQLException: Access denied for user數(shù)據(jù)庫賬號密碼錯誤或權限不足在MySQL里執(zhí)行GRANT ALL PRIVILEGES ON db_name.* TO rootlocalhost啟動時端口被占用其他進程占了8080用netstat -anoRedis連接超時Redis未啟動或密碼錯誤啟動Redis服務或檢查密碼如果使用Windows版Redis檢查服務狀態(tài)前端npm run dev啟動失敗Node版本過低或依賴不完整升級Node到16.20刪掉node_modules重新安裝6. 項目優(yōu)化方向與答辯準備經(jīng)驗6.1 比基本功能再多走一步的優(yōu)化方案如果你的系統(tǒng)已經(jīng)按上述功能完成了且還有時間精力我建議按性價比從高到低挑幾個方向做強化第一藥品效期管理。在藥品信息表中增加生產(chǎn)日期和有效期字段用定時任務掃描即將過期的藥品假設有效期低于3個月在后臺首頁生成警告列表臨期藥品在列表頁打上特殊標簽。這個功能尤其貼合醫(yī)藥行業(yè)屬性答辯時說“我用Scheduled定時任務實現(xiàn)了效期預警”這是非常亮眼的工程亮點。第二操作日志審計。用一個AOP切面記錄管理員的所有敏感操作比如刪除藥品、修改價格、強制下架。在設計層面體現(xiàn)合規(guī)意識醫(yī)藥行業(yè)對操作留痕要求很高。第三訂單超時未支付自動取消。用戶下單后15分鐘不支付訂單自動關閉并回滾庫存。這里有兩個實現(xiàn)方案一是后端定時任務掃描超時訂單批量處理二是使用延遲消息或者Redisson的延遲隊列精準觸發(fā)。畢設用定時任務就夠了但如果你能主動講出兩種方案的區(qū)別說明你真的理解系統(tǒng)設計而不只是能寫出代碼。第四數(shù)據(jù)導入導出。藥品信息支持Excel批量導入訂單列表支持導出Excel。用EasyExcel或Hutool的Excel工具就能做工作量半天起步但“批量導入”功能對管理員來說很實用也是答辯時容易被追問的點。6.2 答辯時的高頻問題與回答思路我能猜到你最緊張的是什么沒錯就是答辯。整理幾個高頻問題及回答思路老師問“你這個系統(tǒng)的角色權限是怎么實現(xiàn)的”回答主線RBAC模型 用戶-角色多對多表 菜單權限攔截器。在攔截器里判斷當前登錄用戶的角色標識決定哪些接口能訪問。前端再根據(jù)角色渲染對應的菜單。強調(diào)RBAC的核心理念是“權限不直接綁定用戶而是綁定角色”這樣新增角色、調(diào)整權限不用改代碼。老師問“藥品庫存你是怎么保證數(shù)據(jù)準確性的”回答主線數(shù)據(jù)庫事務 原子更新SQL 庫存變動日志。解釋清楚UPDATE drug_info SET stock stock - quantity WHERE stock quantity這條SQL在并發(fā)場景下如何避免超賣事務回滾如何保證數(shù)據(jù)一致性庫存日志如何實現(xiàn)事后追溯。這一套邏輯下來老師基本不會繼續(xù)追問了。老師問“訂單支付這塊你做的是模擬支付安全和真實支付有什么區(qū)別”回答主線坦率回答這是模擬支付真實支付需要對接微信支付或支付寶流程包括下單時生成支付二維碼、支付回調(diào)通知、回調(diào)驗簽、訂單狀態(tài)異步刷新。重點說出“真實支付的核心難點在于回調(diào)處理與冪等設計”展示出你對真實業(yè)務的理解而不是硬吹自己實現(xiàn)得多完善。老師問“你的系統(tǒng)有哪些地方可以繼續(xù)優(yōu)化”回答主線千萬不要說“沒有了”。準備兩個方向一是引入Redis做緩存把藥品熱門數(shù)據(jù)查詢放緩存降低數(shù)據(jù)庫壓力二是引入消息隊列在訂單高峰期削峰填谷提高系統(tǒng)的并發(fā)處理能力。這樣既展示了你的問題意識也說明你有架構演進思維。6.3 源碼管理與論文撰寫的配合最后聊聊源碼管理和論文。如果你用Git做版本管理每次寫完一個功能模塊就提交一次commit message寫清功能含義比如feat: 實現(xiàn)購物車結算功能。答辯時展示Git提交記錄能直觀證明項目是你一步步做的而不是網(wǎng)上搬的。論文寫作方面核心章節(jié)要對應系統(tǒng)設計第三章寫系統(tǒng)分析第四章寫系統(tǒng)設計功能模塊圖 數(shù)據(jù)庫E-R圖 表結構第五章寫系統(tǒng)實現(xiàn)每個核心功能的截圖 核心代碼片段完美呼應。論文里引用的每張圖表都是你系統(tǒng)里真實運行出來的這種真實性就是高分的基礎。寫在最后的一點體會做畢業(yè)設計這個東西說穿了是一個“一個人扮演一個團隊”的過程。你可能要在同一個項目里同時當產(chǎn)品經(jīng)理、后端工程師、前端工程師、測試工程師、部署運維還得當自己的答辯教練。這個過程確實累但請相信我只要你按“理解業(yè)務 - 拆分功能 - 設計數(shù)據(jù) - 實現(xiàn)鏈路 - 打磨細節(jié)”的順序走下來你得到的收獲絕對不只是那一紙成績單。你會在不知不覺里搞明白什么叫事務、什么叫狀態(tài)機、什么叫權限模型而這些概念寫在簡歷上比任何修飾詞都更有說服力。這套藥房購藥系統(tǒng)不算難但也不簡單它的業(yè)務閉環(huán)天然適合作為JavaWeb的綜合性訓練項目。不管你是打算照著這個思路自己寫一遍還是拿到了完整源碼想把它吃透改成自己的東西我的建議都一樣把每個模塊的代碼讀一遍自己動手改兩個功能把數(shù)據(jù)庫里的數(shù)據(jù)查一查然后在答辯前自己把系統(tǒng)從頭到尾操作三遍。做到這個程度你就能自信地說——這個項目里每一行代碼的意圖你都清楚。祝順利。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97av,com| 丁香六月婷| 射欧美综合| 黄色欧美性爱视频| 欧美色图91| 国产污视频麻豆传媒一区二区| 97在线精品观看视频| 男人天堂一区二区| 婷婷五月综合在线| 国模不卡| 成人国产视频在线观看| 人妻激情视频| 色偷综合| 超碰这里有精品| 欧美精品第3页| 中文字幕在线免费观看 | 青草精品视频-日本久久久久网站| 三级日本一区二区三区| 99精品无码| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 91熟女网| 密臀AV在线| 天天欧美欧美亚洲网| av在线一区二区三区| 好爽要喷了| 欧美成人9797| 久久av一级av少妇av高潮 | 久久粉色| 91男同| 久久本道| 韩国久久97| 黄aaaaaaaaaaaaaaaaaa色网站| 69精品| 亚洲五月丁香花狠狠干一区二区三区| 国产精品九九九| 91熟女少妇| oumeizonghese,www| 久久久久久人妻| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 欧洲欧美视频一区二区| 亚洲国产精品久久AV| 青草伊人网| 久草草一二三四区久久| 亚洲中文字幕噜噜噜久久久| 欧美一级黄片免费播放| 秋霞欧美性爰视频| 日本在线一二| 欧洲综合视频| 97超久碰| 啊啊啊啊啊啊啊啊要喷了| 美女毛片999| 91美腿丝袜在线观看| 亚洲欧美经典一区二区| 人人看人人摸人人色| 欧美午夜视频免费观看| 国产激情视频一区区三区| 久久久久久久久9| 欧美爱国产综合、| 亚洲一级黄色毛片| 91P0RNY大屁股人妻| 97香蕉网| 人妻偷拍一区二区三区| 素人一区二区三区日韩| 国产精品久久99日日| 日韩无码精品综合久久| 精品一二三区久久AAA片| 亚洲乱色熟女一区| 日韩精品永久在线观看| 欧美色棕合| 天天干2019| 亚洲精品天天影视综合网| 嗯嗯嗯嗯啊啊啊好紧好大| 亚洲人成色9999精品久久 | 台湾成人无码AV| 91亚洲色图| 韩日色费| 在线看免费无码AV天堂的| 国产亲戚伦亲在线| 97色色色| 99抽插| 99精品丰满人妻| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 看看小穴| 亚洲美乱| 亚av顶级裸体一区二区三区四区五区 | 18禁的网站在线| 影音先锋视频在线| 亚洲五月丁香花狠狠干一区二区三区 | 天天色天天干天天射| 日韩乱伦视频| 日韩美脚一区二区网站| 欧美国产一区二区三区麻豆传媒| 青青草白白色| 亚洲色婷婷综合久久久久中文| 欧美色图片欧美色图| 99久久99久久免费精品蜜臀| 囯产乱伦一区二区三女| 久久久专区| 久射吧| 日韩91网站| 乱伦一二三区| 精品国产少妇高潮视频| 久久精品男人的天堂| 无套后入双马尾| 思思热国产在线视频| 97色色婷婷| 99xav| 91综合色| 色婷婷丁香五月| 9997se| 吖在线不卡一区二区国产剧情| 亚洲色图欧美色图日韩色图| 用力操死我| 视频二区美腿制服人妻欧美| 五月婷婷基地| 91亚洲综合在线| 国产精品青草综合久久| 久久久人妻| 久久精彩免费视频| 色噜噜国产精品视频一区二区| av黄图片在线观看| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 亚洲麻豆av一区二区| 丁香五月影院| 熟妇人妻丰满久久久久久久无码 | 天天日少妇逼AV| 2019亚洲男人天堂| 九九性视频| 97美日韩视频| 九九热男人天堂| 国产白丝av| 欧美高清性猛交| 黑人免费福利视频| 精品一区二区三区四区外站| 99精彩视频| 91丝袜视频在线观看| 亚洲精品一区中文字幕乱码| 国产精品福利资源在线尤物| 国产地址二三| 99精品网| 蜜乳AV一区二区三区四| 97精品一区二区视频在线观看| www久久国产精品| oumeisetupian| 精品日韩中文在线| 亚洲欧美激情小说| 国产白嫩精品久久| 亚洲欧洲精品视频发布| 亚洲色图 91| 色五月婷婷网| 操逼逼一区视频| 激情啪啪视频| 精品夜夜澡人妻无码| 国产一级舔足在线观看| 欧美最大综合网| 天天干天天干天天| 51一区二区三区| 麻豆成人AV| 1区2区3区中文字幕日韩| 白嫩国模丰满一二三区| 12一15性XXXX粉嫩国产| 亚洲91射| 欧美国产视频| 男人夜色天堂ss| 欧美1区二区三区公司| 欧美色图自拍| 精品十三区| 91日本在线观看| AV天堂国产| 欧美精品庄| 神马影院午夜福利久久久| 亚洲情色五月天| 3PAV乱伦视频| 99无码精品| 人妻美腿丝袜制服诱惑综合天堂-| JuliaAnn丝袜熟女系列| 日韩av一级黄片| 色综合美国| 床戏久久久av一区二区麻豆| 国产精品亚洲高清在线| 女一区二区| 国产精品操| 日韩精品 资源| 人妻天堂综合网| 伊人影院中文字幕| 色97| 中文字幕在线日亚州9| 激情综合色| 东京热精品97综合网| 99re3这里只有精品| 亚洲91极品| 狠狠操狠狠插| 久久久久精| 青青草日本无码| 高凊专区人人操| 日韩情色视频| 日韩免费人妻色情网站| 激情视屏国产乱伦强奸| 920日本午夜免费| 国产h片在线观看视频| 日韩成人精品| 午夜大香蕉| 五月婷亚洲精品天堂| 92性色国产午夜福利在线661| 99视频只有精品| 欧美另类色图片| 成片免费播放| 国产AAAAAABBBBB| 北条麻妃性愛视频| 99爱视频| av一区二区三区四区| 我中文字幕6区| 在线日韩视频| 人人操人人叉人人插人人| 亚洲高清综合网| 久久爽爽精品| 97久精品| 婷婷五月在线视频| 国产精品久久久久亚洲av| 亚洲精品99999| 亚洲日韩欧美一区二区| 密臀在线免费观看| 五月婷婷激情网| 乱伦av麻豆| 性夜影院爽黄A爽免费动漫| 欧美玖玖爱免费玖玖| 91九九九馒头| 99久久无色码| 久久久久久性爱视频| 性爱精品一区| 亚洲国产午夜真人一级片中文字幕精品黄网站| 熟女探花啪啪| 最新日本中文字幕| 欧美性暴力| 九九热精品视频六| 91热| 国产99热| 久久精品国产亚洲5555| 92一区二区| 亚洲狠| 精品夜夜澡人妻无码AV| 九久精品| ,成人免费啪啪视频| 亚洲第一精品在线视频| 亚洲AV无码AV吞精久久久久| 抽插无码高清一区| 综合影院亚洲| 男人干美女| 一区二区不卡| 国产夫妻性生活视频| 天天影视之亚洲综合网| 密臀在线一区尤物| 99国产精品视频尤物| 欧美日韩性爱无码| 黄色网址久久精品欧美喷水| 天天日天天射天天干| 97亚洲国产| 伊人加勒比| 欧美性生活男人的天堂| 中文字幕成人| 熟女网站最新| 97综合久久| 强奸乱伦动态污图免费 | 97国产高清视频在线观看| 久久少妇人妻| 亚洲黑丝在线| av东京热男人的天堂| 俺去也婷婷| 精品成人动漫一区二区| 欧美色图中文字幕| 日本三级R| 黄片免费日韩| 日本布卡一区二三区| 国产传媒日本欧美专区| 人人干人人操人人..com| 97亚洲欧美| 在线五区| 久久久久久91香蕉国产| 婷婷五月天基地| 凹凸视频在线观看伊人| 88xx成人精品视频| 777超碰| 大香蕉一人在线| 99啪啪视频| 97亚洲性爱| 农村妇女一级二级三级视频| 久草免费在线一区二区| 精品欧美А∨无码黑人大荫蒂| 噜噜噜无码AV一级一级久久影院| 91久久久久久久| 伊人久久久日韩一区| 精品国产嫩穴视频| 青青草九九九九九| 99热免费| 91天美免费| 91视频精品| 天美精品av| 伊人国产AV| 亚洲一区二区三区AV无码 | 午夜无码精品免费看性色| 国产欧美一区激情交| 婷婷另类小说| 亚洲国产成人精品女人久久久| 亚洲综合大片| 国产91av在线播放| 区一在线观看| 精品无码久久久久久久久果冻糖心| 日韩三级天堂在线观看| 欧美一区二区在线资源| 亚洲中文字母在线播放| 国产自制av蜜乳| 亚洲色交| 91精品网站| rion磁力链接| 伊人加勒比| 欧美高清91| 精品国产a∨一区天美传媒| 99热18这里只有精品| 色婷婷婷五月天激情四射| 麻豆人妻精品一区二区| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 大伊香蕉在线视频免费| 91精品女厕偷拍视频| 国产精品福利视频| 久操电影| 一区不卡在线观看av| 欧美18 在线观看| 久久黄色网址| 国产又粗又长视频| 无码av永久免费专区网站| 丁香五月性爱| 色嘟嘟人妻天堂网| 精品人妻一区二区三区夜夜| 超碰综合97在线| 久久九色| 六月丁香婷| 久久九操在线观看| 九九色精品| 中文字幕永久在线| 久久99操天天日| 色性综合| 嫩草伊人久久精品| 色制服丝袜夫妻av一区| av久日| 日韩综合色网| 久久日韩毛| 狠狠中文字幕| 久久透逼视频| 97视频网站在线观看| 在线岛| 久热大香蕉网站| 久久精品熟妇丰满人妻99| 亚洲AV成人在线| 日韩无码第3页| 五月丁香综合激情| 性色A∨91| 4141514逼喷水三级片| 国产亚洲禁久一区二区| 97免费在线观看视频| 欧美不卡在线一区二区| 午夜福利激情在线视频| 在线播放免费av福利片| 人妻熟妇久草在线| 大学生口爆吞精| 久艹99| 在线观看无码三级少妇| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 家庭乱伦麻豆| 91久久99久久91熟女精品| 一区二区三区一亚洲中文字幕、综合区灬| 色婷婷五月天| 久久亚洲AV无码专区国产精品| 亚洲无吗在线视频| 久久国产精品一区二区| 日产操逼| 性爱动态120秒| 免費黃色視頻觀看一| 久久激情视频| 91精品久久久久五月天精品| 淫荡网址| 欧美亚洲韩国视频十五区| 六月婷激情福利天堂69| 婷婷久久五月天| 99精品网| 加勒比aⅴ| 天美传媒精品久久视频| 亚洲天堂少妇| 成人综合网 欧美| 色性荡荡荡荡视频| 99爱久久视频频| 久久久精品国产亚洲伊人| 九九伊人网| 91丨九色丨43老版熟女| 五月激情啪啪| 艳美熟妇先锋一二三区| 久久99手机免费视频| 国产农村妇女精品一二区| 男人的天堂.com| 天天做天天爱天天爽AV| 丁香五月久久| 97超碰总站| 久久人妻| 免费1级a做爰片观看| 国产精品ⅴ无码大片在线看.| av在线浏览| 日本精品国产视频| 色偷偷综合91久久噜噜| 91日韩| 国产精品人妻无码久久久互動交流| 国产熟女| 九草九九九| 午夜精品久久久久久久久久久久久| 精品一区二区麻豆| 人人摸人人干| 日韩有码免费视频| 欧美成人免费在线观看| 亚洲自拍97| 无码久久亚洲高清,| 亚洲另类小说卡通动漫| 久操操| 伊人综合色网| 日本高清加勒比| 蜜臀久久99精品久久久久久酒店| 夜夜福利| 欧美激情 一区| 99精品国产户外露出| 色噜噜精品一区二区三| 长长久久88视频| 欧美日本天堂| 女生久久网| 无码WWW免费视频网站| 亚州精人品大香蕉| 一区二区播放| 人妻丰满熟妇一区二区三| 大香蕉啪啪网| 超碰伊人在线| 国产av又色又爽又黄| 91麻豆天美国产欧美日| 精品免费成人久久| 欧美丰满少妇xx高潮| 久操B网| 亚洲天天自拍| 精品人妻美妇91job| 久久国产精品熟女人妻| 熟妇高潮精品一区二区三区下载| 色狠狠综合| 97久久久精品| 在线中文字幕| 97激情97激情| 欧美Ⅴ性爱| 99色视频| 春色91| 欧美色综合影院| 亚热日本熟女| 八戒无码国产午夜福利| 嗯阿好爽好紧| 人人操人人色网| 大香交伊人网| 巨乳特殊服务按摩| 成人精品在线| 91亚洲黄色网| 九九激情网| 天天综合网视频91| 亚洲精品乱码久久久久久蜜桃麻豆| 五月丁香婷婷综合网| 亚洲人码13| 无码国产Av| 欧美 熟女 日韩| 亚洲色图尤物视频| 久久久久国产| 国产 亚洲 丝袜 制服| 欧洲与亚洲欧美精品中文字幕| 亚洲成人帖图| 中文字幕在线日亚洲9| 91插B网站| 日韩性爱高清免费视频| 国产精品一二三| 午夜免费福利视频一区| 久久久久久999| 五月天综合| 欧美成人性活片| 色综合中文字幕不卡| 亚洲欧美综合| 日韩精品第3页| 亚洲高清无码在线桃色| 人妻激情视频| 欧洲天天在线| 乱伦图av| 中文字幕乱妇免费视频| 天天综合精品| 国内偷自视频区视频综合| 亚洲Av噜噜一区二区三区妖精| 欧美日韩人妻精品系列一区二区三区| 秋霞网—男女啪啪亚洲免费体验区| 日本精品第一视频在'| 一本大道久| 日韩在线76| 超碰在线人妻中文字幕| 日韩精品影视| 资源在线观一 二| 一级@啪啪视频| 一本色道久久综合亚洲二区三区| 亚洲精品无码成人久久久99| 亚洲精品国产拍免费91在线| 午夜福利久久久噜久噜久久综合| 78精品| 婷婷日韩一区二区三区中文字幕在线| 欧美高清16| 欧美成人精品一区二区三区| 久久av成人无码免费| 天天操天天舔| 极品AV网站在线观看| 99久久久| 久久av一级av少妇av高潮| 久久久久99精品成人片蜜臀| 丝袜美腿校园春色| 91色碰| 婷婷中文网| 九九碰九九爱97超碰| 亚洲超碰综合网| 亚州操操穴网| 婷婷丁香六月| 极品尤物女神在线观看| 成人免费性爱视视| 欧美一区二区| 国产丸一视频| 婷婷五月天久久精品视频一区二区三区| 久久久久久久9| 成人精品视频| 大香蕉欧美伊| 日本超碰在线国产一区| 欧美日韩岛国大片在线观看| 91欧洲国产成人久久精品网站| 91东京热男人的天堂| 婷婷久久久精品| 国内操逼视频二区| 国产少妇与亚洲av| 婷婷中文字幕| 乱色视频中文字幕| 午夜福利免费精品视频| 无码久久国产| 国产一区二区三区高清视频| 天天伊人| 97免费视频在线| 超碰偷拍| 亚洲欧美内射| 日本黄色精品| 青青草一本道福利视频| 91美女高潮| 中文欧丝袜诱惑| 色综和网| 日本中文字幕一区| 亚洲精品一区二区免费在线观看| 激情综合五月| 国产黄色av大片网站| 18禁的网站在线| 久操网视频| 国产一进一出视频网站| 顶级丝袜熟女一区二区三区 | 亚州色阁| 久久久久9999精品九九九| 绑缚麻绳人妻寝取完整版| 天天摸天天插天天日| 又黄又爽在线观看视频 | 97爱欧美| 欧美天天综| 丰满人妻一区二区三区在线| 青娱乐 成人娱乐在线| 99re6国产精品99re在线| 国产一区96在线| 久无码| 久久久久久久久久久人妻| 天天综合在线4| 欧美日韩人人精品| 老熟女区| 天天爱综合网| 欧美综合1性辶| 97综合国产| 岛国黄片网站| 熟女字幕| 啊啊啊好爽快点啊啊啊嗯嗯| 超碰在线974| 久久久久网站-538在线视频-欧美永久乱码| 日本三级R| 人妻人人操| 国产女上位好爽在线| 亚洲淫乱骚妇AV| 夜夜免费视频| 男人午夜天堂| 一级黄色性爱A级片| 日本123区操B视频| 嗯嗯啊啊用力视频免费| 99在线啪| 欧美日本成人一区二区| 亚欧无码在线| 又黑又大又粗| 亚洲日韩东京热一区| 亚州欧美在线| 久久精品日韩| 男人的天堂亚洲| 东京热熟女亚洲视频网站| 久草精品在线| 亚洲精品国产专区在线观看| 色婷婷丁香五月天| 精品无码久久久久| 精品在线蜜臀| 天天色综亚洲91污| 欧美亚洲丝袜美女电影| AV中文字幕三四五| 女生久久网| 91麻豆天美| 午夜精品久久久久久久99蜜桃一| 中文字幕一区二区在线日韩精品| 秋霞网—男女啪啪亚洲免费体验区| 深夜福利黄片| 熟妇操花| 韩国国产欧美情侣视频在线| 中文字幕欧美丝袜07资源| 乱伦AVxx| 久久夜夜夜| 亚洲巨爆乳一区二区三区四季网| 天天射天天操天天干天天吃2018| 在线观看亚洲成人精品| 伊人五月天| 天天操熟妇| 欧美日产国产在线成人第一区| 国产欧美精选自拍一区| 丁香六月婷婷综合| 97视频在线观看网站| 另类小说综合网| 精品一区二区三区最新| 97欧美日韩| 婷婷综合激情| 女人香蕉久久毛毛片精品| 精品一区二区成人| 久久99精品国产| 婷婷在线视频在线观看| 欧美成不卡网| 搡老熟女免费视频| 韩日男人的天堂| dy888午夜老子影视达达兔| 久久怡红院| 欧美丝袜91| 五月婷婷久久综合| 另类图片五月天| 天天躁日日躁XXXXYY| 日产成人久久| 国产在线视视频有精品| 超碰97资源网亚洲| 午夜精品视频777| 2019男人的天堂| 91精品大奶人妻| 超碰色大香蕉| 亚洲成人av色网| 国产色图乱伦| 中文字幕88av在线| 777AV电影| 欧美大干日韩| 91超碰人人操| 久久久久久精| 操逼内射干逼白丝91| 樱花蜜乳av| 97视频新免费| 欧美日韩第一页| 97美日韩视频| 女一区二区| 国产不卡免费在线视频| 天天舔日美女视频| 1024久久高清视频| 91人妻最真实刺激绿帽| 神马九九九| 99热在线观看| 人人操人人插 - 百度 - 百度| 五月婷婷爱六月丁香色| 亚洲欧美伦综合| 97内射偷拍| 女人喷水视频在线观看| 欧美97av| 亚州色站 日韩电影| 操逼逼中文字幕| 国产sv美女内射| 日日夜夜骚| 欧美日韩岛国大片在线观看| 久久这里只有精品9| 亚洲第一页欧美| 99精品成人免费看| 色色毛片| 欧美丰满少妇交换91欧美精品| 国产人人干| 欧美很很操视频| 亚洲人成网站7777| 久久成人午夜狠狠| 精品女人999| 综合欧美激情网| 91无遮挡| 精品少妇一区二区| 97天天综合网| 99久久九九| Av手机版天堂网| 国产精品日日摸天天碰| A啊啊在线观看| 国产热RE99久久6国产精品首| yazhououmeizongya| 亚洲欧美性生活| 精品-91人妻子系列| 97资源视频| 夜夜爽夜夜高潮夜夜爽| 丝袜高跟澳门91视频| 国产av青草| www.色五月| 大色综合网| 久久受www免费人成| 亚洲丝袜诱惑| 国产91美女视频| 色悠久久久av| 亚洲激情天堂网| 麻豆AV一区二区| 色婷婷影院| 5月婷婷6月六月丁香| 中文字幕乱在线伦视频中文字幕乱码在线| 国产精品久久久久久久久久久久久久久久久久 | 久久超碰大香蕉| 亚州精品一区二区三区香中文字幕在线| 人人操人人摸超碰| 色97欧美| 成人草草视频| 亭亭在线资源| 亚洲人久久久网| 精品人妻一区二区乱码一区二区| 91强奸乱轮| 国产精品免费日韩| 日韩精品在线观看观看| 欧美精品久久久久久久丰满| 白嫩少妇| 秋霞色色影院| 亚洲精品九九九| 一本久道久久综合狠狠爱一密臀精| 91色综合激情| 97亚洲一区| 伊人大香蕉在线| 97 亚洲 日韩 欧美 在线| 老女人爆菊| 999日韩中文精品观看视频。| 精品人妻一区二区视频| 人人操人人摸人人看人人插| 黄色人人| 郑州宾馆老熟女露脸啪啪| 日本www操操操| 天天干天天操天天干天天操| 亚洲一区二区性爱电影| 亚洲精品视频在线播放| 激情开心五月天| 丝袜美腿欧美| 狠狠搞 亚洲91| 日韩丝袜高跟制服在线观看| 精品一区二区三区四区外站| 国产精品密臀网在线观看| 操91| 青青草综合在线| 久草成人| 最新国内自拍av免费| 国产女乱淫真高清免费视频| 无码少妇精品一区二区60岁老人| 岛国在线免费视频| 国产东北女人在线视频| 亚洲免费看片| 亚洲日本韩国在线| 九月丁香综合网| 蜜桃成人1区2区3区| 97久久天天综合色天天综合色电影| 久久久无码av精| 亚洲五区熟女| 五月天久久综合网| 亚洲精品蜜桃久久久| 熟妇女伦乱视频| а√天堂资源官网在线资源| 欧美日韩不卡a片| 国产精品视频精品一二| 欧美日韩国产中文精品字幕自在自线, | 欧美日韩人妻少妇 一区二区三区| 久操高青| 曰韩少妇无码| 精品78| 国产99精品一区二区三区免费| 亚州综合网| 美国人人操人人操| 欧美拳交在线播放| 人妻人妻天天碰| 久久97精品久久久久久久不卡| 精品丰满熟妇人妻一区| 少妇一区二区三区| 免费在线黄片视频| 少妇蜜汁| 婷婷20月天青娱乐| 免费一级精品啪啪视频| 视频二区美腿丝袜制服人妻欧美 | 精品999一区二区| 亚洲国产一区二区入口| 屌逼传媒| 9ⅰ久久久天天| 国产精品人妻一区二区| 狼人久草| 伊人色综合欧美| 欧美人妻少妇| 90后性网国产欧美| 欧美天堂超碰97| 一区二区中文| 婷婷五月色| 免费看国产大AB| 亚洲欧洲自拍图片专区满春格| 极品欧美一区二区三区| 开心激情婷婷| yazhouzaixian| 九月丁香婷婷色| 一区二区三区四区五区高清无码永久视频 | 3d成人精品一区二区| 蜜臀在线免费观看在线免费观看| 久久111| 91麻豆天美| 成人婷婷丁香| 国产激情在线| 综合欧美日本三级| 日产123区精品免费观看| 国产精品探花色| 欧美九九99久久精品| 9久精品| 99精品在线| 97伊人超碰| www…国产操逼| 国产熟码AV| 欧美极度丰满熟妇hd| 亚洲精品久久一区二区三区蜜桃臀| 成人无码欧美一级A片狼牙直播| 日韩大香蕉| 中文字幕黑人大片| 一区二区视频在看| 99免费视频| 久久尹人大香焦视| 色综合美国| 伊人天天久久动态图| 成 人 影视 一区 二区 三区 四区| 情色五月天网| 大香焦A片| 亚洲综合骚逼| 日韩精品视频在线观看一卡二卡| 中文字幕一区二区三区人妻少妇在线| 久久综合久色欧美综合狠狠| 377p欧洲日本亚洲大胆| 欧美国产操逼| WWW黄片COM| 精品人妻一区二区三区视频在线| 久久亚州精品成人Av无| 色婷婷淫色网| 亚洲天堂7777| 高精欧美色| 日韩在线视频1234| 中文字幕制服欧美久久一区| 久久婷婷电影网| 亚洲综合性网址| 日韩国产成人自拍视频| 欧美91网| 北京专精特新企业招聘信息| 激情五月综合开心五月| 秋霞鲁丝午夜无码一区二区三| 日韩少妇无码| 久草精品国产蜜臀 | 中文字幕免费看大片| 97人人夜| 欧洲Au麻豆| 免费亚洲黄色视频在线观看| 草B在线| 国产精品乱人伊人网| av在线观看不卡网站| 欧美综合网站999| 日韩美一区| 无码精品人妻一区二区三区妖精| 中文有码第五页| 福利在线观看一区二区| 青草一区二区| 91N综合在线| 一起草av| 99久久久无码精品国产人| 高清不卡 中文 人妻| 中文字幕一区 二区三四五 区日 日骚 | 大香蕉草草| 久久久久久九九九九-美女久久久久久久-成人AV | 欧美性生活免费网| 天天躁日日躁狠狠狠躁| 精品视频专区| 欧美激情综合色综合啪啪五月| 欧美色图小说综合| 男人下部插入女人下部| 激情久久久| 中国操逼无码| 91久热| 久久亚州高清| 亚洲色久| 日本一区二区三区四区免费观看| 超碰免费欧美7| 国模限制级电影| 极品色www影院| 最新日日夜夜天天干干| 97免费视频在线| 99国产精品自在自在| 中文字幕一区 二 区 三 四 五 区日 日 骚| 香蕉99秘 一区精品蜜桃臀| 60秒免费小视频| 九九天堂| 久久久无码国精品无码三区三区| 我要色综合网| 精品少妇一区二区| 亚洲日本天堂| 欧美亚洲美少妇一区二区| 国产青一二三| 亚洲五月丁香花狠狠干一区二区三区| 欧美天天综合网| 亚洲 日本 不卡| 五月天九九日国产精品一区二区三区| 日本午夜久久电影| 老熟女乱伦一区| 91亚洲综合在线| 91欧洲入口| 啊啊啊啊好疼视频| 久久亚洲人妻| 老熟女区| 黄色二级片网站| 狠狠狠一区二区三区| 五月婷丁香| 婷婷色在线| 五月天综合在线| 婷婷综合在线| 久久精彩视频| 国产精品色色| 一区二区激情国产熟女| 99热最新| 一二三区在线| 操少妇很爽av| 天天摸天天插天天日| 你操综合| 九九十八精品| 国产午夜视频| 久久99草| 狠狠躁天天躁日日躁97| 国产精品乱码久久久久久| 老女人91| 蜜臀网址在线| 久久女人| 国产精品人妻无码久久久老鸭窝| 东京热99999| 呻吟 欧美 日本 中出| 精品久久久久成人码免| 国产综合久| 日韩色| 人妻色偷色噜| 天天操夜夜操狠很操| 成人 日本A片无码8888| 特级丰满少妇一级AAAA爱毛片| 久操精品| 精品国产三级av韩国在线 | 情色AV电影| 台湾佬激情综合| 天堂麻豆天美| 精品一区二区久久| 亚洲情色 欧美| 亚洲无码 国产无码| 国产中文字幕在线点播| 国产AV无码AV| 中文字幕在线观看丝袜| 天美一二三在线观看Av| 日韩大香蕉精品在线视频| 激情综合 婷婷五月 红杏| 亚洲一区二区在线观看91| 91丨豆花丨熟女| 三级三久久线久久99久目本WW| 人人操人人大香蕉| 大香蕉亚洲中文| 嫩草伊人久久精品| 日韩97视频| 九九九久久久| 亚洲午夜福利在线影院| 欧美午夜精品久久久久久3D| 麻豆 亚洲 97| 国产精品久久久久久久久久久久久久| 亚洲蜜臀精品视频久久| 啊啊啊好想要| 亚洲精品xxx| 国产亚洲人妻综合日韩 久久| 麻豆久久久一区二区| 婷婷丁香一区二区三区| 91热| av最新免费中文字幕| 欧美亚洲日韩人妻在线观看| 在线视频一区二区传媒| 大香蕉视频啪啪啪啪| 国产一区二区三区免费视频在性观看 | 婷婷五月天av| 成人天天看站长推荐| 国产999精品久久久| 久久黄色性爱视频| 中文高清一区二区的| 亚洲人精品午夜不卡| 欧美福利视频啊啊啊啊| 国产一区二区三区精品观看啪| 丁香五月天堂| 九七毛片九九毛片| 超碰97人妻免费在线| 超碰99在线观看| 天美传媒av一区二区| a片自拍直播视频| 欧美日韩性爱精品| 天天干人妻| 桃花色综合影院| 殴美牲| 日韩大香蕉AV影片| 国产综合永久精品日韩鬼片| 久久久性爱视频| 亚洲天堂男人| 99热成人| 欧美精品激情| 日本黄 R色 成 人网站| 超碰无码五月97| 7777奇米影视久久| 男人的天堂在线2| 天天综合~91| 熟女性视频| 97超碰9| 99热综合| 91白嫩| 91操碰| 欧美图片校园春色| 国产91久久九九免费精品无码| 天天看天天日天天操| 无码国产Av| 男人的天堂一区三区| 日韩黄色成人性爱| 国产伦精品一区二区三区在线观| 久久婷综合| 精品人妻一区二区三区蜜桃视频| 91老熟女| 色色色色色色色色色色色色色色综合 | 大香蕉伊人色偷偷在线| 欧美日韩狠狠爱| 99操逼| 精品人妻一区二区三区视频在线| 中文字幕人成乱码熟女香港| 91N五十路| 亚洲伊人久久综合97| 嗯……啊…嗯嗯…啊…好舒服| 97超碰精品成| 亚洲高清无码AAA久久久精品| 久久啊哟| 亚洲AV成人精品网站在AV| 国产92麻豆天美精品色欲5| av国产无码| 色眯眯av| 国产女性无套 免费观看| 青青草字幕AV| hd成人一区二区在线| 天天爽入口| 激情五月天丁香| 日日爱99| 欧美精品 - 91爱爱| 粉嫩av久久一区二区三区| 黑人与人妻| 5278欧美一区二区三区| 亚洲图片欧美偷拍| 97干日韩| 麻花豆传媒剧国产MV出差| 91路www| 亚洲国产高清福利视频| 亚洲黄色电影| 免费的av网| 中日韩久久久| 亚洲精品九九九九九九| 天美国产精品| 无套内射人妻在线播放| 夜夜骑日日| 草b在线| 亚洲古典另类欧美在线| 在线天堂资源亚洲| 91欧美成人色站| 欧美性爱伊人| 日韩欧无码一区二区三区免费不卡 | 中文字幕日韩人妻视频一区二区三区 | 1024久久高清视频| 一级片在线观看高清无码| av橘色网站| 精品久久久久黄少妇| 国产懂色精品国产av| 日本精品999| 热久久无毒不卡| 亚洲熟妇图片| 久久一区二区三区入口| 日韩肏逼视频| 97超碰精品成| 在线啊啊啊啊| 在线观看av区| 国产精品高清2021在线| 97色欧洲| 熟女高潮合集-永久久久-成人AV| 91精品国产日韩欧美综合| 熟妇人妻丰满久久久久久久无码| 久久婷色| 日韩操逼HD| 亚洲激情综合另类| 天天影视之亚洲综合网| 熟妇熟女一区二三区| 99精品久久久久久久婷婷蜜桃| 精品国产a∨一区天美传媒| 色婷婷婷五月天激情四射| 五月天婷婷久久| 亚洲国产麻豆一区二区三区| 91精品国产91久久青草| 超碰九九| 中字一区| 日韩丝袜高跟制服在线观看| 色综合美国| 五月婷婷无码| 熟妇操花| www.久久最新地址| 欧美区亚洲区偷拍区| 69精品| 人人妻人人爽| 啊啊啊轻点在线观看| 日韩丝袜高跟制服在线观看| 国产精品久久久久绯色| 色性综合| 婷婷五月天激情网| 免费看日产一区二区三区| 操逼国产免费| 高清国产性猛交xxxx乱大交| 美女天天干| 久久永久无码人妻视频| 五十路三区在线| 97资源亚洲| 78精品| 狼人狠干| 精品国产乱子伦一区二区三区,精品一| 久久久久密| 天天色悠悠激情| 爱爱动态120秒| 色五月婷婷久久| 六月天婷婷| 亚洲少妇色| 69超碰综合| 天天综合AV| 亚州成人a∨| 狠狠搞 亚洲91| 久久久久久91香蕉国产| 青青草中文-久久青草精品一区二区三| 亚欧性爱ab| 久久精品毛片免费不卡| 日韩无码a片| 男女激情黄色网址| 精品v日韩欧美国产| 殴美在线AⅤ| 人人天天干干| 五月婷婷综合网| 久久久艹艹艹| 9超碰免费|