|
@@ -1,13 +1,11 @@
|
|
package cn.com.ctop.performanceappraisal.service.impl;
|
|
package cn.com.ctop.performanceappraisal.service.impl;
|
|
|
|
|
|
|
|
+import cn.com.ctop.common.module.utils.CtopAdConstant;
|
|
import cn.com.ctop.common.module.utils.ResultMapUtils;
|
|
import cn.com.ctop.common.module.utils.ResultMapUtils;
|
|
import cn.com.ctop.common.module.utils.StatusCode;
|
|
import cn.com.ctop.common.module.utils.StatusCode;
|
|
import cn.com.ctop.performanceappraisal.entity.OptimizerConfig;
|
|
import cn.com.ctop.performanceappraisal.entity.OptimizerConfig;
|
|
import cn.com.ctop.performanceappraisal.entity.Performance;
|
|
import cn.com.ctop.performanceappraisal.entity.Performance;
|
|
-import cn.com.ctop.performanceappraisal.entity.PerformanceOptimizer;
|
|
|
|
import cn.com.ctop.performanceappraisal.mapper.PerformanceMapper;
|
|
import cn.com.ctop.performanceappraisal.mapper.PerformanceMapper;
|
|
-import cn.com.ctop.performanceappraisal.mapper.PerformanceOptimizerMapper;
|
|
|
|
-import cn.com.ctop.performanceappraisal.service.IOptimizerConfigService;
|
|
|
|
import cn.com.ctop.performanceappraisal.service.IPerformanceService;
|
|
import cn.com.ctop.performanceappraisal.service.IPerformanceService;
|
|
import cn.com.ctop.performanceappraisal.vo.DesignerCostDetailVO;
|
|
import cn.com.ctop.performanceappraisal.vo.DesignerCostDetailVO;
|
|
import cn.com.ctop.performanceappraisal.vo.OptimizerCostDetailVO;
|
|
import cn.com.ctop.performanceappraisal.vo.OptimizerCostDetailVO;
|
|
@@ -33,10 +31,6 @@ import java.util.*;
|
|
public class PerformanceServiceImpl extends ServiceImpl<PerformanceMapper, Performance> implements IPerformanceService {
|
|
public class PerformanceServiceImpl extends ServiceImpl<PerformanceMapper, Performance> implements IPerformanceService {
|
|
@Autowired
|
|
@Autowired
|
|
private PerformanceMapper performanceMapper;
|
|
private PerformanceMapper performanceMapper;
|
|
- @Autowired
|
|
|
|
- private PerformanceOptimizerMapper optimizerMapper;
|
|
|
|
- @Autowired
|
|
|
|
- private IOptimizerConfigService optimizerConfigService;
|
|
|
|
/**
|
|
/**
|
|
* 计算设计岗位绩效逻辑
|
|
* 计算设计岗位绩效逻辑
|
|
* 1:查询用户总消耗以及总视频数
|
|
* 1:查询用户总消耗以及总视频数
|
|
@@ -50,58 +44,43 @@ public class PerformanceServiceImpl extends ServiceImpl<PerformanceMapper, Perfo
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<OptimizerCostDetailVO> getOptimizerTotalCostDetailGroupByUserId(String userId, Integer startIndex, Integer pageSize) {
|
|
|
|
|
|
+ public List<OptimizerCostDetailVO> getOptimizerTotalCostDetailGroupByUserId(String mediaType, String userId, Integer startIndex, Integer pageSize) {
|
|
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);
|
|
String year = DateUtils.getYear(getDate) + "";
|
|
String year = DateUtils.getYear(getDate) + "";
|
|
String quarter = DateUtils.getQuarter(getDate) + "";
|
|
String quarter = DateUtils.getQuarter(getDate) + "";
|
|
- return performanceMapper.getOptimizerTotalCostDetailGroupByUserId(startDate, endDate, year, quarter, userId, startIndex, pageSize);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 计算优化师岗位绩效逻辑
|
|
|
|
- * 1:查询所有优化师总消耗数据
|
|
|
|
- * 2:查询媒体季度任务完成情况
|
|
|
|
- * 3:计算单个优化师提成总额
|
|
|
|
- */
|
|
|
|
- public List<OptimizerCostDetailVO> getOptimizerPerformance() {
|
|
|
|
- //1:查询所有优化师总消耗数据
|
|
|
|
- List<OptimizerCostDetailVO> detailVOS = getOptimizerTotalCostDetailGroupByUserId(null, 1, 10);
|
|
|
|
- //查询优化师系统设置数据
|
|
|
|
- OptimizerConfig config = optimizerConfigService.getEnabledConfigByMediaType("2");
|
|
|
|
- //2: 查询媒体季度任务完成情况
|
|
|
|
- OptimizerCostDetailVO totalCostVo = getOptimizerTotalCost();
|
|
|
|
- //3:计算单个优化师提成总额
|
|
|
|
- List<OptimizerCostDetailVO> getDetailVos = new ArrayList<>();
|
|
|
|
- if (null != detailVOS && detailVOS.size() > 0) {
|
|
|
|
- for (OptimizerCostDetailVO vo : detailVOS) {
|
|
|
|
- vo.setTotalRoyalty(getTotalRoyalty(config, vo, totalCostVo));
|
|
|
|
- PerformanceOptimizer optimizer = new PerformanceOptimizer(vo);
|
|
|
|
- optimizerMapper.insert(optimizer);
|
|
|
|
- }
|
|
|
|
|
|
+ if (null != mediaType && mediaType.equals(CtopAdConstant.PLATFORM_TYPE_KUAISHOU)) {
|
|
|
|
+ //快手
|
|
|
|
+ return performanceMapper.getKuaishouOptimizerTotalCostDetailGroupByUserId(startDate, endDate, year, quarter, userId, startIndex, pageSize);
|
|
|
|
+ } else {
|
|
|
|
+ //头条
|
|
|
|
+ return performanceMapper.getBytedanceOptimizerTotalCostDetailGroupByUserId(startDate, endDate, year, quarter, userId, startIndex, pageSize);
|
|
}
|
|
}
|
|
- return getDetailVos;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public OptimizerCostDetailVO getOptimizerTotalCost() {
|
|
|
|
|
|
+ public OptimizerCostDetailVO getOptimizerTotalCost(String mediaType) {
|
|
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);
|
|
String year = DateUtils.getYear(getDate) + "";
|
|
String year = DateUtils.getYear(getDate) + "";
|
|
String quarter = DateUtils.getQuarter(getDate) + "";
|
|
String quarter = DateUtils.getQuarter(getDate) + "";
|
|
- return performanceMapper.getOptimizerTotalCost(startDate, endDate, year, quarter);
|
|
|
|
|
|
+ if (null != mediaType && mediaType.equals(CtopAdConstant.PLATFORM_TYPE_KUAISHOU)) {
|
|
|
|
+ //快手
|
|
|
|
+ return performanceMapper.getKuaishouOptimizerTotalCost(startDate, endDate, year, quarter);
|
|
|
|
+ } else {
|
|
|
|
+ //头条
|
|
|
|
+ return performanceMapper.getBytedanceOptimizerTotalCost(startDate, endDate, year, quarter);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public Map<String, Object> getUserOptimizerProjectList(Integer pageNo, Integer pageSize) {
|
|
|
|
|
|
+ public Map<String, Object> getUserOptimizerProjectList(Integer pageNo, Integer pageSize, String appType) {
|
|
Map<String, Object> result = new HashMap<>();
|
|
Map<String, Object> result = new HashMap<>();
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
-// LoginUser sysUser = new LoginUser();
|
|
|
|
-// sysUser.setId("fcb3fbf6192640adaadb2a7df9c02dae");
|
|
|
|
Integer startIndex = (pageNo - 1) * pageSize;
|
|
Integer startIndex = (pageNo - 1) * pageSize;
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
Date getDate = DateUtils.addDay(date, -1);
|
|
Date getDate = DateUtils.addDay(date, -1);
|
|
@@ -109,18 +88,21 @@ public class PerformanceServiceImpl extends ServiceImpl<PerformanceMapper, Perfo
|
|
String endDate = DateUtils.getQuarterEndDate(getDate);
|
|
String endDate = DateUtils.getQuarterEndDate(getDate);
|
|
String year = DateUtils.getYear(getDate) + "";
|
|
String year = DateUtils.getYear(getDate) + "";
|
|
String quarter = DateUtils.getQuarter(getDate) + "";
|
|
String quarter = DateUtils.getQuarter(getDate) + "";
|
|
- List<OptimizerCostDetailVO> detailVOS = performanceMapper.getUserOptimizerTotalCostGroupByProjectId(startDate, endDate, year, quarter, sysUser.getId(), startIndex, pageSize, null);
|
|
|
|
|
|
+ List<OptimizerCostDetailVO> detailVOS = null;
|
|
|
|
+ if (null != appType && appType.equals(CtopAdConstant.PLATFORM_TYPE_KUAISHOU)) {
|
|
|
|
+ detailVOS = performanceMapper.getKuaishouUserOptimizerTotalCostGroupByProjectId(startDate, endDate, year, quarter, sysUser.getId(), startIndex, pageSize, null);
|
|
|
|
+ } else {
|
|
|
|
+ detailVOS = performanceMapper.getBytedanceUserOptimizerTotalCostGroupByProjectId(startDate, endDate, year, quarter, sysUser.getId(), startIndex, pageSize, null);
|
|
|
|
+ }
|
|
result.put("data", detailVOS);
|
|
result.put("data", detailVOS);
|
|
ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS.getCode());
|
|
ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS.getCode());
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public Map<String, Object> getUserOptimizerAccountList(Long projectId, Integer pageNo, Integer pageSize) {
|
|
|
|
|
|
+ public Map<String, Object> getUserOptimizerAccountList(String appType, Long projectId, Integer pageNo, Integer pageSize) {
|
|
Map<String, Object> result = new HashMap<>();
|
|
Map<String, Object> result = new HashMap<>();
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
-// LoginUser sysUser = new LoginUser();
|
|
|
|
-// sysUser.setId("fcb3fbf6192640adaadb2a7df9c02dae");
|
|
|
|
Integer startIndex = (pageNo - 1) * pageSize;
|
|
Integer startIndex = (pageNo - 1) * pageSize;
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
Date getDate = DateUtils.addDay(date, -1);
|
|
Date getDate = DateUtils.addDay(date, -1);
|
|
@@ -128,7 +110,12 @@ public class PerformanceServiceImpl extends ServiceImpl<PerformanceMapper, Perfo
|
|
String endDate = DateUtils.getQuarterEndDate(getDate);
|
|
String endDate = DateUtils.getQuarterEndDate(getDate);
|
|
String year = DateUtils.getYear(getDate) + "";
|
|
String year = DateUtils.getYear(getDate) + "";
|
|
String quarter = DateUtils.getQuarter(getDate) + "";
|
|
String quarter = DateUtils.getQuarter(getDate) + "";
|
|
- List<OptimizerCostDetailVO> detailVOS = performanceMapper.getUserOptimizerTotalCostGroupByAccountId(startDate, endDate, year, quarter, sysUser.getId(), startIndex, pageSize, projectId, null);
|
|
|
|
|
|
+ List<OptimizerCostDetailVO> detailVOS = null;
|
|
|
|
+ if (null != appType && appType.equals(CtopAdConstant.PLATFORM_TYPE_KUAISHOU)) {
|
|
|
|
+ detailVOS = performanceMapper.getUserOptimizerTotalCostGroupByAccountId(startDate, endDate, year, quarter, sysUser.getId(), startIndex, pageSize, projectId, null);
|
|
|
|
+ } else {
|
|
|
|
+ detailVOS = performanceMapper.getUserOptimizerTotalCostGroupByAccountId(startDate, endDate, year, quarter, sysUser.getId(), startIndex, pageSize, projectId, null);
|
|
|
|
+ }
|
|
result.put("data", detailVOS);
|
|
result.put("data", detailVOS);
|
|
ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS.getCode());
|
|
ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS.getCode());
|
|
return result;
|
|
return result;
|
|
@@ -139,9 +126,6 @@ public class PerformanceServiceImpl extends ServiceImpl<PerformanceMapper, Perfo
|
|
Map<String, Object> result = new HashMap<>();
|
|
Map<String, Object> result = new HashMap<>();
|
|
//查询此机构下其他运营专员跑量数据
|
|
//查询此机构下其他运营专员跑量数据
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
-// LoginUser sysUser = new LoginUser();
|
|
|
|
-// sysUser.setId("fcb3fbf6192640adaadb2a7df9c02dae");
|
|
|
|
-// sysUser.setOrgCode("A01A07A01");
|
|
|
|
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);
|
|
@@ -149,7 +133,13 @@ public class PerformanceServiceImpl extends ServiceImpl<PerformanceMapper, Perfo
|
|
String year = DateUtils.getYear(getDate) + "";
|
|
String year = DateUtils.getYear(getDate) + "";
|
|
String quarter = DateUtils.getQuarter(getDate) + "";
|
|
String quarter = DateUtils.getQuarter(getDate) + "";
|
|
//查询用户相关机构编号
|
|
//查询用户相关机构编号
|
|
- List<OptimizerCostDetailVO> detailVOS = performanceMapper.getMemberPerformanceByOrgCode(startDate, endDate, year, quarter, sysUser.getOrgCode());
|
|
|
|
|
|
+ List<OptimizerCostDetailVO> detailVOS = null;
|
|
|
|
+ if (null != config.getAppType() && config.getAppType() + "" == CtopAdConstant.PLATFORM_TYPE_KUAISHOU) {
|
|
|
|
+ performanceMapper.getKuaishouMemberPerformanceByOrgCode(startDate, endDate, year, quarter, sysUser.getOrgCode());
|
|
|
|
+ } else {
|
|
|
|
+ performanceMapper.getBytedanceMemberPerformanceByOrgCode(startDate, endDate, year, quarter, sysUser.getOrgCode());
|
|
|
|
+ }
|
|
|
|
+
|
|
List<OptimizerCostDetailVO> getDetails = new ArrayList<>();
|
|
List<OptimizerCostDetailVO> getDetails = new ArrayList<>();
|
|
BigDecimal memberTotaRoyalty = BigDecimal.ZERO;
|
|
BigDecimal memberTotaRoyalty = BigDecimal.ZERO;
|
|
BigDecimal memberTotaCost = BigDecimal.ZERO;
|
|
BigDecimal memberTotaCost = BigDecimal.ZERO;
|