xufei vor 8 Monaten
Ursprung
Commit
452c641c16

+ 2 - 1
src/main/java/com/winhc/data/push/service/impl/SynDataServiceImpl.java

@@ -39,6 +39,7 @@ import static com.winhc.data.push.common.Constant.*;
 import static com.winhc.data.push.constant.BaseParam.*;
 import static com.winhc.data.push.utils.BaseUtils.getObjectId;
 import static com.winhc.data.push.utils.BaseUtils.getPrcessDate;
+import static com.winhc.data.push.utils.DateUtils.getPrcessDateV2;
 import static com.winhc.data.push.utils.OssUtils.listKeys;
 import static com.winhc.data.push.utils.TransToExcelNewCompany.dataPathPrefix;
 import static com.winhc.data.push.utils.TransToExcelNewCompany.run;
@@ -330,7 +331,7 @@ public class SynDataServiceImpl implements SynDataService {
 
     @Override
     public void saveObject(String ds, String targetBucketName, String ossPre) {
-        String prcessDate = getPrcessDate(ds);
+        String prcessDate = getPrcessDateV2(ds,7);
         String pre = ossPre + "/" + prcessDate + "/";
         List<String> keys = listKeys(targetBucketName, pre);
         List<String> filters_keys = keys.stream()

+ 2 - 1
src/main/java/com/winhc/data/push/service/impl/TouchServiceImpl.java

@@ -21,6 +21,7 @@ import java.util.stream.Collectors;
 
 import static com.winhc.data.push.common.Constant.TC_OSS_PRE;
 import static com.winhc.data.push.utils.BaseUtils.getPrcessDate;
+import static com.winhc.data.push.utils.DateUtils.getPrcessDateV2;
 
 /**
  * @author π
@@ -62,7 +63,7 @@ public class TouchServiceImpl implements TouchService {
 
     @Override
     public Boolean export2OSSTc(String project, String ds, List<String> tns) {
-        String prcessDate = getPrcessDate(ds);
+        String prcessDate = getPrcessDateV2(ds, 7);
         //当日分区数据
         List<String> ds_tns = odpsService.query(Constant.show_tn_sql, ds);
         //需求输出数据

+ 19 - 0
src/main/java/com/winhc/data/push/utils/DateUtils.java

@@ -69,6 +69,24 @@ public class DateUtils {
         return LocalDate.now().plusDays(num).format(DateTimeFormatter.BASIC_ISO_DATE);
     }
 
+    public static final String getPrcessDateV2(String ds, int num) {
+        String v = null;
+        try {
+            if (ds == null)
+                return null;
+            SimpleDateFormat dateFormat = new SimpleDateFormat(FORMAT_YYYYMMDD);
+            Date date = dateFormat.parse(ds);
+            Instant instant = date.toInstant();
+            ZoneId zoneId = ZoneId.systemDefault();
+            LocalDate localDate = instant.atZone(zoneId).toLocalDate();
+
+            v = localDate.plusDays(num).format(DateTimeFormatter.BASIC_ISO_DATE);
+        } catch (Exception e) {
+            // do nothing
+        }
+        return v;
+    }
+
     public static String nowDateTime() {
         return nowDateTime(null);
     }
@@ -117,6 +135,7 @@ public class DateUtils {
     }
 
     public static void main(String[] args) {
+        System.out.println(getPrcessDateV2("20230101", 7));
         System.out.println(parseDate("20220724"));
         System.out.println(parseDate("2022-07-21"));
         System.out.println(getDate(-1));