Преглед на файлове

季度运营消耗明细接口

hcst_sunzhen преди 5 години
родител
ревизия
f6819ec132

+ 24 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/PerformanceController2.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.system.controller;
 package org.jeecg.modules.system.controller;
 
 
 import cn.com.ctop.common.module.entity.MaterialInfo;
 import cn.com.ctop.common.module.entity.MaterialInfo;
+import cn.com.ctop.performanceaccount.entity.PerformanceAccount;
 import cn.com.ctop.performanceappraisal.entity.Performance;
 import cn.com.ctop.performanceappraisal.entity.Performance;
 import cn.com.ctop.userefficientvideomap.entity.AccountDTO;
 import cn.com.ctop.userefficientvideomap.entity.AccountDTO;
 import cn.com.ctop.userefficientvideomap.entity.DesignMaterialInfo;
 import cn.com.ctop.userefficientvideomap.entity.DesignMaterialInfo;
@@ -614,4 +615,27 @@ public class PerformanceController2 {
         return result;
         return result;
     }
     }
 
 
+
+    //头条优化季度绩效报表
+    @AutoLog(value = "头条优化季度绩效报表")
+    @ApiOperation(value = "头条优化季度绩效报表", notes = "头条优化季度绩效报表")
+    @PostMapping(value = "/getYunyingQuarterDetailByUserId")
+    public Result<List<PerformanceAccount>> getYunyingQuarterDetailByUserId(@RequestBody PerformanceTimeDTO dto,
+                                                             HttpServletRequest req) {
+        Result<List<PerformanceAccount>> result = new Result<>();
+        Integer year = dto.getYear();
+        Integer quarter = dto.getQuarter();
+        String userId = dto.getUserId();
+        Integer appType = dto.getAppType();
+        if(year==null || quarter == null || StringUtils.isBlank(userId) || appType == null){
+            result.setSuccess(false);
+            result.setMessage("时间不能为空");
+        }
+        List<PerformanceAccount> userDto2List = performanceService.getYunyingQuarterDetailByUserId(year, quarter, userId, appType);
+        result.setSuccess(true);
+        result.setResult(userDto2List);
+        return result;
+    }
+
+
 }
 }

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/IPerformanceService2.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.system.service;
 package org.jeecg.modules.system.service;
 
 
 import cn.com.ctop.common.module.entity.MaterialInfo;
 import cn.com.ctop.common.module.entity.MaterialInfo;
+import cn.com.ctop.performanceaccount.entity.PerformanceAccount;
 import cn.com.ctop.performanceappraisal.entity.Performance;
 import cn.com.ctop.performanceappraisal.entity.Performance;
 import cn.com.ctop.userefficientvideomap.entity.AccountDTO;
 import cn.com.ctop.userefficientvideomap.entity.AccountDTO;
 import cn.com.ctop.userefficientvideomap.entity.DesignMaterialInfo;
 import cn.com.ctop.userefficientvideomap.entity.DesignMaterialInfo;
@@ -118,4 +119,7 @@ public interface IPerformanceService2 extends IService<Performance> {
 
 
     //头条优化季度绩效报表
     //头条优化季度绩效报表
     List<UserDto2> toutiaoYouhuaQuarterReport(Integer year, Integer quarter);
     List<UserDto2> toutiaoYouhuaQuarterReport(Integer year, Integer quarter);
+
+    //根据userId获取此人在季度的消耗明细
+    List<PerformanceAccount> getYunyingQuarterDetailByUserId(Integer year, Integer quarter, String userId, Integer appType);
 }
 }

+ 22 - 13
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/PerformanceServiceImpl2.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.system.service.impl;
 package org.jeecg.modules.system.service.impl;
 
 
 import cn.com.ctop.common.module.entity.MaterialInfo;
 import cn.com.ctop.common.module.entity.MaterialInfo;
+import cn.com.ctop.performanceaccount.entity.PerformanceAccount;
 import cn.com.ctop.performanceappraisal.entity.Performance;
 import cn.com.ctop.performanceappraisal.entity.Performance;
 import cn.com.ctop.performanceappraisal.mapper.PerformanceMapper;
 import cn.com.ctop.performanceappraisal.mapper.PerformanceMapper;
 import cn.com.ctop.planeprojectcost.entity.PlaneProjectCost;
 import cn.com.ctop.planeprojectcost.entity.PlaneProjectCost;
@@ -2382,6 +2383,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
         Map<String, String> timeMap = DateUtils.quarterStartEndDate(year, quarter);
         Map<String, String> timeMap = DateUtils.quarterStartEndDate(year, quarter);
         String startTime = timeMap.get("startDate");
         String startTime = timeMap.get("startDate");
         String endTime = timeMap.get("endDate");
         String endTime = timeMap.get("endDate");
+        Integer appType = 2;
 
 
         //1 获取快手下所有人
         //1 获取快手下所有人
         List<UserDto2> userDto2List = userEfficientVideoMapMapper.getKuaishouDepartAllUserInfo();
         List<UserDto2> userDto2List = userEfficientVideoMapMapper.getKuaishouDepartAllUserInfo();
@@ -2389,11 +2391,11 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
         for (UserDto2 userDto : userDto2List) {
         for (UserDto2 userDto : userDto2List) {
             //String roleCode = userDto.getRoleCode();
             //String roleCode = userDto.getRoleCode();
             //2.1 获取有效视频数量
             //2.1 获取有效视频数量
-            Integer effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, year, quarter, userDto.getUserId(), userDto.getRoleId());
-            //2.2 获取有效视频总数
-            Integer videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(userDto.getRoleCode(), startTime, endTime, userDto.getUserId());
+            Integer effiVideoCount = userEfficientVideoMapMapper.getQuarterEffiVideoCount(year, quarter, userDto.getUserId(), appType);
+            //2.2 获取视频总数
+            Integer videoCount = userEfficientVideoMapMapper.getQuarterVideoCount(year, quarter, userDto.getUserId(), appType);
             //2.3 总消耗
             //2.3 总消耗
-            BigDecimal cost = userEfficientVideoMapMapper.getQuarterCost(userDto.getUserId(), year, quarter, 2);
+            BigDecimal cost = userEfficientVideoMapMapper.getQuarterCost(userDto.getUserId(), year, quarter, appType);
             if (cost == null) {
             if (cost == null) {
                 cost = BigDecimal.ZERO;
                 cost = BigDecimal.ZERO;
             }
             }
@@ -2417,6 +2419,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
         Map<String, String> timeMap = DateUtils.quarterStartEndDate(year, quarter);
         Map<String, String> timeMap = DateUtils.quarterStartEndDate(year, quarter);
         String startTime = timeMap.get("startDate");
         String startTime = timeMap.get("startDate");
         String endTime = timeMap.get("endDate");
         String endTime = timeMap.get("endDate");
+        Integer appType = 1;
 
 
         //1 获取头条下所有人
         //1 获取头条下所有人
         List<UserDto2> userDto2List = userEfficientVideoMapMapper.getToutiaoDepartAllUserInfo();
         List<UserDto2> userDto2List = userEfficientVideoMapMapper.getToutiaoDepartAllUserInfo();
@@ -2424,16 +2427,16 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
         for (UserDto2 userDto : userDto2List) {
         for (UserDto2 userDto : userDto2List) {
             //String roleCode = userDto.getRoleCode();
             //String roleCode = userDto.getRoleCode();
             //2.1 获取有效视频数量
             //2.1 获取有效视频数量
-            Integer effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, year, quarter, userDto.getUserId(), userDto.getRoleId());
+            Integer effiVideoCount = userEfficientVideoMapMapper.getQuarterEffiVideoCount(year, quarter, userDto.getUserId(), appType);
             //2.2 获取有效视频总数
             //2.2 获取有效视频总数
-            Integer videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(userDto.getRoleCode(), startTime, endTime, userDto.getUserId());
+            Integer videoCount = userEfficientVideoMapMapper.getQuarterVideoCount(year, quarter, userDto.getUserId(), appType);
             //2.3 总消耗
             //2.3 总消耗
-            BigDecimal cost = userEfficientVideoMapMapper.getQuarterCost(userDto.getUserId(), year, quarter, 1);
+            BigDecimal cost = userEfficientVideoMapMapper.getQuarterCost(userDto.getUserId(), year, quarter, appType);
             if (cost == null) {
             if (cost == null) {
                 cost = BigDecimal.ZERO;
                 cost = BigDecimal.ZERO;
             }
             }
             //2.4 当季度绩效
             //2.4 当季度绩效
-            BigDecimal performance = userEfficientVideoMapMapper.getQuarterPerformance(userDto.getUserId(), year, quarter, 1);
+            BigDecimal performance = userEfficientVideoMapMapper.getQuarterPerformance(userDto.getUserId(), year, quarter, appType);
             if(performance==null){
             if(performance==null){
                 performance=BigDecimal.ZERO;
                 performance=BigDecimal.ZERO;
             }
             }
@@ -2501,17 +2504,18 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
     //快手优化季度绩效报表
     //快手优化季度绩效报表
     @Override
     @Override
     public List<UserDto2> kuaishouYouhuaQuarterReport(Integer year, Integer quarter) {
     public List<UserDto2> kuaishouYouhuaQuarterReport(Integer year, Integer quarter) {
+        Integer appType = 2;
         //1 获取快手下所有人
         //1 获取快手下所有人
         List<UserDto2> userDto2List = userEfficientVideoMapMapper.getKuaishouYunyingDepartUserInfo();
         List<UserDto2> userDto2List = userEfficientVideoMapMapper.getKuaishouYunyingDepartUserInfo();
         //2 循环所有人,并查询出每个人的有效视频数、总视频数、总消耗
         //2 循环所有人,并查询出每个人的有效视频数、总视频数、总消耗
         for (UserDto2 userDto : userDto2List) {
         for (UserDto2 userDto : userDto2List) {
             //总消耗
             //总消耗
-            BigDecimal cost = userEfficientVideoMapMapper.getQuarterCost(userDto.getUserId(), year, quarter, 2);
+            BigDecimal cost = userEfficientVideoMapMapper.getYunyingQuarterCost(year, quarter, userDto.getUserId(), appType);
             if (cost == null) {
             if (cost == null) {
                 cost = BigDecimal.ZERO;
                 cost = BigDecimal.ZERO;
             }
             }
             //当季度绩效
             //当季度绩效
-            BigDecimal performance = userEfficientVideoMapMapper.getQuarterPerformance(userDto.getUserId(), year, quarter, 2);
+            BigDecimal performance = userEfficientVideoMapMapper.getYunyingQuarterPerformance(year, quarter, userDto.getUserId(), appType);
             if(performance==null){
             if(performance==null){
                 performance=BigDecimal.ZERO;
                 performance=BigDecimal.ZERO;
             }
             }
@@ -2519,7 +2523,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
             userDto.setCost(cost);
             userDto.setCost(cost);
             userDto.setYear(year);
             userDto.setYear(year);
             userDto.setQuarter(quarter);
             userDto.setQuarter(quarter);
-            userDto.setAppType(2);
+            userDto.setAppType(appType);
         }
         }
         return userDto2List;
         return userDto2List;
     }
     }
@@ -2527,17 +2531,18 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
     //头条优化季度绩效报表
     //头条优化季度绩效报表
     //@Override
     //@Override
     public List<UserDto2> toutiaoYouhuaQuarterReport(Integer year, Integer quarter) {
     public List<UserDto2> toutiaoYouhuaQuarterReport(Integer year, Integer quarter) {
+        Integer appType = 1;
         //1 获取快手下所有人
         //1 获取快手下所有人
         List<UserDto2> userDto2List = userEfficientVideoMapMapper.getToutiaoYunyingDepartUserInfo();
         List<UserDto2> userDto2List = userEfficientVideoMapMapper.getToutiaoYunyingDepartUserInfo();
         //2 循环所有人,并查询出每个人的有效视频数、总视频数、总消耗
         //2 循环所有人,并查询出每个人的有效视频数、总视频数、总消耗
         for (UserDto2 userDto : userDto2List) {
         for (UserDto2 userDto : userDto2List) {
             //总消耗
             //总消耗
-            BigDecimal cost = userEfficientVideoMapMapper.getQuarterCost(userDto.getUserId(), year, quarter, 1);
+            BigDecimal cost = userEfficientVideoMapMapper.getYunyingQuarterCost(year, quarter, userDto.getUserId(), appType);
             if (cost == null) {
             if (cost == null) {
                 cost = BigDecimal.ZERO;
                 cost = BigDecimal.ZERO;
             }
             }
             //当季度绩效
             //当季度绩效
-            BigDecimal performance = userEfficientVideoMapMapper.getQuarterPerformance(userDto.getUserId(), year, quarter, 1);
+            BigDecimal performance = userEfficientVideoMapMapper.getYunyingQuarterPerformance(year, quarter, userDto.getUserId(), appType);
             if(performance==null){
             if(performance==null){
                 performance=BigDecimal.ZERO;
                 performance=BigDecimal.ZERO;
             }
             }
@@ -2550,5 +2555,9 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
         return userDto2List;
         return userDto2List;
     }
     }
 
 
+    public List<PerformanceAccount> getYunyingQuarterDetailByUserId(Integer year, Integer quarter, String userId, Integer appType){
+        return userEfficientVideoMapMapper.getYunyingQuarterDetailByUserId(year, quarter, userId, appType);
+    }
+
 }
 }
 
 

+ 13 - 0
performance-appraisal/src/main/java/cn/com/ctop/performanceaccount/entity/PerformanceAccount.java

@@ -74,4 +74,17 @@ public class PerformanceAccount {
 	/**updateTime*/
 	/**updateTime*/
     @ApiModelProperty(value = "updateTime")
     @ApiModelProperty(value = "updateTime")
 	private Date updateTime;
 	private Date updateTime;
+
+	@TableField(exist = false)
+	private String realname;
+
+	@TableField(exist = false)
+	private String authName;
+
+	@TableField(exist = false)
+	private String advertiserName;
+
+	@TableField(exist = false)
+	private String projectName;
+
 }
 }

+ 12 - 0
performance-appraisal/src/main/java/cn/com/ctop/userefficientvideomap/mapper/UserEfficientVideoMapMapper.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.userefficientvideomap.mapper;
 package cn.com.ctop.userefficientvideomap.mapper;
 
 
 import cn.com.ctop.common.module.entity.MaterialInfo;
 import cn.com.ctop.common.module.entity.MaterialInfo;
+import cn.com.ctop.performanceaccount.entity.PerformanceAccount;
 import cn.com.ctop.userefficientvideomap.entity.*;
 import cn.com.ctop.userefficientvideomap.entity.*;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
@@ -212,5 +213,16 @@ public interface UserEfficientVideoMapMapper extends BaseMapper<UserEfficientVid
 
 
     String getRoleCodeByUserId(@Param("userId")String userId);
     String getRoleCodeByUserId(@Param("userId")String userId);
 
 
+    Integer getQuarterVideoCount(@Param("year")Integer year, @Param("quarter")Integer quarter, @Param("userId")String userId, @Param("appType")Integer appType);
+
+    Integer getQuarterEffiVideoCount(@Param("year")Integer year, @Param("quarter")Integer quarter, @Param("userId")String userId, @Param("appType")Integer appType);
+
+    BigDecimal getYunyingQuarterCost(@Param("year")Integer year, @Param("quarter")Integer quarter, @Param("userId")String userId, @Param("appType")Integer appType);
+
+    BigDecimal getYunyingQuarterPerformance(@Param("year")Integer year, @Param("quarter")Integer quarter, @Param("userId")String userId, @Param("appType")Integer appType);
+
+    List<PerformanceAccount> getYunyingQuarterDetailByUserId(@Param("year")Integer year, @Param("quarter")Integer quarter, @Param("userId")String userId, @Param("appType")Integer appType);
+
+
 }
 }
 
 

+ 61 - 0
performance-appraisal/src/main/java/cn/com/ctop/userefficientvideomap/mapper/xml/UserEfficientVideoMapMapper.xml

@@ -75,6 +75,26 @@
         </choose>
         </choose>
     </select>
     </select>
 
 
+    <select id="getQuarterVideoCount" resultType="integer">
+            select
+            count(1)
+        from ctop_user_video_map
+        where user_id = #{userId}
+        and app_type = #{appType}
+        and year = #{year}
+        and quarter = #{quarter}
+    </select>
+
+    <select id="getQuarterEffiVideoCount" resultType="integer">
+            select
+            count(1)
+        from ctop_user_efficient_video_map
+        where user_id = #{userId}
+        and app_type = #{appType}
+        and year = #{year}
+        and quarter = #{quarter}
+    </select>
+
     <select id="getVideoCountByUserId" resultType="integer">
     <select id="getVideoCountByUserId" resultType="integer">
             select
             select
             count(1)
             count(1)
@@ -643,6 +663,26 @@
         limit 1
         limit 1
     </select>
     </select>
 
 
+    <select id="getYunyingQuarterCost" resultType="java.math.BigDecimal">
+            select
+            total_cost
+        from ctop_performance_optimizer
+        where user_id = #{userId}
+        and app_type = #{appType}
+        and year = #{year}
+        and quarter = #{quarter}
+    </select>
+
+    <select id="getYunyingQuarterPerformance" resultType="java.math.BigDecimal">
+            select
+            total_royalty
+        from ctop_performance_optimizer
+        where user_id = #{userId}
+        and app_type = #{appType}
+        and year = #{year}
+        and quarter = #{quarter}
+    </select>
+
     <select id="getOrgCodeByProjectId" resultType="string">
     <select id="getOrgCodeByProjectId" resultType="string">
             select
             select
             c.org_code
             c.org_code
@@ -1440,5 +1480,26 @@
         where b.user_id = #{userId}
         where b.user_id = #{userId}
     </select>
     </select>
 
 
+    <select id="getYunyingQuarterDetailByUserId" resultType="cn.com.ctop.performanceaccount.entity.PerformanceAccount">
+        select
+        c.realname,
+        a.account_id,
+        b.auth_name,
+        a.cost,
+        a.start_date,
+        a.end_date,
+        b.advertiser_name,
+        b.project_name
+        from
+        ctop_performance_account a
+        left join ctop_user_allocation b on a.account_id = b.account_id
+        left join sys_user c on a.user_id = c.id
+        where
+        media_type = #{appType}
+        and a.user_id = #{userId}
+        and a.year = #{year}
+        and a.quarter = #{quarter}
+    </select>
+
 
 
 </mapper>
 </mapper>