|
@@ -316,7 +316,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//循环编导列表计算视频有效率并排序
|
|
//循环编导列表计算视频有效率并排序
|
|
for (UserDto2 userDto : planList) {
|
|
for (UserDto2 userDto : planList) {
|
|
//有效视频数量 1toutiao 2kuaishou
|
|
//有效视频数量 1toutiao 2kuaishou
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, thisYear, thisQuarter, userDto.getUserId());
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, thisYear, thisQuarter, userDto.getUserId(),"0214283aa16f943efbb149ea4bb18f18");
|
|
//总视频数量
|
|
//总视频数量
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("plan", startTime, endTime, userDto.getUserId());
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("plan", startTime, endTime, userDto.getUserId());
|
|
//视频有效率
|
|
//视频有效率
|
|
@@ -333,7 +333,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
|
|
|
//循环前30%有绩效的人数并计算其绩效,并入库
|
|
//循环前30%有绩效的人数并计算其绩效,并入库
|
|
for (int i = 0; i <= top30 - 1; i++) {
|
|
for (int i = 0; i <= top30 - 1; i++) {
|
|
- //总消耗--获取这个人所在项目的总消耗
|
|
|
|
|
|
+ //总消耗--获取这个人的总消耗
|
|
BigDecimal totalCost = userEfficientVideoMapMapper.getTotalCostByPlanId(planList.get(i).getUserId(), startTime, endTime);
|
|
BigDecimal totalCost = userEfficientVideoMapMapper.getTotalCostByPlanId(planList.get(i).getUserId(), startTime, endTime);
|
|
//总绩效=总消耗*提点比例(5‰)*提成比例(编导40%)
|
|
//总绩效=总消耗*提点比例(5‰)*提成比例(编导40%)
|
|
BigDecimal totalPerformance = totalCost.multiply(new BigDecimal("0.005")).multiply(new BigDecimal("0.4"));
|
|
BigDecimal totalPerformance = totalCost.multiply(new BigDecimal("0.005")).multiply(new BigDecimal("0.4"));
|
|
@@ -389,7 +389,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
List<UserDto2> shotList = userEfficientVideoMapMapper.getKuaishouShotList(); //拍摄
|
|
List<UserDto2> shotList = userEfficientVideoMapMapper.getKuaishouShotList(); //拍摄
|
|
for (UserDto2 userDto : shotList) {
|
|
for (UserDto2 userDto : shotList) {
|
|
//有效视频数量 //1toutiao 2kuaishou
|
|
//有效视频数量 //1toutiao 2kuaishou
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2,thisYear, thisQuarter, userDto.getUserId());
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2,thisYear, thisQuarter, userDto.getUserId(),"7bff9afed625aeeabca6bffe3c189183");
|
|
//总视频数量
|
|
//总视频数量
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("shot", startTime, endTime, userDto.getUserId());
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("shot", startTime, endTime, userDto.getUserId());
|
|
//视频有效率
|
|
//视频有效率
|
|
@@ -462,7 +462,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
List<UserDto2> clipList = userEfficientVideoMapMapper.getKuaishouClipList(); //剪辑
|
|
List<UserDto2> clipList = userEfficientVideoMapMapper.getKuaishouClipList(); //剪辑
|
|
for (UserDto2 userDto : clipList) {
|
|
for (UserDto2 userDto : clipList) {
|
|
//有效视频数量
|
|
//有效视频数量
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, thisYear, thisQuarter, userDto.getUserId());
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, thisYear, thisQuarter, userDto.getUserId(),"f38d8d70cf7ec50d5357a749e4dbf8ee");
|
|
//总视频数量
|
|
//总视频数量
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("clip", startTime, endTime, userDto.getUserId());
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("clip", startTime, endTime, userDto.getUserId());
|
|
//视频有效率
|
|
//视频有效率
|
|
@@ -638,7 +638,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//循环编导列表计算视频有效率并排序
|
|
//循环编导列表计算视频有效率并排序
|
|
for (UserDto2 userDto : planList) {
|
|
for (UserDto2 userDto : planList) {
|
|
//有效视频数量
|
|
//有效视频数量
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, thisYear, thisQuarter, userDto.getUserId()); //媒体类型 //1头条 2快手
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, thisYear, thisQuarter, userDto.getUserId(),"0214283aa16f943efbb149ea4bb18f18"); //媒体类型 //1头条 2快手
|
|
//总视频数量
|
|
//总视频数量
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("plan", startTime, endTime, userDto.getUserId());
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("plan", startTime, endTime, userDto.getUserId());
|
|
//视频有效率
|
|
//视频有效率
|
|
@@ -711,7 +711,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
List<UserDto2> shotList = userEfficientVideoMapMapper.getToutiaoShotList(); //拍摄
|
|
List<UserDto2> shotList = userEfficientVideoMapMapper.getToutiaoShotList(); //拍摄
|
|
for (UserDto2 userDto : shotList) {
|
|
for (UserDto2 userDto : shotList) {
|
|
//有效视频数量
|
|
//有效视频数量
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1,thisYear, thisQuarter, userDto.getUserId());
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1,thisYear, thisQuarter, userDto.getUserId(),"7bff9afed625aeeabca6bffe3c189183");
|
|
//总视频数量
|
|
//总视频数量
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("shot", startTime, endTime, userDto.getUserId());
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("shot", startTime, endTime, userDto.getUserId());
|
|
//视频有效率
|
|
//视频有效率
|
|
@@ -784,7 +784,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
List<UserDto2> clipList = userEfficientVideoMapMapper.getKuaishouClipList(); //剪辑
|
|
List<UserDto2> clipList = userEfficientVideoMapMapper.getKuaishouClipList(); //剪辑
|
|
for (UserDto2 userDto : clipList) {
|
|
for (UserDto2 userDto : clipList) {
|
|
//有效视频数量 //1头条 2快手
|
|
//有效视频数量 //1头条 2快手
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, thisYear, thisQuarter, userDto.getUserId());
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, thisYear, thisQuarter, userDto.getUserId(),"f38d8d70cf7ec50d5357a749e4dbf8ee");
|
|
//总视频数量
|
|
//总视频数量
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("clip", startTime, endTime, userDto.getUserId());
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("clip", startTime, endTime, userDto.getUserId());
|
|
//视频有效率
|
|
//视频有效率
|
|
@@ -951,17 +951,18 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//绩效计算结束
|
|
//绩效计算结束
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
-
|
|
|
|
|
|
+/*
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//页面接口 start
|
|
//页面接口 start
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//1
|
|
//1
|
|
- //季度到前一天为止个人的有效数量、素材总数、素材有效率、总跑量
|
|
|
|
|
|
+ //上个季度个人的有效数量、素材总数、素材有效率、总跑量
|
|
//{"effiVideoCount有效数":70,"videoCount素材总数":200,"effiRate":40,"cost":2019;performance绩效":20000}
|
|
//{"effiVideoCount有效数":70,"videoCount素材总数":200,"effiRate":40,"cost":2019;performance绩效":20000}
|
|
@Override
|
|
@Override
|
|
public Map<String, Object> getPerformanceInfo() {
|
|
public Map<String, Object> getPerformanceInfo() {
|
|
Map<String, Object> performanceInfoMap = new HashMap<>();
|
|
Map<String, Object> performanceInfoMap = new HashMap<>();
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
|
+ //String roleCode = sysRoleMapper.getRoleCodeByUserId(sysUser.getId());
|
|
//LoginUser sysUser = new LoginUser();
|
|
//LoginUser sysUser = new LoginUser();
|
|
//sysUser.setId("9712328fddd1443faf566ddb87693658");
|
|
//sysUser.setId("9712328fddd1443faf566ddb87693658");
|
|
String orgCode = sysUser.getOrgCode();
|
|
String orgCode = sysUser.getOrgCode();
|
|
@@ -970,9 +971,43 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
appType = 1;
|
|
appType = 1;
|
|
} else if (null != orgCode && orgCode.startsWith("A01A07")) {//快手
|
|
} else if (null != orgCode && orgCode.startsWith("A01A07")) {//快手
|
|
appType = 2;
|
|
appType = 2;
|
|
|
|
+ }else{
|
|
|
|
+ log.info("getPerformanceInfo接口" + sysUser.getRealname() + "orgCode不正确");
|
|
|
|
+ return performanceInfoMap;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Map<String,Integer> quarterMap = DateUtils.lastQuarter(new Date());
|
|
|
|
+ Integer year = quarterMap.get("year");
|
|
|
|
+ Integer quarter = quarterMap.get("quarter");
|
|
|
|
+ Map<String,String> startEndDateMap = DateUtils.quarterStartEndDate(year,quarter);
|
|
|
|
+ String startDate = startEndDateMap.get("startDate");
|
|
|
|
+ String endDate = startEndDateMap.get("endDate");
|
|
|
|
+
|
|
|
|
+ //获取本人的视频总有效数量
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(appType, year, quarter, sysUser.getId());
|
|
|
|
+ //获取本人的视频总数
|
|
|
|
+ int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(roleCode, startDate, endDate, sysUser.getId());
|
|
|
|
+ //获取本人目前的视频有效率
|
|
|
|
+ BigDecimal videoEffiRate = BigDecimal.ZERO;
|
|
|
|
+ if (effiVideoCount != 0 && videoCount != 0) {
|
|
|
|
+ videoEffiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount))).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ BigDecimal cost = userEfficientVideoMapMapper.getQuarterCost(sysUser.getId(), year, quarter, appType);
|
|
|
|
+ BigDecimal performance = userEfficientVideoMapMapper.getQuarterPerformance(sysUser.getId(), year, quarter, appType);
|
|
|
|
+
|
|
|
|
+ performanceInfoMap.put("effiVideoCount", effiVideoCount);
|
|
|
|
+ performanceInfoMap.put("videoCount", videoCount);
|
|
|
|
+ performanceInfoMap.put("effiRate", videoEffiRate);
|
|
|
|
+ performanceInfoMap.put("cost", cost);
|
|
|
|
+ performanceInfoMap.put("performance",performance);
|
|
|
|
+
|
|
|
|
+ log.info(roleCode + ":" + sysUser.getRealname() + "getPerformanceInfo接口结束");
|
|
|
|
+ return performanceInfoMap;
|
|
|
|
+
|
|
|
|
+ ////////////////////////////////////////////////////////
|
|
//获取前一天的时间
|
|
//获取前一天的时间
|
|
- Date date = new Date();
|
|
|
|
|
|
+ *//*Date date = new Date();
|
|
Date getDate = DateUtils.addDay(date, -1);
|
|
Date getDate = DateUtils.addDay(date, -1);
|
|
String startDate = DateUtils.getQuarterStartDate(getDate);
|
|
String startDate = DateUtils.getQuarterStartDate(getDate);
|
|
String endDate = DateUtils.getQuarterEndDate(getDate);
|
|
String endDate = DateUtils.getQuarterEndDate(getDate);
|
|
@@ -995,7 +1030,188 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//获取本人的总跑量
|
|
//获取本人的总跑量
|
|
BigDecimal cost = BigDecimal.ZERO;
|
|
BigDecimal cost = BigDecimal.ZERO;
|
|
|
|
|
|
- //TODO --需要区分平台 修改sql
|
|
|
|
|
|
+
|
|
|
|
+ if (roleCode.equals("plan")) {
|
|
|
|
+ cost = userEfficientVideoMapMapper.getTotalCostByPlanId(sysUser.getId(), startDate, endDate);
|
|
|
|
+ } else if (roleCode.equals("shot")) {
|
|
|
|
+ cost = userEfficientVideoMapMapper.getTotalCostByShotId(sysUser.getId(), startDate, endDate);
|
|
|
|
+ } else if (roleCode.equals("clip")) {
|
|
|
|
+ cost = userEfficientVideoMapMapper.getTotalCostByClipId(sysUser.getId(), startDate, endDate);
|
|
|
|
+ }*//*
|
|
|
|
+////////////////////////////////////////////////////////
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //2
|
|
|
|
+ //有效率排行榜
|
|
|
|
+ //{"list":[{"name":"pipi","effiRate":50},{"name":"pipixia","effiRate":40},{"name":"pipiqiu","effiRate":30}],"performance":performance}
|
|
|
|
+ @Override
|
|
|
|
+ public Map<String, Object> effiRateRank(Integer size) {
|
|
|
|
+ Map<String, Object> resultMap = new HashMap<>();
|
|
|
|
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
|
+ String orgCode = sysUser.getOrgCode();
|
|
|
|
+ Integer appType = null;
|
|
|
|
+ if (null != orgCode && orgCode.startsWith("A01A08")) {//头条
|
|
|
|
+ appType = 1;
|
|
|
|
+ } else if (null != orgCode && orgCode.startsWith("A01A07")) {//快手
|
|
|
|
+ appType = 2;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Map<String,Integer> quarterMap = DateUtils.lastQuarter(new Date());
|
|
|
|
+ Integer year = quarterMap.get("year");
|
|
|
|
+ Integer quarter = quarterMap.get("quarter");
|
|
|
|
+ Map<String,String> startEndDateMap = DateUtils.quarterStartEndDate(year,quarter);
|
|
|
|
+ String startDate = startEndDateMap.get("startDate");
|
|
|
|
+ String endDate = startEndDateMap.get("endDate");
|
|
|
|
+
|
|
|
|
+ Map<String, String> lastDateMap = getLastDateInfo();
|
|
|
|
+ String roleCode = sysRoleMapper.getRoleCodeByUserId(sysUser.getId());
|
|
|
|
+ log.info(roleCode + ":" + sysUser.getRealname() + "有效率排行榜接口开始");
|
|
|
|
+
|
|
|
|
+ List<UserDto2> userRoleList = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ if(appType == 1){
|
|
|
|
+ if (roleCode.equals("plan")) {
|
|
|
|
+ userRoleList = userEfficientVideoMapMapper.getToutiaoPlanList(); //编导
|
|
|
|
+ } else if (roleCode.equals("shot")) {
|
|
|
|
+ userRoleList = userEfficientVideoMapMapper.getToutiaoShotList(); //拍摄
|
|
|
|
+ } else if (roleCode.equals("clip")) {
|
|
|
|
+ userRoleList = userEfficientVideoMapMapper.getToutiaoClipList(); //剪辑
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ if (roleCode.equals("plan")) {
|
|
|
|
+ userRoleList = userEfficientVideoMapMapper.getKuaishouPlanList(); //编导
|
|
|
|
+ } else if (roleCode.equals("shot")) {
|
|
|
|
+ userRoleList = userEfficientVideoMapMapper.getKuaishouShotList(); //拍摄
|
|
|
|
+ } else if (roleCode.equals("clip")) {
|
|
|
|
+ userRoleList = userEfficientVideoMapMapper.getKuaishouClipList(); //剪辑
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (userRoleList != null) {
|
|
|
|
+ for (UserDto2 userDto : userRoleList) {
|
|
|
|
+ //有效视频数量
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(appType, Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), userDto.getUserId());
|
|
|
|
+ //总视频数量
|
|
|
|
+ int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(roleCode, startDate, endDate, userDto.getUserId());
|
|
|
|
+ //视频有效率
|
|
|
|
+ BigDecimal effiRate = BigDecimal.ZERO;
|
|
|
|
+ if (effiVideoCount != 0 && videoCount != 0) {
|
|
|
|
+ effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount))).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ userDto.setEffiRate(effiRate);
|
|
|
|
+ }
|
|
|
|
+ Collections.sort(userRoleList, new EffiRateComparator());
|
|
|
|
+
|
|
|
|
+ //去掉list中前30的数据
|
|
|
|
+ if (size != null) {
|
|
|
|
+ userRoleList.subList(size, userRoleList.size()).clear();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ resultMap.put("userRoleList", userRoleList);
|
|
|
|
+ } else {
|
|
|
|
+ resultMap.put("userRoleList", null);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ log.info(roleCode + ":" + sysUser.getRealname() + "有效率排行榜接口结束");
|
|
|
|
+ return resultMap;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //3
|
|
|
|
+ //素材、素材跑量、封面点击数、封面曝光数、行为数
|
|
|
|
+ //{"videoUrl":"http://dadfadfadf.mp4","videoCost":34.56,"pageClickCount":1200,"pageExposureCount":3939,"behaviorCount":5000}
|
|
|
|
+ @Override
|
|
|
|
+ public List<DesignMaterialInfo> materialInfoList() {
|
|
|
|
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
|
+ //LoginUser sysUser = new LoginUser();
|
|
|
|
+ //sysUser.setId("9712328fddd1443faf566ddb87693658");
|
|
|
|
+ String roleCode = sysRoleMapper.getRoleCodeByUserId(sysUser.getId());
|
|
|
|
+ log.info(roleCode + ":" + sysUser.getRealname() + "materialInfoList接口开始");
|
|
|
|
+
|
|
|
|
+ String orgCode = sysUser.getOrgCode();
|
|
|
|
+ Integer appType = null;
|
|
|
|
+ if (null != orgCode && orgCode.startsWith("A01A08")) {//头条
|
|
|
|
+ appType = 1;
|
|
|
|
+ } else if (null != orgCode && orgCode.startsWith("A01A07")) {//快手
|
|
|
|
+ appType = 2;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Map<String,Integer> quarterMap = DateUtils.lastQuarter(new Date());
|
|
|
|
+ Integer year = quarterMap.get("year");
|
|
|
|
+ Integer quarter = quarterMap.get("quarter");
|
|
|
|
+ Map<String,String> startEndDateMap = DateUtils.quarterStartEndDate(year,quarter);
|
|
|
|
+ String startDate = startEndDateMap.get("startDate");
|
|
|
|
+ String endDate = startEndDateMap.get("endDate");
|
|
|
|
+
|
|
|
|
+ *//* Date date = new Date();
|
|
|
|
+ Date getDate = DateUtils.addDay(date, -1);
|
|
|
|
+ String startDate = DateUtils.getQuarterStartDate(getDate);
|
|
|
|
+ String endDate = DateUtils.getQuarterEndDate(getDate);
|
|
|
|
+ String endNowDate = DateUtils.formatDate(getDate);*//*
|
|
|
|
+
|
|
|
|
+ List<DesignMaterialInfo> materialInfoList = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ if(appType == 1){
|
|
|
|
+ materialInfoList = null;
|
|
|
|
+ }else{
|
|
|
|
+ materialInfoList = userEfficientVideoMapMapper.designMaterialInfoList(roleCode, sysUser.getId(), startDate, endDate);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ log.info(roleCode + ":" + sysUser.getRealname() + "materialInfoList接口结束");
|
|
|
|
+ return materialInfoList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //4
|
|
|
|
+ //点击+符号 投放账户、投放账户、跑量
|
|
|
|
+ //{"videoAccount":"aabbcc","servingAccount":"ttyyhh","cost":34234.43}
|
|
|
|
+ @Override
|
|
|
|
+ public List<DesignMaterialInfo> materialAccountInfo(String materialInfoId) {
|
|
|
|
+ log.info("materialAccountInfo接口开始");
|
|
|
|
+ Date date = new Date();
|
|
|
|
+ Date getDate = DateUtils.addDay(date, -1);
|
|
|
|
+ String startDate = DateUtils.getQuarterStartDate(getDate);
|
|
|
|
+ String endDate = DateUtils.getQuarterEndDate(getDate);
|
|
|
|
+ String endNowDate = DateUtils.formatDate(getDate);
|
|
|
|
+
|
|
|
|
+ List<DesignMaterialInfo> materialInfoList = userEfficientVideoMapMapper.getMaterialAccountInfoByMaterialId(materialInfoId, startDate, endNowDate);
|
|
|
|
+ log.info("materialAccountInfo接口结束");
|
|
|
|
+ return materialInfoList;
|
|
|
|
+ }*/
|
|
|
|
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
+ //页面接口 start
|
|
|
|
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
+ //1
|
|
|
|
+ //季度到前一天为止个人的有效数量、素材总数、素材有效率、总跑量
|
|
|
|
+ //{"effiVideoCount有效数":70,"videoCount素材总数":200,"effiRate":40,"cost":2019;performance绩效":20000}
|
|
|
|
+ public Map<String, Object> getPerformanceInfo() {
|
|
|
|
+ Map<String, Object> performanceInfoMap = new HashMap<>();
|
|
|
|
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
|
+ //LoginUser sysUser = new LoginUser();
|
|
|
|
+ //sysUser.setId("9712328fddd1443faf566ddb87693658");
|
|
|
|
+
|
|
|
|
+ //获取前一天的时间
|
|
|
|
+ Date date = new Date();
|
|
|
|
+ Date getDate = DateUtils.addDay(date, -1);
|
|
|
|
+ String startDate = DateUtils.getQuarterStartDate(getDate);
|
|
|
|
+ String endDate = DateUtils.getQuarterEndDate(getDate);
|
|
|
|
+ String endNowDate = DateUtils.formatDate(getDate);
|
|
|
|
+
|
|
|
|
+ String roleCode = sysRoleMapper.getRoleCodeByUserId(sysUser.getId());
|
|
|
|
+
|
|
|
|
+ log.info(roleCode + ":" + sysUser.getRealname() + "getPerformanceInfo接口开始");
|
|
|
|
+
|
|
|
|
+ Map<String, String> lastDateMap = getLastDateInfo();
|
|
|
|
+ //获取本人的视频总有效数量
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2,Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), sysUser.getId(),null);
|
|
|
|
+ //获取本人的视频总数
|
|
|
|
+ int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(roleCode, startDate, endNowDate, sysUser.getId());
|
|
|
|
+ //获取本人目前的视频有效率
|
|
|
|
+ BigDecimal videoEffiRate = BigDecimal.ZERO;
|
|
|
|
+ if (effiVideoCount != 0 && videoCount != 0) {
|
|
|
|
+ videoEffiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount))).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ //获取本人的总跑量
|
|
|
|
+ BigDecimal cost = BigDecimal.ZERO;
|
|
|
|
+
|
|
if (roleCode.equals("plan")) {
|
|
if (roleCode.equals("plan")) {
|
|
cost = userEfficientVideoMapMapper.getTotalCostByPlanId(sysUser.getId(), startDate, endDate);
|
|
cost = userEfficientVideoMapMapper.getTotalCostByPlanId(sysUser.getId(), startDate, endDate);
|
|
} else if (roleCode.equals("shot")) {
|
|
} else if (roleCode.equals("shot")) {
|
|
@@ -1016,17 +1232,12 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//2
|
|
//2
|
|
//有效率排行榜
|
|
//有效率排行榜
|
|
//{"list":[{"name":"pipi","effiRate":50},{"name":"pipixia","effiRate":40},{"name":"pipiqiu","effiRate":30}],"performance":performance}
|
|
//{"list":[{"name":"pipi","effiRate":50},{"name":"pipixia","effiRate":40},{"name":"pipiqiu","effiRate":30}],"performance":performance}
|
|
- @Override
|
|
|
|
public Map<String, Object> effiRateRank(Integer size) {
|
|
public Map<String, Object> effiRateRank(Integer size) {
|
|
Map<String, Object> resultMap = new HashMap<>();
|
|
Map<String, Object> resultMap = new HashMap<>();
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
- String orgCode = sysUser.getOrgCode();
|
|
|
|
- Integer appType = null;
|
|
|
|
- if (null != orgCode && orgCode.startsWith("A01A08")) {//头条
|
|
|
|
- appType = 1;
|
|
|
|
- } else if (null != orgCode && orgCode.startsWith("A01A07")) {//快手
|
|
|
|
- appType = 2;
|
|
|
|
- }
|
|
|
|
|
|
+ //LoginUser sysUser = new LoginUser();
|
|
|
|
+ //sysUser.setId("9712328fddd1443faf566ddb87693658");
|
|
|
|
+
|
|
//获取前一天的时间
|
|
//获取前一天的时间
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
Date getDate = DateUtils.addDay(date, -1);
|
|
Date getDate = DateUtils.addDay(date, -1);
|
|
@@ -1054,7 +1265,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
if (userRoleList != null) {
|
|
if (userRoleList != null) {
|
|
for (UserDto userDto : userRoleList) {
|
|
for (UserDto userDto : userRoleList) {
|
|
//有效视频数量
|
|
//有效视频数量
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(appType, Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), userDto.getUserId());
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2,Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), userDto.getUserId(),null);
|
|
//总视频数量
|
|
//总视频数量
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(roleCode, startDate, endNowDate, userDto.getUserId());
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(roleCode, startDate, endNowDate, userDto.getUserId());
|
|
//视频有效率
|
|
//视频有效率
|
|
@@ -1134,7 +1345,6 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//3
|
|
//3
|
|
//素材、素材跑量、封面点击数、封面曝光数、行为数
|
|
//素材、素材跑量、封面点击数、封面曝光数、行为数
|
|
//{"videoUrl":"http://dadfadfadf.mp4","videoCost":34.56,"pageClickCount":1200,"pageExposureCount":3939,"behaviorCount":5000}
|
|
//{"videoUrl":"http://dadfadfadf.mp4","videoCost":34.56,"pageClickCount":1200,"pageExposureCount":3939,"behaviorCount":5000}
|
|
- @Override
|
|
|
|
public List<DesignMaterialInfo> materialInfoList() {
|
|
public List<DesignMaterialInfo> materialInfoList() {
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
//LoginUser sysUser = new LoginUser();
|
|
//LoginUser sysUser = new LoginUser();
|
|
@@ -1158,7 +1368,6 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//4
|
|
//4
|
|
//点击+符号 投放账户、投放账户、跑量
|
|
//点击+符号 投放账户、投放账户、跑量
|
|
//{"videoAccount":"aabbcc","servingAccount":"ttyyhh","cost":34234.43}
|
|
//{"videoAccount":"aabbcc","servingAccount":"ttyyhh","cost":34234.43}
|
|
- @Override
|
|
|
|
public List<DesignMaterialInfo> materialAccountInfo(String materialInfoId) {
|
|
public List<DesignMaterialInfo> materialAccountInfo(String materialInfoId) {
|
|
log.info("materialAccountInfo接口开始");
|
|
log.info("materialAccountInfo接口开始");
|
|
Date date = new Date();
|
|
Date date = new Date();
|