Sfoglia il codice sorgente

add:添加过滤条件,昨天时间,可以让运维更加灵活调整增量更新日期

yjwang 2 anni fa
parent
commit
6bb40950ce

+ 11 - 1
dbsyncer-listener/src/main/java/org/dbsyncer/listener/enums/QuartzFilterEnum.java

@@ -4,6 +4,7 @@ import org.dbsyncer.common.util.StringUtil;
 import org.dbsyncer.listener.quartz.QuartzFilter;
 import org.dbsyncer.listener.quartz.filter.DateFilter;
 import org.dbsyncer.listener.quartz.filter.TimestampFilter;
+import org.dbsyncer.listener.quartz.filter.YesDateFilter;
 
 /**
  * @author AE86
@@ -27,7 +28,16 @@ public enum QuartzFilterEnum {
     /**
      * 日期(结束)
      */
-    DATE_END(4, "$date_end$", "系统日期(结束)", new DateFilter(false));
+    DATE_END(4, "$date_end$", "系统日期(结束)", new DateFilter(false)),
+    /**
+     * 昨天日期(开始)
+     */
+    DATE_YES_BEGIN(5, "$date_yes_begin$", "系统昨天日期(开始00:00:00)", new YesDateFilter(true)),
+    /**
+     * 昨天日期(结束)
+     */
+    DATE_YES_END(6, "$date_yes_end$", "系统昨天日期(结束23:59:59)", new YesDateFilter(false));
+
 
     private Integer index;
     private String type;

+ 49 - 0
dbsyncer-listener/src/main/java/org/dbsyncer/listener/quartz/filter/YesDateFilter.java

@@ -0,0 +1,49 @@
+package org.dbsyncer.listener.quartz.filter;
+
+import org.dbsyncer.common.util.DateFormatUtil;
+import org.dbsyncer.listener.quartz.QuartzFilter;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class YesDateFilter implements QuartzFilter {
+
+    private boolean begin;
+
+    public YesDateFilter(boolean begin) {
+        this.begin = begin;
+    }
+
+    @Override
+    public Object getObject() {
+        Date as = new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000);
+        SimpleDateFormat matter1 = new SimpleDateFormat("yyyy-MM-dd");
+        String time = matter1.format(as) + " 00:00:00";
+        if (!begin) {
+            time = matter1.format(as) + " 23:59:59";
+        }
+        matter1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        try {
+            as = matter1.parse(time);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        return as;
+    }
+
+    @Override
+    public Object getObject(String s) {
+        return DateFormatUtil.stringToDate(s);
+    }
+
+    @Override
+    public String toString(Object value) {
+        return DateFormatUtil.dateToString((Date) value);
+    }
+
+    @Override
+    public boolean begin() {
+        return begin;
+    }
+}