Przeglądaj źródła

李娜、王垒需求接口调整

hcst_sunzhen 4 lat temu
rodzic
commit
cf5ae51d52

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

@@ -39,4 +39,6 @@ public interface KuaishouReportDailyAccountMapper extends BaseMapper<KuaishouRep
     List<KuaishouReportDailyAccountDTO> getKuaishouCreativeInfoByUnitId(@Param("startDate")String startDate, @Param("endDate")String endDate, @Param("unitId")Long unitId);
 
     KuaishouVideoInfoDTO getVideoUrl(@Param("photoId")Long photoId);
+
+    List<Long> getUserProjectAccountIds(@Param("userId")String userId);
 }

+ 87 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KuaishouReportDailyAccountMapper.xml

@@ -909,7 +909,7 @@
         order by create_time desc
     </select>
 
-    <select id="getKuaishouCreativeInfoByUnitId" resultType="cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyAccountDTO">
+    <select id="getKuaishouCreativeInfoByUnitId2" resultType="cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyAccountDTO">
         select
         a.*,
         b.photo_id as 'photoId'
@@ -989,6 +989,82 @@
         left join  ctop_kuaishou_creative b on a.creativeId = b.creative_id
     </select>
 
+    <select id="getKuaishouCreativeInfoByUnitId" resultType="cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyAccountDTO">
+        select
+        concat(#{startDate}, '~' ,#{endDate}) as 'statDate',
+        b.project_id as 'projectId',
+        b.project_name as 'projectName',
+        a.account_id as 'accountId',
+        b.auth_name as 'authName',
+        a.creative_id as 'creativeId',
+        a.creative_name as 'creativeName',
+        a.campaign_id as 'campaignId',  -- 计划id
+        a.campaign_name as 'campaignName',  -- 计划名称
+        a.unit_id as 'unitId',  -- 组id,
+        a.unit_name as 'unitName',  -- 组名称
+        round(sum(a.charge),2) as 'charge',
+        sum(a.photo_show) as 'photoShow',  -- 封面曝光数
+        sum(a.photo_click) as 'photoClick', -- 封面点击数
+        sum(a.aclick) as 'aclick',  -- 素材曝光数
+        sum(a.bclick) as 'bclick',  -- 行为数
+        sum(a.activation) as 'activation',  -- 激活数
+        sum(a.submit) as 'submit',   -- 提交按钮点击数
+        sum(a.event_register) as 'eventRegister',   -- 注册数
+        sum(event_next_day_stay) as 'eventNextDayStay',  -- 次日留存数
+        ROUND(IFNULL(sum(a.charge)/sum(a.activation),0),2) as 'activationCost',   -- 激活成本
+        case when photo_show!=0 then concat(round(sum(a.photo_click)/sum(a.photo_show) * 100 ,2),'%') else 0 end as 'photoClickRatio',   -- 封面点击率
+        case when aclick!=0 then concat(round(sum(a.bclick)/sum(a.aclick) * 100 ,2),'%') else 0 end as 'actionRate',  -- 行为率
+        (case
+        when sum(a.photo_show) != 0 and sum(a.photo_show) is not null
+        then round((sum(a.charge) / sum(a.photo_show)) * 1000,2)
+        else 0
+        end
+        ) as 'impression1kCost', -- 均千次封面曝光花费
+        (case
+        when sum(a.photo_click) != 0
+        then round(sum(a.charge) / sum(a.photo_click),2)
+        else 0
+        end
+        ) as 'photoClickCost', -- 平均封面点击单价
+        (CASE
+        WHEN sum(a.photo_click) != 0
+        THEN round(sum(a.charge) / sum(a.photo_click),2)
+        ELSE 0
+        end
+        ) as 'actionCost', -- 平均行为单价
+        sum(a.photo_share) as 'photoShare',  -- 分享数
+        sum(a.photo_comment) as 'photoComment', -- 评论数
+        sum(a.photo_like) as 'photoLike', -- 点赞数
+        sum(a.follow) as 'follow', -- 新增关注数
+        sum(a.report) as 'report', -- 举报数
+        sum(a.cancel_follow) as 'cancelFollow', -- 取消关注数
+        sum(a.block) as 'block', -- 拉黑数
+        sum(a.negative) as 'nagative', -- 减少此类作品数
+        sum(a.download_started) as 'downloadStarted',  -- 应用下载数据-安卓下载开始数
+        sum(a.download_completed) as 'downloadCompleted',  -- 应用下载数据-安卓下载完成数
+        (CASE
+        WHEN sum(a.event_next_day_stay) != 0
+        THEN round(sum(a.charge) / sum(a.event_next_day_stay),2)
+        ELSE 0
+        end
+        ) as 'eventNextDayStayCost',  -- 次日留存成本
+        (select url from ctop_kuaishou_video_get where photo_id = c.photo_id limit 1) as url,
+        (select cover_url from ctop_kuaishou_video_get where photo_id = c.photo_id limit 1) as coverUrl
+        from
+        ctop_kuaishou_report_daily_creative a
+        left join (select * from ctop_user_allocation group by account_id) b on a.account_id = b.account_id
+        left join ctop_kuaishou_creative c on a.creative_id = c.creative_id
+        where
+        a.stat_date &gt;= #{startDate}
+        and
+        a.stat_date &lt;= #{endDate}
+        <if test="unitId != null and unitId !='' ">
+            and
+            a.unit_id = #{unitId}
+        </if>
+        group by a.creative_id
+    </select>
+
     <select id="getVideoUrl" resultType="cn.com.ctop.kuaishou.modules.report.entity.KuaishouVideoInfoDTO">
         select
         url as url,
@@ -999,4 +1075,14 @@
         limit 1
     </select>
 
+    <!-- 获取项目成员所在所有项目下的所有账户id -->
+    <select id="getUserProjectAccountIds" resultType="long">
+        select
+        a.account_id
+        from
+        (select * from ctop_user_allocation  group by account_id) a
+        left join ctop_project_member b on a.project_id=b.project_id
+        where b.user_id = #{userId}
+    </select>
+
 </mapper>

+ 5 - 5
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaishouReportDailyAccountServiceImpl.java

@@ -172,11 +172,11 @@ public class KuaishouReportDailyAccountServiceImpl extends ServiceImpl<KuaishouR
     public PageInfo<KuaishouReportDailyAccountDTO> getKuaishouCreativeInfoByUnitId(Long unitId, String startDate, String endDate, Integer pageSize, Integer pageNum){
         PageHelper.startPage(pageNum,pageSize);
         List<KuaishouReportDailyAccountDTO> kuaishouCreativeInfoList = dailyAccountMapper.getKuaishouCreativeInfoByUnitId(startDate, endDate, unitId);
-        for(KuaishouReportDailyAccountDTO creativeInfo:kuaishouCreativeInfoList){
-            KuaishouVideoInfoDTO videoInfo = dailyAccountMapper.getVideoUrl(creativeInfo.getPhotoId());
-            creativeInfo.setUrl(videoInfo.getUrl());
-            creativeInfo.setCoverUrl(videoInfo.getCoverUrl());
-        }
+        //for(KuaishouReportDailyAccountDTO creativeInfo:kuaishouCreativeInfoList){
+        //    KuaishouVideoInfoDTO videoInfo = dailyAccountMapper.getVideoUrl(creativeInfo.getPhotoId());
+        //    creativeInfo.setUrl(videoInfo.getUrl());
+        //    creativeInfo.setCoverUrl(videoInfo.getCoverUrl());
+        //}
         return new PageInfo<>(kuaishouCreativeInfoList);
     }