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

ARTICLE DETAIL

資訊詳情

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

Spring Boot藥店管理系統(tǒng)實戰(zhàn):進銷存設(shè)計、數(shù)據(jù)庫與核心實現(xiàn)

Spring Boot藥店管理系統(tǒng)實戰(zhàn):進銷存設(shè)計、數(shù)據(jù)庫與核心實現(xiàn) 簡介本資源是一套面向計算機專業(yè)本科生的課程設(shè)計與畢業(yè)設(shè)計實踐項目聚焦基于SpringBoot的Java Web藥店管理系統(tǒng)開發(fā)適用于Java后端初學(xué)者鞏固Web開發(fā)全流程能力。壓縮包共包含多個核心文件涵蓋可直接運行的完整源碼、數(shù)據(jù)庫初始化腳本db.sql、開題報告與論文文檔LW、系統(tǒng)說明文檔等類型涉及Java工程代碼、SQL腳本、Word技術(shù)文檔及純文本操作指南整體大小為15.96MB。已有67人下載學(xué)習(xí)體現(xiàn)了其在教學(xué)實踐場景中的實用價值。讀者可獲得從需求分析、SpringBootMyBatis/Security技術(shù)選型、前后端交互實現(xiàn)到庫存管理、訂單處理、用戶權(quán)限控制等真實業(yè)務(wù)模塊的完整參考所有代碼經(jīng)驗證可本地一鍵運行配套文檔清晰說明環(huán)境配置與啟動步驟極大降低上手門檻是理解企業(yè)級Java Web系統(tǒng)架構(gòu)與開發(fā)規(guī)范的優(yōu)質(zhì)入門范例。 這幾年幫人看課設(shè)畢設(shè)項目Spring Boot Java Web 方向的藥店管理系統(tǒng)幾乎是每個學(xué)期都會遇到的高頻題目。這個題一聽很普通但每個人拿到的需求差別其實很大有的只要求最基礎(chǔ)的增刪改查有的要求帶上完整的進銷存、庫存預(yù)警、效期提醒還有的把會員積分、統(tǒng)計報表和 Excel 導(dǎo)出全部算進去。我在這類項目上前前后后迭代過好幾版也踩了不少坑今天就把完整的設(shè)計思路、技術(shù)選型、數(shù)據(jù)庫表結(jié)構(gòu)、核心業(yè)務(wù)實現(xiàn)以及交付時源碼和 LW論文/設(shè)計文檔怎么組織一次性講清楚。如果你正在做這個題或者想深入理解一個進銷存系統(tǒng)的完整鏈路這篇內(nèi)容可以直接拿來當(dāng)參考。1. 為什么選藥店管理系統(tǒng)從課題價值到答辯風(fēng)險都替你算了一遍1.1 藥店管理系統(tǒng)到底在解決什么問題藥店日常經(jīng)營里最煩的不是賣藥而是庫存對不上。今天入庫了一批感冒藥前臺賣了幾盒有人在盤點時又發(fā)現(xiàn)幾盒過期了如果靠 Excel 登記很容易漏記、錯記。藥品的效期、批次、供應(yīng)商批次對賬、會員積分全是細節(jié)。藥店管理系統(tǒng)本質(zhì)是一個進銷存系統(tǒng)核心是管理藥品從“采購”到“入庫”到“銷售出庫”再到“庫存盤點”的完整生命周期。除此之外還牽扯到供應(yīng)商資料、會員檔案、價格管理、臨期藥品提醒和經(jīng)營數(shù)據(jù)統(tǒng)計。把這些業(yè)務(wù)搬到線上讓每一次入庫、銷售都有據(jù)可查庫存數(shù)量所有角色看到的是一致的這就是系統(tǒng)最基礎(chǔ)的價值。1.2 為什么這個題在課設(shè)畢設(shè)里性價比高一個適合做課設(shè)/畢設(shè)的題目要滿足三點需求清晰、技術(shù)復(fù)雜度適中、有足夠的擴展空間。藥店管理系統(tǒng)恰好三點都占。第一需求清晰。進銷存是管理信息系統(tǒng)里的經(jīng)典業(yè)務(wù)模型每個老師都能理解描述起來不需要太多額外背景。第二業(yè)務(wù)關(guān)系豐富。雖然體量不大但涉及用戶、藥品、供應(yīng)商、采購單、銷售單、庫存流水、會員等實體一對多、多對多關(guān)系都有數(shù)據(jù)庫設(shè)計部分可以有內(nèi)容。第三擴展空間大。你可以在基礎(chǔ)功能上疊加近效期提醒、庫存預(yù)警、銷售趨勢分析、會員積分、導(dǎo)出報表甚至對接微信小程序隨便挑一個都能寫成亮點。這題比純論壇系統(tǒng)、純博客系統(tǒng)更容易體現(xiàn)工程化思維也是一個比較穩(wěn)妥的選擇。1.3 答辯老師最愛問的幾個問題要先想好這個題被問到的概率最高的三個問題提前準(zhǔn)備一下答辯基本不會冷場。第一個藥品效期是怎么管理的你的答案要點是藥品表里有 expiry_date 字段查詢時用 SQL 把當(dāng)前日期到到期日之間不足 90 天的記錄篩出來列表里用顏色標(biāo)記銷售時還可以做二次校驗。第二個庫存和銷售數(shù)據(jù)的一致性怎么保證答案是事務(wù)。每次扣減庫存和生成銷售記錄放在同一個事務(wù)里任何一步失敗就整體回滾同時用庫存流水表記錄每次變動隨時可以追溯。第三個為什么用 Spring Boot 而不是傳統(tǒng)的 SSH 或 SSM答案要點是 Spring Boot 基于 Spring Boot 生態(tài)內(nèi)嵌 Tomcat不需要額外部署外部容器配置簡化適合快速迭代而且已經(jīng)成為 Java Web 開發(fā)的主流選擇。把這三個問題答順了答辯老師就會覺得你確實做過項目而不只是把 PPT 背了一遍。2. 需求拆解先別急著寫代碼把角色和流程理清楚2.1 角色劃分不同人看到的界面和功能不一樣藥店管理系統(tǒng)不是一個所有人都能操作所有功能的系統(tǒng)。最常見的角色有三種。系統(tǒng)管理員負責(zé)系統(tǒng)基礎(chǔ)配置包括用戶管理、藥品字典維護、供應(yīng)商審核、數(shù)據(jù)統(tǒng)計和日志查看。店員的日常操作是前臺售藥、退藥、會員登記以及查看自己的銷售記錄。采購員負責(zé)供應(yīng)商管理、采購單創(chuàng)建和到貨入庫。如果系統(tǒng)做得再細一點還可以增加一個店長角色能看門店的經(jīng)營報表和利潤分析但不能修改基礎(chǔ)數(shù)據(jù)。角色的意義不只是菜單顯示不同更重要的是后端接口要有對應(yīng)的權(quán)限控制。比如店員界面不應(yīng)該出現(xiàn)進貨價和利潤統(tǒng)計哪怕是接口被猜到也要能攔截下來否則做權(quán)限管理就沒有意義。2.2 功能模塊清單先畫清楚再開發(fā)在動手寫代碼之前我會先列一張功能模塊表把每個模塊的功能點和說明寫清楚。這張表既可以指導(dǎo)開發(fā)后面寫 LW 文檔時也能直接復(fù)用。模塊功能點說明藥品管理藥品增刪改查、藥品分類、近效期篩選藥品編碼唯一名稱、規(guī)格、廠家、批準(zhǔn)文號必填庫存管理入庫、銷售出庫、盤點、庫存預(yù)警、流水查詢所有庫存變動必須寫流水可追溯采購管理采購單登記、審核、到貨入庫一張采購單可以包含多個藥品銷售管理前臺售藥、銷售單查詢、退貨銷售時實時校驗庫存和效期供應(yīng)商管理供應(yīng)商增刪改查包含聯(lián)系人、電話、地址、合作狀態(tài)會員管理會員發(fā)卡、積分管理、消費記錄會員按手機號唯一標(biāo)識系統(tǒng)管理用戶管理、角色管理、操作日志管理員專用控制權(quán)限統(tǒng)計報表日/月銷售統(tǒng)計、低庫存、近效期、導(dǎo)出給店長和管理員看經(jīng)營數(shù)據(jù)2.3 核心業(yè)務(wù)流程采購入庫和前臺銷售是兩條主線整個系統(tǒng)最核心的兩條業(yè)務(wù)鏈路一條是“采購入庫”另一條是“前臺銷售”。采購入庫的流程是采購員選擇供應(yīng)商和藥品生成采購單藥品到貨后核對數(shù)量提交入庫系統(tǒng)自動增加對應(yīng)藥品的庫存同時寫一條入庫類型的庫存流水記錄本次變動前后數(shù)量。前臺銷售的流程是收銀員把顧客需要的藥品逐一加入銷售列表確認數(shù)量后收款提交系統(tǒng)校驗庫存和效期通過后扣減庫存、寫銷售流水、生成銷售主單和銷售明細單。如果顧客是會員還要同步累加積分。這兩條鏈路幾乎涵蓋了系統(tǒng)所有核心邏輯。代碼實現(xiàn)時先把這兩條流程跑通其他模塊基本都是在這兩條鏈路外圍做增刪改查。2.4 非功能性需求校驗、權(quán)限和日志課設(shè)系統(tǒng)同學(xué)容易忽略非功能性需求但答辯加分往往靠這些點。后端入?yún)⒁鲂r灡热鐜齑鏀?shù)量不能為負數(shù)、銷售數(shù)量不能大于庫存、藥品編碼不能重復(fù)。普通店員不能訪問成本價和利潤相關(guān)接口這個必須做。藥品改價、盤庫存這類操作要記錄操作人和操作時間方便追溯。3. 技術(shù)選型Spring Boot Java Web 的方案怎么定才穩(wěn)3.1 為什么 Spring Boot 成了課設(shè)“標(biāo)準(zhǔn)答案”以前做 Java Web 課設(shè)最常寫的是 SSM 整合就是在 Spring Spring MVC MyBatis 的基礎(chǔ)上手動配一堆 XML 文件。Spring 的 applicationContext.xml、Spring MVC 的 dispatcher-servlet.xml、MyBatis 的 mybatis-config.xml哪個配置寫錯一點項目啟動就會直接報錯對新手極其不友好。Spring Boot 帶來的最大改變是“約定大于配置”。它不僅把 SSM 的整合過程自動完成還內(nèi)嵌了 Tomcat開發(fā)時直接啟動 main 方法就能看到效果部署時一個 java -jar 命令就能跑。課設(shè)演示的時候再也不用先裝 Tomcat、改 server.xml、把 war 包手動拷進 webapps體驗上的提升非常明顯。從技術(shù)本質(zhì)上說Spring Boot 仍然是 Java Web 技術(shù)棧底層還是 Spring MVC只不過把繁瑣的配置收進去了。在論文里寫“基于 Spring Boot 的 Java Web 系統(tǒng)”完全站得住腳。3.2 ORM 選 MyBatis-Plus單表不用寫 SQL復(fù)雜查詢又留得住持久層框架推薦 MyBatis-Plus理由非常簡單單表的增刪改查可以直接繼承 BaseMapper自帶 selectById、insert、updateById 等方法連 SQL 都不用寫。分頁查詢有官方分頁插件邏輯刪除和字段自動填充都能配置。更重要的是MyBatis-Plus 沒有把自定義 SQL 的能力封死。統(tǒng)計報表、庫存預(yù)警這類需要多表聯(lián)查的復(fù)雜 SQL仍然可以寫在 Mapper XML 里由自己控制。這一點對課設(shè)項目很關(guān)鍵因為很多高價值的模塊恰好是那些手寫 SQL 的地方。3.3 前端方案Thymeleaf Bootstrap 優(yōu)先Vue 按需選擇前端有兩種主流方案。第一種是服務(wù)端渲染Spring Boot Thymeleaf Bootstrap。頁面由 Controller 直接返回Thymeleaf 模板負責(zé)渲染數(shù)據(jù)Bootstrap 負責(zé)樣式。優(yōu)點是工程結(jié)構(gòu)簡單不需要 Node.js 環(huán)境啟動后端就能看到一個完整的管理后臺特別適合單人開發(fā)。缺點是頁面交互比較傳統(tǒng)要實現(xiàn)復(fù)雜的前端效果會比較吃力。第二種是前后端分離Spring Boot 提供 REST API前端用 Vue3 Element Plus 搭后臺。界面確實更現(xiàn)代但這意味著你要同時維護兩套工程還要處理跨域、Token 鑒權(quán)、構(gòu)建環(huán)境等問題。如果對 Node 和 Vue 不熟答辯現(xiàn)場很容易被環(huán)境問題卡住。我的建議課設(shè)項目優(yōu)先選 Thymeleaf Bootstrap穩(wěn)定不翻車。如果你確實想讓系統(tǒng)看起來有亮點可以做一個 Vue 管理頁作為擴展但至少保證后端 API 能用 Postman 完整演示這樣即使前端出問題也有補救空間。3.4 環(huán)境版本搭配別為了新版犧牲穩(wěn)定性我見過很多項目用最新的 Spring Boot 3.x結(jié)果 JDK 版本不夠直接啟動失敗最后又回退。給你一個我長期在用的穩(wěn)定組合組件推薦版本備注JDK1.8 或 11學(xué)校電腦兼容性最好不要用 17Spring Boot2.7.x功能穩(wěn)定資料多MyBatis-Plus3.5.x3.5 以后對 Boot2 支持良好MySQL5.7 或 8.0兩者都可以8.0 注意驅(qū)動差異Maven3.6配合 IDEA 使用IDEA2022.3社區(qū)版也夠用數(shù)據(jù)庫驅(qū)動如果用的是 MySQL 8.0記得在連接串里加 serverTimezoneAsia/Shanghai否則很容易踩時區(qū)問題。3.5 再說一下“LW”和源碼壓縮包的事標(biāo)題里的 LW 在課設(shè)圈里一般指“論文”或“設(shè)計文檔”也就是除了源碼之外還要交付的文檔材料。一個完整的課程設(shè)計/畢業(yè)設(shè)計交付物通常包含源碼、數(shù)據(jù)庫腳本、LW 文檔、演示視頻壓縮包命名里帶上日期或者版本號。源碼可運行是底線文檔規(guī)范是加分項兩個都不能忽視。4. 數(shù)據(jù)庫設(shè)計這幾張表是怎么一步步定下來的4.1 藥品表藥店系統(tǒng)的心臟藥品表是整個系統(tǒng)最重要的表字段需要認真設(shè)計。我用的核心字段如下字段說明id主鍵自增drug_code藥品編碼唯一索引common_name通用名比如“阿莫西林膠囊”trade_name商品名比如“再林”specification規(guī)格比如“0.25g*24?!眜nit單位盒/瓶/袋manufacturer生產(chǎn)廠家approval_number批準(zhǔn)文號國藥準(zhǔn)字purchase_price進貨價DECIMAL(10,2)sale_price零售價DECIMAL(10,2)stock_quantity當(dāng)前庫存數(shù)量stock_lower_limit庫存下限低于這個值預(yù)警stock_upper_limit庫存上限expiry_date有效期至category_id藥品分類deleted邏輯刪除標(biāo)記進貨價和零售價必須分開字段因為這兩個價格的可見人群不同。進貨價用于成本核算由管理員維護店員界面不展示。批準(zhǔn)文號字段在答辯時能體現(xiàn)你對藥品行業(yè)的理解千萬別丟掉。4.2 用戶、角色、供應(yīng)商表用戶表 userid、username、password、real_name、phone、role_id、status。密碼不能存明文用 BCrypt 加密。角色表 roleid、role_name、role_key、description。管理員角色 key 是 admin店員是 clerk采購員是 purchaser。用戶直接掛 role_id不需要把權(quán)限系統(tǒng)做太復(fù)雜但角色要存在數(shù)據(jù)庫里不能寫死在代碼里。供應(yīng)商表 supplierid、supplier_name、contact_person、phone、address、status、remark。采購入庫時必須關(guān)聯(lián)供應(yīng)商保證采購數(shù)據(jù)能夠?qū)~。4.3 采購主單和采購明細為什么要拆兩張表采購單設(shè)計成主單 明細兩張表這是課設(shè)里非常值得講的部分。采購主表 purchase_orderid、order_no、supplier_id、total_amount、status待入庫/已入庫/已取消、create_time、create_by。采購明細表 purchase_order_itemid、order_id、drug_id、quantity、purchase_price、subtotal。為什么不把采購信息全部塞到一張表里因為一張采購單可能包含 5 種甚至 20 種藥品如果都放在一行同一張單的藥品會被拆成多行數(shù)據(jù)里就會大量重復(fù)單號查詢單據(jù)時還要處理重復(fù)。主單管理訂單整體信息明細管理每個藥品的條目一次采購單生成多條明細邊界非常清晰。后續(xù)做供應(yīng)商對賬、進貨總額統(tǒng)計都能直接通過 order_id 關(guān)聯(lián)查詢。4.4 銷售主單和銷售明細訂單模型的常見設(shè)計銷售表和采購表結(jié)構(gòu)類似。銷售主表 sale_orderid、order_no、member_id、total_amount、pay_type現(xiàn)金/微信/支付寶、status、create_time、create_by。銷售明細表 sale_order_itemid、order_id、drug_id、quantity、sale_price、subtotal。這里要注意的是 member_id 允許為空因為非會員顧客也可以買藥。如果做退貨業(yè)務(wù)可以在主單上加 status 字段區(qū)分正常和退貨退貨時重新生成一條負數(shù)的庫存流水表示庫存回補。4.5 庫存流水表整個系統(tǒng)的賬本庫存流水表 stock_record 是容易被忽略但很關(guān)鍵的一張表。字段包括id、drug_id、change_type1 入庫、2 銷售扣減、3 報損、4 盤點調(diào)整、change_quantity正數(shù)增加負數(shù)減少、before_quantity、after_quantity、biz_no關(guān)聯(lián)的采購單號或銷售單號、create_time、create_by。有了這張表你可以隨時回答“某盒藥到底什么時候進的、什么時候賣的、賣給了哪筆單子”這些問題。沒有流水?dāng)?shù)據(jù)庫里只剩一個當(dāng)前庫存數(shù)字連對賬都做不了。這也是答辯時一個可靠的亮點拿出庫存流水的時候老師會覺得你不是在寫玩具。4.6 會員表和用戶表分開會員表 memberid、card_no、name、phone、points、create_time。會員是藥店面向消費者的客戶檔案用戶表是操作系統(tǒng)的人兩個模型必須分開。會員等級和積分可以先用一個字段存點數(shù)后續(xù)要擴展等級再加一個 level 字段就行。4.7 表設(shè)計的一些取舍外鍵字段邏輯關(guān)聯(lián)保留但不要在大表之間強制建物理外鍵約束。課設(shè)階段測試數(shù)據(jù)非常頻繁物理外鍵容易導(dǎo)致刪除失敗、導(dǎo)入順序報錯。邏輯外鍵的意思是在代碼和 SQL 中通過 JOIN 來保證關(guān)系由業(yè)務(wù)層控制完整性不依賴數(shù)據(jù)庫約束。金額字段一律用 DECIMAL(10,2)不要用 DOUBLE 或 FLOAT浮點數(shù)在計算金額時會有精度損失。所有業(yè)務(wù)表都加 deleted 字段實現(xiàn)邏輯刪除這是 MyBatis-Plus 的標(biāo)配也方便論文里寫“系統(tǒng)支持數(shù)據(jù)恢復(fù)”。5. 從零搭建項目把 Spring Boot 項目骨架搭起來5.1 創(chuàng)建項目和引入依賴打開 IDEANew Project 選擇 Spring InitializrJava 版本選 8依賴先勾選 Spring Web、MySQL Driver、Validation、Thymeleaf。生成之后在 pom.xml 里手動加 MyBatis-Plus 和 Lombok。pom.xml 核心依賴長這樣dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-boot-starter/artifactId version3.5.3.1/version /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-thymeleaf/artifactId /dependency dependency groupIdcom.mysql/groupId artifactIdmysql-connector-j/artifactId scoperuntime/scope /dependency dependency groupIdorg.projectlombok/groupId artifactIdlombok/artifactId optionaltrue/optional /dependency5.2 application.yml 配置配置文件是最容易出錯的位置尤其是數(shù)據(jù)庫連接串。server: port: 8080 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/pharmacy?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai username: root password: 123456 thymeleaf: cache: false mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl map-underscore-to-camel-case: true global-config: db-config: logic-delete-field: deleted logic-delete-value: 1 logic-not-delete-value: 0這里要重點說一下 map-underscore-to-camel-case 的作用。數(shù)據(jù)庫字段一般是 create_time 下劃線風(fēng)格Java 實體類是 createTime 駝峰風(fēng)格這個配置打開之后 MyBatis 會自動完成映射不用手寫 resultMap。邏輯刪除配置則保證調(diào)用 deleteById 時執(zhí)行的是 UPDATE deleted 1 而不是物理刪除。5.3 分包結(jié)構(gòu)一眼能看懂的工程我習(xí)慣用下面這個結(jié)構(gòu)com.example.pharmacy ├── config ├── controller ├── entity ├── mapper ├── service ├── service.impl ├── dto ├── vo └── commoncontroller 放接口入口service 放業(yè)務(wù)邏輯mapper 放數(shù)據(jù)庫訪問entity 放表映射實體common 放統(tǒng)一返回結(jié)果和異常處理。不要把業(yè)務(wù)邏輯堆在 controller 里否則 Service 層沒有內(nèi)容論文里寫“業(yè)務(wù)層設(shè)計”會非常虛。5.4 統(tǒng)一返回結(jié)果和全局異常處理前端頁面或者接口調(diào)用方如果每次接收的數(shù)據(jù)結(jié)構(gòu)都不一樣聯(lián)調(diào)就是災(zāi)難。定義一個 Result 類全系統(tǒng)統(tǒng)一返回格式public class ResultT { private Integer code; private String message; private T data; public static T ResultT success(T data) { ResultT r new Result(); r.code 200; r.message ok; r.data data; return r; } public static T ResultT error(String message) { ResultT r new Result(); r.code 500; r.message message; return r; } }全局異常處理用 RestControllerAdvice 統(tǒng)一捕獲業(yè)務(wù)異常和未知異常避免把異常堆棧直接返回給前端。課設(shè)里的前端頁面如果直接暴露異常堆棧觀感很差而且有信息泄露風(fēng)險。5.5 一個完整的藥品分頁查詢接口示例ControllerGetMapping(/drug/page) public ResultIPageDrug page(RequestParam(defaultValue 1) int page, RequestParam(defaultValue 10) int size, RequestParam(required false) String keyword) { return Result.success(drugService.pageQuery(page, size, keyword)); }Service 實現(xiàn)public IPageDrug pageQuery(int page, int size, String keyword) { PageDrug p new Page(page, size); LambdaQueryWrapperDrug wrapper Wrappers.lambdaQuery(); if (StringUtils.hasText(keyword)) { wrapper.like(Drug::getCommonName, keyword) .or().like(Drug::getTradeName, keyword); } return drugMapper.selectPage(p, wrapper); }這個接口同時支持分頁和關(guān)鍵字模糊搜索可以覆蓋藥品列表頁的全部需求。注意分頁插件需要在配置類里注冊 MybatisPlusInterceptor加上 PaginationInnerInterceptor否則 selectPage 只能查出所有數(shù)據(jù)分頁不生效。6. 庫存與銷售課設(shè)里最值得寫進論文的核心實現(xiàn)6.1 入庫操作為什么必須放在同一個事務(wù)里采購入庫涉及三步保存采購主單、更新藥品庫存、寫庫存流水。任何一個環(huán)節(jié)失敗都會造成庫存數(shù)據(jù)不一致。舉個例子如果保存采購單成功但更新庫存時報錯數(shù)據(jù)庫里就會有一個“已入庫”狀態(tài)的采購單實際藥品數(shù)量卻沒有增加。再比如庫存已經(jīng)更新了但流水沒寫成將來對賬時完全說不清這個庫存是怎么來的。解決辦法是在 Service 方法上加 Transactional(rollbackFor Exception.class)讓三個操作要么全部成功要么全部回滾。事務(wù)是數(shù)據(jù)庫保證一致性的基礎(chǔ)也是答辯時必講的技術(shù)點。核心邏輯可以寫成這樣Transactional(rollbackFor Exception.class) public void purchaseStock(PurchaseOrder order, ListPurchaseOrderItem items) { purchaseOrderMapper.insert(order); for (PurchaseOrderItem item : items) { Drug drug drugMapper.selectById(item.getDrugId()); Integer before drug.getStockQuantity(); drug.setStockQuantity(before item.getQuantity()); drugMapper.updateById(drug); stockRecordMapper.insert(new StockRecord( item.getDrugId(), 1, item.getQuantity(), before, drug.getStockQuantity(), order.getOrderNo() )); } }6.2 銷售扣庫存并發(fā)情況下怎么避免超賣銷售最容易出的問題是并發(fā)扣庫存。如果兩個收銀員同時賣出同一盒藥庫存就剩 1 盒系統(tǒng)讀到兩個“庫存為 1”各自都執(zhí)行減 1最后庫存變成 -1實際卻賣出了 2 盒。解決思路是讓扣庫存的操作變成原子性的并且只有條件滿足時才執(zhí)行。比較常用的方式是樂觀鎖在 drug 表加一個 version 字段扣庫存時使用帶條件的 updateUPDATE drug SET stock_quantity stock_quantity - #{quantity}, version version 1 WHERE id #{drugId} AND stock_quantity #{quantity} AND version #{version}如果 update 返回的影響行數(shù)為 0說明庫存不足或者版本號已變化業(yè)務(wù)層立刻拋出“庫存不足或操作沖突”提示收銀員刷新重試。這種方式在課設(shè)項目里已經(jīng)足夠可靠而且代碼量很小。6.3 庫存流水before 和 after 的妙用庫存流水的 before_quantity 和 after_quantity 字段初看是冗余的因為通過當(dāng)前庫存反推也能算出來。實際用起來會發(fā)現(xiàn)這對字段在數(shù)據(jù)核對時非常有用。比如某天盤點發(fā)現(xiàn)庫存少了 3 盒如果有流水可以按時間把每筆變動列出來快速定位是哪筆操作出了問題。如果沒有流水就只能憑記憶找原因。把 before 和 after 帶上之后流水本身就是一條完整的審計鏈。寫入順序要注意先更新 drug 表的庫存再插入 stock_record流水里的 after_quantity 必須等于更新后的最新庫存。這兩個操作必須在同一個事務(wù)里否則會出現(xiàn)“流水寫了但庫存沒更新”的情況。6.4 近效期提醒用 SQL 把快過期藥品篩出來藥品效期是藥店業(yè)務(wù)里的剛需。查詢 90 天內(nèi)即將到期的藥品SELECT * FROM drug WHERE expiry_date BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 90 DAY) AND deleted 0 ORDER BY expiry_date ASC這條 SQL 可以直接用在藥品列表頁的“近效期”Tab 中。更完整一點的做法是在銷售時增加效期校驗如果藥品距離到期日不足 30 天前端彈窗提示收銀員確認后二次放行。6.5 庫存預(yù)警低于下限自動提醒庫存預(yù)警的 SQL 非常簡單SELECT * FROM drug WHERE stock_quantity stock_lower_limit AND deleted 0但要在首頁把它做成一個統(tǒng)計數(shù)據(jù)卡片比如“缺貨藥品 6 種”“近效期藥品 3 種”“今日銷售額 12800 元”這樣管理員打開系統(tǒng)第一眼就能看到異常情況。這三個數(shù)字看起來簡單實際上要做三張統(tǒng)計 SQL分別查銷售總額、低庫存數(shù)量和近效期數(shù)量。寫完這三個接口首頁的展示效果立刻不一樣。6.6 統(tǒng)計報表和導(dǎo)出 Excel日報表統(tǒng)計按自然日分組SELECT DATE(create_time) AS day, SUM(total_amount) AS amount FROM sale_order WHERE status 1 GROUP BY DATE(create_time) ORDER BY day DESC報表展示用折線圖或者柱狀圖可以用一個輕量級的圖表庫 ECharts通過 Thymeleaf 模板把數(shù)據(jù)拼到 JS 變量里渲染。導(dǎo)出功能推薦引入 EasyExcel 依賴寫一個導(dǎo)出接口把報表數(shù)據(jù)轉(zhuǎn)為 Excel 文件響應(yīng)給前端下載。這個功能不復(fù)雜但演示效果非常好是課設(shè)項目里一個性價比很高的亮點。7. 排錯實錄課設(shè)跑不起來的常見原因我已經(jīng)幫你踩過一遍7.1 數(shù)據(jù)庫連接失敗被時區(qū)問題卡住最常見的報錯是“Communications link failure”或者時區(qū)相關(guān)的異常。原因是連接串里沒有配置 serverTimezoneMySQL 8.0 的驅(qū)動要求明確指定時區(qū)。解決辦法就是加上 serverTimezoneAsia/Shanghai。還有一種情況是密碼錯誤報“Access denied for user rootlocalhost”要把 application.yml 里密碼改成你自己本機的數(shù)據(jù)庫密碼不要直接照抄網(wǎng)上配置。7.2 控制臺中文亂碼中文亂碼一般是字符集不統(tǒng)一造成的。確認三處設(shè)置數(shù)據(jù)庫連接串里帶上 characterEncodingutf8數(shù)據(jù)庫表結(jié)構(gòu)默認字符集是 utf8mb4IDE 的 File Encoding 全部改成 UTF-8。如果是頁面亂碼還要確認前端模板文件頭部有meta charsetUTF-8。7.3 前端提交日期參數(shù)報 400前臺頁面用表單提交一個日期字符串比如“2024-05-20 14:30”后端用 Date 類型接收時Spring MVC 默認不認識這個格式會直接返回 400。解決辦法是在實體類的日期字段上加上 DateTimeFormat(pattern yyyy-MM-dd HH:mm:ss)。如果是通過 JSON 傳輸要改用 JsonFormat(pattern yyyy-MM-dd HH:mm:ss, timezone GMT8)。這兩個注解容易搞混我每次都會檢查一下。7.4 MyBatis-Plus 自動填充不生效如果實體類里有 createTime 和 updateTime并且加了 TableField(fill FieldFill.INSERT)但插入數(shù)據(jù)后這兩個字段是 null原因是你沒有配置 MetaObjectHandler。自動填充需要一個處理器在插入時自動 set 創(chuàng)建時間和修改時間。Component public class MyMetaObjectHandler implements MetaObjectHandler { Override public void insertFill(MetaObject metaObject) { this.strictInsertFill(metaObject, createTime, LocalDateTime.class, LocalDateTime.now()); this.strictInsertFill(metaObject, updateTime, LocalDateTime.class, LocalDateTime.now()); } Override public void updateFill(MetaObject metaObject) { this.strictUpdateFill(metaObject, updateTime, LocalDateTime.class, LocalDateTime.now()); } }配置了之后createTime 和 updateTime 就會自動維護不需要每個 Service 方法手動 set。7.5 靜態(tài)資源 404頁面樣式全丟了Spring Boot 的默認靜態(tài)資源路徑是 classpath:/static/模板頁面放在 classpath:/templates/ 下。Thymeleaf 頁面里引用 CSS 時要用 th:href{/css/style.css}或者寫成 /css/style.css 絕對路徑不要用相對路徑否則從不同 URL 進入頁面時路徑會亂掉。7.6 啟動報端口占用啟動時如果提示“Port 8080本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国模91| 亚洲乱伦图片视频| 99热精品在线观看| 夜夜嗷嗷一区二区| 上床不卡网站| 一区麻豆 高清中文字幕| 国产精品欧美日韩久久| 亚洲天堂一区二区久久| 99婷婷一区二区| 亚洲欧美综合网 | 啊啊啊啊啊啊啊啊在线观看| 亚州欧美综合| 97热视频在线观看| 干b网| 大香蕉一人在线| 色老汉色| 婷婷成人久久久精品| 超碰99在线观看| 久久99午夜精品一区人妻| 黑人免费福利视频| 国产无码精品久久久久久| 噜噜噜亚洲精| 熟妇女伦乱视频视频| 亚洲综合性网址| 一牛影视久久久一区二区三区| 99热9| 操逼www.| 日韩精品黄片免费观看| 欧美视频一区二区在线| 一级aaaaa欧美中文字幕录像片| aa片毛片| 日韩精品资源专区二区| 日韩国产精品人妻无码久久久| 黄色工厂这里只有精品| 中文字幕三四五区| 嗯嗯啊啊操我| 国产午夜精品理论片一二三区区| 黄色av网站在线播放| 99亚洲国产精品色一区二区三区| 操逼片中文| www.久久最新地址| av片在线观看免费播放| 欧美毛片在线网| 91在线欧色| 美女黄页| 亚州欧美综合| 蜜臀网 一区| 亚洲操操操无码| 久久东京热久久| 亚洲欧美天堂| 久久久久久亚洲Av无码| 人人操人人操草草| 久久精彩免费视频| 亚洲熟女国产综合另类| 2019亚洲男人天堂| 国产日本一区二区三区蜜臀在线观看| 色综合av综合久久| 玖玖爱免费观看视频| 精品久久久亚洲AV成人网站| 97激情97激情| 少妇熟女视频一区二区三区| 日韩免费高清大片在线| av在线浏览| 诱惑人妻欧美一区在线播放| 后入合集| 国产乱伦亚洲| 五月婷婷无码| 久久亚洲人妻| 啊啊啊啊网站| 国产成人bd在线观看| 国产又爽又黄| 久草资源欧美在线视频| 色97国产69香蕉| 久久婷婷成人综合色怡春院| 思思视频免费看网站| 一区二区三区亚洲| 男人天堂日日夜夜| 2017天天操| 2017人人操,人人摸| 狠狠干狠狠干| 四季av一区二区凹凸精品小说| 亚欧美色| 国产精品久久久久久 百度| 国产11页| 青青草久草AV| 一本精品日本在线视频精品 | 一二三区精品视频| 国产啊v在线免费播放| 欧美后进式| 久偷拍欧美日韩三区| juliaann欧美丝袜办公室| 7777奇米影视久久| 国产精品情侣啪啪| 久久午夜色播影院免费高清| 婷婷五月天av| av一区二区三区不卡| 情色AV电影| 少妇色欲综合网2| 99久久久无码精品国产人| 天天爽天天| 欧美高潮| 精品偷拍13p欧美dodk视频| 99re这里只有精品3| 超碰碰97资源站| 综合欧美日韩在线观看| 亚洲精品 欧美精品| 干少妇视频| 91久操| 亚洲天堂电影网| 欧美爱三级日韩久久| 很很干很很操| 日日操夜夜操天天操免费观看麻豆| 亚洲无码?第一页| 国产精品网站免费| 亚洲av综合色区无码一| 国产情色第一第二页在线观看| 精品人妻一二三| 床上啊啊啊一区二区三区| 国产AV线| 色婷婷亚洲婷婷| 中文熟女五十乱码在线| 最新国产精品久久精品| 伊人宅男大香蕉| 成人日本视频人妻在线| 国产一国产一级毛片古装| 大香蕉123| 97亚洲欧美| 开心激情婷婷| 最近2018中文字幕在线高清第一页| 亚洲性爱高潮影院| 91精品人妻偷情| 精品国产一区二区久久| 欧美性爱精品七区| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 72av视频| 91伊人影视综合| 一区二区三区美女超清| 久久日本熟女精品一区| 啪啪啪大香蕉| 亚洲黄色视频在线观看视频| 欲射影视| 男人天堂2019亚洲| 99久久亚洲精品无码毛片潘甜甜 | 日韩一级欧美一级国产一级台湾 | 精品视频在线观看| 亚洲天堂自拍| 在线啊v一区| 日韩三级av片| 国产丸一视频| 国产久久一区二区午夜| 国产午夜在线观看视频| 久久成人东京热人妻| 久久欧美1卡2卡3| 亚洲成人性爱网站在线播放| 亚洲中文丝袜美腿诱惑字幕| 磁力99AV| 亭亭丁香激情| 久久ww| 小说区 图片区色 综合区| 欧美A√综合网| 婷婷五月天色| 久久东京伊人一本到鬼色| 亚洲素人综合| 东京热91| 天天舔天天日天天射| 一区二区偷拍拍视频| 亚欧毛片基地国产毛片基地| 精品无av| 另类欧美综合| 人妻丝袜二区| 97视频免费在线| 少妇同性| 在线观看一卡二卡| 日本一级性爱| 国产对白刺激视频| 香蕉国产精品麻豆亚洲欧美日韩| 国产嫩草精品A88AV| 99九九久久| 亚洲宅男天堂| 国产精品亚洲美女久久久久| 免费人成在线观看网站品爱网| 加勒比海成人视频网| 九九热AV| 久久久久国色αv免费观看| 操逼999| 人妻熟女午夜精品在线| 久久精视频美日韩在线视频| 影音先锋少妇| www.久久制服糖| 91综合熟女| 亚洲日韩狠狠撸视频| 国产在线精品电影观看| 国产精品 午夜福利| 婷婷丁香五月综合| 久久99精品视频| 精品一区二区综合熟妇| 亚洲国产奇米影视久久| 一本久道在线综合视频| 久久精品国内Av熟女高清| 欧洲综合色图| 黄片www视频免费| www.男人的天堂| 亚洲精品国产拍免费91在线| 91亚州| 久久加勒比| 91中出视频| 欧美成97爱| 美女91| 欧美色另类| 99rre在线精品99re8| 女人天堂网| 成人精品水蜜桃久久久久久久| 国产精品久久久九九九| 熟妇一区,二区,三区。| 精品一区二区三区18| 日韩精品 欧美激情| 久久精品无码一区二区三区| 97爱综合| 国产精品高潮呻吟av久久4虎| 韩国免费播放一级毛片| 久久成人午夜精品影院 | 六月激情婷婷| 校园春色制服丝袜中文字亚洲| 综合网,亚洲,欧美| 91丝袜激情在线 | 99热在线观看| 懂色综合久久久| 精精夜夜| 日韩亚洲97| 日本道人妻久久久在线不卡色视频| 麻豆区久久久久亚| 国产精品白丝| 强奸乱伦麻豆| 亚洲情色五月天 | 男女啪啪啪18禁网站| 中字幕人妻一区二区三区| 亚洲欧洲综合成人av一区| 插日本熟女视频| 色五月大香蕉| 神马久久网| 青青草中出视频| 综合第一页| 牛牛操视频逼| 久久老子无码午夜伦不卡| 成人婷婷丁香| 我中文字幕6区| 久久久久99精品成人片蜜臀| 国产久久av| 99在线精品视频| 91色图片| 密乳视频在线| 日韩人妻无码专区| 超碰97在线中文| 国产97在线 | 亚洲| 国产欧美日本亚洲精品 | 日本亚洲嫩草影院啪啪| 中文字幕一区二区在线日韩精品| 色蜜AV| 99久在线精品99re8热视频在线| 91美女在线| 天天干干天天干干| 夜夜操2028| 久久久国产精品亚洲精品| 中文字幕99999| 一级久久久久久久久久久 | 色官网色综合| 国产AV人人 夜夜人人澡| 亚洲自拍97| A片 AV一级在线播放观看免费| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 天天天做天天天爱天天天爽| 国产精品久久天天干| 亚洲无码色| 青青伊人加勒比海| 亚洲成人精品在线一区| 97国产色综合| 免费一级a毛片久久久久久鸭绿欲| 欧美激情综合色综合啪啪五月| 欧美人人天天网| 国模私拍一区二区三区神乳| 丰满精品人妻少妇久久字幕| 欧美大香蕉久| 一个人在线看的黄色电影网站| 少妇色欲综合网2| 亚洲精品中文字幕一区在线视频| 91激情网| 欧美日韩国产中文精品字幕自在自线| 秋霞一区二区三区四区五区六区七区| 久草精品国产99| 亚洲精品色| 九九九热| 日韩熟女精品无码专区一区二区| 成人小说视频在线精品欧美| 亚洲天天影视综合网| 大香蕉视频一二三区| 欧美性色综合网| 国产在线播放成人免费| 黄色污污污污污污网站| 日韩欧美日韩| 中文字幕在在线观看网站| 日韩无码人妻| 亚洲成人精品久久久| 欧美gv在线观看| 日日AV加勒比| 成人八戒网站| 日韩精品 欧美激情| 丝袜美腿诱惑亚洲欧美视频在线观看| 麻豆天美传媒毛片| 97av,com| 精品精品精品| 国产精品嫩草影院午夜两性| 上床不卡网站| 黄色性爱网网| 啊啊啊好想要| 性老妇一区二区三区| 亚洲无线码欧洲精品区别| 亚洲人91| 蜜桃成人1区2区3区| 另类天堂| 丰满人妻一区| 欧美亚洲丝袜美女电影| 精品视频免费在线一区| 992大香蕉| 久九干| 欧美日韩不卡a片| 久久久无码精品人妻二区| 精品一区二区三区蜜桃臀赵总 | 91亚洲网| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 蜜桃久久久久久久| 亚州AV无码国产精品| 91欧美网| 蜜臀久久精品久久久久视频| 啊啊啊啊啊在线观看网址| 无码国产Av| 国产精品久久久久久久久久久久久久吹 | 国产性爱欧美性爱在线| 亚洲综合在线高清| 久久伊人五月天| yaouchengrenav| 超碰欧美97资源| 九九久久久九九| 思思性爱| 国产一区二区三区免费视频在性观看| 超碰色97| 亚洲综合色在线| 99热色这里只有精品| 成人午夜小视频手机在线看| 99久久无码| nuu12国产麻豆精品| 欧美色图片91| 99热综合| 九九99久久| 国产三区免费在线观看| 蜜乳AV免费观看| 精品无码少妇| 啊啊啊轻点在线观看| 美腿色图| 婷婷伊人一区| 国产剧情一区在线观看| 99操逼| 99性爱在线观看| 青青操网| 国产精品久久久久久久无码AV| 久久伊人东京热| nuu12国产麻豆精品| 99综合自拍| 97高清啪啪| 97精品国产97久久久久久免费| 六十路日本| 国产精品自在线发布| 日韩有码 一区二区三区| 三四中文字幕| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 人妻少妇久久中文字幕一区二区 麻豆| 黑人粗大V S日韩女优视频| 一本大道综合伊人精品热热| 少妇人妻激情四射| 蜜臀av中文字幕| 亚洲天天影视色综合| baiduhicn.com。| 屌妞视频久久久久久久久久久久| 成人综合网 欧美| 黑人中出21连凳花野真衣| 天天日日舔舔| 影音综合网| 大香蕉伊人在线成人AV在线观看| 亚洲欧洲精品成人| 中国熟女网站| 日韩有码回春沙龙第一页| 欧美体内射精| 午夜啊啊| 亚洲国产欧美一区二区潘金莲| 五月丁香六月综合缴清无码| 日本操逼二区| 色999亚洲人成色| 亚洲午夜免费狠狠干| 日韩精品三区四区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 性爱乱伦一区| 婷婷精品| 国产熟女| 99精品九九九九九九| 国产精品播放| 精品久久无码午夜福利| 国产麻豆一级精品视频| 黄污污污污| 青青草亚洲一区| 精品美女少妇一区二区三区| 国产精品禁久久久精品| 青娱乐国产精品| 国产综合操逼高清| 五月天黄色av| 91亚洲欧美综合高清在线| 欧美性性性| 天天干天天燥| 啊啊啊操一区| 亚洲影视第一页| 久久大黄片| 激情视屏国产乱伦强奸| 久久综合18p| 少好三P| 无码天堂| 日韩不卡a级视频专区| 久久久九97| 国产精彩女在线观看视频| 欧美在线啊啊| 国产农村一一级特黄毛片| 天堂日本亚洲欧美| 青青草一区二区高清无码视频| 大二网站亚洲| 国产超碰在线| 日韩一级二级三级免费看完整版国语版| 色九色久| 欧美日韩性爱无码| 亚洲情色一区三区| 欧美日韩在线小说 | 亚洲高清在线| 国产久久久久影院老熟女| 啪啪啪综合网| 国产成人综合网| 一区二区国产视频在线观看| 秋霞免费无码视频日韩A片| 日本肉体xxxx裸交| 色在线69堂| 国产极品粉嫩馒头一线天av| 韩国久久97| 天堂亚洲精品| 亚洲码专区| 97超级欧美| 亚洲国产美女久久久久| 小少妇| 大鸡巴久久| www.人人cao| 久久 久久国内精品亚洲| 日本乱人伦片中文三区| 青娱乐 成人娱乐在线| 啊啊啊啊免费视频| 99色婷婷| 夜夜久久久| 黄片在线免费在线观看| 啊啊啊啊在线播放| 免费中文在线| 大香蕉99re| av资源在线观看少妇| 高清不卡 中文 人妻| 岛国视频免费在线观看| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 亚洲砖码砖专无区2023| 久久久久深夜无码| 操碰91| 综合色好色| 色av中文字| 人妻精品视频一区二区三区 | 日韩精品一区二区高清| 国模不卡一本二本三电影| 成全动漫视频观看免费下载| 91成人国产综合久久精品蜜月| 色色色日本| 婷婷香网站| av在线免费一区二区| 天天激色| 久色网| 亚洲欧美不卡线| 四虎影库国产精品免费| 777AV电影| 欧美综合777| 亚洲成av人片色午夜乱码| 亚洲黄色电影| 欧美狠狠鲁| 色综合av男人天堂| 日本506070| 欧美色66| 妺妺跟我一起洗澡没忍住| 国产精品一区二区三区免费视频| 99超碰色| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 久久久久久久久女黄| 99无码视频| 国产精品久久久久无码Av网曝门 | 欧美不卡二区| 亚洲情欲| 长久操视频| 欧美在线官网| 播播亚洲小说亚洲| V A在线| 很狠操| 97网址www| 国产www色在线观看| 中文乱码字幕观看视频| 超碰久在线天天做| 丝袜制服字幕在线| 国产自偷自拍一区| 免费1级a做爰片观看| 日1区2区3区2020| 国产无遮挡| 亚洲操人| 久久riav中文精品| 男人的天堂 在线一区| 啊啊啊不要嗯嗯在线观看| 在线观看一卡二卡| 久久一区二区三区入口| 天天干天天舔| 一区二区三| 欧洲色综合| 亚洲综合性网址| 十八禁网站在线| 久久久中文| 入口操逼网站| 久久黄色性爱视频| 国产亚洲精品无码三区| 麻豆天美91| 国产精选视频| 久伊人网78| 欧美高潮| 婷婷15月天青娱乐| 大香蕉在线视频重口味毛片在线| 欧美日韩国产传媒在线精品| 屌逼传媒| 亚洲操操| 99色色网| 超碰碰碰碰| 男女一级A片大黄,一进一出| 91在线精品| 久久毛卡| 国产一区二区精品久久99| 波多野结衣AV无码一区| 26UUU欧美日本| av影片在线观看不卡| 欧美性性性| 春色91| 日比av无码| 欧美综合天堂| 超碰97 线线 在现| 久一区久久蜜桃| 九九九网站| 亚欧成人一级片在线播放| 精品玖九九久| 久操免费在线| 香蕉国产精品麻豆亚洲欧美日韩| 91视频精品| 日本中文字幕不卡视频| 妇女性内射冈站HDWWWCOM| 一区二区三区免费视频入口| 欧美不卡在线一区二区| 日韩无码a片| 亚洲精品乱码线路中文字幕| 日本激情免费大片| 竹菊影视国产一区二区| 在线播放成人网站| 国产不卡精品91| 欧洲亚洲人妻无码中字久久三区四区 | 久啪| 综合熟妇一区二区三区| 男人天堂新| 91色色网站| 国产av强奸美女| 亚洲二区精品在线观看| 九月婷婷| 日韩99神马视频片| 一区超碰一区| 91 欧美| 日本精品网站在线中文| 国产成人www免费人成看片| 久久香蕉网| 亚洲丝袜色图| 97超碰国产亚洲精品| 精品久9| 亚洲精品三区在线观看| 日日操免费视频| 日韩激情啪啪| 国产精品999aaa| 国产偷拍网站| 另类一区| 欧美一区二区日韩传媒搭讪精品| 精品国产乱码久久久兰草影视| 国产超碰97| 久久大黄片| 在免费jIzzjIzz在线视频| 殴美牲| 人妻丝袜肏逼| 天天射夜夜操| 干婷婷综合网| 国精综合一二三区影视| 夜夜高潮夜夜爽夜夜爱爱一区 | 激情接吻视频久久久久久| 欧美亚州手机在线| 久久色AV线| 韩国一级做a久久久久| 久久免费精品视频免一| 亚洲日本男人天堂网| 风骚少妇视频中文字幕| 日本在线观看网址| 东京热亚洲一区二区| 欧洲精品久久| 国产无码高清操逼视频| 精品丰满人妻一区二区三区免费观| 国产九区| 亚洲婷婷综合网| 人人插人人搞人人操| 日韩精品9999| 成人av性爱电影在线观看| 蜜桃臀av在线观看| 女人18精品一区二区三区| 可以免费看黄片的视频| 欧美熟妇乱码在线一区| 97超碰超| 五月丁香色婷婷| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 日韩无码精品综合久久| 国产老熟女| 91美女网站| 精品国产一区二区三区av在线资源| 伊人午夜福利视频| 岛国在线一区二区三区| 久日综合网| 九九干| 欧美久久人妻少妇一区二区| 国产v片在线免费观看| 伊人久久国产免费观看视频| 日本道不卡| 91ise欧美| 亚洲日韩天堂| 欧美成人精品一区二区三区| 日本不卡一区二区| 白丝1区2区3区| 日韩电影在线观看网址| 中文字日本乱码| 強姦亂倫a| 成人熟女区| 国产成年免费大片黄在线观看| 岛国人妻少妇av在线观看| 人人贴人人摸| 亚洲综合夜色| 91Chinese在线| 不卡视频一区蜜桃视频 | 鸥美中出| 日韩97视频!在线| 五月天婷婷在线看| 黑人与人妻| 国产小u女在线观看| 天天操福利视频综合网站| 在线只有精品| 69XX一中文字幕人妻91| av72网| 色婷婷五月综合激情中文字幕| 亚洲天在线| 婷婷成人久久久精品| 91P0RNY大屁股人妻| 欧美乱妇狂野欧美在线视频| 青青草丝袜在线视频| 一区二区三区高清| 精品乱子一区二区三区99| 天天操夜夜嗨| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 97爱免费插| 免费日韩黄片| 午夜美女诱惑电源网| 91丨国产丨白浆| 少妇无码av专区线| 久久午夜神马| 亚洲日产专区婷婷| 99re视频在线观看这里只有精品| PMv在线观看| 91狠狠狠| 男生女生啊啊啊啊| 色噜噜婷婷| 国产美女销魂在线观看不卡| 国产又粗又长又大的视频| 91+欧美| 日韩午夜啪啪视频| 日韩中文字幕视频| 久久粉色| 蜜桃精品一区二区三区久在线| 国产农村妇女一区二区| 亚洲九月丁香| 日本高清免费一本视频在线观看| 日日摸日日弄日日拍| 欧美色图私拍91| 狼人久草| 少妇干B| 91人精品妻入口| 91久| 天堂av最新电影网| 亚洲 欧美 另类 日韩 人妻一区 | 色97干| 91老熟女91老女人| 爱欲AV| 欧日韩不卡视.频| 成人免费在线网站| 免费1级a做爰片观看| 男人的天堂va在线| 久操免费电影| 美女网站黄页| 亚洲精品蜜桃久久久久久久| 裸体女人草逼视频播放一区,二区,三区,四区,五区| 在线观看精品国产免费| 新久久AV| 日韩熟女乱伦中出| 欧美精品成人一区二区在线观看| 97se亚洲综合自| 妇女乱色二区| 日日日日做夜夜夜夜做无码97| 欧美亚洲一区二区久久久婷精品大包诱| 91黑丝在线播放| 九九综合色| 中字乱伦AV| 熟女被操视频网址| 97摸视频| 麻豆国产免费影片| 大香蕉五月天| 97久久久| 长长久久88视频| 99无码精品| 成人婷婷丁香| 超碰久久中文| 久久亚洲骚逼综合| 高清不卡国产| 欧美97在线观看| 91激情网| 亚洲中亚日激情视频| 日韩亚洲97| 欧美一区二区三熟女剧情| 99re6在线视频精品免费完整版安卓版| 欧美久久人妻少妇一区二区| 热的中文 热的有码 热的国产| 色 亚洲 91| 丝袜狂射91| 亚洲图片 欧美电影| 欧美图片校园春色| 亚洲高清综合网| 亚洲av青草久久一区二区| 国产高清亚洲日韩一区| 激情五月综合开心五月| av天堂天堂av日韩| 日韩欧美亚洲一区二区三区影院| 丁香五月自拍| 色香阁在线| 日韩懂色网| 超碰97久久国| 久久久555| 91被操| 国产尤物AV尤物在线观看不卡| 日韩欧美国产高清视频| 又大又白奶子| 丁香婷婷激情五月天无毒不卡| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 久久精品女同亚洲女同13| 亚洲成人在线乱码色午夜| 亚洲国产熟妇综合色专区| 国产AAAAAABBBBB| 91 亚洲 欧美 日韩 国产 综合| 国产一级片| 97硬碰| 啊啊啊操死我了| 精品无码秘 人妻一区二区| 中文字幕在线观看永久| 色婷视频| 久久精品国产99国产精品亚洲| 99re在线视频这里只有精品| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 欧美 亚洲 第一页| 色欲无码人妻日韩欧美精品| 97色婷婷| 一区二区三区色综合| 97天天| 熟女精品va中文字幕| 日本熟妇一区二区三区| 人妻激情在线视频| 欧美人黑A片无码免视费| 欧美日本一区二区a人| 亚洲精品久| 亚洲色综网| 日韩欧洲操屄视频| 日本天天操| 青草园大香蕉| 免费看黄片现成| 狠狠操狠狠| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 亚洲 欧美 第一页 | 亚洲素人网| 偷拍 欧美 日韩| 色综合色色| 精吧天堂| 久久久久免费看少妇A片特黄| 欧美1727免费观看视频| 青青草原成人| 偷拍自拍在线视频观看| 青草香蕉网| 国产偷人伦激情在线观看| 91色久| 久久久天美| 在线欧美69V免费观看视频| 67194无码不卡| 日本精品五区| 麻豆60秒| 天天综合欧美| 九九亚洲视频| 在线播放欧洲免费av| 无码精品一区二区三区潘金莲| 人妻一区久久二区三区色播| 中文字幕欧美日韩三级| 色欧美天天| 亚洲不雅视频1区二区| 日本三级韩三级99久久| 精品人妻一区二区蜜桃视频 | 亚av顶级裸体一区二区三区四区五区 | 国产肏逼网站| 超碰国产情侣自拍网| 亚洲天堂男人天堂| 国产成人资源| 国产精品不卡高清在线观看| 黄色大片一区二区密桃丝袜| 伊人久久AV诱惑悠悠| 97九色人妻| 亚洲欧美日韩偷拍色图| 国产极品999| 欧美性爱第一页久久| 最新亚洲风情电影| 欧美激情性久久久久久| 国产白丝在线| 婷婷丁香五月天亚洲天堂网| 中文熟女五十乱码在线| 人成午夜免费大片| 亚洲欧美碰碰| 久九干| 亚洲春色欧美激情自拍| 国产精品suv一区| 加勒比久久综合网高清| 九九久精品| 95人妻爽爽人人做人人澡 | 久久欧美1卡2卡3| 无码人妻一区二区三区色欲aⅴ| 69视频福利导航| 手机在线人成免费视频| 67914在线兔费成人视频| 97色色视频| 日本精品一级二级三级| 91综合国产精品| 黄片在线免费在线观看| 熟女人妻一区二区三区免费看 | 麻豆av一区二区| 欧美日韩222| 中文字幕精品一区二区精| 新怡红院| 用力操死我| 中国一区二区亚洲人妻| 九九九精品美女| 蜜桃视频一区二区三区在线观看| 国产久久av| 欧美资源| Aa东京男人的天堂| 亚洲情色电影网| 一起草日韩| 东京热男人天堂| 内射卯月麻衣| 久久久久久久极品香蕉视频| 国产熟女完整版中字| 深夜国产福利| 我中文字幕6区| 亚洲中文字幕噜噜噜久久久| 欧美日韩另类在线播放| 久久精品28| 97AV在线免费观看| 亚洲麻豆精品二区三区| 福利社区午夜一区二区| 999久久久国产精品| 嗯嗯啊啊好大好爽| 蜜臀久久久久久999| 免费A V在线播放| 国产又黄又粗又猛大片| 天天干夜夜操一区二区| 色欲人妻一区二区在线| 婷婷五月天激情网| 日操粉逼逼| 国产精品免费1区2区视频| 超碰在线免费一区二区三区| 超碰天天操你比| 中文字幕一区 二 区 三 四 五 区日 日 骚| 天堂无码精品国产久| 久久永久无码人妻视频| 亚洲人妻色图| 久久草视频污视频| 午夜天堂精品久久| 97爱免费插| 天天爽人人综合免费7799| 视频黄色国产一级| J?P?NESEHD熟女熟妇伦| 91色插| 人妻喷水| 欧美超碰人妻97| juliaann丝袜大战黑鬼| av婷婷色网| 99青草| AV天天在线观看| 99操| 久热伊人| 日本国产成人亚洲精品无码| 两性色网| 亚洲最大成人a毛毛片| 情趣丝袜无码操逼视频| 老司机午夜精品视频| 午夜毛片亚洲精品片国产久久久| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 成人情色综合网| 91狠狠狠| 国产91 丝袜在线播放| 色欧美在线| 91美女视频直播| 这里都是精品| 神马麻豆福利院| 九九九九九精品视频| 欧美日韩中文字幕不卡| 91青青在线| 大香蕉狠狠爱| 视频不卡中文字幕| 综合另类| 岛国片在线视频网站| 美女熟妇色| 无码人妻精品一区二区中文| 亚洲制服aⅴ中文字幕| 亚洲成人久久一区二区| 91小视频| 91久操| 嗯嗯嗯啊啊啊在线免费观看| 116美女午夜| 97超碰热线| 亚洲有码第一页| 精久久久| 欧在线一二区| 日欧操屄| 国模无码一区二区三区在线| 自拍鲍鱼一区在线高清观看免费| 久操婷婷| 国产美脚女优尤物在线观看| 欧美亚洲涩涩| 大色网久久| 午夜精品久久久| 高清无码在线播放网站| 91精品伊人久久久大香线蕉91| 久久久五月天| 国产精品久久发布| 在线观看视频91| 黄站在线免费观看| 啊啊啊操死我| 麻花豆传媒剧国产MV出差| 国产偷拍自拍在线视频| 人人操AV| 国产美女口爆吞精| 96一区二区三区| 亚洲影院成人| 特级丰满少妇一级AAAA爱毛片| 婷婷五月天激情四射| 久久做97| 久久蜜桃一区二区| 91看黄片| 日本久久天堂| 精品九九九九九九九| 欧美激情精品久久久久久| 天天视频黄| 精品一区二区成人动漫| 亚洲AO在线| 欧美成人贴图| 亚洲色欲天天天堂色欲网女| 久久色情| 日日做夜狠狠爱欧美黑人| 94色色电影网| 国产亚州高清国产拍精| 精品人妻二区三区| 精品女同一区二区三区| 免费?级毛片无码?∨蜜芽试看| 婷婷五月天色色| 久久99精品九九久久久婷婷| 女人综合网| 亚欧高清在线| 美骚妇av高清在线| 久久九色| 97久久久| 韩国毛片一区二区三区| 欧美日韩在线视频网站| 五月天婷婷基地| 亚洲资源网| 亚洲无码超碰免费| 色综合一区二区三巨| 亚洲美腿丝袜香蕉影视欧美成人| 久久成人国产精品| 精品国产嫩穴视频| 亚洲在线A| 亚洲日韩美女中文字幕乱| 精品国产污一区二区三区| 一区二区三区看视频| 精品黑人一区二区| 日本九九久久99| 大香蕉乱级| 91色鬼| 亚洲av青草久久一区二区| 九九色精品| 女人18精品一区二区三区| 国产福利在线视频网站| 97色色国产视频| 偷拍偷窥与盗摄视频专区| 91亚州日韩高清| 91欧美综合| 日韩人妻精品久久久久| 精品人妻久久久| 国产精品国产拍高清AV| 色偷偷综合91久久噜噜| 久久av成人无码免费| 成人片视频| 黑人操一区二区| 国产和美国毛片| 强奸乱伦大香蕉网| 久久是精品| 粉嫩在线一区二区懂色| 九九超碰综合网| 亚洲AV永久无码一区仙野| 一区二区三区四区五区久久久久久| 成人性爱视频在线看| 亚洲成人色情五月天丁香花| 日韩精品在线观看观看| 综合91网| 在免费jIzzjIzz在线视频| 综合网亚洲1| 亚洲天堂热| 免费视频一二三区| 亚洲美女精品| 人妻干天天| 亚洲资源网| 亚洲aV性爱| 久久久久久久久久久久色网| 91国产精品在线看| 操碰97| 亚洲美女色图| 日逼国产| 久久久久久人体| 淫淫总合网| 无码外流操逼视频| 欧美极品少妇| 五月天色图影视| 国产高清午夜成人在线观看| av麻豆啪啪| 911粉嫩人妻| 亚洲色图欧美| 大香蕉伊在线久草麻豆天堂故事| 国产不卡免费在线视频| 超碰久久.com| 色呦呦、国产精品| 欧美丝袜制服久久| 综合欧美亚洲| 亚洲在高跟鞋自慰久久在色线| 日本视频一区二区三区| 91狠狠综合久久| 东京热一区二区三区四区五区六区| 在线观看成人性爱免费小视频| 日韩电影免费网站麻豆视频| A V少妇特黄三级| 午夜一级免费毛片| 精品1区2区3区| 日韩中文字幕av在线播放| 日韩性爱视频免费在线| 一级一性爱免费视频| 九九九九免费视频| 97超碰美国| 一区二区三区精品视频| 天美精品原创av片国产| AV男人天堂网| yirendaxiangjiashipin| 一级啊性爱在线视频| 一级毛片电影免费看| 天天操熟妇| 蜜桃不卡一区二区| 91操人| 99精品高潮| 青青11操操操操操操操操| 精品视频免费在线一区| 91天天综合日韩欧美| 色在线69堂| 欧美一级欧美三级在线观看| 天天插天天操| 亚洲欧洲综合成人av一区| 欧美乱欲| 国产中文字幕在线观看| 夜夜嗷嗷一区二区| 人妻少妇精品一区二区三区| 欧美日韩操逼动图| 69av一区二区三区| 天天综合官网| 欧美肥臀在线| 内射黑丝袜| 97精品久久久久久久| 偷拍伦理视频| 色狠狠色| 久久肏大逼| 四虎影视永久在线免费| 欧美福利视频啊啊啊啊 | 女优视频第10页| 亚洲日韩成人性爱视频| 超碰在线观看av不卡| 国产粉嫩蜜臀av一区二区三区| 精品天堂| 精品人妻一区二区三区四区| 欧美日韩美女精品久草一区二区三区| 蜜臀人妻少妇久久在线观看| 蜜桃成人1区2区3区| 九九热视频在线观看| 极品尤物在线观看| 午夜寂寞欧美| 日本Xx性爱| 手机在线视频国内精品| 被男人添B超爽视频| 日本高清免费一本视频在线观看| 91久久青青草原精品| 成人怡红院| 清纯唯美亚洲综合| 一区二区不卡视| 超碰色综合| aa片毛片| 26uuu最新| 激情小说日韩无码| 日本黄色精品专区网站| 国产日韩精品suv| 国产高清视频无码在线| 肏逼福利网站| 久久精品国产亚洲AV清纯| 秋霞色色影院| 91看黄片| 国产精品美女在线一区| 免费一级特黄特色大片在线观看看| 久综合国内精品自在自线| 久久久久久一日韩字幕无码| 隔壁邻居波多野结衣中文字幕| 啪啪AV导航| 色综合尤物| 95人妻爽爽人人做人人澡| 性欧美另类高清| 99抽插| 久久是精品| 91色插| 国产精品久久aV|