|
@@ -6,7 +6,7 @@ import org.jeecg.common.util.DateUtils;
|
|
import org.jeecg.modules.ctop.entity.Advertiser;
|
|
import org.jeecg.modules.ctop.entity.Advertiser;
|
|
import org.jeecg.modules.ctop.entity.SalePerformanceDetail;
|
|
import org.jeecg.modules.ctop.entity.SalePerformanceDetail;
|
|
import org.jeecg.modules.ctop.service.IAdvertiserService;
|
|
import org.jeecg.modules.ctop.service.IAdvertiserService;
|
|
-import org.jeecg.modules.ctop.service.IPerformanceAreaService;
|
|
|
|
|
|
+import org.jeecg.modules.ctop.service.IPerformanceSaleService;
|
|
import org.jeecg.modules.ctop.service.ISalePerformanceDetailService;
|
|
import org.jeecg.modules.ctop.service.ISalePerformanceDetailService;
|
|
import org.jeecg.modules.system.entity.SysUser;
|
|
import org.jeecg.modules.system.entity.SysUser;
|
|
import org.jeecg.modules.system.entity.SysUserRole;
|
|
import org.jeecg.modules.system.entity.SysUserRole;
|
|
@@ -23,7 +23,7 @@ import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
-public class PerformanceAreaServiceImpl implements IPerformanceAreaService {
|
|
|
|
|
|
+public class PerformanceSaleServiceImpl implements IPerformanceSaleService {
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private ISysUserService sysUserService;
|
|
private ISysUserService sysUserService;
|
|
@@ -33,14 +33,14 @@ public class PerformanceAreaServiceImpl implements IPerformanceAreaService {
|
|
@Override
|
|
@Override
|
|
public void loadSalsePerformance() {
|
|
public void loadSalsePerformance() {
|
|
//1:获取销售列表
|
|
//1:获取销售列表
|
|
- List<SysUser> sales = sysUserService.getUserListByRoleId("75ee837e6f3de29c0e3ed75d4629438e");
|
|
|
|
|
|
+ List<SysUser> sales = sysUserService.getUserListByRoleId(CtopAdConstant.SYSTEM_SALE_CODE);
|
|
if (null != sales && sales.size() > 0) {
|
|
if (null != sales && sales.size() > 0) {
|
|
sales.forEach(sale -> {
|
|
sales.forEach(sale -> {
|
|
countPerformance(sale);
|
|
countPerformance(sale);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
//2:获取销售AM列表
|
|
//2:获取销售AM列表
|
|
- List<SysUser> saleAms = sysUserService.getUserListByRoleId("f5a68aa2acf86e842100f0fa4b050d28");
|
|
|
|
|
|
+ List<SysUser> saleAms = sysUserService.getUserListByRoleId(CtopAdConstant.SYSTEM_SALE_AM_CODE);
|
|
if (null != saleAms && saleAms.size() > 0) {
|
|
if (null != saleAms && saleAms.size() > 0) {
|
|
saleAms.forEach(saleAm -> {
|
|
saleAms.forEach(saleAm -> {
|
|
countPerformance(saleAm);
|
|
countPerformance(saleAm);
|
|
@@ -107,11 +107,6 @@ public class PerformanceAreaServiceImpl implements IPerformanceAreaService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- public static final BigDecimal BYTEDANCE_MEDIA_TASK_COST = new BigDecimal("200000000");
|
|
|
|
- public static final BigDecimal KUAISHOU_MEDIA_TASK_COST = new BigDecimal("200000000");
|
|
|
|
- public static final BigDecimal BYTEDANCE_PERSONAL_TASK_COST = new BigDecimal("2400000");
|
|
|
|
- public static final BigDecimal KUAISHOU_PERSONAL_TASK_COST = new BigDecimal("2400000");
|
|
|
|
-
|
|
|
|
private void saveSalePerformanceDetail(Advertiser advertiser, SysUser user, SysUserRole userRole, int year, int quarter, String startDate, String endDate, BigDecimal bytedanceFinishMediaTask, BigDecimal bytedanceFinishPersonnalTask, BigDecimal kuaishouFinishMediaTask, BigDecimal kuaishouFinishPersonnalTask, Integer brandNew) {
|
|
private void saveSalePerformanceDetail(Advertiser advertiser, SysUser user, SysUserRole userRole, int year, int quarter, String startDate, String endDate, BigDecimal bytedanceFinishMediaTask, BigDecimal bytedanceFinishPersonnalTask, BigDecimal kuaishouFinishMediaTask, BigDecimal kuaishouFinishPersonnalTask, Integer brandNew) {
|
|
SalePerformanceDetail detail = new SalePerformanceDetail();
|
|
SalePerformanceDetail detail = new SalePerformanceDetail();
|
|
detail.setAdvertiserId(advertiser.getId());
|
|
detail.setAdvertiserId(advertiser.getId());
|
|
@@ -123,30 +118,30 @@ public class PerformanceAreaServiceImpl implements IPerformanceAreaService {
|
|
detail.setEndDate(endDate);
|
|
detail.setEndDate(endDate);
|
|
detail.setExtensionSelf(advertiser.getAdvertiserType());
|
|
detail.setExtensionSelf(advertiser.getAdvertiserType());
|
|
detail.setBrandNew(brandNew);
|
|
detail.setBrandNew(brandNew);
|
|
- if (user.getOrgCode().startsWith("A01A11A02")) {
|
|
|
|
|
|
+ if (user.getOrgCode().startsWith(CtopAdConstant.HB_BYTEDANCE_SALE_ORG_CODE)) {
|
|
detail.setMediaType(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);
|
|
detail.setMediaType(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);
|
|
BigDecimal totalCost = performanceService.getSalesSeasonTotalCostByParams(startDate, endDate, null, advertiser.getId(), CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);
|
|
BigDecimal totalCost = performanceService.getSalesSeasonTotalCostByParams(startDate, endDate, null, advertiser.getId(), CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);
|
|
if (null == totalCost) {
|
|
if (null == totalCost) {
|
|
totalCost = BigDecimal.ZERO;
|
|
totalCost = BigDecimal.ZERO;
|
|
}
|
|
}
|
|
detail.setTotalCost(totalCost);
|
|
detail.setTotalCost(totalCost);
|
|
- detail.setMediaTask(BYTEDANCE_MEDIA_TASK_COST);
|
|
|
|
|
|
+ detail.setMediaTask(CtopAdConstant.BYTEDANCE_MEDIA_TASK_COST);
|
|
detail.setDoMediaTask(bytedanceFinishMediaTask);
|
|
detail.setDoMediaTask(bytedanceFinishMediaTask);
|
|
- detail.setPersonnalTask(BYTEDANCE_PERSONAL_TASK_COST);
|
|
|
|
|
|
+ detail.setPersonnalTask(CtopAdConstant.BYTEDANCE_PERSONAL_TASK_COST);
|
|
detail.setDoPersonalTask(bytedanceFinishPersonnalTask);
|
|
detail.setDoPersonalTask(bytedanceFinishPersonnalTask);
|
|
detail.setPercent(getPercentagePercent(detail));
|
|
detail.setPercent(getPercentagePercent(detail));
|
|
detail.setPercentage(detail.getTotalCost().multiply(detail.getPercent()).setScale(2, RoundingMode.HALF_UP));
|
|
detail.setPercentage(detail.getTotalCost().multiply(detail.getPercent()).setScale(2, RoundingMode.HALF_UP));
|
|
salePerformanceDetailService.save(detail);
|
|
salePerformanceDetailService.save(detail);
|
|
- } else if (user.getOrgCode().startsWith("A01A11A01")) {
|
|
|
|
|
|
+ } else if (user.getOrgCode().startsWith(CtopAdConstant.HB_KUAISHOU_SALE_ORG_CODE)) {
|
|
detail.setMediaType(CtopAdConstant.PLATFORM_TYPE_KUAISHOU);
|
|
detail.setMediaType(CtopAdConstant.PLATFORM_TYPE_KUAISHOU);
|
|
BigDecimal totalCost = performanceService.getSalesSeasonTotalCostByParams(startDate, endDate, null, advertiser.getId(), CtopAdConstant.PLATFORM_TYPE_KUAISHOU);
|
|
BigDecimal totalCost = performanceService.getSalesSeasonTotalCostByParams(startDate, endDate, null, advertiser.getId(), CtopAdConstant.PLATFORM_TYPE_KUAISHOU);
|
|
if (null == totalCost) {
|
|
if (null == totalCost) {
|
|
totalCost = BigDecimal.ZERO;
|
|
totalCost = BigDecimal.ZERO;
|
|
}
|
|
}
|
|
detail.setTotalCost(totalCost);
|
|
detail.setTotalCost(totalCost);
|
|
- detail.setMediaTask(KUAISHOU_MEDIA_TASK_COST);
|
|
|
|
|
|
+ detail.setMediaTask(CtopAdConstant.KUAISHOU_MEDIA_TASK_COST);
|
|
detail.setDoMediaTask(kuaishouFinishMediaTask);
|
|
detail.setDoMediaTask(kuaishouFinishMediaTask);
|
|
- detail.setPersonnalTask(KUAISHOU_PERSONAL_TASK_COST);
|
|
|
|
|
|
+ detail.setPersonnalTask(CtopAdConstant.KUAISHOU_PERSONAL_TASK_COST);
|
|
detail.setDoPersonalTask(kuaishouFinishPersonnalTask);
|
|
detail.setDoPersonalTask(kuaishouFinishPersonnalTask);
|
|
//提成比例
|
|
//提成比例
|
|
detail.setPercent(getPercentagePercent(detail));
|
|
detail.setPercent(getPercentagePercent(detail));
|
|
@@ -157,11 +152,10 @@ public class PerformanceAreaServiceImpl implements IPerformanceAreaService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- //TODO 提成比例
|
|
|
|
private BigDecimal getPercentagePercent(SalePerformanceDetail detail) {
|
|
private BigDecimal getPercentagePercent(SalePerformanceDetail detail) {
|
|
BigDecimal percent = detail.getDoMediaTask().divide(detail.getMediaTask()).multiply(new BigDecimal("100"));
|
|
BigDecimal percent = detail.getDoMediaTask().divide(detail.getMediaTask()).multiply(new BigDecimal("100"));
|
|
//AM非自拓客户
|
|
//AM非自拓客户
|
|
- if (detail.getRoleId().equals("f5a68aa2acf86e842100f0fa4b050d28") && detail.getExtensionSelf() != 1) {
|
|
|
|
|
|
+ if (detail.getRoleId().equals(CtopAdConstant.SYSTEM_SALE_AM_CODE) && detail.getExtensionSelf() != 1) {
|
|
return new BigDecimal("0.0005");
|
|
return new BigDecimal("0.0005");
|
|
}
|
|
}
|
|
if (detail.getMediaType().equals(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE)) {
|
|
if (detail.getMediaType().equals(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE)) {
|
|
@@ -197,7 +191,6 @@ public class PerformanceAreaServiceImpl implements IPerformanceAreaService {
|
|
} else {
|
|
} else {
|
|
return new BigDecimal("0.001");
|
|
return new BigDecimal("0.001");
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|