## 拨比处理;
This commit is contained in:
parent
950855cae0
commit
43c7e0ca5e
|
@ -166,9 +166,9 @@ public class CuBonusVertexStatisController extends BaseController {
|
|||
// 阶段收益
|
||||
vo.setStoreIncomeRate(vo.getStoreIncome().divide(vo.getMainRegAmount(), 4, RoundingMode.HALF_UP).multiply(rate));
|
||||
// 精品级差
|
||||
vo.setRangeIncome41(vo.getRangeIncome41().divide(vo.getMainRegAmount(), 4, RoundingMode.HALF_UP).multiply(rate));
|
||||
vo.setRangeIncome41Rate(vo.getRangeIncome41().divide(vo.getMainRegAmount(), 4, RoundingMode.HALF_UP).multiply(rate));
|
||||
// 精品平级
|
||||
vo.setSameLevelIncome41(vo.getSameLevelIncome41().divide(vo.getMainRegAmount(), 4, RoundingMode.HALF_UP).multiply(rate));
|
||||
vo.setSameLevelIncome41Rate(vo.getSameLevelIncome41().divide(vo.getMainRegAmount(), 4, RoundingMode.HALF_UP).multiply(rate));
|
||||
}
|
||||
if (vo.getMainRepurAmount().compareTo(BigDecimal.ZERO) > 0) {
|
||||
// 见点收益
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
package com.hzs.member.statis.controller.manager;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.hzs.common.core.annotation.AccessPermissions;
|
||||
import com.hzs.common.core.annotation.Log;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.EOperationBusiness;
|
||||
import com.hzs.common.core.enums.EOperationMethod;
|
||||
import com.hzs.common.core.enums.EOperationModule;
|
||||
|
@ -16,11 +14,7 @@ import com.hzs.common.core.web.page.TableDataInfo;
|
|||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.member.statis.service.ICuBonusVertexStatisService;
|
||||
import com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO;
|
||||
import com.hzs.member.statis.vo.CuBonusVertexStatisVO;
|
||||
import com.hzs.system.base.ICurrencyServiceApi;
|
||||
import com.hzs.system.base.dto.CurrencyDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
|
@ -45,9 +39,6 @@ public class CuBonusVertexStatisTotalController extends BaseController {
|
|||
@Autowired
|
||||
private ICuBonusVertexStatisService iCuBonusVertexStatisService;
|
||||
|
||||
@DubboReference
|
||||
ICurrencyServiceApi iCurrencyServiceApi;
|
||||
|
||||
/**
|
||||
* 奖金拨比列表
|
||||
**/
|
||||
|
@ -55,66 +46,32 @@ public class CuBonusVertexStatisTotalController extends BaseController {
|
|||
@GetMapping("/list")
|
||||
@Log(module = EOperationModule.BONUS_DIAL_RATIO, business = EOperationBusiness.BONUS_DIAL_VERTEX_RATIO_TOTAL, method = EOperationMethod.SELECT)
|
||||
public TableDataInfo list(CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO) {
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||
BigDecimal exchangeRate = currency.getData().getInExchangeRate() == null ? BigDecimal.ONE : currency.getData().getInExchangeRate();
|
||||
cuBonusVertexStatisTotalVO.setPkCountry(SecurityUtils.getPkCountry());
|
||||
|
||||
BigDecimal cent = new BigDecimal(100);
|
||||
cuBonusVertexStatisTotalVO.setRate(exchangeRate);
|
||||
cuBonusVertexStatisTotalVO.setPerCent(exchangeRate.multiply(cent));
|
||||
cuBonusVertexStatisTotalVO.setPkCountry(pkCountry);
|
||||
//默认查询当前日期的前一天
|
||||
if (StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getStartDate()) || StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getEndDate())) {
|
||||
Date date = DateUtils.currentDate();
|
||||
if (StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getStartDate()) ||
|
||||
StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getEndDate())) {
|
||||
cuBonusVertexStatisTotalVO.setStartDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||
cuBonusVertexStatisTotalVO.setEndDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||
}
|
||||
|
||||
//查询分红比例配置
|
||||
cuBonusVertexStatisTotalVO.setDividendRatio(BigDecimal.ZERO);
|
||||
//查询顶点会员
|
||||
List<CuBonusVertexStatisTotalVO> vertexList = iCuBonusVertexStatisService.queryCuBonusVertex(cuBonusVertexStatisTotalVO);
|
||||
|
||||
CuBonusVertexStatisVO cvs = BeanUtil.copyProperties(cuBonusVertexStatisTotalVO, CuBonusVertexStatisVO.class);
|
||||
for (CuBonusVertexStatisTotalVO ve : vertexList) {
|
||||
cvs.setPkVertex(ve.getPkVertex());
|
||||
}
|
||||
startPage();
|
||||
//查询顶点奖金拨比汇总
|
||||
List<CuBonusVertexStatisTotalVO> slList = iCuBonusVertexStatisService.queryCuBonusStatisTotal(cuBonusVertexStatisTotalVO);
|
||||
if (CollectionUtil.isNotEmpty(slList)) {
|
||||
slList.forEach(itm -> {
|
||||
//重新算首购拨比
|
||||
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.setIntroduceBonusRate(itm.getIntroduceBonus().multiply(cuBonusVertexStatisTotalVO.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));
|
||||
}
|
||||
//首购拨出金额
|
||||
itm.setMainBonus((itm.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
||||
itm.setRepurBonus(itm.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
|
||||
cuBonusVertexStatisTotalVO.setFirstPurchaseAllSum(cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum().add(itm.getFirstPurchaseAll()));
|
||||
});
|
||||
}
|
||||
//计算占比
|
||||
slList.forEach(itm -> {
|
||||
if (cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum().compareTo(BigDecimal.ZERO) > 0) {
|
||||
itm.setFirstPurchaseRatio(cent.multiply(itm.getFirstPurchaseAll()).divide(cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum(), 4, RoundingMode.HALF_UP));
|
||||
}
|
||||
BigDecimal rate = new BigDecimal(100);
|
||||
slList.forEach(vo -> {
|
||||
this.handleStatisVO(vo, rate);
|
||||
});
|
||||
|
||||
//查询顶点奖金拨比汇总总和(最后一行)
|
||||
CuBonusVertexStatisTotalVO cuBonusVertexStatisSum = iCuBonusVertexStatisService.queryCuBonusStatisSum(cuBonusVertexStatisTotalVO);
|
||||
if (null != cuBonusVertexStatisSum) {
|
||||
cuBonusVertexStatisSum.setMainBonus((cuBonusVertexStatisSum.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
||||
cuBonusVertexStatisSum.setRepurBonus(cuBonusVertexStatisSum.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
|
||||
cuBonusVertexStatisSum.setMemberName("汇总");
|
||||
CuBonusVertexStatisTotalVO voSum = iCuBonusVertexStatisService.queryCuBonusStatisSum(cuBonusVertexStatisTotalVO);
|
||||
if (null != voSum) {
|
||||
this.handleStatisVO(voSum, rate);
|
||||
voSum.setMemberName("汇总");
|
||||
slList.add(voSum);
|
||||
}
|
||||
}
|
||||
slList.add(cuBonusVertexStatisSum);
|
||||
return getDataTable(slList);
|
||||
}
|
||||
|
||||
|
@ -124,65 +81,63 @@ public class CuBonusVertexStatisTotalController extends BaseController {
|
|||
@Log(module = EOperationModule.BONUS_DIAL_RATIO, business = EOperationBusiness.BONUS_DIAL_VERTEX_RATIO_TOTAL, method = EOperationMethod.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, CuBonusVertexStatisTotalVO cuBonusVertexStatisTotalVO) {
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
List<CuBonusVertexStatisTotalVO> slList;
|
||||
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);
|
||||
cuBonusVertexStatisTotalVO.setPerCent(exchangeRate.multiply(cent));
|
||||
cuBonusVertexStatisTotalVO.setPkCountry(pkCountry);
|
||||
cuBonusVertexStatisTotalVO.setPkCountry(SecurityUtils.getPkCountry());
|
||||
|
||||
//默认查询当前日期的前一天
|
||||
if (StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getStartDate()) || StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getEndDate())) {
|
||||
Date date = DateUtils.currentDate();
|
||||
if (StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getStartDate())
|
||||
|| StringUtils.isEmpty(cuBonusVertexStatisTotalVO.getEndDate())) {
|
||||
cuBonusVertexStatisTotalVO.setStartDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||
cuBonusVertexStatisTotalVO.setEndDate(DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, date));
|
||||
}
|
||||
//查询分红比例配置
|
||||
cuBonusVertexStatisTotalVO.setDividendRatio(BigDecimal.ZERO);
|
||||
//查询顶点会员
|
||||
List<CuBonusVertexStatisTotalVO> vertexList = iCuBonusVertexStatisService.queryCuBonusVertex(cuBonusVertexStatisTotalVO);
|
||||
|
||||
CuBonusVertexStatisVO cvs = BeanUtil.copyProperties(cuBonusVertexStatisTotalVO, CuBonusVertexStatisVO.class);
|
||||
for (CuBonusVertexStatisTotalVO ve : vertexList) {
|
||||
cvs.setPkVertex(ve.getPkVertex());
|
||||
}
|
||||
|
||||
startPage();
|
||||
//查询顶点奖金拨比汇总
|
||||
slList = iCuBonusVertexStatisService.queryCuBonusStatisTotal(cuBonusVertexStatisTotalVO);
|
||||
//查询顶点奖金拨比汇总总和(最后一行)
|
||||
CuBonusVertexStatisTotalVO cuBonusVertexStatisSum = iCuBonusVertexStatisService.queryCuBonusStatisSum(cuBonusVertexStatisTotalVO);
|
||||
cuBonusVertexStatisSum.setMainBonus((cuBonusVertexStatisSum.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
||||
cuBonusVertexStatisSum.setRepurBonus(cuBonusVertexStatisSum.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
|
||||
List<CuBonusVertexStatisTotalVO> slList = iCuBonusVertexStatisService.queryCuBonusStatisTotal(cuBonusVertexStatisTotalVO);
|
||||
if (CollectionUtil.isNotEmpty(slList)) {
|
||||
slList.forEach(itm -> {
|
||||
//重新算首购拨比
|
||||
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.setIntroduceBonusRate(itm.getIntroduceBonus().multiply(cuBonusVertexStatisTotalVO.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));
|
||||
}
|
||||
//首购拨出金额
|
||||
itm.setMainBonus((itm.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
|
||||
itm.setRepurBonus(itm.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
|
||||
cuBonusVertexStatisTotalVO.setFirstPurchaseAllSum(cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum().add(itm.getFirstPurchaseAll()));
|
||||
BigDecimal rate = new BigDecimal(100);
|
||||
slList.forEach(vo -> {
|
||||
this.handleStatisVO(vo, rate);
|
||||
});
|
||||
|
||||
//查询顶点奖金拨比汇总总和(最后一行)
|
||||
CuBonusVertexStatisTotalVO voSum = iCuBonusVertexStatisService.queryCuBonusStatisSum(cuBonusVertexStatisTotalVO);
|
||||
if (null != voSum) {
|
||||
this.handleStatisVO(voSum, rate);
|
||||
voSum.setMemberName("汇总");
|
||||
slList.add(voSum);
|
||||
}
|
||||
//计算占比
|
||||
slList.forEach(itm -> {
|
||||
if (cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum().compareTo(BigDecimal.ZERO) > 0) {
|
||||
itm.setFirstPurchaseRatio(cent.multiply(itm.getFirstPurchaseAll()).divide(cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum(), 4, RoundingMode.HALF_UP));
|
||||
}
|
||||
});
|
||||
cuBonusVertexStatisSum.setMemberName("汇总");
|
||||
slList.add(cuBonusVertexStatisSum);
|
||||
ExcelUtil<CuBonusVertexStatisTotalVO> util = new ExcelUtil<>(CuBonusVertexStatisTotalVO.class);
|
||||
util.exportExcel(response, slList, "拨比列表");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理统计返回VO
|
||||
*/
|
||||
private void handleStatisVO(CuBonusVertexStatisTotalVO vo, BigDecimal rate) {
|
||||
// 精品专区金额 = 精品 + 甄选
|
||||
vo.setMainRegAmount(vo.getMainRegAmount().add(vo.getMainUpAmount()));
|
||||
// 精品专区奖金
|
||||
vo.setMainBonus(vo.getIntroduceBonus().add(vo.getStoreIncome()).add(vo.getRangeIncome41()).add(vo.getSameLevelIncome41()));
|
||||
// 精品专区拨比
|
||||
vo.setMainBonusRate(vo.getMainBonus().divide(vo.getMainRegAmount(), 4, RoundingMode.HALF_UP).multiply(rate));
|
||||
|
||||
// 商城专区奖金
|
||||
vo.setMainRepurBonus(vo.getGlobalPoints().add(vo.getRangeIncome43()).add(vo.getSameLevelIncome43()));
|
||||
// 商城专区拨比
|
||||
vo.setMainRepurBonusRate(vo.getMainRepurBonus().divide(vo.getMainRepurAmount(), 4, RoundingMode.HALF_UP).multiply(rate));
|
||||
|
||||
// 五折专区奖金
|
||||
vo.setRetailConsumeBonus(vo.getRangeIncome47());
|
||||
// 五折专区拨比
|
||||
vo.setRetailConsumeBonusRate(vo.getRetailConsumeBonus().divide(vo.getRetailConsumeAmount(), 4, RoundingMode.HALF_UP).multiply(rate));
|
||||
|
||||
// 总金额
|
||||
vo.setTotalAmount(vo.getMainRegAmount().add(vo.getMainRepurAmount().add(vo.getRetailConsumeAmount())));
|
||||
// 总拨出金额
|
||||
vo.setTotalBonus(vo.getIntroduceBonus().add(vo.getStoreIncome()).add(vo.getRetailRangeIncome()).add(vo.getRetailSameLevelIncome()).add(vo.getGlobalPoints()));
|
||||
// 总拨出比例
|
||||
vo.setTotalBonusRate(vo.getTotalBonus().divide(vo.getTotalAmount(), 4, RoundingMode.HALF_UP).multiply(rate));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.hzs.member.statis.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.hzs.common.core.annotation.BigDecimalFormat;
|
||||
import com.hzs.common.core.annotation.Excel;
|
||||
import lombok.Data;
|
||||
|
@ -37,171 +38,156 @@ public class CuBonusVertexStatisTotalVO {
|
|||
private String memberName;
|
||||
|
||||
/**
|
||||
* 首购总金额(¥) 注册金额+升级金额+礼包订单(1万礼包)
|
||||
* 精品专区金额
|
||||
*/
|
||||
@Excel(name = "首购金额(¥)", scale = 2)
|
||||
@Excel(name = "精品专区", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal firstPurchaseAll = BigDecimal.ZERO;
|
||||
|
||||
@BigDecimalFormat
|
||||
private BigDecimal firstPurchaseAllSum = BigDecimal.ZERO;
|
||||
|
||||
private BigDecimal mainRegAmount = BigDecimal.ZERO;
|
||||
/**
|
||||
* 首购金额占比
|
||||
* 甄选专区金额
|
||||
*/
|
||||
@Excel(name = "首购金额占比", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal firstPurchaseRatio = BigDecimal.ZERO;
|
||||
|
||||
private BigDecimal mainUpAmount = BigDecimal.ZERO;
|
||||
/**
|
||||
* (直推收益+拓展收益+辅导收益+分红收益+报单收益(服务补贴))*0.8=实际拨出之和。
|
||||
* 精品专区金额
|
||||
*/
|
||||
@Excel(name = "首购奖金(¥)", scale = 2)
|
||||
@Excel(name = "精品专区奖金", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal mainBonus = BigDecimal.ZERO;
|
||||
/**
|
||||
* 首购相关奖金拨比(%)=首购总奖金(推荐奖净值+拓展奖净值+领导奖净值+服务费净值+分红奖净值)/首购总金额
|
||||
* 精品专区金额
|
||||
*/
|
||||
@Excel(name = "首购金额拨出比例(%)", scale = 2)
|
||||
@Excel(name = "精品专区拨比(%)", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal mainBonusRate = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 首购PV拨出比例(%)=首购拨出金额/首购PV值
|
||||
* 商城专区金额
|
||||
*/
|
||||
@Excel(name = "首购PV拨出比例(%)", scale = 2)
|
||||
@Excel(name = "商城专区", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal mainBonusPvRate = BigDecimal.ZERO;
|
||||
|
||||
private BigDecimal mainRepurAmount = BigDecimal.ZERO;
|
||||
/**
|
||||
* 商城专区金额
|
||||
*/
|
||||
@Excel(name = "商城专区奖金", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal mainRepurBonus = BigDecimal.ZERO;
|
||||
/**
|
||||
* 商城专区金额
|
||||
*/
|
||||
@Excel(name = "商城专区拨比(%)", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal mainRepurBonusRate = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 直推拨比(%)
|
||||
* 五折专区金额
|
||||
*/
|
||||
@Excel(name = "直推拨比(%)", scale = 2)
|
||||
@Excel(name = "五折专区", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal introduceBonusRate = BigDecimal.ZERO;
|
||||
private BigDecimal retailConsumeAmount = BigDecimal.ZERO;
|
||||
/**
|
||||
* 直推收益(¥)
|
||||
* 五折专区金额
|
||||
*/
|
||||
@Excel(name = "五折专区奖金", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal introduceBonus = BigDecimal.ZERO;
|
||||
private BigDecimal retailConsumeBonus = BigDecimal.ZERO;
|
||||
/**
|
||||
* 拓展收益(¥)
|
||||
* 五折专区金额
|
||||
*/
|
||||
@Excel(name = "五折专区拨比(%)", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal orgBonus = BigDecimal.ZERO;
|
||||
/**
|
||||
* 服务补贴(¥)
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
private BigDecimal serviceBonus = BigDecimal.ZERO;
|
||||
private BigDecimal retailConsumeBonusRate = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 拓展拨比(%)
|
||||
* 直推收益
|
||||
*/
|
||||
@Excel(name = "拓展拨比(%)", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal orgBonusRate = BigDecimal.ZERO;
|
||||
@JsonIgnore
|
||||
private BigDecimal introduceBonus;
|
||||
/**
|
||||
* 阶段收益
|
||||
*/
|
||||
@JsonIgnore
|
||||
private BigDecimal storeIncome = BigDecimal.ZERO;
|
||||
/**
|
||||
* 精品专区领导奖级差(统计波比使用)
|
||||
*/
|
||||
@JsonIgnore
|
||||
private BigDecimal rangeIncome41 = BigDecimal.ZERO;
|
||||
/**
|
||||
* 精品专区平级(统计波比使用)
|
||||
*/
|
||||
@JsonIgnore
|
||||
private BigDecimal sameLevelIncome41 = BigDecimal.ZERO;
|
||||
/**
|
||||
* 见点收益
|
||||
*/
|
||||
@JsonIgnore
|
||||
private BigDecimal globalPoints = BigDecimal.ZERO;
|
||||
/**
|
||||
* 商城专区领导奖级差(统计波比使用)
|
||||
*/
|
||||
@JsonIgnore
|
||||
private BigDecimal rangeIncome43 = BigDecimal.ZERO;
|
||||
/**
|
||||
* 商城专区平级(统计波比使用)
|
||||
*/
|
||||
@JsonIgnore
|
||||
private BigDecimal sameLevelIncome43 = BigDecimal.ZERO;
|
||||
/**
|
||||
* 五折专区领导奖级差(统计波比使用)
|
||||
*/
|
||||
@JsonIgnore
|
||||
private BigDecimal rangeIncome47 = BigDecimal.ZERO;
|
||||
/**
|
||||
* 领导奖级差收益
|
||||
*/
|
||||
@JsonIgnore
|
||||
private BigDecimal retailRangeIncome = BigDecimal.ZERO;
|
||||
/**
|
||||
* 领导奖平级收益
|
||||
*/
|
||||
@JsonIgnore
|
||||
private BigDecimal retailSameLevelIncome = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 服务补贴拨比(%)
|
||||
* 合计金额
|
||||
*/
|
||||
@Excel(name = "服务补贴拨比(%)", scale = 2)
|
||||
@Excel(name = "合计金额", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal serviceBonusRate = BigDecimal.ZERO;
|
||||
|
||||
private BigDecimal totalAmount = BigDecimal.ZERO;
|
||||
/**
|
||||
* 复购总金额 复购订单
|
||||
* 总拨出金额
|
||||
*/
|
||||
@Excel(name = "复购金额(¥)", scale = 2)
|
||||
@Excel(name = "总拨出金额", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal repurchaseAllAmount = BigDecimal.ZERO;
|
||||
|
||||
private BigDecimal totalBonus = BigDecimal.ZERO;
|
||||
/**
|
||||
* (复购直推收益+复购级差收益+复购拓展收益)*80%
|
||||
* (复购级差+复购拓展 ) *0.8
|
||||
* 总拨出比例(%)
|
||||
*/
|
||||
@Excel(name = "复购拨出金额(¥)", scale = 2)
|
||||
@Excel(name = "总拨出比例(%)", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal repurBonus = BigDecimal.ZERO;
|
||||
private BigDecimal totalBonusRate = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* (复购级差+复购拓展 ) *0.8
|
||||
* 复购拨出比例(%) = (((复购直推收益+复购级差收益+复购拓展收益)*80%))/复购总奖金(复购订单)
|
||||
*/
|
||||
@Excel(name = "复购拨出比例(%)", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal repurBonusRate = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 复购PV拨出比例(%) = 复购拨出金额/复购PV值
|
||||
*/
|
||||
@Excel(name = "复购PV拨出比例(%)", scale = 2)
|
||||
@BigDecimalFormat
|
||||
private BigDecimal repurBonusPvRate = BigDecimal.ZERO;
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* 体系ID 统计体系
|
||||
*/
|
||||
private Integer pkVertex;
|
||||
|
||||
/**
|
||||
* 注册新增PV MAIN_REG_PV
|
||||
*/
|
||||
private BigDecimal mainRegPv;
|
||||
/**
|
||||
* 升级新增PV MAIN_UP_PV
|
||||
*/
|
||||
private BigDecimal mainUpPv;
|
||||
/**
|
||||
* 虚拟订单PV FICTITIOUS_PV
|
||||
*/
|
||||
private BigDecimal fictitiousPv;
|
||||
/**
|
||||
* 订单金额
|
||||
*/
|
||||
private BigDecimal orderAmount = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 复购新增PV MAIN_REPUR_PV
|
||||
*/
|
||||
private BigDecimal mainRepurPv;
|
||||
|
||||
/**
|
||||
* 直播订单PV MALL_PV
|
||||
*/
|
||||
private BigDecimal mallPv;
|
||||
/**
|
||||
* 合作订单PV COOPERATE_PV
|
||||
*/
|
||||
private BigDecimal cooperatePv;
|
||||
/**
|
||||
* 福利专区PV WELFARE_ORDER_PV
|
||||
*/
|
||||
private BigDecimal welfareOrderPv;
|
||||
|
||||
|
||||
/**
|
||||
* 国家
|
||||
*/
|
||||
private Integer pkCountry;
|
||||
/**
|
||||
* 币种展示 当地币 本币
|
||||
*/
|
||||
private Integer currency;
|
||||
/**
|
||||
* 团队集合
|
||||
*/
|
||||
private String pkTeamCodeStr;
|
||||
/**
|
||||
* 体系集合
|
||||
*/
|
||||
private String pkBdVertexStr;
|
||||
|
||||
/**
|
||||
* 团队集合
|
||||
*/
|
||||
private List<Integer> pkTeamCodeList;
|
||||
/**
|
||||
* 体系集合
|
||||
*/
|
||||
|
@ -225,7 +211,6 @@ public class CuBonusVertexStatisTotalVO {
|
|||
*/
|
||||
private BigDecimal rate = BigDecimal.ZERO;
|
||||
|
||||
|
||||
private Date payTime;
|
||||
private String payTimeStr;
|
||||
private String modifiedTimeStr;
|
||||
|
@ -243,11 +228,6 @@ public class CuBonusVertexStatisTotalVO {
|
|||
*/
|
||||
@BigDecimalFormat
|
||||
private BigDecimal backRatio = BigDecimal.ZERO;
|
||||
/**
|
||||
* 分红比例%
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
private BigDecimal dividendRatio = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 本月会员网体表
|
||||
|
|
|
@ -231,11 +231,11 @@ public class CuBonusVertexStatisVO {
|
|||
/**
|
||||
* 领导奖级差收益
|
||||
*/
|
||||
private BigDecimal retailRangeIncome;
|
||||
private BigDecimal retailRangeIncome = BigDecimal.ZERO;
|
||||
/**
|
||||
* 领导奖级差收益拨比
|
||||
*/
|
||||
private BigDecimal retailRangeIncomeRate;
|
||||
private BigDecimal retailRangeIncomeRate = BigDecimal.ZERO;
|
||||
/**
|
||||
* 领导奖级差收益合计
|
||||
*/
|
||||
|
|
|
@ -189,94 +189,29 @@
|
|||
select * from(
|
||||
SELECT
|
||||
cbs.PK_BD_VERTEX pkVertex,
|
||||
cm.MEMBER_CODE as memberCode,
|
||||
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.INTRODUCE_BONUS) introduceBonus,
|
||||
sum (cbs.ORG_BONUS) orgBonus,
|
||||
sum (cbs.LEADER_BONUS) leaderBonus,
|
||||
sum (cbs.SERVICE_BONUS) serviceBonus,
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT)
|
||||
= 0
|
||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.SERVICE_BONUS)))
|
||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
||||
end AS serviceBonusRate,
|
||||
sum (cbs.REPUR_RANGE_BONUS) repurRangeBonus,
|
||||
sum (cbs.REPUR_ORG_BONUS) repurOrgBonus,
|
||||
((sum(cbs.MAIN_REG_AMOUNT +
|
||||
cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT))) AS
|
||||
firstPurchaseAll,
|
||||
( sum(cbs.MAIN_REPUR_AMOUNT +
|
||||
cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
||||
+cbs.COOPERATE_AMOUNT
|
||||
+cbs.WELFARE_ORDER) ) AS repurchaseAllAmount,
|
||||
sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
||||
) AS mainBonus,
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_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.FICTITIOUS_AMOUNT)),4)
|
||||
end AS mainBonusRate,
|
||||
cm.MEMBER_CODE,
|
||||
cm.MEMBER_NAME,
|
||||
sum (cbs.MAIN_REG_AMOUNT) MAIN_REG_AMOUNT,
|
||||
sum (cbs.MAIN_UP_AMOUNT) MAIN_UP_AMOUNT,
|
||||
sum (cbs.MAIN_REPUR_AMOUNT) MAIN_REPUR_AMOUNT,
|
||||
sum (cbs.RETAIL_CONSUME_AMOUNT) RETAIL_CONSUME_AMOUNT,
|
||||
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REG_PV+cbs.MAIN_UP_PV+cbs.FICTITIOUS_PV)
|
||||
= 0
|
||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
||||
)))
|
||||
/#{rate}/sum(cbs.MAIN_REG_PV+cbs.MAIN_UP_PV+cbs.FICTITIOUS_PV),4)
|
||||
end AS mainBonusPvRate,
|
||||
sum(cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
||||
) AS repurBonus,
|
||||
sum (cbs.REAL_INCOME_TOTAL) REAL_INCOME_TOTAL,
|
||||
sum (cbs.INTRODUCE_BONUS) INTRODUCE_BONUS,
|
||||
sum (cbs.STORE_INCOME) STORE_INCOME,
|
||||
sum (cbs.GLOBAL_POINTS) GLOBAL_POINTS,
|
||||
sum (cbs.RETAIL_RANGE_INCOME) RETAIL_RANGE_INCOME,
|
||||
sum (cbs.RETAIL_SAME_LEVEL_INCOME) RETAIL_SAME_LEVEL_INCOME,
|
||||
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REPUR_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
||||
+cbs.COOPERATE_AMOUNT
|
||||
+cbs.WELFARE_ORDER)=0 THEN 0
|
||||
ELSE ROUND(#{perCent}*sum(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME)))
|
||||
/
|
||||
sum(cbs.MAIN_REPUR_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
||||
+cbs.COOPERATE_AMOUNT
|
||||
+cbs.WELFARE_ORDER),4) end AS repurBonusRate,
|
||||
sum (cbs.RANGE_INCOME_41) RANGE_INCOME_41,
|
||||
sum (cbs.RANGE_INCOME_43) RANGE_INCOME_43,
|
||||
sum (cbs.RANGE_INCOME_47) RANGE_INCOME_47,
|
||||
sum (cbs.SAME_LEVEL_INCOME_41) SAME_LEVEL_INCOME_41,
|
||||
sum (cbs.SAME_LEVEL_INCOME_43) SAME_LEVEL_INCOME_43
|
||||
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REPUR_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
||||
+cbs.COOPERATE_PV
|
||||
+cbs.WELFARE_ORDER_PV)=0 THEN 0
|
||||
ELSE ROUND(#{perCent}*sum(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME)))
|
||||
/#{rate}/
|
||||
sum(cbs.MAIN_REPUR_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
||||
+cbs.COOPERATE_PV
|
||||
+cbs.WELFARE_ORDER_PV),4) end AS repurBonusPvRate,
|
||||
|
||||
sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS+
|
||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
||||
) AS totalBonus,
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
||||
cbs.MAIN_REPUR_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
||||
+cbs.COOPERATE_AMOUNT
|
||||
+cbs.WELFARE_ORDER)=0 THEN 0
|
||||
ELSE ROUND ((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
||||
+
|
||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME))
|
||||
/
|
||||
(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
||||
cbs.MAIN_REPUR_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
||||
+cbs.COOPERATE_AMOUNT
|
||||
+cbs.WELFARE_ORDER)),4) end AS totalBonusRate
|
||||
FROM
|
||||
CU_BONUS_VERTEX_STATIS cbs
|
||||
FROM CU_BONUS_VERTEX_STATIS cbs
|
||||
LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX
|
||||
WHERE 1=1
|
||||
<if test="pkCountry != null">
|
||||
and cbs.PK_COUNTRY=#{pkCountry}
|
||||
</if>
|
||||
|
||||
<if test="pkVertex != null ">
|
||||
and cbs.PK_BD_VERTEX = #{pkVertex}
|
||||
</if>
|
||||
|
@ -288,113 +223,37 @@
|
|||
</if>
|
||||
GROUP BY cbs.PK_BD_VERTEX,cm.MEMBER_CODE,cm.MEMBER_NAME
|
||||
)
|
||||
ORDER BY firstPurchaseAll desc,repurchaseAllAmount desc
|
||||
ORDER BY MEMBER_CODE
|
||||
</select>
|
||||
|
||||
<!-- 顶点奖金拨比汇总查询总和-->
|
||||
<select id="queryCuBonusStatisSum" parameterType="com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO"
|
||||
resultType="com.hzs.member.statis.vo.CuBonusVertexStatisTotalVO">
|
||||
SELECT
|
||||
sum (cbs.MAIN_REG_AMOUNT) mainRegAmount,
|
||||
sum (cbs.MAIN_UP_AMOUNT) mainUpAmount,
|
||||
sum (cbs.MAIN_REPUR_AMOUNT) mainRepurAmount,
|
||||
sum (cbs.INTRODUCE_BONUS) introduceBonus,
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT)
|
||||
= 0
|
||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS)))
|
||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
||||
end AS introduceBonusRate,
|
||||
sum (cbs.ORG_BONUS) orgBonus,
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT)
|
||||
= 0
|
||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.ORG_BONUS)))
|
||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
||||
end AS orgBonusRate,
|
||||
sum (cbs.MAIN_REG_AMOUNT) MAIN_REG_AMOUNT,
|
||||
sum (cbs.MAIN_UP_AMOUNT) MAIN_UP_AMOUNT,
|
||||
sum (cbs.MAIN_REPUR_AMOUNT) MAIN_REPUR_AMOUNT,
|
||||
sum (cbs.RETAIL_CONSUME_AMOUNT) RETAIL_CONSUME_AMOUNT,
|
||||
|
||||
sum (cbs.LEADER_BONUS) leaderBonus,
|
||||
sum (cbs.SERVICE_BONUS) serviceBonus,
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT)
|
||||
= 0
|
||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.SERVICE_BONUS)))
|
||||
/(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
|
||||
end AS serviceBonusRate,
|
||||
sum (cbs.REPUR_RANGE_BONUS) repurRangeBonus,
|
||||
sum (cbs.REPUR_ORG_BONUS) repurOrgBonus,
|
||||
((sum(cbs.MAIN_REG_AMOUNT +
|
||||
cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT))) AS
|
||||
firstPurchaseAll,
|
||||
( sum(cbs.MAIN_REPUR_AMOUNT +
|
||||
cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
||||
+cbs.COOPERATE_AMOUNT
|
||||
+cbs.WELFARE_ORDER) ) AS repurchaseAllAmount,
|
||||
sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
||||
) AS mainBonus,
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_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.FICTITIOUS_AMOUNT)),4)
|
||||
end AS mainBonusRate,
|
||||
sum (cbs.REAL_INCOME_TOTAL) REAL_INCOME_TOTAL,
|
||||
sum (cbs.INTRODUCE_BONUS) INTRODUCE_BONUS,
|
||||
sum (cbs.STORE_INCOME) STORE_INCOME,
|
||||
sum (cbs.GLOBAL_POINTS) GLOBAL_POINTS,
|
||||
sum (cbs.RETAIL_RANGE_INCOME) RETAIL_RANGE_INCOME,
|
||||
sum (cbs.RETAIL_SAME_LEVEL_INCOME) RETAIL_SAME_LEVEL_INCOME,
|
||||
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REG_PV+cbs.MAIN_UP_PV+cbs.FICTITIOUS_PV)
|
||||
= 0
|
||||
THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
||||
)))
|
||||
/#{rate}/sum(cbs.MAIN_REG_PV+cbs.MAIN_UP_PV+cbs.FICTITIOUS_PV),4)
|
||||
end AS mainBonusPvRate,
|
||||
sum (cbs.RANGE_INCOME_41) RANGE_INCOME_41,
|
||||
sum (cbs.RANGE_INCOME_43) RANGE_INCOME_43,
|
||||
sum (cbs.RANGE_INCOME_47) RANGE_INCOME_47,
|
||||
sum (cbs.SAME_LEVEL_INCOME_41) SAME_LEVEL_INCOME_41,
|
||||
sum (cbs.SAME_LEVEL_INCOME_43) SAME_LEVEL_INCOME_43
|
||||
|
||||
sum(cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
||||
) AS repurBonus,
|
||||
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REPUR_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
||||
+cbs.COOPERATE_AMOUNT
|
||||
+cbs.WELFARE_ORDER)=0 THEN 0
|
||||
ELSE ROUND(#{perCent}*sum(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME)))
|
||||
/
|
||||
sum(cbs.MAIN_REPUR_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
||||
+cbs.COOPERATE_AMOUNT
|
||||
+cbs.WELFARE_ORDER),4) end AS repurBonusRate,
|
||||
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REPUR_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
||||
+cbs.COOPERATE_PV
|
||||
+cbs.WELFARE_ORDER_PV)=0 THEN 0
|
||||
ELSE ROUND(#{perCent}*sum(((cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME)))
|
||||
/#{rate}/
|
||||
sum(cbs.MAIN_REPUR_PV+cbs.CLOUD_COLLEGE_PV+cbs.MALL_PV
|
||||
+cbs.COOPERATE_PV
|
||||
+cbs.WELFARE_ORDER_PV),4) end AS repurBonusPvRate,
|
||||
|
||||
sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS+
|
||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME
|
||||
) AS totalBonus,
|
||||
CASE WHEN
|
||||
sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
||||
cbs.MAIN_REPUR_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
||||
+cbs.COOPERATE_AMOUNT
|
||||
+cbs.WELFARE_ORDER)=0 THEN 0
|
||||
ELSE ROUND ((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
|
||||
+
|
||||
cbs.REPUR_RANGE_BONUS+cbs.REPUR_ORG_BONUS+cbs.REPUR_PUSH_INCOME))
|
||||
/
|
||||
(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.FICTITIOUS_AMOUNT+
|
||||
cbs.MAIN_REPUR_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
|
||||
+cbs.COOPERATE_AMOUNT
|
||||
+cbs.WELFARE_ORDER)),4) end AS totalBonusRate
|
||||
FROM
|
||||
CU_BONUS_VERTEX_STATIS cbs
|
||||
FROM CU_BONUS_VERTEX_STATIS cbs
|
||||
LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX
|
||||
WHERE 1 = 1
|
||||
<if test="pkCountry != null">
|
||||
and cbs.PK_COUNTRY = #{pkCountry}
|
||||
</if>
|
||||
|
||||
<if test="pkVertex != null ">
|
||||
and cbs.PK_BD_VERTEX = #{pkVertex}
|
||||
</if>
|
||||
|
|
Loading…
Reference in New Issue