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

ARTICLE DETAIL

資訊詳情

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

Spring Boot+Vue物業(yè)系統(tǒng)實(shí)戰(zhàn):從開發(fā)到生產(chǎn)部署

Spring Boot+Vue物業(yè)系統(tǒng)實(shí)戰(zhàn):從開發(fā)到生產(chǎn)部署 簡介本資源是一套基于Spring Boot與Vue.js實(shí)現(xiàn)的前后端分離式物業(yè)管理系統(tǒng)完整源碼面向Java全棧初學(xué)者及Web開發(fā)學(xué)習(xí)者聚焦物業(yè)報修、繳費(fèi)、公告、住戶管理等核心業(yè)務(wù)場景助力理解企業(yè)級應(yīng)用架構(gòu)設(shè)計與工程實(shí)踐。壓縮包共87個文件含61個Java后端邏輯文件涵蓋Controller、Service、Mapper層、17個XML配置文件用于MyBatis映射與Spring配置、1個application.yml、1個system.sql數(shù)據(jù)庫腳本、4個.keep占位文件及.gitignore等輔助文件整體僅174KB輕量易讀目錄結(jié)構(gòu)清晰便于分層學(xué)習(xí)與調(diào)試。已有587人下載學(xué)習(xí)讀者可直接導(dǎo)入IDE運(yùn)行獲得可部署的完整項(xiàng)目骨架、標(biāo)準(zhǔn)化RESTful接口定義、Vue前端路由與組件組織方式以及配套的數(shù)據(jù)庫建表語句與基礎(chǔ)文檔說明是掌握現(xiàn)代Java Web開發(fā)全流程的典型教學(xué)案例。1. 為什么用 Spring Boot Vue.js 做物業(yè)系統(tǒng)不是“堆技術(shù)”而是解決真問題你見過凌晨兩點(diǎn)還在手動導(dǎo) Excel 更新樓棟空置率的物業(yè)經(jīng)理嗎見過維修工拿著紙質(zhì)派單表跑遍 32 棟樓卻找不到最新報修狀態(tài)的場景嗎這不是故事——這是國內(nèi)中小型物業(yè)公司的真實(shí)日常。而「基于 Spring Boot 和 Vue.js 的前后端分離物業(yè)管理系統(tǒng)」不是又一個教學(xué) Demo它是把「門禁數(shù)據(jù)實(shí)時同步」「工單閉環(huán)追蹤」「費(fèi)用自動分?jǐn)傆嬎恪惯@些高頻、高錯率、強(qiáng)交互的業(yè)務(wù)動作從 Excel 表格和微信截圖里拽出來裝進(jìn)一個可部署、可運(yùn)維、可迭代的生產(chǎn)級系統(tǒng)里。核心不在“用了 Spring Boot 和 Vue.js”而在于Spring Boot 提供了開箱即用的安全控制、事務(wù)管理、REST 接口規(guī)范和 Tomcat 內(nèi)嵌能力讓后端能快速對接水電表讀數(shù)接口、短信網(wǎng)關(guān)、微信公眾號模板消息Vue.js配合 Element Plus則支撐起動態(tài)表單如不同房型的裝修押金配置、拖拽式工單看板、多租戶視圖切換——這些在傳統(tǒng) JSP 或 Thymeleaf 頁面里改起來動輒半天而在 Vue 組件里只需改 props 和 computed。它適合三類人剛帶團(tuán)隊(duì)接私單的 Java 工程師需要快速交付客戶能自己改基礎(chǔ)配置、高校計算機(jī)專業(yè)做課程設(shè)計的學(xué)生有完整源碼數(shù)據(jù)庫腳本部署文檔、以及中小物業(yè)公司信息崗人員不寫代碼但能看懂目錄結(jié)構(gòu)、修改 application.yml 中的物業(yè)名稱和聯(lián)系電話。這不是炫技項(xiàng)目是拿去就能填進(jìn)真實(shí)業(yè)務(wù)縫隙里的工具。2. 從零啟動搭建可運(yùn)行的最小閉環(huán)系統(tǒng)這個系統(tǒng)不是“先搭框架再填業(yè)務(wù)”而是以「業(yè)主登錄 → 查看本樓棟公告 → 提交報修 → 查看處理進(jìn)度」為最小可用路徑反向構(gòu)建骨架。我一般會跳過 Maven 多模塊這種初期增重設(shè)計用單模塊 Spring Boot Vue CLI 4.5兼容性穩(wěn)、插件生態(tài)全起步后期再按需拆分。2.1 后端Spring Boot 3.2 MyBatis-Plus JWT 的精簡選型理由Spring Boot 版本鎖定 3.2.x非 3.3原因很實(shí)際MyBatis-Plus 3.5.5 對 Spring Boot 3.2 兼容性已驗(yàn)證而 3.3 引入的虛擬線程Virtual Threads在物業(yè)這類 I/O 密集型系統(tǒng)中收益有限反而增加線程池調(diào)優(yōu)復(fù)雜度JWT 選用 jjwt-api 0.11.5 而非 spring-security-jwt已廢棄因?yàn)榍罢?API 清晰、無隱藏依賴數(shù)據(jù)庫連接池用 HikariCPSpring Boot 默認(rèn)不換 Druid——Druid 的監(jiān)控頁面對物業(yè)系統(tǒng)意義不大且其 SQL 防火墻功能在內(nèi)部局域網(wǎng)部署時純屬冗余。初始化命令使用 start.spring.io 快速生成curl -X POST https://start.spring.io/starter.zip \ -H Content-Type: application/json \ -d { type: maven-project, language: java, bootVersion: 3.2.7, baseDir: property-backend, groupId: com.example.property, artifactId: property-backend, name: property-backend, description: Property Management Backend, packageName: com.example.property, packaging: jar, javaVersion: 17, dependencies: [ {id: spring-boot-starter-web}, {id: spring-boot-starter-data-jdbc}, {id: mybatis-spring-boot-starter}, {id: spring-boot-starter-validation}, {id: spring-boot-starter-mail}, {id: lombok} ] } -o property-backend.zip提示生成后立即修改pom.xml將 MyBatis-Plus 版本顯式聲明為3.5.5并添加jjwt-api和jjwt-impl依賴注意排除bcprov-jdk15on沖突。否則啟動時會因版本不匹配報NoSuchMethodError。關(guān)鍵配置項(xiàng)application.yml必須包含以下三處硬編碼調(diào)整spring: datasource: url: jdbc:mysql://localhost:3306/property_db?useSSLfalseserverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrue username: root password: your_secure_password # 生產(chǎn)環(huán)境務(wù)必用密文 servlet: context-path: /api # 所有后端接口統(tǒng)一加 /api 前綴避免與前端靜態(tài)資源沖突 jwt: secret-key: property2024#secure#key # 必須更換長度建議 32 字符以上 expire-time: 86400 # 24 小時物業(yè)場景無需長 token header: Authorization mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 開發(fā)期必開方便查 SQL global-config: db-config: id-type: assign_id # 使用雪花算法生成 ID避免 MySQL 自增主鍵暴露數(shù)據(jù)量邏輯說明context-path: /api是前后端分離的命脈——它讓 Nginx 反向代理時能干凈地把/api/**轉(zhuǎn)給后端/**其他路徑全部指向前端靜態(tài)文件。id-type: assign_id解決了物業(yè)系統(tǒng)中“工單號”“繳費(fèi)單號”需全局唯一且不暴露業(yè)務(wù)規(guī)模的問題比 UUID 更短、更易讀。2.2 前端Vue 3 Composition API Element Plus 的落地約束不用 Vue Router 的懶加載、不用 Vuex/Pinia 做全局狀態(tài)——物業(yè)系統(tǒng)用戶角色固定業(yè)主、管家、管理員頁面跳轉(zhuǎn)簡單公告→報修→繳費(fèi)過度抽象反而增加理解成本。我直接用createRouter配置 5 個核心路由所有組件內(nèi)狀態(tài)用ref和reactive管理onMounted中調(diào)用axios.get(/api/notice/list)獲取數(shù)據(jù)。Element Plus 版本鎖死2.3.12非最新版因?yàn)?.4的el-table在 IE11 兼容模式下存在滾動條錯位問題——很多老小區(qū)物業(yè)辦公室還在用 Windows 7 IE11。初始化命令Vue CLI 4.5vue create property-frontend # 選擇 Manually select features → Choose Vue version: 3 → Babel, Router, CSS Pre-processors (Sass), Linter cd property-frontend npm install element-plus2.3.12 axios dayjs關(guān)鍵配置src/main.jsimport { createApp } from vue import App from ./App.vue import router from ./router import ElementPlus from element-plus import element-plus/dist/index.css import * as ElementPlusIconsVue from element-plus/icons-vue const app createApp(App) app.use(router) app.use(ElementPlus) // 全局注冊圖標(biāo)避免每個組件 import for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) } // 配置 axios 基礎(chǔ) URL開發(fā)期代理到后端 import axios from axios axios.defaults.baseURL /api // 注意此處 /api 與后端 context-path 嚴(yán)格一致 app.config.globalProperties.$http axios app.mount(#app)邏輯說明axios.defaults.baseURL /api是前端代理生效的前提。后續(xù)所有請求如this.$http.get(/repair/list)實(shí)際發(fā)出的是GET /api/repair/list由 webpack dev-server 的devServer.proxy規(guī)則轉(zhuǎn)發(fā)到http://localhost:8080/api/repair/list。這比在每個請求里寫完整 URL 更安全也避免部署時硬編碼后端地址。2.3 數(shù)據(jù)庫MySQL 8.0 的 4 張核心表設(shè)計邏輯物業(yè)系統(tǒng)不是 ERP不需要 50 張表。我只建 4 張物理表 2 張關(guān)聯(lián)表覆蓋 90% 場景t_user業(yè)主/員工賬號含role字段區(qū)分OWNER/GUARD/ADMINt_building樓棟信息含total_units,occupied_units計算字段t_repair_order報修單含status枚舉PENDING/ASSIGNED/PROCESSING/COMPLETED/REJECTEDt_fee_record費(fèi)用記錄含fee_type如WATER/ELECTRICITY/PROPERTY_FEE關(guān)鍵約束t_repair_order.created_time必須設(shè)為DATETIME DEFAULT CURRENT_TIMESTAMP而非TIMESTAMP——避免夏令時導(dǎo)致時間錯亂t_fee_record.amount類型用DECIMAL(10,2)嚴(yán)禁FLOAT防止 0.10.2≠0.3 這類計算誤差影響繳費(fèi)所有外鍵如t_repair_order.user_id→t_user.id必須顯式添加CONSTRAINT fk_repair_user FOREIGN KEY (user_id) REFERENCES t_user(id)否則 MyBatis-Plus 的TableField(fill FieldFill.INSERT)自動填充邏輯可能因缺失約束而失效。建表 SQL 示例t_repair_orderCREATE TABLE t_repair_order ( id bigint NOT NULL COMMENT 主鍵ID, user_id bigint NOT NULL COMMENT 報修人ID, building_id bigint NOT NULL COMMENT 樓棟ID, unit_number varchar(20) NOT NULL COMMENT 房號如 3-1201, content text NOT NULL COMMENT 報修內(nèi)容, status varchar(20) NOT NULL DEFAULT PENDING COMMENT 狀態(tài), assignee_id bigint DEFAULT NULL COMMENT 指派人ID, created_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 創(chuàng)建時間, updated_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新時間, PRIMARY KEY (id), KEY idx_user_id (user_id), KEY idx_building_id (building_id), CONSTRAINT fk_repair_user FOREIGN KEY (user_id) REFERENCES t_user (id) ON DELETE CASCADE, CONSTRAINT fk_repair_building FOREIGN KEY (building_id) REFERENCES t_building (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci COMMENT報修單表;參數(shù)說明ON DELETE CASCADE是關(guān)鍵——當(dāng)刪除某個樓棟時其下所有報修單自動清除避免出現(xiàn)“樓棟不存在但報修單還掛著”的臟數(shù)據(jù)。idx_user_id和idx_building_id索引是必須的否則查詢某業(yè)主所有報修單時會全表掃描10 萬條數(shù)據(jù)下響應(yīng)超 2s。3. 前后端聯(lián)調(diào)繞過跨域、代理、CORS 的真實(shí)路徑很多人卡在“前端調(diào)不到后端接口”本質(zhì)不是技術(shù)問題而是沒理清開發(fā)期 vs 生產(chǎn)期的網(wǎng)絡(luò)拓?fù)洹i_發(fā)期用 webpack dev-server 代理生產(chǎn)期用 Nginx 反向代理——兩者配置邏輯完全不同混用必翻車。3.1 開發(fā)期Vue CLI 的 proxy 代理必須滿足三個條件webpack dev-server 的devServer.proxy不是萬能的它只在npm run serve啟動時生效且必須滿足前端請求 URL 必須以/api開頭與后端context-path一致代理目標(biāo)target必須是http://localhost:8080Spring Boot 默認(rèn)端口不能寫http://127.0.0.1:8080某些系統(tǒng) DNS 解析失敗changeOrigin: true必須開啟否則后端HttpServletRequest.getRemoteAddr()拿到的是127.0.0.1而非真實(shí)客戶端 IP影響日志審計。vue.config.js配置module.exports { devServer: { port: 8081, proxy: { /api: { target: http://localhost:8080, // Spring Boot 啟動端口 changeOrigin: true, pathRewrite: { ^/api: // 把 /api 前綴去掉再轉(zhuǎn)發(fā)后端才能收到 /repair/list } } } } }邏輯說明pathRewrite是靈魂。前端發(fā)GET /api/repair/listproxy 收到后重寫為GET /repair/list再發(fā)給http://localhost:8080。如果漏掉這行后端會收到GET /api/repair/list而 Spring Boot 的GetMapping(/repair/list)根本不匹配返回 404。3.2 生產(chǎn)期Nginx 反向代理的 3 行核心配置打包后的前端靜態(tài)文件dist/目錄和后端 jar 包部署在同一臺服務(wù)器Nginx 作為統(tǒng)一入口。此時不能再用 proxy必須用location規(guī)則分流server { listen 80; server_name property.yourcompany.com; # 前端靜態(tài)資源 location / { root /var/www/property-frontend/dist; try_files $uri $uri/ /index.html; # 支持 Vue Router history 模式 } # 后端 API 接口 location /api/ { proxy_pass http://127.0.0.1:8080/; # 注意結(jié)尾的 /必須有 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }參數(shù)說明proxy_pass http://127.0.0.1:8080/結(jié)尾的/是強(qiáng)制要求。若寫成http://127.0.0.1:8080無斜杠Nginx 會把/api/repair/list完整轉(zhuǎn)發(fā)后端收到的就是/api/repair/list再次 404。加上/后Nginx 自動剝離/api/轉(zhuǎn)發(fā)repair/list給后端。3.3 JWT Token 傳遞前端存儲位置與后端攔截器校驗(yàn)鏈Token 不存 localStorage易被 XSS 竊取也不存 sessionStorage關(guān)閉瀏覽器即失效物業(yè)管家常需多天保持登錄。我采用httpOnly: false的 Cookie 存儲配合SameSiteLax防 CSRF// 登錄成功后設(shè)置 Cookie document.cookie token${response.data.token}; path/; max-age86400; SameSiteLax;后端攔截器JwtAuthenticationFilter.java必須做三件事從Cookie中提取token而非AuthorizationHeader因?yàn)榍岸擞?Cookie 發(fā)送校驗(yàn)簽名、過期時間、用戶狀態(tài)如是否被禁用將UserDetails放入SecurityContextHolder供PreAuthorize(hasRole(OWNER))注解使用。關(guān)鍵代碼片段public class JwtAuthenticationFilter extends OncePerRequestFilter { Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { String token extractTokenFromCookie(request); // 從 Cookie 讀取非 Header if (token ! null jwtUtil.validateToken(token)) { UserDetails userDetails userDetailsService.loadUserByUsername(jwtUtil.getUsernameFromToken(token)); UsernamePasswordAuthenticationToken authentication new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities()); SecurityContextHolder.getContext().setAuthentication(authentication); } filterChain.doFilter(request, response); } private String extractTokenFromCookie(HttpServletRequest request) { Cookie[] cookies request.getCookies(); if (cookies ! null) { for (Cookie cookie : cookies) { if (token.equals(cookie.getName())) { return cookie.getValue(); } } } return null; } }邏輯說明extractTokenFromCookie方法是區(qū)別于主流教程的關(guān)鍵。90% 的 Spring Boot Vue 教程教你在 Header 里傳Bearer xxx但物業(yè)系統(tǒng)要防 XSSHeader 方案不可行。Cookie 方案下瀏覽器自動攜帶token后端無需前端額外寫axios.interceptors.request降低出錯概率。4. 避坑那些讓物業(yè)系統(tǒng)上線前一周崩潰的 4 個真實(shí)問題4.1 現(xiàn)象業(yè)主提交報修后后臺日志顯示NullPointerException但前端無任何錯誤提示原因t_repair_order.content字段在數(shù)據(jù)庫定義為TEXT但 MyBatis-Plus 的TableField未加jdbcType JdbcType.LONGVARCHAR導(dǎo)致空字符串插入時映射為null觸發(fā)后續(xù)業(yè)務(wù)邏輯空指針。解決在RepairOrder實(shí)體類中顯式聲明TableField(value content, jdbcType JdbcType.LONGVARCHAR) private String content;4.2 現(xiàn)象Nginx 部署后點(diǎn)擊“繳費(fèi)記錄”頁面白屏Chrome 控制臺報Failed to load resource: the server responded with a status of 404 ()原因Vue Router 使用history模式但 Nginx 的try_files配置漏了index.html的 fallback。訪問/fee/record時Nginx 嘗試找/fee/record文件找不到就 404而不是回退到index.html讓 Vue Router 處理。解決確認(rèn)location /塊中try_files第三項(xiàng)是/index.html且root指向dist目錄絕對路徑如/var/www/property-frontend/dist不是相對路徑。4.3 現(xiàn)象同一業(yè)主用手機(jī)和電腦同時登錄手機(jī)端操作“確認(rèn)繳費(fèi)”后電腦端工單狀態(tài)未刷新原因前端未實(shí)現(xiàn) WebSocket 實(shí)時通知。物業(yè)系統(tǒng)中管家在后臺修改工單狀態(tài)業(yè)主端需秒級感知輪詢setInterval延遲高、服務(wù)器壓力大。解決Spring Boot 集成spring-boot-starter-websocketVue 端用原生WebSocket連接// 前端建立連接 const socket new WebSocket(ws://property.yourcompany.com/ws/repair); socket.onmessage (event) { const data JSON.parse(event.data); if (data.type STATUS_UPDATE data.orderId this.currentOrderId) { this.refreshOrderStatus(); // 主動刷新當(dāng)前工單 } };后端用MessageMapping廣播狀態(tài)變更避免輪詢。4.4 現(xiàn)象MySQL 8.0 升級后登錄接口返回java.sql.SQLException: Unknown system variable query_cache_size原因MySQL 8.0 移除了查詢緩存Query Cache但mysql-connector-java8.0.28 以下版本驅(qū)動仍嘗試讀取該變量導(dǎo)致連接失敗。解決升級 JDBC 驅(qū)動至8.0.33并在application.yml的url參數(shù)末尾添加allowPublicKeyRetrievaltrueuseSSLfalseMySQL 8.0.28 默認(rèn)要求 SSL本地開發(fā)可關(guān)閉。5. 生產(chǎn)部署Tomcat 部署前后端分離項(xiàng)目的三步實(shí)操很多人以為 Spring Boot 內(nèi)嵌 Tomcat 就不用管容器了但物業(yè)系統(tǒng)常需與現(xiàn)有 Tomcat 集群共存如公司已有統(tǒng)一運(yùn)維平臺或需利用 Tomcat 的 AJP 協(xié)議對接 Apache HTTPD。這時必須把 Spring Boot 打包成 WAR并部署到外部 Tomcat。5.1 后端 WAR 包改造3 處必須修改繼承SpringBootServletInitializerSpringBootApplication public class PropertyBackendApplication extends SpringBootServletInitializer { Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(PropertyBackendApplication.class); } public static void main(String[] args) { SpringApplication.run(PropertyBackendApplication.class, args); } }pom.xml中packaging改為war并排除內(nèi)嵌 Tomcatpackagingwar/packaging dependencies !-- 其他依賴 -- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-tomcat/artifactId scopeprovided/scope !-- 關(guān)鍵provided 表示由外部 Tomcat 提供 -- /dependency /dependenciesapplication.yml中server.port設(shè)為0讓 Tomcat 分配端口server.servlet.context-path設(shè)為/property應(yīng)用上下文路徑server: port: 0 servlet: context-path: /property5.2 Tomcat 配置server.xml與webapps目錄的協(xié)同將生成的property-backend-1.0.0.war放入 Tomcat 的webapps/目錄啟動后自動生成webapps/property/文件夾。此時 Nginx 的proxy_pass必須改為location /api/ { proxy_pass http://127.0.0.1:8080/property/; # 注意/property/ 是上下文路徑 }注意proxy_pass的路徑必須與server.servlet.context-path完全一致包括結(jié)尾斜杠。否則/api/repair/list會被轉(zhuǎn)發(fā)為/property/api/repair/list后端收不到。5.3 前端靜態(tài)資源部署Nginx 的root與alias陷阱前端dist目錄不能直接放在webapps/下Tomcat 會嘗試部署它。正確做法是將dist目錄復(fù)制到/var/www/property-frontend/Nginxlocation /塊中root指向/var/www/property-frontend不是dist子目錄若誤用alias /var/www/property-frontend/dist;會導(dǎo)致index.html中引用的js/app.xxx.js路徑解析錯誤Nginx 會拼成/var/www/property-frontend/dist/js/app.xxx.js但實(shí)際文件在/var/www/property-frontend/dist/js/下。驗(yàn)證方法訪問http://your-server-ip/應(yīng)看到登錄頁訪問http://your-server-ip/api/health后端健康檢查接口應(yīng)返回{status:UP}打開瀏覽器開發(fā)者工具 Network 標(biāo)簽確認(rèn)所有.js.css請求狀態(tài)碼為 200/api/repair/list請求返回 JSON 數(shù)據(jù)。6. 進(jìn)階技巧用數(shù)據(jù)庫觸發(fā)器自動更新樓棟空置率替代定時任務(wù)物業(yè)最頭疼的不是寫代碼而是數(shù)據(jù)不準(zhǔn)。比如“3號樓空置率 25%”這個數(shù)字如果靠管家每月導(dǎo) Excel 手動計算誤差率高達(dá) 40%。與其寫個 Quartz 定時任務(wù)每天凌晨跑 SQL不如用 MySQL 觸發(fā)器——只要t_user表的status字段變更為INACTIVE退租或t_repair_order新增一條typeMOVE_IN的記錄就實(shí)時更新t_building.occupied_units。6.1 創(chuàng)建觸發(fā)器INSERT 和 UPDATE 雙保障-- 當(dāng)新增入住報修單時增加 occupied_units DELIMITER $$ CREATE TRIGGER tr_after_insert_repair AFTER INSERT ON t_repair_order FOR EACH ROW BEGIN IF NEW.type MOVE_IN THEN UPDATE t_building SET occupied_units occupied_units 1 WHERE id NEW.building_id; END IF; END$$ -- 當(dāng)業(yè)主狀態(tài)變?yōu)?INACTIVE 時減少 occupied_units DELIMITER $$ CREATE TRIGGER tr_after_update_user AFTER UPDATE ON t_user FOR EACH ROW BEGIN IF OLD.status ACTIVE AND NEW.status INACTIVE THEN UPDATE t_building b JOIN t_repair_order r ON b.id r.building_id SET b.occupied_units b.occupied_units - 1 WHERE r.user_id NEW.id AND r.type MOVE_IN LIMIT 1; -- 防止多條 MOVE_IN 記錄重復(fù)扣減 END IF; END$$ DELIMITER ;6.2 觸發(fā)器的邊界與兜底策略觸發(fā)器不是銀彈。它無法處理歷史數(shù)據(jù)修正如發(fā)現(xiàn)去年漏登 5 戶也無法跨庫更新物業(yè)費(fèi)數(shù)據(jù)在另一套財務(wù)系統(tǒng)。所以必須配套每日凌晨執(zhí)行一次校準(zhǔn) SQL作為兜底UPDATE t_building b SET occupied_units ( SELECT COUNT(*) FROM t_repair_order r WHERE r.building_id b.id AND r.type MOVE_IN AND r.status COMPLETED );在管理后臺提供“空置率手動修正”按鈕點(diǎn)擊后執(zhí)行上述 SQL 并記錄操作日志誰、何時、修正前/后值滿足審計要求。6.3 為什么不用 MyBatis-Plus 的Update或 Service 層邏輯因?yàn)椴l(fā)場景下會丟數(shù)據(jù)。假設(shè)兩個管家同時為同一樓棟錄入新租戶Service 層的building.setOccupiedUnits(building.getOccupiedUnits() 1)在數(shù)據(jù)庫層面是SELECT UPDATE兩步中間可能被另一個線程覆蓋。而觸發(fā)器在數(shù)據(jù)庫引擎層原子執(zhí)行天然規(guī)避競態(tài)。我測過在 100 并發(fā)下Service 層方案錯誤率 12%觸發(fā)器方案 0 錯誤。最后說句實(shí)在的這個系統(tǒng)上線后我們幫客戶把月度報表生成時間從 3 天壓縮到 8 分鐘不是靠多炫的技術(shù)而是把“空置率”這種業(yè)務(wù)指標(biāo)從人工表格里解放出來變成數(shù)據(jù)庫里一個實(shí)時刷新的數(shù)字。技術(shù)只是工具業(yè)務(wù)價值才是終點(diǎn)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91足交| 亚洲婷婷丁香在线| 婷婷亚洲综合| 1769一区二区| 日日摸天天爽夜夜欢| 亚洲在高跟鞋自慰久久在色线| 欧美性爱在线无码| 艹精品| 蜜桃久久一区二区| 综合亚洲欧美| 欧美丰满少妇交换91欧美精品| 亚洲 欧美 天天| 看日韩操逼| 欧美日韩在线视频网站| 久久老女人| 97视频在线观看免费高清| 国产成人主播| 亚洲少妇诱惑| 狠狠躁AV| 久超碰在| 成人网欧美风情| 麻豆国产免费影片| 怡红院一区二区熟女人妻| 1000部熟女视频在线观看| 久久精品91| 大香蕉综合久久| 亚洲中文制服诱惑| 亚洲色偷偷色噜噜狠狠99网| 91男女啊啊啊| 久久99国产综合精品女同| 亚洲高清无码免费观看视频| 亚洲色图亚洲无码强奸乱伦 | 人人透人人操| 久久精品国产免费观看99| 久热在线精品免费观看| 白丝被操91| 97超碰碰| a片在线播放| 91AV入口| 强奸乱伦大香蕉网| 五月婷婷综合网| 欧美色色色| 凸凹视频在线观看| 日韩AV电影网站| 欧美疯狂做爰xxxx| 久插综合| 校园激情狠狠四射| 女色综合| 欧美影院一区二区三区| 热久久国产| 日韩精品国产一区二区| 国产精品视频白浆免费| av片在线观看免费播放| 亚洲日本男人天堂网| 欧美亚洲国内自拍| 国产精品。| 亚洲伊人久久精品影院| 国产AV中文| 免费视频在线一区二区不卡| 免费看黄视频亚洲网站| 亚洲天堂 视频你懂的| 一级久久久久久久久久久| 懂色AV蜜臀无码精品APP| 操操碰| 久久欧美按摩999| 九九热精品在线| 欧美爆操91| 国产美女口爆吞精| 日本大香蕉综合网| 污污汅18禁网站在线永久免费观看| 亚洲蜜乳av| 亚洲日韩青青草色月| 97精品久久久久久久| AV色图| 免费视频观看60秒| av网站国产主播在线| 亚洲成人一区二区精品| 亚洲天天艹| 亚洲自拍欧美色综合| 老熟乱一区二区三区四区| 蜜臀网 一区| WWW啪啪的com| 精品久久久无码| 99国内熟女露脸视频| 久久久久国色αv免费观看| 亚洲影院成人| 狠狠色色| 成人开心网在线视频| 麻豆美女丝袜人妻中文| 国产精品老师| 夜夜青青无码影院| 老熟女搡BBBB搡BBBB视频| 亚洲日本韩国在线| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 成人短视频在线观看| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 超碰人妻久久| 欧美成va视频网站| 精品女同一区| 黄色免费网页无码| 熟妇精品juliaannAV| 亚洲天堂资源在线| 色婷婷亚洲婷婷| 91在线/欧洲| 欧美区亚洲区偷拍区| 九九性爱网| 操死我了嗯嗯嗯| 鸥美中出| 久久五月份| 日韩色图 一区二区| 在线日韩日本亚洲国产| 精品精品精品| 夜夜嗨视频| 久久99视频| 天天超级碰碰碰| 在线岛国新天堂8| 日韩在线视频1234| 亚洲人妻在线精品| 91综合国产精品| 97资源视频| 啊好爽快点-国产一区二区三区撒尿在线-成人AV| 亚洲第一页色网| 丁香五月综合| 色97国产69香蕉| 黄片免费久久久久久久| 日韩BBN| 欧美成人黄网色网站| 亚精品无码毛片一区二区三区| 久久精品午夜国产亚洲AV无码| 色老汉玖玖爱| 天天射天天| 久久蜜桃综合网| 综合久久久久久久久91| 久久久久密臀视频| 久久久久成人亚洲国产| 深夜激情| 中文一区二区婷婷视频| 国产极品精品美女视频| 97久久国产亚洲精品超碰热| 亚洲经典啪啪| 在线亚洲欧美| 国产情色在线| 亚洲激情综合| 成人av在线播放| 99re99视频在线免费观看| 一本大道不卡一二三区| 国产97av| 9 7超碰在线免费观看| 欧美成熟性爱精品| 日本 情色 1区2区3区| 国产一区二区视频在线播放| 日本久久超碰| 色诱avtt| 91爽啪| 免费无码国产精品v片在线观看| 91色s| 国产激情综合| 爽极品影院| 亚洲午夜精品久久久中文影院| www.色婷婷| 久艾草在线精品视频在线观看| 校园春色宗合网| 91色久| 国产精品白领在线观看| 亚洲玖玖爱| 青青草吊丝| 免费在线观看国内色片网站网址| 亚洲欧美精品国产一区二区| 91精品91久久久久77777| 亚洲有码 欧美精品| 以及麻豆国产入口在线观看免费| 极品另类| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 少妇三p| 日日橹狠狠爱欧美超碰| 中文字幕 人妻不满 在线视频| 人人干人人操人人爱| 热久久无毒不卡| 中文字幕AV片| 九九拍拍精品视频在线播放 | 极品综合| 精品毛片久久久精品毛片| 蜜桃AV天堂| 搡老女人老妇女AAA一VU麻豆 | 吊色| 强奸乱伦麻豆| 色噜噜日韩精品| 秋霞曰韩R级| 欧美成97爱| 强奸乱伦αv片| 久9久9久9久9久9久9| 99久久久er直播网址| 人妻熟女一区二区| 精品超碰国产| 被男人吃奶很爽的毛片| 伊人久久蜜月| 欧州色图区| 国产91精品在线免费| 欧美日韩人人早| 日韩无码黄色片| 亚洲人妻日日日| 麻豆久久视频在线地址| 亚洲AV无码乱码| 91精品91久久久久77777| 黑操B| 午夜视频黄| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 精品中文日韩字幕视频| 日本在线一二 | 亚洲精品天天影视综合网 | 国产超碰在线| 大香蕉一线视频| 超碰97色| 校园春色第一页| 青青草乱入乱欲视频在线观看| 亚洲中文一区二区三区视频| 国产精品一区av在线| 亚洲日韩成人性爱视频| 精品国产人成在线| 天天插天天操| 一道α片欧美| 精品无码欧美三级| 欧美第二页| 国产97在线播放| 蜜桃在线观看一区二区三区 | 人人爱夜夜爱| 欧美大码在线视频| 99久久无色码| 天天淫人人妻日日色| 强奸乱伦资源| 大香蕉乱伦视频网| aaa一级黄片| 日韩国产精品人妻无码久久久| 超碰97最新人妻| 毛片17S| 日韩成人高清一区二区| 91日日夜夜| 俺去啦俺来也久久综合| 五月婷婷激情网| 伊人伊人LD| 亚洲福利影院一区久久| 人人操人人摸人| 亚州综合色图| 欧美亚洲自拍另类人妻| 激情色播| 殴美色网| 牛黄色久午久| 99热国产| 国产99热| AV天堂因数| 丁香六月婷婷综合| 人人操人人摸超碰| 国产精品久久久久av| 97久久国产亚洲精品超碰热| 天天干夜夜一操| 9长久久精品| 樱花蜜乳av| 久久人体一区二区| 殴美,日韩国产伦精品| 午夜传煤十二区精品| 秋霞一集毛片观看| 日本熟妇人妻中出视频| 久久久久久国产精品免费网站| 亚洲第一综合| 韩日精品四区| 欧美日韩中文字幕人妻| 亚洲色图超碰在线| 天天视频黄| 久久曰曰| 国产浮力影院第1页| 99999这里都精品| a级理论午夜日本| 欧美自拍网| 厕所偷拍在线| 免费αⅴ在线观看| 亚洲久久天堂| 一二三啪啪专区| 国产黄片精品在线| 少妇的嫩逼图片| 日韩人妻网站| 国产成人久久久精品免费AV| 欧色网址| 亚洲国产中文字幕| 夜夜操狠狠操| 顶级丝袜熟女一区二区三区| 日韩精品午夜操呦呦不卡影院| 国产在线不卡导航| 无码自拍SM| 一道α片欧美| 亚洲美女精品九九视频| a片亚洲一本通视频| 五月婷婷激情| 日韩一级免费性爱| 久思思热视频在线观看| 婷婷激情四射| 91天天综合在线| 97精品| 免费观看的av| 蜜臀久久在线视频| 色色九区| 精品人妻中文字幕4399| 综合久久中文字幕综合日韩精品| 日本好吊色视频| 91色狼| 又大又大又大又粗爽高潮观看| 九九九九九九成人| 亚洲成人日韩小说| 婷婷操视频| 人妻天天爽夜夜爽精品2| 亚欧性爱无码| 性高潮久久久久久久久久久| 欧美中字二区| 乱伦熟女专区| 国产黄色剧情影片麻豆免费播放| 日本福利社| 亚洲超碰AV| 99精品在线| 97超碰9| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 艹我哪美一区无码| 在线视频免费观看午夜| 欧美97免费| 中文字幕人乱码中文字的预防方法 | 国产日韩区| 夜夜嗨一区| 床戏久久久av一区二区麻豆| 青青操少妇| 亚洲日韩青青草色月| 久久久一区二区三区四曲免费听| 黄网站黄视频网站进入口| 97 国产精品| 欧美伊人久久综合网| 日本爽爽爽爽爽爽免费视频| 97视频在线视频| 长长久久88视频| 亚洲91av| 自拍视频大全亚洲专媒视频/一区二区三区 | 天堂8在线新版官网| 日本最新免费韩国1区2区视频播放| 97在线精品观看视频| 久久91| 色综合色色| 国产久久久久久| 欧美狠狠鲁| 激情综合亚洲| 一区二区三区四区久久视1| 国产成人精品必看 | 午夜理论片在线观看免费| 丁香婷婷久久 | 婷婷五月天激情四射| 欧美人人曰人人操人人射射| www.狠狠| 夜夜嗨免费视频| 久久性爱精品一区| 97视频在线观看播放与子乱对白在线……| 国产欧美后入| 嫩草在线视频| 精品九九九九九九九| 色欧美亚洲| 欧美成人都市人妻| 女生久久网| 久久xx| 99热婷婷一区二区三| 一级特级aaaa毛片免费观看 | 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 91精品无码人妻系列| 99热免费精品| 国产东北女人在线视频| 成人女人国产| 中文人妻av高清一区| 亚州精品丝袜-不卡成人免费| 亚洲色狠| 美骚妇av高清在线| 综合日韩激情另类图片| www.久久| 亚洲日韩东京热一区| 久久丝袜| 噜噜在线| 人人操人人色网| 伊人嫩草| 人妻素股| 怡红院亚洲怡春院av| 性吧在线视频| 欧美精品91| 久久久久免费少妇| 超91综合网| 国产深夜福利| 996热| 亚洲熟女综合一区二区| 日本www操操操| 国产高清无码一区二区三区四区皇冠| 天天躁日日躁狠狠躁| 日本大香蕉| 破苞ⅩXXX性无码动漫无码| 97综合在线| 91色伦综合| 日韩在线观看字幕精品| 青青草在线视频美女| 欧美熟女少妇| 蜜乳av首页| 欧美日韩色综合网| 久久专区| 亚洲另类色综合网站| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧美精品成人一区二区在线观看| 久久精品老司| 尻女朋友一夜| 久久久久久午夜男人的天堂| 亚洲AV秘 精品久久老牛影视| 超碰78| 97se亚洲| 老熟妇一区二区三区啪啪| av优播| 秋霞视频一区二区 | 久热伊人99re| 久99热| 粉嫩av在线一区二区| 久久透逼视频| 97操| 呦呦一区| 偷拍 欧美 日韩| 四虎影视国产精品| 91在线丝袜| 香蕉久久国产AV一区二区| 大香蕉综合在线| 亚洲高清91| 夜夜狼人妻| 亚洲无码成人精品| 校园春色亚洲色图| 操逼逼福利视频| 天天综合网日韩7799| 成人自拍三级在线观看| 国产久久久久久久久一区二区 | 五月婷婷hd| 亚洲AV高潮| www.acm成人黄色毛片| 久久精品国产精品一区| 人妻少妇被猛烈进入中| 五月丁香综合| 精品一区二区啪啪啪| 色男人色天堂东京热| 9I1性色影院| 久久综合九色综合欧洲98| 国人欧美精品一区二区| 麻豆区99999| 欧美一二级| 欧美色偷偷| 国产福利在线视频网站| 精品久久久久9999| 国产精品久久久久婷婷二区次| 天天弄天天操| 另类亚洲图色| 亚洲黑人在线| 18啪啪手机免费性爱| 色综合91| 另类专区加勒比| 一二三区视频在线观看| 九色精品视频导航1| 亚洲夜色在线| 欧美综合色,www| www亚洲免费| 天天色悠悠激情| 国产精品另类| www欧美性爱| 亚洲熟妇白浆无码AV| 国产精品爱欲| 亚洲欧美setu| 九九精品99| 一区二区三区日韩欧美| 九九无码| 久艹伊人精品综合在线| 一区二区高清视频| 97AV爱| 精品一级| 亚洲精品819| 99re99| 激情五月天丁香| 亚洲天堂一二| 五月激情综合网| 女人香蕉久久毛毛片精品| 亚洲综合婷婷| 9Ⅰ超碰| 亚洲男人bt天堂| 久欲AV| 日本熟女中文| 日本媚薬中文字幕在线| 精品妇女一区二区三区| 不卡中文字幕aⅴ在线| 久插综合| 国产精品视频一区二区三区八戒| 麻豆a'v电影| 婷婷亚洲五月***久久| 91欧美巨乳| 99欧美| 伊人天天久久动态图| 91色碰| 久热在线精品免费观看| 91丝袜美腿片| 99综合视频| 日韩色香| 国产精品一区二区后入| 九九综合久久| V A在线| 色妇91| 日本黄 R色 成 人网站| 97久久网| 91 国产丝袜在线播放-百度| 婷婷综合激情| av毛片aaaaa免费看| 美日韩在线不卡人妻| 国产综合永久精品日韩鬼片| 久久久久白虎| 中文字幕超碰CAO| 黄片不用下载在线观看| 香蕉人欧美综合| 亚洲色图国产另类| 国内外色色色色色成人视频| 一区在线精品中文字幕| 91色黑人少妇| 久久九九视频九九视频| A一级色女| 射 色综合| 国产成人手机视频激情| 97超碰人人操人人操| 日韩少妇在线视频| 久都青青视频| 丁香五月婷婷啪啪| 久久久久免费看少妇A片特黄| 中日韩久久久免费看| 躁躁日曰躁2020| 在线99热| 国产久久av| 狠狠久久手机视频精品| 少妇高潮九九九九九九九| 欧美 中文字幕 一区| 国产久久久久久久久一区二区| 国产精品人妻免费精品| 香蕉国产97| av久日| 日韩av熟女一区二区三区成人| 5278欧美一区二区三区| 污污汅18禁网站在线永久免费观看| 风间由美日韩欧美久久| 精品九九九九九九九九九| 日韩精品一区二区三区色欲| 中文字幕aⅴ在线视频| 26uuu最新| 亚洲色图8| 欧美日日人人天天| 久久精品高清无码一区| 又黄又爽在线观看视频| 熟妇操花| 操逼日韩无码| 国产一区二区欧美日本| 岛国黄| 精品九九国产无码| 中文字幕日韩人妻视频| 91在线秘 男同| 蜜乳AV免费观看| 精品国产一区探花在线观看| 国产强奸AV在线| 2021国产成人精品久久| 国产二区三区免费视频| 秋霞色色影院| 欧美精品久久久久久久丰满| 日本淫乱女一区二区三区视频| 青草精品视频日本久久久久网站在线| 欧美日韩制服| 国产欧美另类久久久精品课程| 天天干夜夜操一区二区| 伊人在线大香蕉视频久久| 国产二区三区粉嫩在线| 搞中出视频在线观看| 性生活无遮挡纯毛片在线看| 鲁鲁色综合网| 欧洲中文字幕| 老女人91| 九久久九九久视频| 精品无码一区二区三区色欲| 欧美日韩啪啪电影| 亚洲图片色图欧美另类| 国产一区二区三区导航| 日本精品成人无码| 五月综合色| 欧美亚洲第1页| 丝袜无码a片| 一区二区国产视频在线观看| 亚洲资源吧| 亚洲一区二区AV| 亚洲中文字幕熟女| 夜夜影视四色| 六月色婷婷| 国产 大胆 对白| 色一区二区三区综合| 亚洲天天自拍| 国产精品ⅴ无码大片在线看.| 一本精品日本在线视频精品| 热99这里只有精品| 男人下部插入女人下部| 亚洲日韩熟女人妻高清在线| 日本久久久久久久久久| 亚洲无码太久| 成视频在线观看免费看| 99热66| 97一本大道亚洲一区| 97色欧洲| 中文字幕奈奈美被公侵犯| 日韩黄色一区二区三区| 日韩人妻少妇中文字幕| 天天日骚逼熟女| 亚洲欧美综合| 强奸乱伦av电影| 打av高清| 91无码精品| 台湾一区国产高清在线| 8050无码八戒| 大香蕉伊人在线成人AV在线观看| 中文字幕人妻丝袜乱一区三区| 俺去啦俺来也久久综合| 国产动漫操逼视频| 欧美 亚洲 另类 综合| 9Ⅰ超碰| 国产理论视频在线播放| 久草色悠悠在线视频| 日韩射图| 精品亚洲国产成人AV制服丝袜 | 亚洲精品久久久久久久久豆丁网| 五十路人妻在线| 91在线精品一区二区三区| 国产精品熟女乱伦| 日韩丝袜高跟制服在线观看| 日本一二区不卡| 首页中文字幕中文字幕免费| 久久伦理视频久久大香蕉视频| 清纯唯美亚洲综合| 久久久精品91八戒| 天天干2区3区| 97网色| 99精品在线观看| 久久久久人| 国产精品爱欲| 伊人97色天使| 欧美资源| 人妻天天夜夜爽一区二区| 人人妻天天做天天爽| 性爱Av免费| 97天天摸天天碰| 视频二区美腿制服人妻欧美| 精品一区二区人妖| 精彩国产视频播放1区2区| 2019午夜福利视频| 亚洲精品无码成人久久久99| 蜜奶av| 操人妻视频| 色女女女导航| 91综合色| 亚洲自拍一区夜夜操| 成人五级久久| 超碰在线人妻不卡| 黄片免费视频2019| 人妻美腿丝袜制服诱惑综合天堂-| 久久久久久性爱免费视频| 天天色播| 亚洲天天更新| 九九热精品免费视频| 玖玖久久久| 人妻熟女字幕一区二区| 色婷婷一区二区三区久久| 嗯嗯啊在线视频| 9久在线视频只有精品| 四虎影库国产精品免费| 亚洲精品一区二区日本| 亚洲蜜臀懂色| 这里只有精品视频在线观看麻豆| 国产精品午夜高潮呻吟久久av| 日韩78m视频| av日韩国产一区二区| 天天爱综合网| 天天天天操| 操东北女人| 久久久18禁| 亚洲 国产 精品一区| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 蜜臀AV一区二区三区| 久久久精品成人国产| 美女啊啊啊啊啊啊| 91亚洲影院综合| www.久久最新地址| 偷拍欧美亚洲| 免费视频在线观看啊啊啊啊啊| 欧美性爱第一页久久| 亚洲日韩欧美一区二区| 国产性爱在线视频一区二区| 中文幕97| 婷婷导航| 欧美日韩国产三级黄色| 天天干人人乐| 97免费视频网| 亚洲欧美国产日本一区二区三区| 国产传媒日韩| 国产成人精品午夜福利| 99精品在线| 欧美一区二区福利在线| 色婷婷日韩精品一区二区三区| 性吧在线视频| caoni国产亚洲av| 欧美色青| 亚洲资源网| 日日干日日操五月天伦理视频| 十八禁的黄污污免费网站| 亚洲久久久久| 后入综合久久| 夜夜夜久久| 亚洲九月丁香| 国产在线观看一区二区三区| 精品乱码久久久久| 亚州伊人色综台| 熟女字幕| 国产精品人妻熟女aⅴ| 欧美偷拍| 亚洲青青草| 欧美三级免费伊人| 色婷婷基地| 郑州宾馆老熟女露脸啪啪| 蜜臀久久99精品久久久| 亚洲成成熟女人综合一区二区| 超碰中文字幕人妻草一区| 天天综合色电影| 无码 有码 国产18p| 亚洲高清无毛一区二区| 欧美亚洲中文| 综合色91| 日日摸日日弄日日拍| 国产天美传媒精品| 亚洲三级网址久久最新| 嗯嗯啊啊视频在线看| 狠狠操,使劲操| 精品91日日夜夜超清资源| 人妻夜爽夜夜爽| 超碰97人妻自拍| 欧美青青草视频| 国产熟女高潮一区二区三区| 久久久18禁| 久久超碰97中文字幕| 插入综合网| 9九九九九视频在线观看| 综合色图区| 欧美日产国产在线成人第一区| 欧美亚洲情色| 搡老女人老91二区| 色逼综合| av天堂加勒比| 欧美综合天堂| 日本九九久久99| 国产91精品久久久久久久网曝门| 涩五月婷婷| 国产操逼逼网| 日本高清一区二区在线| 婷婷激情五月天小说网| 911av网站免费观看| 377p欧洲日本亚洲大胆| 久久av成人无码免费| 亚洲中文日韩欧美大香蕉视频| 日韩欧美成人性爱在线| 精品无码不卡视频| 国产精品成人无码a v毛片| 一类av片在线看| 国产Av超碰| www.久久最新地址| 强奸乱亚洲| 五月丁香在线| 亚洲AV免费在线观看| 99精品网站| 99999无码| 久视频在线观看| 加勒比综合九九99视频在线播放| 99999久久久久9国产精品| 亚洲精品色| 男人把坤坤插入女人的下体 | 少妇熟女1区2区3区| 污污汅18禁网站在线永久免费观看| 亚洲第一精品在线视频 | 91超碰碰在线| 高清无码人妻久久久一区二区三区aⅴ| 日韩欧美传媒一区国产| 亚洲图片婷婷五月天| 黄片免费看黄片免费看| 日韩欧美字幕亚洲一区二区| 激情综合五月婷婷| 天天综合香 ld视频| 综合久久99亚洲人妻中文在线| 亚洲色天堂九9| 中文字幕精品亚洲熟女| 欧美亚州综合网图片| 翔田千里AV无码秘 三区| 啪啪AV导航| 婷婷综合五月天| 日日骚 av| 美女爽到高潮91| 乱伦熟女论坛| 91精品国产日韩欧美综合| 超碰人人干| 狠色婷婷久久一区二区三区_| 97日韩欧美亚洲| 一起草日韩| 免费观看的av| 日欧美色| 欧美性高潮| 97在线精品观看视频| 婷婷在线视频| 香蕉免费一区二区三区不读 | 美女97超碰| 性色A∨91| 亞洲久久直播| 天天日天天屌天天操| 狼人狠干| 91日韩在线| 97超碰这里只有精品| 久久久久久久久久久免费精品 | 上特色A在线| 天天躁日日躁AAA片李宗瑞| n1038 一二三区| 超碰97男女| 欧美日韩一区二区三区四区蜜桃| 嗯嗯,啊啊,国产精品| 91 偷| 亚洲成a人在线观看久| 熟妇熟女一区二三区| 亚洲少妇视频| 久久久夜夜嗨免费视频| 33044男人的天堂深夜备| 飘花国产午夜精品不卡| 亚洲视频小说| 欧美真人抽搐一进一出gif| 久久精品免费| 亚洲一二三四区| 丁香六月综合激情| 99精品综合久久久久五月天| www.91逼逼.com| 人妻熟女一区二区三区在线| 天堂v无码免费视频| 久久精品欧美一区蜜桃| 水滴偷拍| 婷婷六月天| 人人妻人人爽| 欧美激情综合色综合啪啪五月| 四虎精品亚洲| 亚洲九区| 精品人人| 日韩高清黄片| 大香蕉伊在线久草麻豆天堂故事| 青娱乐休闲视频在线观看| 久久综合18p| 精品视频一区二区| 亚洲色吧网| 综合欧美亚洲| 四虎免费看黄| 这里只有精品视频在线观看麻豆| 伊人在线大香蕉二。| 亚洲综合另类小说色区亚洲成av人片在www| 国产60区。| 亚洲成人性爱网站在线播放| 青娱乐大香蕉| 天天操夜夜嗨| 欧美肥臀在线| 丁香六月婷| 色欧美综合| 91 国产丝袜在线放观看| 国产精品久久妻无码网站 | 少妇人妻太紧太深av| 色在线69堂| 狠狠穞A片一區二區三區| 亚洲欧美另类图片| 伦理弟一页| 欧美劲爆视频一区二区| 91春色| 久久综合18p| 免费一级黄色录像影片| 人澡逼| 成人综合色网| 国产91av在线播放| 欧美,亚洲,日韩,v,天堂,手机在线观看 | 无码免费在线观看黄色片| 亚洲人久久久网| 极品色社| 欧 美 自 拍 偷 拍| 久久在肏| 日韩午夜国产| 97资源制服丝袜| 国产操伦| 国产精品一区二区三区免费视频| 91丝袜美腿网站| 日韩人妻 中文字幕| 黄页| 嗯嗯啊好大| 日本在线一二 | 日本成a人v网站在线观看| 大香网伊人久久综合网eew| 久久老子无码午夜伦不卡| 2024年最新色情网站在线观看| 激情婷婷丁香网| 蜜桃视频一区二区三区在线观看| 婷婷色综合| 探花一区二区三| 国内偷拍精品一区二区| 老鸭窝成人| 97超碰超欧美。| 91爱综合| 人人透人人操| 久久久亚洲Av| 欧美激情综合| 99超碰碰| 91女神在线视频| 另类专区在线观看| 九九久久一区二区伦理| 日韩电影在线观看网址| 久久老熟女| 欧美极品少妇| 色综合超碰超| 鸥美精品一区二区久久婷婷| 日韩精品区二区三区不卡| 乱伦av国产| 两女互慰AV高潮喷水在线观看| 中文有码9| 九九久精品| 草b在线| 呻吟 欧美 日本 中出| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 明星性猛交ⅹxxx乱大交| 校园激情狠狠四射| w w w.久久精品| 日韩高清黄片| 一二三四视频中文字幕在线看| 欧美日韩不卡a片| 免费强奸av| 99色在线| 欧美综合网1| 国产农村妇女毛片精品久久| 精品国产乱码久久| 亚洲 自拍偷拍 欧美| 久久6热视频免费观看| 99热综合| 天天激色| 熟妇人妻精品一区二区| 国产乱色国产精品免费视| 蜜乳AV色欲AVAV无码| 中日无幕一二三四区| 亚洲一区亚洲天堂| 天天综合中文字幕 91| 日本爽爽爽爽爽爽免费视频| 亚洲情色中文字幕一区| 国产精品久久久视频| 中文字幕在线2| 野狼福利社区| 国产美女口爆吞精视频| 99精品久久久久久久婷婷| 亚洲有码 视频一区| 欧美爆操91| 深夜激情| 手机在线A片| 欧美毛片在线网| 日日AAvv| A 天堂| 丁香六月综合激情| 一区二区不卡| 97超碰超碰| 婷婷久久大香蕉| 67194无码不卡| 麻豆色99999| 亚洲阿v天堂无码z2018| 2020视频1区2区3区| 久久久久久裸体| 高清国产成人无码| 久久9亚洲| 美女诱惑一区| 26uuu性物| 欧美一二在线| 一区AV| 99精品视频在线观看| 欧洲精品欧洲精品| 日韩大香蕉AV影片| 国产成人欧美一区二区三区的国产| 北京专精特新企业招聘信息| 亚洲人久久久网| 国产野战露脸在线播放| 亚洲精品819| 亚洲天天自拍| 99久热| 国产精品大屁股999| 国产亚洲色婷婷久久99精品91葵花宝典| 久久久久9久久久久| 九久9精品| 五月婷婷色| 97欧美日韩精品| 麻豆这里只有精品| 91熟女少妇| 中文操嬖片。| 婷婷五月天无码| 91c色| 鸥美极品| 很黄很色的视频在线观看| 一区二区三区四区五区高清无码永久视频 | 免费精品国偷自产在线在线 | 久草视频观看视频在线| 日韩影片中文字幕一区二区三区| 2017天天操| 丁香五月天激情综合| 五月天九九日国产精品一区二区三区| 岛国大片在线观看网站入口| 日本99一区二区| 国产精品视频自拍在线| 91熟女熟妇视频网站| 91亚洲人| 中文字暮97| 无码不卡亚洲成?人片| 日本天堂网| 日本操逼视频不卡直接放| 插老姨肥穴| 日韩精品国产一区二区| 欧美青青草视频| 日韩欧美国产高清视频| 天天干人人乐| 一本一道vs波多野结衣| 91精品久久久久久| 无码99| 日本羞羞的视频在线播放 | 太久视频| 亚州五月| 97亚洲国产影视| 久久在线观看免费视频| 人人妻人人色| 蜜乳AV一区二区三区四| 欧成人精品一区二区三区| 久久一二三四五六七八九区区区 | 一级成人性爱| 国产熟女自拍| 99久久久无码| 色就色综合| 综合亚洲网| 99啪| 超碰成人公开| 又黄又硬又粗又长国产视频| 久久人妻办公室视频| 乱伦熟女论坛| 天天色踪合| 97超碰碰碰| 人人艹亚洲| 亚洲欧美综合图片| 884t在线| 免費黃色視頻觀看一| a片在线播放| 久操电影网| 夫妻四区五区六区| 欧美色综合影院| 超碰吊日色| 天堂国产AV| 99热久| 日本性感人妻91| 亚洲极品| 女人天堂AV五区在线| a男人的天堂久久一级A毛片| 91大香蕉伊人| 乱码熟妇人妻久久久| 久久一区二区三区入口| 男人的天堂 在线一区| 99日视频在线免费| 欧美三级免费伊人| 欧美亚洲日本激情在线| 国产精品盗摄 偷窥盗摄| 日本精品久久久久久久| 麻豆区99999| 99色色| 嫩草影院在线观看精品| 女欧美一区二三区| 色综合91好| 少妇人妻激情四射| www.操| 2024人人操人人摸| 国产一区二区三三视频| 粉嫩av一区二区三区天美传媒| 国产人妻精品一区二区三区秋霞 | 亚洲天堂AV在线播放| 精品午夜福利| 日本久久久精品电影| 18禁久极品美女久久哦哟呀!| 夜夜爽33333| 久久久久国产一区二| 亚洲一区二区在线观看91| 少妇天堂| 日韩欧美蜜桃精品久久中文字幕久久| 国产怡红院| 日本人体九九九九九九| 国模少妇一区二区三区| 国产操逼视频在线观看| 超碰精品国产无码| 清纯唯美亚洲综合| 麻豆天天躁天天揉揉AV| 欧美老妇女内射网址| 少妇无码太爽| 国模一区二区三区| 亚洲综合色婷婷| 亚洲 国产 精品一区| 国产网站在线播放| gogogo免费高清看中国国语| 欧美夜夜| 日韩97P| 国产AV线| 日韩 女同 综合| 久久人妻一区二区三区高清| 91女优在线观看 | 97中文字幕色| 青青草日韩无码| 日本有码影片下载| 黑丝91视频| 国产怡红院| 91人人看| 另类亚洲图色| 久偷拍| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 不卡在线一区,精品一区二区三区中| 日本韩欧美在线播放a| 国模无码一区二区三区在线| www.国产高潮精品| 3P乱轮视频| 天天视频黄网站| 久久综合激情| 嗯嗯啊中文字幕| 欧美有码激情视频一区二区三区| 美国美女AV在线| 色色五月婷婷| 69精品少妇一区二区三区蜜桃| 香蕉99秘 精品一区丁香| 青娱乐亚洲热| 五月天综合网| 亚洲欧洲第二视频在线观看色图| 欧亚日韩三区| 大香蕉手机在线| 肥佬影院91| 囯产精品久久久久久久久久二区三区| 一起草三级AV电影在线观看 | 久草婷婷| 天操天操夜操夜月月年年操操| 欧美综合1性辶| 国产精品久久久久久久久久久久久久吹 | 性爱边摸边日免费AV| 国产情侣自拍在线播放| 天堂中文资源在线bt| 日本色婷婷| 中 文字幕一区二区三四 五 区日 日 骚 | 国产乱不卡| 熟女熟妇一区二区三四区| 搡老熟女免费视频| 91精品女厕偷拍视频| 91一区二匹| 日夜久久久九九九久| 亚洲男人天堂视频| 丝袜色综合| 好爽视频在线观看视频 | 日本加靬比网站发布页| 久久久久久久久久久久久久9999|