|
@@ -90,7 +90,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
//快手有效视频
|
|
|
kuaishouEffiVideo(calcDate, effiCalcStart, effiCalcEnd, effiStart, effiEnd, thisYear, thisMonth, thisQuarter);
|
|
|
//头条有效视频
|
|
|
- //toutiaoEffiVideo(calcDate, effiCalcStart, effiCalcEnd, effiStart, effiEnd, thisYear, thisMonth, thisQuarter);
|
|
|
+ toutiaoEffiVideo(calcDate, effiCalcStart, effiCalcEnd, effiStart, effiEnd, thisYear, thisMonth, thisQuarter);
|
|
|
}
|
|
|
|
|
|
//快手有效视频统计
|
|
@@ -252,6 +252,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
* 设计师leader不需要计算媒体总任务
|
|
|
*/
|
|
|
//季度绩效任务(在有效视频绑定人定时任务之后跑):设计师绩效计算-----包括快手和头条的计算逻辑
|
|
|
+ @Override
|
|
|
public void designerPerformanceTask(int year, int quarter) {
|
|
|
log.info(year + "年第" + quarter + "季度快手设计师季度绩效计算开始");
|
|
|
|
|
@@ -957,12 +958,19 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
//1
|
|
|
//季度到前一天为止个人的有效数量、素材总数、素材有效率、总跑量
|
|
|
//{"effiVideoCount有效数":70,"videoCount素材总数":200,"effiRate":40,"cost":2019;performance绩效":20000}
|
|
|
+ @Override
|
|
|
public Map<String, Object> getPerformanceInfo() {
|
|
|
Map<String, Object> performanceInfoMap = new HashMap<>();
|
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
//LoginUser sysUser = new LoginUser();
|
|
|
//sysUser.setId("9712328fddd1443faf566ddb87693658");
|
|
|
-
|
|
|
+ String orgCode = sysUser.getOrgCode();
|
|
|
+ Integer appType = null;
|
|
|
+ if (null != orgCode && orgCode.startsWith("A01A08")) {//头条
|
|
|
+ appType = 1;
|
|
|
+ } else if (null != orgCode && orgCode.startsWith("A01A07")) {//快手
|
|
|
+ appType = 2;
|
|
|
+ }
|
|
|
//获取前一天的时间
|
|
|
Date date = new Date();
|
|
|
Date getDate = DateUtils.addDay(date, -1);
|
|
@@ -976,7 +984,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
|
|
|
Map<String, String> lastDateMap = getLastDateInfo();
|
|
|
//获取本人的视频总有效数量
|
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2,Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), sysUser.getId());
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(appType, Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), sysUser.getId());
|
|
|
//获取本人的视频总数
|
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(roleCode, startDate, endNowDate, sysUser.getId());
|
|
|
//获取本人目前的视频有效率
|
|
@@ -987,6 +995,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
//获取本人的总跑量
|
|
|
BigDecimal cost = BigDecimal.ZERO;
|
|
|
|
|
|
+ //TODO --需要区分平台 修改sql
|
|
|
if (roleCode.equals("plan")) {
|
|
|
cost = userEfficientVideoMapMapper.getTotalCostByPlanId(sysUser.getId(), startDate, endDate);
|
|
|
} else if (roleCode.equals("shot")) {
|
|
@@ -1007,12 +1016,17 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
//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();
|
|
|
- //LoginUser sysUser = new LoginUser();
|
|
|
- //sysUser.setId("9712328fddd1443faf566ddb87693658");
|
|
|
-
|
|
|
+ String orgCode = sysUser.getOrgCode();
|
|
|
+ Integer appType = null;
|
|
|
+ if (null != orgCode && orgCode.startsWith("A01A08")) {//头条
|
|
|
+ appType = 1;
|
|
|
+ } else if (null != orgCode && orgCode.startsWith("A01A07")) {//快手
|
|
|
+ appType = 2;
|
|
|
+ }
|
|
|
//获取前一天的时间
|
|
|
Date date = new Date();
|
|
|
Date getDate = DateUtils.addDay(date, -1);
|
|
@@ -1040,7 +1054,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
if (userRoleList != null) {
|
|
|
for (UserDto userDto : userRoleList) {
|
|
|
//有效视频数量
|
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2,Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), userDto.getUserId());
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(appType, Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), userDto.getUserId());
|
|
|
//总视频数量
|
|
|
int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(roleCode, startDate, endNowDate, userDto.getUserId());
|
|
|
//视频有效率
|
|
@@ -1174,62 +1188,5 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
timeMap.put("quarter", quarter);
|
|
|
return timeMap;
|
|
|
}
|
|
|
-
|
|
|
- /*
|
|
|
-
|
|
|
- //根据userId查询出所属的所有项目
|
|
|
- private List<ProjectDTO> getProjects(String userId) {
|
|
|
- List<ProjectDTO> projectDTOList = userEfficientVideoMapMapper.getProjectsByUserId(userId);
|
|
|
- return projectDTOList;
|
|
|
- }
|
|
|
-
|
|
|
- //根据projectId判断此项目是否存在plane平面设计师
|
|
|
- private boolean planeExistsInProject(Long projectId) {
|
|
|
- int planeCount = userEfficientVideoMapMapper.getPlaneCountByProjectId(projectId);
|
|
|
- if (planeCount == 0) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- //根据角色id判断所在team是否存在平面设计师
|
|
|
- private boolean planeExistsInTeam(String userId) {
|
|
|
- int planeCount = userEfficientVideoMapMapper.getPlaneCountByUserId(userId);
|
|
|
- if (planeCount == 0) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- //判断媒体季度任务是否完成(设计师不需要判断季度媒体任务)
|
|
|
- private boolean mediaMission() {
|
|
|
- //查询优化师系统设置数据
|
|
|
- OptimizerConfig config = optimizerConfigService.getEnabledConfigByMediaType(String.valueOf(2));
|
|
|
-
|
|
|
- //2: 查询媒体季度任务完成情况
|
|
|
- OptimizerCostDetailVO totalCostVo = getOptimizerTotalCost();
|
|
|
- //result.put("totalCost", totalCostVo.getTotalCost().toString());
|
|
|
- if (totalCostVo.getTotalCost().compareTo(config.getMediaTask()) < 0) {
|
|
|
- //当前消耗季度任务未完成
|
|
|
- return false;
|
|
|
- }
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- public OptimizerCostDetailVO getOptimizerTotalCost() {
|
|
|
- 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 year = DateUtils.getYear(getDate) + "";
|
|
|
- String quarter = DateUtils.getQuarter(getDate) + "";
|
|
|
- return performanceMapper.getOptimizerTotalCost(startDate, endNowDate, year, quarter);
|
|
|
- }
|
|
|
-*/
|
|
|
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
- //页面接口 end
|
|
|
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
-
|
|
|
}
|
|
|
|