Browse Source

人群包功能开发,相关账户数量

zhaoxian 4 years ago
parent
commit
342f27d8ee

+ 28 - 25
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouCrowdPackMapper.xml

@@ -174,25 +174,28 @@
                           INNER JOIN ctop_project t3 ON t3.id = t2.project_id
                  where signature = #{signature}
                    and data_status = 1
+                   AND `status` !=2
                  GROUP BY t1.account_id
              ) t1
                  LEFT JOIN(
             SELECT t.account_id, COUNT(1) as 'count'
             FROM (
-                     SELECT t1.account_id, COUNT(1)
+                     SELECT t1.account_id, signature
                      FROM ctop_kuaishou_crowd_package t1
-                              LEFT JOIN (
+                              INNER JOIN (
                          SELECT t1.account_id
                          FROM ctop_kuaishou_crowd_package t1
                                   INNER JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
                          where signature = #{signature}
+                           and data_status = 1
+                           AND `status` !=2
                          GROUP BY account_id
                      ) t2 ON t1.account_id = t2.account_id
                      where signature is not NULL
+                       AND data_status = 1
                        AND `status` != 2
-                        AND data_status = 1
-                        AND t1.account_id is not null
-                     GROUP BY signature, t1.account_id) t
+                     GROUP BY signature, t1.account_id
+                 ) t
             GROUP BY t.account_id
         ) t2 ON t1.account_id = t2.account_id
     </select>
@@ -204,42 +207,42 @@
         FROM (
                  SELECT t.project_id, COUNT(1) as  'accountCount'
                  FROM (
-                          SELECT t2.project_id, t1.account_id
-                          FROM ctop_kuaishou_crowd_package t1
-                                   INNER JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
+                          SELECT t1.project_id, t1.account_id
+                          FROM ctop_user_allocation t1
                                    INNER JOIN(
-                              SELECT project_id, t3.project_name
+                              SELECT t1.account_id
                               FROM ctop_kuaishou_crowd_package t1
                                        INNER JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
-                                       INNER JOIN ctop_project t3 ON t3.id = t2.project_id
                               where signature = #{signature}
-                              GROUP BY project_id) t3 ON t2.project_id = t3.project_id
-                          WHERE `status` != 2
-                            AND data_status =1
-                          GROUP BY t1.account_id, project_id
+                                AND data_status = 1
+                                AND `status` !=2
+                              GROUP BY t1.account_id
+                          ) t2 ON t2.account_id = t1.account_id
                       ) t
                  GROUP BY t.project_id
              ) tt
                  LEFT JOIN
              (
-                 SELECT project_id, COUNT(1) as 'count'
+                 SELECT t.project_id, t.account_id, COUNT(1) as 'count'
                  FROM (
-                          SELECT t2.project_id, signature
+                          SELECT t3.project_id, t1.account_id, signature
                           FROM ctop_kuaishou_crowd_package t1
-                                   INNER JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
-                                   INNER JOIN(
-                              SELECT project_id, t3.project_name
+                                   INNER JOIN (
+                              SELECT t1.account_id
                               FROM ctop_kuaishou_crowd_package t1
                                        INNER JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
-                                       INNER JOIN ctop_project t3 ON t3.id = t2.project_id
                               where signature = #{signature}
-                              GROUP BY project_id) t3 ON t2.project_id = t3.project_id
-                          WHERE `status` != 2
+                                AND data_status = 1
+                                AND `status` !=2
+                              GROUP BY t1.account_id
+                          ) t2 ON t1.account_id = t2.account_id
+                                   INNER JOIN ctop_user_allocation t3 ON t3.account_id = t2.account_id
+                          where signature is not NULL
                             AND data_status = 1
-														AND signature is NOT NULL
-                          GROUP BY project_id, signature
+                            AND `status` != 2
+                          GROUP BY signature, t1.account_id, t3.project_id
                       ) t
-                 GROUP BY t.project_id
+                 GROUP BY t.account_id, t.project_id
              ) tt2 ON tt2.project_id = tt.project_id
                  LEFT JOIN ctop_project tt3 ON tt2.project_id = tt3.id
     </select>

+ 1 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouCrowdPackServiceImpl.java

@@ -209,6 +209,7 @@ public class KuaishouCrowdPackServiceImpl extends ServiceImpl<KuaishouCrowdPackM
                                     }
                                 }
                                 if (datas.size() > 0) {
+                                    log.info("=====================修改日志:{}",datas.toString());
                                     crowdPackMapper.updateBatch(datas);
                                 }
                             }