|
@@ -134,24 +134,40 @@ public class PerformanceServiceImpl extends ServiceImpl<PerformanceMapper, Perfo
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<OptimizerCostDetailVO> getMemberPerformanceByUserId(OptimizerConfig config, OptimizerCostDetailVO totalCostVo) {
|
|
|
|
|
|
+ public Map<String, Object> getMemberPerformanceByUserId(OptimizerConfig config, OptimizerCostDetailVO totalCostVo) {
|
|
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();
|
|
LoginUser sysUser = new LoginUser();
|
|
sysUser.setId("fcb3fbf6192640adaadb2a7df9c02dae");
|
|
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);
|
|
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.getMemberPerformanceByUserId(startDate, endDate, year, quarter, sysUser.getId());
|
|
|
|
|
|
+ //查询用户相关机构编号
|
|
|
|
+ List<OptimizerCostDetailVO> detailVOS = performanceMapper.getMemberPerformanceByOrgCode(startDate, endDate, year, quarter, sysUser.getOrgCode());
|
|
List<OptimizerCostDetailVO> getDetails = new ArrayList<>();
|
|
List<OptimizerCostDetailVO> getDetails = new ArrayList<>();
|
|
|
|
+ BigDecimal memberTotaRoyalty = BigDecimal.ZERO;
|
|
|
|
+ result.put("totalCost", totalCostVo.getTotalCost());
|
|
|
|
+ result.put("mediaTask", config.getMediaTask());
|
|
for (OptimizerCostDetailVO vo : detailVOS) {
|
|
for (OptimizerCostDetailVO vo : detailVOS) {
|
|
- vo.setTotalRoyalty(getTotalRoyalty(config, vo, totalCostVo));
|
|
|
|
|
|
+ BigDecimal royalty = getTotalRoyalty(config, vo, totalCostVo);
|
|
|
|
+ vo.setTotalRoyalty(royalty);
|
|
|
|
+ memberTotaRoyalty = memberTotaRoyalty.add(royalty);
|
|
getDetails.add(vo);
|
|
getDetails.add(vo);
|
|
}
|
|
}
|
|
- return getDetails;
|
|
|
|
|
|
+ result.put("memberDetails", getDetails);
|
|
|
|
+ if (totalCostVo.getTotalCost().compareTo(config.getMediaTask()) < 0) {
|
|
|
|
+ result.put("totalRoyalty", "0");
|
|
|
|
+ ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS.getCode());
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+ result.put("totalRoyalty", memberTotaRoyalty.multiply(new BigDecimal("0.2")).setScale(2, RoundingMode.HALF_UP).toString());
|
|
|
|
+ ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS.getCode());
|
|
|
|
+ return result;
|
|
}
|
|
}
|
|
|
|
|
|
private BigDecimal getTotalRoyalty(OptimizerConfig config, OptimizerCostDetailVO vo, OptimizerCostDetailVO quarterCost) {
|
|
private BigDecimal getTotalRoyalty(OptimizerConfig config, OptimizerCostDetailVO vo, OptimizerCostDetailVO quarterCost) {
|