Browse Source

快手-人群报表-城市;性别;年龄

yangzian 3 years ago
parent
commit
2db88a1437

+ 18 - 1
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouAudienceReportDaily.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.job.kuaishou.data.entity;
 
+import cn.com.ctop.job.kuaishou.data.utils.Check;
 import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -11,6 +12,10 @@ import lombok.experimental.Accessors;
 import org.jeecgframework.poi.excel.annotation.Excel;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 快手-人群报表
@@ -342,6 +347,15 @@ public class KuaishouAudienceReportDaily {
   //省份id',
   private long provinceId;
 
+  //城市
+  private String city;
+  private String cityId;
+  //性别
+  private String gender;
+  private String genderId;
+  //年龄
+  private String ageSegment;
+  private String ageSegmentId;
 
 
 
@@ -349,7 +363,10 @@ public class KuaishouAudienceReportDaily {
     KuaishouAudienceReportDaily reportDaily = new KuaishouAudienceReportDaily();
     reportDaily.setAdvertiserId(returnJson.getLong("advertiser_id"));
     reportDaily.setStatDate(DateUtils.getDateInteger(returnJson.getString("stat_date")));
-    reportDaily.setProvince(returnJson.getString("province"));
+    reportDaily.setProvince(!returnJson.containsKey("province") ? "" : returnJson.getString("province"));
+    reportDaily.setCity(!returnJson.containsKey("city") ? "" : returnJson.getString("city"));
+    reportDaily.setGender(!returnJson.containsKey("gender") ? "" : returnJson.getString("gender"));
+    reportDaily.setAgeSegment(!returnJson.containsKey("age_segment") ? "" : returnJson.getString("age_segment"));
     reportDaily.setCharge(returnJson.getBigDecimal("charge"));
     reportDaily.setShow(returnJson.getLong("show"));
     reportDaily.setPhotoClick(returnJson.getLong("photo_click"));

+ 9 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouAudienceReportDailyMapper.java

@@ -18,4 +18,13 @@ public interface KuaishouAudienceReportDailyMapper extends BaseMapper<KuaishouAu
   //快手-人群报表--省份
   void replaceBatchKsAudienceProvince(@Param("addList") List<KuaishouAudienceReportDaily> addList);
 
+  //快手-人群报表--城市
+  void replaceBatchKsAudienceCity(@Param("addList") List<KuaishouAudienceReportDaily> addList);
+
+  //快手-人群报表--年龄
+  void replaceBatchKsAudienceAge(@Param("addList") List<KuaishouAudienceReportDaily> addList);
+
+  //快手-人群报表--性别
+  void replaceBatchKsAudienceGender(@Param("addList") List<KuaishouAudienceReportDaily> addList);
+
 }

+ 842 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouAudienceReportDailyMapper.xml

@@ -282,4 +282,846 @@
              )
          </foreach>
      </insert>
+
+
+
+    <!-- 快手-人群报表-城市-->
+    <insert id="replaceBatchKsAudienceCity">
+        replace into kuaishou_audience_city_report_daily(
+        `advertiser_id`,
+        `stat_date`,
+        `campaign_id`,
+        `unit_id`,
+        `creative_id`,
+        `province`,
+        `city_id`,
+        `city`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `event_pay_first_day`,
+        `event_pay_purchase_amount_first_day`,
+        `event_pay_first_day_roi`,
+        `event_pay`,
+        `event_pay_purchase_amount`,
+        `event_pay_roi`,
+        `event_register`,
+        `event_register_cost`,
+        `event_register_ratio`,
+        `event_jin_jian_app`,
+        `event_jin_jian_app_cost`,
+        `event_credit_grant_app`,
+        `event_credit_grant_app_cost`,
+        `event_credit_grant_app_ratio`,
+        `event_order_paid`,
+        `event_order_paid_purchase_amount`,
+        `event_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `event_jin_jian_landing_page`,
+        `event_jin_jian_landing_page_cost`,
+        `event_credit_grant_landing_page`,
+        `event_credit_grant_landing_page_cost`,
+        `event_credit_grant_landing_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`
+        <!--`event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `ad_scene`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+-->
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.campaignId},
+            #{add.unitId},
+            #{add.creativeId},
+            #{add.province},
+            #{add.cityId},
+            #{add.city},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio}
+            <!-- #{add.eventAppInvoked},
+             #{add.eventAppInvokedCost},
+             #{add.eventAppInvokedRatio},
+             #{add.eventCreditGrantLandingRatio},
+             #{add.play5sRatio},
+             #{add.playEndRatio},
+             #{add.eventNewUserPay},
+             #{add.eventNewUserPayCost},
+             #{add.eventNewUserPayRatio},
+             #{add.click1kCost},
+             #{add.adProductCnt},
+             #{add.eventGoodsView},
+             #{add.merchantRecoFans},
+             #{add.eventOrderAmountRoi},
+             #{add.eventGoodsViewCost},
+             #{add.merchantRecoFansCost},
+             #{add.eventButtonClick},
+             #{add.eventButtonClickCost},
+             #{add.eventButtonClickRatio},
+             #{add.eventOrderPaidRoi},
+             #{add.eventNewUserJinjianApp},
+             #{add.eventNewUserJinjianAppCost},
+             #{add.eventNewUserJinjianAppRoi},
+             #{add.eventNewUserCreditGrantApp},
+             #{add.eventNewUserCreditGrantAppCost},
+             #{add.eventNewUserCreditGrantAppRoi},
+             #{add.eventNewUserJinjianPage},
+             #{add.eventNewUserJinjianPageCost},
+             #{add.eventNewUserJinjianPageRoi},
+             #{add.eventNewUserCreditGrantPage},
+             #{add.eventNewUserCreditGrantPageCost},
+             #{add.eventNewUserCreditGrantPageRoi},
+             #{add.eventAppointForm},
+             #{add.eventAppointFormCost},
+             #{add.eventAppointFormRatio},
+             #{add.eventAppointJumpClick},
+             #{add.eventAppointJumpClickCost},
+             #{add.eventAppointJumpClickRatio},
+             #{add.unionEventPayPurchaseAmount7d},
+             #{add.unionEventPayPurchaseAmount7dRoi},
+             #{add.placementType},
+             #{add.adScene},
+             #{add.eventOrderSuccessed},
+             #{add.adPhotoPlayed10sRatio},
+             #{add.keyActionCost},
+             #{add.eventAddShoppingCartCost},
+             #{add.eventAdWatchTimesRatio},
+             #{add.eventOutboundCallCost},
+             #{add.eventOutboundCall},
+             #{add.actionNewRatio},
+             #{add.eventWatchAppAd},
+             #{add.eventMultiConversionCost},
+             #{add.eventPhoneCardActivate},
+             #{add.adPhotoPlayed75percentRatio},
+             #{add.keyActionRatio},
+             #{add.eventAdWatchTimesCost},
+             #{add.eventAddShoppingCart},
+             #{add.keyAction},
+             #{add.eventMultiConversion},
+             #{add.eventWechatConnected},
+             #{add.eventDspGiftForm},
+             #{add.eventIntentionConfirmed},
+             #{add.eventPhoneGetThrough},
+             #{add.eventMultiConversionRatio},
+             #{add.eventMeasurementHouse},
+             #{add.adPhotoPlayed2sRatio},
+             #{add.eventOutboundCallRatio},
+             #{add.eventAdWatchTimes}
+ -->
+            )
+        </foreach>
+    </insert>
+
+
+    <!-- 快手-人群报表-年龄-->
+    <insert id="replaceBatchKsAudienceAge">
+        replace into kuaishou_audience_age_report_daily(
+        `advertiser_id`,
+        `stat_date`,
+        `creative_id`,
+        `age_segment_id`,
+        `age_segment`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `event_pay_first_day`,
+        `event_pay_purchase_amount_first_day`,
+        `event_pay_first_day_roi`,
+        `event_pay`,
+        `event_pay_purchase_amount`,
+        `event_pay_roi`,
+        `event_register`,
+        `event_register_cost`,
+        `event_register_ratio`,
+        `event_jin_jian_app`,
+        `event_jin_jian_app_cost`,
+        `event_credit_grant_app`,
+        `event_credit_grant_app_cost`,
+        `event_credit_grant_app_ratio`,
+        `event_order_paid`,
+        `event_order_paid_purchase_amount`,
+        `event_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `event_jin_jian_landing_page`,
+        `event_jin_jian_landing_page_cost`,
+        `event_credit_grant_landing_page`,
+        `event_credit_grant_landing_page_cost`,
+        `event_credit_grant_landing_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`
+        <!--`event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `ad_scene`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+-->
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.creativeId},
+            #{add.ageSegmentId},
+            #{add.ageSegment},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio}
+            <!-- #{add.eventAppInvoked},
+             #{add.eventAppInvokedCost},
+             #{add.eventAppInvokedRatio},
+             #{add.eventCreditGrantLandingRatio},
+             #{add.play5sRatio},
+             #{add.playEndRatio},
+             #{add.eventNewUserPay},
+             #{add.eventNewUserPayCost},
+             #{add.eventNewUserPayRatio},
+             #{add.click1kCost},
+             #{add.adProductCnt},
+             #{add.eventGoodsView},
+             #{add.merchantRecoFans},
+             #{add.eventOrderAmountRoi},
+             #{add.eventGoodsViewCost},
+             #{add.merchantRecoFansCost},
+             #{add.eventButtonClick},
+             #{add.eventButtonClickCost},
+             #{add.eventButtonClickRatio},
+             #{add.eventOrderPaidRoi},
+             #{add.eventNewUserJinjianApp},
+             #{add.eventNewUserJinjianAppCost},
+             #{add.eventNewUserJinjianAppRoi},
+             #{add.eventNewUserCreditGrantApp},
+             #{add.eventNewUserCreditGrantAppCost},
+             #{add.eventNewUserCreditGrantAppRoi},
+             #{add.eventNewUserJinjianPage},
+             #{add.eventNewUserJinjianPageCost},
+             #{add.eventNewUserJinjianPageRoi},
+             #{add.eventNewUserCreditGrantPage},
+             #{add.eventNewUserCreditGrantPageCost},
+             #{add.eventNewUserCreditGrantPageRoi},
+             #{add.eventAppointForm},
+             #{add.eventAppointFormCost},
+             #{add.eventAppointFormRatio},
+             #{add.eventAppointJumpClick},
+             #{add.eventAppointJumpClickCost},
+             #{add.eventAppointJumpClickRatio},
+             #{add.unionEventPayPurchaseAmount7d},
+             #{add.unionEventPayPurchaseAmount7dRoi},
+             #{add.placementType},
+             #{add.adScene},
+             #{add.eventOrderSuccessed},
+             #{add.adPhotoPlayed10sRatio},
+             #{add.keyActionCost},
+             #{add.eventAddShoppingCartCost},
+             #{add.eventAdWatchTimesRatio},
+             #{add.eventOutboundCallCost},
+             #{add.eventOutboundCall},
+             #{add.actionNewRatio},
+             #{add.eventWatchAppAd},
+             #{add.eventMultiConversionCost},
+             #{add.eventPhoneCardActivate},
+             #{add.adPhotoPlayed75percentRatio},
+             #{add.keyActionRatio},
+             #{add.eventAdWatchTimesCost},
+             #{add.eventAddShoppingCart},
+             #{add.keyAction},
+             #{add.eventMultiConversion},
+             #{add.eventWechatConnected},
+             #{add.eventDspGiftForm},
+             #{add.eventIntentionConfirmed},
+             #{add.eventPhoneGetThrough},
+             #{add.eventMultiConversionRatio},
+             #{add.eventMeasurementHouse},
+             #{add.adPhotoPlayed2sRatio},
+             #{add.eventOutboundCallRatio},
+             #{add.eventAdWatchTimes}
+ -->
+            )
+        </foreach>
+    </insert>
+
+
+    <!-- 快手-人群报表-性别-->
+    <insert id="replaceBatchKsAudienceGender">
+        replace into kuaishou_audience_gender_report_daily(
+        `advertiser_id`,
+        `stat_date`,
+        `creative_id`,
+        `gender_id`,
+        `gender`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `event_pay_first_day`,
+        `event_pay_purchase_amount_first_day`,
+        `event_pay_first_day_roi`,
+        `event_pay`,
+        `event_pay_purchase_amount`,
+        `event_pay_roi`,
+        `event_register`,
+        `event_register_cost`,
+        `event_register_ratio`,
+        `event_jin_jian_app`,
+        `event_jin_jian_app_cost`,
+        `event_credit_grant_app`,
+        `event_credit_grant_app_cost`,
+        `event_credit_grant_app_ratio`,
+        `event_order_paid`,
+        `event_order_paid_purchase_amount`,
+        `event_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `event_jin_jian_landing_page`,
+        `event_jin_jian_landing_page_cost`,
+        `event_credit_grant_landing_page`,
+        `event_credit_grant_landing_page_cost`,
+        `event_credit_grant_landing_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`
+        <!--`event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `ad_scene`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+-->
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.creativeId},
+            #{add.genderId},
+            #{add.gender},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio}
+            <!-- #{add.eventAppInvoked},
+             #{add.eventAppInvokedCost},
+             #{add.eventAppInvokedRatio},
+             #{add.eventCreditGrantLandingRatio},
+             #{add.play5sRatio},
+             #{add.playEndRatio},
+             #{add.eventNewUserPay},
+             #{add.eventNewUserPayCost},
+             #{add.eventNewUserPayRatio},
+             #{add.click1kCost},
+             #{add.adProductCnt},
+             #{add.eventGoodsView},
+             #{add.merchantRecoFans},
+             #{add.eventOrderAmountRoi},
+             #{add.eventGoodsViewCost},
+             #{add.merchantRecoFansCost},
+             #{add.eventButtonClick},
+             #{add.eventButtonClickCost},
+             #{add.eventButtonClickRatio},
+             #{add.eventOrderPaidRoi},
+             #{add.eventNewUserJinjianApp},
+             #{add.eventNewUserJinjianAppCost},
+             #{add.eventNewUserJinjianAppRoi},
+             #{add.eventNewUserCreditGrantApp},
+             #{add.eventNewUserCreditGrantAppCost},
+             #{add.eventNewUserCreditGrantAppRoi},
+             #{add.eventNewUserJinjianPage},
+             #{add.eventNewUserJinjianPageCost},
+             #{add.eventNewUserJinjianPageRoi},
+             #{add.eventNewUserCreditGrantPage},
+             #{add.eventNewUserCreditGrantPageCost},
+             #{add.eventNewUserCreditGrantPageRoi},
+             #{add.eventAppointForm},
+             #{add.eventAppointFormCost},
+             #{add.eventAppointFormRatio},
+             #{add.eventAppointJumpClick},
+             #{add.eventAppointJumpClickCost},
+             #{add.eventAppointJumpClickRatio},
+             #{add.unionEventPayPurchaseAmount7d},
+             #{add.unionEventPayPurchaseAmount7dRoi},
+             #{add.placementType},
+             #{add.adScene},
+             #{add.eventOrderSuccessed},
+             #{add.adPhotoPlayed10sRatio},
+             #{add.keyActionCost},
+             #{add.eventAddShoppingCartCost},
+             #{add.eventAdWatchTimesRatio},
+             #{add.eventOutboundCallCost},
+             #{add.eventOutboundCall},
+             #{add.actionNewRatio},
+             #{add.eventWatchAppAd},
+             #{add.eventMultiConversionCost},
+             #{add.eventPhoneCardActivate},
+             #{add.adPhotoPlayed75percentRatio},
+             #{add.keyActionRatio},
+             #{add.eventAdWatchTimesCost},
+             #{add.eventAddShoppingCart},
+             #{add.keyAction},
+             #{add.eventMultiConversion},
+             #{add.eventWechatConnected},
+             #{add.eventDspGiftForm},
+             #{add.eventIntentionConfirmed},
+             #{add.eventPhoneGetThrough},
+             #{add.eventMultiConversionRatio},
+             #{add.eventMeasurementHouse},
+             #{add.adPhotoPlayed2sRatio},
+             #{add.eventOutboundCallRatio},
+             #{add.eventAdWatchTimes}
+ -->
+            )
+        </foreach>
+    </insert>
+
  </mapper>

+ 35 - 4
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/AdUnitReportServiceImpl.java

@@ -361,16 +361,47 @@ public class AdUnitReportServiceImpl implements IAdUnitReportService {
           return;
         }
 
-        List<KuaishouAudienceReportDaily> addList = new ArrayList<>();
+      List<KuaishouAudienceReportDaily> provinceList = new ArrayList<>();
+      List<KuaishouAudienceReportDaily> cityList = new ArrayList<>();
+      List<KuaishouAudienceReportDaily> ageList = new ArrayList<>();
+      List<KuaishouAudienceReportDaily> genderList = new ArrayList<>();
+
         for (int i = 0; i < details.size(); i++) {
           JSONObject returnJson = details.getJSONObject(i);
           returnJson.put("advertiser_id",advertiserId);
           KuaishouAudienceReportDaily reportDaily = KuaishouAudienceReportDaily.getKuaishouAudienceInfo(returnJson);
-          addList.add(reportDaily);
+          //省份
+          if (reportDims.contains("province")){
+            provinceList.add(reportDaily);
+          }
+          //城市
+          if (reportDims.contains("city")){
+            cityList.add(reportDaily);
+          }
+          //年龄
+          if (reportDims.contains("ageSegment")){
+            ageList.add(reportDaily);
+          }
+          //性别
+          if (reportDims.contains("gender")){
+            genderList.add(reportDaily);
+          }
         }
 
-        audienceReportDailyMapper.replaceBatchKsAudienceProvince(addList);
-        crowdAnalysisReport(advertiserId, accessToken, date,campaignIds,unitIds, reportDims,page+1);
+        if (reportDims.contains("province")){
+          audienceReportDailyMapper.replaceBatchKsAudienceProvince(provinceList);
+      }
+        if (reportDims.contains("city")){
+          audienceReportDailyMapper.replaceBatchKsAudienceCity(cityList);
+      }
+        if (reportDims.contains("ageSegment")){
+          audienceReportDailyMapper.replaceBatchKsAudienceAge(ageList);
+      }
+        if (reportDims.contains("gender")){
+          audienceReportDailyMapper.replaceBatchKsAudienceGender(genderList);
+      }
+
+      crowdAnalysisReport(advertiserId, accessToken, date,campaignIds,unitIds, reportDims,page+1);
         log.info("快手人群报表==={}==========获取完成:accountId:{}", reportDims,advertiserId);
     }catch (Exception e){
       log.info(String.valueOf(e));

+ 8 - 2
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/AdUnitReportJob.java

@@ -177,12 +177,18 @@ public class AdUnitReportJob {
     //广告组 ID 集
     List<Long> unitIds = Arrays.asList();
     //人群报表类型
-    List<String> reportDims = Arrays.asList("province");
+    List<String> reportDimsProvince = Arrays.asList("province");
+    List<String> reportDimsCity = Arrays.asList("city");
+    List<String> reportDimsGender = Arrays.asList("gender");
+    List<String> reportAge = Arrays.asList("ageSegment");
     dailyExecutorService.submit(
             new Runnable() {
               @Override
               public void run() {
-                adUnitReportService.crowdAnalysisReport(Long.valueOf(param), token, date, campaignIds, unitIds,reportDims,1);
+                adUnitReportService.crowdAnalysisReport(Long.valueOf(param), token, date, campaignIds, unitIds,reportDimsProvince,1);
+                adUnitReportService.crowdAnalysisReport(Long.valueOf(param), token, date, campaignIds, unitIds,reportDimsCity,1);
+                adUnitReportService.crowdAnalysisReport(Long.valueOf(param), token, date, campaignIds, unitIds,reportDimsGender,1);
+                adUnitReportService.crowdAnalysisReport(Long.valueOf(param), token, date, campaignIds, unitIds,reportAge,1);
               }
             });
   }