Преглед изворни кода

fix:修复获取日期的年周不正确的问题

mozuwen пре 3 месеци
родитељ
комит
0820684ad5

+ 10 - 0
service-base/src/main/java/com/simuwang/base/common/util/DateUtils.java

@@ -241,4 +241,14 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
         }
         return null;
     }
+
+    public static Integer getWeekOfYear(String priceDate) {
+        int year = Integer.parseInt(priceDate.substring(0, 4));
+        int week = DateUtil.weekOfYear(DateUtils.parse(priceDate, DateUtils.YYYY_MM_DD));
+        // 修复20251 -> 202501
+        if (week < 10) {
+            return Integer.valueOf(year + "0" + week);
+        }
+        return Integer.valueOf(year + "" + week);
+    }
 }

+ 1 - 1
service-manage/src/main/java/com/simuwang/manage/service/impl/DeletionServiceImpl.java

@@ -384,7 +384,7 @@ public class DeletionServiceImpl implements DeletionService {
             TreeMap<Integer, List<NavDO>> weekNavListMap = new TreeMap<>();
             //按周数整合
             for (String priceDate : navListMap.keySet()) {
-                Integer weekOfYear = Integer.parseInt(priceDate.substring(0, 4) + DateUtil.weekOfYear(DateUtils.parse(priceDate, DateUtils.YYYY_MM_DD)));
+                Integer weekOfYear = DateUtils.getWeekOfYear(priceDate);
                 if (weekNavListMap.containsKey(weekOfYear)) {
                     List<NavDO> navDOS = weekNavListMap.get(weekOfYear);
                     navDOS.addAll(navListMap.get(priceDate));