Quellcode durchsuchen

首页-项目列表-与昨日消耗对比

zhaoxian vor 1 Jahr
Ursprung
Commit
d9c29f1be9

+ 3 - 3
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/BytedanceAccountReportDailyDwMapper.java

@@ -25,7 +25,7 @@ public interface BytedanceAccountReportDailyDwMapper {
 
     Long getProjectMoreDaysReportTotal(@Param("projectId") Long projectId, @Param("startTime") Integer startTime, @Param("endTime") Integer endTime, @Param("hour") Integer hour);
 
-    List<JSONObject> getProjectMoreDaysReport(@Param("projectId") Long projectId, @Param("startTime") Integer startTime, @Param("endTime") Integer endTime, @Param("hour") Integer hour, @Param("sortCode") String sortCode, @Param("order") String order);
+    List<JSONObject> getProjectMoreDaysReport(@Param("projectId") Long projectId, @Param("startTime") Integer startTime, @Param("endTime") Integer endTime, @Param("lastStart") Integer lastStart, @Param("lastEnd") Integer lastEnd, @Param("sortCode") String sortCode, @Param("order") String order);
 
     List<JSONObject> getProjectNoByDays(@Param("startTime") Integer startTimeInt, @Param("endTime") Integer endTimeInt);
 
@@ -38,9 +38,9 @@ public interface BytedanceAccountReportDailyDwMapper {
 
     /*--------------------------------------------*/
 
-    List<JSONObject> getToutiaoOperateInfoHourly(@Param("hour") Integer hour, @Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("lastTimeEnd") Long lastTimeEnd, @Param("lastTimeStart") Long lastTimeStart, @Param("list") List<String>  operatorUserIds);
+    List<JSONObject> getToutiaoOperateInfoHourly(@Param("hour") Integer hour, @Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("lastTimeEnd") Long lastTimeEnd, @Param("lastTimeStart") Long lastTimeStart, @Param("list") List<String> operatorUserIds);
 
-    List<JSONObject> getToutiaoOperateInfo( @Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("lastTimeEnd") Long lastTimeEnd, @Param("lastTimeStart") Long lastTimeStart, @Param("list") List<String>  operatorUserIds);
+    List<JSONObject> getToutiaoOperateInfo(@Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("lastTimeEnd") Long lastTimeEnd, @Param("lastTimeStart") Long lastTimeStart, @Param("list") List<String> operatorUserIds);
 
     JSONObject getToutiaoOperateGroupInfoHourly(@Param("hour") Integer hour, @Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("lastTimeEnd") Long lastTimeEnd, @Param("lastTimeStart") Long lastTimeStart, @Param("list") Set<String> operatorUserIds);
 

+ 1 - 3
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/KuaishouAccountReportDailyDwMapper.java

@@ -2,8 +2,6 @@ package org.jeecg.ctop.material.mapper;
 
 import com.alibaba.fastjson.JSONObject;
 import org.apache.ibatis.annotations.Param;
-import org.jeecg.ctop.material.entity.vo.KuaiShouOperateGroupVo;
-import org.jeecg.ctop.material.entity.vo.KuaiShouOperateVo;
 
 import java.util.List;
 import java.util.Map;
@@ -25,7 +23,7 @@ public interface KuaishouAccountReportDailyDwMapper {
 
     Long getProjectMoreDaysReportTotal(@Param("projectId") Long projectId, @Param("startTime") Integer startTime, @Param("endTime") Integer endTime, @Param("hour") Integer hour);
 
-    List<JSONObject> getProjectMoreDaysReport(@Param("projectId") Long projectId, @Param("startTime") Integer startTime, @Param("endTime") Integer endTime, @Param("hour") Integer hour, @Param("sortCode") String sortCode, @Param("order") String order);
+    List<JSONObject> getProjectMoreDaysReport(@Param("projectId") Long projectId, @Param("startTime") Integer startTime, @Param("endTime") Integer endTime, @Param("lastStart") Integer lastStart, @Param("lastEnd") Integer lastEnd, @Param("sortCode") String sortCode, @Param("order") String order);
 
     List<JSONObject> getProjectNoByDays(@Param("startTime") Integer startTimeInt, @Param("endTime") Integer endTimeInt);
 

+ 14 - 1
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/xml/BytedanceAccountReportDailyDwMapper.xml

@@ -216,7 +216,7 @@
         SUM( `show` ) AS 'aclick',
         SUM( click ) AS 'bclick',
         IFNULL(t6.num, 0 ) AS 'num',
-        '-' as 'rio',
+        IFNULL(concat(round((sum(cost) - t7.costs) / t7.costs * 100, 2), '%'), '-') as 'rio',
         IFNULL(t8.unitNum,0) as 'unitNum',
         IFNULL(t8.projectNum,0) as 'projectNum',
         '-' AS 'ssAd',
@@ -246,6 +246,19 @@
         </if>
         ) t6 ON t1.project_id = t6.project_id
         LEFT JOIN (
+        SELECT project_id, SUM(cost) as 'costs'
+        FROM application.bytedance_advertiser_report_hourly_dw
+        WHERE stat_datetime >= #{lastStart}
+        AND stat_datetime &lt;= #{lastEnd}
+        AND company_id in ('5e46b5dea3d740eeb8ff1a2895015a4b' , 'd57fecdcf7a94d009736d9c850731582')
+        <if test="projectId != null and projectId != ''">
+            AND project_id = #{projectId}
+        </if>
+        <if test="projectId == null">
+            GROUP BY project_id
+        </if>
+        ) t7 ON t1.project_id = t7.project_id
+        LEFT JOIN (
         SELECT
                project_id,
                IFNULL(SUM(new_ad_num),0)+IFNULL(SUM(promotion_num),0) as 'unitNum',

+ 12 - 1
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/xml/KuaishouAccountReportDailyDwMapper.xml

@@ -230,7 +230,7 @@
         SUM(aclick) as 'aclick',
         SUM(bclick) as 'bclick',
         IFNULL(t6.num,0) as 'num',
-        '-' as 'rio',
+        IFNULL(concat(round((sum(charge) - t7.charges) / t7.charges * 100, 2), '%'), '-') as 'rio',
         IFNULL(t9.accountNum,0) as 'accountNum',
         IFNULL(t9.operaterNum,0) as 'operaterNum',
         IFNULL(t11.new_unit_num,0) as 'unitNum',
@@ -253,6 +253,17 @@
             GROUP BY project_id
         </if>
         ) t6 ON t1.project_id = t6.project_id
+        LEFT JOIN (
+        SELECT project_id, SUM(charge) as 'charges'
+        FROM application.kuaishou_account_report_daily_dw
+        WHERE stat_date >= #{lastStart}
+        AND stat_date &lt;= #{lastEnd}
+        <if test="projectId != null and projectId != ''">
+            AND project_id = #{projectId}
+        </if>
+        GROUP BY project_id
+        HAVING SUM(charge) > 0
+        ) t7 ON t1.project_id = t7.project_id
         LEFT JOIN(
         SELECT project_id,count(account_id)as 'accountNum',count(DISTINCT user_id)as 'operaterNum' FROM (
         SELECT project_id,account_id,user_id FROM application.kuaishou_account_report_daily_dw

+ 6 - 1
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/service/impl/BytedanceAccountReportDailyDwServiceImpl.java

@@ -117,7 +117,12 @@ public class BytedanceAccountReportDailyDwServiceImpl implements IBytedanceAccou
         } else {
 //            total = bytedanceAccountReportDailyDwMapper.getProjectMoreDaysReportTotal(projectId, startTimeInt, endTimeInt, nowHour);
 //            PageHelper.startPage(pageNo, pageSize, false);
-            data = bytedanceAccountReportDailyDwMapper.getProjectMoreDaysReport(projectId, startTimeInt, endTimeInt, nowHour, sortCode, order);
+
+            int days = DateUtils.dateDiff(startTime, endTime)+1;
+            //上阶段时间
+            Integer lastStart = DateUtils.getDateInteger(DateUtils.getLastDay(startTime, days));
+            Integer lastEnd = DateUtils.getDateInteger(DateUtils.getLastDay(endTime, days));
+            data = bytedanceAccountReportDailyDwMapper.getProjectMoreDaysReport(projectId, startTimeInt, endTimeInt, lastStart,lastEnd, sortCode, order);
         }
         PageInfo<JSONObject> page = new PageInfo<>();
         page.setList(data);

+ 6 - 1
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/service/impl/KuaishouAccountReportDailyDwServiceImpl.java

@@ -117,7 +117,12 @@ public class KuaishouAccountReportDailyDwServiceImpl implements IKuaishouAccount
         } else {
 //            total = kuaishouAccountReportDailyDwMapper.getProjectMoreDaysReportTotal(projectId, startTimeInt, endTimeInt, nowHour);
 //            PageHelper.startPage(pageNo, pageSize, false);
-            data = kuaishouAccountReportDailyDwMapper.getProjectMoreDaysReport(projectId, startTimeInt, endTimeInt, nowHour, sortCode, order);
+
+            int days = DateUtils.dateDiff(startTime, endTime) + 1;
+            //上阶段时间
+            Integer lastStart = DateUtils.getDateInteger(DateUtils.getLastDay(startTime, days));
+            Integer lastEnd = DateUtils.getDateInteger(DateUtils.getLastDay(endTime, days));
+            data = kuaishouAccountReportDailyDwMapper.getProjectMoreDaysReport(projectId, startTimeInt, endTimeInt, lastStart, lastEnd, sortCode, order);
         }
         PageInfo<JSONObject> page = new PageInfo<>();
         page.setList(data);