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

ARTICLE DETAIL

資訊詳情

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

基于Spring Boot的電子企業(yè)智能生產(chǎn)信息系統(tǒng)實(shí)戰(zhàn)解析

基于Spring Boot的電子企業(yè)智能生產(chǎn)信息系統(tǒng)實(shí)戰(zhàn)解析 做畢業(yè)設(shè)計(jì)最怕什么不是寫(xiě)代碼是選錯(cuò)題目然后一頭扎進(jìn)一個(gè)自己根本不了解的業(yè)務(wù)領(lǐng)域。今天聊的這個(gè)題目——基于Spring Boot的某電子企業(yè)智能生產(chǎn)信息系統(tǒng)屬于典型的“Java WebMES制造執(zhí)行系統(tǒng)方向”看起來(lái)中規(guī)中矩但恰恰是這類(lèi)題目最容易拿高分也最容易在答辯時(shí)被追問(wèn)到“體無(wú)完膚”。原因很簡(jiǎn)單生產(chǎn)企業(yè)信息化的業(yè)務(wù)鏈條長(zhǎng)涉及訂單、排產(chǎn)、物料、質(zhì)檢、設(shè)備、報(bào)表等多個(gè)環(huán)節(jié)隨便挑一塊都能深挖出技術(shù)難點(diǎn)。我這幾年指導(dǎo)過(guò)不少類(lèi)似的畢設(shè)項(xiàng)目包括供應(yīng)鏈、ERP、MES等場(chǎng)景。這篇文章不打算走“從零抄一遍代碼”的路子而是直接以實(shí)戰(zhàn)者的視角把這類(lèi)系統(tǒng)從架構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)建模、核心模塊實(shí)現(xiàn)到遠(yuǎn)程調(diào)試、打包部署、答辯準(zhǔn)備的完整脈絡(luò)拆開(kāi)講清楚。如果你正在做或者準(zhǔn)備做類(lèi)似題目這篇文章能幫你省下至少三周的彎路。1. 項(xiàng)目整體設(shè)計(jì)與技術(shù)選型1.1 為什么選Spring Boot而不是別的框架先說(shuō)技術(shù)選型的事。很多同學(xué)上來(lái)就糾結(jié)“SSMSpringSpringMVCMyBatis還是Spring Boot”其實(shí)這個(gè)糾結(jié)完全沒(méi)有必要。Spring Boot已經(jīng)不是一個(gè)“新框架”了它本質(zhì)上是Spring全家桶的自動(dòng)配置封裝讓開(kāi)發(fā)者盡量少寫(xiě)XML配置。對(duì)于畢設(shè)來(lái)說(shuō)選Spring Boot的理由非常明確起步依賴幫你把常用組件的版本沖突問(wèn)題解決了比如spring-boot-starter-web直接幫你把Spring MVC、內(nèi)嵌Tomcat、Jackson等打包好不用像SSM時(shí)代那樣手動(dòng)引十幾個(gè)依賴還擔(dān)心版本不兼容。內(nèi)嵌的Tomcat讓項(xiàng)目可以打成JAR直接跑部署的時(shí)候不用單獨(dú)裝一個(gè)Tomcat服務(wù)器這對(duì)平時(shí)只在本機(jī)開(kāi)發(fā)的同學(xué)是非常友好的。社區(qū)資料極多從環(huán)境搭建到報(bào)錯(cuò)解決任何你踩到的坑基本都有人踩過(guò)了。當(dāng)然Spring Boot也不是萬(wàn)能藥。如果你的項(xiàng)目需要極其復(fù)雜的運(yùn)行時(shí)熱部署、多模塊間的細(xì)粒度依賴管理傳統(tǒng)SSM反而更靈活。但畢設(shè)不是工業(yè)級(jí)項(xiàng)目你的目標(biāo)是“在有限時(shí)間內(nèi)交付一個(gè)能跑、能演示、能答辯的系統(tǒng)”Spring Boot絕對(duì)是當(dāng)前最優(yōu)解。還有一個(gè)細(xì)節(jié)Spring Boot的版本選擇。目前主流還是2.7.x和3.x兩個(gè)大版本。如果學(xué)校要求用JDK 8就選Spring Boot 2.7.x因?yàn)镾pring Boot 3.x強(qiáng)制要求JDK 17以上。很多同學(xué)在這個(gè)地方栽跟頭電腦上裝的是JDK 8卻創(chuàng)建了一個(gè)Spring Boot 3項(xiàng)目結(jié)果一啟動(dòng)就報(bào)UnsupportedClassVersionError排查半天才發(fā)現(xiàn)是版本不匹配。提示如果你是第一次接觸Spring Boot建議直接用Spring官方提供的 Spring Initializr 來(lái)生成項(xiàng)目骨架。不要在IDEA里手動(dòng)創(chuàng)建Maven項(xiàng)目然后一點(diǎn)一點(diǎn)加依賴那樣容易漏配插件。1.2 系統(tǒng)模塊劃分這決定了你的工作量智能生產(chǎn)信息系統(tǒng)聽(tīng)起來(lái)很“高大上”但落到實(shí)體業(yè)務(wù)上核心就是圍繞“生產(chǎn)”這條主線做信息化管理。我一般建議把系統(tǒng)拆成六個(gè)功能模塊既能體現(xiàn)完整性又不會(huì)讓工作量膨脹到做不完模塊核心功能數(shù)據(jù)庫(kù)表核心基礎(chǔ)數(shù)據(jù)管理物料信息、產(chǎn)品BOM物料清單、工序定義material、bom、process生產(chǎn)計(jì)劃管理主生產(chǎn)計(jì)劃MPS、車(chē)間排產(chǎn)、工單下達(dá)plan_order、work_order車(chē)間作業(yè)管理工單派工、報(bào)工、生產(chǎn)進(jìn)度跟蹤work_report、dispatch質(zhì)量管理來(lái)料檢驗(yàn)IQC、過(guò)程檢驗(yàn)IPQC、成品檢驗(yàn)OQCinspect_record、defect_record庫(kù)存管理物料出入庫(kù)、在制品WIP庫(kù)存inventory、inventory_log系統(tǒng)管理用戶、角色、權(quán)限、菜單user、role、menu這套劃分非常貼合電子制造企業(yè)的實(shí)際場(chǎng)景。電子企業(yè)的一大特點(diǎn)是產(chǎn)品BOM層級(jí)深——一塊電路板上有上百顆元器件物料種類(lèi)多、替代料多、批次管理嚴(yán)格所以在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)要注意預(yù)留batch_no批次號(hào)字段這是電子行業(yè)MES的剛需也是答辯時(shí)你能展示業(yè)務(wù)理解深度的地方。權(quán)限模型建議用最簡(jiǎn)單的RBAC基于角色的訪問(wèn)控制。不要做成用戶-權(quán)限直接關(guān)聯(lián)那樣數(shù)據(jù)庫(kù)會(huì)非常冗余。角色-菜單-按鈕三級(jí)就夠了后端用Spring Security或Shiro實(shí)現(xiàn)都可以如果是畢設(shè)Shiro上手更快但Spring Security寫(xiě)出來(lái)更顯專(zhuān)業(yè)。前者五分鐘能跑通登錄認(rèn)證后者寫(xiě)起來(lái)繁瑣但答辯時(shí)“含金量”高。2. 數(shù)據(jù)庫(kù)設(shè)計(jì)與核心模塊拆解2.1 數(shù)據(jù)庫(kù)建模的關(guān)鍵不要做成“純ERP”很多同學(xué)做這個(gè)題目時(shí)最大的誤區(qū)是把系統(tǒng)做成了一個(gè)記錄型的CRUD系統(tǒng)——所有模塊都只是增刪改查毫無(wú)業(yè)務(wù)流程。答辯時(shí)老師問(wèn)一句“怎么體現(xiàn)智能生產(chǎn)”直接卡殼。所以要搞清楚智能生產(chǎn)信息系統(tǒng)里的“智能”體現(xiàn)在哪我的理解是至少體現(xiàn)在三處計(jì)劃自動(dòng)排產(chǎn)根據(jù)訂單交期、工序產(chǎn)能、物料齊套率自動(dòng)生成車(chē)間工單的推薦優(yōu)先級(jí)。質(zhì)量預(yù)警質(zhì)檢數(shù)據(jù)錄入時(shí)如果連續(xù)N批合格率低于閾值系統(tǒng)自動(dòng)發(fā)起停線預(yù)警或不合格品評(píng)審流程。生產(chǎn)進(jìn)度透明化管理看板實(shí)時(shí)統(tǒng)計(jì)今日計(jì)劃產(chǎn)量、實(shí)際產(chǎn)量、達(dá)成率并在超過(guò)預(yù)警線時(shí)高亮顯示。對(duì)應(yīng)到數(shù)據(jù)庫(kù)設(shè)計(jì)上就是不要只做一堆“流水賬”表還要有狀態(tài)機(jī)設(shè)計(jì)和聯(lián)動(dòng)邏輯。比如工單表work_order必須有一個(gè)status字段從“待下達(dá)”到“生產(chǎn)中”、“已完工”、“已關(guān)閉”。每一步狀態(tài)流轉(zhuǎn)時(shí)系統(tǒng)要觸發(fā)相應(yīng)的庫(kù)存扣減或質(zhì)量記錄生成。數(shù)據(jù)庫(kù)里的狀態(tài)字段看似簡(jiǎn)單但它是整個(gè)系統(tǒng)邏輯走通的關(guān)鍵。另外所有涉及金額或數(shù)量的字段盡量使用DECIMAL而不是FLOAT/DOUBLE避免浮點(diǎn)精度問(wèn)題。數(shù)量字段建議定義到小數(shù)點(diǎn)后4位電子物料里有一些按卷Reel或按包結(jié)算的物料會(huì)有很零碎的數(shù)量。2.2 核心表結(jié)構(gòu)細(xì)節(jié)解析以生產(chǎn)工單work_order為例我給出核心字段設(shè)計(jì)思路這份設(shè)計(jì)可以在答辯時(shí)直接拿出來(lái)解釋CREATE TABLE work_order ( id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 主鍵ID, order_no VARCHAR(32) UNIQUE NOT NULL COMMENT 工單號(hào), product_id BIGINT NOT NULL COMMENT 產(chǎn)品ID, plan_qty DECIMAL(12,4) NOT NULL COMMENT 計(jì)劃數(shù)量, completed_qty DECIMAL(12,4) DEFAULT 0 COMMENT 已完成數(shù)量, scrap_qty DECIMAL(12,4) DEFAULT 0 COMMENT 報(bào)廢數(shù)量, status TINYINT NOT NULL DEFAULT 0 COMMENT 工單狀態(tài)0待下達(dá)1生產(chǎn)中2已完工3已關(guān)閉, priority TINYINT DEFAULT 5 COMMENT 優(yōu)先級(jí)1-10數(shù)值越大越緊急, plan_start_date DATETIME COMMENT 計(jì)劃開(kāi)始時(shí)間, plan_end_date DATETIME COMMENT 計(jì)劃結(jié)束時(shí)間, actual_start_date DATETIME COMMENT 實(shí)際開(kāi)始時(shí)間, actual_end_date DATETIME COMMENT 實(shí)際完工時(shí)間, bom_version VARCHAR(20) COMMENT BOM版本號(hào), create_by BIGINT COMMENT 創(chuàng)建人, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT生產(chǎn)工單表;這里有幾個(gè)容易被忽略的設(shè)計(jì)點(diǎn)order_no一定要有唯一索引而且最好在Java代碼里通過(guò)一個(gè)規(guī)則生成比如“WOyyyyMMdd4位流水號(hào)”。不要用數(shù)據(jù)庫(kù)自增ID直接展示給用戶客戶和生產(chǎn)人員看到的是工單號(hào)不是ID。bom_version字段很有用。電子行業(yè)經(jīng)常發(fā)生工程變更ECN產(chǎn)品BOM會(huì)升版同一種產(chǎn)品可能同時(shí)存在多個(gè)BOM版本在制。工單記錄BOM版本后期核算物料需求時(shí)才不會(huì)亂。update_time用ON UPDATE CURRENT_TIMESTAMP自動(dòng)更新查問(wèn)題時(shí)能快速知道工單最后被誰(shuí)改過(guò)、什么時(shí)候改的。設(shè)計(jì)完工單表再配合物料需求計(jì)算邏輯。這里的核心是根據(jù)工單的product_id去找BOM表拿到該產(chǎn)品的物料清單和單耗再乘以plan_qty得到物料需求總量然后減去當(dāng)前庫(kù)存就是凈需求。2.3 生產(chǎn)計(jì)劃與排產(chǎn)邏輯的實(shí)現(xiàn)說(shuō)一個(gè)具體的排產(chǎn)算法這是整個(gè)系統(tǒng)里最有“智能感”的部分也是你答辯時(shí)可以重點(diǎn)講解的亮點(diǎn)。假設(shè)一條流水線上有3個(gè)工序A工序每小時(shí)產(chǎn)出100件B工序每小時(shí)產(chǎn)出80件C工序每小時(shí)產(chǎn)出120件。現(xiàn)在有5個(gè)工單等待排產(chǎn)每個(gè)工單交期不同。最簡(jiǎn)單實(shí)用的排產(chǎn)方法是按“交期緊迫度×優(yōu)先級(jí)”計(jì)算綜合權(quán)重然后自動(dòng)生成排產(chǎn)建議順序綜合得分 (計(jì)劃完成日期 - 當(dāng)前日期) 對(duì)應(yīng)的緊迫系數(shù) × 優(yōu)先級(jí)舉個(gè)例子工單A今天計(jì)劃開(kāi)工3天后交期緊迫系數(shù)設(shè)為3優(yōu)先級(jí)為8綜合得分 3×8 24工單B明天開(kāi)工5天后交期緊迫系數(shù)5優(yōu)先級(jí)為5綜合得分 25。這時(shí)B排在A前面。這個(gè)算法并不復(fù)雜但已經(jīng)能體現(xiàn)“根據(jù)交期和優(yōu)先級(jí)智能排序”的業(yè)務(wù)邏輯比單純的按創(chuàng)建時(shí)間排序要合理得多。實(shí)現(xiàn)時(shí)排產(chǎn)結(jié)果先進(jìn)入一個(gè)建議列表車(chē)間計(jì)劃員可以手動(dòng)調(diào)整調(diào)整后點(diǎn)擊“確認(rèn)排產(chǎn)”系統(tǒng)批量生成派工單dispatch并自動(dòng)更新工單的狀態(tài)。整個(gè)過(guò)程就擺脫了傳統(tǒng)Excel排產(chǎn)的方式這正是答辯時(shí)能抓住的亮點(diǎn)——系統(tǒng)并不是盲目替代人工而是提供推薦方案保留人的決策權(quán)這在制造業(yè)里叫“人機(jī)協(xié)同”是非常成熟的理念。3. 核心功能實(shí)現(xiàn)與實(shí)操細(xì)節(jié)3.1 從登錄到權(quán)限控制推薦用Spring Security JWT智能生產(chǎn)信息系統(tǒng)的用戶不是單一角色至少包含這么幾類(lèi)計(jì)劃員、車(chē)間班組長(zhǎng)、操作工、質(zhì)檢員、倉(cāng)庫(kù)管理員、系統(tǒng)管理員。不同角色能看的頁(yè)面、能點(diǎn)的按鈕都不同。權(quán)限控制做得如何直接決定系統(tǒng)評(píng)分的下限。我推薦技術(shù)上使用Spring Security JWTJSON Web Token。雖然JWT在中等以上并發(fā)場(chǎng)景下有一些天生缺陷比如服務(wù)端不能主動(dòng)讓Token失效但畢設(shè)項(xiàng)目尤其是前后端分離的項(xiàng)目JWT是最容易被理解和實(shí)現(xiàn)的方式。用Session的話你需要配置CORS跨域、Session共享麻煩不說(shuō)答辯時(shí)還不好解釋。核心流程是這樣前端把用戶名密碼POST到/api/auth/login后端校驗(yàn)通過(guò)后生成JWT返回。前端把Token存在本地每次請(qǐng)求在請(qǐng)求頭中帶Authorization: Bearer xxx。后端用一個(gè)過(guò)濾器攔截請(qǐng)求解析Token拿到用戶ID和角色放入SecurityContext。實(shí)際操作中有一個(gè)非常容易踩的坑Spring Security默認(rèn)會(huì)對(duì)所有請(qǐng)求做CSRF防護(hù)如果你不做額外配置POST請(qǐng)求會(huì)全部403。開(kāi)發(fā)階段直接把csrf.disable()掉不然調(diào)試起來(lái)會(huì)懷疑人生。同時(shí)前后端分離時(shí)Spring Security的默認(rèn)登錄頁(yè)和表單登錄完全用不上記得配置自定義AuthenticationEntryPoint讓未登錄的用戶返回JSON格式的401而不是跳轉(zhuǎn)到HTML登錄頁(yè)。3.2 生產(chǎn)報(bào)工與數(shù)據(jù)采集是時(shí)候增加點(diǎn)“業(yè)務(wù)厚度”了生產(chǎn)報(bào)工這個(gè)模塊是整個(gè)系統(tǒng)里最體現(xiàn)“行業(yè)認(rèn)知”的功能。所謂報(bào)工就是操作工干完一批活后在系統(tǒng)里填寫(xiě)“我做了什么、做了多少、用了多長(zhǎng)時(shí)間”。設(shè)計(jì)得好后續(xù)的薪資統(tǒng)計(jì)、績(jī)效分析、成本核算都有數(shù)據(jù)基礎(chǔ)設(shè)計(jì)得不好操作工用起來(lái)罵娘上了生產(chǎn)線也推行不下去。第一優(yōu)先級(jí)界面要適配車(chē)間環(huán)境。車(chē)間里大多是工業(yè)平板或老舊電腦屏幕不大操作工手上有油污點(diǎn)按鈕需要大塊頭。所以報(bào)工頁(yè)面不要做復(fù)雜的表格做成一屏卡片式的按鈕——掃一下工單條碼如果可以的話然后顯示“開(kāi)始生產(chǎn)”、“完工”、“報(bào)工數(shù)量”和“報(bào)廢數(shù)量”幾個(gè)大按鈕每一步操作都有明確反饋。第二優(yōu)先級(jí)報(bào)工要支持“分批入庫(kù)”。比如工單計(jì)劃數(shù)量1000件不可能一天全部做完今天做了300件通過(guò)檢驗(yàn)就先入庫(kù)300件。系統(tǒng)自動(dòng)更新工單的completed_qty同時(shí)增加成品庫(kù)存。這個(gè)過(guò)程對(duì)應(yīng)一個(gè)事務(wù)操作Java代碼中要用Transactional包裹更新工單狀態(tài)、寫(xiě)報(bào)工記錄、增加庫(kù)存、寫(xiě)庫(kù)存流水四件事要么全成功要么全失敗不能出現(xiàn)“工單報(bào)了工但庫(kù)存沒(méi)加上去”的數(shù)據(jù)不一致問(wèn)題。這里給出一段核心實(shí)現(xiàn)邏輯的偽代碼Override Transactional(rollbackFor Exception.class) public WorkReportVO reportCompletion(WorkReportRequest request) { // 1. 校驗(yàn)工單是否處于“生產(chǎn)中”狀態(tài) WorkOrder order workOrderMapper.selectById(request.getWorkOrderId()); if (order null || order.getStatus() ! 1) { throw new BusinessException(工單不存在或不在生產(chǎn)狀態(tài)); } // 2. 計(jì)算本次報(bào)工數(shù)量和累計(jì)數(shù)量 BigDecimal currentQty order.getCompletedQty() null ? BigDecimal.ZERO : order.getCompletedQty(); BigDecimal totalQty currentQty.add(request.getReportQty()); if (totalQty.compareTo(order.getPlanQty()) 0) { throw new BusinessException(報(bào)工數(shù)量不能超過(guò)計(jì)劃數(shù)量); } // 3. 更新工單狀態(tài)如果已達(dá)計(jì)劃數(shù)量則自動(dòng)完工 order.setCompletedQty(totalQty); if (totalQty.compareTo(order.getPlanQty()) 0) { order.setStatus(2); // 已完工 order.setActualEndDate(LocalDateTime.now()); } workOrderMapper.updateById(order); // 4. 寫(xiě)入報(bào)工記錄 WorkReport report new WorkReport(); report.setWorkOrderId(order.getId()); report.setReportQty(request.getReportQty()); report.setReportUser(request.getReportUser()); report.setReportTime(LocalDateTime.now()); workReportMapper.insert(report); // 5. 增加成品庫(kù)存并寫(xiě)庫(kù)存流水略 ... }這個(gè)邏輯看起來(lái)直白但含義并不簡(jiǎn)單。批次號(hào)怎么生成生產(chǎn)日期怎么自動(dòng)帶出跨天報(bào)工怎么處理在答辯時(shí)如果能把這些問(wèn)題說(shuō)清楚老師的印象分會(huì)很高。3.3 生產(chǎn)看板與統(tǒng)計(jì)報(bào)表用ECharts把數(shù)據(jù)“講”出來(lái)做完事務(wù)性功能后系統(tǒng)還缺一個(gè)讓評(píng)委眼前一亮的模塊可視化的生產(chǎn)看板。這不需要你去做復(fù)雜的數(shù)據(jù)倉(cāng)庫(kù)前端用ECharts展示后端提供的JSON接口數(shù)據(jù)就夠了。建議至少做三個(gè)圖表今日生產(chǎn)趨勢(shì)圖按小時(shí)統(tǒng)計(jì)計(jì)劃產(chǎn)量與實(shí)際產(chǎn)量的折線對(duì)比直觀反映產(chǎn)線運(yùn)行是否正常。工單達(dá)成率餅圖按“提前完成、按期完成、延期完成”三個(gè)狀態(tài)統(tǒng)計(jì)。質(zhì)量缺陷帕累托圖按缺陷類(lèi)型統(tǒng)計(jì)發(fā)生頻次按降序排列這是生產(chǎn)質(zhì)量管理中非常經(jīng)典的分析方法。后端統(tǒng)計(jì)接口沒(méi)必要每次實(shí)時(shí)去全表COUNT可以先通過(guò)SQL在數(shù)據(jù)庫(kù)里做聚合例如SELECT HOUR(create_time) AS hour_period, COUNT(*) AS report_count FROM work_report WHERE DATE(create_time) CURDATE() GROUP BY HOUR(create_time);如果報(bào)表數(shù)據(jù)量在幾十萬(wàn)行級(jí)別以上再考慮用緩存或定時(shí)匯總表。畢設(shè)階段注意展示“為什么這么做”比堆技術(shù)更重要。老師問(wèn)“你這個(gè)系統(tǒng)的實(shí)時(shí)看板數(shù)據(jù)是從哪來(lái)的”你的回答是“看板接口走聚合SQL數(shù)據(jù)實(shí)時(shí)查詢自業(yè)務(wù)表”比回答“我用了緩存但是沒(méi)數(shù)據(jù)量壓力”更誠(chéng)實(shí)、更經(jīng)得起追問(wèn)。4. 項(xiàng)目遠(yuǎn)程調(diào)試、打包部署與答辯準(zhǔn)備4.1 遠(yuǎn)程調(diào)試真香但別把生產(chǎn)環(huán)境玩壞了標(biāo)題里寫(xiě)了“遠(yuǎn)程調(diào)試”這里重點(diǎn)說(shuō)一下這個(gè)細(xì)節(jié)。很多同學(xué)覺(jué)得遠(yuǎn)程調(diào)試是什么高深技術(shù)其實(shí)它就是用IDEA的Remote JVM Debug功能連接到遠(yuǎn)程服務(wù)器上運(yùn)行的項(xiàng)目實(shí)現(xiàn)打斷點(diǎn)、看變量的功能。操作步驟很簡(jiǎn)單在遠(yuǎn)程服務(wù)器上啟動(dòng)項(xiàng)目時(shí)JVM參數(shù)里加上調(diào)試參數(shù)java -jar your-project.jar --server.port8080 \ -agentlib:jdwptransportdt_socket,servery,suspendn,address5005address5005就是調(diào)試端口suspendn表示啟動(dòng)時(shí)不暫停等待調(diào)試器連接否則項(xiàng)目會(huì)一直卡住等你IDEA連上來(lái)才繼續(xù)啟動(dòng)。在IDEA中配置Remote JVM Debug。打開(kāi)Run/Debug Configurations新增一個(gè)Remote類(lèi)型Host寫(xiě)遠(yuǎn)程服務(wù)器IPPort寫(xiě)5005然后用Debug模式運(yùn)行這個(gè)配置。連接成功后在代碼中打斷點(diǎn)訪問(wèn)調(diào)用該接口的功能頁(yè)面代碼就會(huì)在斷點(diǎn)處暫停此時(shí)你可以在IDEA中看到遠(yuǎn)程JVM的線程堆棧和變量值。注意遠(yuǎn)程調(diào)試會(huì)顯著降低應(yīng)用程序的執(zhí)行速度尤其在高并發(fā)的情況下。畢設(shè)演示時(shí)如果線上同時(shí)有模擬數(shù)據(jù)在寫(xiě)入調(diào)試會(huì)讓頁(yè)面顯得非??D。建議調(diào)試環(huán)境與演示環(huán)境分開(kāi)或使用測(cè)試數(shù)據(jù)量較小的庫(kù)來(lái)調(diào)試。還有一點(diǎn)遠(yuǎn)程調(diào)試端口對(duì)外開(kāi)放會(huì)有安全風(fēng)險(xiǎn)服務(wù)器防火墻里務(wù)必只對(duì)特定IP開(kāi)放5005端口否則任何人都可以連接到你的JVM這是很?chē)?yán)重的隱患。演示結(jié)束后把調(diào)試參數(shù)關(guān)掉重新啟動(dòng)項(xiàng)目。4.2 打包、部署與演示環(huán)境的坑Spring Boot項(xiàng)目部署打包很簡(jiǎn)單mvn clean package生成JAR包上傳到服務(wù)器java -jar運(yùn)行。但有幾個(gè)坑是每年看到無(wú)數(shù)人踩的第一個(gè)坑數(shù)據(jù)庫(kù)連接不上。本機(jī)開(kāi)發(fā)時(shí)你用的是localhost:3306放到服務(wù)器上忘了改application-prod.yml里的數(shù)據(jù)庫(kù)地址結(jié)果項(xiàng)目啟動(dòng)半天頁(yè)面報(bào)數(shù)據(jù)庫(kù)連接異常。建議部署階段獨(dú)立用一個(gè)生產(chǎn)環(huán)境的配置文件比如application-prod.yml里面配置云數(shù)據(jù)庫(kù)或服務(wù)器本地?cái)?shù)據(jù)庫(kù)的信息打包命令加--spring.profiles.activeprod指定啟用。第二個(gè)坑端口被占用。在服務(wù)器上運(yùn)行項(xiàng)目前先看端口lsof -i:8080查一下否則報(bào)Address already in use。第三個(gè)坑上傳文件的路徑問(wèn)題。如果你在系統(tǒng)里做了文件上傳比如導(dǎo)入BOM Excel本地開(kāi)發(fā)時(shí)用的是D:/temp/upload這種絕對(duì)路徑部署到Linux服務(wù)器就會(huì)莫名其妙找不到文件。解決方法是文件保存路徑配置到配置文件里不要硬編碼在代碼里。然后是演示環(huán)境的準(zhǔn)備。答辯現(xiàn)場(chǎng)最常見(jiàn)的翻車(chē)就是“老師稍等我的項(xiàng)目在重啟”。不管你有多自信演示前請(qǐng)做這幾件事確保演示數(shù)據(jù)庫(kù)里有驗(yàn)收數(shù)據(jù)最好有1000條以上的工單記錄、庫(kù)存記錄讓列表查詢和圖表展示有足夠的數(shù)據(jù)“撐場(chǎng)面”。提前把項(xiàng)目在演示的機(jī)器上完整跑一遍確定從啟動(dòng)到登錄、到核心功能演示不超過(guò)兩分鐘就能完成。一定要準(zhǔn)備幾條“負(fù)面演示”數(shù)據(jù)比如故意提交一個(gè)超量報(bào)工讓系統(tǒng)彈出錯(cuò)誤提示這比你全程演示正常流程更有說(shuō)服力說(shuō)明這個(gè)系統(tǒng)真的在校驗(yàn)業(yè)務(wù)規(guī)則。4.3 答辯時(shí)的高頻追問(wèn)與應(yīng)對(duì)話術(shù)答辯環(huán)節(jié)老師問(wèn)的無(wú)非三類(lèi)問(wèn)題第一類(lèi)是技術(shù)實(shí)現(xiàn)第二類(lèi)是業(yè)務(wù)理解第三類(lèi)是項(xiàng)目工作量與原創(chuàng)性。分別說(shuō)下怎么準(zhǔn)備。技術(shù)層面的高頻問(wèn)題“為什么選Spring Boot而不是Spring MVC” 回答重點(diǎn)簡(jiǎn)化配置、內(nèi)嵌服務(wù)器、生態(tài)成熟同時(shí)強(qiáng)調(diào)Spring Boot底層仍然是Spring MVC不是替代關(guān)系?!澳愕臋?quán)限是怎么控制的” 回答重點(diǎn)RBAC模型用戶-角色-菜單三級(jí)設(shè)計(jì)后端接口通過(guò)Spring Security過(guò)濾器統(tǒng)一校驗(yàn)。“這個(gè)系統(tǒng)并發(fā)量能到多少” 不要瞎吹直接說(shuō)“目前是基于單體架構(gòu)的畢設(shè)項(xiàng)目沒(méi)有經(jīng)過(guò)大規(guī)模壓力測(cè)試但通過(guò)數(shù)據(jù)庫(kù)索引優(yōu)化和合理的事務(wù)控制可以支撐中小型車(chē)間同時(shí)在線操作的需求。如果要提升并發(fā)可以引入Redis緩存和消息隊(duì)列這是后續(xù)優(yōu)化方向?!?這個(gè)回答既誠(chéng)實(shí)又展示了你的擴(kuò)展思路。業(yè)務(wù)層面的高頻問(wèn)題“你覺(jué)得這個(gè)系統(tǒng)上線后給企業(yè)帶來(lái)的最大價(jià)值是什么” 回答重點(diǎn)減少人工統(tǒng)計(jì)工作量、降低信息傳遞誤差、提升生產(chǎn)進(jìn)度透明度、提供質(zhì)量追溯數(shù)據(jù)基礎(chǔ)。“如果車(chē)間實(shí)際用的ERP已經(jīng)有類(lèi)似功能你這個(gè)系統(tǒng)有什么不同” 回答重點(diǎn)ERP偏重于計(jì)劃和財(cái)務(wù)MES偏重于車(chē)間執(zhí)行和過(guò)程數(shù)據(jù)采集兩者是互補(bǔ)關(guān)系而不是替代關(guān)系。關(guān)于原創(chuàng)性的質(zhì)疑“這個(gè)項(xiàng)目是不是從網(wǎng)上下的模板改的” 這種問(wèn)題沒(méi)法完全避免能做的就是把項(xiàng)目中的每一個(gè)設(shè)計(jì)決策都理解透徹。哪怕核心代碼參考了開(kāi)源項(xiàng)目你也要能說(shuō)清楚哪些表是你設(shè)計(jì)的、哪些字段為什么存在、哪段業(yè)務(wù)邏輯遇到了什么坑、你怎么解決的。把“通用模板”變成“你自己的理解”這就是原創(chuàng)。5. 項(xiàng)目源碼管理的經(jīng)驗(yàn)與常見(jiàn)問(wèn)題速查5.1 不要為了“源碼”而迷失如何組織項(xiàng)目結(jié)構(gòu)標(biāo)題里提到了“源碼”。但說(shuō)句得罪人的實(shí)話網(wǎng)上下載的畢設(shè)源碼十有八九是小作坊生成的模板數(shù)據(jù)庫(kù)設(shè)計(jì)一塌糊涂、內(nèi)嵌了各種無(wú)用代碼。與其去找不靠譜的源碼不如自己從零構(gòu)建或者在開(kāi)源項(xiàng)目基礎(chǔ)上重構(gòu)。如果你一定要參考現(xiàn)成源碼請(qǐng)關(guān)注這幾個(gè)關(guān)鍵點(diǎn)而不是拿到就往上寫(xiě)項(xiàng)目是否用Maven/Gradle管理依賴。如果代碼文件拷過(guò)來(lái)卻缺少pom.xml基本等于慢性自殺。數(shù)據(jù)庫(kù)腳本是否完整。沒(méi)有init.sql或schema.sql的項(xiàng)目就算把后端代碼跑起來(lái)了也看不到數(shù)據(jù)。是否區(qū)分了開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境配置文件如果沒(méi)有你需要自己補(bǔ)一套。是否包含README文檔里面是否寫(xiě)清楚了啟動(dòng)步驟、賬號(hào)密碼、數(shù)據(jù)庫(kù)初始化方式。自己寫(xiě)代碼時(shí)推薦按這個(gè)包結(jié)構(gòu)組織清晰到答辯都可以直接貼出來(lái)com.example.production ├── common // 通用類(lèi)統(tǒng)一返回體、異常處理、工具類(lèi) ├── config // 配置類(lèi)Security、CORS、攔截器等 ├── controller // 控制層API接口 ├── service // 業(yè)務(wù)層核心邏輯接口impl ├── mapper // 數(shù)據(jù)訪問(wèn)層MyBatis-Plus的Mapper接口 ├── entity // 實(shí)體對(duì)象對(duì)應(yīng)數(shù)據(jù)庫(kù)表 ├── dto // 數(shù)據(jù)傳輸對(duì)象接收前端參數(shù) ├── vo // 視圖對(duì)象返回前端數(shù)據(jù) └── utils // 輔助工具類(lèi)JWT工具、日期工具等5.2 高頻錯(cuò)誤排查速查表最后整理一份我在調(diào)試這類(lèi)系統(tǒng)時(shí)總結(jié)的高頻問(wèn)題排查清單基本都是每年畢設(shè)季高頻踩坑現(xiàn)象可能原因排查思路項(xiàng)目啟動(dòng)但頁(yè)面404前端路由或后端Controller路徑映射錯(cuò)誤檢查RequestMapping路徑訪問(wèn)/swagger-ui.html或接口文檔看是否能打開(kāi)登錄時(shí)提示401/403Token缺失、過(guò)期或權(quán)限不足瀏覽器F12看請(qǐng)求頭是否帶有Token檢查Spring Security的放行規(guī)則報(bào)“數(shù)據(jù)庫(kù)表不存在”實(shí)體類(lèi)表名與數(shù)據(jù)庫(kù)表名不一致MyBatis-Plus默認(rèn)駝峰轉(zhuǎn)下劃線確認(rèn)TableName注解是否正確時(shí)間字段查出來(lái)差8小時(shí)時(shí)區(qū)配置問(wèn)題JVM時(shí)區(qū)、數(shù)據(jù)庫(kù)時(shí)區(qū)、Jackson時(shí)區(qū)三層都要統(tǒng)一連接URL加serverTimezoneAsia/Shanghai導(dǎo)入Excel亂碼字符編碼問(wèn)題上傳文件讀取時(shí)統(tǒng)一使用UTF-8文件名不要直接用getOriginalFilename()原始值容易被瀏覽器轉(zhuǎn)碼部署到Linux后中文變問(wèn)號(hào)系統(tǒng)字符集問(wèn)題啟動(dòng)命令加-Dfile.encodingutf-8數(shù)據(jù)庫(kù)連接串加characterEncodingutf8還有一個(gè)非常實(shí)用的小技巧開(kāi)發(fā)的時(shí)候不要只在前端看效果一定要學(xué)會(huì)直接調(diào)用后端API來(lái)驗(yàn)證問(wèn)題。比如你看到頁(yè)面報(bào)錯(cuò)先打開(kāi)瀏覽器的Network面板找到對(duì)應(yīng)的XHR請(qǐng)求看返回的JSON是什么。如果返回的結(jié)果里帶了具體的異常信息直接把異常信息復(fù)制去搜索比自己瞎猜高效得多。搞不定時(shí)再看后端控制臺(tái)日志。Spring Boot默認(rèn)的日志輸出已經(jīng)非常友好ERROR級(jí)別的堆棧信息足夠定位絕大多數(shù)問(wèn)題。5.3 項(xiàng)目擴(kuò)展方向讓論文更有深度畢設(shè)論文里通常會(huì)有一章叫“系統(tǒng)實(shí)現(xiàn)”或者“系統(tǒng)測(cè)試與優(yōu)化”。如果只是寫(xiě)了“實(shí)現(xiàn)了增刪改查”論文會(huì)很單薄。建議在論文里加上以下擴(kuò)展方向的論述不需要真正全部實(shí)現(xiàn)但一定要有思考和設(shè)計(jì)在原有直連數(shù)據(jù)庫(kù)的查詢上增加一層Redis緩存熱點(diǎn)數(shù)據(jù)比如物料信息、BOM訪問(wèn)速度提升明顯答辯時(shí)可以展示查詢耗時(shí)對(duì)比。使用RabbitMQ或ActiveMQ消息隊(duì)列實(shí)現(xiàn)工單狀態(tài)變更后自動(dòng)通知質(zhì)量部門(mén)進(jìn)行檢驗(yàn)任務(wù)分配體現(xiàn)系統(tǒng)之間的“異步解耦”思想。引入定時(shí)任務(wù)框架如XXL-JOB或Spring原生Scheduled每天凌晨自動(dòng)匯總前一日生產(chǎn)報(bào)表并生成Word/PDF文件體現(xiàn)“自動(dòng)化管理報(bào)表”的業(yè)務(wù)價(jià)值。另外這篇博文你看到的所有表名、字段名我都有意用了實(shí)際生產(chǎn)中用得上的規(guī)范命名。你可以在不改總體結(jié)構(gòu)的情況下根據(jù)自己的場(chǎng)景微調(diào)。做這個(gè)項(xiàng)目最關(guān)鍵的收獲其實(shí)不是跑通那幾個(gè)接口而是理解一套“從業(yè)務(wù)到代碼”的思考路徑。你在答辯時(shí)能脫口而出“工單狀態(tài)為什么用數(shù)字而不是字符串”能解釋“BOM版本控制為什么重要”這些細(xì)節(jié)才是讓你跟那些“只會(huì)復(fù)制粘貼”的畢業(yè)生拉開(kāi)差距的地方。最后再分享一條個(gè)人經(jīng)驗(yàn)代碼寫(xiě)完以后一定要花時(shí)間把項(xiàng)目的README寫(xiě)好。寫(xiě)清楚項(xiàng)目怎么運(yùn)行、默認(rèn)賬號(hào)密碼是什么、數(shù)據(jù)庫(kù)腳本在哪、演示流程怎么走。畢業(yè)設(shè)計(jì)答辯時(shí)緊張的成分很大一份清晰的README就是一個(gè)外掛照著自己寫(xiě)的步驟走你根本不會(huì)忘詞。這套系統(tǒng)的所有設(shè)計(jì)和實(shí)現(xiàn)本質(zhì)上都是讓你在有限的時(shí)間里交付一個(gè)“講得出邏輯、經(jīng)得起追問(wèn)、拿得出手演示”的完整作品。做下去你會(huì)發(fā)現(xiàn)它遠(yuǎn)沒(méi)有想象中那么難。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
成人26uuu| 国产主播福利| 婷婷在线视频| 免费精品无码一级毛片牛牛影视 | 秋霞 色色| 好舒服视频| 亚洲无码一区二区三区三州| 亚州男人的天堂| 欧美强奸一区二区诱惑| 欧美呦呦性爱| 日韩精品啪啪啪| 亚洲图片激情综合另类| 女同性恋久久| 97欧美精品| 亚洲国产福利视频| 97色论| 在线看片国产精品每日更新| 国产精品久久久啊| 亚洲另类色综合网站| 水澄无码AV| 99婷婷一区二区| 日韩一级二级三级免费看完整版国语版| 日韩欧美国产高清视频| 日韩激情无码影院| 国产60页| 亚洲在线91| 91久热| 午夜精品久久久久久久男人的天堂| 午夜啪| 四虎免费在线播放| 中文字幕丝袜美腿| 殴美日韩m| 日韩中文字幕视频在线观看| 亚洲天堂无码| 中文字幕 国产区| 国模无码人体一区二区三| 操逼无毒无码免费视频| 天天干天天日天天射黄色片| 开心五月深爱五月| 欧美视频中文字幕区| 黑人精品XXX一区一二区| 欧美宗合网| 是还免费视频1727我| 超碰97资源中文字幕| 亚洲激情综合| 欧美夜夜狠| 国产一区自拍欧美日韩| 国产精品国产自产高清AV| 亚洲爽图| 国产一级内射高清视频| 亚洲九九九九| 精品久久久久久AV无码| 欧美精品一区二区少妇免费A片 | 国产日逼视频| 日韩成人精品| 日韩欧美大片免费高清啪啪| 中文字幕三四区| 亚洲少妇视频| 欧美色图91| 91色夜| 精品国产乱码久久久久久久久久毛片| 国产精品久久| 亚洲中文字幕在现观看| 91精品微拍福利| 爽 好舒服 无码刺激久久| 亚洲综合九九| 蜜乳AV.COM| 97视频免费播放| 亚洲人综合19| 男女性无套 免费九一| 极品白嫩美少妇在地板上位骑射淫水泛滥| 久久久久99999| 国产成人五月天丁香花| 国产精品人妻免费精品| 懂色av色欲av蜜臀av| 久久鲁干| 久久亚码| 亚洲激情久久久伊人综合| 97爱爱官网| 青草地一本线一区二区三区| 一二三四区操操Av| 2017天天操| 精品久久久久久久| 无码人妻精品一区二区三区99不卡 | 男人的天堂三级| 天天综合站| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 超碰人人色| 五月丁香影视| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 夜夜骑日日| 久久久久久久久久久久97| 亚洲熟妇白浆无码AV| 亚洲在饯| 亚洲激情在线一区二区| 欧美最婬乱婬爆婬性视频| 校园春色宗合网| 天天影视综合色| 亚洲婷婷综合网| 极品销魂美女一区二区| 国产一区二区啪啪视频| 大香蕉十区| 色香伊人| 91色人妻| 欧美日不卡| 日日夜夜模| 女优大全 - 91n| 国产精品亚洲无码| 99超碰色| 日产精品久久久一区二区| 久9精品| 久久综合国产精品国产| 久久伊人网视频一区二区三区| 60秒免费小视频| 玖玖综合视频| 一级A片女人高潮叫床| 成熟熟女国产精品一区二区| 欧美伦乱| 在线观看一级α片刺激高潮视频| 国产67194| 黄色不卡视频| 亚洲国产精品无码AV久久| 激情五月天丁香社区| 97青青操视频| 久久精品国产亚洲5555| 97最新在线播放视频| 有码人妻系列| 五月天伊人网| 五月天丁香网| 9精品久久| 九九综合九九综合| 久久免费中文字幕在线观看| 玖草在线视频| 丁香啪啪| 美女91| 国产欧美亚洲精品a第2页| 日本一二三高清| 久久东京热久久| 动漫爆乳3D奶水一区在线观看| 成人熟女区| 亚洲成人在线高清| 神马久久中文字幕| 日韩亚洲中文字幕在线| 日韩人妻精品| 探花在线免费观看视频国产一区| 伊人aaa| 国产最火爆久久国产网站网站| 亚洲色图久久成人| 国产三级片在线观看| 国产亚洲国产超碰| 丝袜加勒比| 日韩一级片在线看| 国产1024在线播放| 亚洲蜜臀懂色| 一级片在线观看高清无码| 91蜜臀熟女| 欧成人精品一区二区三区| 亚洲二区精品在线观看| 欧美春色| 男人网站婷婷| 激情丁香五月| 在线亚洲 欧美 日本专区| 91在线色| 亚洲精品第一| 超碰97男女| 蜜臀久久99精品久久久老,,| 欧美黄色手机在线观看| 少妇三P| 一级黄色性爱A级片| 欧美青青草视频| 丁香婷婷啪啪| 91伊人久| 日日骚中文字幕| 国内91熟女人妻丝袜天天精品视频在线 | 青青草丝袜在线视频| 天天影视之亚洲综合网| 日日橹狠狠爱欧美超碰| 欧美日韩性爱精品| 日日骚AV| 91精品久久久久久| 蜜色网色哟哟| 少妇高潮特黄A片| 啊啊啊免费视频| 亚州操操穴网| 免费一级欧美片片线观看| 中文字幕欧美日韩三级| 无码男人天堂| 插入综合网| 美国黄片aaa| 丝袜色综合| 嗯啊免费视频| 欧美日韩国产高清在线一二三区| 欧美天天综合在线| 亚州色国| 天天综合网91入口| 女色视频社区| 日本www操操操| 一个色导综合| 少妇淫妇久久久久久久| 97操97干| 日韩天天综合| 麻豆精品三区视频| 蜜臀精品1区2区| 中文字幕人成乱码熟女香港| 国产午夜精品理论片一二三区区| 狠狠干妹子| 91殴美大片| 性爱视频久久| 国内毛片国产专区二| 99re免费| 欧美性夜| 玖玖无码超碰| 97国产精品久久久久| 97国产精品在线观看| 精品人妻视频入口| 免费精品福利在线观看| 96国产污污污丝袜| 激情四射五月天| 亚洲最大无码中文字幕网站| 柠檬AV导航| 操逼逼无码| A V少妇特黄三级| 99久久无色码| 亚洲夜色在线| 色婷婷亚洲婷婷| 老司机老司机午夜影院| 九九综合久久中文字幕| AV乱伦专区| 国产91精品在线免费| 日日骚av| 黄片www视频免费| 中文字幕三四五区| 人妻欧美| 欧美精品宗合| 日韩欧美操逼xxx| 少妇久久久久久久久| 亚洲男人天堂视频 | 97超碰精品成| 日韩欧美天天爽爽爽天天爽爽| 久久色激情一区二区三区| 亚洲高潮少妇| 国产精品老师| 婷婷丁香五月综合| julia高潮后不停追击中出| 99热婷婷| 欧美综合骚| 亚洲综合性感在线| 亚洲 综合 第一页| 色亚洲欧美| 久久精品国产亚洲AV清纯| 加勒比99999| 97日亚洲欧美| 成人小说视频在线精品欧美| 国产成人超碰在线| 浪人综合网| 九九探花视频在线观看| a一区二区三区乱码在线| 欧美一区二区三区四区综合| 大香蕉久| 人妻激情另类| 吉川爱美亚洲二区在线| 成人一区二区三区四区| 超碰97极品9| 久久久日本电影| 超碰97人人cao| A级片一区| 鸡巴插逼视频| 日韩性色b| 小泽玛利亚一二三| 欧美传媒一区| 一区二三区四区视频大全套| 亚洲欧洲自拍| 欧美日产国产在线成人第一区| 中文字幕免费看大片| 丁香五月大香蕉| 精品人妻1237| 91操熟女视频| 久久久99免费| 天天干天天拍| 久久精9| 色网亚洲人| 免费a v| 国产超碰人人爽人人做| 丁香五月天久久精品视频一区二区三区| 蜜臀久久99精品| 日日不卡av| 综合色91| 超碰av在线| 欧美韩国你懂得在线| 超碰色97| 精品人妻一区二区视频| 久久天天摸| WWW美腿丝袜香蕉中文| 夜色91| 亚洲精品久久久久毛片A片拉屎| 无码高清操逼网址| 97人肏| 0755午夜福利视频| 欧美国产伊人久久久久| 成人A片男人的天堂| 欧美综合综合| 日本日皮视频逼| 神马久久网| 干少妇视频| 九九99精品| 人人摸人人舔一区二区| 日韩精品在线观看观看| 亚洲综合图文| 一起草精品人妻| 秋霞男人网| 97天天操| 久热免费视频| 免费一二区| 日韩人妻一区二区精品| 久久久性少妇| 大香蕉人妻| 欧美 日韩第一性色| 思思热er精品视频| 超碰色美女| 中文字幕在线观看二区三区| 91色人| 亚洲欧美一区二区三区一猛片| 大香蕉一人在线| 九月激情婷婷| 色偷偷色偷偷欧美日韩| 狠狠中文字幕| 久久精品一区一起草| 国人欧美精品一区二区| 亚州色图欧美色图| 蜜桃色色网站视频三区| 91天堂丝袜美腿| 人人透人人操| 蜜臀久久99精品久久久久久无删减 | 亚洲第一视频 欧美风情 日韩| 老司机福利社视频在线观看| 乱伦系列一区二区| 青青草原成人| 韩国一区二区精品亚洲| 情趣丝袜无码操逼视频| 美欧老女人97| 精品毛片久久久精品毛片| 大香蕉综合| 高清一区AV无码| 日日操免费视频| 久久久久久久久久久久黄色 | 乱伦熟女论坛| 欧美成人综合| 婷婷亚洲综合| 欧美大波激情xxxx| nuu12国产麻豆精品| 91九九| 在线视频97| 天天干天天日天天射黄色大片 | 欧美人与动性人交a| 亚洲精品欧洲精品| 精品亚洲国产成人AV制服丝袜| 日韩少妇一区二区三区| 日韩免费三级黄片电影| 午夜福利在线视频1000| 亚洲精品色| 富女玩鸭子一级毛片| 在线观看午夜婷婷久久久久清性观看| 国产尹人在线视频免费| 日韩欧美午夜一区二区| 少妇无码999| 九热大香蕉| 亚洲人妻AV| 久久久久亚洲av综合波多野制衣| 综合亚洲欧美| 欧美亚州色的图| 欧美综合骚| 久久精品中文字幕无码l| 91视频综合| 少妇内射视频| 97欧美色综合| 天天影视亚洲| 熟妇乱伦一区二区| 福利五区| 性色av一区二区| 97色涩| 国产99 中文字幕日韩小视频| 久久久亚洲| julia ann久久| 色大师网站www永久网站视频| 天天干天天爽| 日本在线播放不卡一区| 啪一啪免费视频| 加勒比在线观看一区二区| 玖玖久久久| 18禁久久| 少妇人妻无码| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 欧美一区二区三区大综合| 欧美成人性爱视频大全| 欧美视频在线视频免费va| 翔田千里AⅤHD无码| 综合大香蕉美。| 大香蕉之青青草原| 智利AV在线网| 超碰在线1234区| 色综合20p| 夜夜操夜夜爽夜夜高潮| 草草草草视频| 性色A∨91| 国产精品高朝久久久久久久| 国产精品一级二级在线| 中文字幕久久亚州无码| 亚洲天堂日本| 国产精品网站免费| 久噜噜| av天天在线观看| 99热97| 天天看天天综合成人网| 色性荡荡荡荡视频| 亚爽爽爽爽爽爽爽爽| 91亚州欧美| 欧美情色男人的天堂| 偷窥自拍亚洲天堂网爆| 久久直播国产| 婷婷六月色开| 有码免费观看| 性爱AV天堂| 青青草吊丝| 91欧美美女日韩国产婷婷| 亚洲熟妇无码一区二区三区| 久久女婷| 亚洲国产综合久久久性感熟妇| 女同性恋一区二区三区精品视频| 久草在| 中文字幕激情小说| 大屁股人妻女教师撅着屁股| 狠狠久久手机视频精品| www..com操老师| 白天啪啪晚上啪啪视频| 九色婷婷| 麻豆 亚洲 97| 欧美午夜熟妇黑人精品91| 国产传媒日韩| 强奸乱伦中文字幕AV| 97人人模人人爽人人| 国产成人亚洲精品自产在线 | 好看的91视频| 日日骚一区二区三区| 69一区二区三区| 天天日天天搞天天干| 69AV女优男人的天堂| 啊啊啊啊二区好大| 日本天堂在线播放| 91综合色噜噜| 欧美黑人精品一区二区| 97干在线看| 91殴美大片| yazhouzaixian| 亚洲欧美97√| 无码免费精品高清| 国产精品视频电影| 欧美色综合网| 极品美女福利在线观看| 亚洲精品天天影视综合网 | 国产亚洲色婷婷久久99精品91| 九九色色| 国内精品久9| 综合激情二| 激情五月天社区| 欧美草草高清日韩视频| 日本美女性生活久久久久久久| 亚洲精品中文字幕一区在线视频| 色色操| 黄色一区三区| 欧美性爱18观看| 中文字幕在线观看丝袜| 少好三P| 亚洲无码偷拍| 日韩乱码av| 精品日日人妻| 精品人妻美妇91job| 国产精品青青草| 久久久久久久久9| 欧美性生活免费网| 超碰地址97| 强被迫伦姧在线观看无码网站| 国产视频三区四区| 人人搞人人插人人操| 99热综合| 亚洲色狠| 天天综和| 国产宅男宅女在线观看| 日韩av色图| 精品一区二区成人| 中文字幕乱偷人妻久久艾草网| 综合 欧美 亚洲 日本| 久久综合久久综合人久久夜精品| 日日骚AV| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 亚洲成人帖图| 日韩女模中文造逼| 国产精品熟女一区二区三区| 操人妻少妇中文| 精品视频一二三中文| 中文字幕第页| 精品无码一区二区三区色欲| 久久AV无码1区2区3区| 激情 欧美 亚洲 小说| 色香伊人| 亚洲第一综合| 色爱综合网| 久草国产在线视频| 最新啪啪视频| 91亚洲综合| 9美女超碰在线免费观看| 人人摸人人叼| 超碰美国| 亚洲日韩熟女人妻高清在线| 综合网色| 飘花国产午夜精品不卡| 91美女视频在线免费观看| 久久老子无码午夜伦不卡| 91熟女在线| 欧美亚洲20p| 尤物一级在线免费观看| 亚洲情欲| 91处女在线视频| 日韩有码一区三区| 性爱Av免费| 97精品一区二区三区免费| 亚洲综合小视频小说在线观看 | 亚洲夜夜欢无码一区二区| 三上悠亚在线毛片91| 天堂精品小草| 99热啪啪| 日本理论在线| 欧美黄片欧美黄片xxx| www.夜夜| 不卡一区二区日本视频| 东京热亚洲一区二区| 青青草五月份天| 在线观看视频91| 亚洲精品白丝| 日本亚洲vr欧美不卡高清专区| 狠狠色狠狠色狠狠五月| 日本中文字幕不卡视频| 床戏久久久av一区二区麻豆| 日本黄色裸日本黄色裸体| 天天摸夜夜添无码小视频| 天天射夜夜操| 99热精品在线观看| 成人精品视频| 一直超碰| 粉嫩国产精品久久久| 久久草大香蕉| 婷婷午夜| 凹凸视频特色日本特黄| 黑人娇小av在线播放| 肉丝中文无码高清| 97热视频在线观看| 看看日B真人视频| 亚洲成人精品久久久| 欧美熟女少妇| 999久久久久久久精| 99热伊人| 伊人婷婷五月天| 玖玖爱免费观看视频| 美女极品一区二区三区| 69av一区二区三区| 国内毛片欧美香蕉精品| 三级日韩一区二区三区| 天天澡天天爽日日AV| 99少妇内射| 天天综合青苹果| 这里都是精品| 91宗合网| 欧美手机在线综合| 97国产精品在线观看| 超碰97在线中文| 欧美韩国你懂得在线| www.AV有限公司一区| 黑丝日韩av丝袜av| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 97综合在线| www久久99| 国产日本久久免费精品| 四虎AV在线观看| 久久神马影院| 国产不卡中文字幕免费avi| 情色五月天网| 日日嗷| 人人妻人人色一区二区三区| 91白嫩| 国产资源中文字幕在线| 日本高清视频xxxx| 狠狠色狠狠色狠狠五月| 色五月激情网| 日本熟妇熟色97一本在线观看| 99国内精品| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 99热超碰| 婷婷另类小说| 综合性视频99| 日本人妻最新在线中| 国产v片在线免费观看| 无码丰满熟妇一区二区浪潮AV| 亚洲欧美日韩精品久久久一区二区| 欧美日韩性爱视屏免费看了| 欧美久久九九| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 94色色电影网| 欧美性生活男人的天堂| www国产天美久久久| 伊人97超碰| 日本精品免费一区二区三区四区| 欧美极品色| 久久久夜夜夜| 欧美精品日韩久久久九| 九九av| 97国产伦理| 91精品人妻一区二区三区蜜臀| 欧美日韩性爱电影在线| 99色色网| 亚洲欧美在线综合| 97综合久久| 免费啪啪啪网站18岁| 99999精品成人| 超碰97极品9| 激情 欧美 亚洲 小说| 人妻熟女av国产网站| 91扒丝袜综合在线| 亚洲在线欧美| 黄色大香焦1级‘′‘| 欧美精品人妻视频| 欧美翘臀视频网站一区二区三区| 天天艹天天日| 亚洲另类久操网| 大香蕉日韩| 女人 A一级| 亚洲成人一二三区| 中文字幕三四区| 激情九月婷婷| 91伊人久久在线| 国产野战露脸在线播放| 91丝袜美腿网站| 99爱爱| 国产精品黄色三级av| 亚洲色图激情小说| 玖玖爱伊人玖玖爱| 日韩亚洲中文有码视频| 动漫片子网站3黄| 亚洲综合有码| 色一情一乱一乱一区91Av| 国产久久久久影院老熟女| 少妇人妻太紧太深av| 91色噜噜狠狠| 少妇熟女1区2区3区| 一二三啪啪专区| 啊啊啊好想要| 96精品在线| 色综合加勒比| 嗯啊免费视频| 大香蕉一级黄色片久久| 久久色人体 | 91色综合| 国产久久久9999| 五月天亚洲色图| 色呦呦、国产精品| 国产激情视频一区区三区| 曰韩精品九九无码| a男人的天堂久久一级A毛片| 色69大色97香蕉| 国产精品久久久久久无码红治院| AV色五月天| 国产懂色精品国产av| 2020中文字幕在线| www.婷婷| av网站免费线看| www.一本大99| 人人摸.人人色| 91艹| 日韩欧美女优电影| 试看日韩黄片| 91天美传媒在线观看| 婷婷亚洲五月***久久| 男人天堂最新手机版在线青青草| 丝袜大香蕉| 人妻精品免费一二三区| 97超碰免费人人性爱| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 性天堂| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 97少妇人妻中文字幕久久 | 久久久久久裸体| 好吊妞转入那个网| 中日韩免费看男女操逼大全| 欧美情色贴图| 99re视频在线观看这里只有精品| 香蕉欧美| 无码不卡亚洲成?人片| 一区二区三区视频在线观看免费| 超碰亚洲欧美日韩无| 人妻 欧美亚洲| 久久夜嗨| 亚洲色交| 欧美人人曰人人操人人射射| 欧美激色| 国产精品久久久久久夜夜夜| 欧美极品性爱天天射| 欧美人妖内射| 精品性爱久久视频| 色爱综合网| 91午夜无码| 大奶的诱惑| 国产一区二区三区久久精品太古里| 亚洲无无码αⅴ每日更新| 欧美亚州综合网图片| 大香蕉 222| 色婷婷电影| 国产精品日韩在线一区| 久久久一区二区三区麻豆| 日韩欧美水蜜桃人妻| 男人的天堂亚洲| 93人人操人人| 国产中文字幕在线点播| 美女91在线| 97超碰总站| 国产天天看| 久久男人的天堂国产| 天天干天天狼在线视频| 国产精品盗摄 偷窥盗摄| 91亚洲欧美激情| 亚洲脚交| 久久久久久久久久久久九| 有码免费观看| 色噜噜人妻av 中文字幕| 欧美中出1| 囯产乱伦一区二区三女| 亚洲熟女精品| 免费在线看黄片av| 天美传媒AV在线| 久久熟女精品不卡一区| 一区二区三区成人| 精品人妻一区二区三区视频| 清纯唯美激情四射| 亚洲偷拍自拍在线视频| 国产九九九九九九九九| 国产91乱伦| 看一级特黄a大一片| 一区二区三区欧美激情| 国产精品永久免费10000| 久久久99免费| 亚洲97成人在线观看| 欧美日韩人妻婷婷一区| 日日噜噜夜夜久久亚洲一区二区| 国产日韩精品一区二区三区| 涩爱AV在线| 欧美三级免费伊人| 97 亚洲 日韩 欧美 在线| 嗯嗯啊啊啊好舒服| 久操高青| 亚洲最大网站av| 亚洲色婷婷综合久久一区二区三区| 97国产成人精品免费视频| 狠狠色伊人亚洲综合网站色| 啪啪啪精品| 国产美女裸体秘 永久无遮挡| 中文字幕在线观看永久| 亚洲欧洲综合成人av一区| 日韩免费看在线黄色片| 丁香五六月啪啪| 在线情色电影 91大| 97se综合| 操操操操网黑人| 黄页网站成人免费| 亚洲交性| 欧美亚洲| 热99这里有精品综合久久| 亚洲第一页第二页激情| 亚洲啪AⅤ永久无码| 搡老女人老妇女AAA一VU麻豆| 51一区二区三区| 日韩人成网站在线播放| 淮穴色AV| 伊人久久大香线综合无码| 无码操逼天堂| 一区二区三区一亚洲中文字幕、综合区灬| 91女日逼| 免费公开人人操| 高清国产av无码| 禁止观看美女黄| 偷拍五区| 久热最新在线杭州| 欧美日韩另类在线| 亚洲天堂热| 欧美在线55555| 97超碰伊人| 色哟哟 日韩精品| 午夜黄色免费在线观看| 天天添天天干电影| 久久色AV线| 久久久四区| 日本一区视频在线观看| 大香樵伊人网| 伊蕉97蜜桃97狠狠综合干| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 亚洲国产麻豆一区二区三区 | 91大神电影天堂| 国产热av| 人人人摸人人| 九九热精品| 亚洲自拍欧美色综合| 丝袜美腿av女优在线| 福利在线黄片| 色婷婷成人综合| 黑白配性爱AV成| 久久精品国产亚洲妲己影视| 大香蕉520| 亚洲揄拍网| 亚洲欧美一区二区网址| 免費黃色視頻觀看一| 国产地址二三| 亚洲色图综合| 日本九九九九| 久久精品人妻一区二区三区| 黄片视频观看| www.狠狠干.coom | 久久无码一区二区二三区性色| 国产激情综合| 91精品又粗又猛又爽| 亚洲图片色图欧美另类| 超91综合网| 午夜男人的天堂| japan日本高清乱xxxx| 天天操天天干美女网址导航| Sekablack无码一区| 大香蕉亚洲中文| 人爽不卡视频| 久热伊人| 日日骚av| 亚洲欧美成人在线| 日本五区不卡| 中文久久爆乳| 中文字幕欧美日本乱码一线二线| 干日本人少妇午夜寂寞影院| 成人色女网| 百度百度日本操逼| 德国一二三不卡| 极品销魂美女一区二区 | 夜夜嗨一区二区| 精品日日人妻| 婷婷操逼| 中出欧美| 久操高青| 欧美精品庄| 五月天激情网站| 97在线视频网站| 久久9 9 9精品| 欲香欲色| A啊啊在线观看| 久久久久久久伊人精品| 欧洲亚洲天堂精品| 南澳成人一级片在线播放| 六九九九| www四虎| 成人一级二级| 黄片在线免费在线观看| 天美国产三级传媒| 熟女高潮精品一区二区| 日韩欧美经典在线观看| 九九九九九九综合| 亚洲 欧美都市激情| 尤物av网站免费在线播放| 国产精品三级视频网站| 欧美综合色图片| 亚洲色吧网| 亚州熟女乱伦| 91中文精品日韩欧美在线 | 后入式在线免费观看60秒| 日韩乱伦影音先锋| 亚洲日韩狠狠撸视频| 久久亚洲影院一区二区| 激情无码日韩| 青青青在线高清视频在线一二三四区| 丝袜 亚洲 偷拍| ji熟女.com| 天堂网亚洲区手机版| 亚 欧 美 综合| 国产精品干干干| 亚洲男人天堂2017| 五月天玖玖资源站| 一区在线精品中文字幕| 久久亚洲天堂| 97日本超碰综合| 操逼天美3区| 久久99国产精品| 久久AV色| 色噜噜综合在线| 亚洲欧洲精品视频发布| 五月丁香激情四射| 走光一区92下载| 久久9 9 9精品| 人妻熟女av国产网站| 国产诱惑| 欧美老妇综合网| 丁香五月激情啪啪| 免费看国产曰批40分钟怎么下载| 男人综合网| 夜夜免费视频| 欧美婷婷久久| 国产超碰在线| 亚洲国产精品有声| 国产 日韩 欧美一区| 99re28在线观看| 欧美A√综合网| 久久9 9 9精品| www.激情| 人人 操人人 操人人| 麻豆精品.欧美精品.日韩精品.| 日本中文字幕一区| 诱惑人妻欧美一区在线播放| 九九成人视频| 亚洲AV永久无码一区仙野| 福利操逼| 免费在线看黄片av| 天天爱天天操| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 麻豆av一区二区| 四虎精品一区| 人妻少妇精品久久久| 99热精品青草在线| 97天天爽| 夜夜肏2021| 97最新在线播放视频| 香蕉欧美| 久久久久久久九九九九| 精品视频一区二区| 天天干1区2区在线| 69AV女优男人的天堂| 91国产精品熟女| 日本99热| 婷婷五月天成人| 丁香五月天堂网| 26uuu国产| 丁香五月激情综合国产| 熟女被操视频网址| 欧美99999| 九九精品无码专区免费| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 伊人热综合| 日本不卡二区| www久久精品| 国产97在线播放| 亚洲色婷婷综合久久久久中文| 后入人妻无码| 天美久久久久| 亚洲天天更新| 97在线免费视频| 秋霞色色影院| 亚洲激情在线观看一区| 国产av强奸美女| 一级黄色性爱A级片| 在线欧美69V免费观看视频| 性色av网站| 一区二区三区机械有限公司| 蜜乳av首页| 欧美极品女人的天堂| 红桃视频高潮| 国产一区二区三区,在线观看观看 五月开心久久AV官网 | 884t在线| 欧美综合传媒| 一本久久久精品| 欧美色图片| 国产欧美成人第一页在线观看 | 亚洲日韩东京热一区| 亚洲AV永久无码精品成人调教 | 亚洲欧美国产其他二区| www.久久| 日本999精品视频| 嗯啊啊啊轻点视频| 欧美国产操逼| 91国模| 可以免费看黄片的视频| 八人操人人摸人人看| 激情五月综合| 久久久久久大| 少妇精品久久久八区九区| 欧日韩一二三f区| 国产JDAV无码视频在线观看| 日本性爰一道本| 色九月| 亚州成人A√| 本道在线| 日本欧美中文字幕| 另类 日韩 熟女| 国产剧情一区在线观看| 久久九操在线观看| 蜜臀久久99精品久久久电影| 在线观看免费视频国产| 成人夜夜爽| 婷婷丁香一区二区三区| 91精品人妻一区二区三区蜜桃| 亚洲国产一级黄色视频| 色狠狠综合| 欧亚第一综合网| 亚洲一区二区三区婷婷| 日韩国产不卡在线视频| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 国产黄片精品在线| 99热免费| 超碰9 7女人| 三男一女不戴套的A片| 97色色婷婷| 亚州操操穴网| 深喉吞精| 午夜理论片在线观看免费| 亚洲 中文 女同| 日韩三级av片| 加勒比久久综合网高清| 免费视频在线观看啊啊啊啊啊| 男人的天堂久久狠| 自怕偷自怕亚洲精品| 密桃99999| 日韩日韩日韩-国产乱码精品一区二区| 88xx成人精品视频| 欧美熟爽综合| 超碰色大香蕉| 白嫩国模丰满一二三区| 成人精品视频| 久久亚洲一区女同性恋中文字幕| 亚洲少妇自拍中文字幕懂色| 97色碰| 青青草天天亲夜夜操网| 91美腿丝袜在线观看| 中文字幕在线免费观看 | 手机在线人成免费视频| 99亚洲人人| 天天澡天天爽日日AV| 九九九九久久久| 中日韩久久久免费看| 在线可观看的黄色网址| 青青草在线视频欧美| 被窝影院午夜看片无码| 久久久久久午夜男人的天堂| 色天天野狼综合社区| 国产CHASE男男GAYGA 毛多色婷婷| 99精品在线| 婷婷深爱五月| 日韩丨制服丨中文|在线| 亚洲 国产 精品一区| 超碰98综合网| 欧美日韩香蕉| 用力操死我| 熟女这里只有精品6| 中文字幕女同在线| 日韩高清黄片| 亚码人妻| 无码人妻一区二区三区色欲aⅴ| 亚洲AV无码国产成人| 国产97在线播放| 婷婷伊人綜合中文字幕小说| 亚洲天堂一二| 中文字幕日韩综合| 欧美性第一页| 日韩懂色网| 久操com| 婷婷久久久精品| 人妻天堂综合网| 中文字幕在线观| 天天弄欧美| 国产精品ⅴ无码大片在线看.| 香港日本韩国人妇99www.wccm20| 黑人美精品 A片| 久久精品99| 五月天婷婷色色| 手机看片91人妻| 日韩欧美天天爽爽爽天天爽爽| 国语国产操逼伊人AV网| 国产精品另类| 亚洲 综合 欧美| 6080YYY午夜理论片在线观看| 日韩美女高潮喷水视频| 亚洲欧美成人在线| 一级一性爱免费视频| 欧美少妇内射| 欧美视频在线视频免费va| 蜜臀久久99精品久久久久久婷婷 | 精品区国产区一区二区三区| 97久久超碰日韩精品| 欧美精品成人亚洲| AV不卡在线| 午夜传煤十二区精品| 亚洲免费97免费| 日韩激情啪啪啪| 九九九九九精品视频| 日本最新免费韩国1区2区视频播放| 操逼1区| 91老熟妇| 香蕉免费一区二区三区不读| 水野优香在线观看| 黄色AAAAA欧美| 男人天堂久久精品不卡| 台湾佬中文娱乐自偷自拍| 国产操操日韩三级黄| 日本欧美中文字幕| 麻豆婷婷成人一二三| 色播综合| 乳欲人妻办公室奶水| 97伦乱| 青苹果影院男人的天堂| 天天色播| 欧美色图亚洲激情| 亚洲日韩少妇一道本视频| http://qxhbdz.com| 国产精品久久久久久久毛片1| 水多多映视AV| 人妻人人澡人人爽人人| 欧美天天插| 亚洲熟女av日韩熟女| 欧美日韩国产成人高清| 日日骚一区二区三区| 中文字幕久久精视频久久大全| 九九九九九九九精品视频| 激情啪啪拍91| 国产精品露脸在线观看| 欧成人精品H无码| 亚洲偷拍欧美激情| 丁香六月婷| 亚洲激情在线观看一区| av日韩中文字幕| 天美av在线| 神马久久久久久久久久久久| 亚欧高清| 色香综合| 青青草原伊人网| 国产免费久久精品99re韩国| 欧美最婬乱婬爆婬性视频 | 亚洲97成人在线观看| 一区二区视频在看| 亚州五月| 久久精品72| 欧美香蕉视xxx| 夜夜高潮夜夜爽| 欧亚综合一卡二卡中文字幕| 亚洲超碰在线| 午夜视频好爽啊| 岛国在线国产| 久久透逼视频| 亚洲国产精品成人久久蜜臀| 蜜臀AV午夜精品久| 97chaopengongkai| 青青草原香蕉日本Ap| yazhououmeizongya| 91亚.色| 福利大香蕉| 天天综合欧美黑人| 男女香蕉一区二区| 久啪视频| 日韩欧美传媒一区国产| 蜜臀99久久精品久久久久久| 亚洲天天天| av2014 日韩在线中文字幕| 欧美激情内射| 久久九色| 亚洲精品久久久久久久蜜桃臀|