Browse Source

人群包功能开发

zhaoxian 4 years ago
parent
commit
5866cbcc4d

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

@@ -34,4 +34,6 @@ public interface KuaishouCrowdPackMapper extends BaseMapper<KuaishouCrowdPack> {
     void replaceBatch(@Param(value = "list") List<KuaishouCrowdPack> list);
 
     Long queryProjectCount(@Param(value = "signature") String signature);
+
+    KuaishouCrowdPack queryByAccountId(@Param(value = "accountId") Long accountId,@Param(value = "orientationId") Long orientationId);
 }

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

@@ -188,6 +188,14 @@
               GROUP BY project_id) t
     </select>
 
+    <select id="queryByAccountId" resultType="cn.com.ctop.kuaishou.modules.ai.entity.KuaishouCrowdPack">
+        SELECT *
+        FROM ctop_kuaishou_crowd_package
+        where orientation_id = #{orientationId}
+          AND account_id = #{accountId}
+          and data_status = 1
+    </select>
+
     <update id="updateBatch">
         <foreach collection="details" separator=";" item="item">
             update ctop_kuaishou_crowd_package
@@ -199,7 +207,6 @@
 
     <insert id="replaceBatch">
         replace into ctop_kuaishou_crowd_package(
-        id,
         account_id,
         stat_date,
         orientation_id,
@@ -213,14 +220,11 @@
         cover_num,
         record_size,
         match_size,
-        create_time,
-        update_time,
         message
         )
         values
         <foreach collection="list" item="li" separator=",">
             (
-            #{li.id},
             #{li.accountId},
             #{li.statDate},
             #{li.orientationId},
@@ -234,8 +238,6 @@
             #{li.coverNum},
             #{li.recordSize},
             #{li.matchSize},
-            #{li.createTime},
-            #{li.updateTime},
             #{li.message}
             )
         </foreach>

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

@@ -81,7 +81,6 @@ public class KuaishouCrowdPackServiceImpl extends ServiceImpl<KuaishouCrowdPackM
         if (!url.contains("http")) {
             url = "https:".concat(url);
         }
-        System.out.println(url);
         String newFileUrl = LoadFileUtil.downLoadFromUrl(url, path.toString());
         String md5 = null;
         try {
@@ -141,25 +140,33 @@ public class KuaishouCrowdPackServiceImpl extends ServiceImpl<KuaishouCrowdPackM
             if (!Check.isNull(data)) {
                 JSONArray success = data.getJSONArray("success");
                 for (Object account : success) {
-                    kuaishouCrowdPack.setAccountId((Long) account);
+                    kuaishouCrowdPack.setAccountId(Long.valueOf(String.valueOf(account)));
                     kuaishouCrowdPack.setMessage("PUSH OK");
                     kuaishouCrowdPack.setStatDate(DateUtils.formatDate(new Date()));
                     list.add(kuaishouCrowdPack);
                 }
                 JSONArray fail = data.getJSONArray("fail");
                 for (Object account : fail) {
-                    kuaishouCrowdPack.setAccountId((Long) account);
-                    kuaishouCrowdPack.setMessage("推送失败");
-                    kuaishouCrowdPack.setStatDate(DateUtils.formatDate(new Date()));
-                    kuaishouCrowdPack.setStatus(null);
-                    kuaishouCrowdPack.setType(null);
-                    kuaishouCrowdPack.setCoverNum(null);
-                    kuaishouCrowdPack.setRecordSize(null);
-                    kuaishouCrowdPack.setMatchSize(null);
-                    list.add(kuaishouCrowdPack);
+                    Long aaccount = Long.valueOf(String.valueOf(account));
+                    KuaishouCrowdPack crowdPack = crowdPackMapper.queryByAccountId(aaccount, orientationId);
+                    if (Check.isNull(crowdPack)) {
+                        kuaishouCrowdPack.setAccountId(aaccount);
+                        kuaishouCrowdPack.setMessage("推送失败");
+                        kuaishouCrowdPack.setStatDate(DateUtils.formatDate(new Date()));
+                        kuaishouCrowdPack.setStatus(null);
+                        kuaishouCrowdPack.setType(null);
+                        kuaishouCrowdPack.setCoverNum(null);
+                        kuaishouCrowdPack.setRecordSize(null);
+                        kuaishouCrowdPack.setMatchSize(null);
+                        list.add(kuaishouCrowdPack);
+                    }
+                }
+                if (list.size() > 0) {
+                    crowdPackMapper.replaceBatch(list);
                 }
-                crowdPackMapper.replaceBatch(list);
             }
+        } else {
+            return Result.error(jsonObject.getString("message"));
         }
         return Result.ok("success");
     }