## 三个拨比列表修改;
This commit is contained in:
parent
39a547a5c6
commit
a09dee575a
|
@ -61,12 +61,12 @@ public class CuBonusStatisController extends BaseController {
|
||||||
public TableDataInfo list(CuBonusStatisVO cuBonusStatisVO) {
|
public TableDataInfo list(CuBonusStatisVO cuBonusStatisVO) {
|
||||||
int pkCountry = SecurityUtils.getPkCountry();
|
int pkCountry = SecurityUtils.getPkCountry();
|
||||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||||
BigDecimal exchangeRate = currency.getData().getInExchangeRate() == null ? BigDecimal.ONE : currency.getData().getInExchangeRate();
|
|
||||||
|
|
||||||
BigDecimal cent = new BigDecimal("100");
|
BigDecimal cent = new BigDecimal("100");
|
||||||
|
BigDecimal exchangeRate = currency.getData().getInExchangeRate() == null ? BigDecimal.ONE : currency.getData().getInExchangeRate();
|
||||||
cuBonusStatisVO.setRate(exchangeRate);
|
cuBonusStatisVO.setRate(exchangeRate);
|
||||||
cuBonusStatisVO.setPerCent(exchangeRate.multiply(cent));
|
cuBonusStatisVO.setPerCent(exchangeRate.multiply(cent));
|
||||||
cuBonusStatisVO.setPkCountry(pkCountry);
|
cuBonusStatisVO.setPkCountry(pkCountry);
|
||||||
|
|
||||||
// 默认查询当前日期的前一天
|
// 默认查询当前日期的前一天
|
||||||
Date date = DateUtils.currentDate();
|
Date date = DateUtils.currentDate();
|
||||||
if (StringUtils.isEmpty(cuBonusStatisVO.getStartDate())
|
if (StringUtils.isEmpty(cuBonusStatisVO.getStartDate())
|
||||||
|
@ -80,92 +80,131 @@ public class CuBonusStatisController extends BaseController {
|
||||||
final List<Integer> pkBdVertexList = pkBdVertexStr.stream().map(Integer::valueOf).collect(Collectors.toList());
|
final List<Integer> pkBdVertexList = pkBdVertexStr.stream().map(Integer::valueOf).collect(Collectors.toList());
|
||||||
cuBonusStatisVO.setPkBdVertexList(pkBdVertexList);
|
cuBonusStatisVO.setPkBdVertexList(pkBdVertexList);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotEmpty(cuBonusStatisVO.getPkTeamCodeStr())) {
|
|
||||||
String[] split = cuBonusStatisVO.getPkTeamCodeStr().split(",");
|
|
||||||
List<String> pkTeamCodeStr = Arrays.asList(split);
|
|
||||||
final List<Integer> pkTeamCodeList = pkTeamCodeStr.stream().map(Integer::valueOf).collect(Collectors.toList());
|
|
||||||
cuBonusStatisVO.setPkTeamCodeList(pkTeamCodeList);
|
|
||||||
}
|
|
||||||
|
|
||||||
//查询订单业绩,查询分红配置每月10号分红
|
|
||||||
BigDecimal dividendRatio = BigDecimal.ZERO;
|
|
||||||
//查询奖金扣项配置参数 0.8
|
|
||||||
List<CuBonusStatisVO> bonus = iCuBonusStatisService.bonusDeductlist(cuBonusStatisVO);
|
|
||||||
if (CollectionUtil.isNotEmpty(bonus)) {
|
|
||||||
cuBonusStatisVO.setBackRatio(BigDecimal.ONE.subtract(bonus.get(0).getBackRatio()));
|
|
||||||
} else {
|
|
||||||
cuBonusStatisVO.setBackRatio(BigDecimal.ONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
List<Integer> orderTypeList = new ArrayList<>();
|
|
||||||
orderTypeList.add(EOrderType.REGISTER_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.UPGRADE_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.SPECIAL_REGISTER_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.SPECIAL_UPGRADE_ORDER.getValue());
|
|
||||||
cuBonusStatisVO.setOrderTypeList(orderTypeList);
|
|
||||||
|
|
||||||
List<CuBonusStatisVO> bdr = iCuBonusStatisService.bonusDividendRatiolist(cuBonusStatisVO);
|
|
||||||
if (CollectionUtil.isNotEmpty(bdr)) {
|
|
||||||
BigDecimal ratio = new BigDecimal("0.01");
|
|
||||||
for (CuBonusStatisVO cs : bdr) {
|
|
||||||
dividendRatio = dividendRatio.add(cs.getDividendRatio());
|
|
||||||
}
|
|
||||||
dividendRatio = dividendRatio.multiply(ratio).multiply(cuBonusStatisVO.getBackRatio());
|
|
||||||
cuBonusStatisVO.setDividendRatio(dividendRatio);
|
|
||||||
} else {
|
|
||||||
cuBonusStatisVO.setDividendRatio(BigDecimal.ZERO);
|
|
||||||
}
|
|
||||||
|
|
||||||
startPage();
|
startPage();
|
||||||
// 查询中国奖金拨比列表
|
|
||||||
List<CuBonusStatisVO> slList = iCuBonusStatisService.queryCuBonusStatis(cuBonusStatisVO);
|
List<CuBonusStatisVO> slList = iCuBonusStatisService.queryCuBonusStatis(cuBonusStatisVO);
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(slList)) {
|
if (CollectionUtil.isNotEmpty(slList)) {
|
||||||
slList.forEach(itm -> {
|
slList.forEach(item -> {
|
||||||
if (itm.getIntroduceBonus().compareTo(BigDecimal.ZERO) > 0) {
|
item.setMainRegAmount(item.getMainRegAmount().add(item.getSpecialRegisterAmount()));
|
||||||
itm.setIntroduceBonus(itm.getIntroduceBonus().multiply(currency.getData().getInExchangeRate()));
|
item.setMainUpAmount(item.getMainUpAmount().add(item.getSpecialUpgradeAmount()));
|
||||||
}
|
item.setMainRepurAmount(item.getMainRepurAmount().add(item.getSpecialRepurchaseAmount()));
|
||||||
if (itm.getOrgBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setOrgBonus(itm.getOrgBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (itm.getLeaderBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setLeaderBonus(itm.getLeaderBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
// 重新算首购拨比
|
|
||||||
if (itm.getFirstPurchaseAll().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
BigDecimal mainBonusRate = cent.multiply((itm.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
|
||||||
mainBonusRate = mainBonusRate.divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP);
|
|
||||||
itm.setMainBonusRate(mainBonusRate);
|
|
||||||
itm.setMainBonusPvRate(itm.getMainBonusPvRate().divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
|
||||||
}
|
|
||||||
// 重新算总拨比
|
|
||||||
if (itm.getFirstPurchaseAll().compareTo(BigDecimal.ZERO) > 0
|
|
||||||
|| itm.getRepurchaseAllAmount().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
BigDecimal totalBonusRate = cent.multiply((itm.getTotalBonus()).multiply(currency.getData().getInExchangeRate()));
|
|
||||||
totalBonusRate = totalBonusRate.divide(itm.getFirstPurchaseAll().add(itm.getRepurchaseAllAmount()), 4, RoundingMode.HALF_UP);
|
|
||||||
itm.setTotalBonusRate(totalBonusRate);
|
|
||||||
}
|
|
||||||
// 首购拨出金额
|
|
||||||
itm.setMainBonus(itm.getMainBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
itm.setTotalBonus(itm.getTotalBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
if (itm.getServiceBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setServiceBonus(itm.getServiceBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (itm.getHiFunIncome().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setHiFunIncome(itm.getHiFunIncome().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (itm.getRepurRangeBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setRepurRangeBonus(itm.getRepurRangeBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (itm.getRepurOrgBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setRepurOrgBonus(itm.getRepurOrgBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
itm.setRepurBonus(itm.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return getDataTable(slList);
|
return getDataTable(slList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 奖金拨比列表合计
|
||||||
|
**/
|
||||||
|
@AccessPermissions("performanceList")
|
||||||
|
@GetMapping("/subtotal")
|
||||||
|
@Log(module = EOperationModule.BONUS_DIAL_RATIO, business = EOperationBusiness.BONUS_DIAL_RATIO_LIST, method = EOperationMethod.SELECT)
|
||||||
|
public AjaxResult subtotal(CuBonusStatisVO cuBonusStatisVO) {
|
||||||
|
int pkCountry = SecurityUtils.getPkCountry();
|
||||||
|
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||||
|
BigDecimal exchangeRate = currency.getData().getInExchangeRate() == null ? BigDecimal.ONE : currency.getData().getInExchangeRate();
|
||||||
|
|
||||||
|
BigDecimal cent = new BigDecimal("100");
|
||||||
|
cuBonusStatisVO.setRate(exchangeRate);
|
||||||
|
cuBonusStatisVO.setPerCent(exchangeRate.multiply(cent));
|
||||||
|
cuBonusStatisVO.setPkCountry(pkCountry);
|
||||||
|
|
||||||
|
Date date = DateUtils.currentDate();
|
||||||
|
//默认查询当前日期的前一天
|
||||||
|
if (StringUtils.isEmpty(cuBonusStatisVO.getStartDate()) ||
|
||||||
|
StringUtils.isEmpty(cuBonusStatisVO.getEndDate())) {
|
||||||
|
cuBonusStatisVO.setStartDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||||
|
cuBonusStatisVO.setEndDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(cuBonusStatisVO.getPkBdVertexStr())) {
|
||||||
|
String[] split = cuBonusStatisVO.getPkBdVertexStr().split(",");
|
||||||
|
List<String> pkBdVertexStr = Arrays.asList(split);
|
||||||
|
final List<Integer> pkBdVertexList = pkBdVertexStr.stream().map(Integer::valueOf).collect(Collectors.toList());
|
||||||
|
cuBonusStatisVO.setPkBdVertexList(pkBdVertexList);
|
||||||
|
}
|
||||||
|
|
||||||
|
CuBonusStatisVO subtotal = iCuBonusStatisService.queryCuBonusSumStatis(cuBonusStatisVO);
|
||||||
|
if (null != subtotal) {
|
||||||
|
subtotal.setMainRegAmountSum(subtotal.getMainRegAmountSum().add(subtotal.getSpecialRegisterAmountSum()));
|
||||||
|
subtotal.setMainUpAmountSum(subtotal.getMainUpAmountSum().add(subtotal.getSpecialUpgradeAmountSum()));
|
||||||
|
subtotal.setMainRepurAmountSum(subtotal.getMainRepurAmountSum().add(subtotal.getSpecialRepurchaseAmountSum()));
|
||||||
|
}
|
||||||
|
|
||||||
|
return AjaxResult.success(subtotal);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出奖金拨比列表
|
||||||
|
**/
|
||||||
|
@Log(module = EOperationModule.BONUS_DIAL_RATIO, business = EOperationBusiness.BONUS_DIAL_RATIO_LIST, method = EOperationMethod.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(HttpServletResponse response, CuBonusStatisVO cuBonusStatisVO) {
|
||||||
|
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||||
|
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||||
|
BigDecimal exchangeRate = currency.getData().getInExchangeRate() == null ? BigDecimal.ONE : currency.getData().getInExchangeRate();
|
||||||
|
|
||||||
|
BigDecimal cent = new BigDecimal("100");
|
||||||
|
cuBonusStatisVO.setRate(exchangeRate);
|
||||||
|
cuBonusStatisVO.setPerCent(exchangeRate.multiply(cent));
|
||||||
|
cuBonusStatisVO.setPkCountry(pkCountry);
|
||||||
|
|
||||||
|
//默认查询当前日期的前一天
|
||||||
|
Date date = DateUtils.currentDate();
|
||||||
|
if (StringUtils.isEmpty(cuBonusStatisVO.getStartDate()) ||
|
||||||
|
StringUtils.isEmpty(cuBonusStatisVO.getEndDate())) {
|
||||||
|
cuBonusStatisVO.setStartDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||||
|
cuBonusStatisVO.setEndDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(cuBonusStatisVO.getPkBdVertexStr())) {
|
||||||
|
String[] split = cuBonusStatisVO.getPkBdVertexStr().split(",");
|
||||||
|
List<String> pkBdVertexStr = Arrays.asList(split);
|
||||||
|
final List<Integer> pkBdVertexList = pkBdVertexStr.stream().map(Integer::valueOf).collect(Collectors.toList());
|
||||||
|
cuBonusStatisVO.setPkBdVertexList(pkBdVertexList);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<CuBonusStatisVO> slList = iCuBonusStatisService.queryCuBonusStatis(cuBonusStatisVO);
|
||||||
|
if (CollectionUtil.isNotEmpty(slList)) {
|
||||||
|
slList.forEach(item -> {
|
||||||
|
item.setMainRegAmount(item.getMainRegAmount().add(item.getSpecialRegisterAmount()));
|
||||||
|
item.setMainUpAmount(item.getMainUpAmount().add(item.getSpecialUpgradeAmount()));
|
||||||
|
item.setMainRepurAmount(item.getMainRepurAmount().add(item.getSpecialRepurchaseAmount()));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//合计
|
||||||
|
CuBonusStatisVO subtotal = iCuBonusStatisService.queryCuBonusSumStatis(cuBonusStatisVO);
|
||||||
|
if (null != subtotal) {
|
||||||
|
subtotal.setVertexName("合计");
|
||||||
|
subtotal.setMainBonusPvRate(subtotal.getMainBonusPvRateSum());
|
||||||
|
subtotal.setRepurBonusPvRate(subtotal.getRepurBonusPvRateSum());
|
||||||
|
subtotal.setMainRegAmount(subtotal.getMainRegAmountSum().add(subtotal.getSpecialRegisterAmountSum()));
|
||||||
|
subtotal.setMainUpAmount(subtotal.getMainUpAmountSum().add(subtotal.getSpecialUpgradeAmountSum()));
|
||||||
|
subtotal.setFirstPurchaseAll(subtotal.getFirstPurchaseAllSum());
|
||||||
|
subtotal.setIntroduceBonus(subtotal.getIntroduceBonusSum());
|
||||||
|
subtotal.setOrgBonus(subtotal.getOrgBonusSum());
|
||||||
|
subtotal.setLeaderBonus(subtotal.getLeaderBonusSum());
|
||||||
|
subtotal.setServiceBonus(subtotal.getServiceBonusSum());
|
||||||
|
subtotal.setMainRepurAmount(subtotal.getMainRepurAmountSum().add(subtotal.getSpecialRepurchaseAmountSum()));
|
||||||
|
subtotal.setRepurchaseAllAmount(subtotal.getRepurchaseAllAmountSum());
|
||||||
|
subtotal.setRepurRangeBonus(subtotal.getRepurRangeBonusSum());
|
||||||
|
subtotal.setRepurOrgBonus(subtotal.getRepurOrgBonusSum());
|
||||||
|
subtotal.setRepurLeaderBonus(subtotal.getRepurLeaderBonusSum());
|
||||||
|
subtotal.setMainBonus(subtotal.getMainBonusSum());
|
||||||
|
subtotal.setMainBonusRate(subtotal.getMainBonusRateSum());
|
||||||
|
subtotal.setRepurBonus(subtotal.getRepurBonusSum());
|
||||||
|
subtotal.setRepurBonusRate(subtotal.getRepurBonusRateSum());
|
||||||
|
subtotal.setTotalBonus(subtotal.getTotalBonusSum());
|
||||||
|
subtotal.setTotalBonusRate(subtotal.getTotalBonusRateSum());
|
||||||
|
}
|
||||||
|
slList.add(subtotal);
|
||||||
|
|
||||||
|
ExcelUtil<CuBonusStatisVO> util = new ExcelUtil<>(CuBonusStatisVO.class);
|
||||||
|
util.exportExcel(response, slList, "拨比列表");
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询单个人奖金拨比列表
|
* 查询单个人奖金拨比列表
|
||||||
**/
|
**/
|
||||||
|
@ -323,90 +362,6 @@ public class CuBonusStatisController extends BaseController {
|
||||||
util.exportExcel(response, cspsList, "个人拨比列表");
|
util.exportExcel(response, cspsList, "个人拨比列表");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 奖金拨比列表合计
|
|
||||||
**/
|
|
||||||
@AccessPermissions("performanceList")
|
|
||||||
@GetMapping("/subtotal")
|
|
||||||
@Log(module = EOperationModule.BONUS_DIAL_RATIO, business = EOperationBusiness.BONUS_DIAL_RATIO_LIST, method = EOperationMethod.SELECT)
|
|
||||||
public AjaxResult subtotal(CuBonusStatisVO cuBonusStatisVO) {
|
|
||||||
int pkCountry = SecurityUtils.getPkCountry();
|
|
||||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
|
||||||
BigDecimal exchangeRate = currency.getData().getInExchangeRate() == null ? BigDecimal.ONE : currency.getData().getInExchangeRate();
|
|
||||||
|
|
||||||
BigDecimal cent = new BigDecimal("100");
|
|
||||||
cuBonusStatisVO.setRate(exchangeRate);
|
|
||||||
cuBonusStatisVO.setPerCent(exchangeRate.multiply(cent));
|
|
||||||
cuBonusStatisVO.setPkCountry(pkCountry);
|
|
||||||
|
|
||||||
Date date = DateUtils.currentDate();
|
|
||||||
//默认查询当前日期的前一天
|
|
||||||
if (StringUtils.isEmpty(cuBonusStatisVO.getStartDate()) ||
|
|
||||||
StringUtils.isEmpty(cuBonusStatisVO.getEndDate())) {
|
|
||||||
cuBonusStatisVO.setStartDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
|
||||||
cuBonusStatisVO.setEndDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotEmpty(cuBonusStatisVO.getPkBdVertexStr())) {
|
|
||||||
String[] split = cuBonusStatisVO.getPkBdVertexStr().split(",");
|
|
||||||
List<String> pkBdVertexStr = Arrays.asList(split);
|
|
||||||
final List<Integer> pkBdVertexList = pkBdVertexStr.stream().map(Integer::valueOf).collect(Collectors.toList());
|
|
||||||
cuBonusStatisVO.setPkBdVertexList(pkBdVertexList);
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotEmpty(cuBonusStatisVO.getPkTeamCodeStr())) {
|
|
||||||
String[] split = cuBonusStatisVO.getPkTeamCodeStr().split(",");
|
|
||||||
List<String> pkTeamCodeStr = Arrays.asList(split);
|
|
||||||
final List<Integer> pkTeamCodeList = pkTeamCodeStr.stream().map(Integer::valueOf).collect(Collectors.toList());
|
|
||||||
cuBonusStatisVO.setPkTeamCodeList(pkTeamCodeList);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询奖金扣项配置参数 0.8
|
|
||||||
List<CuBonusStatisVO> bonus = iCuBonusStatisService.bonusDeductlist(cuBonusStatisVO);
|
|
||||||
if (CollectionUtil.isNotEmpty(bonus)) {
|
|
||||||
cuBonusStatisVO.setBackRatio(BigDecimal.ONE.subtract(bonus.get(0).getBackRatio()));
|
|
||||||
} else {
|
|
||||||
cuBonusStatisVO.setBackRatio(BigDecimal.ONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
List<Integer> orderTypeList = new ArrayList<>();
|
|
||||||
orderTypeList.add(EOrderType.REGISTER_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.UPGRADE_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.SPECIAL_REGISTER_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.SPECIAL_UPGRADE_ORDER.getValue());
|
|
||||||
cuBonusStatisVO.setOrderTypeList(orderTypeList);
|
|
||||||
cuBonusStatisVO.setDividendRatio(BigDecimal.ZERO);
|
|
||||||
|
|
||||||
startPage();
|
|
||||||
CuBonusStatisVO subtotal = iCuBonusStatisService.queryCuBonusSumStatis(cuBonusStatisVO);
|
|
||||||
if (subtotal != null) {
|
|
||||||
if (subtotal.getIntroduceBonusSum().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
subtotal.setIntroduceBonusSum(subtotal.getIntroduceBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (subtotal.getOrgBonusSum().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
subtotal.setOrgBonusSum(subtotal.getOrgBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (subtotal.getLeaderBonusSum().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
subtotal.setLeaderBonusSum(subtotal.getLeaderBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (cuBonusStatisVO.getOrderAchieve().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
subtotal.setShareBonusSum(cuBonusStatisVO.getOrderAchieve().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (subtotal.getServiceBonusSum().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
subtotal.setServiceBonusSum(subtotal.getServiceBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (subtotal.getRepurRangeBonusSum().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
subtotal.setRepurRangeBonusSum(subtotal.getRepurRangeBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (subtotal.getRepurOrgBonusSum().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
subtotal.setRepurOrgBonusSum(subtotal.getRepurOrgBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
subtotal.setMainBonusSum(subtotal.getMainBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setRepurBonusSum(subtotal.getRepurBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setTotalBonusSum(subtotal.getTotalBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
return AjaxResult.success(subtotal);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 奖金拨比图表统计
|
* 奖金拨比图表统计
|
||||||
**/
|
**/
|
||||||
|
@ -625,137 +580,6 @@ public class CuBonusStatisController extends BaseController {
|
||||||
return AjaxResult.success(sumChart);
|
return AjaxResult.success(sumChart);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出奖金拨比列表
|
|
||||||
**/
|
|
||||||
@Log(module = EOperationModule.BONUS_DIAL_RATIO, business = EOperationBusiness.BONUS_DIAL_RATIO_LIST, method = EOperationMethod.EXPORT)
|
|
||||||
@PostMapping("/export")
|
|
||||||
public void export(HttpServletResponse response, CuBonusStatisVO cuBonusStatisVO) {
|
|
||||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
|
||||||
|
|
||||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
|
||||||
BigDecimal exchangeRate = currency.getData().getInExchangeRate() == null ? BigDecimal.ONE : currency.getData().getInExchangeRate();
|
|
||||||
|
|
||||||
BigDecimal cent = new BigDecimal("100");
|
|
||||||
cuBonusStatisVO.setRate(exchangeRate);
|
|
||||||
cuBonusStatisVO.setPerCent(exchangeRate.multiply(cent));
|
|
||||||
cuBonusStatisVO.setPkCountry(pkCountry);
|
|
||||||
|
|
||||||
//默认查询当前日期的前一天
|
|
||||||
Date date = DateUtils.currentDate();
|
|
||||||
if (StringUtils.isEmpty(cuBonusStatisVO.getStartDate()) ||
|
|
||||||
StringUtils.isEmpty(cuBonusStatisVO.getEndDate())) {
|
|
||||||
cuBonusStatisVO.setStartDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
|
||||||
cuBonusStatisVO.setEndDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotEmpty(cuBonusStatisVO.getPkBdVertexStr())) {
|
|
||||||
String[] split = cuBonusStatisVO.getPkBdVertexStr().split(",");
|
|
||||||
List<String> pkBdVertexStr = Arrays.asList(split);
|
|
||||||
final List<Integer> pkBdVertexList = pkBdVertexStr.stream().map(Integer::valueOf).collect(Collectors.toList());
|
|
||||||
cuBonusStatisVO.setPkBdVertexList(pkBdVertexList);
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotEmpty(cuBonusStatisVO.getPkTeamCodeStr())) {
|
|
||||||
String[] split = cuBonusStatisVO.getPkTeamCodeStr().split(",");
|
|
||||||
List<String> pkTeamCodeStr = Arrays.asList(split);
|
|
||||||
final List<Integer> pkTeamCodeList = pkTeamCodeStr.stream().map(Integer::valueOf).collect(Collectors.toList());
|
|
||||||
cuBonusStatisVO.setPkTeamCodeList(pkTeamCodeList);
|
|
||||||
}
|
|
||||||
//查询奖金扣项配置参数 0.8
|
|
||||||
List<CuBonusStatisVO> bonus = iCuBonusStatisService.bonusDeductlist(cuBonusStatisVO);
|
|
||||||
if (CollectionUtil.isNotEmpty(bonus)) {
|
|
||||||
cuBonusStatisVO.setBackRatio(BigDecimal.ONE.subtract(bonus.get(0).getBackRatio()));
|
|
||||||
} else {
|
|
||||||
cuBonusStatisVO.setBackRatio(BigDecimal.ONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
List<Integer> orderTypeList = new ArrayList<>();
|
|
||||||
orderTypeList.add(EOrderType.REGISTER_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.UPGRADE_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.SPECIAL_REGISTER_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.SPECIAL_UPGRADE_ORDER.getValue());
|
|
||||||
cuBonusStatisVO.setOrderTypeList(orderTypeList);
|
|
||||||
cuBonusStatisVO.setDividendRatio(BigDecimal.ZERO);
|
|
||||||
|
|
||||||
startPage();
|
|
||||||
List<CuBonusStatisVO> slList = iCuBonusStatisService.queryCuBonusStatis(cuBonusStatisVO);
|
|
||||||
//合计
|
|
||||||
CuBonusStatisVO subtotal = iCuBonusStatisService.queryCuBonusSumStatis(cuBonusStatisVO);
|
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(slList)) {
|
|
||||||
slList.forEach(itm -> {
|
|
||||||
if (itm.getIntroduceBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setIntroduceBonus(itm.getIntroduceBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (itm.getOrgBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setOrgBonus(itm.getOrgBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (itm.getLeaderBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setLeaderBonus(itm.getLeaderBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
//重新算首购拨比
|
|
||||||
if (itm.getFirstPurchaseAll().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
BigDecimal mainBonusRate = cent.multiply((itm.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
|
||||||
mainBonusRate = mainBonusRate.divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP);
|
|
||||||
itm.setMainBonusRate(mainBonusRate);
|
|
||||||
}
|
|
||||||
//重新算总拨比
|
|
||||||
if (itm.getFirstPurchaseAll().compareTo(BigDecimal.ZERO) > 0 ||
|
|
||||||
itm.getRepurchaseAllAmount().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
BigDecimal totalBonusRate = cent.multiply((itm.getTotalBonus()).multiply(currency.getData().getInExchangeRate()));
|
|
||||||
totalBonusRate = totalBonusRate.divide(itm.getFirstPurchaseAll().add(itm.getRepurchaseAllAmount()), 4, RoundingMode.HALF_UP);
|
|
||||||
itm.setTotalBonusRate(totalBonusRate);
|
|
||||||
}
|
|
||||||
//首购拨出金额
|
|
||||||
itm.setMainBonus(itm.getMainBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
itm.setTotalBonus((itm.getTotalBonus()).multiply(currency.getData().getInExchangeRate()));
|
|
||||||
|
|
||||||
if (itm.getServiceBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setServiceBonus(itm.getServiceBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (itm.getHiFunIncome().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setHiFunIncome(itm.getHiFunIncome().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (itm.getRepurRangeBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setRepurRangeBonus(itm.getRepurRangeBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (itm.getRepurOrgBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setRepurOrgBonus(itm.getRepurOrgBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
if (itm.getRepurBonus().compareTo(BigDecimal.ZERO) > 0) {
|
|
||||||
itm.setRepurBonus(itm.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//合计
|
|
||||||
subtotal.setVertexName("合计");
|
|
||||||
subtotal.setMainBonusRate(subtotal.getMainBonusRateSum());
|
|
||||||
subtotal.setRepurBonusRate(subtotal.getRepurBonusRateSum());
|
|
||||||
subtotal.setIntroduceBonus(subtotal.getIntroduceBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setOrgBonus(subtotal.getOrgBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setLeaderBonus(subtotal.getLeaderBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setShareBonus(subtotal.getShareBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setServiceBonus(subtotal.getServiceBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setRepurRangeBonus(subtotal.getRepurRangeBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setRepurOrgBonus(subtotal.getRepurOrgBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setMainBonus(subtotal.getMainBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setRepurBonus(subtotal.getRepurBonusSum().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setTotalBonus((subtotal.getTotalBonusSum()).multiply(currency.getData().getInExchangeRate()));
|
|
||||||
subtotal.setMainRegAmount(subtotal.getMainRegAmountSum());
|
|
||||||
subtotal.setMainUpAmount(subtotal.getMainUpAmountSum());
|
|
||||||
subtotal.setFirstPurchaseAll(subtotal.getFirstPurchaseAllSum());
|
|
||||||
subtotal.setMainRepurAmount(subtotal.getMainRepurAmountSum());
|
|
||||||
subtotal.setHifansRegAmount(subtotal.getHifansRegAmountSum());
|
|
||||||
subtotal.setRepurchaseAllAmount(subtotal.getRepurchaseAllAmountSum());
|
|
||||||
subtotal.setTotalBonusRate(subtotal.getTotalBonusRateSum());
|
|
||||||
subtotal.setMainBonusPvRate(subtotal.getMainBonusPvRateSum());
|
|
||||||
subtotal.setRepurBonusPvRate(subtotal.getRepurBonusPvRateSum());
|
|
||||||
|
|
||||||
slList.add(subtotal);
|
|
||||||
ExcelUtil<CuBonusStatisVO> util = new ExcelUtil<>(CuBonusStatisVO.class);
|
|
||||||
util.exportExcel(response, slList, "拨比列表");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出奖金图表
|
* 导出奖金图表
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -128,7 +128,29 @@ public class CuBonusVertexStatisController extends BaseController {
|
||||||
|
|
||||||
// 合计
|
// 合计
|
||||||
CuBonusVertexStatisVO subtotal = iCuBonusVertexStatisService.queryCuBonusSumStatis(cuBonusVertexStatisVO);
|
CuBonusVertexStatisVO subtotal = iCuBonusVertexStatisService.queryCuBonusSumStatis(cuBonusVertexStatisVO);
|
||||||
|
if (null != subtotal) {
|
||||||
subtotal.setMemberCode("合计");
|
subtotal.setMemberCode("合计");
|
||||||
|
subtotal.setMainBonusPvRate(subtotal.getMainBonusPvRateSum());
|
||||||
|
subtotal.setRepurBonusPvRate(subtotal.getRepurBonusPvRateSum());
|
||||||
|
subtotal.setMainRegAmount(subtotal.getMainRegAmountSum().add(subtotal.getSpecialRegisterAmountSum()));
|
||||||
|
subtotal.setMainUpAmount(subtotal.getMainUpAmountSum().add(subtotal.getSpecialUpgradeAmountSum()));
|
||||||
|
subtotal.setFirstPurchaseAll(subtotal.getFirstPurchaseAllSum());
|
||||||
|
subtotal.setIntroduceBonus(subtotal.getIntroduceBonusSum());
|
||||||
|
subtotal.setOrgBonus(subtotal.getOrgBonusSum());
|
||||||
|
subtotal.setLeaderBonus(subtotal.getLeaderBonusSum());
|
||||||
|
subtotal.setServiceBonus(subtotal.getServiceBonusSum());
|
||||||
|
subtotal.setMainRepurAmount(subtotal.getMainRepurAmountSum().add(subtotal.getSpecialRepurchaseAmountSum()));
|
||||||
|
subtotal.setRepurchaseAllAmount(subtotal.getRepurchaseAllAmountSum());
|
||||||
|
subtotal.setRepurRangeBonus(subtotal.getRepurRangeBonusSum());
|
||||||
|
subtotal.setRepurOrgBonus(subtotal.getRepurOrgBonusSum());
|
||||||
|
subtotal.setRepurLeaderBonus(subtotal.getRepurLeaderBonusSum());
|
||||||
|
subtotal.setMainBonus(subtotal.getMainBonusSum());
|
||||||
|
subtotal.setMainBonusRate(subtotal.getMainBonusRateSum());
|
||||||
|
subtotal.setRepurBonus(subtotal.getRepurBonusSum());
|
||||||
|
subtotal.setRepurBonusRate(subtotal.getRepurBonusRateSum());
|
||||||
|
subtotal.setTotalBonus(subtotal.getTotalBonusSum());
|
||||||
|
subtotal.setTotalBonusRate(subtotal.getTotalBonusRateSum());
|
||||||
|
}
|
||||||
slList.add(subtotal);
|
slList.add(subtotal);
|
||||||
|
|
||||||
ExcelUtil<CuBonusVertexStatisVO> util = new ExcelUtil<>(CuBonusVertexStatisVO.class);
|
ExcelUtil<CuBonusVertexStatisVO> util = new ExcelUtil<>(CuBonusVertexStatisVO.class);
|
||||||
|
@ -160,6 +182,11 @@ public class CuBonusVertexStatisController extends BaseController {
|
||||||
|
|
||||||
//查询合计
|
//查询合计
|
||||||
CuBonusVertexStatisVO subtotal = iCuBonusVertexStatisService.queryCuBonusSumStatis(cuBonusVertexStatisVO);
|
CuBonusVertexStatisVO subtotal = iCuBonusVertexStatisService.queryCuBonusSumStatis(cuBonusVertexStatisVO);
|
||||||
|
if (null != subtotal) {
|
||||||
|
subtotal.setMainRegAmountSum(subtotal.getMainRegAmountSum().add(subtotal.getSpecialRegisterAmountSum()));
|
||||||
|
subtotal.setMainUpAmountSum(subtotal.getMainUpAmountSum().add(subtotal.getSpecialUpgradeAmountSum()));
|
||||||
|
subtotal.setMainRepurAmountSum(subtotal.getMainRepurAmountSum().add(subtotal.getSpecialRepurchaseAmountSum()));
|
||||||
|
}
|
||||||
return AjaxResult.success(subtotal);
|
return AjaxResult.success(subtotal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,12 +4,10 @@ import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.hzs.common.core.annotation.AccessPermissions;
|
import com.hzs.common.core.annotation.AccessPermissions;
|
||||||
import com.hzs.common.core.annotation.Log;
|
import com.hzs.common.core.annotation.Log;
|
||||||
import com.hzs.common.core.constant.CountryConstants;
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.core.enums.EOperationBusiness;
|
import com.hzs.common.core.enums.EOperationBusiness;
|
||||||
import com.hzs.common.core.enums.EOperationMethod;
|
import com.hzs.common.core.enums.EOperationMethod;
|
||||||
import com.hzs.common.core.enums.EOperationModule;
|
import com.hzs.common.core.enums.EOperationModule;
|
||||||
import com.hzs.common.core.enums.EOrderType;
|
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
import com.hzs.common.core.utils.DateUtils;
|
||||||
import com.hzs.common.core.utils.StringUtils;
|
import com.hzs.common.core.utils.StringUtils;
|
||||||
import com.hzs.common.core.utils.poi.ExcelUtil;
|
import com.hzs.common.core.utils.poi.ExcelUtil;
|
||||||
|
@ -17,7 +15,7 @@ import com.hzs.common.core.web.controller.BaseController;
|
||||||
import com.hzs.common.core.web.page.TableDataInfo;
|
import com.hzs.common.core.web.page.TableDataInfo;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.member.statis.service.ICuBonusVertexStatisService;
|
import com.hzs.member.statis.service.ICuBonusVertexStatisService;
|
||||||
import com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO;
|
import com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO;
|
||||||
import com.hzs.member.statis.vo.CuBonusVertexStatisVO;
|
import com.hzs.member.statis.vo.CuBonusVertexStatisVO;
|
||||||
import com.hzs.system.base.ICurrencyServiceApi;
|
import com.hzs.system.base.ICurrencyServiceApi;
|
||||||
import com.hzs.system.base.dto.CurrencyDTO;
|
import com.hzs.system.base.dto.CurrencyDTO;
|
||||||
|
@ -33,9 +31,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 奖金拨比零线汇总统计 前端控制器
|
* 奖金拨比零线汇总统计 前端控制器
|
||||||
|
@ -56,74 +52,67 @@ public class CuBonusVertexStatisTotalController extends BaseController {
|
||||||
@AccessPermissions("TopPerformanceTotal")
|
@AccessPermissions("TopPerformanceTotal")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
@Log(module = EOperationModule.BONUS_DIAL_RATIO, business = EOperationBusiness.BONUS_DIAL_VERTEX_RATIO_TOTAL, method = EOperationMethod.SELECT)
|
@Log(module = EOperationModule.BONUS_DIAL_RATIO, business = EOperationBusiness.BONUS_DIAL_VERTEX_RATIO_TOTAL, method = EOperationMethod.SELECT)
|
||||||
public TableDataInfo list(CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO) {
|
public TableDataInfo list(CuBonusVertexStaticTotalVO cuBonusVertexStaticTotalVO) {
|
||||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||||
List<CuBonusVertexStatisTotalVO> slList;
|
|
||||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||||
BigDecimal exchangeRate = currency.getData().getInExchangeRate() == null ? BigDecimal.ONE : currency.getData().getInExchangeRate();
|
|
||||||
cuBonusVertexStatisTotalVO.setRate(exchangeRate);
|
|
||||||
BigDecimal cent = new BigDecimal(100);
|
BigDecimal cent = new BigDecimal(100);
|
||||||
cuBonusVertexStatisTotalVO.setPerCent(exchangeRate.multiply(cent));
|
BigDecimal exchangeRate = currency.getData().getInExchangeRate() == null ? BigDecimal.ONE : currency.getData().getInExchangeRate();
|
||||||
cuBonusVertexStatisTotalVO.setPkCountry(pkCountry);
|
cuBonusVertexStaticTotalVO.setRate(exchangeRate);
|
||||||
|
cuBonusVertexStaticTotalVO.setPerCent(exchangeRate.multiply(cent));
|
||||||
|
cuBonusVertexStaticTotalVO.setPkCountry(pkCountry);
|
||||||
//默认查询当前日期的前一天
|
//默认查询当前日期的前一天
|
||||||
Date date = DateUtils.currentDate();
|
Date date = DateUtils.currentDate();
|
||||||
if (StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getStartDate()) ||
|
if (StringUtils.isEmpty(cuBonusVertexStaticTotalVO.getStartDate())
|
||||||
StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getEndDate())) {
|
|| StringUtils.isEmpty(cuBonusVertexStaticTotalVO.getEndDate())) {
|
||||||
cuBonusVertexStatisTotalVO.setStartDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
cuBonusVertexStaticTotalVO.setStartDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||||
cuBonusVertexStatisTotalVO.setEndDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
cuBonusVertexStaticTotalVO.setEndDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||||
}
|
}
|
||||||
List<Integer> orderTypeList = new ArrayList<>();
|
|
||||||
orderTypeList.add(EOrderType.REGISTER_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.UPGRADE_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.SPECIAL_REGISTER_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.SPECIAL_UPGRADE_ORDER.getValue());
|
|
||||||
cuBonusVertexStatisTotalVO.setOrderTypeList(orderTypeList);
|
|
||||||
//查询分红比例配置
|
|
||||||
cuBonusVertexStatisTotalVO.setDividendRatio(BigDecimal.ZERO);
|
|
||||||
//查询顶点会员
|
|
||||||
List<CuBonusVertexStatisTotalVO> vertexList = iCuBonusVertexStatisService.queryCuBonusVertex(cuBonusVertexStatisTotalVO);
|
|
||||||
|
|
||||||
CuBonusVertexStatisVO cvs = BeanUtil.copyProperties(cuBonusVertexStatisTotalVO, CuBonusVertexStatisVO.class);
|
Map<Integer, CuBonusVertexStaticTotalVO> touchMap = new HashMap<>();
|
||||||
for (CuBonusVertexStatisTotalVO ve : vertexList) {
|
//查询顶点会员
|
||||||
|
List<CuBonusVertexStaticTotalVO> vertexList = iCuBonusVertexStatisService.queryCuBonusVertex(cuBonusVertexStaticTotalVO);
|
||||||
|
CuBonusVertexStatisVO cvs = BeanUtil.copyProperties(cuBonusVertexStaticTotalVO, CuBonusVertexStatisVO.class);
|
||||||
|
for (CuBonusVertexStaticTotalVO ve : vertexList) {
|
||||||
cvs.setPkVertex(ve.getPkVertex());
|
cvs.setPkVertex(ve.getPkVertex());
|
||||||
|
//查询顶点拓展平均碰次和拓展最高碰次
|
||||||
|
CuBonusVertexStaticTotalVO touch = iCuBonusVertexStatisService.queryTouch(cvs);
|
||||||
|
if (touch != null) {
|
||||||
|
touchMap.put(ve.getPkVertex(), touch);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
startPage();
|
startPage();
|
||||||
//查询顶点奖金拨比汇总
|
//查询顶点奖金拨比汇总
|
||||||
slList = iCuBonusVertexStatisService.queryCuBonusStatisTotal(cuBonusVertexStatisTotalVO);
|
List<CuBonusVertexStaticTotalVO> slList = iCuBonusVertexStatisService.queryCuBonusStatisTotal(cuBonusVertexStaticTotalVO);
|
||||||
//查询顶点奖金拨比汇总总和(最后一行)
|
|
||||||
CuBonusVertexStatisTotalVO cuBonusVertexStatisSum = iCuBonusVertexStatisService.queryCuBonusStatisSum(cuBonusVertexStatisTotalVO);
|
|
||||||
if (null != cuBonusVertexStatisSum) {
|
|
||||||
cuBonusVertexStatisSum.setMainBonus((cuBonusVertexStatisSum.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
|
||||||
cuBonusVertexStatisSum.setRepurBonus(cuBonusVertexStatisSum.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
if (CollectionUtil.isNotEmpty(slList)) {
|
if (CollectionUtil.isNotEmpty(slList)) {
|
||||||
slList.forEach(itm -> {
|
slList.forEach(itm -> {
|
||||||
if (pkCountry.equals(CountryConstants.CHINA_COUNTRY)) {
|
CuBonusVertexStaticTotalVO tmpTotalVO = touchMap.get(itm.getPkVertex());
|
||||||
//重新算首购拨比
|
if (null != tmpTotalVO) {
|
||||||
|
itm.setOrgTopNumber(tmpTotalVO.getOrgTopNumber());
|
||||||
|
itm.setOrgAvTouch(tmpTotalVO.getOrgAvTouch());
|
||||||
|
itm.setOrgMaxTouch(tmpTotalVO.getOrgMaxTouch());
|
||||||
|
}
|
||||||
if (itm.getFirstPurchaseAll().compareTo(BigDecimal.ZERO) > 0) {
|
if (itm.getFirstPurchaseAll().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
BigDecimal mainBonusRate = cent.multiply((itm.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
itm.setIntroduceBonusRate(itm.getIntroduceBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
||||||
mainBonusRate = mainBonusRate.divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP);
|
itm.setOrgBonusRate(itm.getOrgBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
||||||
itm.setMainBonusRate(mainBonusRate);
|
itm.setLeaderBonusRate(itm.getLeaderBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
||||||
itm.setIntroduceBonusRate(itm.getIntroduceBonus().multiply(cuBonusVertexStatisTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
itm.setServiceBonusRate(itm.getServiceBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
||||||
itm.setOrgBonusRate(itm.getOrgBonus().multiply(cuBonusVertexStatisTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
|
||||||
itm.setServiceBonusRate(itm.getServiceBonus().multiply(cuBonusVertexStatisTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
|
||||||
}
|
}
|
||||||
//首购拨出金额
|
if (itm.getRepurchaseAllAmount().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
itm.setMainBonus((itm.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
itm.setRepurRangeBonusRate(itm.getRepurRangeBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getRepurchaseAllAmount(), 4, RoundingMode.HALF_UP));
|
||||||
itm.setRepurBonus(itm.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
|
itm.setRepurOrgBonusRate(itm.getRepurOrgBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getRepurchaseAllAmount(), 4, RoundingMode.HALF_UP));
|
||||||
cuBonusVertexStatisTotalVO.setFirstPurchaseAllSum(cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum().add(itm.getFirstPurchaseAll()));
|
itm.setRepurLeaderBonusRate(itm.getRepurLeaderBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getRepurchaseAllAmount(), 4, RoundingMode.HALF_UP));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//计算占比
|
|
||||||
slList.forEach(itm -> {
|
//查询顶点奖金拨比汇总总和(最后一行)
|
||||||
if (cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum().compareTo(BigDecimal.ZERO) > 0) {
|
CuBonusVertexStaticTotalVO cuBonusVertexStaticSum = iCuBonusVertexStatisService.queryCuBonusStatisSum(cuBonusVertexStaticTotalVO);
|
||||||
itm.setFirstPurchaseRatio(cent.multiply(itm.getFirstPurchaseAll()).divide(cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum(), 4, RoundingMode.HALF_UP));
|
if (null != cuBonusVertexStaticSum) {
|
||||||
}
|
cuBonusVertexStaticSum.setMemberName("汇总");
|
||||||
});
|
slList.add(cuBonusVertexStaticSum);
|
||||||
cuBonusVertexStatisSum.setMemberName("汇总");
|
|
||||||
slList.add(cuBonusVertexStatisSum);
|
|
||||||
} else {
|
} else {
|
||||||
slList.add(new CuBonusVertexStatisTotalVO());
|
slList.add(new CuBonusVertexStaticTotalVO());
|
||||||
}
|
}
|
||||||
return getDataTable(slList);
|
return getDataTable(slList);
|
||||||
}
|
}
|
||||||
|
@ -133,72 +122,69 @@ public class CuBonusVertexStatisTotalController extends BaseController {
|
||||||
**/
|
**/
|
||||||
@Log(module = EOperationModule.BONUS_DIAL_RATIO, business = EOperationBusiness.BONUS_DIAL_VERTEX_RATIO_TOTAL, method = EOperationMethod.EXPORT)
|
@Log(module = EOperationModule.BONUS_DIAL_RATIO, business = EOperationBusiness.BONUS_DIAL_VERTEX_RATIO_TOTAL, method = EOperationMethod.EXPORT)
|
||||||
@PostMapping("/export")
|
@PostMapping("/export")
|
||||||
public void export(HttpServletResponse response, CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO) {
|
public void export(HttpServletResponse response, CuBonusVertexStaticTotalVO cuBonusVertexStaticTotalVO) {
|
||||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||||
List<CuBonusVertexStatisTotalVO> slList;
|
|
||||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||||
BigDecimal exchangeRate = currency.getData().getInExchangeRate() == null ? BigDecimal.ONE : currency.getData().getInExchangeRate();
|
|
||||||
cuBonusVertexStatisTotalVO.setRate(exchangeRate);
|
|
||||||
BigDecimal cent = new BigDecimal(100);
|
BigDecimal cent = new BigDecimal(100);
|
||||||
cuBonusVertexStatisTotalVO.setPerCent(exchangeRate.multiply(cent));
|
BigDecimal exchangeRate = currency.getData().getInExchangeRate() == null ? BigDecimal.ONE : currency.getData().getInExchangeRate();
|
||||||
cuBonusVertexStatisTotalVO.setPkCountry(pkCountry);
|
cuBonusVertexStaticTotalVO.setRate(exchangeRate);
|
||||||
|
cuBonusVertexStaticTotalVO.setPerCent(exchangeRate.multiply(cent));
|
||||||
|
cuBonusVertexStaticTotalVO.setPkCountry(pkCountry);
|
||||||
//默认查询当前日期的前一天
|
//默认查询当前日期的前一天
|
||||||
Date date = DateUtils.currentDate();
|
Date date = DateUtils.currentDate();
|
||||||
if (StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getStartDate()) ||
|
if (StringUtils.isEmpty(cuBonusVertexStaticTotalVO.getStartDate()) ||
|
||||||
StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getEndDate())) {
|
StringUtils.isEmpty(cuBonusVertexStaticTotalVO.getEndDate())) {
|
||||||
cuBonusVertexStatisTotalVO.setStartDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
cuBonusVertexStaticTotalVO.setStartDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||||
cuBonusVertexStatisTotalVO.setEndDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
cuBonusVertexStaticTotalVO.setEndDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||||
}
|
}
|
||||||
List<Integer> orderTypeList = new ArrayList<>();
|
|
||||||
orderTypeList.add(EOrderType.REGISTER_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.UPGRADE_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.SPECIAL_REGISTER_ORDER.getValue());
|
|
||||||
orderTypeList.add(EOrderType.SPECIAL_UPGRADE_ORDER.getValue());
|
|
||||||
cuBonusVertexStatisTotalVO.setOrderTypeList(orderTypeList);
|
|
||||||
//查询分红比例配置
|
|
||||||
cuBonusVertexStatisTotalVO.setDividendRatio(BigDecimal.ZERO);
|
|
||||||
//查询顶点会员
|
|
||||||
List<CuBonusVertexStatisTotalVO> vertexList = iCuBonusVertexStatisService.queryCuBonusVertex(cuBonusVertexStatisTotalVO);
|
|
||||||
|
|
||||||
CuBonusVertexStatisVO cvs = BeanUtil.copyProperties(cuBonusVertexStatisTotalVO, CuBonusVertexStatisVO.class);
|
Map<Integer, CuBonusVertexStaticTotalVO> touchMap = new HashMap<>();
|
||||||
for (CuBonusVertexStatisTotalVO ve : vertexList) {
|
//查询顶点会员
|
||||||
|
List<CuBonusVertexStaticTotalVO> vertexList = iCuBonusVertexStatisService.queryCuBonusVertex(cuBonusVertexStaticTotalVO);
|
||||||
|
CuBonusVertexStatisVO cvs = BeanUtil.copyProperties(cuBonusVertexStaticTotalVO, CuBonusVertexStatisVO.class);
|
||||||
|
for (CuBonusVertexStaticTotalVO ve : vertexList) {
|
||||||
cvs.setPkVertex(ve.getPkVertex());
|
cvs.setPkVertex(ve.getPkVertex());
|
||||||
|
//查询顶点拓展平均碰次和拓展最高碰次
|
||||||
|
CuBonusVertexStaticTotalVO touch = iCuBonusVertexStatisService.queryTouch(cvs);
|
||||||
|
if (touch != null) {
|
||||||
|
touchMap.put(ve.getPkVertex(), touch);
|
||||||
}
|
}
|
||||||
startPage();
|
}
|
||||||
|
|
||||||
//查询顶点奖金拨比汇总
|
//查询顶点奖金拨比汇总
|
||||||
slList = iCuBonusVertexStatisService.queryCuBonusStatisTotal(cuBonusVertexStatisTotalVO);
|
List<CuBonusVertexStaticTotalVO> slList = iCuBonusVertexStatisService.queryCuBonusStatisTotal(cuBonusVertexStaticTotalVO);
|
||||||
//查询顶点奖金拨比汇总总和(最后一行)
|
|
||||||
CuBonusVertexStatisTotalVO cuBonusVertexStatisSum = iCuBonusVertexStatisService.queryCuBonusStatisSum(cuBonusVertexStatisTotalVO);
|
|
||||||
cuBonusVertexStatisSum.setMainBonus((cuBonusVertexStatisSum.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
|
||||||
cuBonusVertexStatisSum.setRepurBonus(cuBonusVertexStatisSum.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
|
|
||||||
if (CollectionUtil.isNotEmpty(slList)) {
|
if (CollectionUtil.isNotEmpty(slList)) {
|
||||||
slList.forEach(itm -> {
|
slList.forEach(itm -> {
|
||||||
if (pkCountry.equals(CountryConstants.CHINA_COUNTRY)) {
|
CuBonusVertexStaticTotalVO tmpTotalVO = touchMap.get(itm.getPkVertex());
|
||||||
|
if (null != tmpTotalVO) {
|
||||||
|
itm.setOrgTopNumber(tmpTotalVO.getOrgTopNumber());
|
||||||
|
itm.setOrgAvTouch(tmpTotalVO.getOrgAvTouch());
|
||||||
|
itm.setOrgMaxTouch(tmpTotalVO.getOrgMaxTouch());
|
||||||
|
}
|
||||||
//重新算首购拨比
|
//重新算首购拨比
|
||||||
if (itm.getFirstPurchaseAll().compareTo(BigDecimal.ZERO) > 0) {
|
if (itm.getFirstPurchaseAll().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
BigDecimal mainBonusRate = cent.multiply((itm.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
itm.setIntroduceBonusRate(itm.getIntroduceBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
||||||
mainBonusRate = mainBonusRate.divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP);
|
itm.setOrgBonusRate(itm.getOrgBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
||||||
itm.setMainBonusRate(mainBonusRate);
|
itm.setLeaderBonusRate(itm.getLeaderBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
||||||
itm.setIntroduceBonusRate(itm.getIntroduceBonus().multiply(cuBonusVertexStatisTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
itm.setServiceBonusRate(itm.getServiceBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
||||||
itm.setOrgBonusRate(itm.getOrgBonus().multiply(cuBonusVertexStatisTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
|
||||||
itm.setServiceBonusRate(itm.getServiceBonus().multiply(cuBonusVertexStatisTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP));
|
|
||||||
}
|
}
|
||||||
//首购拨出金额
|
if (itm.getRepurchaseAllAmount().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
itm.setMainBonus((itm.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
itm.setRepurRangeBonusRate(itm.getRepurRangeBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getRepurchaseAllAmount(), 4, RoundingMode.HALF_UP));
|
||||||
itm.setRepurBonus(itm.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
|
itm.setRepurOrgBonusRate(itm.getRepurOrgBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getRepurchaseAllAmount(), 4, RoundingMode.HALF_UP));
|
||||||
cuBonusVertexStatisTotalVO.setFirstPurchaseAllSum(cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum().add(itm.getFirstPurchaseAll()));
|
itm.setRepurLeaderBonusRate(itm.getRepurLeaderBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getRepurchaseAllAmount(), 4, RoundingMode.HALF_UP));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//计算占比
|
|
||||||
slList.forEach(itm -> {
|
//查询顶点奖金拨比汇总总和(最后一行)
|
||||||
if (cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum().compareTo(BigDecimal.ZERO) > 0) {
|
CuBonusVertexStaticTotalVO cuBonusVertexStaticSum = iCuBonusVertexStatisService.queryCuBonusStatisSum(cuBonusVertexStaticTotalVO);
|
||||||
itm.setFirstPurchaseRatio(cent.multiply(itm.getFirstPurchaseAll()).divide(cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum(), 4, RoundingMode.HALF_UP));
|
if (null != cuBonusVertexStaticSum) {
|
||||||
|
cuBonusVertexStaticSum.setMemberName("汇总");
|
||||||
|
slList.add(cuBonusVertexStaticSum);
|
||||||
|
} else {
|
||||||
|
slList.add(new CuBonusVertexStaticTotalVO());
|
||||||
}
|
}
|
||||||
});
|
ExcelUtil<CuBonusVertexStaticTotalVO> util = new ExcelUtil<>(CuBonusVertexStaticTotalVO.class);
|
||||||
cuBonusVertexStatisSum.setMemberName("汇总");
|
|
||||||
slList.add(cuBonusVertexStatisSum);
|
|
||||||
ExcelUtil<CuBonusVertexStatisTotalVO> util = new ExcelUtil<>(CuBonusVertexStatisTotalVO.class);
|
|
||||||
util.exportExcel(response, slList, "拨比列表");
|
util.exportExcel(response, slList, "拨比列表");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,17 +20,27 @@ public interface CuBonusVertexStatisMapper extends BaseMapper<CuBonusVertexStati
|
||||||
/**
|
/**
|
||||||
* @description: 查询顶点奖金拨比汇总
|
* @description: 查询顶点奖金拨比汇总
|
||||||
**/
|
**/
|
||||||
List<CuBonusVertexStatisTotalVO> queryCuBonusStatisTotal(CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO);
|
List<CuBonusVertexStaticTotalVO> queryCuBonusStatisTotal(CuBonusVertexStaticTotalVO cuBonusVertexStaticTotalVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 顶点奖金拨比汇总查询总和
|
* @description: 顶点奖金拨比汇总查询总和
|
||||||
**/
|
**/
|
||||||
CuBonusVertexStatisTotalVO queryCuBonusStatisSum(CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO);
|
CuBonusVertexStaticTotalVO queryCuBonusStatisSum(CuBonusVertexStaticTotalVO cuBonusVertexStaticTotalVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询时间内奖金拨比顶点会员
|
* @description: 查询时间内奖金拨比顶点会员
|
||||||
**/
|
**/
|
||||||
List<CuBonusVertexStatisTotalVO> queryCuBonusVertex(CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO);
|
List<CuBonusVertexStaticTotalVO> queryCuBonusVertex(CuBonusVertexStaticTotalVO cuBonusVertexStaticTotalVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询顶点拓展封顶人数
|
||||||
|
**/
|
||||||
|
CuBonusVertexStaticTotalVO queryOrgTopNumber(CuBonusVertexStatisVO cuBonusVertexStatisVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询顶点拓展平均碰次和拓展最高碰次
|
||||||
|
**/
|
||||||
|
CuBonusVertexStaticTotalVO queryTouch(CuBonusVertexStatisVO cuBonusVertexStatisVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 奖金拨比列表统计小计(最后一行)
|
* @description: 奖金拨比列表统计小计(最后一行)
|
||||||
|
|
|
@ -12,72 +12,72 @@ import java.util.List;
|
||||||
public interface ICuBonusStatisService extends IService<CuBonusStatis> {
|
public interface ICuBonusStatisService extends IService<CuBonusStatis> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 奖金拨比列表
|
* 奖金拨比列表
|
||||||
**/
|
**/
|
||||||
List<CuBonusStatisVO> queryCuBonusStatis(CuBonusStatisVO cuBonusStatisVO);
|
List<CuBonusStatisVO> queryCuBonusStatis(CuBonusStatisVO cuBonusStatisVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询体系合计的订单业绩
|
* 查询体系合计的订单业绩
|
||||||
**/
|
**/
|
||||||
CuBonusStatisVO queryOrderAchieveSum(CuBonusStatisVO cuBonusStatisVO);
|
CuBonusStatisVO queryOrderAchieveSum(CuBonusStatisVO cuBonusStatisVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 奖金拨比列表统计小计(最后一行)
|
* 奖金拨比列表统计小计(最后一行)
|
||||||
**/
|
**/
|
||||||
CuBonusStatisVO queryCuBonusSumStatis(CuBonusStatisVO cuBonusStatisVO);
|
CuBonusStatisVO queryCuBonusSumStatis(CuBonusStatisVO cuBonusStatisVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询个人奖金拨比
|
* 查询个人奖金拨比
|
||||||
**/
|
**/
|
||||||
CuBonusSinglePersonStatisVO bonusSingleSum(CuBonusSinglePersonStatisVO csps);
|
CuBonusSinglePersonStatisVO bonusSingleSum(CuBonusSinglePersonStatisVO csps);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 奖金拨比图表
|
* 奖金拨比图表
|
||||||
**/
|
**/
|
||||||
List<CuBonusStatisChartVO> queryCuBonusStatisChart(CuBonusStatisChartVO chartVO);
|
List<CuBonusStatisChartVO> queryCuBonusStatisChart(CuBonusStatisChartVO chartVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 奖金拨比图表合计
|
* 奖金拨比图表合计
|
||||||
**/
|
**/
|
||||||
CuBonusStatisChartVO queryCuBonusSumStatisChart(CuBonusStatisChartVO chartVO);
|
CuBonusStatisChartVO queryCuBonusSumStatisChart(CuBonusStatisChartVO chartVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询奖金拨比图形数据-柱形图
|
* 查询奖金拨比图形数据-柱形图
|
||||||
**/
|
**/
|
||||||
CuBonusStatisColumnarVO pillarRatio(CuBonusStatisColumnarVO columnarVO);
|
CuBonusStatisColumnarVO pillarRatio(CuBonusStatisColumnarVO columnarVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询一年注册、升级、复购、嗨粉合计
|
* 查询一年注册、升级、复购、嗨粉合计
|
||||||
**/
|
**/
|
||||||
CuBonusStatisColumnarVO queryYearData(CuBonusStatisColumnarVO columnarVO);
|
CuBonusStatisColumnarVO queryYearData(CuBonusStatisColumnarVO columnarVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询奖金拨比(饼状图)
|
* 查询奖金拨比(饼状图)
|
||||||
**/
|
**/
|
||||||
CuBonusStatisRoundVO queryDiallingRatio(CuBonusStatisRoundVO roundVO);
|
CuBonusStatisRoundVO queryDiallingRatio(CuBonusStatisRoundVO roundVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 统计历史奖金拨比数据
|
* 统计历史奖金拨比数据
|
||||||
**/
|
**/
|
||||||
Boolean statisHistoryBonus(String startDate, String endDate);
|
Boolean statisHistoryBonus(String startDate, String endDate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 删除奖金拨比统计表数据
|
* 删除奖金拨比统计表数据
|
||||||
**/
|
**/
|
||||||
Boolean delStatis(String startDate, String endDate);
|
Boolean delStatis(String startDate, String endDate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询奖金扣项配置参数
|
* 查询奖金扣项配置参数
|
||||||
**/
|
**/
|
||||||
List<CuBonusStatisVO> bonusDeductlist(CuBonusStatisVO cuBonusStatisVO);
|
List<CuBonusStatisVO> bonusDeductlist(CuBonusStatisVO cuBonusStatisVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询分红比例配置
|
* 查询分红比例配置
|
||||||
**/
|
**/
|
||||||
List<CuBonusStatisVO> bonusDividendRatiolist(CuBonusStatisVO cuBonusStatisVO);
|
List<CuBonusStatisVO> bonusDividendRatiolist(CuBonusStatisVO cuBonusStatisVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询所有体系
|
* 查询所有体系
|
||||||
**/
|
**/
|
||||||
List<CuBonusStatisVO> vertexList();
|
List<CuBonusStatisVO> vertexList();
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.hzs.member.statis.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.statis.CuBonusVertexStatis;
|
import com.hzs.common.domain.member.statis.CuBonusVertexStatis;
|
||||||
import com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO;
|
import com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO;
|
||||||
import com.hzs.member.statis.vo.CuBonusVertexStatisVO;
|
import com.hzs.member.statis.vo.CuBonusVertexStatisVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -20,17 +20,27 @@ public interface ICuBonusVertexStatisService extends IService<CuBonusVertexStati
|
||||||
/**
|
/**
|
||||||
* 查询顶点奖金拨比汇总
|
* 查询顶点奖金拨比汇总
|
||||||
**/
|
**/
|
||||||
List<CuBonusVertexStatisTotalVO> queryCuBonusStatisTotal(CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO);
|
List<CuBonusVertexStaticTotalVO> queryCuBonusStatisTotal(CuBonusVertexStaticTotalVO cuBonusVertexStaticTotalVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询顶点奖金拨比汇总总和(最后一行)
|
* 查询顶点奖金拨比汇总总和(最后一行)
|
||||||
**/
|
**/
|
||||||
CuBonusVertexStatisTotalVO queryCuBonusStatisSum(CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO);
|
CuBonusVertexStaticTotalVO queryCuBonusStatisSum(CuBonusVertexStaticTotalVO cuBonusVertexStaticTotalVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询时间内奖金拨比顶点会员
|
* 查询时间内奖金拨比顶点会员
|
||||||
**/
|
**/
|
||||||
List<CuBonusVertexStatisTotalVO> queryCuBonusVertex(CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO);
|
List<CuBonusVertexStaticTotalVO> queryCuBonusVertex(CuBonusVertexStaticTotalVO cuBonusVertexStaticTotalVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询顶点拓展封顶人数
|
||||||
|
**/
|
||||||
|
CuBonusVertexStaticTotalVO queryOrgTopNumber(CuBonusVertexStatisVO cuBonusVertexStatisVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询顶点拓展平均碰次和拓展最高碰次
|
||||||
|
**/
|
||||||
|
CuBonusVertexStaticTotalVO queryTouch(CuBonusVertexStatisVO cuBonusVertexStatisVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 奖金拨比列表统计小计(最后一行)
|
* 奖金拨比列表统计小计(最后一行)
|
||||||
|
|
|
@ -28,7 +28,7 @@ import java.util.stream.Collectors;
|
||||||
public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, CuBonusStatis> implements ICuBonusStatisService {
|
public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, CuBonusStatis> implements ICuBonusStatisService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 保存奖金拨比订单数据
|
* 保存奖金拨比订单数据
|
||||||
**/
|
**/
|
||||||
private void saveBonusStatis(List<CuBonusStatisVO> soList) {
|
private void saveBonusStatis(List<CuBonusStatisVO> soList) {
|
||||||
for (CuBonusStatisVO so : soList) {
|
for (CuBonusStatisVO so : soList) {
|
||||||
|
@ -95,7 +95,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 累加订单金额
|
* 累加订单金额
|
||||||
**/
|
**/
|
||||||
private CuBonusStatisVO addOrderAmount(CuBonusStatisVO oldSo, Integer pkCountry, Integer pkVertex, List<CuBonusStatisVO> orachList, int type) {
|
private CuBonusStatisVO addOrderAmount(CuBonusStatisVO oldSo, Integer pkCountry, Integer pkVertex, List<CuBonusStatisVO> orachList, int type) {
|
||||||
for (CuBonusStatisVO newSo : orachList) {
|
for (CuBonusStatisVO newSo : orachList) {
|
||||||
|
@ -212,7 +212,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 保存国内奖金拨比奖金数据
|
* 保存国内奖金拨比奖金数据
|
||||||
**/
|
**/
|
||||||
private void saveBonusStatisAchieve(List<CuBonusStatisVO> cblist) {
|
private void saveBonusStatisAchieve(List<CuBonusStatisVO> cblist) {
|
||||||
for (CuBonusStatisVO cb : cblist) {
|
for (CuBonusStatisVO cb : cblist) {
|
||||||
|
@ -273,7 +273,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 奖金拨比列表
|
* 奖金拨比列表
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public List<CuBonusStatisVO> queryCuBonusStatis(CuBonusStatisVO cuBonusStatisVO) {
|
public List<CuBonusStatisVO> queryCuBonusStatis(CuBonusStatisVO cuBonusStatisVO) {
|
||||||
|
@ -281,7 +281,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询体系合计的订单业绩
|
* 查询体系合计的订单业绩
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public CuBonusStatisVO queryOrderAchieveSum(CuBonusStatisVO cuBonusStatisVO) {
|
public CuBonusStatisVO queryOrderAchieveSum(CuBonusStatisVO cuBonusStatisVO) {
|
||||||
|
@ -289,7 +289,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 奖金拨比列表统计小计(最后一行)
|
* 奖金拨比列表统计小计(最后一行)
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public CuBonusStatisVO queryCuBonusSumStatis(CuBonusStatisVO cuBonusStatisVO) {
|
public CuBonusStatisVO queryCuBonusSumStatis(CuBonusStatisVO cuBonusStatisVO) {
|
||||||
|
@ -297,7 +297,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询个人奖金拨比
|
* 查询个人奖金拨比
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public CuBonusSinglePersonStatisVO bonusSingleSum(CuBonusSinglePersonStatisVO csps) {
|
public CuBonusSinglePersonStatisVO bonusSingleSum(CuBonusSinglePersonStatisVO csps) {
|
||||||
|
@ -305,7 +305,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 奖金拨比图表
|
* 奖金拨比图表
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public List<CuBonusStatisChartVO> queryCuBonusStatisChart(CuBonusStatisChartVO chartVO) {
|
public List<CuBonusStatisChartVO> queryCuBonusStatisChart(CuBonusStatisChartVO chartVO) {
|
||||||
|
@ -313,7 +313,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 奖金拨比图表合计
|
* 奖金拨比图表合计
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public CuBonusStatisChartVO queryCuBonusSumStatisChart(CuBonusStatisChartVO chartVO) {
|
public CuBonusStatisChartVO queryCuBonusSumStatisChart(CuBonusStatisChartVO chartVO) {
|
||||||
|
@ -321,7 +321,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询奖金拨比图形数据-柱形图
|
* 查询奖金拨比图形数据-柱形图
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public CuBonusStatisColumnarVO pillarRatio(CuBonusStatisColumnarVO columnarVO) {
|
public CuBonusStatisColumnarVO pillarRatio(CuBonusStatisColumnarVO columnarVO) {
|
||||||
|
@ -350,7 +350,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询一年注册、升级、复购、嗨粉合计
|
* 查询一年注册、升级、复购、嗨粉合计
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public CuBonusStatisColumnarVO queryYearData(CuBonusStatisColumnarVO columnarVO) {
|
public CuBonusStatisColumnarVO queryYearData(CuBonusStatisColumnarVO columnarVO) {
|
||||||
|
@ -359,7 +359,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 查询奖金拨比(饼状图)
|
* 查询奖金拨比(饼状图)
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public CuBonusStatisRoundVO queryDiallingRatio(CuBonusStatisRoundVO roundVO) {
|
public CuBonusStatisRoundVO queryDiallingRatio(CuBonusStatisRoundVO roundVO) {
|
||||||
|
@ -367,7 +367,7 @@ public class CuBonusStatisServiceImpl extends ServiceImpl<CuBonusStatisMapper, C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description:查询当天团队统计数据
|
* 查询当天团队统计数据
|
||||||
**/
|
**/
|
||||||
public List<CuBonusStatis> getCuBonusStatis(CuBonusStatis cuBonusStatis) {
|
public List<CuBonusStatis> getCuBonusStatis(CuBonusStatis cuBonusStatis) {
|
||||||
return baseMapper.getCuBonusStatis(cuBonusStatis);
|
return baseMapper.getCuBonusStatis(cuBonusStatis);
|
||||||
|
|
|
@ -12,7 +12,7 @@ import com.hzs.common.domain.member.statis.CuBonusVertexStatis;
|
||||||
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
|
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
|
||||||
import com.hzs.member.statis.mapper.CuBonusVertexStatisMapper;
|
import com.hzs.member.statis.mapper.CuBonusVertexStatisMapper;
|
||||||
import com.hzs.member.statis.service.ICuBonusVertexStatisService;
|
import com.hzs.member.statis.service.ICuBonusVertexStatisService;
|
||||||
import com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO;
|
import com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO;
|
||||||
import com.hzs.member.statis.vo.CuBonusVertexStatisVO;
|
import com.hzs.member.statis.vo.CuBonusVertexStatisVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -143,18 +143,28 @@ public class CuBonusVertexStatisServiceImpl extends ServiceImpl<CuBonusVertexSta
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuBonusVertexStatisTotalVO> queryCuBonusStatisTotal(CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO) {
|
public List<CuBonusVertexStaticTotalVO> queryCuBonusStatisTotal(CuBonusVertexStaticTotalVO cuBonusVertexStaticTotalVO) {
|
||||||
return baseMapper.queryCuBonusStatisTotal(cuBonusVertexStatisTotalVO);
|
return baseMapper.queryCuBonusStatisTotal(cuBonusVertexStaticTotalVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CuBonusVertexStatisTotalVO queryCuBonusStatisSum(CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO) {
|
public CuBonusVertexStaticTotalVO queryCuBonusStatisSum(CuBonusVertexStaticTotalVO cuBonusVertexStaticTotalVO) {
|
||||||
return baseMapper.queryCuBonusStatisSum(cuBonusVertexStatisTotalVO);
|
return baseMapper.queryCuBonusStatisSum(cuBonusVertexStaticTotalVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuBonusVertexStatisTotalVO> queryCuBonusVertex(CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO) {
|
public List<CuBonusVertexStaticTotalVO> queryCuBonusVertex(CuBonusVertexStaticTotalVO cuBonusVertexStaticTotalVO) {
|
||||||
return baseMapper.queryCuBonusVertex(cuBonusVertexStatisTotalVO);
|
return baseMapper.queryCuBonusVertex(cuBonusVertexStaticTotalVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CuBonusVertexStaticTotalVO queryOrgTopNumber(CuBonusVertexStatisVO cuBonusVertexStatisVO) {
|
||||||
|
return baseMapper.queryOrgTopNumber(cuBonusVertexStatisVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CuBonusVertexStaticTotalVO queryTouch(CuBonusVertexStatisVO cuBonusVertexStatisVO) {
|
||||||
|
return baseMapper.queryTouch(cuBonusVertexStatisVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -81,11 +81,23 @@ public class CuBonusStatisVO implements Serializable {
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal specialRegisterAmount = BigDecimal.ZERO;
|
private BigDecimal specialRegisterAmount = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 特殊注册新增金额(¥)小计
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal specialRegisterAmountSum = BigDecimal.ZERO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 特殊升级
|
* 特殊升级
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal specialUpgradeAmount = BigDecimal.ZERO;
|
private BigDecimal specialUpgradeAmount = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 特殊升级新增金额(¥)小计
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal specialUpgradeAmountSum = BigDecimal.ZERO;
|
||||||
/**
|
/**
|
||||||
* 虚拟订单金额(¥)
|
* 虚拟订单金额(¥)
|
||||||
*/
|
*/
|
||||||
|
@ -120,7 +132,6 @@ public class CuBonusStatisVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 分红收益(¥)
|
* 分红收益(¥)
|
||||||
*/
|
*/
|
||||||
@Excel(name = "分红收益(¥)", scale = 2)
|
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal shareBonus = BigDecimal.ZERO;
|
private BigDecimal shareBonus = BigDecimal.ZERO;
|
||||||
/**
|
/**
|
||||||
|
@ -159,6 +170,11 @@ public class CuBonusStatisVO implements Serializable {
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal specialRepurchaseAmount = BigDecimal.ZERO;
|
private BigDecimal specialRepurchaseAmount = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 特殊复购新增金额小计(¥)(复购专区)
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal specialRepurchaseAmountSum = BigDecimal.ZERO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 福利订单
|
* 福利订单
|
||||||
|
@ -170,7 +186,6 @@ public class CuBonusStatisVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 海粉注册金额(¥)
|
* 海粉注册金额(¥)
|
||||||
*/
|
*/
|
||||||
@Excel(name = "海粉专区(¥)", scale = 2)
|
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal hifansRegAmount = BigDecimal.ZERO;
|
private BigDecimal hifansRegAmount = BigDecimal.ZERO;
|
||||||
/**
|
/**
|
||||||
|
@ -346,6 +361,11 @@ public class CuBonusStatisVO implements Serializable {
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal repurOrgBonusSum = BigDecimal.ZERO;
|
private BigDecimal repurOrgBonusSum = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 复购辅导收益
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal repurLeaderBonusSum = BigDecimal.ZERO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 首购拨出金额合计
|
* 首购拨出金额合计
|
||||||
|
@ -457,6 +477,10 @@ public class CuBonusStatisVO implements Serializable {
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal repurOrgBonusRate = BigDecimal.ZERO;
|
private BigDecimal repurOrgBonusRate = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 复购辅导收益拨比
|
||||||
|
*/
|
||||||
|
private BigDecimal repurLeaderBonusRate = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -15,7 +15,7 @@ import java.util.List;
|
||||||
* 数据来自 订单表奖金明细表
|
* 数据来自 订单表奖金明细表
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class CuBonusVertexStatisTotalVO implements Serializable {
|
public class CuBonusVertexStaticTotalVO implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ -50,7 +50,6 @@ public class CuBonusVertexStatisTotalVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 首购金额占比
|
* 首购金额占比
|
||||||
*/
|
*/
|
||||||
@Excel(name = "首购金额占比", scale = 2)
|
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal firstPurchaseRatio = BigDecimal.ZERO;
|
private BigDecimal firstPurchaseRatio = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
@ -86,24 +85,28 @@ public class CuBonusVertexStatisTotalVO implements Serializable {
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal introduceBonus = BigDecimal.ZERO;
|
private BigDecimal introduceBonus = BigDecimal.ZERO;
|
||||||
/**
|
|
||||||
* 拓展收益(¥)
|
|
||||||
*/
|
|
||||||
@BigDecimalFormat
|
|
||||||
private BigDecimal orgBonus = BigDecimal.ZERO;
|
|
||||||
/**
|
|
||||||
* 服务补贴(¥)
|
|
||||||
*/
|
|
||||||
@BigDecimalFormat
|
|
||||||
private BigDecimal serviceBonus = BigDecimal.ZERO;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拓展拨比(%)
|
* 拓展拨比(%)
|
||||||
*/
|
*/
|
||||||
@Excel(name = "拓展拨比(%)", scale = 2)
|
@Excel(name = "拓展拨比(%)", scale = 2)
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal orgBonusRate = BigDecimal.ZERO;
|
private BigDecimal orgBonusRate = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 拓展收益(¥)
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal orgBonus = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 辅导收益拨比(%)
|
||||||
|
*/
|
||||||
|
@Excel(name = "拓展拨比(%)", scale = 2)
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal leaderBonusRate = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 辅导收益(¥)
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal leaderBonus = BigDecimal.ZERO;
|
||||||
/**
|
/**
|
||||||
* 服务补贴拨比(%)
|
* 服务补贴拨比(%)
|
||||||
*/
|
*/
|
||||||
|
@ -111,6 +114,13 @@ public class CuBonusVertexStatisTotalVO implements Serializable {
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal serviceBonusRate = BigDecimal.ZERO;
|
private BigDecimal serviceBonusRate = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务补贴(¥)
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal serviceBonus = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 复购总金额 复购订单+海粉订单+海粉复购订单
|
* 复购总金额 复购订单+海粉订单+海粉复购订单
|
||||||
*/
|
*/
|
||||||
|
@ -140,6 +150,41 @@ public class CuBonusVertexStatisTotalVO implements Serializable {
|
||||||
@Excel(name = "复购PV拨出比例(%)", scale = 2)
|
@Excel(name = "复购PV拨出比例(%)", scale = 2)
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal repurBonusPvRate = BigDecimal.ZERO;
|
private BigDecimal repurBonusPvRate = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复购级差拨比(%)
|
||||||
|
*/
|
||||||
|
@Excel(name = "复购级差拨比(%)", scale = 2)
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal repurRangeBonusRate = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 复购级差收益(¥)
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal repurRangeBonus = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 复购拓展拨比(%)
|
||||||
|
*/
|
||||||
|
@Excel(name = "复购拓展拨比(%)", scale = 2)
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal repurOrgBonusRate = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 复购拓展收益(¥)
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal repurOrgBonus = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 复购辅导拨比(%)
|
||||||
|
*/
|
||||||
|
@Excel(name = "复购辅导拨比(%)", scale = 2)
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal repurLeaderBonusRate = BigDecimal.ZERO;
|
||||||
|
/**
|
||||||
|
* 复购辅导收益(¥)
|
||||||
|
*/
|
||||||
|
@BigDecimalFormat
|
||||||
|
private BigDecimal repurLeaderBonus = BigDecimal.ZERO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拓展平均碰次
|
* 拓展平均碰次
|
||||||
*/
|
*/
|
||||||
|
@ -159,19 +204,17 @@ public class CuBonusVertexStatisTotalVO implements Serializable {
|
||||||
@Excel(name = "拓展封顶人数")
|
@Excel(name = "拓展封顶人数")
|
||||||
private Integer orgTopNumber = 0;
|
private Integer orgTopNumber = 0;
|
||||||
|
|
||||||
@BigDecimalFormat
|
// @BigDecimalFormat
|
||||||
private BigDecimal makerDirectSum = BigDecimal.ZERO;
|
// private BigDecimal makerDirectSum = BigDecimal.ZERO;
|
||||||
|
//
|
||||||
@BigDecimalFormat
|
// @BigDecimalFormat
|
||||||
private BigDecimal makerShareSum = BigDecimal.ZERO;
|
// private BigDecimal makerShareSum = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 体系ID 统计体系,1原体系,2六合体系,3六合二,101非洲体系
|
* 体系ID 统计体系
|
||||||
*/
|
*/
|
||||||
private Integer pkVertex;
|
private Integer pkVertex;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 注册新增PV MAIN_REG_PV
|
* 注册新增PV MAIN_REG_PV
|
||||||
*/
|
*/
|
||||||
|
@ -304,7 +347,7 @@ public class CuBonusVertexStatisTotalVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 按照体系(中国)和国家分组合并订单
|
* 按照体系(中国)和国家分组合并订单
|
||||||
*/
|
*/
|
||||||
List<CuBonusVertexStatisTotalVO> mergeList;
|
List<CuBonusVertexStaticTotalVO> mergeList;
|
||||||
|
|
||||||
List<Integer> orderTypeList;
|
List<Integer> orderTypeList;
|
||||||
|
|
|
@ -147,13 +147,14 @@ public class CuBonusVertexStatisVO implements Serializable {
|
||||||
@Excel(name = "服务补贴(¥)", scale = 2)
|
@Excel(name = "服务补贴(¥)", scale = 2)
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal serviceBonus = BigDecimal.ZERO;
|
private BigDecimal serviceBonus = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 复购新增金额(¥)(复购专区)
|
* 复购新增金额(¥)(复购专区)
|
||||||
*/
|
*/
|
||||||
@Excel(name = "复购专区(¥)", scale = 2)
|
@Excel(name = "复购专区(¥)", scale = 2)
|
||||||
@BigDecimalFormat
|
@BigDecimalFormat
|
||||||
private BigDecimal mainRepurAmount = BigDecimal.ZERO;
|
private BigDecimal mainRepurAmount = BigDecimal.ZERO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 复购直推收益
|
* 复购直推收益
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -23,165 +23,110 @@
|
||||||
<select id="queryCuBonusStatis" parameterType="com.hzs.member.statis.vo.CuBonusStatisVO"
|
<select id="queryCuBonusStatis" parameterType="com.hzs.member.statis.vo.CuBonusStatisVO"
|
||||||
resultType="com.hzs.member.statis.vo.CuBonusStatisVO">
|
resultType="com.hzs.member.statis.vo.CuBonusStatisVO">
|
||||||
SELECT
|
SELECT
|
||||||
cbs.MAIN_REG_PV mainRegPv,
|
|
||||||
cbs.MAIN_UP_PV mainUpPv,
|
|
||||||
cbs.SPECIAL_REGISTER_PV specialRegisterPv,
|
|
||||||
cbs.SPECIAL_UPGRADE_PV specialUpgradePv,
|
|
||||||
cbs.FICTITIOUS_PV fictitiousPv,
|
|
||||||
cbs.MAIN_REPUR_PV mainRepurPv,
|
|
||||||
cbs.HIFANS_REG_PV hifansRegPv,
|
|
||||||
cbs.HAI_FUN_UPGRADE_PV haiFunUpgradePv,
|
|
||||||
cbs.CLOUD_COLLEGE_PV cloudCollegePv,
|
|
||||||
cbs.MALL_PV mallPv,
|
|
||||||
cbs.EMPOWERMENT_GIFT_PV empowermentGiftPv,
|
|
||||||
cbs.COOPERATE_PV cooperatePv,
|
|
||||||
cbs.SPECIAL_REPURCHASE_PV specialRepurchasePv,
|
|
||||||
cbs.MAKER_ORDER_PV makerOrderPv,
|
|
||||||
cbs.MAKER_GIFT_PV makerGiftPv,
|
|
||||||
cbs.WELFARE_ORDER_PV welfareOrderPv,
|
|
||||||
cbs.PK_BD_VERTEX pkVertex,
|
cbs.PK_BD_VERTEX pkVertex,
|
||||||
cbs.PK_TEAM_CODE pkTeamCode,
|
cbs.PK_TEAM_CODE pkTeamCode,
|
||||||
ver.VERTEX_NAME as vertexName,
|
ver.VERTEX_NAME as vertexName,
|
||||||
ct.TEAM_NAME as teamName,
|
ct.TEAM_NAME as teamName,
|
||||||
cbs.PK_ID pkId,
|
cbs.PK_ID pkId,
|
||||||
cbs.PERIOD period,
|
cbs.PERIOD period,
|
||||||
cbs.MAIN_REG_AMOUNT mainRegAmount,
|
cbs.CREATION_TIME creationTime,
|
||||||
cbs.MAIN_UP_AMOUNT mainUpAmount,
|
cbs.PK_COUNTRY pkCountry,
|
||||||
cbs.MAIN_REPUR_AMOUNT mainRepurAmount,
|
<!-- PV字段 -->
|
||||||
cbs.AGENT_UP_AMOUNT agentUpAmount,
|
cbs.MAIN_REG_PV mainRegPv,
|
||||||
cbs.AGENT_REPUR_AMOUNT agentRepurAmount,
|
cbs.MAIN_UP_PV mainUpPv,
|
||||||
cbs.HIFANS_REG_AMOUNT hifansRegAmount,
|
cbs.MAIN_REPUR_PV mainRepurPv,
|
||||||
cbs.TOTAL_AMOUNT totalAmount,
|
cbs.SPECIAL_REGISTER_PV specialRegisterPv,
|
||||||
|
cbs.SPECIAL_UPGRADE_PV specialUpgradePv,
|
||||||
|
cbs.SPECIAL_REPURCHASE_PV specialRepurchasePv,
|
||||||
|
cbs.FICTITIOUS_PV fictitiousPv,
|
||||||
|
cbs.MALL_PV mallPv,
|
||||||
|
cbs.COOPERATE_PV cooperatePv,
|
||||||
|
cbs.WELFARE_ORDER_PV welfareOrderPv,
|
||||||
|
<!-- 金额字段 -->
|
||||||
|
cbs.main_reg_amount mainRegAmount,
|
||||||
|
cbs.main_up_amount mainUpAmount,
|
||||||
|
cbs.main_repur_amount mainRepurAmount,
|
||||||
|
cbs.special_register_amount,
|
||||||
|
cbs.special_upgrade_amount,
|
||||||
|
cbs.special_repurchase_amount,
|
||||||
|
<!-- 奖金字段 -->
|
||||||
cbs.INTRODUCE_BONUS introduceBonus,
|
cbs.INTRODUCE_BONUS introduceBonus,
|
||||||
cbs.ORG_BONUS orgBonus,
|
cbs.ORG_BONUS orgBonus,
|
||||||
cbs.LEADER_BONUS leaderBonus,
|
cbs.LEADER_BONUS leaderBonus,
|
||||||
#{orderAchieve} shareBonus,
|
|
||||||
cbs.SERVICE_BONUS serviceBonus,
|
cbs.SERVICE_BONUS serviceBonus,
|
||||||
cbs.HI_FUN_INCOME hiFunIncome,
|
|
||||||
cbs.REPUR_RANGE_BONUS repurRangeBonus,
|
cbs.REPUR_RANGE_BONUS repurRangeBonus,
|
||||||
cbs.REPUR_ORG_BONUS repurOrgBonus,
|
cbs.REPUR_ORG_BONUS repurOrgBonus,
|
||||||
cbs.AGENT_INTRODUCE_BONUS agentIntroduceBonus,
|
cbs.repur_leader_bonus repurLeaderBonus,
|
||||||
cbs.AGENT_REG_AMOUNT agentRegAmount,
|
|
||||||
cbs.gift_order giftOrder,
|
|
||||||
cbs.CREATION_TIME creationTime,
|
|
||||||
cbs.PK_COUNTRY pkCountry,
|
|
||||||
cbs.MAKER_DIRECT makerDirect,
|
|
||||||
cbs.MAKER_SHARE makerShare,
|
|
||||||
cbs.pur_real_subtotal purRealSubtotal,
|
cbs.pur_real_subtotal purRealSubtotal,
|
||||||
cbs.REPUR_REAL_SUBTOTAL repurRealSubtotal,
|
cbs.repur_real_subtotal repurRealSubtotal,
|
||||||
CASE WHEN (cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT)=0 THEN 0 ELSE
|
<!-- 首购金额 = 注册 + 升级 + 特殊注册 + 特殊升级 + 虚拟订单(空单) -->
|
||||||
ROUND(#{perCent}*cbs.INTRODUCE_BONUS/(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT),4) end as introduceBonusRate,
|
|
||||||
CASE WHEN (cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT)=0 THEN 0 ELSE
|
|
||||||
ROUND(#{perCent}*cbs.ORG_BONUS/(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT),4) end as orgBonusRate,
|
|
||||||
CASE WHEN (cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT)=0 THEN 0 ELSE
|
|
||||||
ROUND(#{perCent}*cbs.LEADER_BONUS/(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT),4) end leaderBonusRate,
|
|
||||||
CASE WHEN (cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT)=0 THEN 0 ELSE
|
|
||||||
ROUND(#{perCent}*cbs.SHARE_BONUS/(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT),4) end shareBonusRate,
|
|
||||||
CASE WHEN (cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT)=0 THEN 0 ELSE
|
|
||||||
ROUND(#{perCent}*cbs.SERVICE_BONUS/(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT),4) end serviceBonusRate,
|
|
||||||
CASE WHEN (cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT)=0 THEN 0 ELSE
|
|
||||||
ROUND(#{perCent}*cbs.AGENT_INTRODUCE_BONUS/(cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT),4) end as
|
|
||||||
agentIntroduceBonusRate,
|
|
||||||
CASE WHEN (cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT+cbs.AGENT_REPUR_AMOUNT)=0 THEN 0 ELSE
|
|
||||||
ROUND(#{perCent}*cbs.AGENT_REG_AMOUNT/(cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT+cbs.AGENT_REPUR_AMOUNT),4) end
|
|
||||||
as agentFirstAmountRate,
|
|
||||||
CASE WHEN (cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT+cbs.AGENT_REPUR_AMOUNT)=0 THEN 0 ELSE
|
|
||||||
ROUND(#{perCent}*cbs.AGENT_REPUR_AMOUNT/(cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT+cbs.AGENT_REPUR_AMOUNT),4)
|
|
||||||
end as agentRepurAmountRate,
|
|
||||||
( cbs.MAIN_REG_AMOUNT +
|
|
||||||
cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT ) AS
|
|
||||||
firstPurchaseAll,
|
|
||||||
( cbs.MAIN_REPUR_AMOUNT +
|
|
||||||
cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER
|
|
||||||
) AS repurchaseAllAmount,
|
|
||||||
( cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT ) AS agentFirstAmount,
|
|
||||||
|
|
||||||
(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS+
|
|
||||||
#{orderAchieve}+cbs.MAKER_DIRECT+cbs.MAKER_SHARE) AS mainBonus,
|
|
||||||
|
|
||||||
CASE WHEN
|
|
||||||
(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT)
|
(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT)
|
||||||
= 0
|
AS firstPurchaseAll,
|
||||||
THEN 0 ELSE ROUND((#{perCent}*(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS+
|
<!-- 复购金额 = 复购 + 直播 + 合作 + 特殊复购 + 福利订单 -->
|
||||||
cbs.MAKER_DIRECT+cbs.MAKER_SHARE)+#{orderAchieve})
|
(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER)
|
||||||
|
AS repurchaseAllAmount,
|
||||||
|
<!-- 首购拨出金额 = 直推收益 + 拓展收益 + 辅导收益 + 服务补贴 -->
|
||||||
|
(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS)
|
||||||
|
AS mainBonus,
|
||||||
|
<!-- 首购拨出比例 = 首购金额为0,首购拨出比例 = 0;否则,首购拨出比例 = 100 * 首购拨出金额 / 首购金额 -->
|
||||||
|
case
|
||||||
|
WHEN (cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) = 0
|
||||||
|
THEN 0
|
||||||
|
ELSE ROUND((#{perCent} * (cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS))
|
||||||
/ (cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT), 4)
|
/ (cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT), 4)
|
||||||
end AS mainBonusRate,
|
end AS mainBonusRate,
|
||||||
|
<!-- 首购PV拨出比例 = 首购PV为0,首购PV拨出比例 = 0;否则,首购PV拨出比例 = 100 * 首购拨出金额 / 汇率 / 首购PV -->
|
||||||
CASE WHEN
|
case
|
||||||
(cbs.MAIN_REG_PV+cbs.MAIN_UP_PV+cbs.SPECIAL_REGISTER_PV+cbs.SPECIAL_UPGRADE_PV+cbs.FICTITIOUS_PV)
|
WHEN (cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV) = 0
|
||||||
= 0
|
THEN 0
|
||||||
THEN 0 ELSE ROUND((#{perCent}*(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS+
|
ELSE ROUND((#{perCent} * (cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS))
|
||||||
cbs.MAKER_DIRECT+cbs.MAKER_SHARE)+#{orderAchieve})
|
|
||||||
/ #{rate} / (cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV), 4)
|
/ #{rate} / (cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV), 4)
|
||||||
end AS mainBonusPvRate,
|
end AS mainBonusPvRate,
|
||||||
|
<!-- 复购拨出金额 = 复购级差收益 + 复购拓展收益 + 复购推荐收益 + 复购辅导收益 -->
|
||||||
(cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
+cbs.HI_FUN_INCOME) AS repurBonus,
|
AS repurBonus,
|
||||||
|
<!-- 复购拨出比例 = 复购金额为0,复购拨出比例 = 0;否则,复购拨出比例 = 100 * 复购拨出金额 / 复购金额 -->
|
||||||
CASE WHEN (cbs.MAIN_REPUR_AMOUNT +
|
case
|
||||||
cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
WHEN (cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER) = 0
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
THEN 0
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)=0 THEN 0
|
ELSE ROUND(#{perCent} * (cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
ELSE ROUND(#{perCent}*(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME))+cbs.HI_FUN_INCOME) /
|
/ (cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
|
||||||
(cbs.MAIN_REPUR_AMOUNT +
|
end AS repurBonusRate,
|
||||||
cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
<!-- 复购PV拨出比例 = 复购PV为0,复购PV拨出比例 = 0;否则,复购PV拨出比例 = 100 * 首购拨出金额 / 汇率 / 首购PV -->
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
case
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER),4) end AS repurBonusRate,
|
WHEN (cbs.MAIN_REPUR_PV + cbs.MALL_PV + cbs.COOPERATE_PV + cbs.SPECIAL_REPURCHASE_PV + cbs.WELFARE_ORDER_PV) = 0
|
||||||
|
THEN 0
|
||||||
CASE WHEN (cbs.MAIN_REPUR_PV +
|
ELSE ROUND(#{perCent} * (cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
cbs.HIFANS_REG_PV+cbs.HAI_FUN_UPGRADE_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
/ #{rate} / (cbs.MAIN_REPUR_PV + cbs.MALL_PV +cbs.COOPERATE_PV + cbs.SPECIAL_REPURCHASE_PV + cbs.WELFARE_ORDER_PV), 4)
|
||||||
+cbs.EMPOWERMENT_GIFT_PV+cbs.COOPERATE_PV+cbs.SPECIAL_REPURCHASE_PV
|
end AS repurBonusPvRate,
|
||||||
+cbs.MAKER_ORDER_PV+cbs.MAKER_GIFT_PV+cbs.WELFARE_ORDER_PV)=0 THEN 0
|
<!-- 总拨出金额 = 直推收益 + 拓展收益 + 辅导收益 + 服务补贴 + 复购级差收益 + 复购拓展收益 + 复购推荐收益 + 复购辅导收益 -->
|
||||||
ELSE ROUND(#{perCent}*(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME))+cbs.HI_FUN_INCOME) /
|
(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS
|
||||||
#{rate}/(cbs.MAIN_REPUR_PV +
|
+ cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
cbs.HIFANS_REG_PV+cbs.HAI_FUN_UPGRADE_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
AS totalBonus,
|
||||||
+cbs.EMPOWERMENT_GIFT_PV+cbs.COOPERATE_PV+cbs.SPECIAL_REPURCHASE_PV
|
<!-- 总拨出比例 = 首购 + 复购金额为0,总拨出比例 = 0;否则,总拨出比例 = 100 * 首购 + 复购拨出金额 / 首购 + 复购金额 -->
|
||||||
+cbs.MAKER_ORDER_PV+cbs.MAKER_GIFT_PV+cbs.WELFARE_ORDER_PV),4) end AS repurBonusPvRate,
|
CASE
|
||||||
|
WHEN (cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT
|
||||||
(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS+
|
+ cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT +cbs.WELFARE_ORDER) = 0
|
||||||
#{orderAchieve}+cbs.MAKER_DIRECT+cbs.MAKER_SHARE+
|
THEN 0
|
||||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
ELSE ROUND (#{perCent} * (cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS
|
||||||
+cbs.HI_FUN_INCOME) AS totalBonus,
|
+ cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
|
/ (cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT
|
||||||
CASE WHEN
|
+ cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
|
||||||
(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
end AS totalBonusRate
|
||||||
cbs.MAIN_REPUR_AMOUNT +
|
FROM CU_BONUS_STATIS cbs
|
||||||
cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)=0 THEN 0
|
|
||||||
ELSE ROUND ((#{perCent}*(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS+
|
|
||||||
cbs.MAKER_DIRECT+cbs.MAKER_SHARE+
|
|
||||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME+cbs.HI_FUN_INCOME)+#{orderAchieve}) /
|
|
||||||
(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
|
||||||
cbs.MAIN_REPUR_AMOUNT +
|
|
||||||
cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER),4) end AS totalBonusRate
|
|
||||||
FROM
|
|
||||||
CU_BONUS_STATIS cbs
|
|
||||||
left join bd_vertex ver on cbs.pk_bd_vertex = ver.pk_id
|
left join bd_vertex ver on cbs.pk_bd_vertex = ver.pk_id
|
||||||
LEFT JOIN cu_member_team ct ON ct.pk_id = cbs.pk_team_code
|
LEFT JOIN cu_member_team ct ON ct.pk_id = cbs.pk_team_code
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
<if test="pkCountry != null and pkCountry ==1 ">
|
|
||||||
and ver.DEL_FLAG = 0
|
and ver.DEL_FLAG = 0
|
||||||
</if>
|
|
||||||
<if test="pkCountry != null">
|
<if test="pkCountry != null">
|
||||||
and cbs.PK_COUNTRY = #{pkCountry}
|
and cbs.PK_COUNTRY = #{pkCountry}
|
||||||
</if>
|
</if>
|
||||||
<if test="pkTeamCodeList != null ">
|
|
||||||
and cbs.PK_TEAM_CODE in
|
|
||||||
<foreach collection="pkTeamCodeList" item="item" open="(" close=")" separator=",">
|
|
||||||
#{item}
|
|
||||||
</foreach>
|
|
||||||
</if>
|
|
||||||
<if test="pkBdVertexList != null ">
|
<if test="pkBdVertexList != null ">
|
||||||
and cbs.PK_BD_VERTEX in
|
and cbs.PK_BD_VERTEX in
|
||||||
<foreach collection="pkBdVertexList" item="item" open="(" close=")" separator=",">
|
<foreach collection="pkBdVertexList" item="item" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="startDate!=null and startDate!='' ">
|
<if test="startDate!=null and startDate!='' ">
|
||||||
and cbs.CREATION_TIME >= to_date(#{startDate}, 'yyyy-mm-dd')
|
and cbs.CREATION_TIME >= to_date(#{startDate}, 'yyyy-mm-dd')
|
||||||
</if>
|
</if>
|
||||||
|
@ -232,140 +177,76 @@
|
||||||
<select id="queryCuBonusSumStatis" parameterType="com.hzs.member.statis.vo.CuBonusStatisVO"
|
<select id="queryCuBonusSumStatis" parameterType="com.hzs.member.statis.vo.CuBonusStatisVO"
|
||||||
resultType="com.hzs.member.statis.vo.CuBonusStatisVO">
|
resultType="com.hzs.member.statis.vo.CuBonusStatisVO">
|
||||||
SELECT
|
SELECT
|
||||||
sum (cbs.MAIN_REG_AMOUNT) mainRegAmountSum,
|
<!-- 金额字段 -->
|
||||||
sum (cbs.MAIN_UP_AMOUNT) mainUpAmountSum,
|
sum (cbs.main_reg_amount) mainRegAmountSum,
|
||||||
sum (cbs.MAIN_REPUR_AMOUNT) mainRepurAmountSum,
|
sum (cbs.main_up_amount) mainUpAmountSum,
|
||||||
sum (cbs.AGENT_UP_AMOUNT) agentUpAmountSum,
|
sum (cbs.main_repur_amount) mainRepurAmountSum,
|
||||||
sum (cbs.AGENT_REPUR_AMOUNT) agentRepurAmountSum,
|
sum (cbs.special_register_amount) specialRegisterAmountSum,
|
||||||
sum (cbs.HIFANS_REG_AMOUNT) hifansRegAmountSum,
|
sum (cbs.special_upgrade_amount) specialUpgradeAmountSum,
|
||||||
|
sum (cbs.special_repurchase_amount) specialRepurchaseAmountSum,
|
||||||
|
<!-- 奖金字段 -->
|
||||||
sum (cbs.INTRODUCE_BONUS) introduceBonusSum,
|
sum (cbs.INTRODUCE_BONUS) introduceBonusSum,
|
||||||
sum (cbs.ORG_BONUS) orgBonusSum,
|
sum (cbs.ORG_BONUS) orgBonusSum,
|
||||||
sum (cbs.LEADER_BONUS) leaderBonusSum,
|
sum (cbs.LEADER_BONUS) leaderBonusSum,
|
||||||
#{orderAchieve} shareBonusSum,
|
|
||||||
sum (cbs.SERVICE_BONUS) serviceBonusSum,
|
sum (cbs.SERVICE_BONUS) serviceBonusSum,
|
||||||
sum (cbs.HI_FUN_INCOME) hiFunIncomeSum,
|
|
||||||
sum (cbs.REPUR_RANGE_BONUS) repurRangeBonusSum,
|
sum (cbs.REPUR_RANGE_BONUS) repurRangeBonusSum,
|
||||||
sum (cbs.SEABEAN_REPUR_RANGE) seabeanRepurRangeSum,
|
|
||||||
sum (cbs.REPUR_ORG_BONUS) repurOrgBonusSum,
|
sum (cbs.REPUR_ORG_BONUS) repurOrgBonusSum,
|
||||||
sum (cbs.AGENT_INTRODUCE_BONUS) agentIntroduceBonusSum,
|
sum (cbs.REPUR_LEADER_BONUS) repurLeaderBonusSum,
|
||||||
sum (cbs.AGENT_AREA_BONUS) agentAreaBonusSum,
|
|
||||||
sum (cbs.AGENT_REG_AMOUNT) agentRegAmountSum,
|
|
||||||
sum (cbs.MAKER_DIRECT) makerDirectSum,
|
|
||||||
sum (cbs.MAKER_SHARE) makerShareSum,
|
|
||||||
CASE WHEN (sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT))=0 THEN 0 ELSE
|
|
||||||
ROUND(sum(#{perCent}*cbs.INTRODUCE_BONUS)/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT)),4) end as
|
|
||||||
introduceBonusRateSum,
|
|
||||||
CASE WHEN (sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT))=0 THEN 0 ELSE
|
|
||||||
ROUND(sum(#{perCent}*cbs.ORG_BONUS)/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT)),4) end as orgBonusRateSum,
|
|
||||||
CASE WHEN (sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT))=0 THEN 0 ELSE
|
|
||||||
ROUND(sum(#{perCent}*cbs.LEADER_BONUS)/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT)),4) end leaderBonusRateSum,
|
|
||||||
CASE WHEN (sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT))=0 THEN 0 ELSE
|
|
||||||
ROUND(sum(#{perCent}*cbs.SHARE_BONUS)/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT)),4) end shareBonusRateSum,
|
|
||||||
CASE WHEN (sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT))=0 THEN 0 ELSE
|
|
||||||
ROUND(sum(#{perCent}*cbs.SERVICE_BONUS)/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT)),4) end
|
|
||||||
serviceBonusRateSum,
|
|
||||||
CASE WHEN (sum(cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT))=0 THEN 0 ELSE
|
|
||||||
ROUND(sum(#{perCent}*cbs.AGENT_INTRODUCE_BONUS)/(sum(cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT)),4) end as
|
|
||||||
agentIntroduceBonusRateSum,
|
|
||||||
CASE WHEN (sum(cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT+cbs.AGENT_REPUR_AMOUNT))=0 THEN 0 ELSE
|
|
||||||
ROUND(sum(#{perCent}*cbs.AGENT_REG_AMOUNT)/(sum(cbs.AGENT_REG_AMOUNT +
|
|
||||||
cbs.AGENT_UP_AMOUNT+cbs.AGENT_REPUR_AMOUNT)),4) end as agentFirstAmountRateSum,
|
|
||||||
CASE WHEN (sum(cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT+cbs.AGENT_REPUR_AMOUNT))=0 THEN 0 ELSE
|
|
||||||
ROUND(sum(#{perCent}*AGENT_REPUR_AMOUNT)/(sum(cbs.AGENT_REG_AMOUNT +
|
|
||||||
cbs.AGENT_UP_AMOUNT+cbs.AGENT_REPUR_AMOUNT)),4) end as agentRepurAmountRateSum,
|
|
||||||
((sum(cbs.MAIN_REG_AMOUNT +
|
|
||||||
cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)))
|
|
||||||
AS
|
|
||||||
firstPurchaseAllSum,
|
|
||||||
( sum(cbs.MAIN_REPUR_AMOUNT +
|
|
||||||
cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER) ) AS repurchaseAllAmountSum,
|
|
||||||
( sum(cbs.AGENT_REG_AMOUNT + cbs.AGENT_UP_AMOUNT) ) AS agentFirstAmountSum,
|
|
||||||
|
|
||||||
sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE) AS mainBonusSum,
|
|
||||||
|
|
||||||
CASE WHEN
|
|
||||||
sum (cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT)
|
sum (cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT)
|
||||||
= 0
|
AS firstPurchaseAllSum,
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
sum (cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER)
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE)))
|
AS repurchaseAllAmountSum,
|
||||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
sum (cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS)
|
||||||
|
AS mainBonusSum,
|
||||||
|
case
|
||||||
|
WHEN sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) = 0
|
||||||
|
THEN 0
|
||||||
|
ELSE ROUND(#{perCent} * sum(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS)
|
||||||
|
/ sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT), 4)
|
||||||
end AS mainBonusRateSum,
|
end AS mainBonusRateSum,
|
||||||
|
case
|
||||||
CASE WHEN
|
WHEN sum(cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV) = 0
|
||||||
sum(cbs.MAIN_REG_PV+cbs.MAIN_UP_PV+cbs.SPECIAL_REGISTER_PV+cbs.SPECIAL_UPGRADE_PV+cbs.FICTITIOUS_PV)
|
THEN 0
|
||||||
= 0
|
ELSE ROUND(#{perCent} * sum(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS)
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE)))
|
|
||||||
/ #{rate} / sum(cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV), 4)
|
/ #{rate} / sum(cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV), 4)
|
||||||
end AS mainBonusPvRateSum,
|
end AS mainBonusPvRateSum,
|
||||||
|
sum(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS) AS repurBonusSum,
|
||||||
sum(cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
case
|
||||||
+cbs.HI_FUN_INCOME) AS repurBonusSum,
|
WHEN sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER) = 0
|
||||||
|
THEN 0
|
||||||
CASE WHEN
|
ELSE ROUND(#{perCent} * sum(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
sum(cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
/ sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
end AS repurBonusRateSum,
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)=0 THEN 0
|
case
|
||||||
ELSE ROUND(#{perCent}*sum(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME))+cbs.HI_FUN_INCOME)
|
WHEN sum(cbs.MAIN_REPUR_PV + cbs.MALL_PV + cbs.COOPERATE_PV + cbs.SPECIAL_REPURCHASE_PV + cbs.WELFARE_ORDER_PV) = 0
|
||||||
/
|
THEN 0
|
||||||
sum(cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
ELSE ROUND(#{perCent} * sum(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
/ #{rate} / sum(cbs.MAIN_REPUR_PV + cbs.MALL_PV +cbs.COOPERATE_PV + cbs.SPECIAL_REPURCHASE_PV + cbs.WELFARE_ORDER_PV), 4)
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER),4) end AS repurBonusRateSum,
|
end AS repurBonusPvRateSum,
|
||||||
|
sum(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS
|
||||||
CASE WHEN
|
+ cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
sum(cbs.MAIN_REPUR_PV+cbs.HIFANS_REG_PV+cbs.HAI_FUN_UPGRADE_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
AS totalBonusSum,
|
||||||
+cbs.EMPOWERMENT_GIFT_PV+cbs.COOPERATE_PV+cbs.SPECIAL_REPURCHASE_PV
|
CASE
|
||||||
+cbs.MAKER_ORDER_PV+cbs.MAKER_GIFT_PV+cbs.WELFARE_ORDER_PV)=0 THEN 0
|
WHEN sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT
|
||||||
ELSE ROUND(#{perCent}*sum(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME))+cbs.HI_FUN_INCOME)
|
+ cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT +cbs.WELFARE_ORDER) = 0
|
||||||
/#{rate}/
|
THEN 0
|
||||||
sum(cbs.MAIN_REPUR_PV+cbs.HIFANS_REG_PV+cbs.HAI_FUN_UPGRADE_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
ELSE ROUND (#{perCent} * sum(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS
|
||||||
+cbs.EMPOWERMENT_GIFT_PV+cbs.COOPERATE_PV+cbs.SPECIAL_REPURCHASE_PV
|
+ cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
+cbs.MAKER_ORDER_PV+cbs.MAKER_GIFT_PV+cbs.WELFARE_ORDER_PV),4) end AS repurBonusPvRateSum,
|
/ sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT
|
||||||
|
+ cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
|
||||||
sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS+
|
end AS totalBonusRateSum
|
||||||
cbs.MAKER_DIRECT+cbs.MAKER_SHARE+
|
FROM CU_BONUS_STATIS cbs
|
||||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
|
||||||
+cbs.HI_FUN_INCOME) AS totalBonusSum,
|
|
||||||
CASE WHEN
|
|
||||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
|
||||||
cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)=0 THEN 0
|
|
||||||
ELSE ROUND ((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE+
|
|
||||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME+cbs.HI_FUN_INCOME))
|
|
||||||
/
|
|
||||||
(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
|
||||||
cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)),4) end AS totalBonusRateSum
|
|
||||||
FROM
|
|
||||||
CU_BONUS_STATIS cbs
|
|
||||||
left join bd_vertex ver on cbs.pk_bd_vertex = ver.pk_id
|
left join bd_vertex ver on cbs.pk_bd_vertex = ver.pk_id
|
||||||
LEFT JOIN cu_member_team ct ON ct.pk_id = cbs.pk_team_code
|
WHERE ver.DEL_FLAG = 0
|
||||||
WHERE 1=1
|
|
||||||
<if test="pkCountry != null and pkCountry ==1 ">
|
|
||||||
and ver.DEL_FLAG=0
|
|
||||||
</if>
|
|
||||||
<if test="pkCountry != null">
|
<if test="pkCountry != null">
|
||||||
and cbs.PK_COUNTRY = #{pkCountry}
|
and cbs.PK_COUNTRY = #{pkCountry}
|
||||||
</if>
|
</if>
|
||||||
<if test="pkTeamCodeList != null ">
|
|
||||||
and cbs.PK_TEAM_CODE in
|
|
||||||
<foreach collection="pkTeamCodeList" item="item" open="(" close=")" separator=",">
|
|
||||||
#{item}
|
|
||||||
</foreach>
|
|
||||||
</if>
|
|
||||||
<if test="pkBdVertexList != null ">
|
<if test="pkBdVertexList != null ">
|
||||||
and cbs.PK_BD_VERTEX in
|
and cbs.PK_BD_VERTEX in
|
||||||
<foreach collection="pkBdVertexList" item="item" open="(" close=")" separator=",">
|
<foreach collection="pkBdVertexList" item="item" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="startDate!=null and startDate!='' ">
|
<if test="startDate!=null and startDate!='' ">
|
||||||
and cbs.CREATION_TIME >= to_date(#{startDate}, 'yyyy-mm-dd')
|
and cbs.CREATION_TIME >= to_date(#{startDate}, 'yyyy-mm-dd')
|
||||||
</if>
|
</if>
|
||||||
|
|
|
@ -61,7 +61,8 @@
|
||||||
(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER)
|
(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER)
|
||||||
AS repurchaseAllAmount,
|
AS repurchaseAllAmount,
|
||||||
<!-- 首购拨出金额 = 直推收益 + 拓展收益 + 辅导收益 + 服务补贴 -->
|
<!-- 首购拨出金额 = 直推收益 + 拓展收益 + 辅导收益 + 服务补贴 -->
|
||||||
(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS) AS mainBonus,
|
(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS)
|
||||||
|
AS mainBonus,
|
||||||
<!-- 首购拨出比例 = 首购金额为0,首购拨出比例 = 0;否则,首购拨出比例 = 100 * 首购拨出金额 / 首购金额 -->
|
<!-- 首购拨出比例 = 首购金额为0,首购拨出比例 = 0;否则,首购拨出比例 = 100 * 首购拨出金额 / 首购金额 -->
|
||||||
case
|
case
|
||||||
WHEN (cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) = 0
|
WHEN (cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) = 0
|
||||||
|
@ -77,7 +78,8 @@
|
||||||
/ #{rate} / (cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV), 4)
|
/ #{rate} / (cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV), 4)
|
||||||
end AS mainBonusPvRate,
|
end AS mainBonusPvRate,
|
||||||
<!-- 复购拨出金额 = 复购级差收益 + 复购拓展收益 + 复购推荐收益 + 复购辅导收益 -->
|
<!-- 复购拨出金额 = 复购级差收益 + 复购拓展收益 + 复购推荐收益 + 复购辅导收益 -->
|
||||||
(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS) AS repurBonus,
|
(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
|
AS repurBonus,
|
||||||
<!-- 复购拨出比例 = 复购金额为0,复购拨出比例 = 0;否则,复购拨出比例 = 100 * 复购拨出金额 / 复购金额 -->
|
<!-- 复购拨出比例 = 复购金额为0,复购拨出比例 = 0;否则,复购拨出比例 = 100 * 复购拨出金额 / 复购金额 -->
|
||||||
case
|
case
|
||||||
WHEN (cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER) = 0
|
WHEN (cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER) = 0
|
||||||
|
@ -124,6 +126,72 @@
|
||||||
ORDER BY cbs.CREATION_TIME asc
|
ORDER BY cbs.CREATION_TIME asc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 查询顶点拓展封顶人数-->
|
||||||
|
<select id="queryOrgTopNumber" parameterType="com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO"
|
||||||
|
resultType="com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO">
|
||||||
|
SELECT COUNT(cb.pk_id) orgTopNumber,
|
||||||
|
#{pkVertex} pkVertex
|
||||||
|
FROM cu_member_bonus cb
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT pk_id, pk_settle_grade
|
||||||
|
FROM cu_member cm
|
||||||
|
START WITH cm.pk_id=#{pkVertex}
|
||||||
|
CONNECT BY PRIOR pk_id = pk_place_parent
|
||||||
|
) a ON a.pk_id = cb.pk_member
|
||||||
|
INNER JOIN bd_grade bg ON bg.pk_id = a.pk_settle_grade AND bg.del_flag = 0
|
||||||
|
INNER JOIN cu_member_settle_period cp ON cb.period = cp.pk_id
|
||||||
|
WHERE cb.del_flag = 0
|
||||||
|
AND cp.del_flag = 0
|
||||||
|
<if test="startDate!=null and startDate!='' ">
|
||||||
|
and cp.settle_date >= to_date(#{startDate}, 'yyyy-mm-dd')
|
||||||
|
</if>
|
||||||
|
<if test="endDate!=null and endDate!='' ">
|
||||||
|
and cp.settle_date <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
|
||||||
|
</if>
|
||||||
|
AND (cb.expand_income + cb.repur_expand_income) >= bg.expand_capping
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 查询顶点拓展平均碰次和拓展最高碰次-->
|
||||||
|
<select id="queryTouch" parameterType="com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO"
|
||||||
|
resultType="com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO">
|
||||||
|
SELECT
|
||||||
|
cm.pk_id pkVertex,
|
||||||
|
round(sum(expand_touch) / count(pk_order), 2) orgAvTouch,
|
||||||
|
max(expand_touch) orgMaxTouch
|
||||||
|
FROM (
|
||||||
|
SELECT #{pkVertex} pkVertex, b.*
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
cd.pk_order,
|
||||||
|
max(expand_touch) expand_touch
|
||||||
|
FROM cu_member_bonus cb
|
||||||
|
INNER JOIN cu_member_bonus_expand cd ON cb.pk_id = cd.pk_bonus
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT * FROM cu_member cm
|
||||||
|
START WITH cm.pk_id = #{pkVertex}
|
||||||
|
CONNECT BY pk_place_parent = PRIOR pk_id
|
||||||
|
) a ON a.pk_id = cb.pk_member
|
||||||
|
INNER JOIN cu_member_settle_period cp ON cb.period = cp.pk_id
|
||||||
|
WHERE
|
||||||
|
cb.del_flag = 0
|
||||||
|
AND cp.del_flag = 0
|
||||||
|
AND cd.del_flag = 0
|
||||||
|
<if test="startDate!=null and startDate!='' ">
|
||||||
|
and cp.settle_date >= to_date(#{startDate}, 'yyyy-mm-dd')
|
||||||
|
</if>
|
||||||
|
<if test="endDate!=null and endDate!='' ">
|
||||||
|
and cp.settle_date <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
|
||||||
|
</if>
|
||||||
|
GROUP BY cd.pk_order
|
||||||
|
) b
|
||||||
|
) a
|
||||||
|
INNER JOIN cu_member cm ON a.pkVertex = cm.pk_id
|
||||||
|
LEFT JOIN bd_vertex bv ON cm.pk_vertex = bv.pk_id
|
||||||
|
GROUP BY
|
||||||
|
cm.pk_id, cm.member_name, bv.vertex_name
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- 奖金拨比列表统计小计(最后一行)-->
|
<!-- 奖金拨比列表统计小计(最后一行)-->
|
||||||
<select id="queryCuBonusSumStatis" parameterType="com.hzs.member.statis.vo.CuBonusVertexStatisVO"
|
<select id="queryCuBonusSumStatis" parameterType="com.hzs.member.statis.vo.CuBonusVertexStatisVO"
|
||||||
resultType="com.hzs.member.statis.vo.CuBonusVertexStatisVO">
|
resultType="com.hzs.member.statis.vo.CuBonusVertexStatisVO">
|
||||||
|
@ -216,110 +284,60 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 查询顶点奖金拨比汇总-->
|
<!-- 查询顶点奖金拨比汇总-->
|
||||||
<select id="queryCuBonusStatisTotal" parameterType="com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO"
|
<select id="queryCuBonusStatisTotal" parameterType="com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO"
|
||||||
resultType="com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO">
|
resultType="com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO">
|
||||||
select * from(
|
select * from(
|
||||||
SELECT
|
SELECT
|
||||||
cbs.PK_BD_VERTEX pkVertex,
|
cbs.PK_BD_VERTEX pkVertex,
|
||||||
cm.MEMBER_CODE as memberCode,
|
cm.MEMBER_CODE as memberCode,
|
||||||
cm.MEMBER_NAME as memberName,
|
cm.MEMBER_NAME as memberName,
|
||||||
sum (cbs.MAIN_REG_AMOUNT) mainRegAmount,
|
|
||||||
sum (cbs.MAIN_UP_AMOUNT) mainUpAmount,
|
|
||||||
sum (cbs.MAIN_REPUR_AMOUNT) mainRepurAmount,
|
|
||||||
sum (cbs.HIFANS_REG_AMOUNT) hifansRegAmount,
|
|
||||||
sum (cbs.INTRODUCE_BONUS) introduceBonus,
|
sum (cbs.INTRODUCE_BONUS) introduceBonus,
|
||||||
sum (cbs.ORG_BONUS) orgBonus,
|
sum (cbs.ORG_BONUS) orgBonus,
|
||||||
sum (cbs.LEADER_BONUS) leaderBonus,
|
sum (cbs.LEADER_BONUS) leaderBonus,
|
||||||
sum (cbs.SERVICE_BONUS) serviceBonus,
|
sum (cbs.SERVICE_BONUS) serviceBonus,
|
||||||
CASE WHEN
|
|
||||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)
|
|
||||||
= 0
|
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.SERVICE_BONUS)))
|
|
||||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
|
||||||
end AS serviceBonusRate,
|
|
||||||
sum (cbs.HI_FUN_INCOME) hiFunIncome,
|
|
||||||
sum (cbs.REPUR_RANGE_BONUS) repurRangeBonus,
|
sum (cbs.REPUR_RANGE_BONUS) repurRangeBonus,
|
||||||
sum (cbs.REPUR_ORG_BONUS) repurOrgBonus,
|
sum (cbs.REPUR_ORG_BONUS) repurOrgBonus,
|
||||||
sum (cbs.MAKER_DIRECT) makerDirect,
|
sum (cbs.REPUR_LEADER_BONUS) repurLeaderBonus,
|
||||||
sum (cbs.MAKER_SHARE) makerShare,
|
<!-- 首购相关 -->
|
||||||
CASE WHEN
|
|
||||||
sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT)
|
sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT)
|
||||||
= 0
|
AS firstPurchaseAll,
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.MAKER_DIRECT+cbs.MAKER_SHARE)))
|
sum(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS)
|
||||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
AS mainBonus,
|
||||||
end AS makerRate,
|
case
|
||||||
((sum(cbs.MAIN_REG_AMOUNT +
|
WHEN sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) = 0
|
||||||
cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT))) AS
|
THEN 0
|
||||||
firstPurchaseAll,
|
ELSE ROUND(#{perCent} * sum(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS)
|
||||||
( sum(cbs.MAIN_REPUR_AMOUNT +
|
/ sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT), 4)
|
||||||
cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER) ) AS repurchaseAllAmount,
|
|
||||||
sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE) AS mainBonus,
|
|
||||||
CASE WHEN
|
|
||||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)
|
|
||||||
= 0
|
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE)))
|
|
||||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
|
||||||
end AS mainBonusRate,
|
end AS mainBonusRate,
|
||||||
|
case
|
||||||
CASE WHEN
|
WHEN sum(cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV) = 0
|
||||||
sum(cbs.MAIN_REG_PV+cbs.MAIN_UP_PV+cbs.SPECIAL_REGISTER_PV+cbs.SPECIAL_UPGRADE_PV+cbs.FICTITIOUS_PV)
|
THEN 0
|
||||||
= 0
|
ELSE ROUND(#{perCent} * sum(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS)
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE)))
|
|
||||||
/ #{rate} / sum(cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV), 4)
|
/ #{rate} / sum(cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV), 4)
|
||||||
end AS mainBonusPvRate,
|
end AS mainBonusPvRate,
|
||||||
sum(cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
<!-- 复购相关 -->
|
||||||
+cbs.HI_FUN_INCOME) AS repurBonus,
|
sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER)
|
||||||
|
AS repurchaseAllAmount,
|
||||||
CASE WHEN
|
sum(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
sum(cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
AS repurBonus,
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
case
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)=0 THEN 0
|
WHEN sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER) = 0
|
||||||
ELSE ROUND(#{perCent}*sum(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME))+cbs.HI_FUN_INCOME)
|
THEN 0
|
||||||
/
|
ELSE ROUND(#{perCent} * sum(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
sum(cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
/ sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
end AS repurBonusRate,
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER),4) end AS repurBonusRate,
|
case
|
||||||
|
WHEN sum(cbs.MAIN_REPUR_PV + cbs.MALL_PV + cbs.COOPERATE_PV + cbs.SPECIAL_REPURCHASE_PV + cbs.WELFARE_ORDER_PV) = 0
|
||||||
CASE WHEN
|
THEN 0
|
||||||
sum(cbs.MAIN_REPUR_PV+cbs.HIFANS_REG_PV+cbs.HAI_FUN_UPGRADE_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
ELSE ROUND(#{perCent} * sum(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
+cbs.EMPOWERMENT_GIFT_PV+cbs.COOPERATE_PV+cbs.SPECIAL_REPURCHASE_PV
|
/ #{rate} / sum(cbs.MAIN_REPUR_PV + cbs.MALL_PV + cbs.COOPERATE_PV + cbs.SPECIAL_REPURCHASE_PV + cbs.WELFARE_ORDER_PV), 4)
|
||||||
+cbs.MAKER_ORDER_PV+cbs.MAKER_GIFT_PV+cbs.WELFARE_ORDER_PV)=0 THEN 0
|
end AS repurBonusPvRate
|
||||||
ELSE ROUND(#{perCent}*sum(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME))+cbs.HI_FUN_INCOME)
|
FROM CU_BONUS_VERTEX_STATIS cbs
|
||||||
/#{rate}/
|
LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX and cm.del_flag = 0
|
||||||
sum(cbs.MAIN_REPUR_PV+cbs.HIFANS_REG_PV+cbs.HAI_FUN_UPGRADE_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
|
||||||
+cbs.EMPOWERMENT_GIFT_PV+cbs.COOPERATE_PV+cbs.SPECIAL_REPURCHASE_PV
|
|
||||||
+cbs.MAKER_ORDER_PV+cbs.MAKER_GIFT_PV+cbs.WELFARE_ORDER_PV),4) end AS repurBonusPvRate,
|
|
||||||
|
|
||||||
sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS+
|
|
||||||
cbs.MAKER_DIRECT+cbs.MAKER_SHARE+
|
|
||||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
|
||||||
+cbs.HI_FUN_INCOME) AS totalBonus,
|
|
||||||
CASE WHEN
|
|
||||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
|
||||||
cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)=0 THEN 0
|
|
||||||
ELSE ROUND ((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE+
|
|
||||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME+cbs.HI_FUN_INCOME))
|
|
||||||
/
|
|
||||||
(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
|
||||||
cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)),4) end AS totalBonusRate
|
|
||||||
FROM
|
|
||||||
CU_BONUS_VERTEX_STATIS cbs
|
|
||||||
LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX
|
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
<if test="pkCountry != null">
|
<if test="pkCountry != null">
|
||||||
and cbs.PK_COUNTRY = #{pkCountry}
|
and cbs.PK_COUNTRY = #{pkCountry}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="pkVertex != null ">
|
<if test="pkVertex != null ">
|
||||||
and cbs.PK_BD_VERTEX = #{pkVertex}
|
and cbs.PK_BD_VERTEX = #{pkVertex}
|
||||||
</if>
|
</if>
|
||||||
|
@ -332,121 +350,99 @@
|
||||||
GROUP BY cbs.PK_BD_VERTEX, cm.MEMBER_CODE, cm.MEMBER_NAME
|
GROUP BY cbs.PK_BD_VERTEX, cm.MEMBER_CODE, cm.MEMBER_NAME
|
||||||
)
|
)
|
||||||
ORDER BY firstPurchaseAll desc, repurchaseAllAmount desc
|
ORDER BY firstPurchaseAll desc, repurchaseAllAmount desc
|
||||||
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 顶点奖金拨比汇总查询总和-->
|
<!-- 顶点奖金拨比汇总查询总和-->
|
||||||
<select id="queryCuBonusStatisSum" parameterType="com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO"
|
<select id="queryCuBonusStatisSum" parameterType="com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO"
|
||||||
resultType="com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO">
|
resultType="com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO">
|
||||||
SELECT
|
SELECT
|
||||||
sum (cbs.MAIN_REG_AMOUNT) mainRegAmount,
|
|
||||||
sum (cbs.MAIN_UP_AMOUNT) mainUpAmount,
|
|
||||||
sum (cbs.MAIN_REPUR_AMOUNT) mainRepurAmount,
|
|
||||||
sum (cbs.HIFANS_REG_AMOUNT) hifansRegAmount,
|
|
||||||
sum (cbs.INTRODUCE_BONUS) introduceBonus,
|
sum (cbs.INTRODUCE_BONUS) introduceBonus,
|
||||||
CASE WHEN
|
|
||||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)
|
|
||||||
= 0
|
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS)))
|
|
||||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
|
||||||
end AS introduceBonusRate,
|
|
||||||
sum (cbs.ORG_BONUS) orgBonus,
|
sum (cbs.ORG_BONUS) orgBonus,
|
||||||
CASE WHEN
|
|
||||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)
|
|
||||||
= 0
|
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.ORG_BONUS)))
|
|
||||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
|
||||||
end AS orgBonusRate,
|
|
||||||
|
|
||||||
sum (cbs.LEADER_BONUS) leaderBonus,
|
sum (cbs.LEADER_BONUS) leaderBonus,
|
||||||
sum (cbs.SERVICE_BONUS) serviceBonus,
|
sum (cbs.SERVICE_BONUS) serviceBonus,
|
||||||
CASE WHEN
|
|
||||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)
|
|
||||||
= 0
|
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.SERVICE_BONUS)))
|
|
||||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
|
||||||
end AS serviceBonusRate,
|
|
||||||
sum (cbs.HI_FUN_INCOME) hiFunIncome,
|
|
||||||
sum (cbs.REPUR_RANGE_BONUS) repurRangeBonus,
|
sum (cbs.REPUR_RANGE_BONUS) repurRangeBonus,
|
||||||
sum (cbs.REPUR_ORG_BONUS) repurOrgBonus,
|
sum (cbs.REPUR_ORG_BONUS) repurOrgBonus,
|
||||||
sum (cbs.MAKER_DIRECT) makerDirect,
|
sum (cbs.REPUR_LEADER_BONUS) repurLeaderBonus,
|
||||||
sum (cbs.MAKER_SHARE) makerShare,
|
<!-- 首购相关 -->
|
||||||
CASE WHEN
|
|
||||||
sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT)
|
sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT)
|
||||||
= 0
|
AS firstPurchaseAll,
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.MAKER_DIRECT+cbs.MAKER_SHARE)))
|
sum(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS)
|
||||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
AS mainBonus,
|
||||||
end AS makerRate,
|
case
|
||||||
((sum(cbs.MAIN_REG_AMOUNT +
|
WHEN sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) = 0
|
||||||
cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)))
|
THEN 0
|
||||||
AS
|
ELSE ROUND(#{perCent} * sum(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS)
|
||||||
firstPurchaseAll,
|
/ sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT), 4)
|
||||||
( sum(cbs.MAIN_REPUR_AMOUNT +
|
|
||||||
cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER) ) AS repurchaseAllAmount,
|
|
||||||
sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE) AS mainBonus,
|
|
||||||
CASE WHEN
|
|
||||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)
|
|
||||||
= 0
|
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE)))
|
|
||||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
|
||||||
end AS mainBonusRate,
|
end AS mainBonusRate,
|
||||||
|
case
|
||||||
CASE WHEN
|
WHEN sum(cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV) = 0
|
||||||
sum(cbs.MAIN_REG_PV+cbs.MAIN_UP_PV+cbs.SPECIAL_REGISTER_PV+cbs.SPECIAL_UPGRADE_PV+cbs.FICTITIOUS_PV)
|
THEN 0
|
||||||
= 0
|
ELSE ROUND(#{perCent} * sum(cbs.INTRODUCE_BONUS + cbs.ORG_BONUS + cbs.LEADER_BONUS + cbs.SERVICE_BONUS)
|
||||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE)))
|
|
||||||
/ #{rate} / sum(cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV), 4)
|
/ #{rate} / sum(cbs.MAIN_REG_PV + cbs.MAIN_UP_PV + cbs.SPECIAL_REGISTER_PV + cbs.SPECIAL_UPGRADE_PV + cbs.FICTITIOUS_PV), 4)
|
||||||
end AS mainBonusPvRate,
|
end AS mainBonusPvRate,
|
||||||
|
<!-- 复购相关 -->
|
||||||
sum(cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER)
|
||||||
+cbs.HI_FUN_INCOME) AS repurBonus,
|
AS repurchaseAllAmount,
|
||||||
|
sum(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
CASE WHEN
|
AS repurBonus,
|
||||||
sum(cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
case
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
WHEN sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER) = 0
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)=0 THEN 0
|
THEN 0
|
||||||
ELSE ROUND(#{perCent}*sum(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME))+cbs.HI_FUN_INCOME)
|
ELSE ROUND(#{perCent} * sum(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
/
|
/ sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
|
||||||
sum(cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
end AS repurBonusRate,
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
case
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER),4) end AS repurBonusRate,
|
WHEN sum(cbs.MAIN_REPUR_PV + cbs.MALL_PV + cbs.COOPERATE_PV + cbs.SPECIAL_REPURCHASE_PV + cbs.WELFARE_ORDER_PV) = 0
|
||||||
|
THEN 0
|
||||||
CASE WHEN
|
ELSE ROUND(#{perCent} * sum(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
|
||||||
sum(cbs.MAIN_REPUR_PV+cbs.HIFANS_REG_PV+cbs.HAI_FUN_UPGRADE_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
/ #{rate} / sum(cbs.MAIN_REPUR_PV + cbs.MALL_PV + cbs.COOPERATE_PV + cbs.SPECIAL_REPURCHASE_PV + cbs.WELFARE_ORDER_PV), 4)
|
||||||
+cbs.EMPOWERMENT_GIFT_PV+cbs.COOPERATE_PV+cbs.SPECIAL_REPURCHASE_PV
|
end AS repurBonusPvRate,
|
||||||
+cbs.MAKER_ORDER_PV+cbs.MAKER_GIFT_PV+cbs.WELFARE_ORDER_PV)=0 THEN 0
|
<!-- 首购奖金占比 -->
|
||||||
ELSE ROUND(#{perCent}*sum(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME))+cbs.HI_FUN_INCOME)
|
case
|
||||||
/#{rate}/
|
WHEN sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) = 0
|
||||||
sum(cbs.MAIN_REPUR_PV+cbs.HIFANS_REG_PV+cbs.HAI_FUN_UPGRADE_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
THEN 0
|
||||||
+cbs.EMPOWERMENT_GIFT_PV+cbs.COOPERATE_PV+cbs.SPECIAL_REPURCHASE_PV
|
ELSE ROUND(#{perCent} * sum(cbs.INTRODUCE_BONUS)
|
||||||
+cbs.MAKER_ORDER_PV+cbs.MAKER_GIFT_PV+cbs.WELFARE_ORDER_PV),4) end AS repurBonusPvRate,
|
/ sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT), 4)
|
||||||
|
end AS introduceBonusRate,
|
||||||
sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS+
|
case
|
||||||
cbs.MAKER_DIRECT+cbs.MAKER_SHARE+
|
WHEN sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) = 0
|
||||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
THEN 0
|
||||||
+cbs.HI_FUN_INCOME) AS totalBonus,
|
ELSE ROUND(#{perCent} * sum(cbs.ORG_BONUS)
|
||||||
CASE WHEN
|
/ sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT), 4)
|
||||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
end AS orgBonusRate,
|
||||||
cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
case
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
WHEN sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) = 0
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)=0 THEN 0
|
THEN 0
|
||||||
ELSE ROUND ((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
ELSE ROUND(#{perCent} * sum(cbs.LEADER_BONUS)
|
||||||
+cbs.MAKER_DIRECT+cbs.MAKER_SHARE+
|
/ sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT), 4)
|
||||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME+cbs.HI_FUN_INCOME))
|
end AS leaderBonusRate,
|
||||||
/
|
case
|
||||||
(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
WHEN sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) = 0
|
||||||
cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
THEN 0
|
||||||
+cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
|
ELSE ROUND(#{perCent} * sum(cbs.SERVICE_BONUS)
|
||||||
+cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)),4) end AS totalBonusRate
|
/ sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT), 4)
|
||||||
FROM
|
end AS serviceBonusRate,
|
||||||
CU_BONUS_VERTEX_STATIS cbs
|
<!-- 复购奖金占比 -->
|
||||||
LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX
|
case
|
||||||
|
WHEN sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER) = 0
|
||||||
|
THEN 0
|
||||||
|
ELSE ROUND(#{perCent} * sum(cbs.REPUR_RANGE_BONUS)
|
||||||
|
/ sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
|
||||||
|
end AS repurRangeBonusRate,
|
||||||
|
case
|
||||||
|
WHEN sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER) = 0
|
||||||
|
THEN 0
|
||||||
|
ELSE ROUND(#{perCent} * sum(cbs.REPUR_ORG_BONUS)
|
||||||
|
/ sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
|
||||||
|
end AS repurOrgBonusRate,
|
||||||
|
case
|
||||||
|
WHEN sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER) = 0
|
||||||
|
THEN 0
|
||||||
|
ELSE ROUND(#{perCent} * sum(cbs.REPUR_LEADER_BONUS)
|
||||||
|
/ sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
|
||||||
|
end AS repurLeaderBonusRate
|
||||||
|
FROM CU_BONUS_VERTEX_STATIS cbs
|
||||||
|
LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX and cm.del_flag = 0
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
<if test="pkCountry != null">
|
<if test="pkCountry != null">
|
||||||
and cbs.PK_COUNTRY= #{pkCountry}
|
and cbs.PK_COUNTRY= #{pkCountry}
|
||||||
|
@ -462,9 +458,10 @@
|
||||||
and cbs.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
|
and cbs.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 查询时间内奖金拨比顶点会员-->
|
<!-- 查询时间内奖金拨比顶点会员-->
|
||||||
<select id="queryCuBonusVertex" parameterType="com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO"
|
<select id="queryCuBonusVertex" parameterType="com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO"
|
||||||
resultType="com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO">
|
resultType="com.hzs.member.statis.vo.CuBonusVertexStaticTotalVO">
|
||||||
select cbs.PK_BD_VERTEX pkVertex
|
select cbs.PK_BD_VERTEX pkVertex
|
||||||
from CU_BONUS_VERTEX_STATIS cbs where 1=1
|
from CU_BONUS_VERTEX_STATIS cbs where 1=1
|
||||||
<if test="pkCountry != null">
|
<if test="pkCountry != null">
|
||||||
|
|
Loading…
Reference in New Issue