Parcourir la source

重粉新加判断,项目1 和项目 28视为同一项目

xw il y a 3 jours
Parent
commit
58f770f39f

+ 34 - 0
fs-service/src/main/java/com/fs/course/support/CourseProjectEquivalence.java

@@ -0,0 +1,34 @@
+package com.fs.course.support;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * 看课项目等价关系:重粉判断时视为同一项目。
+ */
+public final class CourseProjectEquivalence {
+
+    /** 项目 1 与 28 为同一业务项目 */
+    private static final List<Long> PROJECT_GROUP_1_AND_28 = Collections.unmodifiableList(Arrays.asList(1L, 28L));
+
+    private CourseProjectEquivalence() {
+    }
+
+    /**
+     * 返回与给定项目 ID 等价的全部项目 ID(用于查询、判重)。
+     */
+    public static List<Long> equivalentProjectIds(Long projectId) {
+        if (projectId == null || projectId == 0L) {
+            return Collections.emptyList();
+        }
+        if (projectId.equals(1L) || projectId.equals(28L)) {
+            return PROJECT_GROUP_1_AND_28;
+        }
+        return Collections.singletonList(projectId);
+    }
+
+    public static boolean isInProjectGroup1And28(Long projectId) {
+        return projectId != null && (projectId.equals(1L) || projectId.equals(28L));
+    }
+}