欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

三態(tài)日歷落庫(kù):Java 批量生成工作日/周末/節(jié)假日與調(diào)休覆蓋的工程實(shí)踐

三態(tài)日歷落庫(kù):Java 批量生成工作日/周末/節(jié)假日與調(diào)休覆蓋的工程實(shí)踐 簡(jiǎn)介一份面向Java開發(fā)者的年度日期詳情入庫(kù)方案解決IT系統(tǒng)中維護(hù)每年工作日、周末與節(jié)假日數(shù)據(jù)的常見(jiàn)需求。資源將核心代碼封裝為單個(gè)Java文件經(jīng)7z壓縮后僅2KB便于快速查看與遷移。實(shí)現(xiàn)基于java.time的LocalDate遍歷全年日期借助DayOfWeek判斷周末并預(yù)留HolidayCalendar等節(jié)假日庫(kù)接口通過(guò)JDBC連接數(shù)據(jù)庫(kù)設(shè)計(jì)日期、工作日標(biāo)識(shí)、周末標(biāo)識(shí)、節(jié)假日標(biāo)識(shí)等字段表結(jié)構(gòu)同時(shí)考慮批量插入與事務(wù)回滾確保大數(shù)據(jù)量下的寫入效率和一致性。代碼層次清晰包含連接初始化、日期列表構(gòu)建、批量持久化及異常回滾等模塊并留有數(shù)據(jù)庫(kù)連接與自定義節(jié)假日規(guī)則的配置擴(kuò)展空間。適合需要構(gòu)建考勤、排班、運(yùn)營(yíng)日歷等模塊的中級(jí)開發(fā)者可借鑒其表設(shè)計(jì)、批量提交和邊界測(cè)試如閏年、補(bǔ)班等思路。已有3738人學(xué)習(xí)下載可直接作為年度工作日歷數(shù)據(jù)初始化的參考腳本。1. 把節(jié)假日、周末、工作日三態(tài)日歷落庫(kù)這個(gè)需求解決的是“每天是不是工作日”做考勤、排班、租金屬性計(jì)費(fèi)或者任務(wù)調(diào)度的后臺(tái)系統(tǒng)時(shí)幾乎每個(gè)業(yè)務(wù)都要回答同一個(gè)問(wèn)題某一天是不是工作日前幾年我維護(hù)過(guò)一個(gè)考勤統(tǒng)計(jì)模塊早期寫法是每次請(qǐng)求都現(xiàn)算——先判斷周幾再去查節(jié)假日表最后還要處理補(bǔ)班結(jié)果同一套規(guī)則散落在三個(gè)服務(wù)里每年年底節(jié)假日安排一公布就要熬夜改代碼。后來(lái)?yè)Q成了標(biāo)題里這個(gè)思路用 Java 把每年的節(jié)假日、周末、工作日詳情按日期批量生成提前落進(jìn)一張數(shù)據(jù)庫(kù)表業(yè)務(wù)查詢只做一次主鍵點(diǎn)查。這篇筆記就把這套方案從表結(jié)構(gòu)、生成器、調(diào)休覆蓋到運(yùn)維習(xí)慣完整拆開講適合正在做日歷類基礎(chǔ)數(shù)據(jù)維護(hù)、或者想讓考勤邏輯從“算”變成“查”的開發(fā)者。2. 日歷表結(jié)構(gòu)設(shè)計(jì)字段明細(xì)、唯一主鍵、覆蓋規(guī)則表怎么搭配2.1 三態(tài)日歷事實(shí)表為什么主鍵用日期而不是自增ID先看結(jié)果表。這張表要回答的核心問(wèn)題是“某天是三種狀態(tài)中的哪一種”所以它在建模上是一張事實(shí)表每一行代表一個(gè)日期只保留與該日期身份相關(guān)的屬性不摻業(yè)務(wù)狀態(tài)。我常用的建表語(yǔ)句如下CREATE TABLE t_calendar_detail ( calendar_date DATE NOT NULL COMMENT 日期主鍵, year SMALLINT NOT NULL COMMENT 年份, month TINYINT NOT NULL COMMENT 月份, day TINYINT NOT NULL COMMENT 日, weekday TINYINT NOT NULL COMMENT 星期幾1周一7周日, day_type TINYINT NOT NULL COMMENT 1工作日2周末3節(jié)假日, holiday_name VARCHAR(64) DEFAULT NULL COMMENT 節(jié)假日名稱工作日/周末為NULL, remark VARCHAR(128) DEFAULT NULL COMMENT 備注如“調(diào)休補(bǔ)班”, create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (calendar_date), KEY idx_year_month (year, month) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT日歷三態(tài)事實(shí)表;主鍵我沒(méi)有用自增 ID直接拿calendar_date做主鍵。原因是這張表的查詢模式非常固定要么按某個(gè)日期精確查要么按年份/月份范圍掃。日期本身全局唯一用它做物理主鍵還能讓按時(shí)間范圍的掃描走聚簇索引順序讀比自增主鍵再回表快一個(gè)量級(jí)。year/month/day/weekday這些冗余字段看著多余但實(shí)際報(bào)表經(jīng)常按“某年某月的工作日數(shù)”分組統(tǒng)計(jì)直接從行里取比DATE_FORMAT包一層函數(shù)高效得多也避免函數(shù)導(dǎo)致索引失效。2.2 覆蓋規(guī)則表調(diào)休補(bǔ)班只改這張表事實(shí)表只負(fù)責(zé)“最終結(jié)果”它不應(yīng)該是人直接改的地方。真正需要人工維護(hù)的是規(guī)則表也就是每年年底公布的調(diào)休與法定節(jié)假日安排。我一般會(huì)再建一張覆蓋規(guī)則表CREATE TABLE t_rule_override ( target_date DATE NOT NULL COMMENT 被覆蓋的日期, override_type TINYINT NOT NULL COMMENT 1調(diào)休補(bǔ)班周末變工作日3法定節(jié)假日工作日變節(jié)假日, holiday_name VARCHAR(64) DEFAULT NULL COMMENT 節(jié)假日名稱, source_year SMALLINT NOT NULL COMMENT 規(guī)則歸屬年份, effective_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 同一天多條規(guī)則時(shí)取最新, create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (target_date), KEY idx_source_year (source_year) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT節(jié)假日/調(diào)休覆蓋規(guī)則表;這張表只保存“與默認(rèn)規(guī)則不一致”的日子。默認(rèn)規(guī)則在代碼里寫死周一至周五是工作日周六周日是周末。與默認(rèn)規(guī)則一致的日期根本不需要進(jìn)規(guī)則表這樣每年要維護(hù)的記錄通常只有三四十條。target_date做主鍵很關(guān)鍵——同一天的最終狀態(tài)只能有一種這個(gè)約束從表結(jié)構(gòu)上就杜絕了“既放假又補(bǔ)班”的矛盾數(shù)據(jù)。2.3 索引取舍按日期范圍查詢?yōu)橹鱠ay_type 不要單獨(dú)建索引索引設(shè)計(jì)上主鍵索引已經(jīng)覆蓋了精確日期查詢。idx_year_month是為了“某年某月”的分組統(tǒng)計(jì)比如查 6 月的應(yīng)出勤天數(shù)。踩過(guò)的坑是最開始我給day_type單獨(dú)建了索引想著按狀態(tài)過(guò)濾會(huì)快實(shí)際完全沒(méi)用。day_type只有三四個(gè)取值區(qū)分度極低優(yōu)化器全表掃比走索引回表更快這個(gè)索引純屬浪費(fèi)寫放大。如果非要做“按工作日查”的統(tǒng)計(jì)正確做法是利用year month組合索引把日期范圍先縮小到一個(gè)月再過(guò)濾狀態(tài)。還有個(gè)細(xì)節(jié)日期務(wù)必用DATE類型不要圖導(dǎo)入方便用VARCHAR。用字符串存日期等值查詢還能靠主鍵索引碰巧命中一旦做BETWEEN或者DATE_SUB運(yùn)算排序規(guī)則和隱式轉(zhuǎn)換會(huì)讓索引徹底失效后面第 5 章會(huì)把這個(gè)坑單獨(dú)展開。3. 用 Java 批量生成全年日歷并寫庫(kù)生成器核心代碼與 JDBC 批量參數(shù)3.1 生成器核心流程LocalDate 遍歷 規(guī)則覆蓋生成全年的邏輯并不復(fù)雜第一步從t_rule_override讀出所有覆蓋規(guī)則第二步從 1 月 1 日遍歷到 12 月 31 日第三步對(duì)每個(gè)日期先按“工作日/周末”默認(rèn)規(guī)則打分再看有沒(méi)有覆蓋規(guī)則有就按覆蓋結(jié)果重寫。這里我直接用 JDBC 做示例換成MyBatis或Spring Data思路完全一致public void generateYear(Connection conn, int year) throws SQLException { MapLocalDate, Integer overrideMap loadOverrideMap(conn, year); LocalDate start LocalDate.of(year, 1, 1); LocalDate end LocalDate.of(year, 12, 31); ListCalendarDetail rows new ArrayList(); for (LocalDate date start; !date.isAfter(end); date date.plusDays(1)) { DayOfWeek dow date.getDayOfWeek(); // 1. 默認(rèn)規(guī)則周一至周五為工作日周六周日為周末 int dayType (dow DayOfWeek.SATURDAY || dow DayOfWeek.SUNDAY) ? 2 : 1; String holidayName null; String remark null; // 2. 覆蓋規(guī)則優(yōu)先調(diào)休補(bǔ)班或法定節(jié)假日以規(guī)則表為準(zhǔn) if (overrideMap.containsKey(date)) { Integer override overrideMap.get(date); dayType override; remark 規(guī)則覆蓋; } // 3. 拼裝實(shí)體year/month/day 直接從 LocalDate 取不用字符串格式化 CalendarDetail detail new CalendarDetail(); detail.setCalendarDate(date); detail.setYear(date.getYear()); detail.setMonth(date.getMonthValue()); detail.setDay(date.getDayOfMonth()); detail.setWeekday(dow.getValue()); detail.setDayType(dayType); detail.setHolidayName(holidayName); detail.setRemark(remark); rows.add(detail); } writeBatch(conn, year, rows); }這段代碼有幾個(gè)值得注意的參數(shù)與選型點(diǎn)。LocalDate遍歷完全沒(méi)有SimpleDateFormat的線程安全問(wèn)題生成 365 個(gè)日期對(duì)象對(duì) JVM 來(lái)說(shuō)開銷可以忽略。getMonthValue()返回 1-12 的int與表結(jié)構(gòu)里TINYINT對(duì)應(yīng)不要用Month枚舉直接存否則下一步寫庫(kù)還要做一次轉(zhuǎn)換。overDayType存的是最終類型所以規(guī)則覆蓋時(shí)直接賦值即可。3.2 JDBC 批量寫入關(guān)閉自動(dòng)提交與 rewriteBatchedStatementsgenerateYear里只組裝數(shù)據(jù)真正的性能差異在寫庫(kù)這一段。批量插入全年 365/366 條數(shù)據(jù)逐條INSERT和批量addBatch在數(shù)據(jù)量小時(shí)看不出差別但如果你要一次性生成未來(lái)五年甚至十年差距就是秒級(jí)和分鐘級(jí)的區(qū)別。我在接入層一般這樣寫private void writeBatch(Connection conn, int year, ListCalendarDetail rows) throws SQLException { // 先清理舊數(shù)據(jù)保證任務(wù)可重復(fù)執(zhí)行不會(huì)主鍵沖突 try (PreparedStatement ps conn.prepareStatement(DELETE FROM t_calendar_detail WHERE year ?)) { ps.setInt(1, year); ps.executeUpdate(); } String sql INSERT INTO t_calendar_detail (calendar_date, year, month, day, weekday, day_type, holiday_name, remark) VALUES (?, ?, ?, ?, ?, ?, ?, ?); conn.setAutoCommit(false); // 關(guān)閉自動(dòng)提交攢一批再提交 try (PreparedStatement ps conn.prepareStatement(sql)) { int batchSize 2000; int count 0; for (CalendarDetail d : rows) { ps.setObject(1, d.getCalendarDate()); ps.setInt(2, d.getYear()); ps.setInt(3, d.getMonth()); ps.setInt(4, d.getDay()); ps.setInt(5, d.getWeekday()); ps.setInt(6, d.getDayType()); ps.setString(7, d.getHolidayName()); ps.setString(8, d.getRemark()); ps.addBatch(); count; // 每 2000 條執(zhí)行一次避免 single batch 過(guò)大 if (count % batchSize 0) { ps.executeBatch(); } } ps.executeBatch(); // 收尾再刷一次 conn.commit(); } catch (SQLException e) { conn.rollback(); throw e; } finally { conn.setAutoCommit(true); } }這里有一個(gè)隱藏很深的性能參數(shù)如果你連的是 MySQL 5.1 以上的版本JDBC 連接串一定要加上rewriteBatchedStatementstrue。不加這個(gè)參數(shù)驅(qū)動(dòng)拿到addBatch后依然是一條一條發(fā)給服務(wù)端批處理名存實(shí)亡加上之后驅(qū)動(dòng)才會(huì)把多條INSERT重寫為一條多值的INSERT語(yǔ)句。jdbc:mysql://127.0.0.1:3306/yourdb?useUnicodetruecharacterEncodingutf8rewriteBatchedStatementstruesetObject傳LocalDate給DATE列在 JDBC 4.2 之后有標(biāo)準(zhǔn)映射比java.sql.Date.valueOf(date)少一層轉(zhuǎn)換包裝代碼也更干凈。batchSize不建議一次頂滿全年數(shù)據(jù)MySQL 的max_allowed_packet會(huì)限制單次包大小2000 一批在絕大多數(shù)默認(rèn)配置下都能安全通過(guò)。3.3 全量重建與增量補(bǔ)刷兩種調(diào)用方式怎么選生成器寫好后調(diào)用策略有兩種常見(jiàn)方式。全量重建適合每年年初一次性執(zhí)行先刪掉整年數(shù)據(jù)再插入整年數(shù)據(jù)邏輯干凈表里永遠(yuǎn)只有一份完整結(jié)果。代價(jià)是執(zhí)行期間該年份數(shù)據(jù)不可用對(duì)排班系統(tǒng)來(lái)說(shuō)凌晨執(zhí)行完全沒(méi)問(wèn)題。增量補(bǔ)刷適合“節(jié)假日安排出了補(bǔ)充通知只改后面三個(gè)月”的場(chǎng)景。比如年中突然宣布某一天放假這時(shí)全量刪掉整年再重建明顯浪費(fèi)只刷受影響區(qū)間更合理。我的做法是給生成器加一個(gè)窗口參數(shù)public void rebuildWindow(Connection conn, LocalDate start, LocalDate end) throws SQLException { // 刪除窗口內(nèi)數(shù)據(jù)重新生成該區(qū)間規(guī)則表全量參與覆蓋判斷 generateRange(conn, start, end); }兩種方式的取舍用一個(gè)簡(jiǎn)單標(biāo)準(zhǔn)判斷數(shù)據(jù)量不到 5 萬(wàn)行無(wú)腦全量重建超過(guò) 5 萬(wàn)行或業(yè)務(wù)要求“生成期間仍可讀”走增量窗口。實(shí)際項(xiàng)目里一般用不到這個(gè)閾值全量重建足夠。4. 調(diào)休與補(bǔ)班把節(jié)假日“覆蓋”邏輯做成可回滾的規(guī)則映射4.1 為什么單純“周末等于休息日”會(huì)翻車默認(rèn)規(guī)則“周六周日為周末休息”在絕大多數(shù)日子里是成立的但每年總有那么十幾天被官方公布的放假安排打破。最典型的例子五一、國(guó)慶前后往往會(huì)有“前一個(gè)周日補(bǔ)班”或“周六調(diào)休放假”就是說(shuō)默認(rèn)規(guī)則里的周六周日可能被改成工作日默認(rèn)規(guī)則里周一到周五也可能被改成節(jié)假日。如果不做覆蓋機(jī)制只靠“周末自動(dòng)休息”的代碼考勤系統(tǒng)在補(bǔ)班那天會(huì)漏判大量缺勤。所以生成環(huán)節(jié)里我把覆蓋邏輯設(shè)計(jì)成“先按默認(rèn)規(guī)則定基調(diào)再用規(guī)則表整體覆蓋”而不是寫一堆if (date.equals(某節(jié)日))。因?yàn)楣?jié)日日期每年都變硬編碼經(jīng)不起時(shí)間推敲。4.2 規(guī)則合并與去重同一天多條規(guī)則取最新一條覆蓋規(guī)則表維護(hù)的人可能不止一個(gè)每年元旦前 A 同學(xué)錄入一批元旦后 B 同學(xué)又改了幾個(gè)日期。如果規(guī)則表出現(xiàn)target_date重復(fù)主鍵約束會(huì)直接阻止但歷史數(shù)據(jù)替換時(shí)可能出現(xiàn)“同一日期先被標(biāo)記調(diào)休補(bǔ)班又被標(biāo)記節(jié)假日”的修改。這種場(chǎng)景我用一句話處理target_date上的記錄永遠(yuǎn)只有最新一條INSERT ... ON DUPLICATE KEY UPDATE保證冪等。INSERT INTO t_rule_override (target_date, override_type, holiday_name, source_year, effective_time) VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP) ON DUPLICATE KEY UPDATE override_type VALUES(override_type), holiday_name VALUES(holiday_name), source_year VALUES(source_year), effective_time CURRENT_TIMESTAMP;加載規(guī)則映射時(shí)也要注意邏輯方向默認(rèn)工作日被覆蓋成節(jié)假日默認(rèn)周末被覆蓋成補(bǔ)班工作日這兩類都從t_rule_override讀統(tǒng)一按target_date做MapLocalDate, Integer生成器只認(rèn)“日期最終的 day_type 值”不再關(guān)心中間發(fā)生了什么。這樣規(guī)則表與事實(shí)表徹底解耦將來(lái)想回滾某條規(guī)則直接刪規(guī)則表里的記錄再重新觸發(fā)重建即可。4.3 跨月邊界與節(jié)假日名稱歸檔前后 15 天一起解析每年公布的年放假安排會(huì)指定“春節(jié)前一周的周日補(bǔ)班”而這個(gè)補(bǔ)班日期很可能落在上一年的 12 月或者下一年的 1 月。所以加載規(guī)則時(shí)的查詢條件不能只鎖死當(dāng)前年份而要前后各留出緩沖我把這個(gè)窗口叫做“年邊界緩沖”。SELECT target_date, override_type, holiday_name FROM t_rule_override WHERE target_date BETWEEN ? AND ?這里的兩個(gè)問(wèn)號(hào)分別是給定年份的1月1日減去15天和12月31日加上15天。生成時(shí)日期落入緩沖區(qū)內(nèi)但年份不是目標(biāo)年份的行會(huì)直接忽略只有落在目標(biāo)年份內(nèi)的日期才寫入事實(shí)表。這個(gè)設(shè)計(jì)解決了很多團(tuán)隊(duì)“春節(jié)補(bǔ)班總漏一天”的毛病。節(jié)假日名稱歸檔也有講究。規(guī)則表里的holiday_name要按真實(shí)節(jié)日寫全比如“國(guó)慶節(jié)”“中秋節(jié)”不要寫“10月1日放假”這種日期化命名。因?yàn)楹罄m(xù)判斷“某節(jié)假日是否調(diào)休”“今年中秋國(guó)慶是否重疊”都要靠這個(gè)名稱做統(tǒng)計(jì)分析命名規(guī)范了報(bào)表層就不用再清洗。5. 日歷落庫(kù)避坑寫日期字段最容易翻車的 5 個(gè)問(wèn)題5.1 YYYY 與 yyyy 混用年尾日期被排到錯(cuò)誤年份現(xiàn)象生成 12 月 31 日的數(shù)據(jù)時(shí)控制臺(tái)打印出來(lái)的年份是下一年。查數(shù)據(jù)庫(kù)發(fā)現(xiàn)這一行的year字段被寫成了下一年的值。原因SimpleDateFormat或DateTimeFormatter里用了YYYY。這個(gè)模式代表“周周年份”不是日歷年。當(dāng)某年的 12 月 31 日恰好屬于下一周的 ISO 周期時(shí)YYYY會(huì)輸出下周所在的年份。解決生成器里完全不要依賴格式化字符串推導(dǎo)年份直接用LocalDate.getYear()。如果歷史代碼用了DateTimeFormatter.ofPattern(yyyy-MM-dd)一定要明確yyyy才是日歷年。這個(gè)坑在年初或者年末跑批時(shí)特別容易觸發(fā)因?yàn)橹苤苣攴菖c日歷年只在跨年那一兩天不同。5.2 主鍵沖突與重復(fù)生成任務(wù)重跑直接拋異?,F(xiàn)象同樣的生成任務(wù)跑第二遍插入第 366 行時(shí)報(bào)Duplicate entry 2025-12-31 for key PRIMARY。原因生成器第一次執(zhí)行成功后事實(shí)表已經(jīng)存在全年數(shù)據(jù)第二次執(zhí)行沒(méi)有做清理直接INSERT主鍵約束攔截。解決writeBatch開頭一定要按年份先DELETE再插入也就是前面代碼里的DELETE FROM t_calendar_detail WHERE year ?。這個(gè)操作把重跑任務(wù)從“不可重復(fù)執(zhí)行”變成“冪等”任何時(shí)間重放都不會(huì)產(chǎn)生臟數(shù)據(jù)。要注意如果刪除之后、插入之前有其他進(jìn)程在查詢這張表會(huì)短暫查不到數(shù)據(jù)。低峰期運(yùn)維或者用臨時(shí)表替換寫入二選一。5.3 時(shí)區(qū)問(wèn)題日期整體偏移一天現(xiàn)象數(shù)據(jù)庫(kù)里存好的日期和本地代碼里L(fēng)ocalDate對(duì)象完全對(duì)不上總是差一天。比如代碼里是 2025-01-01庫(kù)里變成 2024-12-31。原因生成時(shí)用了LocalDateTime或者Date在寫入DATE列時(shí)經(jīng)過(guò) JDBC 驅(qū)動(dòng)做了時(shí)區(qū)換算。應(yīng)用服務(wù)器時(shí)區(qū)與數(shù)據(jù)庫(kù)會(huì)話時(shí)區(qū)不一致時(shí)邊界時(shí)間會(huì)漂移。解決全部改用LocalDate數(shù)據(jù)庫(kù)連接串顯式指定時(shí)區(qū)參數(shù)useJDBCCompliantTimezoneShifttrueserverTimezoneAsia/Shanghai代碼里ps.setObject(1, localDate)直接傳純?nèi)掌趯?duì)象不要Date.valueOf(localDate)之后再轉(zhuǎn)一次。時(shí)區(qū)問(wèn)題屬于典型的“本地沒(méi)事、上線翻車”因?yàn)楸镜財(cái)?shù)據(jù)庫(kù)和線上數(shù)據(jù)庫(kù)時(shí)區(qū)配置往往不同。5.4 只維護(hù)放假?zèng)]維護(hù)補(bǔ)班考勤異常集中在節(jié)前現(xiàn)象某月底考勤報(bào)表突然冒出一批缺勤正好都是之前調(diào)休補(bǔ)班的那幾天。系統(tǒng)后臺(tái)查“節(jié)假日配置”明明有記錄。原因規(guī)則表只錄入了“法定節(jié)假日”這一類覆蓋也就是只把工作日改成了節(jié)假日卻漏掉了“周末補(bǔ)班”這類逆向覆蓋。默認(rèn)規(guī)則認(rèn)為那天是休息日事實(shí)表也就按休息日記錄導(dǎo)致應(yīng)出勤日被算成了休息。解決覆蓋規(guī)則的設(shè)計(jì)必須同時(shí)支持兩個(gè)方向override_type1表示周末改成工作日override_type3表示工作日改成節(jié)假日。生成邏輯不要只處理“放假”那一側(cè)。另外補(bǔ)班日期在規(guī)則表里也要保留holiday_name的原始信息比如備注“國(guó)慶前補(bǔ)班”方便報(bào)表側(cè)解釋異常出勤記錄。5.5 日期列隱式轉(zhuǎn)換VARCHAR 與 DATE 的混用導(dǎo)致索引失效現(xiàn)象表里calendar_date定義為VARCHAR查詢WHERE calendar_date BETWEEN 2025-01-01 AND 2025-01-31慢到全表掃。原因字符串比較按字典序2025-1-1和2025-01-01排序結(jié)果完全不同邏輯上像一個(gè)日期物理上排成兩條序列。一旦數(shù)據(jù)量上來(lái)所謂“日期范圍查詢”根本沒(méi)有范圍可言。解決表結(jié)構(gòu)里列類型必須是DATE參數(shù)傳LocalDate查詢條件不要用DATE_FORMAT(calendar_date) ...這種寫法因?yàn)閷?duì)列做函數(shù)處理會(huì)讓索引失效。正確姿勢(shì)是calendar_date BETWEEN ? AND ?讓日期列裸著參與比較。6. 進(jìn)階增量窗口更新、結(jié)果校驗(yàn)與“只改規(guī)則表”的運(yùn)維習(xí)慣6.1 按未來(lái) 90 天窗口增量重建全量重建適合年初但年中若突發(fā)“某天臨時(shí)放假”的通知重跑整年代價(jià)不大卻也容易把已有人工訂正的數(shù)據(jù)覆蓋掉。我的習(xí)慣是平時(shí)只維護(hù)規(guī)則表發(fā)布新規(guī)則后對(duì)受影響的未來(lái) 90 天窗口做增量重建。窗口選擇 90 天是因?yàn)榻^大多數(shù)臨時(shí)通知都不會(huì)影響超過(guò)一個(gè)季度窗口太大沒(méi)必要太小又可能覆蓋不全連續(xù)調(diào)休。這種運(yùn)維方式要求生成器把“刪除與插入”限定在一個(gè)窗口內(nèi)public void rebuildWindow(Connection conn, LocalDate start, LocalDate end) { deleteRange(conn, start, end); generateRange(conn, start, end); }刪除和生成需要放在同一個(gè)事務(wù)里避免刪除成功、生成失敗造成窗口空窗。6.2 全年結(jié)果校驗(yàn)對(duì)比 SQL 與總數(shù)范圍生成完數(shù)據(jù)別急著上線跑兩組校驗(yàn)。第一組是總量校驗(yàn)按day_type分組統(tǒng)計(jì)全年三種類型加起來(lái)必須等于 366閏年或 365SELECT day_type, COUNT(*) FROM t_calendar_detail WHERE year 2025 GROUP BY day_type;正常年份工作日數(shù)量通常在 240 到 260 之間周末在 100 到 120 之間節(jié)假日約 11 到 20 天。如果統(tǒng)計(jì)結(jié)果明顯越界說(shuō)明規(guī)則覆蓋環(huán)節(jié)出了問(wèn)題。第二組是規(guī)則匹配校驗(yàn)把規(guī)則表里所有補(bǔ)班日期與事實(shí)表交叉比對(duì)SELECT r.target_date FROM t_rule_override r LEFT JOIN t_calendar_detail c ON c.calendar_date r.target_date WHERE r.override_type 1 AND c.day_type ! 1;查出來(lái)的每一行都是“規(guī)則表要求這天補(bǔ)班事實(shí)表卻沒(méi)生效”的漏網(wǎng)之魚。這兩組 SQL 丟進(jìn)定時(shí)任務(wù)里每天跑一次能兜住絕大多數(shù)人為配置錯(cuò)誤。6.3 一個(gè)值得養(yǎng)成的習(xí)慣規(guī)則表永遠(yuǎn)比事實(shí)表“高級(jí)”我接手這個(gè)方案半年后最大的體會(huì)是事實(shí)表只允許被生成器寫入永遠(yuǎn)不要改單行數(shù)據(jù)。哪怕手工修一條“某天應(yīng)該是節(jié)假日”的錯(cuò)誤也先去改規(guī)則表再觸發(fā)對(duì)應(yīng)年份/窗口重建。因?yàn)槭聦?shí)表是下游業(yè)務(wù)讀取的唯一來(lái)源手工改一條很可能覆蓋掉生成邏輯期望的最終狀態(tài)之后規(guī)則表再變動(dòng)這一條手工數(shù)據(jù)就被靜默抹掉了。相反“規(guī)則表 → 生成器 → 事實(shí)表”的單向數(shù)據(jù)流任何時(shí)刻都可以從頭重算等于給日歷系統(tǒng)留了一顆后悔藥。后來(lái)遇到“某個(gè)日期狀態(tài)不對(duì)”的反饋我先查規(guī)則表而不是直接改結(jié)果表十次有九次都是規(guī)則漏配補(bǔ)班。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香五月瑟瑟| 色婷婷婷av| 色五月色图| 大香蕉人在线65| 精品乱码久久久久| 大香蕉久热| 久久er免费视频| 亚洲中字AV电影在线网站| 夜夜爽天天干| 激情的五月| 亚洲成片在线观看| 就爱日五月天| 天堂久久丁香| 国产亚洲精品AAAAAAA片| 噜噜狠狠色| 天天搽天天射| 99精品国产在热久久| 丁香五月婷婷欧美性爱| 成AV人片一区二区三区久久| 91精品久久久久久| 九九热99热| 99热精品网| 六月大香蕉| 丁香综合日产精品久久| 双性美人被调教到喷水A片| 五月丁香好婷婷A片网| 激情五月婷婷视频一区二区三区| 婷婷久久色| 天天草婷婷五月| 国产av基地| 日韩一级淫乱片一区二区三区| 亚洲第79页| 激情校园 亚洲| 久青操| 1024亚洲无码| 小香蕉av| 色五月激情网| 中文字幕无码人妻少妇免费视频| 99人妻碰碰碰久久久久视| 爱草视频在线观看| 婷婷五月天伊人网在线观看视频| 99无码超碰| 五月天激情日色在线| 丁香六月激情综合| 成人做爰A片免费看视频| 成人丁香五月| 亚洲操b| 九九亚洲| 在线成人网址| 成人午夜无码视频| 天天肏天天肏天天肏| 蜜桃五月天色| 久久机热/这里只有精品| 婷婷丁香六月激情综合| 思思热热久久| 99色精品| 91日本在线观看| 婷婷六月综合基地| 4399成人黄A片| 91色涩| 婷婷五月丁香欧洲| 操操啪| 99免费在线| 91超碰在线观看| www.五月天婷婷| 五月天婷婷AV| 日本99在线| 中文AV网| www九九热| 日本欧美国产| 激情五月综合亚洲另类| 国产av一区二区三区| 免费观看18视频网站| 99免费视频| 九月丁香婷婷| 91在线看片| 日本欧美999久久久三级片| 草久私拍| 伦乱天堂| 99亚洲大片精品永久在线观看| 色色免费网站| 婷婷五月开心中文字幕色| 五月色丁香综合| 99热99思午夜精品| 天天干 夜夜爽| 伊人久久大香线蕉av一区| 久久久精品AV| 黄色中文字目| 97色婷婷在线观看| WWW、日本色丁香、co m| 9999色色色色| 综合色五月天| 久久婷婷一级片| 无码激情AAAAA片-区区 | 在线综合网| 9999久久久久| 51精品国内探花| 大香蕉五月| 色色操| 五月丁香综合啪啪対白| 婷婷五月天视频免费在线观看| 六月亭亭久久综合激情| 美女网黄| 91久女| 婷婷综合一二三| 九九九热精品| Www.狠狠| 超碰狠狠操| 久久电影五月天丁香电影| 美国天天操无码| 激情五月天色网站| 婷婷五月花丁香| 婷婷五月丁香色综合| 丁香五月天色婷婷| 9l视频自拍九色9l视频在线观看| 99久在线视频| 五月婷婷AV| 欧美精品999| 激情五月天综合网| 玖玖在线视| 色情五月天se| 99热精品在这里| 成人精品一区日本无码网| 丁香六月欧美| 99色最新在线视频| 久久伊人大香蕉| 新激情婷婷| 色色色综合色| 综合网亚洲| 五月丁香婷婷啪啪| 国产免费AV在线| 思思久久96热在精品国产,| 丁香婷婷六月男男| 任你干aa| site:hcxsz888.com| 五月丁香六月婷婷久久| 午夜不卡久久精品无码免费| 激情综合女人网五月播播| 日日狠狠久久偷偷四色综合免费| 久久超级碰碰| 免费无码毛片一区二区A片| 婷婷六月视频| 丁香五月天狠狠| 国产人妻777人伦精品HD| 久久网婷婷| 久久6这里只有精品| 思思久久99| 少妇搡BBBB搡BBB搡毛茸茸| 狼友超碰| 国产综合婷婷| 97碰碰在线看视频免费| 久久婷婷综合国产| 99色在线观看视频| 欧美色婷婷| 超碰成人黄色网| 久热欧美| 亚洲综合九九| 大香蕉五月天| 亚洲色视频| 欧美日韩成人一区二区| 五月丁香激情四射| 久久受www免费人成| 热久久77777| 色婷婷亚洲婷婷| 欧美超级视频97| 婷婷五月天香蕉| 第四色激情网| 亚洲色色色色色色色色色| 五月天激情视频| 国产av第一专区| 99热99免费| 色综合色综合网| 冬月かえでAV无码播放| 99这里有精品| 99热新网址| 婷婷五月天网址| 日本色色影院| 99九九99九九九视频精彩| 婷婷丁香五月高清| 亚洲无aV在线中文字幕| 啪啪激情网| 色久影院| 婷婷成人五月天成人文学| 久久久久9999| 性做久久久久久久免费看| 开心六月丁香五月婷婷| 色999五月色| 色五月婷婷综合在线| 丁香美女主播视频在线观看 | 欧美性爱中文字幕| 久久人操| 精品思思久久| 国产69久久久欧美黑人A片| 亚洲色情免费网| 色婷婷成人做爰A片免费看网站 | 综合一本道| 色欲五月丁香| 五月丁香婷婷开心| 欧美va视频| 欧美人妻一区二区| 思思99re这里只有| 婷婷九色| 丁香五月影院| 激情www| 精品亚洲国产成AV人片传媒 | 久热伊人9| 午夜婷婷久久 | 激情玖玖综合网| 99成人免费热视频| 色综合色色| 婷婷五月天成人| 久久这里只有精品视频26| 久777| 99热这里有精力| 六月婷婷综合久久| 亚洲日韩一页精品发布| 五月婷婷婷丁香播| 色日本丁香婷婷| 无码成人播放器| 国产26uuu| www.91在线观看| 另类激情中文| 五月色婷婷综合| 天天色丁香| 婷婷五月天丁香| 婷婷五月天综合小说网| 天天肏高清在线| 大香蕉五月天| 99热综合| 六月婷婷激情小说网| 蜜乳人妻一区二区三区| 大地资源色婷婷视频在线| 99热无码| AV美美午夜| 色婷婷久久7777| 九九色影院| 天天拍久久| 日本九九视频| 五月激情久久综合| 影音先锋色婷婷| 大香蕉 婷婷| 99婷婷国产最新视频| 蜘蛛女免费观看完整版高清电影| 色五月综合网| 激情网婷婷五月天| 丁香六月高清视频| 激情视频综合| 91碰碰视频在线观看| 综合久久人妻| 超碰99在线观看| 色五月丁香91| 九九AV| AAAA网站| 天天干天天干天天干天天干天天干天天干天天 | 色色色色丁香| 婷婷五月综合婷婷| 国产肏屄大片| 天堂网亚洲色图| 99性视频| 黄色五月婷婷| 中文成人在线| 逼里香不卡| 丁香五月AV综合| 久久婷婷综合国产| 伊人影院久久网| 99综合网| 久操大香蕉| 91偷拍视频| 第四色色六月色综合| 嫩草免费视频| 久久久天堂国产精品女人| 五月丁香激情啪啪| 五月 成人 婷婷| 色色色.COM| 日韩AAA| 亚洲黄色影视| 五月大香蕉| 久久天堂色| 另类图片五月天| 婷婷五月激情中文字幕| 五月天婷婷影院影院观看| 夜夜天天天天天干天天爽| 六月丁香激情综合网| jiujiujiuwuyuetian| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 色婷婷小说| 色色热| 激情丁香六月| 精品无吗va视频免费观看| 天天干天天干天天干天天干天天| 26UUU欧美| 久久久久久人妻| 五月精品免费XXX| 丁香五月婷婷呀| 久久大香免费| 超碰色婷婷| 色九九九九| 91岛国片| 五月丁香六月婷婷激情四射| 婷婷久久图片| 亚洲视频操| 2020日日干| 人人操av| 4399无码视频| 五月丁香狠狠爱婷婷综合| 丁香五月激情久久麻豆| 色婷婷AV在线观看| 九九热内射| 色综合婷婷99| 91人碰| 神马欧美精| 激情视频综合| 色频玖玖五月天| 超碰狠狠操| 色五月激情网| 五月婷婷网久久| 狠狠999| 精热在线综合网| 丁香婷婷综合精品六月初| 五月开心婷婷极品激情| 99热精品一区| 十一月婷婷激情四射| 亚洲AV激情五月综合网| 丁香五月婷在线观看| 热99AV网站| 激情五月四色| 五月色婷婷中文字幕| 亚洲无码另类| 亚洲三级无码| 91精品人妻少妇无码影院| 五月丁香综合激情网| 激情五月天色色| 国产成人网站在线观看| 日本91在线播放| 丁香六月天婷婷| 亚洲有码在线视频| XXXX岛国| 人妻精品一区二区三区| 99精品久久| 五月天婷婷色色| 亚洲五月天激情| 五月美女婷婷风骚| 大香蕉婷婷丁香天堂AV| 色婷婷六月精品| 五月丁香六月激情综合啪啪| 五月天激情婷婷| 九九伊人网| 丁香六月激情| 日韩美女羞羞网站在线观看| 色色色色色色色综合| 色婷婷激情五月天在线观看| 99这里只有精| 97色碰| 亚洲电影中文字幕| 超碰在线99| 思思热在线精品视频网站| 天天爱天天做天天操| 婷婷在线免费| 狠狠色中色| 久操97| 涩综合在线| 在线可以看的av网址| 亚洲综合五月天婷婷丁香| 欧美交换配乱吟粗大25P| 天天干在线播放| 色域五月婷婷丁香| 婷婷五月天六月综合| 天天色域综合网| 人妻AV在线| 天天色天天日| 亚洲V国产V欧美V久久久久久| 俺去也五月| 吾爱AV导航| 婷婷五月天Av| 九九综合色| 精品亚洲国产成人A片在线鸭王| 天天爽天天操| 日韩成人电影AV| 思思热久热| 欧美日韩999| 男同色五月开心五月激情五月| 久久蜜臀婷婷| 成人羞羞啪啪 全 视频| 99热综合| 91色涩| 激情五婷网| 色五月av| 激情六月丁香| 狠狠色五月| 超碰九热| 99视频精品全部免费观看| 色五婷婷开心缴| 国产精品99久久久久久久女警 | 99日精品视频| 丁香五月综合AV在线| 超碰久热| 97亚洲色 torrent magnet| 噜噜狠狠色综无码久久合欧美| 婷婷五月AV| 丁香六月欧美| 五月丁香六月婷婷在线观看| 午夜天堂一区人妻| 六月丁香婷婷网| 色99网| 激情久久久久久久久| WWW.五月天9999| 97色色在线视频| 久久性爱视频免费| 久久曰曰| 99r久久这里只有精品| 九九色影视| 九月婷婷激情久久| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 五月婷色色| 激情五月综合亚洲另类| 久久久亚洲成人无码A片| 人人色AV| 日韩在线观看网址| 五月丁香六月婷综合成人综合| 婷婷五月丁香色综合| 色五月,婷婷大香蕉| 区区欧美你爱| 怡红院成人AV| 91免费看片| 91 久热| 婷婷五月天激情AV影院| 婷婷六月天| 久久99精品久久久久子伦| 狠狠爱婷婷丁香| 六月激情婷婷综合| 9精品在线| 日本激情91| 另类图片五月激情| 色五月大| 超碰com| 亚洲无码免费看| 丁香婷婷色五月天| 开心婷婷中文字慕| 综合丁香婷婷五月天| caop视频| 色五月婷婷婷婷婷婷婷婷婷婷| 性爱五月婷| 97婷婷五月激情六月丁香伊人| 日本97在线| 狠狠爱婷婷爱| 亚洲字幕AV一区二区三区四区| 欧美色99| 99色干| 国产精品人成A片一区二区| 99这里精品| 日本不卡一区二区三区| 深爱激情网综合| 久久久九九九 99| 五月丁香婷婷综合| 99久久婷婷国产综合精品草原| 亚洲激情免费视频| 欧美99视频| 99热在这里只有精品| 影音先锋xfplay资源男人网| 26uuu成人网| 五月婷婷视频| 深爱五月综合网| 激情综合视频| PORNY九色9l自拍视频成人| 色九综合| 97人人搞| 色青青视频| 久久综合图片| 99热免费在线| 天天爽日日爽夜夜爽| 超碰av在| 激情五月天视频| 99热99热在线观看| 色综合婷婷99| 狠狠草狠狠草| 久草五月天| 第1影院之五月婷婷| 日日杆天天| 先锋资源91| 五月开心婷婷中文字幕| 免费无码毛片一区二区A片| 岛国av电影网站| 操婷婷久久| 久久这里只精品| 包操45分钟网站| 性爱五月婷婷| 成人片黄网站色大片免费毛片| 秋霞电影一级黄| 丁香五月婷婷影视先锋| 99热在线播放| 五月婷婷激情日本| 这里只有精品久| 五月婷精品| 久久综合婷婷激情| 婷婷五月影院| 五月丁香激情婷婷| 丁香六月伊人| 日本婷婷丁香五月| 成人在线精品| 九热网站| 天天干天天干天天干天天干天天干| 色五月天在线观看| 色欲五月天| 五月 成人 婷婷| 97久久久久久久久久久| 九九热婷婷| 日韩色情亚洲五月天婷婷| 思思热天天看| 99爽视频| 五月婷三级片| 亚洲va成人va成人va在线观看| 婷婷五月天网址| 人人肏逼视频在线一区二区| 日日夜夜干| 爽极品色| 色情五月婷| 思思re99视频在线观看| 香蕉婷婷色五月| 欧美色久| 五月丁香网站| 激情网综合| 五月天激情小说电影| 超碰人人射| 六月激情婷婷综合| 99偷拍视频在线日本| 日本三级99人妇网站| 狠狠穞A片一區二區三區| 91成人看片| 激情VA视频| 六月丁香婷婷六月激情综合| 丁香五月综合久久八| 色婷婷六月天| 免费成人中文字幕| 涩五月丝袜婷婷| 五月婷婷色播| 五月婷婷无码| 国产av天堂| 丁香五月天堂网| 26uuu精品国产| 天天操夜夜爽歪歪| xxxx久| 99综合熟女| 色婷婷操逼网| 97色天堂| 9色视频在线| 婷婷中文无码| 香蕉综合在线| 综合五月丁香97| 婷婷五月天丁香成人社区| 五月丁香A∨在线| www.玖玖婷婷在线| 狠狠爱五月婷婷| 在线91日韩| 久久精品99久久久久久久久| 99九九在线视频| 久久综合首页| 婷婷久久五月| 翔田千里aV中文字幕| 激情婷婷五月天网址| 女人天堂av| 深爱激情网婷婷| 五月天大香焦| …亚洲黄色在线播放日韩、av中文a…| 色情综合网| 99操逼| 99精彩视频| 天天色粽合合合合合合合| 无码少妇高潮喷水A片免费| 欧美成人AAA片一区国产精品| 五月丁香六月婷婷激情视频在线观看免费 | 五月天社区| 日韩超碰在线| 激情丁香婷婷| 久草婷妨| a毛片二逼wwwwwwwwww| 五月天伊人久久| 五月婷中文娱乐综合| 色哟哟性爱av| 日韩欧洲亚洲| WWW.桔色成人.COM| 激情丁香五月天| 五月天亚洲色| 中文av网| 狠狠狠狠狠狠| 丁香婷婷综合影院| 色五月婷婷综合| 二人电影免费版在线观看| 五月天伊人手机在线播放AV| 激情爱爱网站| www.婷婷| 色色色色区| 激情四射五月天偷偷看婷婷| 丁香五月婷婷综合网| 性生活视频98791| 综合久久婷婷| 丁香狠狠色婷婷久久无码视频| 久久一级AV| 久久婷婷六月综合综合| 91啪啪视频| 久久这里只有精品无码| 亚州操操| 丁香五月激情图片婷婷| 内射综合网| 思思热在线精品视频网站| 亚洲开心激情网| 欧美日韩aaa| 丁香五月天视频| 婷婷日韩| 亚洲激情网站无码| 婷婷五月天亚洲综合| 国产亚洲精品久久久久久牛牛| 97色色综合| 激情五月婷婷色色| 天天日狠狠| 婷婷久久免费| 精品久9| 丁香六月天之亚州热女| 五月婷婷综合激情| 狠狠狠狠狠狠狠狠| 狠狠色五月天| www.婷婷| 99婷婷精品推荐在线视频| 丁香五月婷婷偷拍| 狠狠艹狠狠艹| 国产亚洲精品久久一区二区三区| 求可以看的AV网址| 精品久久久人妻| 超碰A V在线| 丁香久色| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 五月丁香激情综合网| 停停六月 综合| 五月社区婷婷激情| 九九热欧美| 激情五月婷婷她| 天天干天天日日| 久热九九| 97超碰在线免费观看| 激情丁香五月激情婷婷| 9999久久久久| 99热 这里只有精品 国产 日韩| 五月天色图| 精品久久这里热66| 91色色色视频| 婷婷五月天论坛| av在线资源| 久久婷婷网| 丁香五月天激情综合| 99天天操夜夜操| 天天狠狠婷婷在线| 五月丁香啪啪网| 丁香久月婷| 亚洲热视频| 色综合中文综合网| 乱色色色| 婷婷五月综合社区在线| 99热最新网址| 亚洲mm免费| 五月丁香六月婷婷在线播放| 久久无码成人| 第一区久久网站| www.色五月| 日日干夜夜撸夜夜骑| 99ri视频| 99热在线精品观看| 狠狠综合久久| 综合色99| 超碰91在线| 亚洲小视频免费播放| 色色婷婷丁香| 五月欧美色播| 亚洲中文字幕在线观看| 丁香五月六月婷婷自拍| 天堂成人A片永久免费网站| 欧美99热| 激情四射亚洲| 91精品综合久久久久久五月丁香 | 99超级碰免费视频| 综合激情啪啪| 国产XXXX搡XXXXX搡麻豆| 成人片久久网站| 无码少妇高潮喷水A片免费| 99热99热在线观看| 97色婷婷成人综合在线观看| 91色综合| 色色五月婷婷| 久久久99精品| 婷婷伊人綜合| a在线观看| 色激情综合狠狠婷婷| 精品人妻伦一二三区久| 婷婷五月天播| 日韩ww| 一起草性爱不卡视频| 99人人爽| 五月天婷婷激情| 五月婷婷啪| 亚洲第一综合| 婷婷干五月综合在线播放| 深夜婷婷 丁香| 日韩AAAAAAAAAAA片| AA久久| 五月丁香啪啪啪| 有码人妻久久| 激情婷婷五月综合| 久九色| 欧美激情综合| 婷婷色色欧美综合网| 婷婷爱五月天| www.天天干.com| 超碰国产一区| 婷婷五月六月丁香| 六月丁香啪| 日产精品一线二线三线芒果| 国产精品爽爽久久久久久| 久久综合婷婷| 天天综合网~91| 五月婷婷啪啪啪| 天天操夜夜夜拍拍拍| 一婬一伦一区二区三区| 99精品在线观看| 天天橾日日橾夜夜橾17| 六月婷婷七月丁香| 97精品人人A片免费看| 99热这里都是精品| 亚洲五月天综合| 狠狠色噜噜狠狠狠狠综合| 九九免费视频在线| 色五月欧美| 亚洲国产精品VA在线看黑人| 国产精品色婷婷久久久精品| 五月丁香综合伦理片| 天天干,天天操,天天射| 性做爰1一7伦| 欧美三日本三级少妇三99| 国产色色网站网址| 婷婷人人操| 熟妇高潮一区av| 婷婷激情社区| 色五月天成人| 爱草视频在线| 国产成人+综合亚洲+天堂| 91热久88| 五月天婷婷色色| 婷婷久久色| 亚洲丁香五月深爱五月| 91精品在线看| 东北黄色一级| 青青草婷婷五月天| 思思热在线观看| 99在线视频资源| 久久婷婷五月综合色和| 人妻久久久久久久久妻久久久久| 亚洲va久久久噜噜噜久久天堂| 亚洲欧洲中文日韩久久AV乱码| 色色色五月天激情资源| 亚洲精品国产熟女久久久| 伊人久久婷| 五月天色社区| 色综合综合色| 嫩草综合网| 91欧美| www.日韩国产| 狠狠色丁香婷婷| 玖玖婷婷免费| 亚洲精品一区中文字幕乱码| 天天爱天天操| 五月天综合在线| 操射国产日本| 五月丁六月婷| 天天操夜夜夜拍拍拍| 99视频色在线观看| 国产91视频| 天天日日| 亚洲欧美综合7777色亭亭| 久久婷婷五月天| 色色a| 青青草原伊人网| 色情婷婷五月天| 深爱1激情网| 天天日夜夜操五月| 亚洲日韩26uuu| 婷婷丁香五月精品| 99热这里只有精品98| 久久九九视频网站| 丁香综合婷婷开心激情网| 久久中国毛毛片爱久久| 久99久视频精选| 91久久九九| WWW.久久久久久久久久久久久| 91久久婷婷| AV九九| 可以免费观看的av| 狠狠草在线观看| 丁香五月色| 六月丁香啪啪| 国产精品a无线| 欧美大片| 五月天婷婷狂暴白浆| 婷婷五月性感| 在线播放成人| 国产亚洲99久久| 97碰人人操| yellow视频在线观看91| 91天天操天天干天天射| 婷婷激情四射| 亚洲精品久久久无码| 少妇人妻偷人精品无码视频新浪 | 丁香婷婷五月综合色情| 久艹大香蕉| 婷婷无五月无码视频| 亚洲黄网AV| 91综合在线观看| 亚洲成人超碰| 狠狠色五月| 26uuu国自产精品| 六月丁香射婷婷欧美色图片 | 五月天无码| 久久丁香五月婷婷激情综合网| 伊人网碰碰| 婷婷五月丁香综合亚洲 | 亚洲国产精品VA在线看黑人| 久久五月激情| 国产AV国片偷人妻麻豆| 97操碰在线97| 久久婷婷综合网| 色综合久久伊伊婷婷五月| 婷婷丁香五月亚洲综合网在线视频观看| 激情网五夜婷婷| 久久这里只有精品视频1| 五月丁香激情综合网| 9l视频自拍9l九色成人| 99国产精品久久久久久久久久久| 日日做A爰片久久毛片A片英语| 五月丁香六月激情综合| 岛国在线观看91| 丁香五月婷婷五月| 六月综和久久| 丁香六月婷婷综合缴| 99re在线观看| 人人操超碰| 久婷| 五月草影视| 色婷精品91| 国产精品久久久久9999小说 | 色色色色网色色网色色| 激情AV在线| 狠狠色婷婷| 无码橾| 99精品视频在线6| 丁香五月,激情五月,深爱五月| 噜噜噜噜在线| 久久多色| 91怕怕网| 狠狠色婷婷在线| 99无吗| 激情99| 久久视频婷婷| 人妻射精AV| 日韩淑女人妻luan伦激情精品一区二| 丁香五月婷婷在线| 人妻熟人中文字幕一区二区| 婷婷六月视频| 激情五月天色爱| 五月激情婷婷丁香| 97久久超级| 久久99热这里只有精品23| 丁香五月综合激情性爱| 国产毛片精品一区二区色欲黄A片| 色五月丁香91| 秋霞免费三级片| 偷拍五月丁香| 日B日潘金莲BB| 性爱先锋AV| 亚洲五月丁香六月婷婷| 91精选国| 免费精品66| 97AV在线视频| 婷婷人妻激情| 深爱激情五月天婷婷网| 欧美色频| 丁香五月区| 五月花综合视频| 粉嫩AV久久一区二区三区| 欧美 日韩 成人 在线| 色婷婷成人| 久久97久久99久久综合欧美| 丁香五月婷婷亚洲人| 亚洲婷婷五月天| 超碰人人在线观看| 思思久久96热在精品国产,| 超碰99在线| 狼友超碰| 99热| 久久日曰| 深爱激情丁香五月| 人人色人人弄人人操| 丁香婷婷六月婷婷六月婷婷六月婷婷 | 91人人人人人| www久久五月com| 99热官网精品在线| 色狠狠综合网| 97在线视频人妻九色| 男人視頻站| 俺也去在线视频 | 亚洲色 视频| 一本大道伊人AV久久综合| 九九sese| 97人人草| 欧美日本综合网| 俺去也综合| 亚洲1区| 99亚州综合精品成人网| 操碰99| 99精品自拍视频| 久99久视频| 大香蕉精品视频| 操人91| 日本99视频| 超碰免费人人| 五月天播播| site:xmssd.com| 丁香在线视频| 色五月丁香五月五月婷婷| 人人摸人人| 色狠狠999综合网| 婷婷啪啪| 欧美综合婷婷网| 天天日天天久久青青| 思思综合热| 五月激情综合婷婷| 男人的天堂五月丁香| 先锋男人91资源| 婷婷五月天亚洲综合| 亚卅毛片| 天天色天天| 激情伊人六| 成人αV视频免费观看| 欧美3AaAa大片| 欧美啪啪五月天| 色婷婷五月在线| 99啪啪| 少妇AB又爽又紧无码网站| 激情综合婷婷| 大香蕉娱乐| 99热播放| 九九热黄色| 五月婷婷六月色| 五月激情网络| 婷婷丁香成人五月天| 操操人人| 丁香六月色情| 婷婷狠狠青青| 99久在线精品99re5热视频| 亚洲精品视频在线| 少妇出轨做爰高潮A片| 激情五月少妇| 影视av久久久噜噜噜噜噜三级| 开心激情网五月| www.色综合.com| 伊人在线视频| 日本va视频| 狠狠色五月| 99精品无码| 无码人妻一区二区三区免费九色| 亚洲国产精品SUV| 天天综合五月| 七七色色综合| 免费黄色片子| 久热这里只有精品视频免费观看| 中文超碰视在线| 五月激情综合网| 99er免费在线观看| txt五月激情四射网综合俺也来了| 丁香五月色欲| 超碰人人色| 色婷婷性爱网| 999激情视频| 久久婷婷五月草视频在线播放| 人人草人人舔| 欧美丁香五月| 99热在线精品播放| 成人国产欧美大片一区| 激情丁香五月天| 婷婷五月天改成什么了| 丁香五月婷婷激情蜜桃| 思思热精品在线视频| 色色丁香激情五月| 久久99热这里只有精品首| 在线综合亚洲欧美65| 另类激情综合| 色色色色色色色色色色色色色色,网站| 秋霞AV吧| 欧美色婷婷| 九九色综合视频| 人人亚洲| 激情五月色综合网| 极品人妻VIDEOSSS人妻| 99玖玖免费视频| 激情色情五月天| 噜噜噜噜婷婷五月天| 天天综合网色欲香| 国产片XXXXA片国语对白| 97色天堂| 综合一本道| 九月婷婷综合八月丁香在线观看| 激情AV网| 九色视频91| 色色色色色色色色色999| 91九色丨国产丨爆乳| 丁香九月色| 无码少妇高潮喷水A片免费| 天天日天天舔| 另类综合国产| 国产欧美婷婷| 色综合久久天天综合网| 欧美婷婷综合| 丁香婷婷狠狠97| 丁香五月香蕉| 国产熟女一区二区三区五月婷| 开心婷婷中文字慕| 熟女色色一区二区| 丁香六月婷婷久久综合| 97碰碰在线看视频免费| 五月综合婷婷五月| 欧洲亚洲欧洲99久久| 天天肏屄夜夜爽| 狼人婷婷久久| 狠狠爱夜夜| www.韩日视频| 丁香六月婷婷色XXXX| 色色五月天婷婷| 这里只有精品久久| 成人在线精品| 色婷婷免费视频| 日日干天天| 在线观看中文字幕| 天天天日天天天干| 99色色最新视频| 99热日韩这里只有精品| 五月丁香六月婷婷啪啪| 色五月中文字幕| 狠狠狠狠草草| 婷婷中文综合网| 三级毛片视频| 日韩AV中文在线观看| 无码免费人妻A片AAA毛片西瓜| 停婷丁五月在线| 天天爽天天草| 激情五月四色| 99热的无码| 色婷婷丁香五月综合| 91人妻视频| 丁香五月综合亚洲| 五月天激情网页| 亚洲综合婷婷六月丁香五月| 激情婷婷五月天在线观看| 亚洲色欲AAAAAA| 激情综合网激情五月欧美| 婷婷成人丁香色情基地30| 婷婷五月丁香在线观看| 丁香伊人综合| 久久五月丁香综合17C| WWW久久久| 人人操人人干AV| 黄色AAAAAAA| 五月丁香六月片| 五月婷婷综合网| 色婷婷综合网| 国产乱子轮XXX农村| 99原创自拍视频在线观看| 丁香婷婷九月在线| 国内9l视频自拍老熟女九色| 激情综合另类| 久久人人九| 久久伊人婷婷| 五月婷婷伦理| 五月婷色丁香| 99视频网| 日韩五月丁香| 中文字幕视频在线播放| 五月丁香激情啪啪| 国产精品99久久久久久久女警| 亚洲综合视频网| www.久热| 中文字幕丰满孑伦无码专区 | 日本乱论99| 亚洲午夜AV| 天天操夜夜夜夜爽| 婷婷五月中文字幕国产| AAAA网站| 九九色影院| 婷婷久久综合| 色狠狠婷婷| 中文字幕性爱视频| 狠狠色婷婷777| 激情六月五月婷婷综合网| 精品无码99| 久久综合影院 | 国产成人一区二区三区在线观看| 五月天啪啪视频| 99无码视频| 葵花AV在线| 五月丁香婷婷激情四射迷人| 欧美人人操| 亚洲精品va| 激情五月婷婷色| 人人爽天天爽| 丁香六月色婷婷| 依人大香蕉在钱1| 97日在线视频| 婷婷激情五月天在线视频| 五月婷婷二月丁香| 涩五月婷婷| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品| 丁香五月婷婷婷桃花影院| 97在线精品视频| 久久久久99精品成人片| 五月丁香综合影院| 欧美大肥婆大肥BBBBB| 久re在线| 五月天快乐开心激情网| 夜夜操,天天撸| 79精品视频在线观看,| 亚洲免费综合一区| 九九香蕉网| 中文字幕九九九九| 66成人网| 九九色黄色| 激情五月少妇| 国产精产国品一二三在观看| 五月天色播网| www.久热| 九九黄色网| www99精品| 91vip在线观看| 日日夜夜狠狠| 97操在线资源| 这里只有精品视频免费在线观看| 99精品热视频| 成人av中文字幕| 综激情网| 日韩啪啪网| 国产激情久久久| 青青热视频| 婷婷97碰碰| 天天摸天天肏| 亚洲激情网| 操笔无码| 少妇AB又爽又紧无码网站| 手机看片日日做夜夜| 2018夜夜草| 开心激情站婷婷五月天| 久久国产成人9999久久久久| 99热在线观看这里只有精品| 综合久久综合五月天婷婷| 五月婷婷婷婷网| av最新在线| 另类激情五月在线视频欧美| 久久五月婷婷丁香| 碰97久久| 欧美精品999| 久热这里只有精品6| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 26UUU欧美激情一区二区| 日本高清久| 九九视频这里只有精品| 超碰色天堂| 色婷婷19| 五月婷婷 欧美| 无码人妻精品一区二区蜜桃色欲 | 亚洲欧美婷婷五月色综合| 久久这里只有精彩| 婷婷五月天在线观看| 日日肏夜夜干| 狠爱婷色| 亚洲精品国产成人AV在线| 色婷婷中文字母五月丁香| 极品人妻VIDEOSSS人妻| 欧美激情综合色丁香婷婷五月天| 国产暴力强伦轩1区二区小说| 98毛片| 亚洲愉拍99热成人精品| 日日爽日日| 玖玖在线| 久久九九综合| 色人妻五月| 狠狠色丁香久久婷婷综合五月| 五月激情站| 色播六月| 久久久国产精品黄毛片| 开心激情播播五月天| 99热精品观看| 中字幕视频在线永久在线观看免费| 天天摸.天天mo| www.婷婷com| 色色婷婷丁香五月天| 欧美日本黄色| 天天爽天天爽| 人草人人| 超碰99在线观看| 欧美顶级少妇做爰HD| 五月综合无码| 五月婷婷激情综合在线| 玖玖爱伊人网| 国产9色在线/日韩| 久久与婷婷| www.com.色色| 五月丁香综合啪啪| 狠狠干总合| 99碰| 天天色情站| 综合色色婷婷| 亚洲综合视频天天精品| 大鸡巴伊人网| 开心五月网| 久热精品视频| 色综合色色| 九色综合网| 亚洲区视频| 久久久精品人妻录| 91se在线视频| 97在线日韩| 天天爱天天操| 999热在线视频| 精品国产va久久久久| 五月天丁香看婷婷| 26uuu国产| 99亚洲精品| 天天日日天天| 五月婷啪| 五月开心深爱激情网| 狠狠香婷婷五月| 色五月婷婷激情基地| 日本欧美成人片AAAA| 五月丁香自拍| 深爱激情网五月| 九九热99视频在线| 三日本无码| 丁香五月天激情综合| 色99色| 99久久er| 国产超碰在线| 丁香婷婷性久久| 在线观看免费人成视频无码| 综合AV在线| 五月婷婷亚洲| 六月丁香五月亭亭| 九九久久精品| 激情五月天。| 26uuu国产| 大香线蕉伊人| 亚洲AV成人无码久久精品老人法拉利| 视频在线免费观看欧洲乱码| 影音先锋91在线资源站| 人妻熟妇国产精品| 狠狠色噜噜狠狠狠888| 婷婷五月综合激情小说| 五月丁香狠狠爱| 五月丁香六月婷婷成人| 狠狠色综合久久久久| 久久er99热精品一区二区 | 久久婷婷老| 天天干天天干天天干| 乱码操操| 婷婷久久精品|