Pārlūkot izejas kodu

Merge branch 'dingpan' of http://git.tjyourong.com.cn/ctop/adsp-boot into dingpan

yumeng 4 gadi atpakaļ
vecāks
revīzija
d11e54102e
23 mainītis faili ar 333 papildinājumiem un 19 dzēšanām
  1. 2 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/KuaiShouCreativeMapper.java
  2. 7 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KuaiShouCreativeMapper.xml
  3. 21 3
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/EtlKuaiShouGroupDailyReportController.java
  4. 22 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/EtlKuaiShouNewlyController.java
  5. 24 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/EtlKuaishouAudienceAccountDailyController.java
  6. 3 3
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/EtlKuaishouReportAccountHourlyController.java
  7. 6 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/entity/EtlKuaiShouGroupDailyReport.java
  8. 6 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/EtlKuaiShouGroupDailyReportMapper.java
  9. 2 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/EtlKuaiShouNewlyMapper.java
  10. 4 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/EtlKuaishouAudienceAccountDailyMapper.java
  11. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/EtlKuaishouReportAccountDailyMapper.java
  12. 44 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/EtlKuaiShouGroupDailyReportMapper.xml
  13. 11 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/EtlKuaiShouNewlyMapper.xml
  14. 58 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/EtlKuaishouAudienceAccountDailyMapper.xml
  15. 6 4
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/EtlKuaishouReportAccountDailyMapper.xml
  16. 4 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IEtlKuaiShouGroupDailyReportService.java
  17. 3 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IEtlKuaiShouNewlyService.java
  18. 2 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IEtlKuaishouAudienceAccountDailyService.java
  19. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IEtlKuaishouReportAccountHourlyService.java
  20. 29 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/EtlKuaiShouGroupDailyReportServiceImpl.java
  21. 11 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/EtlKuaiShouNewlyServiceImpl.java
  22. 26 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/EtlKuaishouAudienceAccountDailyServiceImpl.java
  23. 40 3
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/EtlKuaishouReportAccountHourlyServiceImpl.java

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

@@ -30,4 +30,6 @@ public interface KuaiShouCreativeMapper extends BaseMapper<KuaiShouCreative> {
     List<Long> getCreativeIds(@Param("accountId") Long accountId);
 
     Integer getNewDataByAccountIdAndDate(Long accountId, String statDate);
+
+    Integer getRejectedCountsforAccountId(Long accountId);
 }

+ 7 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KuaiShouCreativeMapper.xml

@@ -155,4 +155,11 @@
      and DATE_FORMAT(creative_create_time,'%Y-%m-%d') = #{statDate}
     </select>
 
+    <select id="getRejectedCountsforAccountId" resultType="java.lang.Integer">
+     select  count(1)
+     from ctop_kuaishou_creative
+     where  account_id = #{accountId}
+     and  status = 42
+    </select>
+
 </mapper>

+ 21 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/EtlKuaiShouGroupDailyReportController.java

@@ -5,6 +5,7 @@ import cn.com.ctop.common.module.utils.QueryGenerator;
 import cn.com.ctop.kuaishou.modules.report.entity.EtlKuaiShouGroupDailyReport;
 import cn.com.ctop.kuaishou.modules.report.service.IEtlKuaiShouGroupDailyReportService;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -19,7 +20,15 @@ import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
@@ -43,7 +52,7 @@ import java.util.Map;
 @Slf4j
 @Api(tags = "快手组日报数据清洗")
 @RestController
-@RequestMapping("/group/etlKuaiShouGroupDailyReport")
+@RequestMapping("/etl/kuaiShouGroupDailyReport")
 public class EtlKuaiShouGroupDailyReportController {
     @Autowired
     private IEtlKuaiShouGroupDailyReportService etlKuaiShouGroupDailyReportService;
@@ -72,7 +81,16 @@ public class EtlKuaiShouGroupDailyReportController {
         result.setResult(pageList);
         return result;
     }
-
+    @PostMapping(value = "/queryPageList")
+    public Result<Object> queryPageList(@RequestBody JSONObject request) {
+        try {
+            return etlKuaiShouGroupDailyReportService.queryPageList(request);
+        } catch (Exception e) {
+            log.error("查询异常,", e.getMessage());
+            e.printStackTrace();
+        }
+        return Result.error("查询失败");
+    }
     /**
      * 添加
      *

+ 22 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/EtlKuaiShouNewlyController.java

@@ -5,6 +5,7 @@ import cn.com.ctop.common.module.utils.QueryGenerator;
 import cn.com.ctop.kuaishou.modules.report.entity.EtlKuaiShouNewly;
 import cn.com.ctop.kuaishou.modules.report.service.IEtlKuaiShouNewlyService;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -44,7 +45,7 @@ import java.util.Map;
 @Slf4j
 @Api(tags = "快手 新上计划数据汇总")
 @RestController
-@RequestMapping("/new/etlKuaiShouNewly")
+@RequestMapping("/etl/kuaiShouNewly")
 public class EtlKuaiShouNewlyController {
     @Autowired
     private IEtlKuaiShouNewlyService etlKuaiShouNewlyService;
@@ -75,6 +76,26 @@ public class EtlKuaiShouNewlyController {
     }
 
     /**
+     * 各维度近七日上线数量
+     * @author ZHAOXA
+     * @param
+     * @return
+     * @throws
+     */
+    @AutoLog(value = "各维度近七日上线数量")
+    @ApiOperation(value = "各维度近七日上线数量", notes = "各维度近七日上线数量")
+    @GetMapping(value = "/getNewlyCounts")
+    public Result<Object> getNewlyCounts(Long accountId) {
+        try {
+            return etlKuaiShouNewlyService.getNewlyCounts(accountId);
+        } catch (Exception e) {
+            log.error("查询异常,", e.getMessage());
+            e.printStackTrace();
+        }
+        return Result.error("查询失败");
+    }
+
+    /**
      * 添加
      *
      * @param etlKuaiShouNewly

+ 24 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/EtlKuaishouAudienceAccountDailyController.java

@@ -117,7 +117,7 @@ public class EtlKuaishouAudienceAccountDailyController {
 
 
     /**
-     * (饼状图)按照年龄查询数据
+     * 按照年龄查询数据
      *
      * @param
      * @return
@@ -138,7 +138,7 @@ public class EtlKuaishouAudienceAccountDailyController {
     }
 
     /**
-     * (饼状图)按照性别查询数据
+     * 按照性别查询数据
      *
      * @param
      * @return
@@ -158,6 +158,28 @@ public class EtlKuaishouAudienceAccountDailyController {
         return Result.error("查询失败");
     }
 
+
+    /**
+     * 按照板位查询数据
+     *分版位
+     * @param
+     * @return
+     * @throws
+     * @author ZHAOXA
+     */
+    @AutoLog(value = "按照板位查询数据")
+    @ApiOperation(value = "按照板位查询数据", notes = "按照板位查询数据")
+    @PostMapping(value = "/getSceneInfo")
+    public Result<Object> getSceneInfo(@RequestBody JSONObject request) {
+        try {
+            return etlKuaishouAudienceAccountDailyService.getSceneInfo(request);
+        } catch (Exception e) {
+            log.error("查询异常,", e.getMessage());
+            e.printStackTrace();
+        }
+        return Result.error("查询失败");
+    }
+
     /**
      * 编辑
      *

+ 3 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/EtlKuaishouReportAccountHourlyController.java

@@ -105,10 +105,10 @@ public class EtlKuaishouReportAccountHourlyController {
      */
     @AutoLog(value = "获取当日花费最大的账户")
     @ApiOperation(value = "获取当日花费最大的账户", notes = "获取当日花费最大的账户")
-    @PostMapping(value = "/getMaxChargeAccountId")
-    public Result<Object> getMaxChargeAccountId() {
+    @GetMapping(value = "/getMaxChargeAccountId")
+    public Result<Object> getMaxChargeAccountId(Long accountId) {
         try {
-            return etlKuaishouReportAccountHourlyService.getMaxChargeAccountId();
+            return etlKuaishouReportAccountHourlyService.getMaxChargeAccountId(accountId);
         } catch (Exception e) {
             log.error("查询异常,", e.getMessage());
             e.printStackTrace();

+ 6 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/entity/EtlKuaiShouGroupDailyReport.java

@@ -71,6 +71,12 @@ public class EtlKuaiShouGroupDailyReport {
     @ApiModelProperty(value = "花费(元)")
     private java.math.BigDecimal charge;
     /**
+     * 出价
+     */
+    @Excel(name = "出价", width = 15)
+    @ApiModelProperty(value = "出价")
+    private Long bid;
+    /**
      * 曝光数
      */
     @Excel(name = "曝光数", width = 15)

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

@@ -1,6 +1,7 @@
 package cn.com.ctop.kuaishou.modules.report.mapper;
 
 import cn.com.ctop.kuaishou.modules.report.entity.EtlKuaiShouGroupDailyReport;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -16,4 +17,9 @@ import java.util.List;
 public interface EtlKuaiShouGroupDailyReportMapper extends BaseMapper<EtlKuaiShouGroupDailyReport> {
 
     void replaceBatch(@Param("addList") List<EtlKuaiShouGroupDailyReport> addList);
+
+    Long getTotal(Long accountId);
+
+    List<JSONObject> queryPageList(@Param("accountId") Long accountId, @Param("sortCode") String sortCode, @Param("sortType") String sortType);
+
 }

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

@@ -17,4 +17,6 @@ import java.util.List;
 public interface EtlKuaiShouNewlyMapper extends BaseMapper<EtlKuaiShouNewly> {
 
     void replaceBatch(@Param("addList") List<EtlKuaiShouNewly> addList);
+
+    List<Object> getNewlyCounts(@Param("accountId") Long accountId);
 }

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

@@ -21,4 +21,8 @@ public interface EtlKuaishouAudienceAccountDailyMapper extends BaseMapper<EtlKua
     List<JSONObject> queryAudienceTypeInfo(@Param("value") String value, @Param("type") String type, @Param("accountId") Long accountId, @Param("audienceType") String audienceType, @Param("parType") String parType);
 
     List<JSONObject> queryEveryDayInfo(@Param("value") String value, @Param("type") String type, @Param("accountId") Long accountId, @Param("audienceType") String audienceType, @Param("parType") String parType);
+
+    List<JSONObject> getSceneInfo(@Param("value") String value, @Param("accountId") Long accountId, @Param("parType") String parType);
+
+    List<JSONObject> getSceneEveryDayInfo(@Param("value") String value, @Param("accountId") Long accountId, @Param("parType") String parType);
 }

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

@@ -23,5 +23,5 @@ public interface EtlKuaishouReportAccountDailyMapper extends BaseMapper<EtlKuais
 
     List<JSONObject> getOnedayEtlReportList(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("accountId") Long accountId, @Param("value") String value, @Param("type") String type);
 
-    Long getMaxChargeAccountId();
+    Long getMaxChargeAccountId(@Param("userId") String userId);
 }

+ 44 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/EtlKuaiShouGroupDailyReportMapper.xml

@@ -51,4 +51,48 @@
             )
         </foreach>
     </insert>
+
+    <select id="getTotal" resultType="java.lang.Long">
+        SELECT count(1)
+        FROM ctop_etl_kuaishou_group_daily_report t1
+        WHERE account_id = #{accountId}
+          AND t1.charge > 0
+          AND stat_date = DATE_FORMAT(now(), '%Y-%m-%d')
+    </select>
+
+    <select id="queryPageList" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+        account_id as 'accountId',
+        unit_name as 'unitName',
+        t1.charge,
+        ROUND(t1.charge/activation,2) as 'activationCost',
+        bid,
+        unit_status as 'unitStatus',
+        activation,
+        ROUND((t1.charge-t2.charge)/t2.charge*100,2) 'grew'
+        FROM ctop_etl_kuaishou_group_daily_report t1
+        LEFT JOIN (
+        SELECT charge,unit_id FROM ctop_etl_kuaishou_group_daily_report
+        WHERE account_id = 1
+        AND stat_date = DATE_FORMAT(date_sub(now(), interval 1 day), '%Y-%m-%d')
+        ) t2 ON t1.unit_id = t2.unit_id
+        WHERE account_id = #{accountId}
+        AND t1.charge > 0
+        AND stat_date = DATE_FORMAT(now(), '%Y-%m-%d')
+        <if test="sortCode == 'charge' ">
+            ORDER BY t1.charge
+        </if>
+        <if test="sortCode == 'activationCost' ">
+
+            ORDER BY t1.charge/activation
+        </if>
+        <if test="sortCode == 'bid' ">
+            ORDER BY bid
+        </if>
+        <if test="sortCode == 'activation' ">
+            ORDER BY activation
+        </if>
+        ${sortType}
+    </select>
+
 </mapper>

+ 11 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/EtlKuaiShouNewlyMapper.xml

@@ -29,4 +29,15 @@
             )
         </foreach>
     </insert>
+
+    <select id="getNewlyCounts" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT stat_date as 'statDate', account_id as 'accountId', new_count as 'newCount', new_type as 'newType'
+        FROM ctop_etl_kuaishou_newly
+        WHERE stat_date &gt;= DATE_FORMAT(date_sub(now(), interval 7 day), '%Y-%m-%d')
+          AND stat_date &lt;= DATE_FORMAT(date_sub(now(), interval 1 day), '%Y-%m-%d')
+          AND account_id = #{accountId}
+        group by stat_date, new_type
+    </select>
+
+
 </mapper>

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

@@ -97,4 +97,61 @@
         AND account_id = #{accountId}
         group by stat_date,${type}
     </select>
-</mapper>
+
+    <select id="getSceneEveryDayInfo" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+        account_id as 'accountId',
+        stat_date as 'statDate',
+        <if test="parType == 'alone'">
+            ${value} as 'value',
+        </if>
+        <if test="parType == 'more'">
+            <if test="value == 'activationCost'">
+                IFNULL(ROUND( charge/ activation,2),0) as 'value',
+            </if>
+            <if test="value == 'eventPayRoi'">
+                IFNULL(ROUND(event_pay_purchase_amount/charge*100,2),0) as 'value',
+            </if>
+            <if test="value == 'eventPayCost'">
+                IFNULL(ROUND(charge / event_pay,2),0) as 'value',
+            </if>
+            <if test="value == 'eventNextDayStayCost'">
+                IFNULL(ROUND(charge/ event_next_day_stay,2),0) as 'value',
+            </if>
+        </if>
+        IFNULL(ad_scene,'全部') as 'type'
+        FROM ctop_kuaishou_report_daily_account
+        where stat_date &gt;= DATE_FORMAT(date_sub(now(), interval 8 day), '%Y-%m-%d')
+        AND stat_date &lt;= DATE_FORMAT(date_sub(now(), interval 2 day), '%Y-%m-%d')
+        AND account_id = #{accountId}
+        group by stat_date,ad_scene
+    </select>
+
+    <select id="getSceneInfo" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+        account_id as 'accountId',
+        <if test="parType == 'alone'">
+            SUM(${value}) as 'value',
+        </if>
+        <if test="parType == 'more'">
+            <if test="value == 'activationCost'">
+                IFNULL(ROUND( SUM(charge)/ SUM(activation),2),0) as 'value',
+            </if>
+            <if test="value == 'eventPayRoi'">
+                IFNULL(ROUND( SUM(event_pay_purchase_amount)/ SUM(charge)*100,2),0) as 'value',
+            </if>
+            <if test="value == 'eventPayCost'">
+                IFNULL(ROUND( SUM(charge)/ SUM(event_pay),2),0) as 'value',
+            </if>
+            <if test="value == 'eventNextDayStayCost'">
+                IFNULL(ROUND(SUM(charge)/SUM(event_next_day_stay),2),0) as 'value',
+            </if>
+        </if>
+        IFNULL(ad_scene,'全部') as 'type'
+        FROM ctop_kuaishou_report_daily_account
+        where stat_date &gt;= DATE_FORMAT(date_sub(now(), interval 8 day), '%Y-%m-%d')
+        AND stat_date &lt;= DATE_FORMAT(date_sub(now(), interval 2 day), '%Y-%m-%d')
+        AND account_id = #{accountId}
+        group by ad_scene
+    </select>
+</mapper>

+ 6 - 4
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/EtlKuaishouReportAccountDailyMapper.xml

@@ -243,7 +243,7 @@
                 IFNULL(ROUND(SUM(submit) / SUM(bclick) * 100, 2), 0) as 'value',
             </if>
         </if>
-        stat_date
+        stat_date as 'statDate'
         FROM ctop_etl_kuaishou_report_account_daily
         WHERE account_id = #{accountId}
         AND stat_date &gt;= #{startTime}
@@ -253,9 +253,11 @@
 
 
     <select id="getMaxChargeAccountId" resultType="java.lang.Long">
-        select account_id
-        from ctop_etl_kuaishou_report_account_hourly
-        where stat_date = DATE_FORMAT(now(), '%Y-%m-%d')
+        SELECT t1.account_id
+        FROM ctop_user_allocation t1
+                 INNER JOIN ctop_kuaishou_report_hourly_account t2 ON t1.account_id = t2.account_id
+        where t2.stat_date = DATE_FORMAT(now(), '%Y-%m-%d')
+          AND t1.user_id = #{userId}
         order by charge desc limit 1
     </select>
 </mapper>

+ 4 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IEtlKuaiShouGroupDailyReportService.java

@@ -2,7 +2,9 @@ package cn.com.ctop.kuaishou.modules.report.service;
 
 import cn.com.ctop.kuaishou.modules.report.entity.EtlKuaiShouGroupDailyReport;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.common.api.vo.Result;
 
 /**
  * @Description: 快手组日报数据清洗
@@ -15,4 +17,6 @@ public interface IEtlKuaiShouGroupDailyReportService extends IService<EtlKuaiSho
     void cleanGroupData(Long accountId, JSONArray details);
 
     void getGroupReport(Long accountId, String accessToken, String startDate, String endDate, Integer page);
+
+    Result<Object> queryPageList(JSONObject request);
 }

+ 3 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IEtlKuaiShouNewlyService.java

@@ -2,6 +2,7 @@ package cn.com.ctop.kuaishou.modules.report.service;
 
 import cn.com.ctop.kuaishou.modules.report.entity.EtlKuaiShouNewly;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.common.api.vo.Result;
 
 /**
  * @Description: 快手 新上计划数据汇总
@@ -10,6 +11,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @Version: V1.0
  */
 public interface IEtlKuaiShouNewlyService extends IService<EtlKuaiShouNewly> {
+
     void cleanNewlyData(String statDate);
 
+    Result<Object> getNewlyCounts(Long accountId);
 }

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

@@ -18,4 +18,6 @@ public interface IEtlKuaishouAudienceAccountDailyService extends IService<EtlKua
     Result<Object> getSexInfo(JSONObject request);
 
     Result<Object> getAgeInfo(JSONObject request);
+
+    Result<Object> getSceneInfo(JSONObject request);
 }

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IEtlKuaishouReportAccountHourlyService.java

@@ -22,5 +22,5 @@ public interface IEtlKuaishouReportAccountHourlyService extends IService<EtlKuai
 
     Result<Object> getEtlReportList(JSONObject request);
 
-    Result<Object> getMaxChargeAccountId();
+    Result<Object> getMaxChargeAccountId(Long accountId);
 }

+ 29 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/EtlKuaiShouGroupDailyReportServiceImpl.java

@@ -11,7 +11,10 @@ import cn.com.ctop.kuaishou.modules.report.service.IEtlKuaiShouGroupDailyReportS
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -71,6 +74,32 @@ public class EtlKuaiShouGroupDailyReportServiceImpl extends ServiceImpl<EtlKuaiS
         getGroupReport(accountId, accessToken, startDate, endDate, page + 1);
     }
 
+    @Override
+    public Result<Object> queryPageList(JSONObject request) {
+        Integer pageNo = request.getInteger("pageNo");
+        Integer pageSize = request.getInteger("pageSize");
+        if (Check.isNull(pageNo)) {
+            pageNo = 1;
+        }
+        if (Check.isNull(pageSize)) {
+            pageSize = 10;
+        }
+        Long accountId = request.getLong("accountId");
+        String sortCode = request.getString("sortCode");
+        String sortType = request.getString("sortType");
+        if (Check.isNull(sortCode)) {
+            sortCode = "charge";
+        }
+        if (Check.isNull(sortType)) {
+            sortType = "DESC";
+        }
+        Long total = groupDailyReportMapper.getTotal(accountId);
+        PageHelper.startPage(pageNo, pageSize, false);
+        PageInfo pageInfo = new PageInfo(groupDailyReportMapper.queryPageList(accountId, sortCode, sortType));
+        pageInfo.setTotal(total);
+        return Result.ok(pageInfo);
+    }
+
     /**
      * 数据清洗
      *

+ 11 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/EtlKuaiShouNewlyServiceImpl.java

@@ -12,6 +12,7 @@ import cn.com.ctop.kuaishou.modules.report.entity.EtlKuaiShouNewly;
 import cn.com.ctop.kuaishou.modules.report.mapper.EtlKuaiShouNewlyMapper;
 import cn.com.ctop.kuaishou.modules.report.service.IEtlKuaiShouNewlyService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.common.api.vo.Result;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -111,4 +112,14 @@ public class EtlKuaiShouNewlyServiceImpl extends ServiceImpl<EtlKuaiShouNewlyMap
         typeList.add("unit");
         typeList.add("creative");
     }
+
+    @Override
+    public Result<Object> getNewlyCounts(Long accountId) {
+        List<Object> list = kuaiShouNewlyMapper.getNewlyCounts(accountId);
+        if (Check.isNull(list)) {
+            return Result.error("未查询到数据");
+        }
+        return Result.ok(list);
+    }
+
 }

+ 26 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/EtlKuaishouAudienceAccountDailyServiceImpl.java

@@ -89,4 +89,30 @@ public class EtlKuaishouAudienceAccountDailyServiceImpl extends ServiceImpl<EtlK
         }
         return Result.ok(list);
     }
+
+    @Override
+    public Result<Object> getSceneInfo(JSONObject request) {
+        Long accountId = request.getLong("accountId");
+        String value = request.getString("value");
+        String dataType = request.getString("dataType");
+        if (Check.isNull(accountId) || Check.isNull(value) || Check.isNull(dataType)) {
+            return Result.error("必填参数为空");
+        }
+        String parType = "more";
+        if (CheckParametersEnum.isInclude(value)) {
+            value = CheckParametersEnum.getSqlName(value);
+            parType = "alone";
+        }
+        List<JSONObject> list = null;
+        if ("pie".equals(dataType)) {
+            list = accountDailyMapper.getSceneInfo(value, accountId, parType);
+        } else if ("line".equals(dataType)) {
+            list = accountDailyMapper.getSceneEveryDayInfo(value, accountId, parType);
+        }
+        if (Check.isNull(list)) {
+            return Result.error("未查询到数据");
+        }
+        return Result.ok(list);
+    }
+
 }

+ 40 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/EtlKuaishouReportAccountHourlyServiceImpl.java

@@ -1,7 +1,13 @@
 package cn.com.ctop.kuaishou.modules.report.service.impl;
 
 
+import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.entity.UserAllocation;
+import cn.com.ctop.common.module.mapper.UserAllocationMapper;
+import cn.com.ctop.common.module.service.ICtopOauthTokenService;
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.kuaishou.modules.batch.mapper.KuaiShouCreativeMapper;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
 import cn.com.ctop.kuaishou.modules.report.entity.EtlKuaishouReportAccountHourly;
 import cn.com.ctop.kuaishou.modules.report.enums.CheckParametersEnum;
 import cn.com.ctop.kuaishou.modules.report.mapper.EtlKuaishouReportAccountDailyMapper;
@@ -10,7 +16,9 @@ import cn.com.ctop.kuaishou.modules.report.mapper.KuaishouReportHourlyAccountMap
 import cn.com.ctop.kuaishou.modules.report.service.IEtlKuaishouReportAccountHourlyService;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -32,12 +40,20 @@ public class EtlKuaishouReportAccountHourlyServiceImpl extends ServiceImpl<EtlKu
 
     @Autowired
     private KuaishouReportHourlyAccountMapper hourlyAccountMapper;
+    @Autowired
+    private KuaiShouCreativeMapper kuaiShouCreativeMapper;
+    @Autowired
+    private UserAllocationMapper allocationMapper;
 
     @Autowired
     private EtlKuaishouReportAccountHourlyMapper etlHourlyAccountMapper;
 
     @Autowired
+    private IKuaishouInterfaceService iKuaishouInterfaceService;
+    @Autowired
     private EtlKuaishouReportAccountDailyMapper etlDailyAccountMapper;
+    @Autowired
+    private ICtopOauthTokenService oauthTokenService;
 
     @Override
     public void queryEveryhourlyDataForAccount() {
@@ -121,8 +137,29 @@ public class EtlKuaishouReportAccountHourlyServiceImpl extends ServiceImpl<EtlKu
     }
 
     @Override
-    public Result<Object> getMaxChargeAccountId() {
-        Long accountId = etlDailyAccountMapper.getMaxChargeAccountId();
-        return Result.ok(accountId);
+    public Result<Object> getMaxChargeAccountId(Long accountId) {
+        if (Check.isNull(accountId)) {
+            LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+            accountId = etlDailyAccountMapper.getMaxChargeAccountId(sysUser.getId());
+        }
+        JSONObject obj = new JSONObject();
+        CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(accountId);
+        if (Check.isNull(oauthToken)) {
+            log.warn("未获取到账户信息");
+        }
+        JSONObject fundJson = iKuaishouInterfaceService.fundGet(oauthToken);
+        if (!Check.isNull(fundJson)) {
+            obj.put("totalBalance", fundJson.getBigDecimal("balance")); // 余额
+        }
+        UserAllocation userAllocation = allocationMapper.getUserAllocation(accountId);
+        if (!Check.isNull(userAllocation)) {
+            obj.put("accountId", userAllocation.getAccountId());
+            obj.put("accountName", userAllocation.getAuthName());
+            obj.put("status", userAllocation.getAccountStatus());
+            obj.put("statusStr", userAllocation.getAccountStatus() == 0 ? "投放中" : "无效");
+        }
+        Integer counts = kuaiShouCreativeMapper.getRejectedCountsforAccountId(accountId);
+        obj.put("rejectedCounts", counts);
+        return Result.ok(obj);
     }
 }