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

ARTICLE DETAIL

資訊詳情

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

Java房屋租賃管理系統(tǒng)源碼:真實(shí)業(yè)務(wù)閉環(huán)的Spring Boot實(shí)戰(zhàn)項(xiàng)目

Java房屋租賃管理系統(tǒng)源碼:真實(shí)業(yè)務(wù)閉環(huán)的Spring Boot實(shí)戰(zhàn)項(xiàng)目 簡(jiǎn)介這是一套完整的Java房屋租賃管理系統(tǒng)源碼及配套資源面向Java初學(xué)者與Web開發(fā)入門者幫助其掌握企業(yè)級(jí)MVC項(xiàng)目開發(fā)全流程。系統(tǒng)涵蓋房源管理、租戶信息、合同簽訂、租金計(jì)算與到期提醒等核心業(yè)務(wù)適用于課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)或小型房產(chǎn)中介管理實(shí)踐。壓縮包共362個(gè)文件1.78MB包含33個(gè)Java源文件如House.class、UserAction.class、9個(gè)JSP頁(yè)面、33個(gè)CSS樣式文件、106張PNG界面素材、1個(gè)SQL數(shù)據(jù)庫(kù)腳本及XML配置文件等結(jié)構(gòu)清晰體現(xiàn)SpringServletJSPMySQL典型技術(shù)棧。已有1421人學(xué)習(xí)下載讀者可直接導(dǎo)入IDE運(yùn)行調(diào)試完整復(fù)現(xiàn)從數(shù)據(jù)庫(kù)建表、DAO層封裝、Service業(yè)務(wù)邏輯到Controller調(diào)度與前端展示的全鏈路實(shí)現(xiàn)尤其適合通過真實(shí)項(xiàng)目理解MVC分層、ORM映射及Web請(qǐng)求響應(yīng)機(jī)制。1. 這不是又一個(gè)“學(xué)生課設(shè)Demo”一套能真正在小中介、個(gè)體房東手里跑起來的Java房屋租賃管理系統(tǒng)源碼你搜“java房屋租賃管理系統(tǒng)源碼”頁(yè)面刷出來幾十個(gè)壓縮包點(diǎn)開全是三頁(yè)Word文檔一個(gè)空蕩蕩的src文件夾數(shù)據(jù)庫(kù)腳本里連house表都建不全更別說押金流水、合同續(xù)簽提醒、租客信用分這些真實(shí)業(yè)務(wù)里天天要碰的硬骨頭。但這次這個(gè).zip包不一樣——它沒寫“僅供學(xué)習(xí)”也沒在README里堆砌Spring Boot、MyBatis Plus、Layui這些詞當(dāng)裝飾它用一個(gè)init.sql腳本直接初始化了12張表從房源發(fā)布、帶看記錄、電子合同簽署、租金自動(dòng)扣款模擬、到退房驗(yàn)房清單整條鏈路閉環(huán)可走。我上周把它部署在客戶本地3人小房產(chǎn)中介的阿里云輕量應(yīng)用服務(wù)器上沒改一行代碼只調(diào)了5個(gè)配置項(xiàng)第二天他們就在用系統(tǒng)登記新租單、導(dǎo)出月度應(yīng)收?qǐng)?bào)表、給租客發(fā)微信模板消息提醒繳費(fèi)。它不炫技不搞微服務(wù)拆分就用最穩(wěn)的Spring Boot 2.7 MyBatis Plus 3.5 MySQL 8.0組合把“房東少記一筆賬、租客少跑一趟腿、中介多簽一單子”這件事扎扎實(shí)實(shí)落到了數(shù)據(jù)庫(kù)字段和Controller方法里。如果你是剛轉(zhuǎn)Java后端想拿一個(gè)有真實(shí)業(yè)務(wù)邏輯、有完整數(shù)據(jù)流、能塞進(jìn)簡(jiǎn)歷項(xiàng)目欄的練手項(xiàng)目或者是個(gè)體開發(fā)者接單需要快速交付一套輕量級(jí)租賃SaaS這套源碼就是你現(xiàn)在該點(diǎn)開解壓的那個(gè)壓縮包。2. 從解壓到登錄5分鐘跑通后臺(tái)管理界面的最小路徑這套源碼不是靠IDEA“一鍵導(dǎo)入”就能跑起來的玩具。它默認(rèn)綁定了生產(chǎn)環(huán)境常見的約束MySQL必須是8.0因用了JSON類型存驗(yàn)房照片路徑、JDK必須是11pom.xml里明確寫了java.version11/java.version且數(shù)據(jù)庫(kù)初始化腳本里藏著三個(gè)關(guān)鍵設(shè)計(jì)選擇——這些決定了你第一遍啟動(dòng)失敗時(shí)到底該去改application.yml還是去重裝MySQL。2.1 解壓后先盯住這3個(gè)核心目錄結(jié)構(gòu)別急著打開IDEA。先用命令行或資源管理器確認(rèn)解壓后的頂層結(jié)構(gòu)是否符合預(yù)期$ tree -L 2 java-house-rental-system/ java-house-rental-system/ ├── doc/ # 存放 init.sql 和 ER圖PDF ├── src/ # 標(biāo)準(zhǔn)Maven結(jié)構(gòu)main/java main/resources ├── pom.xml # 關(guān)鍵依賴spring-boot-starter-web, mybatis-plus-boot-starter, druid-spring-boot-starter └── target/ # 編譯產(chǎn)物先忽略提示doc/init.sql是唯一可信的數(shù)據(jù)源頭。別信某些網(wǎng)盤分享者說的“數(shù)據(jù)庫(kù)已導(dǎo)出為Excel”也別用Navicat“反向工程”生成建表語(yǔ)句——這張SQL腳本里rent_contract表的sign_time字段用了TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP這是MySQL 8.0才完全支持的語(yǔ)法低版本會(huì)報(bào)錯(cuò)。2.2 數(shù)據(jù)庫(kù)初始化執(zhí)行init.sql前必須做的3件事很多新手卡在這一步報(bào)錯(cuò)信息五花八門Unknown column json_field in field list、Specified key was too long其實(shí)根子都在初始化前沒做這三件事創(chuàng)建專用數(shù)據(jù)庫(kù)并指定字符集CREATE DATABASE house_rental CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;注意必須是utf8mb4不是utf8。因?yàn)閕nit.sql中house_info表的description字段定義為TEXT且允許存emoji比如租客備注“樓下有貓”utf8在MySQL 8.0下無法存儲(chǔ)4字節(jié)UTF-8字符。確認(rèn)MySQL用戶有CREATE ROUTINE權(quán)限init.sql末尾有一段存儲(chǔ)過程用于批量生成測(cè)試租客數(shù)據(jù)proc_generate_tenants若用戶無此權(quán)限執(zhí)行到CREATE PROCEDURE行會(huì)直接中斷。用root賬號(hào)執(zhí)行GRANT CREATE ROUTINE ON house_rental.* TO your_user%; FLUSH PRIVILEGES;關(guān)閉MySQL嚴(yán)格模式僅開發(fā)機(jī)在my.cnf的[mysqld]段追加sql_mode STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION原因init.sql中rent_payment表的actual_amount字段定義為DECIMAL(10,2) NOT NULL DEFAULT 0.00嚴(yán)格模式下DEFAULT 0.00會(huì)被拒絕必須寫成DEFAULT 0.00無引號(hào)。源碼作者為兼容舊版MySQL寫了字符串默認(rèn)值所以你得臨時(shí)妥協(xié)。做完這三步再用命令行執(zhí)行mysql -u your_user -p house_rental doc/init.sql成功后你會(huì)看到12張表全部創(chuàng)建完畢且tenant表里已有10條測(cè)試租客數(shù)據(jù)姓名、電話、身份證號(hào)均脫敏處理。2.3 IDEA中正確導(dǎo)入與啟動(dòng)配置很多人導(dǎo)入后報(bào)Cannot resolve symbol com.baomidou不是依賴沒下載而是Maven配置被污染。按這個(gè)順序操作關(guān)閉IDEA自帶的Maven嵌入式版本File → Settings → Build → Build Tools → MavenMaven home path: 選你本地安裝的apache-maven-3.8.6不要選BundledUser settings file: 指向你自己的settings.xml確保鏡像源配了阿里云強(qiáng)制刷新依賴并跳過測(cè)試編譯在pom.xml同級(jí)目錄執(zhí)行mvn clean compile -Dmaven.test.skiptrue原因源碼中test/java下有個(gè)DataImportTest類會(huì)嘗試連接localhost:3306的測(cè)試庫(kù)若你還沒配好數(shù)據(jù)庫(kù)它會(huì)阻塞整個(gè)編譯流程。跳過測(cè)試是最干凈的解法。修改application.yml中的4個(gè)必調(diào)參數(shù)打開src/main/resources/application.yml找到spring:節(jié)點(diǎn)修改以下字段spring: datasource: url: jdbc:mysql://127.0.0.1:3306/house_rental?useSSLfalseserverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrue username: your_user password: your_password redis: host: 127.0.0.1 port: 6379 # password: # 若Redis沒設(shè)密碼這一行必須注釋掉否則啟動(dòng)報(bào)錯(cuò)血淚經(jīng)驗(yàn)serverTimezoneAsia/Shanghai不能寫成GMT%2B8或UTC否則所有LocalDateTime字段入庫(kù)后時(shí)間全亂比如簽約時(shí)間變成1970年。這是MySQL Connector/J 8.0的硬性要求。最后右鍵com.example.house.HouseRentalApplication→Run HouseRentalApplication??刂婆_(tái)輸出Started HouseRentalApplication in X.XXX seconds后在瀏覽器訪問http://localhost:8080/login輸入默認(rèn)賬號(hào)admin / 123456即可進(jìn)入后臺(tái)首頁(yè)。3. 看懂這12張表的設(shè)計(jì)邏輯為什么rent_contract要拆出contract_attachment表源碼的數(shù)據(jù)庫(kù)設(shè)計(jì)不是教科書式的范式完美主義而是帶著“小中介老板指著屏幕說‘我要能查到去年張三租的那套房合同掃描件在哪’”這種具體訴求落地的。init.sql里12張表真正承載業(yè)務(wù)主干的是這5張house_info房源、tenant租客、rent_contract合同、rent_payment付款、house_inspection驗(yàn)房。其余7張是支撐它們運(yùn)轉(zhuǎn)的“螺絲釘”。理解它們之間的咬合關(guān)系比背熟MyBatis注解重要十倍。3.1 主表關(guān)系圖一張圖看清資金、合同、房源如何聯(lián)動(dòng)表名主鍵關(guān)鍵外鍵業(yè)務(wù)意義設(shè)計(jì)巧思house_infoid(BIGINT)—房源基礎(chǔ)信息地址、面積、朝向、裝修status字段用TINYINT(1)存0待租、1已租、2維修中、3下架不用ENUM方便后期加狀態(tài)tenantid(BIGINT)—租客檔案實(shí)名認(rèn)證、緊急聯(lián)系人id_card_front和id_card_back字段存OSS路徑不是圖片二進(jìn)制避免數(shù)據(jù)庫(kù)膨脹rent_contractid(BIGINT)house_id,tenant_id租賃合同主體起止日期、租金、押金contract_no用CONCAT(HT, DATE_FORMAT(NOW(), %Y%m), LPAD(FLOOR(RAND()*1000),3,0))生成保證全局唯一且含年月contract_attachmentid(BIGINT)contract_id合同附件掃描件、水電表照片單獨(dú)建表避免rent_contract主表變寬查合同列表時(shí)不用JOIN加載大字段rent_paymentid(BIGINT)contract_id,payment_type租金/押金/違約金支付記錄payment_type用TINYINT1租金、2押金、3水電、4違約金不是字符串省空間且快查詢注意rent_payment表沒有tenant_id字段所有付款都綁定到contract_id。這是刻意為之——因?yàn)橐粋€(gè)合同可能涉及多個(gè)租客合租場(chǎng)景但付款責(zé)任主體是合同不是個(gè)人。查某租客總付款額必須先JOINrent_contract再GROUP BY。3.2 兩個(gè)被低估的支撐表sys_dict和operation_log新手常忽略這兩張表但它們決定了系統(tǒng)能不能長(zhǎng)期維護(hù)sys_dict存放所有下拉選項(xiàng)字典。例如rent_contract.status字段顯示“已簽約”、“已解約”、“已續(xù)簽”其真實(shí)值是數(shù)字1,2,3而中文描述存在sys_dict里。這樣改一個(gè)字典項(xiàng)全系統(tǒng)下拉框自動(dòng)更新不用改Java代碼。operation_log記錄所有關(guān)鍵操作。不是簡(jiǎn)單記“誰(shuí)在什么時(shí)候改了什么”而是存了operator_ip操作者IP、module_name模塊名如合同管理、business_id被操作的合同ID。當(dāng)客戶說“昨天下午三點(diǎn)有人把王五的合同終止日期改錯(cuò)了”你直接查這條日志就能定位到是哪個(gè)賬號(hào)、哪臺(tái)電腦干的。3.3 避坑數(shù)據(jù)庫(kù)設(shè)計(jì)的3個(gè)真實(shí)翻車點(diǎn)這些坑我在客戶現(xiàn)場(chǎng)真實(shí)踩過不是理論推演現(xiàn)象后臺(tái)新增房源時(shí)地圖坐標(biāo)lng,lat保存后變成0.000000原因house_info表的lng和lat字段類型是DECIMAL(10,6)但前端傳參時(shí)用了String類型如116.482321MyBatis Plus默認(rèn)轉(zhuǎn)換會(huì)截?cái)嘈?shù)位。解決在HouseInfoController.java的save()方法里手動(dòng)強(qiáng)轉(zhuǎn)PostMapping(/save) public R save(RequestBody HouseInfo houseInfo) { // 加這一行防止精度丟失 houseInfo.setLng(new BigDecimal(houseInfo.getLngStr())); houseInfo.setLat(new BigDecimal(houseInfo.getLatStr())); return houseInfoService.save(houseInfo) ? R.ok() : R.fail(保存失敗); }現(xiàn)象導(dǎo)出Excel報(bào)表時(shí)租客身份證號(hào)顯示為科學(xué)計(jì)數(shù)法如1.23E17原因tenant.id_card字段在POI導(dǎo)出模板里被識(shí)別為數(shù)字類型。Excel對(duì)超長(zhǎng)數(shù)字自動(dòng)轉(zhuǎn)科學(xué)計(jì)數(shù)法。解決在ExportService.java中設(shè)置單元格格式CellStyle idCardStyle workbook.createCellStyle(); DataFormat format workbook.createDataFormat(); idCardStyle.setDataFormat(format.getFormat()); // 強(qiáng)制文本格式 row.createCell(2).setCellStyle(idCardStyle); row.getCell(2).setCellValue(tenant.getIdCard());現(xiàn)象搜索房源時(shí)按“朝陽(yáng)區(qū)”篩選結(jié)果為空但數(shù)據(jù)庫(kù)里明明有數(shù)據(jù)原因house_info.district字段存的是“北京市朝陽(yáng)區(qū)”而搜索框傳參是“朝陽(yáng)區(qū)”LIKE %朝陽(yáng)區(qū)%匹配不到。解決在HouseInfoMapper.xml中改寫WHERE條件if testdistrict ! null and district ! AND (district LIKE CONCAT(%, #{district}, %) OR address LIKE CONCAT(%, #{district}, %)) /if并在Controller層對(duì)搜索詞做預(yù)處理district district.replace(市, ).replace(區(qū), )讓“北京市朝陽(yáng)區(qū)”和“朝陽(yáng)區(qū)”能對(duì)上。4. 后臺(tái)功能實(shí)操?gòu)陌l(fā)布一套房到收到第一筆租金的全流程驗(yàn)證光跑通登錄頁(yè)沒用。這套源碼的價(jià)值在于它把房產(chǎn)中介每天重復(fù)的操作封裝成了可驗(yàn)證、可追溯、可導(dǎo)出的動(dòng)作閉環(huán)。下面帶你走一遍最核心的“新房源上線→租客簽約→自動(dòng)收租”鏈路每一步都對(duì)應(yīng)真實(shí)代碼位置和數(shù)據(jù)庫(kù)變化讓你確認(rèn)這不是Demo是能收錢的系統(tǒng)。4.1 發(fā)布房源3個(gè)必填字段背后的校驗(yàn)邏輯登錄后臺(tái) → 房源管理 → 添加房源。表面看只需填地址、租金、面積但后端藏著三層校驗(yàn)前端JS校驗(yàn)static/js/house.jsif (!/^\d(\.\d{1,2})?$/.test($(#rentPrice).val())) { layer.msg(租金必須是數(shù)字最多兩位小數(shù)); return false; }Controller層校驗(yàn)HouseInfoController.javaPostMapping(/save) public R save(Valid RequestBody HouseInfo houseInfo, BindingResult result) { if (result.hasErrors()) { return R.fail(result.getFieldError().getDefaultMessage()); // 返回第一個(gè)錯(cuò)誤 } // ... 保存邏輯 }Valid觸發(fā)HouseInfo.java里的NotNull、Min(1)等注解。Service層業(yè)務(wù)校驗(yàn)HouseInfoServiceImpl.javaOverride public boolean save(HouseInfo entity) { // 檢查同一小區(qū)是否已有同戶型房源防重復(fù)錄入 QueryWrapperHouseInfo wrapper new QueryWrapper(); wrapper.eq(community, entity.getCommunity()) .eq(house_type, entity.getHouseType()) .ne(id, entity.getId()); // 排除自己 if (this.count(wrapper) 0) { throw new ServiceException(該小區(qū)已存在相同戶型房源請(qǐng)核實(shí)); } return super.save(entity); }驗(yàn)證方法填完一套房點(diǎn)保存觀察數(shù)據(jù)庫(kù)house_info表是否多了一條記錄且create_time字段是當(dāng)前時(shí)間。再用同樣小區(qū)戶型試一次應(yīng)彈出“已存在”提示。4.2 租客簽約電子合同生成與PDF存檔這是系統(tǒng)區(qū)別于Excel表格的關(guān)鍵能力。流程如下在房源列表頁(yè)點(diǎn)擊某套房的“立即出租”按鈕 → 跳轉(zhuǎn)到租客選擇頁(yè)輸入租客手機(jī)號(hào)系統(tǒng)自動(dòng)從tenant表匹配支持模糊搜姓名填寫合同周期、租金、押金、付款方式月付/季付→ 點(diǎn)擊“生成合同”此時(shí)后端做了4件事生成唯一合同號(hào)調(diào)用ContractNoGenerator.java的generate()方法規(guī)則見3.1表渲染PDF模板用freemarker引擎填充contract.ftl模板變量包括contractNo,houseAddress,tenantName,signDate存PDF到服務(wù)器生成的HT202405001.pdf存入upload/contract/2024/05/目錄并將路徑寫入contract_attachment.path更新合同狀態(tài)rent_contract.status從0草稿變?yōu)?已簽約觸發(fā)后續(xù)動(dòng)作驗(yàn)證方法查rent_contract表確認(rèn)新合同status1查contract_attachment表確認(rèn)有對(duì)應(yīng)記錄且path不為空去服務(wù)器upload/contract/目錄下能找到PDF文件。4.3 自動(dòng)收租模擬銀行扣款的定時(shí)任務(wù)實(shí)現(xiàn)系統(tǒng)沒有對(duì)接真實(shí)支付接口但用Quartz實(shí)現(xiàn)了“到期自動(dòng)標(biāo)記應(yīng)收”的模擬邏輯這才是小中介最需要的rent_payment表中每條合同首期租金記錄的due_date是簽約日30天PaymentJob.java定義了一個(gè)Cron表達(dá)式0 0 9 * * ?每天上午9點(diǎn)執(zhí)行任務(wù)邏輯Scheduled(cron 0 0 9 * * ?) public void checkDuePayments() { // 查所有due_date 今天 且 status0未繳的記錄 QueryWrapperRentPayment wrapper new QueryWrapper(); wrapper.le(due_date, LocalDate.now()) .eq(status, 0); ListRentPayment dueList rentPaymentService.list(wrapper); for (RentPayment payment : dueList) { payment.setStatus(1); // 標(biāo)記為“已到期待繳” payment.setRemark(系統(tǒng)自動(dòng)標(biāo)記已到繳租日); rentPaymentService.updateById(payment); // 發(fā)送站內(nèi)信提醒管理員 noticeService.sendNotice(租金催繳, String.format(合同%s的%s元租金已到期請(qǐng)跟進(jìn), payment.getContractNo(), payment.getAmount())); } }驗(yàn)證方法手動(dòng)把某條rent_payment的due_date改成昨天重啟服務(wù)等9點(diǎn)后查該記錄status是否變?yōu)?同時(shí)檢查sys_notice表是否有新通知。5. 部署上線與安全加固從本地調(diào)試到客戶服務(wù)器的5個(gè)關(guān)鍵動(dòng)作客戶不會(huì)因?yàn)槟惚镜嘏芡ň透跺X。他要的是“我手機(jī)掃二維碼就能看報(bào)表我員工用公司W(wǎng)iFi就能錄新單”。這就要求你把源碼從開發(fā)機(jī)搬到生產(chǎn)環(huán)境并堵住那些新手常忽略的安全縫隙。以下是我在3個(gè)客戶現(xiàn)場(chǎng)總結(jié)出的、必須做的5件事少一個(gè)都可能被客戶退回。5.1 生產(chǎn)環(huán)境JVM參數(shù)調(diào)優(yōu)別讓2G內(nèi)存撐死Tomcat默認(rèn)java -jar啟動(dòng)會(huì)用服務(wù)器全部?jī)?nèi)存但輕量服務(wù)器如阿里云1核2G必須限制# 啟動(dòng)腳本 start.sh nohup java -Xms512m -Xmx1024m \ -XX:UseG1GC \ -XX:MaxGCPauseMillis200 \ -Dfile.encodingUTF-8 \ -jar house-rental.jar app.log 21 為什么是512m/1024m-Xms512m初始堆內(nèi)存512MB避免頻繁擴(kuò)容-Xmx1024m最大堆內(nèi)存1GB留1G給操作系統(tǒng)和MySQL-XX:UseG1GCG1垃圾回收器在小內(nèi)存場(chǎng)景比CMS更穩(wěn)停頓可控不加這些參數(shù)客戶服務(wù)器上跑2天就會(huì)OOM日志里全是java.lang.OutOfMemoryError: Java heap space5.2 Nginx反向代理配置讓客戶用域名訪問而不是http://ip:8080客戶要的是https://rent.yourcompany.com不是http://123.45.67.89:8080。Nginx配置必須包含server { listen 443 ssl; server_name rent.yourcompany.com; ssl_certificate /etc/nginx/ssl/yourcompany.pem; ssl_certificate_key /etc/nginx/ssl/yourcompany.key; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 關(guān)鍵透?jìng)鱓ebSocket否則在線客服功能失效 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } }注意proxy_set_header X-Real-IP $remote_addr;這行決定了operation_log.operator_ip存的是真實(shí)用戶IP不是Nginx服務(wù)器IP。沒這行客戶查日志時(shí)看到的全是127.0.0.1。5.3 數(shù)據(jù)庫(kù)賬號(hào)最小權(quán)限原則給應(yīng)用賬號(hào)只開必要權(quán)限別用root賬號(hào)跑Java應(yīng)用創(chuàng)建專用賬號(hào)并授予權(quán)限-- 創(chuàng)建賬號(hào) CREATE USER rent_applocalhost IDENTIFIED BY StrongPass!2024; -- 只授予house_rental庫(kù)的必要權(quán)限 GRANT SELECT, INSERT, UPDATE, DELETE ON house_rental.* TO rent_applocalhost; -- 關(guān)鍵禁止刪除表、禁止建庫(kù)、禁止改用戶 REVOKE DROP, CREATE, ALTER, INDEX, REFERENCES ON *.* FROM rent_applocalhost; FLUSH PRIVILEGES;驗(yàn)證方法用rent_app賬號(hào)登錄MySQL執(zhí)行DROP TABLE rent_payment;應(yīng)報(bào)錯(cuò)ERROR 1142 (42000): DROP command denied to user。5.4 日志脫敏防止身份證、手機(jī)號(hào)明文寫入log文件application.yml中默認(rèn)日志級(jí)別是INFO但tenant表的敏感字段會(huì)打到日志里。必須在logback-spring.xml中添加脫敏規(guī)則appender nameFILE classch.qos.logback.core.rolling.RollingFileAppender encoder pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n/pattern !-- 對(duì)日志內(nèi)容做正則脫敏 -- filter classcom.example.house.filter.SensitiveInfoFilter/ /encoder /appenderSensitiveInfoFilter.java實(shí)現(xiàn)public class SensitiveInfoFilter extends FilterILoggingEvent { private static final Pattern ID_CARD_PATTERN Pattern.compile((\\d{6})\\d{8}(\\d{4})); private static final Pattern PHONE_PATTERN Pattern.compile((1[3-9])\\d{4}(\\d{4})); Override public FilterReply decide(ILoggingEvent event) { String message event.getFormattedMessage(); message ID_CARD_PATTERN.matcher(message).replaceAll($1****$2); message PHONE_PATTERN.matcher(message).replaceAll($1****$2); event.setFormattedMessage(message); return FilterReply.ACCEPT; } }驗(yàn)證方法在后臺(tái)新建一個(gè)租客身份證號(hào)填110101199003072357手機(jī)號(hào)填13812345678然后查logs/app.log應(yīng)看到110101****2357和138****5678而非原文。5.5 避坑上線后必查的3個(gè)致命問題這些不是“可能出錯(cuò)”而是我親眼見過客戶拒付尾款的現(xiàn)場(chǎng)現(xiàn)象客戶說“報(bào)表導(dǎo)出的Excel打不開”雙擊提示“文件損壞”原因Linux服務(wù)器上缺少字體庫(kù)Apache POI生成Excel時(shí)用默認(rèn)字體Windows打開報(bào)錯(cuò)。解決在服務(wù)器執(zhí)行yum install fontconfig然后重啟Java進(jìn)程。現(xiàn)象客戶員工用Chrome訪問正常用Edge打開登錄頁(yè)空白F12看Network全是net::ERR_CONNECTION_REFUSED原因Nginx配置里漏了add_header Strict-Transport-Security max-age31536000; includeSubDomains always;導(dǎo)致Edge強(qiáng)制HTTPS但證書不匹配。解決在Nginx的server塊里加上這行然后nginx -t nginx -s reload?,F(xiàn)象客戶說“微信模板消息收不到”但測(cè)試號(hào)能發(fā)原因源碼中WeChatService.java的sendTemplateMsg()方法里https://api.weixin.qq.com/cgi-bin/message/template/send接口調(diào)用但生產(chǎn)環(huán)境微信公眾號(hào)要求access_token必須用企業(yè)微信的corpid/corpsecret獲取而源碼里寫的是測(cè)試號(hào)的appid/appsecret。解決在application.yml中新增配置wechat: corp_id: your_corp_id corp_secret: your_corp_secret template_id: your_template_id并重寫getAccessToken()方法調(diào)用企業(yè)微信API獲取token。6. 讓這套源碼真正屬于你3個(gè)值得投入的定制化方向與我的實(shí)戰(zhàn)建議這套源碼不是終點(diǎn)而是你技術(shù)能力的“支點(diǎn)”。我把它交付給客戶后沒止步于“能用”而是基于真實(shí)反饋?zhàn)隽?個(gè)深度改造每個(gè)都帶來了可量化的價(jià)值提升——不是為了炫技而是讓系統(tǒng)真正長(zhǎng)進(jìn)客戶的業(yè)務(wù)毛細(xì)血管里。下面是我踩過坑、驗(yàn)證過效果的3個(gè)方向附上具體怎么做、值不值得做、以及你動(dòng)手前必須知道的邊界。6.1 方向一接入微信小程序讓租客自己查賬、交租、報(bào)修推薦指數(shù)★★★★★客戶原話“我們天天接租客電話問‘這個(gè)月租金多少’‘水電費(fèi)結(jié)清沒’一個(gè)電話3分鐘10個(gè)電話就半天沒了?!蔽矣?天時(shí)間基于源碼的rent_payment和house_inspection表搭了一個(gè)極簡(jiǎn)微信小程序只做三件事租客微信授權(quán)登錄復(fù)用tenant表的手機(jī)號(hào)“我的賬單”頁(yè)展示所有rent_payment記錄狀態(tài)用不同顏色綠色已繳、紅色逾期、灰色未到“在線報(bào)修”提交文字圖片自動(dòng)生成house_inspection記錄狀態(tài)為“待處理”并微信通知管理員技術(shù)要點(diǎn)后端新增/api/wx/login接口用wx.login返回的code調(diào)用微信API換取openid再查tenant.phone匹配租客小程序端用wx.requestPayment調(diào)起微信支付回調(diào)地址指向/api/wx/payCallback該接口解析支付結(jié)果后更新rent_payment.status2已繳關(guān)鍵避坑微信支付回調(diào)必須用POST且Content-Type: application/xml源碼默認(rèn)是JSON需在WxPayController.java里加RequestBody(required false)并手動(dòng)解析XML值不值得做絕對(duì)值得。客戶反饋?zhàn)饪妥稍冸娫捪陆?0%財(cái)務(wù)對(duì)賬時(shí)間從每天2小時(shí)縮到20分鐘。你不需要從零寫小程序用 微信官方模板 改就行重點(diǎn)是后端API的健壯性。6.2 方向二增加租客信用分模型動(dòng)態(tài)調(diào)整押金比例推薦指數(shù)★★★★☆小中介最怕租客卷款跑路。源碼里tenant.credit_score字段是空的我基于3個(gè)維度做了計(jì)算維度數(shù)據(jù)來源權(quán)重計(jì)算邏輯履約歷史rent_payment表40%(已繳次數(shù) / 應(yīng)繳次數(shù)) * 100低于80%扣分報(bào)修響應(yīng)house_inspection表30%(按時(shí)完成維修次數(shù) / 總報(bào)修次數(shù)) * 100合同續(xù)簽rent_contract表30%續(xù)簽1次10分續(xù)簽2次20分最高30分落地步驟新增定時(shí)任務(wù)CreditScoreJob.java每天凌晨2點(diǎn)執(zhí)行SQL計(jì)算核心邏輯在TenantMapper.xml中select idcalculateCreditScore resultTypejava.lang.Integer SELECT t.id, ROUND( (COALESCE(p.paid_ratio, 0) * 0.4 COALESCE(i.repair_ratio, 0) * 0.3 COALESCE(c.renew_times, 0) * 10 * 0.3), 0 ) AS score FROM tenant t LEFT JOIN ( SELECT tenant_id, ROUND(COUNT(CASE WHEN status2 THEN 1 END) * 100.0 / COUNT(*), 2) AS paid_ratio FROM rent_payment GROUP BY tenant_id ) p ON t.id p.tenant_id -- ... 其他LEFT JOIN /select在房源發(fā)布頁(yè)deposit_amount字段改為公式base_deposit * (1.2 - credit_score/100)信用分越高押金越低值不值得做值得但要謹(jǐn)慎。信用分模型必須和客戶業(yè)務(wù)規(guī)則對(duì)齊。我最初按“續(xù)簽次數(shù)”加分結(jié)果客戶說“很多租客租滿3年就換城市不是不續(xù)簽”于是改成“累計(jì)租住月數(shù)”更合理。6.3 方向三對(duì)接高德地圖API實(shí)現(xiàn)帶看路線規(guī)劃與耗時(shí)預(yù)估推薦指數(shù)★★★☆☆中介帶看最耗時(shí)間。源碼里house_info.lng/lat已有坐標(biāo)我加了“智能帶看”功能管理員選一套房租客點(diǎn)擊“規(guī)劃路線”后端調(diào)用高德direction/drivingAPI傳入origin(租客地址經(jīng)度,緯度)、destination(房源經(jīng)緯度)返回duration秒數(shù)、distance米、steps途經(jīng)紅綠燈、高速口等前端用AMap.Driving插件渲染路線圖關(guān)鍵參數(shù)說明origin不能直接用租客地址字符串必須先調(diào)用高德geocode/geoAPI轉(zhuǎn)成坐標(biāo)tenant.address字段存的是“朝陽(yáng)區(qū)建國(guó)路88號(hào)”不是坐標(biāo)extensionsall必須加否則返回的steps為空strategy2躲避擁堵比默認(rèn)0最快更實(shí)用值不值得做值得但優(yōu)先級(jí)低于前兩個(gè)。它提升的是體驗(yàn)不是核心業(yè)務(wù)。而且高德API有調(diào)用量限制免費(fèi)版1萬次/日要監(jiān)控amap_api_call_log表超限時(shí)自動(dòng)降級(jí)為“直線距離”。我?guī)н^6個(gè)實(shí)習(xí)生用這套源碼做畢業(yè)設(shè)計(jì)最后3人拿到了Java后端offer。他們不是靠“實(shí)現(xiàn)了登錄注冊(cè)”而是靠講清楚“為什么contract_attachment要單獨(dú)建表”、“怎么用Quartz解決租金催繳”、“微信支付回調(diào)里XML解析的坑在哪”。技術(shù)的價(jià)值從來不在代碼行數(shù)而在你能否把一段邏輯拆解成客戶聽得懂的語(yǔ)言、面試官想追問的細(xì)節(jié)、以及你自己下次還能復(fù)用的肌肉記憶。這套源碼里沒有黑魔法只有一個(gè)個(gè)被真實(shí)業(yè)務(wù)磨出來的判斷什么時(shí)候該用JSON字段什么時(shí)候該建字典表什么時(shí)候?qū)幙啥鄬?0行代碼也要把日志脫敏。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97在线亚洲| 日韩在线观看字幕精品| 久久精品男人的天堂| 日韩免费看黄片| 丁香七月婷婷| 国产夫妻性生活视频| 日日干日日| 在线观看高清AV| 在线播放欧洲免费av| 有码免费观看| 青娱乐日韩无码| 成人性爱免费播放| av天堂5| 超碰97男女| 搞中出视频在线观看| 天天日天天爽| 国产激情在线| 无码丰满熟妇一区二区浪潮AV| 国产熟女无套内射| 欧洲亚洲综合| 欧美中文字幕一区 | 日本A级视频| 日韩人妻无码专区| 综合伊人激情| 国产久久久| 色色色色色色色色综合| 嗯~啊~快点 死我视频| 精品人体无圣光凹凸| 无码一区免费在线不卡| 97在线观看| 99热这里都是精品| 九色 蝌蚪 熟女自| 久久精品国产亚洲粉嫩| 久久日韩肥臀| 久久伊人影院| 啊啊啊啊好疼| 91综合网在线| 亚洲天堂区| 国产精品999zyz| 伊人操你| 国产高清免费不卡av| 午夜精品久久久| 9I1性色影院| 91色s| aaa淫乱视频| 亚洲影院小综合| 九色97| 嗯啊不要啊在线| 精品人妻美妇91job| 亚洲欧美一区二区三区一猛片| 强奸乱伦AV一天堂网| 91久久| 极品销魂美女一区二区 | 亚洲密乳AV| 国产精品露脸在线观看| 人人操人人摸人人看人人插| 色翁荡息又大又硬又粗又爽| 伊人综合色网| 日韩啪啪啪视频| 欧美一区二区三区黄色影视| 51一区二区三区| 日本孕妇孕交| 天天摸天天操视频| 国产中出内射一区二区| 综合亚洲欧美精品日韩?v| 欧亚无码视频| 这里只有精品视频在线观看麻豆| 黄片在线免费在线观看| 夜夜操天天肏| 少妇高潮喷水无套久久久久久| 婷婷五月天色网| 久久黄黄黄| 午夜性刺激视频免费观看| 思思热一热婷婷热一热| 中文字幕精品亚洲熟女| 人妻三级在线中文字幕| 最新岛国大片| 精品.99999| 色天使大香蕉| 超碰色美女| 超碰97人妻在线| 亚州熟女乱伦| 国产又粗又又黄又猛| 夜夜操老骚逼视频网站| 天天色怡春院| 婷婷爽人人婷婷爽视频| 18禁美女裸体无遮挡啪啪| 国产高清无码一区二区三区四区皇冠| 精品久一区免费| 无码操逼天堂| 免费在线看黄片av| 搡老熟女老女人老熟妇免费视频| 久久久久久久极品香蕉视频| 麻豆一区二区三区在线看| 啊啊啊好想要| 熟妇熟女视频一区二区三区| 国产偷人妻精品一区二区在线| 久久熟女嫩草成人片免费| 久久久新亚洲AV| 黄色一级视| 亚洲永久AV无码精品秋霞| 青青草原av| 曰韩操B| 成人资源中文字幕在线观看天天| 91男人天堂网| h4610国产人妻| 国产a级精品| 亚洲丨在线| 人干人人人操人人摸| 天天干天天拍| 亚洲双插| 禁片 高清 在线观看视频网站| 欧美猛交黑寡妇中文字幕| 亚洲男人电影天堂| 熟妇亚洲一区二区三区| 成人一区二区三区四区| 中国少妇XXXX做受| 久久国产精品视频| 99亚亚热| 国产浮力影院第1页| 久久网亚洲| 日韩操p| 久草久热| 这里只有精品视频在线观看麻豆| 99熟女| 中文字幕一区二区三区人妻不卡| 超碰人人妻| 麻豆国产免费影片| 午夜人人操| 国产人人干| 综合 青草 伊久久 影院 综合 | 日韩无码成人电影| 日韩精品碰碰| 久久香蕉国产线看观看亚洲女人 | 天天操天天7| 英伦大奶子熟妇吊带| 亚州AV无码国产精品| 久久伊人最新网址视频| 日日不卡av| 人人操人人精品影片| 美女久久久久久久| 国产久久一区二区三区野外在线| 亚洲人妻一区二区三区| 九九aV| 亚洲系列第一页| 精品久久无码午夜福利| 亚洲精品乱码线路中文字幕| 操逼无毒无码免费视频| 日韩精品资源| 最新欧洲欧美日本激情网站| 噜噜噜在线视频| 亚欧高清| 国产高清精品一区二区三区毛片| 自拍偷拍草一草| 美女熟妇色| 男女啪啪啪18禁网站| 天天色欧美| 欧美成人黄网色网站| 搡老熟女免费视频 | 极品粉嫩少妇视频| 日韩少妇无吗| 老鸭窝成人| 96国产精品| 丝袜亚洲综合| 黄片免费看的| 超碰97欧美在线| 亚洲情色1区| 欧美熟女丝袜| 欧美激情内射| 日韩性爱小视频| 国内伊人久久久久久网站视频| 欧美亚洲特P| 十八禁啪啪视频| 操逼逼无码| 日韩人妻资源网| 青青草成人视频在线观看二区| 日韩欧美麻豆大片| 欧美传媒一区| 婷婷色色五月天福利| 国产成人精品亚洲日本| 亚洲一区深夜| 91N综合网| 国产乱伦性爱区| 欧美亚洲综合色| 亚洲日韩AV视色| 日韩欧美久久婷婷网站| 在线观看无码三级少妇| 欧美亚洲性爱一区二区| 精品人妻av区天天看片| 国产精品免费美女视频| 日本中文字幕一区| 手机在线A片| 国产精品女同| 人人 操人人 操人人| 中文字幕AV中出| 激情婷婷综合久久| 天天干一区二区| 少妇熟女一区二区三区| 亚洲天堂,男人| 粉嫩AV一区夜夜嗨| 家庭乱伦性爱av| 99色色| 国产精品日日摸天天碰| 亚洲 综合 欧美| 久久久久久99999国产精品| 亚洲精品无码成人久久久99| 天天日美女的B| 搡老人老9丨女老熟人| AV色五月天| 超碰成人国产| 五月天我淫我色av| 久久久工口| 久久亚州精品成人Av无| 看看日B真人视频| 色婷婷五月综合激情中文字幕| 色香综合天天影视综合 | 久久亚洲熟妇在线视频| 一区二区视频在线播放| 欧美天天搞| 好吊色一区| 亚洲国产婷婷在线播放| 国产精品乱码久久久久久久久久久久| 日韩无码a片| 亚洲综人| 无码人妻精品一区二区三区九九| 亚洲各类熟们中文字幕| 囯戸精品高潮呻吟旡码| 精久久久91| 男人的天堂久久狠| 国产一区二区av综合| 91九色丰满高潮| 蜜臀人妻少妇久久在线观看| 十八禁啪啦拍视频无遮挡| 久久性爱视频免费看| 色五月AV在线| 久久超碰大香蕉| 长长久久曰曰夜夜成人网| 国产一级特黄大片处女| 中文字幕国产在线天堂| 91高跟美女在线播放| 超碰人人妻| 淫荡少妇免费| 又大又长又粗又爽又黄| 久久性爱精品一区| 性色AV蜜色av色欲av| 亚洲 欧美综合| 日本国产二线女色| 黄色十八禁网站| 蜜臀人妻少妇久久在线观看| 男人亚洲91首页在线| 影音先锋国产精品| 任你艹| 丁香激情网| 亚洲欧美日韩夜夜| 福利一级版子| 97精品97| 欧美激情 亚洲色图| 一二三四区电影| 超碰导航97| 丝袜加勒比| 久久久啊啊啊| 天天懆天天日| 欧美三级中文字幕hd| 国语精品内射在线观看| 色在线亚洲视频www| 激情综合色| 日韩精品一二三| 99久久国产精品免费高潮| 亚洲欧美电影| 人妻美腿丝袜日韩| 清纯唯美综合亚洲| 日韩啊V| 久干网| 天天操美美| 日韩精品系列| 肏逼视频日本| 亚洲欧洲另类| 淫骚熟女一区二区三区| 欧美,日韩,中文,另类| 天天综合网~91| 成人麻豆av电影网站| 操香逼| 九九视品黄色| 96久久久久| 另类视频在线| 青草成人免费视频一COm| 2024年最新色情网站在线观看| 久久精品国产亚洲妲己影视| 亚洲天堂区| 日韩78m视频| 啊啊啊网站| 在线啊v一区| 欧美色天堂网在线视频| 97操| 欧美精品第四五页中文字幕在线观看| 日韩99999| 成 人片 黄色大片| 男人精品天堂一区| 黄片免费久久久久久久| 日韩美女高潮喷水视频| 人人操人人操人人人操| 日韩精品人妻中文字有码在线| 插入逼91| 影音先锋新男人| 天天干美少妇一区| 亚洲人人操| 久久在肏| 欧美情色男人的天堂| 日本五十路熟女一区二区| 999九九九九国产动| 极品尤物在线观看| 翔田千里AⅤHD无码| 色综合20p| 天天干天天拍| 999国产精品999| 天天射日日干| 丝袜美腿91| 成人影 天天操 亚洲| 欧美经典一区二区三区| 亚洲天天综合| 男人综合网| 欧美熟女激情| 殴美牲| 欧美不卡五十路| 七久久久| 久久久久中出| 亚洲中文国际强奸字幕| 大香蕉免费3| 中文字幕一区av| 无码 有码 国产18p| 欧美婷婷五月天| 日本国产成人亚洲精品无码| 国模无码人体一区二区三| 中文字幕成人| 97天天搞在线| 国产怡红院在线| 97欧美色综合| 开心五月天激情网| 丁香九月 婷婷| 97天天操天天干| 免费αV在线视频| 国产家庭乱伦表演| 日韩欧美~中文字| 蜜桃久久综合视频| h无码动漫在线观看| 啊啊啊啊无码| 午夜天堂精品久久| 色综合av男人天堂| 一级做a爰片久久毛片图片| 国产性爱欧美性爱在线| 91色女| 东北丰满熟女国产一区| 97超碰人妻| 激情视频一二三| 97超碰国产精品| 欧美激情中文字幕另类小说| jazzjazz国产精品麻豆| 日本高清一本二本免费不卡| 久久精9| heyZO天然素人无码AⅤ专区| 丝袜美腿诱惑亚洲欧美视频在线观看| 日韩人妻播放| 免费一级毛片在线视频观看| 久久精品超碰| 一级性爱视频免费观看 | 精品人妻一区春色| 欧美成人9797| 巨爆乳肉感一区二区三区竹菊影视 | 久区视频| 欧美色91| 旡码电影特区| 麻豆这里只有精品| 国产野战露脸在线播放| 男插女青青影院| 亚洲国产97| 欧美韩日精品99综合| 久久日本熟女精品一区| 婷婷精品国产一区二区三区日韩| 久久免费中文字幕在线观看| 亚洲最大黄网| 少妇天堂网络| 99re这里| 日韩啪啪啪啪啪| 美女诱惑一区| 色婷婷影视| 十八禁视频网站| 999岛国大片| 欧美后入式| 91日本在线观看| 思思热免费视频观看| 亚洲天堂AV在线播放| 亚洲图片色图欧美另类| 亚洲最大成人a毛毛片| 国内毛片国产欧美拍| 最新亚洲人成网站在线影院| 无码高清国产AV| 国产 亚洲 丝袜 制服| 永久免费发布性爱网| 日本高清_区二区三区| 亚洲乱码国产乱码精网站| 东京太热男人的天堂久久久| 青娱乐91| 香蕉视频欧美一卡二卡| 午夜大香蕉| 午夜福利无毒不卡| 激情五月天婷婷| 日韩一级片在线看| 可以免费观看的AV| 色色五月婷婷| 江都AV在线| 亚洲精品国产精品乱码不卡| 精品二区三四区五电影 | 欧亚洲精品有视频| 日本东京热久久久电影| 做爱A级亚欧| 综合五月婷婷| 超碰人妻久久人妻中文97| 青青草日韩免费观看高清在线| 久久九九99| 日韩在线一区高清在线| 97国产|免费| 日韩欧洲操屄视频| 日日骚中文字幕| 久久影视二区三区行押| 黄色操人| 日韩欧美大力操| 91动漫操逼视频| 青青国产精品在线| 日本高清熟女久久一区| 亚洲欧美999| 亚洲AV性爱电影| 免费观看有码高清视频| 一级黄碟在线看| 91久久婷婷| 免费黄色片。| 男人天堂.AB| 9 1超碰九色| 久久婷婷电影网| 亚洲欧美在线观看2021| 欧美激情片一区二区| 欧美日韩妖精91com| 欧美日韩性爱电影在线| 九九九九久久久| 久久精品无码不卡| 无码精品人妻一区二区三区妖精| 欧美成人亚洲精品| 国产无码成人无码| 玖玖人人爱| 男人的天堂kva| 2021久久国产综合精品青草| 亚洲欧洲精品成人| 97在线视频观看| 超碰碰碰碰| 欧美草草高清日韩视频| 亚洲第一无码播放立川理惠| 99精品丰满人妻无码| 免费少妇一区二区| 91网18| 精品国产Av无码久久久亚洲| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 麻豆熟妇乱妇熟色A片在线看| 久久黄色性爱视频| 四虎影视国产精品| 色超碰综合| 99热导航| 可以在线观看的黄色网址| 97在线视频网站| 秋霞午夜视频一区二区| 人妻丝袜美腿中文字幕| 狠狠色一区二区中文字幕| 蜜乳av一区二区三区四区不卡| 在线国产探花| 天美传媒精品久久视频| 久9视频| 亚洲欧美国产精品久久久久久久| 秋霞欧美性爰视频| 草久在线| 欧美大香蕉专区网| 97在线视频观看| 玖玖爱免费观看视频| 福利一级版子| 99久久精品无码一区二区| 91影视亚洲| 日韩激情啪啪| 欧美国产婷婷久久| 午夜天堂精品久久| 岛国黄色大片网站| 天天肏视频| 丝袜内射| 国产91乱伦| 日本不卡免费二区| 亚洲黑丝在线| 天天插夜夜操| 午夜美女诱惑电源网| 插入综合网| 中文字幕日韩专区精品系列| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 蜜桃狠狠色伊人亚洲综合网站| 天天干2019| 自怕偷自怕亚洲精品| 校园春色家庭伦理欧美激情| 精品 码产区一区二-1080P高清在线www-B029AV| 91爱啪| 色婷婷综合久久中文字幕雪峰 | 日韩99神马视频播放片在线播放| 久草尤物| 亚洲春色欧美| 亚洲男人的天堂一区二区| 免费观看国产小粉嫩喷水精品午| 日本ZZ高免费A级视频| 精品人人| 久久久久久裸体| 九九热视频在线观看| 尹人免费观看视频在线| 欧美草草高清日韩视频| 加勒比综合九九99视频在线播放| 国产又色又爽又舒服的三级视频 | 亚洲色堂免费视频| 黄片不用下载在线观看| 人人操,人人插| 999热日韩精品| 久久鲁夜| 永久电影三级在线观看| 肉嘟嘟www视频在线观看高清| 天干天干天干天天做| 日日躁夜夜躁狠狠躁超爽| 大香蕉欧美伊| 九月色婷婷| 日韩精品影视| 久久精品操| 精品成人av一区二区三区在线| 久久大| 秋霞福利网| 99久久无色码| 欧美躁死她一区二区| 台湾肥佬网一区二区三区| 精品一区二区成人动漫| 日本男人插女人的逼黄色| 资源在线观一 二| 69精品久久久久中文字幕| 91伊人久| 很很操在线| 校园春色五月天| 热G综合热G中文| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 97爱综合| 国内外毛片在线观看| 国产怡红院| 五月婷婷综合激情| 99在线精品观看视频中文| 乱欲一区二区| 欧美 日韩 亚洲 春色| 国产在线综合网| 亚州综合色| 久久东京热久久| 亚洲毛片久久| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 综合色好色| 78超碰| 精品999一区二区| 久久97精品久久久久久久不卡| 97精品人妻一二三四| 中文字幕无码不卡啪啪| 亚洲蜜臀精品视频久久| 天堂亚洲欧美| 亚洲综合在线第一页| 欧美天天射| 欧美综合网| 国产精品分类在线观看| 国产女人高潮嗷嗷嗷叫小说| 日韩亚洲国产视频| 色综合色欲色综合色综合色综合| 色99在线| 日本人妻一区二区| 亚洲天堂人人妻| 黑人精品久久97| 死我十八禁| 亚洲天堂资源在线| 成人小说另类在线| 亚洲成人一区二区精品| 欧美做爰无码A片视频| 色色亚洲| 欧亚久久偷拍视频| 久久久久久久久久久精| 日日操夜夜操天天操免费观看麻豆| 91日韩国产欧美亚洲另类精盘州至城都| 九九九网站| 自拍偷拍国产欧美日韩韩| 亚洲天堂人妻熟妇视频| 狠狠干综合| 亚州乱码中文字幕综合久久久| 蜜臀99999| 91天天美女| 久久久少妇| 亚洲成a人片在线观看中文!!!| 999岛国大片| 动漫片子网站3黄| 久久亚洲天堂| 无码一区免费在线不卡| 性爱乱伦一区| 精品国产一区二区三区久久久蜜臀| 91 亚洲情侣偷拍 久久| 久久超碰网| 日韩探花精品在线视频| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 一级毛片电影免费看| 综合欧美激情网| 久久久久亚洲三级电影| JULIA一区二区三区在线播放| 青青草一区二区三区四| 天天拍天天操| 大香蕉啪啪啪| 亚洲最新Av| 久久久涩| av强奸乱轮| 久久精品人体AV| 亚洲 综合 第一页| 久草尤物| 日韩性色b| 中文字幕一二三av| 国产女人操逼视频| 欧美老妇女内射网址| 成人性交午夜免费片| 成年人黄色小视频网站| 亚洲中文字幕乱码无码一区二区| 高精欧美色| 久久6热视频免费观看| 91殴美大片| 亚洲爽图| 一色网男人的天堂| 亚洲性刺激| 亚洲国产高清福利视频| 蜜臀久久久国产| 欧美高清无码免费视频高清版| 91黑丝露脚| 色九九久九九| 少妇滛荡视频| 欧美色蜜桃97| 五月天婷婷色色| 久久久久久人| 久久婷婷亚洲| 极品内射| 92久久| 欧美日韩不卡a片| 麻豆久久视频在线地址| 3P丝袜熟女 色综合| 女人被添高潮免费视频| 91 亚欧| 偷窥自拍亚洲天堂网爆| 少妇激情AV| 九九黄色视频在线观看| 噜噜瑟| av一区二区三区 中文| 67914在线兔费成人视频| α√在线| 性高潮久久久久久久久久久| 日韩ab网 | 欧美图片校园春色| 久久亚洲AV成人精品无码| 青青青国产| 婷婷色导航| 91欧美经典| 五月丁香色综合| 青青草福利视频| 久久黄黄| 亚洲无码偷拍| 日本大香蕉| 久干9操| 97天天插| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 92性色国产午夜福利在线661| 三级网站超变态精品| A V视频日本| 99热这里只有精品1| 99色综合| 色y情视频免费看| 91青青在线视频| 中文字幕黄色片| 日本视频在线中文字幕| 操淫穴亚洲五月丁香| 亚洲AV成人在线| 日本精品999| 1000午夜黄色| 99激情视频| 日韩美女啪啪一区| 亚洲图片 欧美电影| 国产精品经典一卡久久久 | 六月婷婷激情| 国产亚洲精品激情| 色路综合| 日韩美女,国产传媒,视频一区| 第一高清av中文字幕| 熟妇综合一区二区三区| 九九热午夜欧亚国产视频| 婷婷香蕉欧美在线一区二区三区 | 中文一区在线日| 大香蕉123| 日韩卡一卡二卡三在线| 亚洲国产成人综合碰碰三级经典| 是还免费视频1727我| 能看的av| 丝袜美腿制服人妻二区中文字幕| 丁香五月综合| 黄色小视频日本txt| 日本成a人v网站在线观看| 91熟女.com| 蜜臀AV成人精品蜜臀AV久久| 丰满的三级少妇欧美久久久| 久久伊人亚洲AV无码网站| 国语少妇精| 蜜臀久久精品久久久久视频| 青苹果影院男人的天堂| 在线 制服丝袜中出 人妻| 男人高清无码一区二区| 五月天婷婷在线看| 美女啊啊啊啊啊啊| 亚州精品人妻一二三区| 亚洲和欧美裸体美女双飞视频| 精品国产乱码久久久久久影片| 能直接看AV的网站| 操逼视频亚洲| 超碰97 线线 在现| 插入综合网| 国产日韩无码一区二区三区久久区| 99热线麻豆 | 97精品视频网站| av凤凰久久久| 97在线免费看视频| 国产精品粉嫩福利在线| 老熟妇综合| 九九九精品成人免费视频小说| 97视频在线免费看| 九九九九精品在线| 开心五月婷婷激情| 黄片不用下载在线观看| 手机在线中文字幕国产| 欧美自拍偷拍综合图片| 国产精品懂色tv影视免费观看| 99re69综合| 亚洲成人网站在线观看| 香蕉视频欧美一卡二卡| 淮穴色AV| 精品人妻美妇91job| 精品视频日日夜夜| 台湾佬中文娱乐网久久久久久久久久com | 影音先锋日本乱伦| 国产传媒一区二区三区| 天天综合中文字幕 91| 国产不良强奸视频免费看| 久99热| 啊啊啊啊在线播放| 亚洲天堂另类| 五月花婷婷| 欧美 亚洲 第一页 | 亚洲国产奇米影视久久| 91美女在线看| 免费精品中文字幕| 中文一区二区| 婷婷六月色开| 91综合网在线| 欧美色偷拍| 欧美一区二区日韩三区| 亚州色阁| wwwss在线观看| 97天天操| 亚热日本熟女| 婷婷五月天av| 免费a v| 校园春色中文字幕AV| 一区二区三区四区在线不卡| 91小视频| 欧美论理片| 玖玖爱免费观看视频| 啊嗯嗯啊好大好爽| 五月丁香大香蕉| 国产精品露脸在线观看| 久久精品人妻一区二区三区| 久都青青视频 | 久久久性爱| 日韩少妇丰满亚洲| 国产精品亚洲免费| 十八禁视频一区二区| 蜜屁av| 亚av顶级裸体一区二区三区四区五区| 激情五月天社区| 日韩字幕一区| 日逼97| 国产精品农村妇女| 樱花蜜乳av| 日本九九久久99播| 中国的操老妇女| 蜜臀精品1区2区| 国产9 9在线 | 亚洲| 日韩传媒在线| 欧美亚洲综合色| 强免费黄色网址| 国产一区二区三区白丝| 天天综合色电影| 黄色一区二区秘书性感| 日本视频在线中文字幕| 加勒比aⅴ| 中文子幕一二三| 丝袜狠狠草尤物 91| 久草资源在线视频官方总站日韩丝袜美腿| 岛国艾薇凹凸视频天堂| av天堂天堂av日韩| 国产精品麻豆免费视频| 欧美日韩*字幕一区| 免费成人在线观看91| 性色AV蜜色av色欲av| 亚洲一区二区三区在线激情| 97视频在线播放| 2023天天操夜夜操| 亚洲中文字幕熟女| 人人操我人人干| 日韩中文字幕精品一区在线| 伊人网免费视频| 中文字幕丝袜国产第一页不卡| 欧美日韩国产三级黄色| 天天干夜夜操网| 任你爽视频| 超碰在线974| 1204金沙人妻懂旧版免费| 亚洲天堂在线怕怕视频| 四虎影视永久在线观看精品免费网站| 是还免费视频1727我| 久久久久久中文| 狠日欧美| 99国产在线 精品 视频| 日本精品成人无码| 懂色AV一区二区三区| 午夜福利区| 欧亚在线视频| 久久黄黄| 欧美激情一| 国产日本顶级一区二区三区| 国产又色又粗又黄又爽| 三级片网站在线播放| 亚洲国产精品久久久久婷婷青年| 亚洲日韩欧美一区二区| 九久精品| 91色色色| 中文字幕人乱码中文字的预防方法| 少妇人妻在线| 岛国在线一区二区三区| 色91综合网| 高清无码人妻久久久一区二区三区aⅴ| 亚洲男人久久综合天堂| 国产精品青青草| 欧美日韩狠狠爱| 大伊香蕉在线视频免费| yy少妇精品久久| 色婷婷六月丁香七月婷婷| 日日干日日| 欧美天天影院| 手机看片1025| 天操天操夜操夜月月年年操操| 国产乱伦性爱区| 欧亚第一综合网| 成人毛片免费| 亚洲综合码| 亚洲黄色视频在线观看视频| 久草色在线观看| 午夜美女诱惑电源网| 中文字幕91综合| 亚洲视频一二区| 秋霞网无码| 蜜桃久久久久久久| 蜜臀一区二区三区在线| 人妻啊啊人妻啊| 亚洲97在线观看| 午夜天天碰综合视频| 97综合网| 久久一二三四不卡 | 脫衣舞一区二区三区| 亚洲欧美日韩电影网站一区| 久久久无码av精| 台湾佬大香蕉| 亚洲午夜免费狠狠干| 88xx成人精品视频| 午夜精品久久久久| 国产51色综合久久免费| 精品人妻一二三四区视频| 日韩一级免费性爱| 国产精品96| 丝袜av一区二区三区| 女人爽到高潮潮喷18禁网站 | 亚洲97久久精品亚洲| 久久久久熟女| 久久九七| 五月综合色| 亚洲啪AⅤ永久无码| 九九久久国产精品怡红院| 超碰在线91| 成全在线观看免费观看| 青草精品视频一日本久久久久网站| 婷婷激情五月| 日韩人妻播放| 国产9区| 日本亚欧爱爱| 99色婷婷中文字幕乱色| 黄色免费网页无码| 国内毛片四区| 亚洲啪啪啪啪视香蕉| 十八禁网站在线| 强奸xx国产| 精品偷拍13p欧美dodk视频| 人人操人人93| 欧美综合中文| 肉丝中文无码高清| 都市激情人妻一区二区青青操视频| 色婷婷影视| 天天天天天天天天天天干美女 | 精品一区二区三区蜜桃臀赵总| 最好看的中文字幕在线2018| 中文字幕天堂在线| 91亚洲色图| 久久午夜色播影院免费高清| 少妇色欲综合网2| 久久九九热| 9ⅰ久久久天天| 成人草草视频| 午夜传煤十二区精品| 蜜臀99久久精品| 中文字幕无码不卡啪啪| 午夜AV污污污| 91网站18+| av橘色网站| henhen91| 情趣丝袜无码操逼视频| 91色图片| 青青草精品| 久久机热| 亚洲欧洲自拍| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 九九九九久久久久| 亚洲色图91欧美日韩| 后入美女国产| 插入综合网| 欧美久久九九| 加勒比海成人视频网| 伊人久日| 波多野42部激情无码喷潮| 国产三级中文有码在线视频| 国产亚洲国产超碰| 中国黑人三级片网站上区| 日本97久久| 国产成年女人免费视频播放a| 思思热影视| 久久9 9 9精品| 青草精品视频一日本久久久久网站| 免费AV中文网在线观看| 国产小视频91| 天天天天做夜夜夜夜做| 蜜臀久久久99久久久久| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 91狠狠| 五月丁香社区婷婷日韩欧美精品影院 | 97精品一区二区视频| av一区二区三区 中文| 97超碰久| 看免费的黄片| 800zy一区二区| 日韩大香蕉| 成人电影一区| 快播电影网日韩新片| 久久无码电影| 二色av| 校园春色家庭伦理欧美激情| 综合网,亚洲,欧美| 久久久久女教师免费一区| 最新中文字幕精品在线| 四季AV一区二区凹凸精品小说| 久久性爱视频免费看| 亚洲午夜免费狠狠干| 91宗合网| 美腿色图| 大香蕉一区二区在线观看.| 精品网站9999| 久久久久久日韩| 国产热av| A V少妇特黄三级| 青娱乐国产剧情av一区| 欧美最婬乱婬爆婬性视频 | 狠狠中文字幕| 色视频蜜乳| 成人精品视频| 丁香六月婷婷久久综合| 97精品免费视频网站| 人妻插插人妻人| 亚洲导航深夜福利| 亚洲女优有码无码高清| 极品白嫩福利在线| 青青操综合网| 91性情| 91嫩草在线| 亚洲第一页色| 亚欧成人综合影院| 清纯唯美综合| 久久日本熟女精品一区| 五月丁香狠狠爱| 国产精品久久久久亚洲av| 婷婷国产精品一区二区| 丰满精品人妻少妇久久字幕| 婷婷五月天AV| 人妻81p| 日本久久女同性恋视频| 白嫩91在线亚洲| 深爱五月婷婷| 高清无码一区二区三区| 久久一区二区蜜桃| 青青久久手机线视频| 久草这里只有精品 | 国产精品无码av| 日韩色图 一区二区| www.yeyecao| 欧美伦乱爱| 九九热九九热| 天天综合精品| 人妻少妇色综合| 四虎影院成年人片| 国产 v乱码一区二| 国产精品蜜乳AV| 国产精品久久久无码AV网站| 国产精品久久久久久高清无码免费看| 亚洲熟女诱惑| 国产精品久久久亚洲第一牛牛_在线观看 | 亚洲色狠| 亚洲欧美日韩偷拍色图| 久久久久久久九九九九| 大香蕉中文在线| 少妇激情一区二区三区视频| 97欧美色综合| 免费男人的天堂| 亚州综| 91丝袜在线观看| 亚洲精品一二牛牛| 久久久久久久久久久免费精品 | 国产传媒一区日韩| 亚洲限制级| 日韩大香蕉精品在线视频| 久久精品日韩专区免费观看| 情色五月天就去干| 91人妻人人澡人人爽人人精品| 天天做天天爱| 在线综合 亚洲 欧美中文字幕| 美女尤物人人操| 91日韩在线| 综合干干干av久久久综合网| 99精品高潮| 婷婷丁香五月激情啪啪| av优播| 久久 久久国内精品亚洲| 老熟乱一区二区三区四区| 91国产操逼视频| 色官网在线| 五月天伊人| 美女9118禁| 日韩精品人妻一| 久久黄色网址| 国产自产22区| 999精品国产高清一区二区| 91精品人妻偷情| 超碰狠狠操| 久草在| 操屄日韩| 丝袜AV一二三区| 后入福利| 国产精品久久成人免费| 国产婷婷一区| 亚洲毛片基地专区| 天天插天天射| 97chaopenrihan| 夜嗨影院| 极品久久久久久久久久久久久久| 91五十路| 99re视频在线观看这里只有精品| 亚洲日韩欧美一区二区| 操逼视频国产无套| 丝袜狠狠草尤物人妻av91| 国产一二三福利视频网| 立川理惠无码一区二区| 天天操天天日天天干| 欧美日韩国产高清在线一二三区| 婷婷色香| 亚洲伊人a线观看视频| 欧美亚洲20p| xxxx网站亚洲精品| 大香蕉欧美国产日韩高潮| 久久久亚洲Av| 97精品在线| 极品尤物在线观看| 超碰2017| 啊啊啊好舒服好爽啊啊啊视频| 欧美裸体美女日麻屄| 久久久不能久久久久| 2019精品国产无码成人| 97色色,97综合| 丁香九月激情| 老女人综合网| 嫩草影院永久在线制服丝袜| 果冻传媒A片一二三区| 国产无码一二三区| 无码人妻一区二区三区四区老鸭窝| 麻豆久久久一区二区| 91搞逼视频| 黄久久| 你草精品在线视频| 91爆操视频| 97国产精品视频| 亚洲 欧美 综合 91| 亚洲情色91| 色伊人91| 久草精品国产99| 欧美亚洲手机在线| 日韩9999| 乱人伦 国语对白:视频直接看| 97超碰超碰| 久操| 国产极品久久久| 天天插天天插| 欧美亚洲另类在线蜜桃| 国产精品一区二区三区四区五区| 日韩丝袜高跟制服在线观看| 久久人妻视频网| 国产 三级自拍| 国产亚洲性生活视频播放| 人妻久久一区二区三区 | 婷婷激情五月| 日本人人操人人操| 免费日韩黄片| 日韩免费a级毛片无码a∨| 国产91美女视频| 玖玖资源视频一区二区三区| 亚洲视频小说| 国产丰满少妇久久久精品影院| 97天天爽| 大胆91| 男人天堂久久精品| 亚洲中文字幕一区二区| 天天超级碰碰碰| 欧美国产操逼| 秋霞福利网| 日韩干B| 91综合天天看| 欧美色图电影| 国产极品馒头逼| 国产精品高清2021在线| 少妇厨房愉情理伦片bd在线观看| 狠狠色伊人亚洲综合网站色| 欧美乱伦专区| 人妻少妇被猛烈进入中| 18禁免费视频| 国产成人精品日本亚洲语言| 亚洲av强奸乱伦| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 亚洲骚逼少妇| 亚洲欧美综合| AV一区观看| 丁香色五月 97干|