久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

基于SpringBoot的窗簾報價管理系統(tǒng):從智能報價引擎到業(yè)務(wù)閉環(huán)實(shí)現(xiàn)

基于SpringBoot的窗簾報價管理系統(tǒng):從智能報價引擎到業(yè)務(wù)閉環(huán)實(shí)現(xiàn) 我做畢業(yè)設(shè)計的時候選了個挺有意思的題目基于SpringBoot的窗簾報價管理系統(tǒng)正式一點(diǎn)的名字叫“云簾”軟裝布藝報價及銷售管理系統(tǒng)。班里大部分同學(xué)都在做商城、博客、校園二手交易我卻挑了這么個垂直行業(yè)的小項目當(dāng)時還被人問“窗簾有什么好做的”。做下來才發(fā)現(xiàn)這個選題比想象中值錢得多窗簾報價不是簡單地增刪改查它背后有一套復(fù)雜的業(yè)務(wù)規(guī)則——不同窗型、不同面料、不同褶皺倍率報價結(jié)果能差出好幾倍。系統(tǒng)最初版本叫“飛卷”取意窗簾成卷、報價飛快后來擴(kuò)展成覆蓋報價、訂單、生產(chǎn)、收款全流程的“云簾”平臺。這個系統(tǒng)解決的是軟裝門店最現(xiàn)實(shí)的問題手工量窗、Excel報價、口頭砍價、紙質(zhì)訂單效率低不說報價口徑還不統(tǒng)一同一個客戶兩次報價可能差出幾百塊。系統(tǒng)核心是一個智能報價引擎錄入窗戶尺寸選擇面料和款式自動算出用料米數(shù)、輔料費(fèi)用和總價確認(rèn)報價后轉(zhuǎn)入訂單再往下走生產(chǎn)、安裝、收款形成完整業(yè)務(wù)閉環(huán)。如果你是做Java畢設(shè)、想找SpringBoot項目切入點(diǎn)的同學(xué)或者本身在幫傳統(tǒng)門店做信息化改造這篇文章應(yīng)該都派得上用場。我會把項目從業(yè)務(wù)拆解、表設(shè)計、核心算法到權(quán)限控制和踩坑實(shí)錄完整過一遍。1. 業(yè)務(wù)分析與項目定位窗簾報價為什么值得做一個系統(tǒng)1.1 一間軟裝門店的日常困境先還原一個真實(shí)場景??蛻暨M(jìn)店說家里三室兩廳需要給客廳落地窗、主臥飄窗、次臥平開窗和書房轉(zhuǎn)角窗配窗簾。銷售員要做的事包括去現(xiàn)場量每扇窗的寬度和高度問清楚客戶的遮光需求、風(fēng)格偏好帶客戶翻面料冊子雪尼爾、高精密、真絲棉、遮光布每米價格從幾十到幾百確定是裝羅馬桿還是靜音軌道再考慮要不要加水波簾頭、花邊、掛球、鉛墜。這一套下來人工算價至少二三十分鐘而且很容易漏項。漏了一個軌道報價就得返工算錯一個褶皺倍率門店就要自己貼錢。更麻煩的是報價口徑不統(tǒng)一。同一個窗不同銷售員可能用不同的褶皺倍率給客戶報出來的總價能差幾百塊。老板想月底看哪個品類賣得好、哪類窗型利潤高翻Excel要翻半天還經(jīng)常發(fā)現(xiàn)數(shù)據(jù)對不上。窗簾這個品類有一個特點(diǎn)它不像普通商品一樣有固定標(biāo)價每一單都得按尺寸和配置單獨(dú)算價這就天然需要一個“計算型”的系統(tǒng)而不是普通的商品展示加購物車。1.2 兩個名字與一條主鏈路的由來我在標(biāo)題里寫了兩個名字“飛卷”和“云簾”。其實(shí)它們是同一個項目的兩個階段。初版只做報價計算叫“飛卷”意思是輸入尺寸、一鍵出價報價單像窗簾一樣“卷”出來。后來把訂單、生產(chǎn)、收款、報表都加進(jìn)來改名叫“云簾”面向的是整個軟裝布藝門店的銷售管理。這種命名在畢設(shè)題目里很常見建議大家在論文里把名字的由來寫清楚答辯時也是一個不錯的引入點(diǎn)。系統(tǒng)要服務(wù)三類角色店長關(guān)注全店銷售數(shù)據(jù)、利潤和折扣審批銷售員負(fù)責(zé)接待、量窗、錄報價、跟單財務(wù)或庫管負(fù)責(zé)訂單審核、生產(chǎn)安排和收款登記。主鏈路就一句話客戶管理 - 量窗記錄 - 智能報價 - 折扣審批 - 確認(rèn)訂單 - 按窗排產(chǎn) - 安裝交付 - 收款對賬 - 銷售報表。這個閉環(huán)就是整個系統(tǒng)的骨架后面的表設(shè)計、接口設(shè)計都圍繞它展開。1.3 為什么不用通用商城模板也有人在選題時糾結(jié)過直接套一個電商商城模板改改商品和訂單不就行了實(shí)際做下來就知道差別在哪。標(biāo)準(zhǔn)電商是“標(biāo)價購買”商品價格是靜態(tài)的窗簾是“定制計算”每個訂單都要重新算價。窗簾報價的輸入是窗戶尺寸、面料、款式、輔料、折扣輸出是明細(xì)項、合計金額和利潤估算跟商城完全不是一個模型。ERP系統(tǒng)通常太重一套下來成本幾十萬門店根本用不起所以這種輕量的垂直報價系統(tǒng)正好卡在中間比Excel專業(yè)比ERP便宜。對畢設(shè)來說這反而給了一個很好的展示空間你可以在系統(tǒng)里植入行業(yè)算法、策略模式、狀態(tài)機(jī)這些有深度的設(shè)計而不是千篇一律的CRUD。2. 技術(shù)選型與工程結(jié)構(gòu)SpringBoot 3 MyBatis Plus MySQL2.1 后端技術(shù)棧與選型理由先上完整的技術(shù)清單都是我實(shí)際驗(yàn)證過能跑通的組合。技術(shù)版本/選型理由JDK17SpringBoot 3 基線版本長期支持穩(wěn)定SpringBoot3.2.x自動配置強(qiáng)大內(nèi)嵌Tomcat適合業(yè)務(wù)系統(tǒng)MyBatis Plus3.5.x單表CRUD零SQL復(fù)雜查詢用LambdaQueryWrapperMySQL8.0關(guān)系型業(yè)務(wù)數(shù)據(jù)事務(wù)能力強(qiáng)Redis6.x/7.x登錄狀態(tài)、字典緩存Vue 3 Element Plus前端表單、表格組件成熟適合管理后臺EasyExcel3.x導(dǎo)出報價單、銷售報表省內(nèi)存MinIO可選布料圖片、報價單附件對象存儲為什么持久層選 MyBatis Plus 而不是 Spring Data JPA我的理由是報價系統(tǒng)里多表關(guān)聯(lián)查詢非常多比如報價單主表加明細(xì)加客戶加審批記錄MyBatis Plus 的 QueryWrapper 和自定義 XML 都很順手JPA 在復(fù)雜查詢時要么寫JPQL要么寫原生SQL對很多人來說學(xué)習(xí)成本反而更高。MyBatis Plus 還提供邏輯刪除、樂觀鎖、自動填充這些開箱即用的功能對畢設(shè)項目來說能省出大量時間。2.2 單模塊還是多模塊包結(jié)構(gòu)怎么分畢設(shè)項目我強(qiáng)烈建議用單模塊夠用且好演示。真正的關(guān)鍵是把包結(jié)構(gòu)設(shè)計清楚做到邏輯上的分層。我的工程包結(jié)構(gòu)是這樣com.yunlian ├── controller // 接口層只做參數(shù)接收與響應(yīng)包裝 ├── service // 業(yè)務(wù)層核心計算、事務(wù)都在這里 ├── mapper // 數(shù)據(jù)訪問層繼承BaseMapper ├── entity // 數(shù)據(jù)庫實(shí)體字段與表一一對應(yīng) ├── dto // 入?yún)ο蠼邮涨岸苏埱髤?shù) ├── vo // 出參對象返回前端展示數(shù)據(jù) ├── common // 統(tǒng)一響應(yīng)、分頁對象、常量 ├── config // 配置類如Redis、攔截器、Jackson ├── utils // 工具類如價格引擎、Excel導(dǎo)出 └── exception // 全局異常與自定義業(yè)務(wù)異常這個結(jié)構(gòu)看起來常規(guī)但有兩個細(xì)節(jié)值得注意。第一VO 和 DTO 必須和 Entity 分離Entity 里的 createTime、updateTime、deleted 這些字段絕不能直接暴露給前端報價單的計算中間結(jié)果比如每個明細(xì)的折扣前金額、折扣后金額、節(jié)省金額都要在 VO 中定義好而不是從 Entity 里隨便取字段拼。第二Controller 要瘦、Service 要厚。所有業(yè)務(wù)判斷都寫在 Service 層Controller 只做參數(shù)綁定和調(diào)用這樣也方便在 Service 上直接加事務(wù)和權(quán)限注解。2.3 統(tǒng)一響應(yīng)與全局異常后端接口的“標(biāo)準(zhǔn)格式”前后端分離項目里接口返回格式必須統(tǒng)一。我封裝了一個 Result 結(jié)構(gòu)是 code、message、data 三段式code 為 200 表示成功其他為失敗或特殊狀態(tài)碼。效果就是每個 Controller 方法直接返回 Result.success(業(yè)務(wù)數(shù)據(jù))不需要每個接口各自拼 JSON。配合 ResultCode 枚舉把錯誤碼集中管理比如 400 參數(shù)錯誤、401 未登錄、403 無權(quán)限、500 系統(tǒng)異常、1001 報價單已失效這樣前后端排查問題效率高很多。全局異常處理是保證接口穩(wěn)定的關(guān)鍵。用 RestControllerAdvice 加 ExceptionHandler 做統(tǒng)一出口業(yè)務(wù)異常拋出 BusinessException參數(shù)校驗(yàn)異常拋出 MethodArgumentNotValidException數(shù)據(jù)庫異常單獨(dú)處理。特別是數(shù)據(jù)庫唯一鍵沖突如果不單獨(dú)捕獲前端收到的堆棧信息又長又嚇人捕獲后會返回“該手機(jī)號已存在”這樣友好的提示。這部分在答辯時基本都會被問到建議好好準(zhǔn)備。3. 數(shù)據(jù)庫設(shè)計一套報價單如何拆成六張核心表3.1 表結(jié)構(gòu)總覽窗簾報價系統(tǒng)的表可以分成三組基礎(chǔ)數(shù)據(jù)表、業(yè)務(wù)單據(jù)表和系統(tǒng)權(quán)限表?;A(chǔ)數(shù)據(jù)包括客戶、面料、輔料、窗戶信息業(yè)務(wù)單據(jù)包括報價單、報價明細(xì)、訂單、生產(chǎn)記錄、收款記錄權(quán)限表就是用戶、角色、用戶角色關(guān)聯(lián)。一張報價單從錄入到成交路徑大致是先建客戶檔案再錄量窗信息然后基于面料和輔料生成報價單主表和明細(xì)客戶下單后轉(zhuǎn)成訂單訂單按窗戶拆成生產(chǎn)任務(wù)安裝完成后登記收款。表之間的關(guān)系用一句話概括客戶1對多報價單報價單1對多明細(xì)報價單1對1轉(zhuǎn)訂單訂單1對多生產(chǎn)任務(wù)。3.2 核心表結(jié)構(gòu)與關(guān)鍵字段下面給出報價和訂單最核心的幾張表設(shè)計字段以實(shí)際項目為準(zhǔn)做了精簡。CREATE TABLE quote ( id bigint NOT NULL AUTO_INCREMENT, quote_no varchar(32) NOT NULL COMMENT 報價單號規(guī)則QDyyyyMMdd序號, customer_id bigint NOT NULL COMMENT 客戶ID, customer_name varchar(64) DEFAULT NULL COMMENT 冗余客戶姓名列表不join, total_fabric_amount decimal(10,2) NOT NULL COMMENT 面料金額, total_accessory_amount decimal(10,2) NOT NULL COMMENT 輔料金額, total_amount decimal(10,2) NOT NULL COMMENT 總價, discount_amount decimal(10,2) NOT NULL COMMENT 優(yōu)惠金額, final_amount decimal(10,2) NOT NULL COMMENT 應(yīng)收金額, status tinyint NOT NULL COMMENT 0草稿 1已報價 2已確認(rèn) 3已轉(zhuǎn)訂單 4已失效, sales_user_id bigint NOT NULL COMMENT 銷售員ID, create_time datetime DEFAULT NULL, update_time datetime DEFAULT NULL, deleted tinyint DEFAULT 0, PRIMARY KEY (id), KEY idx_customer_id (customer_id), KEY idx_sales_user_id (sales_user_id) ) ENGINEInnoDB COMMENT報價單主表; CREATE TABLE quote_item ( id bigint NOT NULL AUTO_INCREMENT, quote_id bigint NOT NULL, window_id bigint NOT NULL COMMENT 窗戶ID, fabric_id bigint NOT NULL, fabric_name varchar(64) DEFAULT NULL, window_width decimal(8,2) NOT NULL COMMENT 窗寬單位米, window_height decimal(8,2) NOT NULL COMMENT 窗高單位米, fold_ratio decimal(4,2) NOT NULL DEFAULT 2.00 COMMENT 褶皺倍率, piece_count int NOT NULL COMMENT 幅數(shù), fabric_meters decimal(10,2) NOT NULL COMMENT 面料用量米數(shù), unit_price decimal(10,2) NOT NULL COMMENT 面料單價, fabric_amount decimal(10,2) NOT NULL COMMENT 面料金額, accessory_amount decimal(10,2) NOT NULL COMMENT 輔料金額, subtotal decimal(10,2) NOT NULL COMMENT 小計, PRIMARY KEY (id), KEY idx_quote_id (quote_id) ) ENGINEInnoDB COMMENT報價明細(xì)表;這段 SQL 里有幾個設(shè)計決定值得說道。第一個是金額和尺寸全部用 decimal金額用 decimal(10,2)尺寸用 decimal(8,2)單位統(tǒng)一是米而不用厘米避免前端展示和計算時到處換算。第二個是客戶姓名、面料名稱做了冗余列表頁展示時減少聯(lián)表查詢這是典型的空間換時間。第三個是狀態(tài)字段用 tinyint 加代碼里的枚舉映射不要在數(shù)據(jù)庫里直接存中文否則改狀態(tài)名要改庫而且接口返回也要做轉(zhuǎn)換。3.3 面料與輔料報價的“價格基礎(chǔ)數(shù)據(jù)”報價引擎要計算就離不開面料和輔料兩張基礎(chǔ)表。面料表 fabric 的關(guān)鍵字段包括面料名稱、類別遮光布/雪尼爾/高精密/絨布/真絲棉等、單價、計價方式按米還是按平米、布幅寬、損耗率、顏色/花紋描述、圖片URL。輔料表 accessory 的關(guān)鍵字段包括名稱羅馬桿/靜音軌道/水波簾頭/花邊/掛球/鉛墜等、單位、單價、是否按長度為計費(fèi)單位。這里要注意有的輔料按米算有的按個算所以輔料表里加一個 charge_type 字段區(qū)分是按長度計費(fèi)還是按數(shù)量計費(fèi)價格引擎在匯總時會按不同方式處理。面料價格是會波動的所以我在面料表里加了一個 price_version 字段。每次改價不直接update舊記錄而是插入一條新版本記錄報價單明細(xì)里會冗余當(dāng)時的 unitPrice。這樣做的直接好處是一個月后客戶來問“我當(dāng)時這個面料多少錢”系統(tǒng)里能查到歷史報價快照。這本身也是報價系統(tǒng)比Excel強(qiáng)很多的地方——Excel在布料漲價后覆蓋保存歷史價格就徹底沒了。4. 智能報價引擎這個項目最有技術(shù)含量的部分4.1 窗簾用料的行業(yè)計算邏輯窗簾報價最核心的公式不是簡單的“長乘寬”而是由一系列行業(yè)規(guī)則組成的計算鏈條。先把關(guān)鍵參數(shù)說清楚窗寬 W實(shí)際量得的窗戶寬度單位米窗高 H實(shí)際量得的窗戶高度單位米褶皺倍率 K一般取 1.82.2決定了窗簾掛起來的褶皺效果。遮光布通常取 1.8紗簾取 2.0高檔絨布可能取 2.2布幅寬 F面料門幅常見 1.5m 定寬、2.8m 定高折邊量 S上下卷邊、包邊增加的米數(shù)習(xí)慣取 0.2m計算思路分兩種情況。如果是“定高布”也就是面料幅寬 2.8m 作為高度方向買寬用料寬度 窗寬 × 褶皺倍率再考慮拼接總米數(shù) 用料寬度 / 布幅寬向上取整× 布幅寬實(shí)際就是按整幅買。如果是“定寬布”面料 1.5m 是寬度方向先算幅數(shù) ceil(用料寬度 / 1.5)再算每幅需要的高度 窗高 折邊量最終面料米數(shù) 幅數(shù) × 每幅高度。這個“幅數(shù)”概念是窗簾報價和普通面積計算最大的區(qū)別也是報價引擎里最容易出bug的地方。為了讓大家看得更直觀我舉個具體例子。一扇窗寬 3.2m、高 2.6m做 2.0 倍褶皺用 1.5m 定寬布。用料寬度 3.2 × 2.0 6.4m幅數(shù) ceil(6.4 / 1.5) 5 幅。每幅高度 2.6 0.2 2.8m。面料總米數(shù) 5 × 2.8 14m。如果這布單價 68 元/米面料費(fèi)用就是 14 × 68 952 元。再加軌道費(fèi)用 窗寬 × 軌道單價比如 3.2 × 30 96 元。這扇窗的基礎(chǔ)報價就是 1048 元。系統(tǒng)里把每一步中間結(jié)果都存到明細(xì)表客戶問起來可以逐項解釋。4.2 價格引擎的代碼實(shí)現(xiàn)與 BigDecimal 取整這套邏輯落到代碼里我用了一個獨(dú)立的 CurtainCalcEngine 類輸入?yún)?shù)封裝成 QuoteCalcParam輸出封裝成 QuoteCalcResult。核心計算片段如下public QuoteCalcResult calc(QuoteCalcParam param) { BigDecimal width param.getWindowWidth(); BigDecimal height param.getWindowHeight(); BigDecimal ratio param.getFoldRatio(); BigDecimal fabricWidth param.getFabricWidth(); // 1. 計算需要的布料寬度 BigDecimal needWidth width.multiply(ratio); // 2. 計算幅數(shù)向上取整 BigDecimal pieceCount needWidth.divide(fabricWidth, 0, RoundingMode.CEILING); // 3. 每幅高度 窗高 折邊量 BigDecimal heightPerPiece height.add(HEM_AMOUNT); // 4. 面料總米數(shù) BigDecimal totalMeters pieceCount.multiply(heightPerPiece); // 5. 面料金額 BigDecimal fabricAmount totalMeters.multiply(param.getUnitPrice()); // 6. 輔料金額軌道按窗寬計費(fèi) BigDecimal railAmount width.multiply(param.getRailPrice()); // 7. 小計 BigDecimal total fabricAmount.add(railAmount); return QuoteCalcResult.builder() .pieceCount(pieceCount.intValue()) .fabricMeters(totalMeters) .fabricAmount(fabricAmount) .railAmount(railAmount) .totalAmount(total) .build(); }這段代碼里有幾個坑都是我實(shí)際踩過的先說最典型的兩個。第一個是除法必須指定舍入模式。BigDecimal 的 divide 如果不指定精度和 RoundingMode遇到除不盡的情況直接拋 ArithmeticExceptionnon-terminating decimal expansion。我第一次跑測試數(shù)據(jù)時裝了一個窗寬 1.1m 的用例算幅數(shù) 1.1×2.0/1.51.4666...系統(tǒng)當(dāng)場崩了。改成 divide(fabricWidth, 0, RoundingMode.CEILING) 后結(jié)果是向上取整到 2 幅這才符合行業(yè)習(xí)慣——布料只能多買不能少買。第二個是金額計算的精度控制。單價是 decimal(10,2)算出來的金額可能是 68 × 14 952.00看起來沒毛病但如果讓系統(tǒng)保留多位小數(shù)再傳到前端就會出現(xiàn) 952.00000001 這種顯示。建議所有金額計算最后都要調(diào) setScale(2, RoundingMode.HALF_UP)。我在金額字段的 setter 處沒有做統(tǒng)一處理而是在每個引擎入口出口都有一步“收攏精度”的操作這個習(xí)慣比到處用 DecimalFormat 靠譜得多。4.3 階梯折扣與審批流報價系統(tǒng)的“生意感”真實(shí)門店不會按標(biāo)價賣東西系統(tǒng)必須支持折扣。我設(shè)計了 DiscountStrategy 策略接口具體的實(shí)現(xiàn)有三類普通客戶不打折用量達(dá)到 30 米以上享受 95 折50 米以上 9 折會員在折扣基礎(chǔ)上再 95 折。為什么用策略模式因?yàn)殚T店促銷活動三個月就會調(diào)一次如果把這些判斷用 if-else 堆在報價 Service 里每次調(diào)策略都要改業(yè)務(wù)代碼改完還要重新測試整個流程。用策略模式每種折扣是一個獨(dú)立的類新增一種活動就新增一個類部署時通過配置中心或數(shù)據(jù)庫字典切換既不碰舊邏輯也方便回滾。折扣還要配合審批流。我做了這樣的規(guī)則銷售員默認(rèn)最多能給 95 折想給 9 折必須申請店長審批超過 8.5 折則要店長加財務(wù)雙重審批。審批記錄表 approve_record 保存報價單ID、申請理由、申請金額、審批人、審批意見、審批時間。報價單的最終應(yīng)收金額必須從“審批通過后的價格”重新計算而不是銷售員在前端隨便填否則審批就形同虛設(shè)。像這類規(guī)則在畢設(shè)論文里寫清楚設(shè)計動機(jī)比堆技術(shù)點(diǎn)更有說服力。5. 訂單管理與狀態(tài)流轉(zhuǎn)從報價到交付的完整閉環(huán)5.1 狀態(tài)機(jī)把訂單流程“鎖死”報價經(jīng)過客戶簽字確認(rèn)之后就轉(zhuǎn)成正式訂單。訂單狀態(tài)我定義了六個待確認(rèn)、待生產(chǎn)、生產(chǎn)中、待安裝、已完成、已取消。從待確認(rèn)到生產(chǎn)中的遷移并不是任何狀態(tài)下都能跳的比如待生產(chǎn)才能改交貨日期已完成才能發(fā)起售后已取消不能再回到生產(chǎn)中。如果只用一個 status 字段到處 set狀態(tài)很容易被繞亂。我用一個狀態(tài)機(jī)配置類來管理合法遷移private static final MapOrderStatus, SetOrderStatus TRANSITIONS new HashMap(); static { TRANSITIONS.put(OrderStatus.PENDING_CONFIRM, Set.of(OrderStatus.PENDING_PRODUCE, OrderStatus.CANCELED)); TRANSITIONS.put(OrderStatus.PENDING_PRODUCE, Set.of(OrderStatus.PRODUCING, OrderStatus.CANCELED)); TRANSITIONS.put(OrderStatus.PRODUCING, Set.of(OrderStatus.PENDING_INSTALL)); TRANSITIONS.put(OrderStatus.PENDING_INSTALL, Set.of(OrderStatus.COMPLETED)); }所有狀態(tài)遷移都在一個 service 方法里統(tǒng)一校驗(yàn)非法遷移直接拋 BusinessException“訂單當(dāng)前狀態(tài)不允許該操作”。這樣做的好處是不管以后從后臺還是APP進(jìn)來改狀態(tài)都必須走同一個入口規(guī)則不會出現(xiàn)兩套。答辯時把狀態(tài)機(jī)畫出來評委一眼就能看到你對業(yè)務(wù)閉環(huán)的理解。注意我這里強(qiáng)調(diào)“畫出來”是指論文里的示意圖不是項目必須輸出的圖表組件。5.2 按“扇”排產(chǎn)訂單子表的細(xì)節(jié)設(shè)計一個訂單可能包含好幾扇窗戶而工廠生產(chǎn)是按扇推進(jìn)的。整單一起排產(chǎn)有個現(xiàn)實(shí)問題落地窗和飄窗可能不在同一天加工完成客戶收到貨的時間也不一樣。所以我在訂單下建了一張 order_window 子表記錄訂單里每一扇窗戶對應(yīng)的尺寸、面料、褶皺倍率、生產(chǎn)狀態(tài)、安裝日期。主訂單狀態(tài)是匯總值子表各自推進(jìn)自己的生產(chǎn)狀態(tài)。這樣銷售員在后臺可以看到“這單里落地窗已經(jīng)在安裝了飄窗還在排產(chǎn)”而不是籠統(tǒng)地看到一個“生產(chǎn)中”。這張子表讓我在演示時非常加分。我做了個訂單詳情頁左側(cè)是訂單主信息右側(cè)是一扇窗一張卡每張卡上有布料圖片、尺寸、狀態(tài)、預(yù)計安裝時間。你現(xiàn)場演示的時候點(diǎn)一張卡的“開始生產(chǎn)”整個頁面狀態(tài)跟著變比純列表直觀得多。5.3 收款記錄與銷售報表訂單完成后進(jìn)來的是錢。收款表 payment_record 記錄每筆收款訂單號、收款類型定金/尾款/退款、支付方式現(xiàn)金/微信/支付寶/刷卡、金額、收款人、時間。財務(wù)對賬時按天匯總導(dǎo)出 Excel 清單用 EasyExcel 實(shí)現(xiàn)。相比直接用 POIEasyExcel 在導(dǎo)出大數(shù)據(jù)量時的內(nèi)存占用低很多而且支持填模板導(dǎo)出生成一套帶格式的《門店日銷售匯總表》很方便。關(guān)于報表我做了一個銷售看板按日/按月統(tǒng)計訂單數(shù)、銷售額、退款額按面料分類統(tǒng)計銷量占比按銷售員排行。圖表用 ECharts 渲染后端接口返回的是聚合查詢結(jié)果。這里有一個實(shí)用的優(yōu)化報表查詢走獨(dú)立的統(tǒng)計 SQL而不是把訂單全部查出來在內(nèi)存里算因?yàn)橛唵味嗔藘?nèi)存統(tǒng)計會慢到?jīng)]法看。6. 權(quán)限設(shè)計店長、銷售員、財務(wù)各看各的數(shù)據(jù)6.1 RBAC 角色權(quán)限模型系統(tǒng)有角色就有權(quán)限問題。我用 Spring Security JWT 做認(rèn)證和授權(quán)權(quán)限模型是最標(biāo)準(zhǔn)的 RBAC用戶表、角色表、用戶角色關(guān)聯(lián)表。三個初始角色店長、銷售員、財務(wù)/庫管。接口層用 PreAuthorize 控制訪問比如刪除報價單只允許店長操作創(chuàng)建報價單銷售員和店長都可以導(dǎo)出財務(wù)報表只有財務(wù)和店長可以。前端菜單也做了權(quán)限控制不同角色登錄后看到的菜單項不同這個用 Vue Router 的動態(tài)路由實(shí)現(xiàn)。JWT 本身是無狀態(tài)的但畢設(shè)項目里我加了一點(diǎn)“有狀態(tài)”的處理把 JWT 的 tokenId 存到 Redis設(shè)置過期時間用戶修改密碼或賬號被禁用時把 tokenId 拉進(jìn)黑名單。這樣既保留 JWT 的輕量又能解決“改密碼后舊 token 還能用”的尷尬。這個設(shè)計在面試或答辯時能聊很久。6.2 行級數(shù)據(jù)權(quán)限同一個角色看到的數(shù)據(jù)也得分RBAC 解決的是“誰能訪問這個接口”但解決不了“銷售員張三不應(yīng)該看到銷售員李四的報價單”。這種按數(shù)據(jù)行劃分的權(quán)限叫數(shù)據(jù)權(quán)限。我在 MyBatis Plus 的查詢層做了處理用一個自定義攔截器讀取當(dāng)前登錄用戶信息執(zhí)行報價單列表查詢時自動拼接條件。銷售員只能查 user_id 自己的數(shù)據(jù)店長不加限制財務(wù)按部門或全店范圍查。實(shí)現(xiàn)上有個細(xì)節(jié)攔截器里拼接條件容易讓 SQL 變得不可控尤其跟分頁、排序組合時。我的做法是只有在特定方法的 Mapper 接口上才啟用數(shù)據(jù)權(quán)限攔截器不是全局生效。在畢設(shè)項目里重點(diǎn)把這個邏輯講清楚就夠了為什么需要行級權(quán)限、怎么用攔截器實(shí)現(xiàn)、怎么避免誤傷其它查詢。這個問題是答辯的高頻追問提前想好答案能省很多現(xiàn)場卡殼的風(fēng)險。6.3 文件存儲布料圖片用 MinIO 還是本地磁盤系統(tǒng)里每款布料要有平鋪圖和效果圖報價單詳情頁要能展示布料小圖。圖片上傳的存儲方案畢設(shè)里常見的有兩種存本地磁盤路徑、存對象存儲。如果項目要部署在服務(wù)器上演示本地磁盤是最省事的配置一個虛擬路徑映射即可。但熱門技術(shù)詞里也有人提到 springboot 整合 minio如果你的畢設(shè)想展示企業(yè)級技術(shù)棧把圖片上傳到 MinIO 是很好的加分項。MinIO 的接口兼容 S3 協(xié)議Spring Boot 里集成很簡單上傳后返回一個可訪問的 object URL前端直接img展示。我的建議是如果時間充裕用 MinIO如果趕時間本地磁盤 Nginx 映射完全夠用。不要為了炫技術(shù)把項目復(fù)雜化重點(diǎn)是業(yè)務(wù)閉環(huán)能跑通。布料圖片的 URL 存到 fabric 表里報價明細(xì)里冗余一張縮略圖 URL這樣列表頁不需要再 join 面料表取圖片。7. 實(shí)戰(zhàn)踩坑記錄與答辯準(zhǔn)備7.1 我踩過的四個大坑第一個坑是金額精度。早期我用 double 類型存金額測試時 0.1 0.2 不等于 0.3 這種經(jīng)典問題直接出現(xiàn)在報價單上。后來全部改成 BigDecimal前端傳過來的金額字符串也用 BigDecimal 構(gòu)造堅決不用 Double.parseDouble。凡是涉及金額的相加、相乘、折扣必須走 BigDecimal 并指定舍入模式這個習(xí)慣我建議從第一天就養(yǎng)成。第二個坑是 LocalDateTime 的序列化。Spring Boot 默認(rèn)把 LocalDateTime 序列化成數(shù)組格式前端拿到 2024,5,20,15,30,0 一臉懵。統(tǒng)一在 Jackson 配置里注冊 JavaTimeModule并且設(shè)置格式為 yyyy-MM-dd HH:mm:ss。這個配置很小如果不處理前后端時間顯示就會出各種奇奇怪怪的格式。第三個坑是 MyBatis Plus 邏輯刪除和唯一索引沖突。我給客戶表加了 deleted 字段做邏輯刪除同時又給手機(jī)號字段建了唯一索引。結(jié)果用戶 A 刪除了再新增一個同手機(jī)號的用戶 B數(shù)據(jù)庫直接報唯一鍵沖突——因?yàn)檫壿媱h除的記錄還在表里。解決方案是把 deleted 字段放進(jìn)聯(lián)合唯一索引也就是 UNIQUE KEY uk_mobile_deleted (mobile, deleted)這樣不同 deleted 值的記錄不算重復(fù)。這個坑比較隱蔽網(wǎng)上資料不算多踩過一次就很酸爽。第四個坑是列表頁的 N1 查詢。報價單列表頁如果每行都要查一次明細(xì)去算金額100 條報價單就是 1 100 條 SQL。后來改成先批量查詢所有報價單再用 in 查詢所有明細(xì)在內(nèi)存里按 quoteId 分組組裝。數(shù)據(jù)量上來后這個優(yōu)化的效果體感非常明顯。7.2 常見問題速查表問題現(xiàn)象可能原因解決方式報價單算出來的金額比預(yù)期高褶皺倍率設(shè)置過高或幅數(shù)向上取整檢查面料幅寬與倍率配置窗簾是整幅銷售不能按小數(shù)買BigDecimal 除法報 ArithmeticException未指定舍入模式divide 必須帶 scale 和 RoundingMode前端時間顯示成數(shù)組LocalDateTime 未做序列化配置注冊 Jackson JavaTimeModule設(shè)置時間格式刪除客戶后無法新增同手機(jī)號客戶邏輯刪除與唯一索引沖突聯(lián)合唯一索引加上 deleted 字段改了密碼舊 token 仍有效JWT 無狀態(tài)未做服務(wù)端校驗(yàn)Redis 黑名單或版本號校驗(yàn)列表頁接口非常慢循環(huán)查詢明細(xì)的 N1 問題批量查詢 內(nèi)存分組7.3 答辯演示準(zhǔn)備數(shù)據(jù)與話術(shù)做完項目一定要準(zhǔn)備一套完整的演示數(shù)據(jù)而且最好是一套有“故事感”的數(shù)據(jù)。我的演示數(shù)據(jù)是一戶三室兩廳業(yè)主客廳落地窗、主臥飄窗、次臥平開窗選了兩款遮光布和一款紗簾報價 8000 多然后打折審批、轉(zhuǎn)訂單、排產(chǎn)、收款、看報表。整套流程走下來五分鐘能把系統(tǒng)所有核心能力都覆蓋到。我見過不少同學(xué)答辯時現(xiàn)場臨時錄數(shù)據(jù)錄到一半報錯或者數(shù)據(jù)太少看不了報表場面非常尷尬。提前把演示腳本寫好每一步點(diǎn)哪里、用什么臺詞解釋至少走兩遍。話術(shù)上有一個建議不要只說“我用了 SpringBoot 和 MyBatis Plus”要說“這個系統(tǒng)的核心是一個報價引擎它把窗簾行業(yè)的幅數(shù)計算和褶皺倍率固化成可配置參數(shù)再結(jié)合策略模式實(shí)現(xiàn)折扣體系”。技術(shù)點(diǎn)要落到業(yè)務(wù)上評委聽到的不是名詞而是你解決問題的思路。做這個項目給我最大的體會是垂直行業(yè)的小系統(tǒng)最值錢的不是框架版本多新而是你有沒有真正吃透業(yè)務(wù)規(guī)則。我把報價引擎反復(fù)算了三遍拿家里真實(shí)窗簾尺寸驗(yàn)證發(fā)現(xiàn)手工算和系統(tǒng)算能對上時才覺得這個系統(tǒng)真的“活”了。如果你正準(zhǔn)備做類似的畢設(shè)項目我的建議是先找一間真實(shí)窗簾門店聊一小時記錄他們的報價流程和一張真實(shí)的報價單這比對著文檔設(shè)計三天都管用。有了業(yè)務(wù)細(xì)節(jié)表結(jié)構(gòu)、算法、界面、甚至論文目錄都會自己長出來。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
黄页av| 秋霞一级A片黄色视频| 婷婷激情五月综合| 韩国黄色片精品久久久| 国产精品久久蜜乳av| 成人av免费观看| 亚洲一曲日韩精品| 欧美久久久15P| 日韩综合无码色欲vv| 欧美熟女丝袜| 一区二区三区欧美激情| 五十路熟女人妻一区二区在线观看| 天天干,天天日| 欧美亚洲天天| 动漫av中文| 特级丰满少妇一级AAAA爱毛片| 国外91| 欧美亚洲自拍另类人妻| 天天爽天天| 色婷婷色99国产综合精品| 国产高清成人免费视频| 超碰人妻中文在线| www.99在线| 国产一级高跟丝袜| 91亚州| 一区二区视频你懂的| 女人喷水视频在线观看| 欧美美女视频| 欧美肥臀在线| 人妻人妻天天碰| 人人妻人人操人人乐| 精品国产91av一区二区三区| 久久久久亚洲熟妇熟女| 熟妇人妻精品一区二区| 欧美青青视频| 欧美成人综合| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 欧美少妇熟女| 亚洲激情综合另类男同| 国产久久成人| 日韩欧美性爱电影在线观看| 久久国语| 色综合99999| 日韩欧美加勒比| 91热热色| 青娱乐亚洲热| 人妻在线大香蕉| 五月天激情小说| 九九成人视频| 欧美一区91大爱| 亚洲 综合 欧美| 日韩免费看黄片| 98人妻精品一区二区色欲| 黄片www视频免费| 人妻丰满熟妇一区二区三| AV一区观看| 色色色色日本| 少妇干B| 激情接吻视频久久久久久| 人妻-91porn| 亚洲密乳AV| 国产精品一区二区手机看片| 欧美牲| 亚洲国产成人精品999| 欧美精品97| av影院十区| 亚洲综合69| 欧美亚洲韩国视频十五区| 九九九热精品| 亚洲素人综合| 伊人网青青| 久操com| 日韩一级二级| 九色 蝌蚪 熟女自 | 亚洲欧美综合区自拍另类| 亚洲色色探花| 手机在线看片免费人成视频| 啊啊啊啊嗯嗯嗯用力好爽| 青青草自拍视频在线播放| 四虎视频在线观看| 国产久久久| 国产亚洲精品农村妇女| 欧美专区第一页| 91中出在线| 蜜臀无码一区二区| 91五十路| 人人射人人操人人摸| 熟女突然公开看18禁影片 | 香蕉免费一区二区三区不读| 欧美精品三级黄片| 欧美日韩性爱精品| 欧美操逼视频二区| 久久在肏| 一起草av| 色色九区| 香蕉人人操tv| 怡红院亚洲怡春院av| 97色亚洲| 六月激情网| 青青草无码视频| 亚洲A曰本VA欧美VA视频| 亚洲天堂 视频你懂的| 蜜臀精品1区2区| 可以免费观看的av| 日韩大香蕉AV影片| 成人三一级一片aaa| 大香蕉专区| 欧美老熟另类| 亚洲欧美首页| 久久精彩视频| 天天综合~91| 无码9区| 91精品国产乱码| 操逼天美3区| 亚洲91av| 色哟哟AⅤ| 日韩超碰精品综合| 你懂的在线观看区国产| 欧美男女午夜啪啪| 一区二区三区高清天码| 欧美页片| 强奸乱伦日韩AV| 91性感网站| 国产精品无码av嫩草| 中文乱码99| jiujiujiujingpin| 中文字幕一区二区日韩网| 午夜欧美J进J出白浆流出久久久 | 色综合色综合网| 精精品人妻一区二区三区| 97超碰日韩| 蜜桃色色网站视频三区| 91亚州| 旡码电影特区| 中文字幕人成乱码熟女香港| 我爱搞逼综合网| 日韩黄色一区二区三区| 人人妻人人爽人人精品| 1024亚洲中文字幕久在线看片你懂的 | 白丝jkav| 少妇被c 黄 免费观看| 五月天丁香欧洲日韩| 天操天操夜操夜月月年年操操 | 十八禁电影伊人网| 五月丁香六月婷综合成人综合| 91精品导航| 久久五月份| 丁香九月婷婷| 色综合超碰超| 69精品少妇一区二区三区蜜桃| 九九九九热| 久久久国产三级黄色片| 免费看黄片现成| 69丨亚洲丨精品丨入口免费播放| 日本大片日本一区二区免费高清| 抽插亚洲无码| 亚洲欧洲第二视频在线观看色图| 美国一区二区免费视频| 亚州色国| www.久久| 夜色五月天| 9118禁| 青青草视频在线观看一区二区| 欧美久久人妻少妇一区二区| 无码99| 蜜乳成人AV| 夜夜青青无码影院| 嫩草 人人网精品| 99精品成人免费看| 国产精品直播在线观看直播| 国产精品一区二区麻豆| 午夜精品久久久久久久99热影院| 欧美精品999| 精品人妻中文字幕高清| 久久久久极品| 天天综合网~69| 91东京热男人的天堂| 中文字幕熟女人妻丝袜丝| 成年男人的天堂| 超碰97资源大奶| 操婷婷逼| A片三级无码| 亚洲成人日韩小说| 亚洲精品免费中文字幕| 青娱乐国产剧情av一区| 亚洲影院成人| 高清不卡 中文 人妻| 国产精品麻豆成人AV艾秋| 久操网址| 乱伦Av网| 欧美日韩在线国产在线| 国产精品干干干| 人妻人妻天天碰| 超碰4A| 色婷婷电影网| 久久99人妖视频国产| 精品久久无码午夜福利| 男人天堂网手机版婷婷| 舔舔啊| 国产亚洲精品美女| 91老熟女老女人国产老太| 91精品成人| 99啪啪视频| 久久久久骚| 五月天色五月| 东京热男人的天堂网| 狠狠干狠狠色| 亚洲一区二区三区久久 亚洲一区二区| 操逼网免费无码视频| www.超碰| 啊啊啊操一区| 日日干夜夜干| 91在线|亚| 天天爽天天| 99视频只有精品| 色婷婷五月综合| 黄片视频观看| 91少妇通奸网站| 国产精品岛国片在线观看| 岛国免费黄色网址| 操逼网站视频漫画国产| 熟女六十路| 国产免费一区在线观看| 日本有码影片下载| 亚洲文学偷乱拍啪啪啪啪 | 国产在线视频二区| 人妻 丝袜美腿 中文字幕| 自拍偷拍国产欧美日韩韩| 精品亚洲一区在线观看| 高清无码 国产精品| 中文字幕五月婷婷免费| 欧美日韩在线国产在线| 午夜福利成人免费视频| 天综合网| 婷婷六月色| 中文字幕日产av人| 亚洲熟妇综合久久久久久| 少妇熟女视频一区二区三区| 日韩成人性日韩成人性爱视频在线免费观看 | 九九热re99re6在线精品| 天天日天天看| 欧美一级特黄淫片在线观看| 深爱五月天| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 老女人老91妇女老热女| 亚洲做性| 中文字幕黄片在线| www…国产操逼| 91人人爽人人爽| 97免费视频网| 欧亚日韩中文在线| 欧美日韩性爱无码| 国产老熟女| 九九人妻| 日韩操p| 狠狠干综合| 蜜桃视频一区二区三区| 亚洲人久久久久日| 成人性爱美曰韩| 日韩精彩免费| 精品美女少妇一区二区| 成人无遮挡毛片免费看| 操91| 天美传媒精品久久视频| 强奸乱伦麻豆| 伊人青青草久久| 易易A毛视频| 99re免费视频精品全部| 久艹伊人精品综合在线| 97AV在线观看| 在线观看精品国产免费| 粉嫩AV输入| 思思热在线视频免费| 肉嘟嘟www视频在线观看高清| 亚洲综合网电影91| 欧美人妖内射| 久久久成人国产精品无码| 欧美亚男人的天堂| 超碰在线一区| AV 少妇 人妻 偷拍| 久久精品99久久久久久| 欧美综合娱乐久久| 超碰是碰在线观看| 国产农村妇女精品1区二区| 九九九九一区| 久久乐| 97国产|免费| 久操网址| 久久超碰av在线| 亚洲AV成人无码一二三久久| 蜜桃久久久久久| 九九热三级片| 国产性刺激| 国产一级舔足在线观看| 久久人妻四季| 亚洲阿v天堂无码z2018| 激情四射五月天| 日本色色视频网站| 啊啊啊啊啊舒服| 粉嫩av在线一区二区| 91国产在线精品| 欧美性爱中文字幕无线码| 人人妻人人色| 东京热男人的天堂精品| 国产欧美日产一区二区三区 - 国产欧美日 | 天天看天天在线精品| 久久最新视频免费观看| 无码丰满熟妇一区二区浪潮AV| 91电影色诱| 精品久久久久久无码| 欧美aⅴ99久久黑人专区| AV一区观看| 午夜AV污污污| 综合色图,成人综合网| 神马久久久久久| www.四虎在线| 成人性爱美曰韩| 91中文字幕在线观看| 尹人大香蕉视频在线| 久久久亚洲熟妇熟女| 91偷拍欧美亚洲| 在线岛| 久久9精品网站| 国产免费一区在线观看| 大象AV在线| 青青草色情网站视频| 青草青草久热| 69精品| 天综合网欧美| 日本高清电影欧美色图| 中日亚韩免费视频| 91老司机视频| 福利天堂| 97午夜剧场日韩| 搡老女人老妇女AAA一VU麻豆 | 1024日韩| 久久久亚洲Av| 国产一二三在线视频五十路| 日本九九久久99| 天天插天天干| 在线中文字幕极品av| 亚洲欧美骚| 国产日韩人人| 九九热免费国产视频婷婷伊人五月| 人人干黄色| 日韩性色| 国产成人啪一区二区| 91老熟女逼| 精品亚洲国产成人AV制服丝袜| 99999精品| 中文字幕乱偷人妻久久艾草网| 亚洲综合激情五月久久| 国产精品自拍xxxx| 国产精品一区av在线| 国产精品不卡少妇白| 亚洲污污网站| 北京美女一区二区| 青青草九九九九九| 操91| 亚洲色五月| 超碰人人超在线观看| 久艾草在线精品视频在线观看| 自拍啪啪视频| 97综合久第一页| 精品久久久久久久久久久久| 九九九久久久久| 人妻啊啊人妻啊| 国产吞精a级片激情电影| 久久精品国产亚洲AV高清演员表| 麻豆久久精品亚洲精品88| 夜夜无码| 91丝袜激情在线| 日日嗷| 又大又白奶子| 日本欧美m v精品网站加| 亚洲综合另类小说色区亚洲成av人片在www | 色婷婷综合网| 婷婷综合| 国产亚洲99久久精品| WWW黄片COM| 老司机深夜影院18未满| 日日噜噜夜夜狠狠视频无| 91精品人| www.av家庭乱伦| 亚洲欧洲成人在线电影| 日韩欧美大片免费高清啪啪| 大香蕉一级黄色片久久| 一级一性爱免费视频| 精品国产乱码久久久久久蜜臀| 夜夜嗨一区| 国产精品夜夜夜| 91色综合色| 久久久久久裸体| 97天天插| 国产精品噜噜噜日日日| 色臀AV| 热99这里有精品综合久久| 91狠狠综| 狠狠中文字幕| 亚欧韩av| 九九玖玖精品| 大肉棒导航| 国内外毛片在线观看| 大香蕉2017| 欧洲亚洲少妇| 成人a大片在线观看| 精品亚洲国产成人av网站| 国产1769在线| 欧美熟爽综合| 久久人爽| 97欧美日韩| 国产精品区在线12p| 333kkkk·亚洲com久久| 亚洲欧美大香蕉| 少妇人妻精品| 成人区人妻精品一| 夜草网站| 国模精品娜娜一二三区| 色av中文字| 色在线69堂| 射久久| 99在线无码精品秘 入口黑人 | 蜜臀久久99精品久久久久久| 日韩免费高清大片在线| 人、人、摸,人、人、草| 超碰av人人人| 玖玖超碰熟| 久久久久九九九| www.91理论| 亚洲天堂区| 亚洲日韩久久精品一区| 亚洲情色综合| 伊人五月天| 亚洲一二三| 久 久无码人妻AV| 亚洲成人无码影院| 欧美一区二区情色| 欧美AB在线| 最新的亚洲无吗| 亚洲国产综合久久天堂| 亚洲欧洲综合| 日韩一区二区三区四区五区 | 熟妇的味道HD中文字幕| 小少妇| 人妻五十路在线| 国产女同在线观看视频| 很很干很很操| 国产蜜臀精品一区二区尤物| 国产精品制服丝袜清纯唯美| 欧美美女在线高潮999| 国产综合久| 日本www操操操| 日本东京热大香蕉a片| 日韩电影在线观看网址| 男人的天堂2010| 亚州黄站| 99热最新| 久久久啊啊啊| 丁香六月激情综合| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 和协影院中文字幕三区| 日韩综合无码一区久久92| 99精品免费| 五月天久久人妻| 视频分类 国内精品| 96久久久精品| 黄色欧美性爱视频| 久9综合在线| 亚洲欧美日韩精品久| 天天操天天日青青草超碰av| 激情国产乱伦Av| 粉嫩AV输入| 亚洲最新av无码成人精品区| 日韩二区三四区五区六区在线看| 日韩精品黄片免费观看| 亚洲在线A| 国产67194| www欧美91| 久久精品一区二区三区不卡| 美女久久久| 久操九九九九| 先锋激情∨在线视频播放| AV中文字幕剧情1区2区3| 免费伦费视频在线观看| 五十路熟女,国产欧美精品区一区二区三区 | 日韩素人无码一区二区三区三州| 国产品精品自在在线午夜免费| 国产suv精品一区二区四区999| 热99这里有精品综合久久| 夜夜操av亚洲一区二区| 制度丝袜99| 少妇熟女视频一区二区三区| 视频二区美腿丝袜制服人妻欧美| 1000部熟女视频在线观看| 啊啊啊啊二区好大| 国产福利精品最新在线| 久久精品久| 97公开久久| www网站黄| 天天射日日干| 澳门人妻久久| 國產尤物AV尤物在線觀看| 欧美男人的天堂| 狠狠激情综合狠狠操中文字幕| 色图综合| 色偷综合| 热天堂一区二区| 男女性感激情网站| 久久久久久九| 久久久久婷婷精品av电影| 人妻啊啊人妻啊啊| 91快色色色色色| 久夜视频| 88在线一区二区三区| 亚洲情色1区| 久久久久九九九| 国产精品不卡高清在线观看| 色97国产69香蕉| 欧美日韩免费专区在线| 99久久婷婷| 密乳AV免费观看| 91欧美综合| 九热超碰| 91爰爱欧美| 色五91| 无遮挡猛进视频免费无限观看| 亚洲欧美日韩制服另类| 蜜臀久久99精品久久久久久| 亚洲AV不卡在线观看| 亚洲人在线| 精品少妇后入一区二区三区四区人妻巨乳| 国产精品制服丝袜清纯唯美| 丰满人妻被猛烈进入中| 色图四区| 欧美日韩亚洲少妇寂寞影院正在播放| 国内操逼视频二区| 久久的网站啊啊啊啊啊| 国产亚洲人妻综合日韩 久久| 久久久免费的精品| 色综合美国| 日韩精品黄片免费观看| 国产亚洲日韩在线三区黑人| 亚洲网站一区二区在线| 亚洲91色| 欧美加勒比| 97综合激情| 人伦四五区| 无码操逼天堂| 后入福利视频| 国产人妻精品一区二区三区秋霞 | 久久黄人人爽视频| 亚洲高清欧美总合| 香蕉精品二区二区| 亚洲欧美碰碰| 五十路三区在线| 日本一二三免费久久| 国产亚州高清国产拍精| 国产51色综合久久免费| 97爱b| 91色夜| 欧美性爱十八禁| 欧美日本天堂| 超碰午夜| 性九九九九九九| 亚洲十八禁止| 天欧美在线| 亚洲97网站| 色哟哟av| 手机在线大香蕉| 欧美翘臀视频网站一区二区三区| 96一区二区| 亚洲综合九九| 免费看黄片现成| 无遮挡一级毛片视频免费的| 一级黄色性爱A级片| 精品久久久久久中文| 国模无码一区二区三区在线| 岛国片在线观看视频亚洲| 俺去也婷婷| 中文字幕加勒比海高清无码免费视频| 国产乱弄免费在线视频。| 情侣操 逼视频99| 欧美精品亚洲精品日韩传电影| 国产精品丝袜在线| 亚洲伊人久久综合97| 99久久婷婷丁香| 国产67194| 蜜臀AV一区二区三区激情综合| 亚洲揄拍网| 日韩天天综合| 蜜乳AV免费观看| 人妻中文字幕日韩电影| 又黑又大又粗| 九九九九97| 国产剧情在线| 一牛影视成人片免费| 久久免费精彩视频| 999综合色| 黄色工厂这里只有精品| AV和黑人在线播放| 亚洲成人av色网| 蜜桃久久精品一区二区三区| 蜜臀网 一区| 欧美天天干| 人妻少妇蜜桃视频欧美一区| 日韩精品系列| 国产在线观看91精品一区| 婷婷色影院| 熟女一区二区三区| 国产精品香蕉| 欧美做爰无码A片视频| 96精品久久久| 久久国产熟女影院| 夜夜操二区| 啊啊啊啊好疼视频| heyZO天然素人无码AⅤ专区| 国产精品久久久亚洲一区| 东北操逼| 多毛小伙内射老太婆| 久久免费中文字幕在线观看| 69久久| 91三级理论片播放器| 亚洲三级网址久久最新| 亚洲毛片久久| 中文字幕性感少妇av| 亚洲成人色情五月天丁香花| 男啪女色黄无遮挡免费观看| 婷婷色色五月天| 欧亚日本情色| 亚洲欧美日韩精品久| 国产亚洲色婷婷99精品91| yiqicaoav| 亚洲国男人的天堂| 久久这里只| 激情久久久| 日韩干B| 乱伦3P视频| 欧美在线 亚洲| 亚洲成人日韩小说| 色臀aV| 91人妻做a观看视频| 国产av热热色| 久久美女国产| 欧美国产操逼| 欧美日韩操逼嗦吊| 一本色道久久综合亚洲二区三区| 免费作爱一级视频| 97欧美色综合| 性爱av在线免费观看| 亚洲色综网| 亚洲欧美国产日本一区二区三区| 婷婷久久久精品| 五月大香蕉| 伦理第一页| 高潮内射在线| 久热精品在线国产| av东京热男人的天堂| 久草网站免费在线观看| 夜夜操夜夜高潮夜夜爽国产精品区| 人妻 中文 日韩| 日韩特一级久久| 国产精品香蕉热久久新品| 亚洲日韩狠狠撸视频| 91久久婷婷| 欧美日韩中文视频播放| 精品国产91久久久久久一区黄无| 26uuu偷拍亚洲欧洲综合| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 午夜精品久久久久久久男人的天堂| 国产一区在线看| 一二三啪啪专区| 性色生活片久久毛片婬片免费放女人一级毛片| 久久大精品乱码视频人妻熟女| 久久久久久精品免费看A级| 综合自拍| 欧美永久激情一区二区| av在线一区二区三区| 91美女精品| 麻豆国产原创AV色哟哟 | 人人澡人人澡人人| 色婷婷五月天| 亚洲欧洲综合av在线| 中出91视频| 国产有码一区| 天天色播亚洲综合网站| AV中亚| 走光一区92下载| Julia在线播放亚洲久久| 久久免费99精品久久久久久| 亚洲极品| 欧美黄色图片| 五月婷婷无码| 久久av一级av少妇av高潮| 在线天堂资源亚洲| 综合久久99亚洲人妻中文在线| 4399成人黄A片| 日韩欧美午夜一区二区| 蜜臀网 一区| 精品美女久久一二三| 91 刺激在线| 无码WWW免费视频网站| 国产深喉视频一区二区| 日韩人人精品| 伊人网在线观看| 素人播放一区| 亚洲欧美日韩综合在线尤物| 亚洲色图尤物视频 | 久久久工口| 婷婷久热| 久久久久成人亚洲国产| 日韩av电影成人在线| 九九九九一区| 9精品久久| 丰满翘臀美女影院视频| 强奸a片网| 91人妻精华帖| 国产一区二区免费福利片| 久久二| 蜜臀久久99精品久久久久电影| 伊人991| 最新亚洲风情电影| 色穴精品| 欧美精品97| 日本道日本道中文字幕日本道最新日本道在线观看| 婷婷久草一区二区三区| 日本精品第一视频在'| 2018天天干在线视频| 精品国模无码| 美女天天干| 久久人妻| 久久专区| 东京热一区二区中文字幕| 91第一页| 淫荡网址| 秋霞午夜成人福利片片| 国产传媒日韩欧美| 97色亚洲| 老司机福利青青草| 亚洲婷婷综合网| 国产在线播放成人免费| 黄骗免费网站| 国产精品内射婷婷一级二| 人妻三级在线中文字幕| 亚洲无992tv| 国产精品999aaa| A级国产欧美激情在线| 天天影视色香欲综合网小说| 国内偷拍精品一区二区| 日韩在线欧美精品一区二区| 成人无遮挡毛片免费看| 中国少妇XXXX做受| 岛国视频免费在线观看| 天天色综亚洲91污| 大香蕉乱伦视频网| 吻戏激情性巴克| 婷婷国产精品九区| 亚州春色| 蜜臀va69| 亚洲情色综合| 亚洲精品乱码线路中文字幕| 人妻 中文 日韩| 日本精品第一视频在'| 五月天精品| 成人熟女视频一区二区三区| 狠狠图片青青草| 97视频在线免费播放| 亚洲欧美天| 久久69| 亚洲精品国产无码高清| av在线一区二区三区| 毛片电影一区二区三区| 久久久久久久极品香蕉视频| 亚洲 欧美 小说| 成年人免费观看网站| 久久伊人影院| 成人av在线播放| 欧美做爰无码A片视频| 伊色综合天堂色97| 日本顶级天天操狠狠操夜夜操中文字幕| 伊人久日| 亚洲春色一区二区三区| 国产精品欧美日韩久久| www.91色综合| 亚洲天堂美臀在线| 欧美激情专区| 人人摸人人摸人人干| 熟妇在线视频一区二区| 福利一级版子| 不卡日本一区二区| 日日操丁香五月天| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 精品97久久| www.伪伪| 亚洲欧洲小说图片视频| 啊啊啊在线看| 99热在线观看| 久久久久久中文版| 97精品在线视频| 婷婷去俺也去六月色| 综合色图亚洲欧美| 97久久天天综合色天天综合色电影| 91w欧美| a在线视频免费观看| 亚洲精品欧美专业| 欧美激情高清性猛交| 国产亚洲中文不卡二区| 麻豆国产原创AV色哟哟| 亚洲色图A| 丁香六月东京热| 都市激情人妻一区二区青青操视频 | 最新亚洲黄色免费电影 | 欧美性夜| 亚洲综合九九| 999熟女精品| 高清国产性猛交xxxx乱大交| 熟妇女人妻呻吟久久AV| 久久久青青草| 丁香五月久久| 亚洲在线A| 日韩人妻免费精品| 91无码人妻| 国产隔壁老王影院在线| 嗯~啊~快点 死我视频| 久夜视频| 男人天堂久久精品| 久久这里只| 99久久婷婷| 78精品在线| 丁香六月啪| 亚洲欧美视| 午夜寂寞欧美| 久久亚洲天堂| 探花一区在线| 熟女久久| 色婷婷影视| 日韩在线电影| 麻豆蜜桃视频在线观看| 国产97亚洲| 天天操天天射青青草| 伊人国产成人av网站| 男人的天堂成人的社区| 国产极品粉嫩馒头一线天av| 久久久久一本一区二区青青蜜月| 精品国模无码| 成人在线视频一区| 国产高清免费不卡av| 98超碰日本| 黄色一级视| 欧美日韩欧美| 亚洲日韩肥臀视频在线观看| 草草电影院| 亚洲限制级| 99精品久久久久久久婷婷| 欧美九一精品久久久熟妇| 日本日皮视频逼| 在线天堂资源亚洲| 嗯嗯啊啊操死我| 久久精品久久九九精品| 久九9精品| 97人人干| 操操操五月天婷婷丁香影院| 1204金沙人妻懂旧版免费| 亚洲天堂7777| 97网色| 99热精品国产| 日韩久久激情精品| 97干色| 日本999精品| 高清无码国产亚洲| 国产精品又黄又猛又粗| 欧美综合 站| 丁香激情五月天| 欧美A片中文字幕| 欧美综合色综合| 97视频在线观看播放与子乱对白在线……| 精品久久久av无码免费| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 欧美不卡在线美女| 嗯啊抽插大香蕉网页| 久久超碰com| 久久久禁| 97香焦色区| 成人八戒网站| 亚洲婷婷丁香在线| 青青草女人天天干| 91+欧美| 9999免费精彩视频| 老外又粗又长一晚做五次| 97射欧美| 1区2区3区中文字幕日韩| 超碰九色| 日韩一999精品| 在线无码操| 黄片免费视频2019| 男人天堂新在线| 91男人天堂网| 麻豆性爱视频在线播放| 五月天综合网| 国产精品无码AV网站| 天天日天天干天天色| 国产97色在线| 日本 情色 1区2区3区| 第45页一区二区| 丝袜AV一二三区| 亚洲AV无码乱码在线观看性色| 国产精品一区二区久久精品| 亚洲日韩精品一区二区| 免费草草草草草视频| 久久久久一本一区二区青青蜜月| 丁香五月影院| 3p国产色噜噜一区| 乱伦图av| 日韩综合无码色欲vv| 久久久97| 99re99| 国产搭汕a级片| 欧美手机在线综合| 超碰97在线中文| 五十路二区在线| av婷婷色网| 人人喜人人妻| 欧美极品女人的天堂| 五月天婷婷基地| 日韩啪啪网| 97人人操人人干| 久热9| 狠狠色综合网| 久久乐| 91neishe| 毛片视频白嫩| 黑操B| 亚洲、日韩、综合、另类| 青青草自拍视频在线播放| 日本一道在线播放高清| 亚洲黄色电影| 欧美综合1性辶| 岛国天天午夜影院传媒网| 91亚洲狠狠色| 99精品无码| 综合亚洲网| 欧美成人精品一区| 久热热| 东北女人无套内谢视频| 超碰色综合| 性色AV蜜色av色欲av| 超碰在线欧美性爱激情| ,成人免费啪啪视频| 探花一区二区三| 久久性爱网站| 亚洲精品成人激情在线| 日本一级一级一级一级| 久超碰在| 九热大香蕉| 欧美激情久久久久| 99热这里只有精品1| 蜜桃久久一区| 91色综合| 精品中文字幕第一页| 欧美成人性爱视频免费观看| 日本网色| 欧美专区第一页| 91爰爱欧美| 亚洲欧美激情小说| 97综合久久| 日本黄色大片一级视频免费麻豆| 青青伊人这里只有精品| 国产无马av| 久久精彩视频9| 成人欧美日超碰| 婷婷丁香人妻| 四虎午夜影院| 日本在线视频导航| 九色 人妻 大香蕉| av东京热男人的天堂| 老熟乱一区二区三区四区| 99久久久无码国产精品性啊聊| 天天草夜夜草高潮片| 四色永久成人网站| 婷婷激情一区二区三区俺也去| 91影视亚洲| 日韩欧美传媒一区国产| 久久精品日韩| 激情文学网伊人| 伊人aaa| 国产精品久久久久久久久久久久| 午夜乱轮操逼视频免费看| 免费A V在线| 熟女自慰久久久| 麻豆天天躁天天揉揉AV| 日韩欧美福利视频看看| 无码伊人久久大杳蕉中文无码| 91亚洲不卡一区| 97射欧美| 欧美伊人久久综合网| 天天干天天爽| 欧美玖玖爱免费玖玖| 丰满人妻一区二区三区色-百度| 欧美另类精品xxxx| 91久久久久久久久久久| 亚洲性综合11| 五月婷网站| 干B视频伊人网| 亚洲人妻日日日| 中国女人内射6XXXXX| 四虎AV无码| 精品1区2区3区| 欧美麻豆成人同性GⅤ在线| 中文字幕片| 好属操| 九九黄色网| www. 男人天堂成人在线| 中国AAAAAA黄色片| 男人天堂2019亚洲| 四虎精品永久在线观看| 嗯啊抽插大香蕉网页| 欧美色图天堂网m| 校园春色综合网| 69人妻精品一区二区绯色| 欧美在线|亚洲| 伊人影院综合是一个与深夜成人在线| 欧美97网| 蜜乳AV网址| 日产123区精品免费观看| 超清福利精品视频在线| 日韩丝袜人妻AV| 无码人妻一区二区三区免费九色| 岛国片在线观看视频亚洲| 青青欧美| 高清无码 国产精品| 一本一首道人妻少妇免费久久| 亚洲乱码精品一区二区| 亚州操操穴网| 激情综合网亚洲| 国产丝袜美女诱惑| 偷拍精品一区二区三区| 日韩三四五区| 精品九九九九| 中文字幕91综合| 中日韩免费看男女操逼大全| 99re这里只有精品中心播放| 久久大| 老熟女熟妇| 99老司机精品视频在线观看| 日本 免费 一区二区三区 久久香蕉 | 少妇人妻激情四射| 一级久久久久久久久久久| 久久6热精品99视频| 99久久久er直播网址| 污电影在线观看| 久久精品性| 激情一区二区| 三级片大波波| 婷婷丁香九月| 国产人妻精品一区二区三区秋霞| 入口操逼网站| 性欧美999| 偷窥自拍亚洲色图| 成人精品久久久午夜福利| 久久婷婷欧美| 国产免费久久久久| 欧美激情综合| 欧美夜夜骑视频| 999岛国大片| 人妻铁牛TV| 麻豆国产第一| 久久久久国产无av| 99re免费| 天天干人妻| 超碰在线国产| 尤物av网站免费在线播放| 60秒免费小视频| 毛片电影一区二区三区| 人人操人人色网| 久9久精品视频| 婷婷色综合| 国产亚洲性生活视频播放| 狠狠干2020| 鲁鲁色综合网| 日韩欧美aⅴ综合网站发布| 99热婷婷一区二区三| 欧美中文字幕一区| 人人干人人搞人人摸| 色99999| 欧亚韩国999| 亚洲伊人久久精品狠狠在线| 在线综合色| 婷婷涩嫩草鲁丝久久午夜精品| 国产成人主播| 91美女丝袜诱惑视频| 日韩国产欧美伦理在线| 蜜臀99久| 长久操视频| 蜜臀精品1区2区| 国产精品青草综合久久| 国模无码人体一区二区三| 一本大道久| 97操在线| 91n美女视频| 99精品久久久久久久婷婷蜜桃| 玖玖爱在线视频免费观看| 欧美日韩不卡传媒| 噜噜噜久久亚洲精品色情| 97精品国产97久久久久久| 手机在线人成免费视频| 国产亚洲色婷婷久久99精品91 - 百度| 美国三级日本三级久久99| 开心六月色| 嗯啊不要啊在线 | 欧美日韩亚洲少妇寂寞影院正在播放 | 久久久久久久久久久97| 性色av婷婷久久一区二区点复制| 欧美偷拍区| 伊人国产成人av网站| 亚洲av资源| 久久久久久99999国产精品| 久久久久网站-538在线视频-欧美永久乱码 | 久久9久9久99久9久9| 色五月亚洲| 欧美视频中文字幕区| 三级特黄60分钟播放| 少妇熟女1区2区3区| 蜜臀99久久精品久久久懂爱| 揉揉揉夜夜| 久久宗合97| 色综九九九一区| 97伦乱| 另类专区加勒比| 精品国产久久乱码| 欧美大片天天看| 婷婷另类小说| 熟女中出视频| 国产农村妇女精品1区二区| 亚洲中文字幕妇伦久久| 久久精品欧美一区蜜桃| 九月丁香婷婷| 精品色色| 亚州伊人色综台| 嗯嗯啊操我| 熟女人妻av在线资源,黄色的资源| 久久伊人大香蕉| 午夜丁香婷婷| 99热色精品| 67914亚洲精品| 人人乐大香蕉| 日本青青草在线| 久久97资源 网| 91性感网站| 九九九九97| 欧美性第1页| 本道综合精品| 欧美激情综合| 成人一道本免费视频| 欧美黄色片在线播放| 亚洲天堂中文字| 日本高清_区二区三区| 亚洲最大网站av| 六月婷婷五月丁香| 天天操天天射青青草| 国产传媒1234区| 狠狠爱AV|