|
@@ -8,6 +8,7 @@ import cn.com.ctop.planeprojectcost.mapper.PlaneProjectCostMapper;
|
|
|
import cn.com.ctop.userefficientvideomap.entity.*;
|
|
|
import cn.com.ctop.userefficientvideomap.mapper.UserEfficientVideoMapMapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.sun.xml.internal.rngom.digested.DZeroOrMorePattern;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.shiro.SecurityUtils;
|
|
|
import org.jeecg.common.system.vo.LoginUser;
|
|
@@ -167,7 +168,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
//头条有效视频计算
|
|
|
private void toutiaoEffiVideo(Date calcDate, String effiCalcStart, String effiCalcEnd, String effiStart, String effiEnd, int thisYear, int thisMonth, int thisQuarter){
|
|
|
log.info("头条手有效视频统计开始,统计时间为 " + calcDate);
|
|
|
- //获取时间段内所有<快手>的有效视频
|
|
|
+ //获取时间段内所有头条的有效视频
|
|
|
List<EffiVideoDTO> EffiVideoDTOList = userEfficientVideoMapMapper.getToutiaoUserVideoMap(effiStart, effiEnd, effiCalcStart, effiCalcEnd);
|
|
|
|
|
|
for (EffiVideoDTO effiVideoDTO : EffiVideoDTOList) {
|
|
@@ -1628,6 +1629,198 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
}
|
|
|
|
|
|
|
|
|
+ //获取快手绩效时时数据接口
|
|
|
+ @Override
|
|
|
+ public List<UserDto2> kuaishouPerformanceInfoNow(){
|
|
|
+ //0 获取当前季度的时间
|
|
|
+ Map<String,Integer> dateMap = DateUtils.getYearQuarter(new Date());
|
|
|
+ Integer year = dateMap.get("year");
|
|
|
+ Integer quarter = dateMap.get("quarter");
|
|
|
+ Map<String,String> timeMap = DateUtils.quarterStartEndDate(year, quarter);
|
|
|
+ String startTime = timeMap.get("startTime");
|
|
|
+ String endTime = timeMap.get("endTime");
|
|
|
+
|
|
|
+ //1 获取快手下所有人
|
|
|
+ List<UserDto2> userDto2List = userEfficientVideoMapMapper.getKuaishouDepartUserInfo();
|
|
|
+ //2 循环所有人,并查询出每个人的有效视频数、总视频数、总消耗
|
|
|
+ for(UserDto2 userDto : userDto2List){
|
|
|
+ String roleCode = userDto.getRoleCode();
|
|
|
+ //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());
|
|
|
+ //2.3 总消耗
|
|
|
+ BigDecimal cost = BigDecimal.ZERO;
|
|
|
+ if("clip".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.getTotalCostByPlanId(userDto.getUserId(), startTime, endTime);
|
|
|
+ }else if("plan".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.getTotalCostByPlanId(userDto.getUserId(), startTime, endTime);
|
|
|
+ }else if ("shot".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.getTotalCostByPlanId(userDto.getUserId(), startTime, endTime);
|
|
|
+ }
|
|
|
+ userDto.setCost(cost);
|
|
|
+ userDto.setVideoCount(videoCount);
|
|
|
+ userDto.setEffiVideoCount(effiVideoCount);
|
|
|
+ }
|
|
|
+ return userDto2List;
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取头条绩效实时数据
|
|
|
+ public List<UserDto2> toutiaoPerformanceInfoNow(){
|
|
|
+ //0 获取当前季度的时间
|
|
|
+ Map<String,Integer> dateMap = DateUtils.getYearQuarter(new Date());
|
|
|
+ Integer year = dateMap.get("year");
|
|
|
+ Integer quarter = dateMap.get("quarter");
|
|
|
+ Map<String,String> timeMap = DateUtils.quarterStartEndDate(year, quarter);
|
|
|
+ String startTime = timeMap.get("startTime");
|
|
|
+ String endTime = timeMap.get("endTime");
|
|
|
+
|
|
|
+ //1 获取头条所有人
|
|
|
+ List<UserDto2> userDto2List = userEfficientVideoMapMapper.getToutiaoDepartUserInfo();
|
|
|
+ //2 循环所有人,并查询出每个人的有效视频数、总视频数、总消耗
|
|
|
+ for(UserDto2 userDto : userDto2List){
|
|
|
+ String roleCode = userDto.getRoleCode();
|
|
|
+ //2.1 获取有效视频数量
|
|
|
+ Integer effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, year, quarter,userDto.getUserId(),userDto.getRoleId());
|
|
|
+ //2.2 获取视频总数
|
|
|
+ Integer videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(userDto.getRoleCode(), startTime, endTime, userDto.getUserId());
|
|
|
+ //2.3 总消耗
|
|
|
+ BigDecimal cost = BigDecimal.ZERO;
|
|
|
+ if("clip".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.toutiaoGetTotalCostByPlanId(userDto.getUserId(), startTime, endTime);
|
|
|
+ }else if("plan".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.toutiaoGetTotalCostByPlanId(userDto.getUserId(), startTime, endTime);
|
|
|
+ }else if ("shot".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.toutiaoGetTotalCostByPlanId(userDto.getUserId(), startTime, endTime);
|
|
|
+ }
|
|
|
+ userDto.setCost(cost);
|
|
|
+ userDto.setVideoCount(videoCount);
|
|
|
+ userDto.setEffiVideoCount(effiVideoCount);
|
|
|
+ }
|
|
|
+ return userDto2List;
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取快手绩效时时数据接口
|
|
|
+ @Override
|
|
|
+ public List<UserDto2> kuaishouWeekReport(String startDate, String endDate){
|
|
|
+ //1 获取快手下所有人
|
|
|
+ List<UserDto2> userDto2List = userEfficientVideoMapMapper.getKuaishouDepartUserInfo();
|
|
|
+ //2 循环所有人,并查询出每个人的有效视频数、总视频数、总消耗
|
|
|
+ for(UserDto2 userDto : userDto2List){
|
|
|
+ String roleCode = userDto.getRoleCode();
|
|
|
+ //2.1 获取有效视频数量
|
|
|
+ Integer effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByCalcDate(startDate, endDate, userDto.getRoleId(), userDto.getUserId(),2);
|
|
|
+ //2.2 获取有效视频总数
|
|
|
+ Integer videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(userDto.getRoleCode(), startDate, endDate, userDto.getUserId());
|
|
|
+ //2.3 总消耗
|
|
|
+ BigDecimal cost = BigDecimal.ZERO;
|
|
|
+ if("clip".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.getTotalCostByPlanId(userDto.getUserId(), startDate, endDate);
|
|
|
+ }else if("plan".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.getTotalCostByPlanId(userDto.getUserId(), startDate, endDate);
|
|
|
+ }else if ("shot".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.getTotalCostByPlanId(userDto.getUserId(), startDate, endDate);
|
|
|
+ }
|
|
|
+ userDto.setCost(cost);
|
|
|
+ userDto.setVideoCount(videoCount);
|
|
|
+ userDto.setEffiVideoCount(effiVideoCount);
|
|
|
+ }
|
|
|
+
|
|
|
+ return userDto2List;
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取头条绩效实时数据
|
|
|
+ public List<UserDto2> toutiaoWeekReport(String startDate, String endDate){
|
|
|
+ //1 获取头条所有人
|
|
|
+ List<UserDto2> userDto2List = userEfficientVideoMapMapper.getToutiaoDepartUserInfo();
|
|
|
+ //2 循环所有人,并查询出每个人的有效视频数、总视频数、总消耗
|
|
|
+ for(UserDto2 userDto : userDto2List){
|
|
|
+ String roleCode = userDto.getRoleCode();
|
|
|
+ //2.1 获取有效视频数量
|
|
|
+ Integer effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByCalcDate(startDate, endDate, userDto.getRoleId(), userDto.getUserId(),1);
|
|
|
+ //2.2 获取视频总数
|
|
|
+ Integer videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(userDto.getRoleCode(), startDate, endDate, userDto.getUserId());
|
|
|
+ //2.3 总消耗
|
|
|
+ BigDecimal cost = BigDecimal.ZERO;
|
|
|
+ if("clip".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.toutiaoGetTotalCostByPlanId(userDto.getUserId(), startDate, endDate);
|
|
|
+ }else if("plan".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.toutiaoGetTotalCostByPlanId(userDto.getUserId(), startDate, endDate);
|
|
|
+ }else if ("shot".equals(roleCode)){
|
|
|
+ cost = userEfficientVideoMapMapper.toutiaoGetTotalCostByPlanId(userDto.getUserId(), startDate, endDate);
|
|
|
+ }
|
|
|
+ userDto.setCost(cost);
|
|
|
+ userDto.setVideoCount(videoCount);
|
|
|
+ userDto.setEffiVideoCount(effiVideoCount);
|
|
|
+ }
|
|
|
+ return userDto2List;
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取快手季度绩效报表
|
|
|
+ @Override
|
|
|
+ public List<UserDto2> kuaishouQuarterReport(Integer year, Integer quarter){
|
|
|
+ //0 获取当季度的开始和结束时间
|
|
|
+ Map<String,String> timeMap = DateUtils.quarterStartEndDate(year, quarter);
|
|
|
+ String startTime = timeMap.get("startTime");
|
|
|
+ String endTime = timeMap.get("endTime");
|
|
|
+
|
|
|
+ //1 获取快手下所有人
|
|
|
+ List<UserDto2> userDto2List = userEfficientVideoMapMapper.getKuaishouDepartUserInfo();
|
|
|
+ //2 循环所有人,并查询出每个人的有效视频数、总视频数、总消耗
|
|
|
+ for(UserDto2 userDto : userDto2List){
|
|
|
+ String roleCode = userDto.getRoleCode();
|
|
|
+ //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());
|
|
|
+ //2.3 总消耗
|
|
|
+ BigDecimal cost = userEfficientVideoMapMapper.getQuarterCost(userDto.getUserId(),year,quarter,2);
|
|
|
+ if (cost == null){
|
|
|
+ cost=BigDecimal.ZERO;
|
|
|
+ }
|
|
|
+ //2.4 当季度绩效
|
|
|
+ BigDecimal performance = userEfficientVideoMapMapper.getQuarterPerformance(userDto.getUserId(),year, quarter, 2);
|
|
|
+
|
|
|
+ userDto.setEffiRate(performance);
|
|
|
+ userDto.setCost(cost);
|
|
|
+ userDto.setVideoCount(videoCount);
|
|
|
+ userDto.setEffiVideoCount(effiVideoCount);
|
|
|
+ }
|
|
|
+ return userDto2List;
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取快手季度绩效报表
|
|
|
+ @Override
|
|
|
+ public List<UserDto2> toutiaoQuarterReport(Integer year, Integer quarter){
|
|
|
+ //0 获取当季度的开始和结束时间
|
|
|
+ Map<String,String> timeMap = DateUtils.quarterStartEndDate(year, quarter);
|
|
|
+ String startTime = timeMap.get("startTime");
|
|
|
+ String endTime = timeMap.get("endTime");
|
|
|
+
|
|
|
+ //1 获取快手下所有人
|
|
|
+ List<UserDto2> userDto2List = userEfficientVideoMapMapper.getKuaishouDepartUserInfo();
|
|
|
+ //2 循环所有人,并查询出每个人的有效视频数、总视频数、总消耗
|
|
|
+ for(UserDto2 userDto : userDto2List){
|
|
|
+ String roleCode = userDto.getRoleCode();
|
|
|
+ //2.1 获取有效视频数量
|
|
|
+ Integer effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, year, quarter,userDto.getUserId(),userDto.getRoleId());
|
|
|
+ //2.2 获取有效视频总数
|
|
|
+ Integer videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(userDto.getRoleCode(), startTime, endTime, userDto.getUserId());
|
|
|
+ //2.3 总消耗
|
|
|
+ BigDecimal cost = userEfficientVideoMapMapper.getQuarterCost(userDto.getUserId(),year,quarter,1);
|
|
|
+ if (cost == null){
|
|
|
+ cost=BigDecimal.ZERO;
|
|
|
+ }
|
|
|
+ //2.4 当季度绩效
|
|
|
+ BigDecimal performance = userEfficientVideoMapMapper.getQuarterPerformance(userDto.getUserId(),year, quarter, 1);
|
|
|
+
|
|
|
+ userDto.setEffiRate(performance);
|
|
|
+ userDto.setCost(cost);
|
|
|
+ userDto.setVideoCount(videoCount);
|
|
|
+ userDto.setEffiVideoCount(effiVideoCount);
|
|
|
+ }
|
|
|
+ return userDto2List;
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|