xuqiang 1 жил өмнө
parent
commit
a98d5b2e8a

+ 2 - 0
src/main/java/com/ydtech/modules/partner/dao/PartnerUserMapper.java

@@ -148,4 +148,6 @@ public interface PartnerUserMapper extends BaseMapper<PartnerUser> {
     Set<String> querySubordinate(String levelUserId);
 
     Set<String> getLevelAllUserId(String userId);
+
+
 }

+ 3 - 0
src/main/java/com/ydtech/modules/partner/model/PartnerRatio.java

@@ -25,6 +25,9 @@ public class PartnerRatio {
     @ApiModelProperty(value = "保费")
     private boolean bf;
 
+    @ApiModelProperty(value = "个人")
+    private boolean gr;
+
     @ApiModelProperty(value = "id")
     private String rulesRatioId;
 

+ 39 - 28
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerUserServiceImpl.java

@@ -569,24 +569,7 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         //出单时间
         jsonObject.put("orderTime",partnerPremiumDetails.getCreateTime());
         //佣金比例
-        ArrayList<Object> list = new ArrayList<>();
-        for (PartnerPremiumDetails detail : details) {
-            JSONObject object = new JSONObject();
-            if (detail.getSource() == 1) {
-                object.put("grade","我的创始人佣金");
-            }else if (detail.getSource() == 2) {
-                object.put("grade","我的管理人佣金");
-            }else if (detail.getSource() == 3) {
-                object.put("grade","我的合伙人佣金");
-            }else if (detail.getSource() == 4) {
-                object.put("grade","我的工作室佣金");
-            }else {
-
-            }
-            object.put("commission",detail.getSumpremium() + "*" + detail.getProportional() + "=" + detail.getExtractFee());
-            list.add(object);
-        }
-        jsonObject.put("commissionRatio",list);
+        jsonObject.put("commissionRatio",getObjects(details));
         return HttpResult.ok(jsonObject);
     }
 
@@ -962,24 +945,18 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
 
         while (grade < 7) {
             if (CollectionUtil.isNotEmpty(currentUserIds)) {
-                currentUserIds = baseMapper.selectJuniorList(grade, currentUserIds, params);
+                currentUserIds = baseMapper.selectJuniorList(grade, currentUserIds,params);
             }
-            processGrade(list, grade, currentUserIds, params, rule);
+            processGrade(list, grade, currentUserIds,rule,params);
             grade++;
         }
         return list;
     }
 
-    public void processGrade(List<Map<String, Object>> list, int grade, List<String> currentUserIds, AppHomeParams params, Map<Integer, String> rule) {
+    public void processGrade(List<Map<String, Object>> list, int grade, List<String> currentUserIds, Map<Integer, String> rule,AppHomeParams params) {
         Map<String, Object> map = new HashMap<>();
         map.put("grade", grade);
         map.put("gradeName", rule.getOrDefault(grade, ""));
-        Integer count = 0;
-
-//        for (String id : currentUserIds) {
-//            count += baseMapper.userCountVo(id, params);
-//        }
-
         map.put("count", currentUserIds.size());
         list.add(map);
     }
@@ -1031,5 +1008,39 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         return partnerPartnerAccountMapper.selectByUserId(userId);
     }
 
-
+    private static List<JSONObject> getObjects(List<PartnerPremiumDetails> details) {
+        List<JSONObject> list = new ArrayList<>();
+        for (PartnerPremiumDetails detail : details) {
+            if (detail == null) {
+                continue;
+            }
+            JSONObject object = new JSONObject();
+            int source = detail.getSource();
+            String grade;
+            switch (source) {
+                case 1:
+                    grade = "我的创始人佣金";
+                    break;
+                case 2:
+                    grade = "我的管理人佣金";
+                    break;
+                case 3:
+                    grade = "我的合伙人佣金";
+                    break;
+                case 4:
+                    grade = "我的工作室佣金";
+                    break;
+                default:
+                    grade = null;
+                    break;
+            }
+            if (grade == null) {
+                continue;
+            }
+            object.put("grade", grade);
+            object.put("commission", String.format("%s*%s=%s",detail.getSumpremium(), detail.getProportional(), detail.getExtractFee()));
+            list.add(object);
+        }
+        return list;
+    }
 }

+ 11 - 5
src/main/resources/mapper/modules/partner/PartnerUserMapper.xml

@@ -595,23 +595,28 @@ select grade,grade_name from  partner_rule
 
 
     <select id="selectJuniorList" resultType="java.lang.String">
-        select user_id from partner_user where grade = #{grade} AND referrer_id in
+        SELECT
+        p.user_id
+        FROM
+        partner_user p
+        LEFT JOIN sys_user u ON u.id = p.user_id
+        WHERE u.`status` = 1 AND p.grade = #{grade} AND p.referrer_id in
         <foreach collection="ids" item="item" index="index" separator="," open="(" close=")">
             #{item}
         </foreach>
         <if test="params != null">
             <if test="params.timeFrame != null and params.timeFrame.length > 0">
-                AND create_time BETWEEN #{params.timeFrame[0]} AND #{params.timeFrame[1]}
+                AND p.create_time BETWEEN #{params.timeFrame[0]} AND #{params.timeFrame[1]}
             </if>
             <if test="params.countCycle != null">
                 <if test="params.countCycle == 'Day'">
-                    AND DATE(create_time) = CURDATE()
+                    AND DATE(p.create_time) = CURDATE()
                 </if>
                 <if test="params.countCycle == 'Week'">
-                    AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE(), 1)
+                    AND YEARWEEK(p.create_time, 1) = YEARWEEK(CURDATE(), 1)
                 </if>
                 <if test="params.countCycle == 'Month'">
-                    AND DATE_SUB(CURDATE(), INTERVAL 30 DAY) &lt;= date(create_time)
+                    AND DATE_SUB(CURDATE(), INTERVAL 30 DAY) &lt;= date(p.create_time)
                 </if>
             </if>
         </if>
@@ -1094,6 +1099,7 @@ select grade,grade_name from  partner_rule
         )
         SELECT user_id FROM cte_name
     </select>
+    <select id="countLevel" resultType="java.lang.Integer"></select>
 
 
 </mapper>