Kaynağa Gözat

代理人3.0app开发

xuqiang 1 yıl önce
ebeveyn
işleme
44ab33baab

+ 47 - 0
src/main/java/com/ydtech/modules/partner/utils/UnlockedStatusUtils.java

@@ -0,0 +1,47 @@
+package com.ydtech.modules.partner.utils;
+
+import com.ydtech.modules.partner.model.PartnerUser;
+import com.ydtech.modules.partner.model.vo.MyUserLevel;
+import java.util.Collections;
+import java.util.Map;
+
+
+public class UnlockedStatusUtils {
+
+    public static void handleUnregisteredCase(Integer max, Integer grade, Map<Integer, PartnerUser> userMap, MyUserLevel level) {
+        if (isUnlockedForUnregistered(max, grade, userMap)) {
+            level.setUnlockedStatus(true);
+        }
+        level.setProportional("0");
+    }
+
+    public static boolean isUnlockedForUnregistered(Integer max, Integer grade, Map<Integer, PartnerUser> userMap) {
+        if (grade == null) return false;
+        if (max == null) {
+            return grade == (Collections.min(userMap.keySet()) - 1);
+        } else {
+            return grade == (max + 1);
+        }
+    }
+
+    public static void handleRegisteredCase(Integer max, Integer partnerGrade, MyUserLevel level) {
+        if (isUnlockedForRegistered(max, partnerGrade)) {
+            level.setUnlockedStatus(true);
+        }
+    }
+
+    public static boolean isUnlockedForRegistered(Integer max, Integer partnerGrade) {
+        if (partnerGrade == null) return false;
+        if (max == null) return true;
+
+        switch (max) {
+            case 3:
+            case 4:
+                return partnerGrade == 3 || partnerGrade == 4;
+            case 2:
+                return partnerGrade == 2 || partnerGrade == 3 || partnerGrade == 4;
+            default:
+                return false;
+        }
+    }
+}