Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

yumeng 4 tahun lalu
induk
melakukan
04e9a0874b

+ 23 - 0
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/JsonResourceUtil.java

@@ -49,6 +49,29 @@ public class JsonResourceUtil {
         return json;
     }
 
+    //json文件转化为JSONArray
+    public static JSONArray getJsonArrFromResource(String filename) {
+        JSONArray json = null;
+        if (!filename.contains(".json")) {
+            filename += ".json";
+        }
+        try {
+            ClassPathResource classPathResource = new ClassPathResource(filename);
+            if (classPathResource.exists()) {
+                InputStream inputStream = classPathResource.getInputStream();
+                String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
+                json = JSON.parseArray(content);
+            } else {
+                logger.info("file not exist!");
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            logger.info("readFileToString" + e.getMessage());
+        }
+        return json;
+    }
+
     public static Map<String, Map<String, Object>> jsonToMap(Object jsonObj) {
         JSONObject jsonObject = JSONObject.parseObject(jsonObj.toString());
         Map<String, Map<String, Object>> mapMap = new HashMap<>();

+ 9 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiStrategyServiceImpl.java

@@ -87,8 +87,17 @@ public class AiStrategyServiceImpl implements IAiStrategyService {
         // {'highQualityMaterial':{'days':7, 'num':5},'newMaterialNum':5}
         // TODO 更新该账户下的 ctop_kuaishou_video_get 数据
 
+        // 获取当天零点到现在的非素造的视频
         kuaishouInterfaceService.getVideoList(token,DateUtils.date2Str(),DateUtils.date2Str());
 
+        /*// 获取当天零点到现在的素造视频
+        String startDate = DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss");
+        // 时间差,单位为分钟
+        int dimeDiff = 5;
+        Date now = new Date();
+        String endDate = DateUtils.formatDate(new Date(now.getTime() - dimeDiff*60*1000),"yyyy-MM-dd HH:mm:ss");
+        kuaishouInterfaceService.getSuZaoList(token.getAccessToken(), token.getAccountId(), 1, startDate, endDate)));*/
+
         JSONObject MaterialSelectMethod = JSONObject.parseObject(strategyTemplate.getMaterialSelectMethod());
         List<KuaiShouVideoGet> newVideos = new ArrayList<KuaiShouVideoGet>();
         List<KuaiShouVideoGet> highQualityVideos = new ArrayList<KuaiShouVideoGet>();

+ 25 - 0
jeecg-boot-module-system/src/main/resources/ads/timing-task.json

@@ -0,0 +1,25 @@
+[
+  {
+    "accountId": "9556344",
+    "marketing_goal": "2",
+    "app_store": "[\"huawei\",\"oppo\",\"vivo\",\"xiaomi\",\"meizu\",\"smartisan\"]",
+    "use_app_market":"1",
+    "app_ids": "[2817201]",
+    "region": "[]",
+    "ages_range": "[18, 24, 31, 41, 50]",
+    "gender": 0,
+    "platform_os": 0,
+    "custom_crowd":"2",
+    "population": "[]",
+    "exclude_population": "[11950861, 11814320]",
+    "begin_time": "当天",
+    "bid_type": 10,
+    "ocpx_action_type":180,
+    "cpa_bid": 27000,
+    "scene_id": "[6, 7]",
+    "site_id": "[{\"appId\":2817201,\"siteId\":\"\"}]",
+    "impression_url": "https://adtracker.surge.alibaba.com/monitor.htm?channel=3&taskId=4&app=7&action=1&adid=__DID__&adName=__DNAME__&cid=__CID__&imeiMd5=__IMEI2__&idfaMd5=__IDFA2__&oaid=__OAID__&callbackUrl=__CALLBACK__&groupId=__AID__&csite=__CSITE__&androidIdMd5=__ANDROIDID2__&timestamp=__TS__&mac1Md5=__MAC2__&macMd5=__MAC3__&ip=__IP__&translationTag=1&serviceProviderName=Huichuang.wz",
+    "click_track_url": "https://adtracker.surge.alibaba.com/monitor.htm?channel=3&taskId=4&app=7&action=1&adid=__DID__&adName=__DNAME__&cid=__CID__&imeiMd5=__IMEI2__&idfaMd5=__IDFA2__&oaid=__OAID__&callbackUrl=__CALLBACK__&groupId=__AID__&csite=__CSITE__&androidIdMd5=__ANDROIDID2__&timestamp=__TS__&mac1Md5=__MAC2__&macMd5=__MAC3__&ip=__IP__&translationTag=1&serviceProviderName=Huichuang.wz",
+    "actionbar_click_url": "https://adtracker.surge.alibaba.com/monitor.htm?channel=3&taskId=4&app=7&action=2&adid=__DID__&adName=__DNAME__&cid=__CID__&imeiMd5=__IMEI2__&idfaMd5=__IDFA2__&oaid=__OAID__&callbackUrl=__CALLBACK__&groupId=__AID__&csite=__CSITE__&androidIdMd5=__ANDROIDID2__&timestamp=__TS__&mac1Md5=__MAC2__&macMd5=__MAC3__&ip=__IP__&translationTag=1&serviceProviderName=NewHuichuang.wz"
+  }
+]

+ 22 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouAiAdsNewMaterialCreativityJob.java

@@ -0,0 +1,22 @@
+package cn.com.ctop.job.kuaishou.handler;
+
+
+public class KuaishouAiAdsNewMaterialCreativityJob {
+
+    //1、获取基本信息
+
+    // 2、获取执行 素造 和 非素造的 同步数据服务
+
+    // 3、获取5分钟类,ctop_kuaishou_video_get 的视频数据,记为 N,如果有数据则执行下面步骤
+
+    //2、判断该账户下有没有“上新”计划,没有则创建一个“上新”计划
+
+    //3、获取“上新”计划的最新的广告组
+    // 3.1 最新广告组里面的创意个数 记为 M
+    // 3.2 最新广告组可以增加的创意个数 15 - M
+    // 3.3 N - (15 - M) 个视频个数,按照mod15 之后的商 和 余数 来创建广告组
+
+
+
+
+}