Просмотр исходного кода

盯盘运营经理-运营数据详情不区分媒体-master

yangzian 3 лет назад
Родитель
Сommit
7d132425d5

+ 1 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/MaterialStareMapper.java

@@ -65,6 +65,7 @@ public interface MaterialStareMapper {
     //快手-查询账户数据信息
     List<KuaiShouOperateVo> getKuaiShouOperateInfo(@Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("list") Set<String> operatorUserIds);
     List<KuaiShouOperateVo> getBytedanceOperateInfo(@Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("list") Set<String> operatorUserIds);
+    List<KuaiShouOperateVo> getKuaiShouOrBytedanceOperateInfo(@Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("list") Set<String> operatorUserIds);
 
     List<KuaiShouOperateVo> getKuaiShouOperateInfoHourly(@Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("list") Set<String> operatorUserIds);
     List<KuaiShouOperateVo> getBytedanceOperateInfoHourly(@Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("list") Set<String> operatorUserIds);

+ 66 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/xml/MaterialStareMapper.xml

@@ -486,6 +486,72 @@
         ORDER BY SUM( d.charge ) DESC
     </select>
 
+    <!-- 快手or头条-查询账户数据信息 -->
+    <select id="getKuaiShouOrBytedanceOperateInfo" resultType="org.jeecg.ctop.material.entity.vo.KuaiShouOperateVo">
+
+        SELECT
+        SUM( t.totalCost ) totalCost,
+        SUM( t.accountNum ) accountNum,
+        SUM( t.projectNum ) projectNum,
+        t.userId userId,
+        t.userName userName from (
+        SELECT
+        SUM( d.charge ) totalCost,
+        COUNT(DISTINCT d.account_id) accountNum,
+        COUNT(DISTINCT d.project_id) projectNum,
+        d.user_id as userId,
+        (SELECT u.realname from `jeecg-boot`.sys_user u where u.id = d.user_id) as userName
+        FROM
+        application.kuaishou_account_report_daily_dw d
+        LEFT JOIN `jeecg-boot`.ctop_user_allocation u on d.account_id = u.account_id
+        WHERE
+        d.charge > 0
+        and u.account_status = 0
+        <if test="startDate != null and startDate != '' ">
+            and d.stat_date &gt;= #{startDate}
+        </if>
+        <if test="endDate != null and endDate != '' ">
+            and d.stat_date &lt;= #{endDate}
+        </if>
+        <if test='list!=null'>
+            AND d.user_id IN
+            <foreach collection="list" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        GROUP BY d.user_id
+        UNION
+        SELECT
+        SUM( d.cost ) totalCost,
+        COUNT(DISTINCT d.account_id) accountNum,
+        COUNT(DISTINCT d.project_id) projectNum,
+        d.user_id as userId,
+        (SELECT u.realname from `jeecg-boot`.sys_user u where u.id = d.user_id) as userName
+        FROM
+        application.bytedance_advertiser_report_hourly_dw d
+        LEFT JOIN `jeecg-boot`.ctop_user_allocation u on d.account_id = u.account_id
+        WHERE
+        d.cost > 0
+        and u.account_status = 0
+        <if test="startDate != null and startDate != '' ">
+            and d.stat_datetime &gt;= #{startDate}
+        </if>
+        <if test="endDate != null and endDate != '' ">
+            and d.stat_datetime &lt;= #{endDate}
+        </if>
+        <if test='list!=null'>
+            AND d.user_id IN
+            <foreach collection="list" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        GROUP BY d.user_id
+        ) t
+        GROUP BY t.userId
+    </select>
+
     <!-- 快手 快手-查询账户数据信息 -->
     <select id="getBytedanceOperateInfo" resultType="org.jeecg.ctop.material.entity.vo.KuaiShouOperateVo">
         SELECT

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

@@ -458,7 +458,7 @@ public class MaterialStareServiceImpl implements MaterialStareService {
 
             if ("admin".equals(roleCode)) {
                 //所有运营
-                List<KuaiShouOperateGroupVo> allOperationManagerList = materialStareMapper.getOperationManagerUser("Operation");
+                List<KuaiShouOperateGroupVo> allOperationManagerList = materialStareMapper.getOperationManagerUser("perat");
                 List<String> allManagerList = allOperationManagerList.stream().map(KuaiShouOperateGroupVo:: getUserId).collect(Collectors.toList());
                 operatorUserIds = new HashSet<>(allManagerList);
             }else if (roleCode.contains("OperationManager")){
@@ -477,8 +477,9 @@ public class MaterialStareServiceImpl implements MaterialStareService {
         long now = Long.valueOf(DateUtils.getDateInteger(DateUtils.getDate("yyyy-MM-dd")));
 
         PageHelper.startPage(pageNum,pageSize);
-        //查询运营数据
-        List<KuaiShouOperateVo> listOperate = materialStareMapper.getKuaiShouOperateInfo(startDate,entDate,operatorUserIds);
+        //查询运营数据 -- 不区分媒体
+        List<KuaiShouOperateVo> listOperate = materialStareMapper.getKuaiShouOrBytedanceOperateInfo(startDate,entDate,operatorUserIds);
+
         for (KuaiShouOperateVo operate : listOperate) {
 
             Set<String> ids = new HashSet<String>(){{
@@ -529,7 +530,7 @@ public class MaterialStareServiceImpl implements MaterialStareService {
 
             if ("admin".equals(roleCode)) {
                 //所有运营
-                List<KuaiShouOperateGroupVo> allOperationManagerList = materialStareMapper.getOperationManagerUser("Operation");
+                List<KuaiShouOperateGroupVo> allOperationManagerList = materialStareMapper.getOperationManagerUser("perat");
                 List<String> allManagerList = allOperationManagerList.stream().map(KuaiShouOperateGroupVo:: getUserId).collect(Collectors.toList());
                 operatorUserIds = new HashSet<>(allManagerList);
             }else if (roleCode.contains("OperationManager")){
@@ -549,8 +550,10 @@ public class MaterialStareServiceImpl implements MaterialStareService {
         long now = Long.valueOf(DateUtils.getDateInteger(DateUtils.getDate("yyyy-MM-dd")));
 
             //查询运营数据
-        List<KuaiShouOperateVo> listOperate = materialStareMapper.getKuaiShouOperateInfo(startDate,entDate,operatorUserIds);
-        for (KuaiShouOperateVo operate : listOperate) {
+        //List<KuaiShouOperateVo> listOperate = materialStareMapper.getKuaiShouOperateInfo(startDate,entDate,operatorUserIds);
+        List<KuaiShouOperateVo> listOperate = materialStareMapper.getKuaiShouOrBytedanceOperateInfo(startDate,entDate,operatorUserIds);
+
+            for (KuaiShouOperateVo operate : listOperate) {
 
             Set<String> ids = new HashSet<String>(){{
                 add(operate.getUserId());