소스 검색

人群包功能开发,状态优先级排列显示

zhaoxian 4 년 전
부모
커밋
0a8bff30ca

+ 43 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/KuaishouCrowdPackController.java

@@ -83,6 +83,14 @@ public class KuaishouCrowdPackController {
         return result;
     }
 
+    /**
+     * 人群包列表
+     *
+     * @param
+     * @return org.jeecg.common.api.vo.Result<java.lang.Object>
+     * @throws
+     * @author ZHAOXA
+     */
     @GetMapping(value = "/queryPageList")
     public Result<Object> queryPageList(KuaishouCrowdPack kuaishouCrowdPack,
                                         @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@@ -96,6 +104,14 @@ public class KuaishouCrowdPackController {
         return Result.error("查询失败");
     }
 
+    /**
+     * 相关账户查询
+     *
+     * @param
+     * @return org.jeecg.common.api.vo.Result<java.lang.Object>
+     * @throws
+     * @author ZHAOXA
+     */
     @GetMapping(value = "/queryRel")
     public Result<Object> queryRel(String type, String signature,
                                    @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@@ -112,6 +128,14 @@ public class KuaishouCrowdPackController {
         return Result.error("查询失败");
     }
 
+    /**
+     * 查询原因
+     *
+     * @param
+     * @return org.jeecg.common.api.vo.Result<java.lang.Object>
+     * @throws
+     * @author ZHAOXA
+     */
     @GetMapping(value = "/queryFailReason")
     public Result<Object> queryFailReason(String signature,
                                           @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@@ -126,6 +150,25 @@ public class KuaishouCrowdPackController {
     }
 
     /**
+     * 上传前的人群包校验
+     *
+     * @param
+     * @return org.jeecg.common.api.vo.Result<java.lang.Object>
+     * @throws
+     * @author ZHAOXA
+     */
+    @GetMapping(value = "/checkCrowdPackage")
+    public Result<Object> checkCrowdPackage(String signature) {
+        try {
+            return kuaishouCrowdPackService.checkCrowdPackage(signature);
+        } catch (Exception e) {
+            log.error("查询异常,", e.getMessage());
+            e.printStackTrace();
+        }
+        return Result.error("查询失败");
+    }
+
+    /**
      * 上传人群包
      *
      * @param kuaishouCrowdPack

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

@@ -44,18 +44,7 @@
         WHEN 8 THEN 'OAID_MD5'
         ELSE ''
         END as 'typeStr',
-        t1.`status`,
-        CASE t1.`status`
-        WHEN 0 THEN '计算中'
-        WHEN 1 THEN '已生效'
-        WHEN 2 THEN '已删除'
-        WHEN 3 THEN '推送中'
-        WHEN 4 THEN '已推送'
-        WHEN 5 THEN '计算失败'
-        WHEN 6 THEN '推送失败'
-        WHEN 7 THEN '已失效'
-        ELSE ''
-        END as 'statusStr',
+        t4.statusStr,
         IFNULL(t1.signature,'') as 'signature',
         IFNULL(cover_num,0) as 'coverNum'
         FROM ctop_kuaishou_crowd_package t1
@@ -67,6 +56,47 @@
         where orientation_id is not null
         GROUP BY project_id) t
         ) t3 ON t1.signature = t3.signature
+        left join
+        (
+        SELECT signature,
+        CASE maxlevel
+        WHEN 66 THEN '计算中'
+        WHEN 77 THEN '已生效'
+        WHEN 88 THEN '推送中'
+        WHEN 99 THEN '已推送'
+        WHEN 33 THEN '计算失败'
+        WHEN 44 THEN '推送失败'
+        WHEN 55 THEN '已失效'
+        ELSE ''
+        END as 'statusStr',
+        CASE maxlevel
+        WHEN 66 THEN 0
+        WHEN 77 THEN 1
+        WHEN 88 THEN 3
+        WHEN 99 THEN 4
+        WHEN 33 THEN 5
+        WHEN 44 THEN 6
+        WHEN 55 THEN 7
+        ELSE ''
+        END as 'status'
+        FROM (
+        SELECT signature,max(level) as 'maxlevel' FROM (
+        SELECT signature,
+        CASE t1.`status`
+        WHEN 0 THEN 66
+        WHEN 1 THEN 77
+        WHEN 3 THEN 88
+        WHEN 4 THEN 99
+        WHEN 5 THEN 33
+        WHEN 6 THEN 44
+        WHEN 7 THEN 55
+        ELSE ''
+        END as 'level'
+        FROM ctop_kuaishou_crowd_package t1
+        where signature IN(
+        SELECT signature
+        FROM ctop_kuaishou_crowd_package t1
+        LEFT JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
         WHERE t1.`status` is not null
         AND t1.`status`!=2
         and t1.data_status = 1
@@ -81,6 +111,26 @@
             AND t1.`status` =#{status}
         </if>
         GROUP BY t1.signature
+        )
+        GROUP BY t1.signature,`status`
+        )t1
+        GROUP BY signature
+        ) t2
+        ) t4 ON t1.signature = t4.signature
+        WHERE t1.`status` is not null
+        AND t1.`status`!=2
+        and t1.data_status = 1
+        AND t1.signature is not null
+        <if test="orientationName !=null">
+            AND orientation_name LIKE CONCAT('%',#{orientationName},'%')
+        </if>
+        <if test="accountName !=null">
+            AND t2.auth_name LIKE CONCAT('%',#{accountName},'%')
+        </if>
+        <if test="status !=null">
+            AND t4.`status` =#{status}
+        </if>
+        GROUP BY t1.signature
         order by t1.update_time desc
     </select>
 
@@ -101,9 +151,23 @@
     </select>
 
     <select id="queryRelAccounts" resultType="com.alibaba.fastjson.JSONObject">
-        SELECT IFNULL(t1.project_name, '') AS 'projectName' ,IFNULL(t1.auth_name, '') AS 'accountName',t2.count
+        SELECT IFNULL(t1.project_name, '') AS 'projectName' ,
+               IFNULL(t1.auth_name, '') AS 'accountName',
+               t2.count,
+               t1.`status`,
+               CASE t1.`status`
+                   WHEN 0 THEN '计算中'
+                   WHEN 1 THEN '已生效'
+                   WHEN 2 THEN '已删除'
+                   WHEN 3 THEN '推送中'
+                   WHEN 4 THEN '已推送'
+                   WHEN 5 THEN '计算失败'
+                   WHEN 6 THEN '推送失败'
+                   WHEN 7 THEN '已失效'
+                   ELSE ''
+                   END as 'statusStr'
         FROM (
-                 SELECT t2.auth_name, t2.account_id, t3.project_name
+                 SELECT t2.auth_name, t2.account_id, t3.project_name, t1.status
                  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
@@ -123,7 +187,7 @@
                          GROUP BY account_id
                      ) t2 ON t1.account_id = t2.account_id
                      where signature is not NULL
-                         AND `status` != 2
+                       AND `status` != 2
                         AND data_status = 1
                         AND t1.account_id is not null
                      GROUP BY signature, t1.account_id) t

+ 2 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/IKuaishouCrowdPackService.java

@@ -26,4 +26,6 @@ public interface IKuaishouCrowdPackService extends IService<KuaishouCrowdPack> {
     Result<Object> queryFailReason(String signature, Integer pageNo, Integer pageSize);
 
     Result<Object> updateDataStatus(KuaishouCrowdPack kuaishouCrowdPack);
+
+    Result<Object> checkCrowdPackage(String signature);
 }

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

@@ -18,6 +18,7 @@ import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -253,4 +254,22 @@ public class KuaishouCrowdPackServiceImpl extends ServiceImpl<KuaishouCrowdPackM
         }
         return Result.ok("删除失败");
     }
+
+    @Override
+    public Result<Object> checkCrowdPackage(String signature) {
+        QueryWrapper<KuaishouCrowdPack> wrapper = new QueryWrapper<>();
+        wrapper.eq("signature", signature);
+        wrapper.eq("data_status", 1);
+        wrapper.last("limit 1");
+        KuaishouCrowdPack kuaishouCrowdPack = crowdPackMapper.selectOne(wrapper);
+        Result result = new Result();
+        if (Check.isNull(kuaishouCrowdPack)) {
+            return Result.ok("success");
+        }
+        result.setSuccess(true);
+        result.setCode(201);
+        result.setMessage("后台保存过该人群包,名称为:" + kuaishouCrowdPack.getOrientationName());
+        result.setResult(kuaishouCrowdPack);
+        return result;
+    }
 }