Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
commit
9cd46910cb
|
@ -0,0 +1,19 @@
|
|||
package com.hzs.report.order;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
|
||||
|
||||
/**
|
||||
* 订单服务对外提供接口
|
||||
*/
|
||||
public interface IPerformanceSummaryServiceApi {
|
||||
|
||||
/**
|
||||
* 按天创建统计数据
|
||||
*
|
||||
* @param day
|
||||
* @return
|
||||
*/
|
||||
R<Boolean> createDataByDay(String day);
|
||||
|
||||
}
|
|
@ -39,11 +39,17 @@
|
|||
<groupId>com.bd</groupId>
|
||||
<artifactId>bd-common-aop</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.bd</groupId>
|
||||
<artifactId>bd-api-bonus</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.bd</groupId>
|
||||
<artifactId>bd-api-report</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- rabbit mq -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.amqp</groupId>
|
||||
|
|
|
@ -16,7 +16,8 @@ public interface ICuMemberRetailDetailService extends IService<CuMemberRetailDet
|
|||
/**
|
||||
* 根据结算会员获取对应的点位数据
|
||||
*/
|
||||
void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, EBonusStage eBonusStage);
|
||||
void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
||||
EBonusStage eBonusStage, List<Long> stageMemberList);
|
||||
|
||||
/**
|
||||
* 指定会员获取对应的点位数据
|
||||
|
|
|
@ -23,8 +23,14 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetailD
|
|||
private CuMemberBonusSettle cuMemberBonusSettle;
|
||||
|
||||
@Override
|
||||
public void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, EBonusStage eBonusStage) {
|
||||
List<List<?>> pkMemberList = cuMemberBonusSettle.handleCutList(memberRangeExtMap.keySet(), MagicNumberConstants.BATCH_QUERY_NUM);
|
||||
public void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
||||
EBonusStage eBonusStage, List<Long> stageMemberList) {
|
||||
List<List<?>> pkMemberList;
|
||||
if (CollectionUtil.isNotEmpty(stageMemberList)) {
|
||||
pkMemberList = cuMemberBonusSettle.handleCutList(stageMemberList, MagicNumberConstants.BATCH_QUERY_NUM);
|
||||
} else {
|
||||
pkMemberList = cuMemberBonusSettle.handleCutList(memberRangeExtMap.keySet(), MagicNumberConstants.BATCH_QUERY_NUM);
|
||||
}
|
||||
pkMemberList.forEach(tmpIdList -> {
|
||||
// 查询明细数据(指定阶段,未完成的)
|
||||
List<CuMemberRetailDetail> tmpList = baseMapper.listMemberRetailDetail(retailDetailTableName, tmpIdList, eBonusStage.getValue());
|
||||
|
@ -41,9 +47,16 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetailD
|
|||
if (null == cuMemberRetailRangeExt.getThreeDetailMap()) {
|
||||
cuMemberRetailRangeExt.setThreeDetailMap(new LinkedHashMap<>());
|
||||
}
|
||||
// 使用有序map,为了后续业务处理方便
|
||||
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
|
||||
// 阶段一点位列表(使用有序map,为了后续业务处理方便)
|
||||
// 阶段一点位列表
|
||||
cuMemberRetailRangeExt.getOneDetailMap().put(cuMemberRetailDetail.getChildNode(), cuMemberRetailDetail);
|
||||
} else if (EBonusStage.TWO.getValue() == eBonusStage.getValue()) {
|
||||
// 阶段二点位列表
|
||||
cuMemberRetailRangeExt.getTwoDetailMap().put(cuMemberRetailDetail.getChildNode(), cuMemberRetailDetail);
|
||||
} else if (EBonusStage.THREE.getValue() == eBonusStage.getValue()) {
|
||||
// 阶段三点位列表
|
||||
cuMemberRetailRangeExt.getThreeDetailMap().put(cuMemberRetailDetail.getChildNode(), cuMemberRetailDetail);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -59,12 +72,26 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetailD
|
|||
// 明细数据放到对应的会员数据中
|
||||
for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailList) {
|
||||
CuMemberRetailRangeExt cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailDetail.getPkMember());
|
||||
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
|
||||
// 阶段一点位列表(使用有序map,为了后续业务处理方便)
|
||||
if (null == cuMemberRetailRangeExt.getOneDetailMap()) {
|
||||
cuMemberRetailRangeExt.setOneDetailMap(new LinkedHashMap<>());
|
||||
}
|
||||
if (null == cuMemberRetailRangeExt.getTwoDetailMap()) {
|
||||
cuMemberRetailRangeExt.setTwoDetailMap(new LinkedHashMap<>());
|
||||
}
|
||||
if (null == cuMemberRetailRangeExt.getThreeDetailMap()) {
|
||||
cuMemberRetailRangeExt.setThreeDetailMap(new LinkedHashMap<>());
|
||||
}
|
||||
// 使用有序map,为了后续业务处理方便
|
||||
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
|
||||
// 阶段一点位列表
|
||||
cuMemberRetailRangeExt.getOneDetailMap().put(cuMemberRetailDetail.getChildNode(), cuMemberRetailDetail);
|
||||
} else if (EBonusStage.TWO.getValue() == eBonusStage.getValue()) {
|
||||
// 阶段二点位列表
|
||||
cuMemberRetailRangeExt.getTwoDetailMap().put(cuMemberRetailDetail.getChildNode(), cuMemberRetailDetail);
|
||||
} else if (EBonusStage.THREE.getValue() == eBonusStage.getValue()) {
|
||||
// 阶段三点位列表
|
||||
cuMemberRetailRangeExt.getThreeDetailMap().put(cuMemberRetailDetail.getChildNode(), cuMemberRetailDetail);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -106,6 +106,24 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
|||
}
|
||||
}
|
||||
}
|
||||
if (null != value.getTwoDetailMap() && value.getTwoDetailMap().size() > 0) {
|
||||
Collection<CuMemberRetailDetail> tmpDetailColl = value.getTwoDetailMap().values();
|
||||
for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailColl) {
|
||||
// 只有需要更新的才进行入库操作
|
||||
if (null != cuMemberRetailDetail.getUpdateBool()) {
|
||||
retailDetailColl.add(cuMemberRetailDetail);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (null != value.getThreeDetailMap() && value.getThreeDetailMap().size() > 0) {
|
||||
Collection<CuMemberRetailDetail> tmpDetailColl = value.getThreeDetailMap().values();
|
||||
for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailColl) {
|
||||
// 只有需要更新的才进行入库操作
|
||||
if (null != cuMemberRetailDetail.getUpdateBool()) {
|
||||
retailDetailColl.add(cuMemberRetailDetail);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
List<List<?>> list = cuMemberBonusSettle.handleCutList(retailDetailColl);
|
||||
list.forEach(tmpList -> {
|
||||
|
|
|
@ -50,10 +50,11 @@ public class ApiCuMemberBonusController extends BaseController {
|
|||
MemberBonusVO memberBonusVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusVO.class, "settleDate");
|
||||
memberBonusVO.setServiceSpend(BigDecimal.ZERO);
|
||||
memberBonusVO.setSettleDate(DateUtils.currentDate());
|
||||
BigDecimal serviceSpend = ComputeUtil.computeSubtract(
|
||||
ComputeUtil.computeAddNum(cuMemberBonus.getRetailRangeIncome(), cuMemberBonus.getRetailSameLevelIncome(), cuMemberBonus.getRetailAreaIncome(), cuMemberBonus.getRepurRangeIncome()),
|
||||
cuMemberBonus.getRetailRealSubtotal()
|
||||
);
|
||||
// BigDecimal serviceSpend = ComputeUtil.computeSubtract(
|
||||
// ComputeUtil.computeAddNum(cuMemberBonus.getRetailRangeIncome(), cuMemberBonus.getRetailSameLevelIncome(), cuMemberBonus.getRetailAreaIncome(), cuMemberBonus.getRepurRangeIncome()),
|
||||
// cuMemberBonus.getRetailRealSubtotal()
|
||||
// );
|
||||
BigDecimal serviceSpend = BigDecimal.ZERO;
|
||||
memberBonusVO.setBackPoints(serviceSpend);
|
||||
memberBonusVOList.add(memberBonusVO);
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
|
|||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 阶段奖金数据
|
||||
* 阶段数据
|
||||
*/
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
@ -38,4 +38,13 @@ public class BonusStageData {
|
|||
*/
|
||||
private Integer stageNum;
|
||||
|
||||
/**
|
||||
* 二阶段点位
|
||||
*/
|
||||
private CuMemberRetailDetail twoRetailDetail;
|
||||
/**
|
||||
* 三阶段点位
|
||||
*/
|
||||
private CuMemberRetailDetail threeRetailDetail;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
package com.hzs.bonus.bonus.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hzs.bonus.bonus.param.BonusParam;
|
||||
import com.hzs.common.domain.member.bonus.CuMemberBonusStage;
|
||||
import com.hzs.common.domain.member.ext.CuMemberBonusDetailExt;
|
||||
import com.hzs.common.domain.member.ext.CuMemberBonusPushExt;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -21,4 +24,13 @@ public interface CuMemberBonusStageMapper extends BaseMapper<CuMemberBonusStage>
|
|||
*/
|
||||
void batchInsertCuMemberBonusStage(@Param("cuMemberBonusStageList") List<?> cuMemberBonusStageList);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据查询条件查询固定的奖金明细(阶段收益)
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
*/
|
||||
List<CuMemberBonusDetailExt> queryMemberBonusStageByBonusItemsFoServer(@Param("bonusParam") BonusParam bonusParam);
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ public interface ICuMemberBonusStageService extends IService<CuMemberBonusStage>
|
|||
/**
|
||||
* 填充指定点位
|
||||
*/
|
||||
boolean fillRetailDetail(CuMemberRetailDetail targetRetailDetail, String point,
|
||||
void fillRetailDetail(CuMemberRetailDetail targetRetailDetail, String point,
|
||||
CuMemberRetailDetail sourceRetailDetail, Date settleDate, EBonusStage eBonusStage,
|
||||
List<BonusStageData> bonusStageDataList);
|
||||
|
||||
|
|
|
@ -179,9 +179,9 @@ public class BonusGrantServiceImpl implements IBonusGrantService {
|
|||
// 奖金币(首购+复购+云代+海粉+嗨粉+店铺)
|
||||
packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.BONUS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRealIncomeTotal(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
// 重销币(商城重消+平台服务费)
|
||||
packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPEAT.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getBackPoints(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
// packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPEAT.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getBackPoints(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
// 复购券
|
||||
packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPURCHASE.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRepurCouponSubtotal(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
// packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPURCHASE.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRepurCouponSubtotal(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
});
|
||||
List<Long> seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size());
|
||||
// 新增流水明细,记录奖金明细的发放状态、消费明细
|
||||
|
@ -236,9 +236,9 @@ public class BonusGrantServiceImpl implements IBonusGrantService {
|
|||
// 奖金币(首购+复购+云代+海粉+嗨粉+店铺)
|
||||
packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.BONUS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRealIncomeTotal(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
// 重销币(商城重消+平台服务费)
|
||||
packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPEAT.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getBackPoints(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
// packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPEAT.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getBackPoints(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
// 复购券
|
||||
packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPURCHASE.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRepurCouponSubtotal(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
// packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPURCHASE.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRepurCouponSubtotal(), currencyDTO.getOutExchangeRate()), settleDate);
|
||||
});
|
||||
List<Long> seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size());
|
||||
// 新增流水明细,记录奖金明细的发放状态、消费明细
|
||||
|
|
|
@ -83,10 +83,18 @@ public abstract class BonusSettleHandle {
|
|||
*/
|
||||
protected void stageIncomeRemark(SaOrderExt saOrderExt, CuMemberBonusStage cuMemberBonusStage,
|
||||
CuMemberRetailRangeExt sourceMember, CuMemberRetailRangeExt targetMember) {
|
||||
String remark = String.format(BonusMsgConstants.STAGE_INCOME, saOrderExt.getOrderCode(),
|
||||
String remark;
|
||||
if (null != saOrderExt) {
|
||||
remark = String.format(BonusMsgConstants.STAGE_INCOME, saOrderExt.getOrderCode(),
|
||||
sourceMember.getMemberCode() + sourceMember.getMemberName(),
|
||||
targetMember.getMemberCode() + targetMember.getMemberName(),
|
||||
cuMemberBonusStage.getChildNode(), cuMemberBonusStage.getStage());
|
||||
} else {
|
||||
remark = String.format(BonusMsgConstants.STAGE_INCOME_OTHER,
|
||||
sourceMember.getMemberCode() + sourceMember.getMemberName(),
|
||||
targetMember.getMemberCode() + targetMember.getMemberName(),
|
||||
cuMemberBonusStage.getChildNode(), cuMemberBonusStage.getStage());
|
||||
}
|
||||
cuMemberBonusStage.setRemark(remark);
|
||||
}
|
||||
|
||||
|
@ -155,43 +163,43 @@ public abstract class BonusSettleHandle {
|
|||
.pkRate(pkRate)
|
||||
.incomeStatus(incomeStatus)
|
||||
.directIncome(BigDecimal.ZERO)
|
||||
.expandIncome(BigDecimal.ZERO)
|
||||
.expandNoCapping(BigDecimal.ZERO)
|
||||
.expandCapping(BigDecimal.ZERO)
|
||||
.coachIncome(BigDecimal.ZERO)
|
||||
.shareIncome(BigDecimal.ZERO)
|
||||
.serviceIncome(BigDecimal.ZERO)
|
||||
.backPoints(BigDecimal.ZERO)
|
||||
.serviceSpend(BigDecimal.ZERO)
|
||||
.purRealSubtotal(BigDecimal.ZERO)
|
||||
.repurPushIncome(BigDecimal.ZERO)
|
||||
.repurRangeIncome(BigDecimal.ZERO)
|
||||
.repurExpandIncome(BigDecimal.ZERO)
|
||||
.repurRealSubtotal(BigDecimal.ZERO)
|
||||
.cloudDirectIncome(BigDecimal.ZERO)
|
||||
.cloudPurIncome(BigDecimal.ZERO)
|
||||
.cloudRepurIncome(BigDecimal.ZERO)
|
||||
.cloudRealSubtotal(BigDecimal.ZERO)
|
||||
.repurCoupon(BigDecimal.ZERO)
|
||||
.repurCouponShare(BigDecimal.ZERO)
|
||||
.repurCouponSubtotal(BigDecimal.ZERO)
|
||||
// .expandIncome(BigDecimal.ZERO)
|
||||
// .expandNoCapping(BigDecimal.ZERO)
|
||||
// .expandCapping(BigDecimal.ZERO)
|
||||
// .coachIncome(BigDecimal.ZERO)
|
||||
// .shareIncome(BigDecimal.ZERO)
|
||||
// .serviceIncome(BigDecimal.ZERO)
|
||||
// .backPoints(BigDecimal.ZERO)
|
||||
// .serviceSpend(BigDecimal.ZERO)
|
||||
// .purRealSubtotal(BigDecimal.ZERO)
|
||||
// .repurPushIncome(BigDecimal.ZERO)
|
||||
// .repurRangeIncome(BigDecimal.ZERO)
|
||||
// .repurExpandIncome(BigDecimal.ZERO)
|
||||
// .repurRealSubtotal(BigDecimal.ZERO)
|
||||
// .cloudDirectIncome(BigDecimal.ZERO)
|
||||
// .cloudPurIncome(BigDecimal.ZERO)
|
||||
// .cloudRepurIncome(BigDecimal.ZERO)
|
||||
// .cloudRealSubtotal(BigDecimal.ZERO)
|
||||
// .repurCoupon(BigDecimal.ZERO)
|
||||
// .repurCouponShare(BigDecimal.ZERO)
|
||||
// .repurCouponSubtotal(BigDecimal.ZERO)
|
||||
.globalPoints(BigDecimal.ZERO)
|
||||
.carAwardPoints(BigDecimal.ZERO)
|
||||
.hiFunIncome(BigDecimal.ZERO)
|
||||
.haiFunIncome(BigDecimal.ZERO)
|
||||
// .carAwardPoints(BigDecimal.ZERO)
|
||||
// .hiFunIncome(BigDecimal.ZERO)
|
||||
// .haiFunIncome(BigDecimal.ZERO)
|
||||
.storeIncome(BigDecimal.ZERO)
|
||||
.makerDirectIncome(BigDecimal.ZERO)
|
||||
.makerShareIncome(BigDecimal.ZERO)
|
||||
.makerRealSubtotal(BigDecimal.ZERO)
|
||||
// .makerDirectIncome(BigDecimal.ZERO)
|
||||
// .makerShareIncome(BigDecimal.ZERO)
|
||||
// .makerRealSubtotal(BigDecimal.ZERO)
|
||||
.realIncomeTotal(BigDecimal.ZERO)
|
||||
.retailRangeIncome(BigDecimal.ZERO)
|
||||
.retailSameLevelIncome(BigDecimal.ZERO)
|
||||
.retailAreaIncome(BigDecimal.ZERO)
|
||||
.retailBenefitRangeIncome(BigDecimal.ZERO)
|
||||
.retailMonthRepurchaseIncome(BigDecimal.ZERO)
|
||||
.retailBenefitAvgIncome(BigDecimal.ZERO)
|
||||
.retailBenefitIncome(BigDecimal.ZERO)
|
||||
.retailRealSubtotal(BigDecimal.ZERO)
|
||||
// .retailRangeIncome(BigDecimal.ZERO)
|
||||
// .retailSameLevelIncome(BigDecimal.ZERO)
|
||||
// .retailAreaIncome(BigDecimal.ZERO)
|
||||
// .retailBenefitRangeIncome(BigDecimal.ZERO)
|
||||
// .retailMonthRepurchaseIncome(BigDecimal.ZERO)
|
||||
// .retailBenefitAvgIncome(BigDecimal.ZERO)
|
||||
// .retailBenefitIncome(BigDecimal.ZERO)
|
||||
// .retailRealSubtotal(BigDecimal.ZERO)
|
||||
.build();
|
||||
cuMemberBonus.setPkCreator(MagicNumberConstants.PK_ADMIN);
|
||||
cuMemberBonus.setPkCountry(pkCountry);
|
||||
|
@ -215,8 +223,8 @@ public abstract class BonusSettleHandle {
|
|||
backRatio = bdBonusDeduct.getBackRatio();
|
||||
platformRatio = bdBonusDeduct.getPlatformRatio();
|
||||
}
|
||||
cuMemberBonus.setBackPoints(ComputeUtil.computeAdd(cuMemberBonus.getBackPoints(), ComputeUtil.computeBonusMultiply(pretaxIncome, backRatio)));
|
||||
cuMemberBonus.setServiceSpend(ComputeUtil.computeAdd(cuMemberBonus.getServiceSpend(), ComputeUtil.computeBonusMultiply(pretaxIncome, platformRatio)));
|
||||
// cuMemberBonus.setBackPoints(ComputeUtil.computeAdd(cuMemberBonus.getBackPoints(), ComputeUtil.computeBonusMultiply(pretaxIncome, backRatio)));
|
||||
// cuMemberBonus.setServiceSpend(ComputeUtil.computeAdd(cuMemberBonus.getServiceSpend(), ComputeUtil.computeBonusMultiply(pretaxIncome, platformRatio)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -225,7 +233,7 @@ public abstract class BonusSettleHandle {
|
|||
protected void setRetailTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
|
||||
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
|
||||
BigDecimal realIncome = ReflectUtils.invokeGetter(bonusDetail, BonusFieldConstants.REAL_INCOME);
|
||||
cuMemberBonus.setRetailRealSubtotal(ComputeUtil.computeAdd(cuMemberBonus.getRetailRealSubtotal(), realIncome));
|
||||
// cuMemberBonus.setRetailRealSubtotal(ComputeUtil.computeAdd(cuMemberBonus.getRetailRealSubtotal(), realIncome));
|
||||
cuMemberBonus.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonus.getRealIncomeTotal(), realIncome));
|
||||
}
|
||||
|
||||
|
@ -248,7 +256,9 @@ public abstract class BonusSettleHandle {
|
|||
ReflectUtils.invokeSetter(cuMemberDetail, BonusFieldConstants.INCOME_TAX, incomeTax);
|
||||
ReflectUtils.invokeSetter(cuMemberDetail, BonusFieldConstants.REAL_INCOME, realIncome);
|
||||
// 收益占比
|
||||
if (null != orderAmount && null != exchangeRate) {
|
||||
ReflectUtils.invokeSetter(cuMemberDetail, BonusFieldConstants.INCOME_RATIO, ComputeUtil.computeDivide(realIncome, ComputeUtil.computeDivide(orderAmount, exchangeRate)));
|
||||
}
|
||||
return bdBonusDeduct;
|
||||
}
|
||||
|
||||
|
|
|
@ -275,7 +275,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
Date settleEndDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleStartDate);
|
||||
|
||||
// 新零售订单(注册、复购)
|
||||
List<SaOrderExt> orderList = iBonusOrderService.listRetailSaOrder(settleStartDate, settleEndDate, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue(), EOrderType.RETAIL_REPURCHASE.getValue()));
|
||||
List<SaOrderExt> orderList = iBonusOrderService.listRetailSaOrder(settleStartDate, settleEndDate, null,
|
||||
Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue(), EOrderType.RETAIL_REPURCHASE.getValue()));
|
||||
|
||||
// 更新当月会员, 将昨天业绩更到到今天,更新当月会员考核结果,有消费的考核通过
|
||||
// 结算期间表
|
||||
|
@ -294,6 +295,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 初始化结算明细数据(昨天数据更新到今天数据)
|
||||
iCuMemberRetailRangeService.mergeMemberRetailRangeDetailByYesterday(rangeDetailTableName, yesterdayRangeDetailTableName);
|
||||
|
||||
// 升阶段点位列表
|
||||
List<CuMemberRetailDetail> stageList = new ArrayList<>();
|
||||
|
||||
if (orderList.size() > 0) {
|
||||
// 按照血缘,查询该会员所有伞上会员
|
||||
List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, orderList);
|
||||
|
@ -306,7 +310,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
}
|
||||
}
|
||||
// 查询血缘会员明细数据(一阶段)
|
||||
iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.ONE);
|
||||
iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.ONE, null);
|
||||
|
||||
// 奖衔
|
||||
Map<Integer, BdAwards> retailAwardsMap = new HashMap<>();
|
||||
|
@ -331,11 +335,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 直推收益 -- 来源订单金额,直推拿金额的10%
|
||||
this.calculateDirectIncome(cuMemberBonusPushList, memberRangeExtMap, saOrderExt,
|
||||
bonusConfigDTO, period, cuMemberBonusMap);
|
||||
|
||||
// TODO 阶段收益 -- 来源订单金额
|
||||
this.calculateStageIncome(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
|
||||
memberRangeExtMap, saOrderExt, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.ONE);
|
||||
|
||||
// 一阶段收益 -- 来源订单金额
|
||||
stageList.addAll(this.calculateStageIncome(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
|
||||
memberRangeExtMap, saOrderExt, settleStartDate, rangeTableName, rangeDetailTableName));
|
||||
|
||||
// TODO 领导级差收益 -- 来源PV
|
||||
// TODO 领导平差收益 -- 来源PV
|
||||
|
@ -344,13 +346,32 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 见点收益 -- 来源订单业绩,血缘上20代,每代拿业绩的10%
|
||||
this.calculateRepurDirectIncome(cuMemberBonusPushList, memberRangeExtMap, saOrderExt,
|
||||
bonusConfigDTO, period, cuMemberBonusMap);
|
||||
// TODO 阶段收益 -- 来源订单业绩
|
||||
|
||||
// 一阶段收益 -- 来源订单累计业绩
|
||||
stageList.addAll(this.calculateStageIncome(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
|
||||
memberRangeExtMap, saOrderExt, settleStartDate, rangeTableName, rangeDetailTableName));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// TODO 统一处理第二阶段还是 fillRetailDetail 方法进行处理
|
||||
// TODO 处理升二阶段点位
|
||||
if (CollectionUtil.isNotEmpty(stageList)) {
|
||||
List<Long> stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList());
|
||||
// 查询血缘会员明细数据(二阶段)
|
||||
iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.TWO, stageMemberList);
|
||||
// 二阶段收益
|
||||
stageList = this.calculateStageIncomeTwoThree(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
|
||||
memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.TWO, stageList);
|
||||
}
|
||||
|
||||
// TODO 处理升三阶段点位
|
||||
if (CollectionUtil.isNotEmpty(stageList)) {
|
||||
List<Long> stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList());
|
||||
// 查询血缘会员明细数据(三段)
|
||||
iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.THREE, stageMemberList);
|
||||
// 二阶段收益
|
||||
this.calculateStageIncomeTwoThree(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
|
||||
memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.THREE, stageList);
|
||||
}
|
||||
|
||||
if (cuMemberBonusPushList.size() > 0) {
|
||||
bonusRecordDetailVO.setCuMemberBonusPushList(cuMemberBonusPushList);
|
||||
|
@ -721,7 +742,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
rangeRetailRemark(saOrderExt, cuMemberBonusRange, sourceMemberRangeExt, targetMemberRangeExt);
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) {
|
||||
cuMemberBonus.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailRangeIncome(), cuMemberBonusRange.getPretaxIncome()));
|
||||
// cuMemberBonus.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailRangeIncome(), cuMemberBonusRange.getPretaxIncome()));
|
||||
setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange);
|
||||
}
|
||||
memberBonusRangeList.add(cuMemberBonusRange);
|
||||
|
@ -741,7 +762,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
oriRetailRangeRemark(saOrderExt, oriMemberBonusRange, sourceMemberRangeExt, targetMemberRangeExt);
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, oriMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == oriMemberBonusRange.getIncomeStatus()) {
|
||||
cuMemberBonus.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailSameLevelIncome(), oriMemberBonusRange.getPretaxIncome()));
|
||||
// cuMemberBonus.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailSameLevelIncome(), oriMemberBonusRange.getPretaxIncome()));
|
||||
setRetailTotal(bdBonusDeduct, cuMemberBonus, oriMemberBonusRange);
|
||||
}
|
||||
memberBonusRangeList.add(oriMemberBonusRange);
|
||||
|
@ -930,26 +951,44 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* 计算阶段收益 -- 精品专区
|
||||
* 计算一阶段收益 -- 精品专区、商城专区
|
||||
*/
|
||||
private void calculateStageIncome(List<CuMemberBonusStage> cuMemberBonusStageList, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
private List<CuMemberRetailDetail> calculateStageIncome(List<CuMemberBonusStage> cuMemberBonusStageList, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
BonusConfigDTO bonusConfigDTO, Integer period,
|
||||
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, SaOrderExt saOrderExt,
|
||||
Date settleDate, String rangeTableName, String rangeDetailTableName, EBonusStage eBonusStage) {
|
||||
// 订单金额除50取整,为新増点位数量
|
||||
int newPointInt = saOrderExt.getOrderAmount().divide(RetailConstants.POINT_VAL, 0, RoundingMode.DOWN).intValue();
|
||||
if (newPointInt == 0) {
|
||||
// 当前精品专区订单不足生成点位
|
||||
return;
|
||||
}
|
||||
|
||||
Date settleDate, String rangeTableName, String rangeDetailTableName) {
|
||||
List<CuMemberRetailDetail> returnRetailDetailList = new ArrayList<>();
|
||||
// 订单会员
|
||||
CuMemberRetailRangeExt sourceMember = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||
if (null == sourceMember) {
|
||||
log.error("阶段收益处理失败,订单会员不存在. orderCode: {}, pkMember: {}", saOrderExt.getOrderCode(), saOrderExt.getPkMember());
|
||||
return returnRetailDetailList;
|
||||
}
|
||||
|
||||
int newPointInt;
|
||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
||||
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
|
||||
// 精品专区按订单金额计算
|
||||
// 订单金额除50取整,为新増点位数量
|
||||
newPointInt = saOrderExt.getOrderAmount().divide(RetailConstants.POINT_VAL, 0, RoundingMode.DOWN).intValue();
|
||||
} else {
|
||||
// 商城专区按累计业绩处理
|
||||
BigDecimal repPvBalance = sourceMember.getRepPvBalance().add(saOrderExt.getOrderAchieve());
|
||||
newPointInt = repPvBalance.divide(RetailConstants.POINT_VAL, 0, RoundingMode.DOWN).intValue();
|
||||
sourceMember.setRepPvBalance(repPvBalance.subtract(RetailConstants.POINT_VAL.multiply(new BigDecimal(newPointInt))));
|
||||
}
|
||||
if (newPointInt == 0) {
|
||||
// 当前订单不足生成点位
|
||||
return returnRetailDetailList;
|
||||
}
|
||||
|
||||
// 会员一阶段子点位列表
|
||||
LinkedHashMap<Integer, CuMemberRetailDetail> detailList = sourceMember.getOneDetailMap();
|
||||
if (null == detailList) {
|
||||
detailList = new LinkedHashMap<>();
|
||||
sourceMember.setOneDetailMap(detailList);
|
||||
sourceMember.setTwoDetailMap(new LinkedHashMap<>());
|
||||
sourceMember.setThreeDetailMap(new LinkedHashMap<>());
|
||||
}
|
||||
// 当前会员子点位总数
|
||||
int pointCount = sourceMember.getPointCount();
|
||||
|
@ -968,6 +1007,47 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
.build();
|
||||
detailList.put(newRetailDetail.getChildNode(), newRetailDetail);
|
||||
|
||||
this.handleStageIncome(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
|
||||
memberRangeExtMap, saOrderExt, settleDate, rangeTableName, rangeDetailTableName, EBonusStage.ONE,
|
||||
sourceMember, newRetailDetail, returnRetailDetailList);
|
||||
}
|
||||
sourceMember.setPointCount(sourceMember.getPointCount() + newPointInt);
|
||||
return returnRetailDetailList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算二、三阶段收益
|
||||
*/
|
||||
private List<CuMemberRetailDetail> calculateStageIncomeTwoThree(List<CuMemberBonusStage> cuMemberBonusStageList, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
BonusConfigDTO bonusConfigDTO, Integer period,
|
||||
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
||||
Date settleDate, String rangeTableName, String rangeDetailTableName, EBonusStage eBonusStage,
|
||||
List<CuMemberRetailDetail> stageList) {
|
||||
List<CuMemberRetailDetail> returnRetailDetailList = new ArrayList<>();
|
||||
for (CuMemberRetailDetail memberRetailDetail : stageList) {
|
||||
// 订单会员
|
||||
CuMemberRetailRangeExt sourceMember = memberRangeExtMap.get(memberRetailDetail.getPkMember());
|
||||
if (null == sourceMember) {
|
||||
log.error("阶段收益处理失败,{}会员不存在. pkMember: {}", eBonusStage.getLabel(), memberRetailDetail.getPkMember());
|
||||
return returnRetailDetailList;
|
||||
}
|
||||
|
||||
this.handleStageIncome(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
|
||||
memberRangeExtMap, null, settleDate, rangeTableName, rangeDetailTableName, eBonusStage,
|
||||
sourceMember, memberRetailDetail, returnRetailDetailList);
|
||||
}
|
||||
return returnRetailDetailList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理阶段收益(一、二、三阶段)
|
||||
*/
|
||||
private void handleStageIncome(List<CuMemberBonusStage> cuMemberBonusStageList, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
BonusConfigDTO bonusConfigDTO, Integer period,
|
||||
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, SaOrderExt saOrderExt,
|
||||
Date settleDate, String rangeTableName, String rangeDetailTableName, EBonusStage eBonusStage,
|
||||
CuMemberRetailRangeExt sourceMember, CuMemberRetailDetail newRetailDetail,
|
||||
List<CuMemberRetailDetail> returnRetailDetailList) {
|
||||
// 阶段奖金处理列表
|
||||
List<BonusStageData> bonusStageDataList = new ArrayList<>();
|
||||
// 推荐人
|
||||
|
@ -981,7 +1061,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
pkParent = targetMember.getPkParent();
|
||||
|
||||
// 推荐人一阶段子点位列表
|
||||
LinkedHashMap<Integer, CuMemberRetailDetail> parentDetailList = targetMember.getOneDetailMap();
|
||||
LinkedHashMap<Integer, CuMemberRetailDetail> parentDetailList = null;
|
||||
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
|
||||
parentDetailList = targetMember.getOneDetailMap();
|
||||
} else if (EBonusStage.TWO.getValue() == eBonusStage.getValue()) {
|
||||
parentDetailList = targetMember.getTwoDetailMap();
|
||||
} else if (EBonusStage.THREE.getValue() == eBonusStage.getValue()) {
|
||||
parentDetailList = targetMember.getThreeDetailMap();
|
||||
}
|
||||
if (CollectionUtil.isEmpty(parentDetailList)) {
|
||||
// 推荐人没有未完成点位,继续往上找
|
||||
continue;
|
||||
|
@ -1018,8 +1105,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(bonusStageData.getTargetPkMember());
|
||||
// 会员奖金数据
|
||||
CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMember.getPkMember(), targetMember.getIncomeStatus(),
|
||||
targetMember.getPkSettleCountry(), targetMember.getPkRate() == null ? saOrderExt.getPkRate() : targetMember.getPkRate());
|
||||
|
||||
targetMember.getPkSettleCountry(), targetMember.getPkRate() == null ? (saOrderExt != null ? saOrderExt.getPkRate() : 0) : targetMember.getPkRate());
|
||||
// 阶段奖金
|
||||
int pkBonusItem = getPkBonusItems(bonusConfigDTO, targetMember.getPkSettleCountry(), EBonusItems.STAGE_INCOME.getValue());
|
||||
// 阶段收益明细
|
||||
|
@ -1028,16 +1114,31 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
cuMemberBonusStage.setChildNode(bonusStageData.getTargetChildNode());
|
||||
cuMemberBonusStage.setStage(bonusStageData.getStage());
|
||||
cuMemberBonusStage.setStageNum(bonusStageData.getStageNum());
|
||||
cuMemberBonusStage.setPkSourceMember(sourceMember.getPkMember());
|
||||
stageIncomeRemark(saOrderExt, cuMemberBonusStage, sourceMember, targetMember);
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusStage, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusStage, saOrderExt != null ? saOrderExt.getOrderAmount() : null, saOrderExt != null ? saOrderExt.getInExchangeRate() : null);
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusStage.getIncomeStatus()) {
|
||||
cuMemberBonus.setStoreIncome(ComputeUtil.computeAdd(cuMemberBonus.getStoreIncome(), cuMemberBonusStage.getPretaxIncome()));
|
||||
setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusStage);
|
||||
}
|
||||
cuMemberBonusStageList.add(cuMemberBonusStage);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 升阶段数据
|
||||
if (EBonusStage.ONE.getValue() == bonusStageData.getStage()) {
|
||||
// 一阶段需要处理升阶段
|
||||
CuMemberRetailDetail twoRetailDetail = bonusStageData.getTwoRetailDetail();
|
||||
targetMember.getTwoDetailMap().put(twoRetailDetail.getChildNode(), twoRetailDetail);
|
||||
returnRetailDetailList.add(twoRetailDetail);
|
||||
} else if (EBonusStage.TWO.getValue() == bonusStageData.getStage()) {
|
||||
// 二阶段需要处理升阶段
|
||||
CuMemberRetailDetail threeRetailDetail = bonusStageData.getThreeRetailDetail();
|
||||
targetMember.getThreeDetailMap().put(threeRetailDetail.getChildNode(), threeRetailDetail);
|
||||
returnRetailDetailList.add(threeRetailDetail);
|
||||
} else if (EBonusStage.THREE.getValue() == bonusStageData.getStage()) {
|
||||
// TODO 三阶段需要赠送点位
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ import com.hzs.common.domain.member.base.CuMember;
|
|||
import com.hzs.common.domain.member.bonus.*;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.report.order.IPerformanceSummaryServiceApi;
|
||||
import com.hzs.system.config.IBonusItemsServiceApi;
|
||||
import com.hzs.system.config.dto.BonusConfigDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
@ -39,6 +40,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
|
||||
@DubboReference
|
||||
IBonusItemsServiceApi iBonusItemsServiceApi;
|
||||
@DubboReference
|
||||
IPerformanceSummaryServiceApi iPerformanceSummaryServiceApi;
|
||||
|
||||
@Autowired
|
||||
private IBonusOrderService iBonusOrderService;
|
||||
|
@ -107,6 +110,12 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
log.error("奖金结算异常", e);
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
try {
|
||||
// 调用统计业绩汇总接口
|
||||
iPerformanceSummaryServiceApi.createDataByDay(settleDate);
|
||||
} catch (Exception e) {
|
||||
log.error("每日数据业绩汇总异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -62,6 +62,8 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
private CuMemberBonusPushMapper cuMemberBonusPushMapper;
|
||||
@Resource
|
||||
private CuMemberBonusRangeMapper cuMemberBonusRangeMapper;
|
||||
@Resource
|
||||
private CuMemberBonusStageMapper cuMemberBonusStageMapper;
|
||||
|
||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
||||
|
||||
|
@ -111,36 +113,36 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
|| DateUtils.compareDateTimeAfter(DateUtils.currentDateTime(), compareDate)) {
|
||||
CuMemberBonusExt cuMemberBonusExt = new CuMemberBonusExt();
|
||||
cuMemberBonusExt.setSettleDate(endDate);
|
||||
cuMemberBonusExt.setServiceSpend(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setBackPoints(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setServiceSpend(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setBackPoints(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setDirectIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setExpandIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setCoachIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setShareIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setServiceIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setBackPoints(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setServiceSpend(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setPurRealSubtotal(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurPushIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurExpandIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurRealSubtotal(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurCoupon(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurCouponShare(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurCouponSubtotal(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setExpandIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setCoachIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setShareIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setServiceIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setBackPoints(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setServiceSpend(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setPurRealSubtotal(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurPushIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurExpandIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurRealSubtotal(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurCoupon(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurCouponShare(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurCouponSubtotal(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setGlobalPoints(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setCarAwardPoints(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setCarAwardPoints(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRealIncomeTotal(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setStoreIncome(BigDecimal.ZERO);
|
||||
|
||||
cuMemberBonusExt.setRepurRangeIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailRangeIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailSameLevelIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailAreaIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailBenefitRangeIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailMonthRepurchaseIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailBenefitAvgIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailBenefitIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailRealSubtotal(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurRangeIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailRangeIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailSameLevelIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailAreaIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailBenefitRangeIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailMonthRepurchaseIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailBenefitAvgIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailBenefitIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailRealSubtotal(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailBenefitIncomeTotal(BigDecimal.ZERO);
|
||||
memberBonusExtList.add(cuMemberBonusExt);
|
||||
}
|
||||
|
@ -165,35 +167,35 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
BigDecimal inExchangeRate = currency.getData().getInExchangeRate();
|
||||
for (CuMemberBonusExt cuMemberBonusExt : cuMemberBonusExtList) {
|
||||
cuMemberBonusExt.setDirectIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getDirectIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setExpandIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getExpandIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setCoachIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getCoachIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setShareIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getShareIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setServiceIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getServiceIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setBackPoints(ComputeUtil.computeMultiply(cuMemberBonusExt.getBackPoints(), inExchangeRate));
|
||||
cuMemberBonusExt.setServiceSpend(ComputeUtil.computeMultiply(cuMemberBonusExt.getServiceSpend(), inExchangeRate));
|
||||
cuMemberBonusExt.setPurRealSubtotal(ComputeUtil.computeMultiply(cuMemberBonusExt.getPurRealSubtotal(), inExchangeRate));
|
||||
cuMemberBonusExt.setRepurPushIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurPushIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setRepurExpandIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurExpandIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setRepurRealSubtotal(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurRealSubtotal(), inExchangeRate));
|
||||
cuMemberBonusExt.setRepurCoupon(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurCoupon(), inExchangeRate));
|
||||
cuMemberBonusExt.setRepurCouponShare(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurCouponShare(), inExchangeRate));
|
||||
cuMemberBonusExt.setRepurCouponSubtotal(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurCouponSubtotal(), inExchangeRate));
|
||||
// cuMemberBonusExt.setExpandIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getExpandIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setCoachIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getCoachIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setShareIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getShareIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setServiceIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getServiceIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setBackPoints(ComputeUtil.computeMultiply(cuMemberBonusExt.getBackPoints(), inExchangeRate));
|
||||
// cuMemberBonusExt.setServiceSpend(ComputeUtil.computeMultiply(cuMemberBonusExt.getServiceSpend(), inExchangeRate));
|
||||
// cuMemberBonusExt.setPurRealSubtotal(ComputeUtil.computeMultiply(cuMemberBonusExt.getPurRealSubtotal(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRepurPushIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurPushIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRepurExpandIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurExpandIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRepurRealSubtotal(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurRealSubtotal(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRepurCoupon(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurCoupon(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRepurCouponShare(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurCouponShare(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRepurCouponSubtotal(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurCouponSubtotal(), inExchangeRate));
|
||||
cuMemberBonusExt.setGlobalPoints(ComputeUtil.computeMultiply(cuMemberBonusExt.getGlobalPoints(), inExchangeRate));
|
||||
cuMemberBonusExt.setCarAwardPoints(ComputeUtil.computeMultiply(cuMemberBonusExt.getCarAwardPoints(), inExchangeRate));
|
||||
// cuMemberBonusExt.setCarAwardPoints(ComputeUtil.computeMultiply(cuMemberBonusExt.getCarAwardPoints(), inExchangeRate));
|
||||
cuMemberBonusExt.setRealIncomeTotal(ComputeUtil.computeMultiply(cuMemberBonusExt.getRealIncomeTotal(), inExchangeRate));
|
||||
cuMemberBonusExt.setStoreIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getStoreIncome(), inExchangeRate));
|
||||
|
||||
cuMemberBonusExt.setRepurRangeIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurRangeIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setRetailRangeIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailRangeIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setRetailSameLevelIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailSameLevelIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setRetailAreaIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailAreaIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setRetailBenefitRangeIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailBenefitRangeIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setRetailMonthRepurchaseIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailMonthRepurchaseIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setRetailBenefitAvgIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailBenefitAvgIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setRetailBenefitIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailBenefitIncome(), inExchangeRate));
|
||||
cuMemberBonusExt.setRetailRealSubtotal(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailRealSubtotal(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRepurRangeIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRepurRangeIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRetailRangeIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailRangeIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRetailSameLevelIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailSameLevelIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRetailAreaIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailAreaIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRetailBenefitRangeIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailBenefitRangeIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRetailMonthRepurchaseIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailMonthRepurchaseIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRetailBenefitAvgIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailBenefitAvgIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRetailBenefitIncome(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailBenefitIncome(), inExchangeRate));
|
||||
// cuMemberBonusExt.setRetailRealSubtotal(ComputeUtil.computeMultiply(cuMemberBonusExt.getRetailRealSubtotal(), inExchangeRate));
|
||||
// 福利分红总计
|
||||
cuMemberBonusExt.setRetailBenefitIncomeTotal(cuMemberBonusExt.getRetailBenefitAvgIncome().add(cuMemberBonusExt.getRetailBenefitIncome()));
|
||||
// cuMemberBonusExt.setRetailBenefitIncomeTotal(cuMemberBonusExt.getRetailBenefitAvgIncome().add(cuMemberBonusExt.getRetailBenefitIncome()));
|
||||
}
|
||||
return cuMemberBonusExtList;
|
||||
}
|
||||
|
@ -201,33 +203,33 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
@Override
|
||||
public void calculateBonusTotal(CuMemberBonusExt cuMemberBonusExt, CuMemberBonusExt memberBonusExt) {
|
||||
cuMemberBonusExt.setDirectIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getDirectIncome(), memberBonusExt.getDirectIncome()));
|
||||
cuMemberBonusExt.setExpandIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getExpandIncome(), memberBonusExt.getExpandIncome()));
|
||||
cuMemberBonusExt.setShareIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getShareIncome(), memberBonusExt.getShareIncome()));
|
||||
cuMemberBonusExt.setServiceIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getServiceIncome(), memberBonusExt.getServiceIncome()));
|
||||
cuMemberBonusExt.setBackPoints(ComputeUtil.computeAdd(cuMemberBonusExt.getBackPoints(), memberBonusExt.getBackPoints()));
|
||||
cuMemberBonusExt.setServiceSpend(ComputeUtil.computeAdd(cuMemberBonusExt.getServiceSpend(), memberBonusExt.getServiceSpend()));
|
||||
cuMemberBonusExt.setPurRealSubtotal(ComputeUtil.computeAdd(cuMemberBonusExt.getPurRealSubtotal(), memberBonusExt.getPurRealSubtotal()));
|
||||
cuMemberBonusExt.setRepurPushIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurPushIncome(), memberBonusExt.getRepurPushIncome()));
|
||||
cuMemberBonusExt.setRepurExpandIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurExpandIncome(), memberBonusExt.getRepurExpandIncome()));
|
||||
cuMemberBonusExt.setRepurRealSubtotal(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurRealSubtotal(), memberBonusExt.getRepurRealSubtotal()));
|
||||
cuMemberBonusExt.setRepurCoupon(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurCoupon(), memberBonusExt.getRepurCoupon()));
|
||||
cuMemberBonusExt.setRepurCouponShare(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurCouponShare(), memberBonusExt.getRepurCouponShare()));
|
||||
cuMemberBonusExt.setRepurCouponSubtotal(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurCouponSubtotal(), memberBonusExt.getRepurCouponSubtotal()));
|
||||
// cuMemberBonusExt.setExpandIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getExpandIncome(), memberBonusExt.getExpandIncome()));
|
||||
// cuMemberBonusExt.setShareIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getShareIncome(), memberBonusExt.getShareIncome()));
|
||||
// cuMemberBonusExt.setServiceIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getServiceIncome(), memberBonusExt.getServiceIncome()));
|
||||
// cuMemberBonusExt.setBackPoints(ComputeUtil.computeAdd(cuMemberBonusExt.getBackPoints(), memberBonusExt.getBackPoints()));
|
||||
// cuMemberBonusExt.setServiceSpend(ComputeUtil.computeAdd(cuMemberBonusExt.getServiceSpend(), memberBonusExt.getServiceSpend()));
|
||||
// cuMemberBonusExt.setPurRealSubtotal(ComputeUtil.computeAdd(cuMemberBonusExt.getPurRealSubtotal(), memberBonusExt.getPurRealSubtotal()));
|
||||
// cuMemberBonusExt.setRepurPushIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurPushIncome(), memberBonusExt.getRepurPushIncome()));
|
||||
// cuMemberBonusExt.setRepurExpandIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurExpandIncome(), memberBonusExt.getRepurExpandIncome()));
|
||||
// cuMemberBonusExt.setRepurRealSubtotal(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurRealSubtotal(), memberBonusExt.getRepurRealSubtotal()));
|
||||
// cuMemberBonusExt.setRepurCoupon(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurCoupon(), memberBonusExt.getRepurCoupon()));
|
||||
// cuMemberBonusExt.setRepurCouponShare(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurCouponShare(), memberBonusExt.getRepurCouponShare()));
|
||||
// cuMemberBonusExt.setRepurCouponSubtotal(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurCouponSubtotal(), memberBonusExt.getRepurCouponSubtotal()));
|
||||
cuMemberBonusExt.setGlobalPoints(ComputeUtil.computeAdd(cuMemberBonusExt.getGlobalPoints(), memberBonusExt.getGlobalPoints()));
|
||||
cuMemberBonusExt.setCarAwardPoints(ComputeUtil.computeAdd(cuMemberBonusExt.getCarAwardPoints(), memberBonusExt.getCarAwardPoints()));
|
||||
// cuMemberBonusExt.setCarAwardPoints(ComputeUtil.computeAdd(cuMemberBonusExt.getCarAwardPoints(), memberBonusExt.getCarAwardPoints()));
|
||||
cuMemberBonusExt.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonusExt.getRealIncomeTotal(), memberBonusExt.getRealIncomeTotal()));
|
||||
cuMemberBonusExt.setStoreIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getStoreIncome(), memberBonusExt.getStoreIncome()));
|
||||
|
||||
cuMemberBonusExt.setRepurRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurRangeIncome(), memberBonusExt.getRepurRangeIncome()));
|
||||
cuMemberBonusExt.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailRangeIncome(), memberBonusExt.getRetailRangeIncome()));
|
||||
cuMemberBonusExt.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailSameLevelIncome(), memberBonusExt.getRetailSameLevelIncome()));
|
||||
cuMemberBonusExt.setRetailAreaIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailAreaIncome(), memberBonusExt.getRetailAreaIncome()));
|
||||
cuMemberBonusExt.setRetailBenefitRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailBenefitRangeIncome(), memberBonusExt.getRetailBenefitRangeIncome()));
|
||||
cuMemberBonusExt.setRetailMonthRepurchaseIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailMonthRepurchaseIncome(), memberBonusExt.getRetailMonthRepurchaseIncome()));
|
||||
cuMemberBonusExt.setCoachIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getCoachIncome(), memberBonusExt.getCoachIncome()));
|
||||
cuMemberBonusExt.setRetailBenefitAvgIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailBenefitAvgIncome(), memberBonusExt.getRetailBenefitAvgIncome()));
|
||||
cuMemberBonusExt.setRetailBenefitIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailBenefitIncome(), memberBonusExt.getRetailBenefitIncome()));
|
||||
cuMemberBonusExt.setRetailRealSubtotal(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailRealSubtotal(), memberBonusExt.getRetailRealSubtotal()));
|
||||
// cuMemberBonusExt.setRepurRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurRangeIncome(), memberBonusExt.getRepurRangeIncome()));
|
||||
// cuMemberBonusExt.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailRangeIncome(), memberBonusExt.getRetailRangeIncome()));
|
||||
// cuMemberBonusExt.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailSameLevelIncome(), memberBonusExt.getRetailSameLevelIncome()));
|
||||
// cuMemberBonusExt.setRetailAreaIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailAreaIncome(), memberBonusExt.getRetailAreaIncome()));
|
||||
// cuMemberBonusExt.setRetailBenefitRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailBenefitRangeIncome(), memberBonusExt.getRetailBenefitRangeIncome()));
|
||||
// cuMemberBonusExt.setRetailMonthRepurchaseIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailMonthRepurchaseIncome(), memberBonusExt.getRetailMonthRepurchaseIncome()));
|
||||
// cuMemberBonusExt.setCoachIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getCoachIncome(), memberBonusExt.getCoachIncome()));
|
||||
// cuMemberBonusExt.setRetailBenefitAvgIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailBenefitAvgIncome(), memberBonusExt.getRetailBenefitAvgIncome()));
|
||||
// cuMemberBonusExt.setRetailBenefitIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailBenefitIncome(), memberBonusExt.getRetailBenefitIncome()));
|
||||
// cuMemberBonusExt.setRetailRealSubtotal(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailRealSubtotal(), memberBonusExt.getRetailRealSubtotal()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -239,35 +241,35 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
public CuMemberBonusExt initCuMemberBonus() {
|
||||
CuMemberBonusExt cuMemberBonusExt = new CuMemberBonusExt();
|
||||
cuMemberBonusExt.setDirectIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setExpandIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setExpandNoCapping(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setExpandCapping(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setShareIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setServiceIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setBackPoints(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setServiceSpend(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setPurRealSubtotal(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurPushIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurExpandIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurRealSubtotal(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurCoupon(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurCouponShare(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRepurCouponSubtotal(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setExpandIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setExpandNoCapping(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setExpandCapping(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setShareIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setServiceIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setBackPoints(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setServiceSpend(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setPurRealSubtotal(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurPushIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurExpandIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurRealSubtotal(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurCoupon(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurCouponShare(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurCouponSubtotal(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setStoreIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setGlobalPoints(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setCarAwardPoints(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setCarAwardPoints(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRealIncomeTotal(BigDecimal.ZERO);
|
||||
|
||||
cuMemberBonusExt.setRepurRangeIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailRangeIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailSameLevelIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailAreaIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailBenefitRangeIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailMonthRepurchaseIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setCoachIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailBenefitAvgIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailBenefitIncome(BigDecimal.ZERO);
|
||||
cuMemberBonusExt.setRetailRealSubtotal(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRepurRangeIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailRangeIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailSameLevelIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailAreaIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailBenefitRangeIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailMonthRepurchaseIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setCoachIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailBenefitAvgIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailBenefitIncome(BigDecimal.ZERO);
|
||||
// cuMemberBonusExt.setRetailRealSubtotal(BigDecimal.ZERO);
|
||||
return cuMemberBonusExt;
|
||||
}
|
||||
|
||||
|
@ -398,6 +400,14 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
// MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusRange, MemberBonusDetailSerVO.class);
|
||||
// memberBonusDetailSerVoS.add(memberBonusDetailVO);
|
||||
// });
|
||||
} else if(EBonusItems.STAGE_INCOME.getValue() == bonusItemsValue) {
|
||||
// 阶段收益
|
||||
List<CuMemberBonusDetailExt> cuMemberBonusDetailList = cuMemberBonusStageMapper.queryMemberBonusStageByBonusItemsFoServer(bonusParam);
|
||||
dataTable = getDataTable(cuMemberBonusDetailList);
|
||||
cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> {
|
||||
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusDetail, MemberBonusDetailSerVO.class);
|
||||
memberBonusDetailSerVoS.add(memberBonusDetailVO);
|
||||
});
|
||||
} else {
|
||||
// 其他收益 区域分红、月度分红平均、月度分红加权
|
||||
List<CuMemberBonusDetailExt> cuMemberBonusDetailList = cuMemberBonusDetailMapper.queryMemberBonusDetailByBonusItemsForServer(bonusParam);
|
||||
|
|
|
@ -18,6 +18,7 @@ import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
|||
import com.hzs.common.domain.member.bonus.CuMemberBonus;
|
||||
import com.hzs.common.domain.member.bonus.CuMemberBonusStage;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
@ -29,6 +30,7 @@ import java.util.*;
|
|||
/**
|
||||
* 会员奖金-阶段收益明细表 服务实现类
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStageMapper, CuMemberBonusStage> implements ICuMemberBonusStageService {
|
||||
|
||||
|
@ -71,7 +73,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
public CuMemberBonusStage getCuMemberBonusStage(SaOrderExt saOrderExt, CuMemberRetailRangeExt cuMemberRetailRange, CuMemberBonus cuMemberBonus, Integer pkBonusItems) {
|
||||
CuMemberBonusStage cuMemberBonusStage = CuMemberBonusStage.builder()
|
||||
.pkBonus(cuMemberBonus.getPkId())
|
||||
.pkOrder(saOrderExt.getPkId())
|
||||
.pkOrder(null != saOrderExt ? saOrderExt.getPkId() : 0)
|
||||
.pkBonusItems(pkBonusItems)
|
||||
.incomeStatus(cuMemberRetailRange.getIncomeStatus())
|
||||
.calType(ECalType.VALUE.getValue())
|
||||
|
@ -117,8 +119,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
for (String suffix : BonusConstants.FIELD_LIST) {
|
||||
Field pointMemberField = BonusConstants.FIELD_MAP.get(BonusConstants.POINT_MEMBER_FIELD_NAME + suffix);
|
||||
Field pointField = BonusConstants.FIELD_MAP.get(BonusConstants.POINT_FIELD_NAME + suffix);
|
||||
if (ReflectUtil.getFieldValue(targetRetailDetail, pointMemberField).equals(newParentRetailDetail.getPkMember())
|
||||
&& ReflectUtil.getFieldValue(targetRetailDetail, pointField).equals(newParentRetailDetail.getChildNode())) {
|
||||
if (newParentRetailDetail.getPkMember().equals(ReflectUtil.getFieldValue(targetRetailDetail, pointMemberField))
|
||||
&& newParentRetailDetail.getChildNode().equals(ReflectUtil.getFieldValue(targetRetailDetail, pointField))) {
|
||||
// 中间点位在目标点位的位置,根据位置获取新点位填充的位置
|
||||
switch (suffix) {
|
||||
case BonusConstants.POINT_11:
|
||||
|
@ -257,13 +259,15 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
* 填充点位
|
||||
*/
|
||||
@Override
|
||||
public boolean fillRetailDetail(CuMemberRetailDetail targetRetailDetail, String point,
|
||||
public void fillRetailDetail(CuMemberRetailDetail targetRetailDetail, String point,
|
||||
CuMemberRetailDetail sourceRetailDetail, Date settleDate, EBonusStage eBonusStage,
|
||||
List<BonusStageData> bonusStageDataList) {
|
||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + point, sourceRetailDetail.getPkMember());
|
||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + point, sourceRetailDetail.getChildNode());
|
||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.UPDATE_FLAG, 0);
|
||||
|
||||
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()
|
||||
|| EBonusStage.TWO.getValue() == eBonusStage.getValue()) {
|
||||
switch (point) {
|
||||
case BonusConstants.POINT_31:
|
||||
case BonusConstants.POINT_32:
|
||||
|
@ -284,33 +288,66 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
if (isFinish) {
|
||||
targetRetailDetail.setStageStatus(EBonusStageStatus.YES.getValue());
|
||||
targetRetailDetail.setStageDate(settleDate);
|
||||
// TODO 统一处理第二阶段还是 fillRetailDetail 方法进行处理
|
||||
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
|
||||
// 一阶段,全满发放阶段奖
|
||||
// 返回奖金收益处理数据
|
||||
bonusStageDataList.add(BonusStageData.builder()
|
||||
BonusStageData bonusStageData = BonusStageData.builder()
|
||||
.bonusIncome(BonusConstants.ONE_BONUS)
|
||||
.targetPkMember(targetRetailDetail.getPkMember())
|
||||
.targetChildNode(targetRetailDetail.getChildNode())
|
||||
.stage(eBonusStage.getValue())
|
||||
.stageNum(14)
|
||||
.build();
|
||||
// 生成二阶段点位
|
||||
bonusStageData.setTwoRetailDetail(CuMemberRetailDetail.builder()
|
||||
.pkMember(targetRetailDetail.getPkMember())
|
||||
.childNode(targetRetailDetail.getChildNode())
|
||||
.pkParent(targetRetailDetail.getPkParent())
|
||||
.stage(EBonusStage.TWO.getValue())
|
||||
.stageStatus(EBonusStageStatus.NO.getValue())
|
||||
.pointType(targetRetailDetail.getPointType())
|
||||
.pointGift(targetRetailDetail.getPointGift())
|
||||
.creationTime(settleDate)
|
||||
.updateBool(0)
|
||||
.build());
|
||||
} else if (EBonusStage.TWO.getValue() == eBonusStage.getValue()) {
|
||||
bonusStageDataList.add(bonusStageData);
|
||||
} else {
|
||||
// 二阶段,全满发放阶段奖
|
||||
// 返回奖金收益处理数据
|
||||
bonusStageDataList.add(BonusStageData.builder()
|
||||
BonusStageData bonusStageData = BonusStageData.builder()
|
||||
.bonusIncome(BonusConstants.TWO_BONUS)
|
||||
.targetPkMember(targetRetailDetail.getPkMember())
|
||||
.targetChildNode(targetRetailDetail.getChildNode())
|
||||
.stage(eBonusStage.getValue())
|
||||
.stageNum(14)
|
||||
.build();
|
||||
bonusStageData.setThreeRetailDetail(CuMemberRetailDetail.builder()
|
||||
.pkMember(targetRetailDetail.getPkMember())
|
||||
.childNode(targetRetailDetail.getChildNode())
|
||||
.pkParent(targetRetailDetail.getPkParent())
|
||||
.stage(EBonusStage.THREE.getValue())
|
||||
.stageStatus(EBonusStageStatus.NO.getValue())
|
||||
.pointType(targetRetailDetail.getPointType())
|
||||
.pointGift(targetRetailDetail.getPointGift())
|
||||
.creationTime(settleDate)
|
||||
.updateBool(0)
|
||||
.build());
|
||||
bonusStageDataList.add(bonusStageData);
|
||||
}
|
||||
return true;
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
} else {
|
||||
// TODO 三阶段发放特殊处理
|
||||
// TODO 三阶段填充满,判断是否需要赠送点位
|
||||
switch (point) {
|
||||
case BonusConstants.POINT_11:
|
||||
case BonusConstants.POINT_12:
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -347,7 +384,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
// 新点位的上第二层
|
||||
CuMemberRetailRangeExt firstMemberRetail = memberRangeExtMap.get(newParentRetailDetail.getPointMemberFirst());
|
||||
if (null != firstMemberRetail) {
|
||||
CuMemberRetailDetail memberDetail = firstMemberRetail.getOneDetailMap().get(newParentRetailDetail.getPointFirst());
|
||||
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(firstMemberRetail, eBonusStage).get(newParentRetailDetail.getPointFirst());
|
||||
if (null != memberDetail) {
|
||||
newRetailDetail.setPointMemberSecond(newParentRetailDetail.getPointMemberFirst());
|
||||
newRetailDetail.setPointSecond(newParentRetailDetail.getPointFirst());
|
||||
|
@ -359,7 +396,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
// 新点位的上第三层
|
||||
CuMemberRetailRangeExt secondMemberRetail = memberRangeExtMap.get(newParentRetailDetail.getPointMemberSecond());
|
||||
if (null != secondMemberRetail) {
|
||||
CuMemberRetailDetail memberDetail = secondMemberRetail.getOneDetailMap().get(newParentRetailDetail.getPointSecond());
|
||||
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(firstMemberRetail, eBonusStage).get(newParentRetailDetail.getPointSecond());
|
||||
if (null != memberDetail) {
|
||||
newRetailDetail.setPointMemberThird(newParentRetailDetail.getPointMemberSecond());
|
||||
newRetailDetail.setPointThird(newParentRetailDetail.getPointSecond());
|
||||
|
@ -418,7 +455,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
// 新点位的上第三层
|
||||
CuMemberRetailRangeExt thirdMemberRetail = memberRangeExtMap.get(newParentRetailDetail.getPointMemberFirst());
|
||||
if (null != thirdMemberRetail) {
|
||||
CuMemberRetailDetail memberDetail = thirdMemberRetail.getOneDetailMap().get(newParentRetailDetail.getPointFirst());
|
||||
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(thirdMemberRetail, eBonusStage).get(newParentRetailDetail.getPointFirst());
|
||||
if (null != memberDetail) {
|
||||
newRetailDetail.setPointMemberThird(newParentRetailDetail.getPointMemberFirst());
|
||||
newRetailDetail.setPointThird(newParentRetailDetail.getPointFirst());
|
||||
|
@ -430,7 +467,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
// 新点位的上第一层
|
||||
CuMemberRetailRangeExt firstMemberRetail = memberRangeExtMap.get(downFirstMember);
|
||||
if (null != firstMemberRetail) {
|
||||
CuMemberRetailDetail memberDetail = firstMemberRetail.getOneDetailMap().get(downFirstPoint);
|
||||
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(firstMemberRetail, eBonusStage).get(downFirstPoint);
|
||||
if (null != memberDetail) {
|
||||
newRetailDetail.setPointMemberFirst(memberDetail.getPkMember());
|
||||
newRetailDetail.setPointFirst(memberDetail.getChildNode());
|
||||
|
@ -511,7 +548,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
// 新点位的上第二层
|
||||
CuMemberRetailRangeExt secondMemberRetail = memberRangeExtMap.get(downSecondMember);
|
||||
if (null != secondMemberRetail) {
|
||||
CuMemberRetailDetail memberDetail = secondMemberRetail.getOneDetailMap().get(downSecondPoint);
|
||||
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(secondMemberRetail, eBonusStage).get(downSecondPoint);
|
||||
if (null != memberDetail) {
|
||||
newRetailDetail.setPointMemberSecond(newParentRetailDetail.getPkMember());
|
||||
newRetailDetail.setPointSecond(newParentRetailDetail.getChildNode());
|
||||
|
@ -523,7 +560,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
// 新点位的上第一层
|
||||
CuMemberRetailRangeExt firstMemberRetail = memberRangeExtMap.get(downFirstMember);
|
||||
if (null != firstMemberRetail) {
|
||||
CuMemberRetailDetail memberDetail = firstMemberRetail.getOneDetailMap().get(downFirstPoint);
|
||||
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(firstMemberRetail, eBonusStage).get(downFirstPoint);
|
||||
if (null != memberDetail) {
|
||||
newRetailDetail.setPointMemberFirst(newParentRetailDetail.getPkMember());
|
||||
newRetailDetail.setPointFirst(newParentRetailDetail.getChildNode());
|
||||
|
@ -708,4 +745,16 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private LinkedHashMap<Integer, CuMemberRetailDetail> getRetailDetailMap(CuMemberRetailRangeExt memberRetail, EBonusStage eBonusStage) {
|
||||
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
|
||||
return memberRetail.getOneDetailMap();
|
||||
} else if (EBonusStage.TWO.getValue() == eBonusStage.getValue()) {
|
||||
return memberRetail.getTwoDetailMap();
|
||||
} else if (EBonusStage.THREE.getValue() == eBonusStage.getValue()) {
|
||||
return memberRetail.getThreeDetailMap();
|
||||
}
|
||||
return new LinkedHashMap<>();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.hzs.bonus.bonus.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.hzs.common.core.annotation.Excel;
|
||||
import lombok.Data;
|
||||
|
@ -90,99 +91,34 @@ public class CuMemberBonusVO implements Serializable {
|
|||
* 需要转换人民币的
|
||||
*/
|
||||
public static final String[] INCOME_ARRAY = new String[]{
|
||||
"backPoints", "retailRangeIncome", "retailSameLevelIncome", "retailAreaIncome",
|
||||
"retailBenefitRangeIncome", "retailMonthRepurchaseIncome", "coachIncome", "retailBenefitAvgIncome",
|
||||
"retailBenefitIncome", "retailRealSubtotal", "realIncomeTotal", "repurRangeIncome"};
|
||||
"directIncome", "storeIncome", "globalPoints", "realIncomeTotal", "realIncomeTotalOri"};
|
||||
|
||||
|
||||
private BigDecimal retailRangeIncome;
|
||||
|
||||
/**
|
||||
* 直推收益
|
||||
* 注册直推收益-众康
|
||||
*/
|
||||
@Excel(name = "直推收益", scale = 2)
|
||||
private BigDecimal retailRangeIncomeOri;
|
||||
|
||||
private BigDecimal retailSameLevelIncome;
|
||||
/**
|
||||
* 平级收益
|
||||
*/
|
||||
@Excel(name = "平级收益", scale = 2)
|
||||
private BigDecimal retailSameLevelIncomeOri;
|
||||
|
||||
private BigDecimal retailAreaIncome;
|
||||
/**
|
||||
* 区域分红
|
||||
*/
|
||||
@Excel(name = "区域分红", scale = 2)
|
||||
private BigDecimal retailAreaIncomeOri;
|
||||
private BigDecimal directIncome;
|
||||
|
||||
/**
|
||||
* 新零售福利级差收益
|
||||
* 阶段收益-众康
|
||||
*/
|
||||
private BigDecimal retailBenefitRangeIncome;
|
||||
@Excel(name = "月度福利级差收益", scale = 2)
|
||||
private BigDecimal retailBenefitRangeIncomeOri;
|
||||
@Excel(name = "阶段收益", scale = 2)
|
||||
private BigDecimal storeIncome;
|
||||
|
||||
/**
|
||||
* 新零售复购级差收益
|
||||
* 复购见点收益-众康
|
||||
*/
|
||||
private BigDecimal retailMonthRepurchaseIncome;
|
||||
@Excel(name = "月度复购级差收益", scale = 2)
|
||||
private BigDecimal retailMonthRepurchaseIncomeOri;
|
||||
|
||||
/**
|
||||
* 培育津贴
|
||||
*/
|
||||
private BigDecimal coachIncome;
|
||||
@Excel(name = "培育津贴", scale = 2)
|
||||
private BigDecimal coachIncomeOri;
|
||||
|
||||
/**
|
||||
* 新零售福利平均收益
|
||||
*/
|
||||
private BigDecimal retailBenefitAvgIncome;
|
||||
@Excel(name = " 福利平均收益", scale = 2)
|
||||
private BigDecimal retailBenefitAvgIncomeOri;
|
||||
|
||||
/**
|
||||
* 新零售福利加权收益
|
||||
*/
|
||||
private BigDecimal retailBenefitIncome;
|
||||
@Excel(name = " 福利加权收益", scale = 2)
|
||||
private BigDecimal retailBenefitIncomeOri;
|
||||
|
||||
/**
|
||||
* 复购级差收益
|
||||
*/
|
||||
private BigDecimal repurRangeIncome;
|
||||
@Excel(name = "复购级差收益", scale = 2)
|
||||
private BigDecimal repurRangeIncomeOri;
|
||||
|
||||
/**
|
||||
* 商城重消
|
||||
*/
|
||||
@Excel(name = "商城重消", scale = 2)
|
||||
private BigDecimal backPointsOri;
|
||||
|
||||
/**
|
||||
* 商城重消
|
||||
*/
|
||||
private BigDecimal backPoints;
|
||||
|
||||
/**
|
||||
* 新零售收益小计
|
||||
*/
|
||||
private BigDecimal retailRealSubtotal;
|
||||
|
||||
// @Excel(name = "收益小计", scale = 2)
|
||||
private BigDecimal retailRealSubtotalOri;
|
||||
@Excel(name = "见点收益", scale = 2)
|
||||
private BigDecimal globalPoints;
|
||||
|
||||
/**
|
||||
* 实发收益总计
|
||||
*/
|
||||
@Excel(name = "实发收益总计", scale = 2)
|
||||
private BigDecimal realIncomeTotalOri;
|
||||
|
||||
/**
|
||||
* 实发收益总计
|
||||
*/
|
||||
|
|
|
@ -20,6 +20,22 @@ public class BonusConstants {
|
|||
* 二阶段奖金 -- 满14,发220
|
||||
*/
|
||||
public static final BigDecimal TWO_BONUS = new BigDecimal("220");
|
||||
/**
|
||||
* 三阶段一层奖金 -- 第一层满2,发160
|
||||
*/
|
||||
public static final BigDecimal THREE_BONUS_1 = new BigDecimal("160");
|
||||
/**
|
||||
* 三阶段二层奖金 -- 第二层满4,发320
|
||||
*/
|
||||
public static final BigDecimal THREE_BONUS_2 = new BigDecimal("320");
|
||||
/**
|
||||
* 三阶段三层前7点奖金 -- 发130
|
||||
*/
|
||||
public static final BigDecimal THREE_BONUS_3 = new BigDecimal("130");
|
||||
/**
|
||||
* 三阶段三层前最后一点奖金 -- 发155
|
||||
*/
|
||||
public static final BigDecimal THREE_BONUS_38 = new BigDecimal("155");
|
||||
|
||||
public static final String POINT_11 = "11";
|
||||
public static final String POINT_12 = "12";
|
||||
|
|
|
@ -67,7 +67,7 @@ dubbo:
|
|||
port: -1
|
||||
cloud:
|
||||
# 订阅服务
|
||||
subscribed-services: bd-system, bd-third, bd-sale, bd-member
|
||||
subscribed-services: bd-system, bd-third, bd-sale, bd-member, bd-report
|
||||
scan:
|
||||
# dubbo 服务扫描包(开启之后才会对外提供服务)
|
||||
base-packages: com.hzs.bonus
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
<result column="rep_team_new_amount" property="repTeamNewAmount"/>
|
||||
<result column="rep_team_new_pv" property="repTeamNewPv"/>
|
||||
<result column="point_count" property="pointCount"/>
|
||||
<result column="rep_pv_balance" property="repPvBalance"/>
|
||||
|
||||
<result column="AWARDS_VALUE" property="awardsValue"/>
|
||||
<result column="AWARDS_NAME" property="awardsName"/>
|
||||
|
@ -92,7 +93,9 @@
|
|||
rep_consume_new_amount = 0,
|
||||
rep_consume_new_pv = 0,
|
||||
rep_team_new_amount = 0,
|
||||
rep_team_new_pv = 0
|
||||
rep_team_new_pv = 0,
|
||||
point_count = 0,
|
||||
rep_pv_balance = 0
|
||||
</update>
|
||||
|
||||
<update id="mergeMemberRetailRangeByYesterday">
|
||||
|
@ -103,7 +106,8 @@
|
|||
consume_amount, month_consume_amount,
|
||||
team_consume_pv, team_month_pv,
|
||||
team_consume_amount, team_month_amount,
|
||||
recommend_num, team_num, big_team_pv, small_team_pv
|
||||
recommend_num, team_num, big_team_pv, small_team_pv,
|
||||
point_count, rep_pv_balance
|
||||
from ${yesterdayRangeTableName}
|
||||
) b
|
||||
on (a.pk_member = b.pk_member)
|
||||
|
@ -115,7 +119,8 @@
|
|||
a.team_consume_pv = b.team_consume_pv,
|
||||
a.team_consume_amount = b.team_consume_amount,
|
||||
a.recommend_num = b.recommend_num, a.team_num = b.team_num,
|
||||
a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv
|
||||
a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv,
|
||||
a.point_count = b.point_count, a.rep_pv_balance = b.rep_pv_balance
|
||||
<if test="isSameMonth == 0">
|
||||
,a.month_consume_pv = b.month_consume_pv
|
||||
,a.month_consume_amount = b.month_consume_amount
|
||||
|
@ -170,7 +175,10 @@
|
|||
x.point_second,
|
||||
x.point_member_second,
|
||||
x.point_third,
|
||||
x.point_member_third
|
||||
x.point_member_third,
|
||||
x.third_bonus_1,
|
||||
x.third_bonus_2,
|
||||
x.third_bonus_3
|
||||
from ${yesterdayDetailTableName} x
|
||||
left join cu_member cm
|
||||
on cm.pk_id = x.pk_member
|
||||
|
@ -219,7 +227,10 @@
|
|||
point_second,
|
||||
point_member_second,
|
||||
point_third,
|
||||
point_member_third)
|
||||
point_member_third,
|
||||
third_bonus_1,
|
||||
third_bonus_2,
|
||||
third_bonus_3)
|
||||
values (b.pk_member,
|
||||
b.child_node,
|
||||
b.pk_parent,
|
||||
|
@ -262,7 +273,10 @@
|
|||
b.point_second,
|
||||
b.point_member_second,
|
||||
b.point_third,
|
||||
b.point_member_third)
|
||||
b.point_member_third,
|
||||
b.third_bonus_1,
|
||||
b.third_bonus_2,
|
||||
b.third_bonus_3)
|
||||
when matched then
|
||||
update set
|
||||
a.pk_parent = b.pk_parent,
|
||||
|
@ -305,7 +319,10 @@
|
|||
a.point_second = b.point_second,
|
||||
a.point_member_second = b.point_member_second,
|
||||
a.point_third = b.point_third,
|
||||
a.point_member_third = b.point_member_third
|
||||
a.point_member_third = b.point_member_third,
|
||||
a.third_bonus_1 = b.third_bonus_1,
|
||||
a.third_bonus_2 = b.third_bonus_2,
|
||||
a.third_bonus_3 = b.third_bonus_3
|
||||
</update>
|
||||
|
||||
<!-- 更新会员日结数据 -->
|
||||
|
@ -322,7 +339,8 @@
|
|||
#{item.regConsumeNewAmount} reg_consume_new_amount, #{item.regConsumeNewPv} reg_consume_new_pv,
|
||||
#{item.regTeamNewAmount} reg_team_new_amount, #{item.regTeamNewPv} reg_team_new_pv,
|
||||
#{item.repConsumeNewAmount} rep_consume_new_amount, #{item.repConsumeNewPv} rep_consume_new_pv,
|
||||
#{item.repTeamNewAmount} rep_team_new_amount, #{item.repTeamNewPv} rep_team_new_pv
|
||||
#{item.repTeamNewAmount} rep_team_new_amount, #{item.repTeamNewPv} rep_team_new_pv,
|
||||
#{item.pointCount} point_count, #{item.repPvBalance} rep_pv_balance
|
||||
from dual
|
||||
</foreach>
|
||||
) b
|
||||
|
@ -337,7 +355,8 @@
|
|||
a.reg_consume_new_amount = b.reg_consume_new_amount, a.reg_consume_new_pv = b.reg_consume_new_pv,
|
||||
a.reg_team_new_amount = b.reg_team_new_amount, a.reg_team_new_pv = b.reg_team_new_pv,
|
||||
a.rep_consume_new_amount = b.rep_consume_new_amount, a.rep_consume_new_pv = b.rep_consume_new_pv,
|
||||
a.rep_team_new_amount = b.rep_team_new_amount, a.rep_team_new_pv = b.rep_team_new_pv
|
||||
a.rep_team_new_amount = b.rep_team_new_amount, a.rep_team_new_pv = b.rep_team_new_pv,
|
||||
a.point_count = b.point_count, a.rep_pv_balance = b.rep_pv_balance
|
||||
</update>
|
||||
|
||||
<!-- 更新会员日结数据 -->
|
||||
|
@ -647,6 +666,7 @@
|
|||
rep_team_new_amount,
|
||||
rep_team_new_pv,
|
||||
point_count,
|
||||
rep_pv_balance,
|
||||
bw.awards_value,
|
||||
bw.awards_name
|
||||
from (
|
||||
|
@ -701,6 +721,8 @@
|
|||
rep_consume_new_pv,
|
||||
rep_team_new_amount,
|
||||
rep_team_new_pv,
|
||||
point_count,
|
||||
rep_pv_balance,
|
||||
bw.awards_value,
|
||||
bw.awards_name
|
||||
from ${tableName} a
|
||||
|
|
|
@ -298,43 +298,46 @@
|
|||
stage NUMBER(1) default 1 not null,
|
||||
stage_status NUMBER(1) default 1 not null,
|
||||
stage_date DATE,
|
||||
point_11 NUMBER(8),
|
||||
point_member_11 NUMBER(20),
|
||||
point_12 NUMBER(8),
|
||||
point_11 NUMBER(8),
|
||||
point_member_12 NUMBER(20),
|
||||
point_21 NUMBER(8),
|
||||
point_12 NUMBER(8),
|
||||
point_member_21 NUMBER(20),
|
||||
point_22 NUMBER(8),
|
||||
point_21 NUMBER(8),
|
||||
point_member_22 NUMBER(20),
|
||||
point_23 NUMBER(8),
|
||||
point_22 NUMBER(8),
|
||||
point_member_23 NUMBER(20),
|
||||
point_24 NUMBER(8),
|
||||
point_23 NUMBER(8),
|
||||
point_member_24 NUMBER(20),
|
||||
point_31 NUMBER(8),
|
||||
point_24 NUMBER(8),
|
||||
point_member_31 NUMBER(20),
|
||||
point_32 NUMBER(8),
|
||||
point_31 NUMBER(8),
|
||||
point_member_32 NUMBER(20),
|
||||
point_33 NUMBER(8),
|
||||
point_32 NUMBER(8),
|
||||
point_member_33 NUMBER(20),
|
||||
point_34 NUMBER(8),
|
||||
point_33 NUMBER(8),
|
||||
point_member_34 NUMBER(20),
|
||||
point_35 NUMBER(8),
|
||||
point_34 NUMBER(8),
|
||||
point_member_35 NUMBER(20),
|
||||
point_36 NUMBER(8),
|
||||
point_35 NUMBER(8),
|
||||
point_member_36 NUMBER(20),
|
||||
point_37 NUMBER(8),
|
||||
point_36 NUMBER(8),
|
||||
point_member_37 NUMBER(20),
|
||||
point_38 NUMBER(8),
|
||||
point_37 NUMBER(8),
|
||||
point_member_38 NUMBER(20),
|
||||
point_38 NUMBER(8),
|
||||
point_type NUMBER(1) default 0 not null,
|
||||
point_gift NUMBER(1) default 0 not null,
|
||||
creation_time DATE,
|
||||
point_first NUMBER(8),
|
||||
point_member_first NUMBER(20),
|
||||
point_second NUMBER(8),
|
||||
point_first NUMBER(8),
|
||||
point_member_second NUMBER(20),
|
||||
point_second NUMBER(8),
|
||||
point_member_third NUMBER(20),
|
||||
point_third NUMBER(8),
|
||||
point_member_third NUMBER(20)
|
||||
third_bonus_1 NUMBER(8),
|
||||
third_bonus_2 NUMBER(8),
|
||||
third_bonus_3 NUMBER(8)
|
||||
)
|
||||
</update>
|
||||
|
||||
|
@ -572,7 +575,8 @@
|
|||
rep_consume_new_pv number(17,6) default 0 not null,
|
||||
rep_team_new_amount number(17,6) default 0 not null,
|
||||
rep_team_new_pv number(17,6) default 0 not null,
|
||||
point_count number(8) default 0 not null
|
||||
point_count number(8) default 0 not null,
|
||||
rep_pv_balance number(17,6) default 0 not null
|
||||
)
|
||||
</update>
|
||||
|
||||
|
|
|
@ -241,17 +241,39 @@
|
|||
</select>
|
||||
|
||||
<select id="queryMemberBonusDetailByConditionForServer" resultMap="CuMemberBonusDetail">
|
||||
select b.period,cp.settle_date,so.order_code,so.order_type,bt.short_name source_country_name,
|
||||
cu.member_code source_member_code,cu.member_name
|
||||
source_member_name,so.pk_rate,bc.out_exchange_rate,so.order_amount,
|
||||
so.order_achieve,b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
|
||||
tar.member_code,tar.member_name,
|
||||
bg.pk_transaction pk_settle_grade,ba.pk_transaction
|
||||
pk_awards,bv.vertex_name,ct.team_name,
|
||||
b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,bct.short_name settle_country
|
||||
select
|
||||
b.period,
|
||||
cp.settle_date,
|
||||
so.order_code,
|
||||
so.order_type,
|
||||
bt.short_name source_country_name,
|
||||
cu.member_code source_member_code,
|
||||
cu.member_name source_member_name,
|
||||
so.pk_rate,
|
||||
bc.out_exchange_rate,
|
||||
so.order_amount,
|
||||
so.order_achieve,
|
||||
b.pk_country,
|
||||
b.pk_bonus_items,
|
||||
b.pretax_income,
|
||||
b.income_tax,
|
||||
b.real_income,
|
||||
b.income_status,
|
||||
tar.member_code,
|
||||
tar.member_name,
|
||||
bg.pk_transaction pk_settle_grade,
|
||||
ba.pk_transaction pk_awards,
|
||||
bv.vertex_name,
|
||||
ct.team_name,
|
||||
b.remark,
|
||||
b.income_ratio,
|
||||
b.income_dial_ratio,
|
||||
b.order_dial_ratio,
|
||||
bct.short_name settle_country
|
||||
from (
|
||||
select * from (
|
||||
select
|
||||
cb.pk_member PK_SOURCE_MEMBER,
|
||||
cb.pk_member,cd.pk_order,cb.period,cb.pk_country,cd.pk_bonus_items,cd.income_status,cd.CAL_ACHIEVE,cd.pretax_income,cd.income_tax,cd.real_income,
|
||||
cd.remark,cd.income_ratio,cd.income_dial_ratio,cd.order_dial_ratio
|
||||
from cu_member_bonus cb
|
||||
|
@ -266,6 +288,7 @@
|
|||
</if>
|
||||
union all
|
||||
select
|
||||
cb.pk_member PK_SOURCE_MEMBER,
|
||||
cb.pk_member,cp.pk_order,cb.period,cb.pk_country,cp.pk_bonus_items,cp.income_status,cp.CAL_ACHIEVE,cp.pretax_income,cp.income_tax,cp.real_income,
|
||||
cp.remark,cp.income_ratio,cp.income_dial_ratio,cp.order_dial_ratio
|
||||
from cu_member_bonus cb
|
||||
|
@ -280,6 +303,7 @@
|
|||
</if>
|
||||
union all
|
||||
select
|
||||
cb.pk_member PK_SOURCE_MEMBER,
|
||||
cb.pk_member,ce.pk_order,cb.period,cb.pk_country,ce.pk_bonus_items,ce.income_status,ce.CAL_ACHIEVE,ce.pretax_income,ce.income_tax,ce.real_income,
|
||||
ce.remark,ce.income_ratio,ce.income_dial_ratio,ce.order_dial_ratio
|
||||
from cu_member_bonus cb
|
||||
|
@ -294,6 +318,7 @@
|
|||
</if>
|
||||
union all
|
||||
select
|
||||
cb.pk_member PK_SOURCE_MEMBER,
|
||||
cb.pk_member,cc.pk_order,cb.period,cb.pk_country,cc.pk_bonus_items,cc.income_status,cc.CAL_ACHIEVE,cc.pretax_income,cc.income_tax,cc.real_income,
|
||||
cc.remark,cc.income_ratio,cc.income_dial_ratio,cc.order_dial_ratio
|
||||
from cu_member_bonus cb
|
||||
|
@ -308,6 +333,7 @@
|
|||
</if>
|
||||
union all
|
||||
select
|
||||
cb.pk_member PK_SOURCE_MEMBER,
|
||||
cb.pk_member,cr.pk_order,cb.period,cb.pk_country,cr.pk_bonus_items,cr.income_status,cr.CAL_ACHIEVE,cr.pretax_income,cr.income_tax,cr.real_income,
|
||||
cr.remark,cr.income_ratio,cr.income_dial_ratio,cr.order_dial_ratio
|
||||
from cu_member_bonus cb
|
||||
|
@ -326,6 +352,27 @@
|
|||
<if test="bonusParam.pkBonusItems != null">
|
||||
and cd.pk_bonus_items = #{bonusParam.pkBonusItems}
|
||||
</if>
|
||||
union all
|
||||
select
|
||||
cs.PK_SOURCE_MEMBER,
|
||||
cb.pk_member,cs.pk_order,cb.period,cb.pk_country,cs.pk_bonus_items,cs.income_status,cs.CAL_ACHIEVE,cs.pretax_income,cs.income_tax,cs.real_income,
|
||||
cs.remark,cs.income_ratio,cs.income_dial_ratio,cs.order_dial_ratio
|
||||
from cu_member_bonus cb
|
||||
inner join CU_MEMBER_BONUS_STAGE cs
|
||||
on cb.pk_id = cs.pk_bonus
|
||||
where 1=1
|
||||
<if test="bonusParam.pkBonus != null">
|
||||
and cs.pk_bonus = #{bonusParam.pkBonus}
|
||||
</if>
|
||||
<if test="bonusParam.pkGrade != null">
|
||||
and cs.pk_range = #{bonusParam.pkGrade}
|
||||
</if>
|
||||
<if test="bonusParam.period != null">
|
||||
and cb.period = #{bonusParam.period}
|
||||
</if>
|
||||
<if test="bonusParam.pkBonusItems != null">
|
||||
and cd.pk_bonus_items = #{bonusParam.pkBonusItems}
|
||||
</if>
|
||||
) x
|
||||
where 1=1
|
||||
<if test="bonusParam.vertexList != null and bonusParam.vertexList.size >0">
|
||||
|
@ -353,10 +400,8 @@
|
|||
) b
|
||||
left join sa_order so
|
||||
on so.pk_id = b.pk_order
|
||||
left join cu_member tar
|
||||
on b.pk_member = tar.pk_id
|
||||
left join cu_member cu
|
||||
on so.pk_member = cu.pk_id
|
||||
LEFT JOIN cu_member tar ON b.PK_SOURCE_MEMBER = tar.pk_id
|
||||
LEFT JOIN cu_member cu ON b.PK_SOURCE_MEMBER = cu.pk_id
|
||||
left join cu_member_settle_period cp
|
||||
on b.period = cp.pk_id
|
||||
left join bd_vertex bv
|
||||
|
@ -369,8 +414,7 @@
|
|||
on bg.pk_id=tar.pk_settle_grade
|
||||
left join bd_awards ba
|
||||
on ba.pk_id=tar.pk_awards
|
||||
left join bd_country bt
|
||||
on bt.pk_id=so.pk_country
|
||||
LEFT JOIN bd_country bt ON bt.pk_id = cu.pk_country
|
||||
left join bd_country bct
|
||||
on bct.pk_id=tar.pk_settle_country
|
||||
<where>
|
||||
|
|
|
@ -16,33 +16,7 @@
|
|||
<result column="PK_RATE" property="pkRate"/>
|
||||
<result column="out_exchange_rate" property="outExchangeRate"/>
|
||||
<result column="DIRECT_INCOME" property="directIncome"/>
|
||||
<result column="EXPAND_INCOME" property="expandIncome"/>
|
||||
<result column="EXPAND_NO_CAPPING" property="expandNoCapping"/>
|
||||
<result column="EXPAND_CAPPING" property="expandCapping"/>
|
||||
<result column="COACH_INCOME" property="coachIncome"/>
|
||||
<result column="SHARE_INCOME" property="shareIncome"/>
|
||||
<result column="SERVICE_INCOME" property="serviceIncome"/>
|
||||
<result column="BACK_POINTS" property="backPoints"/>
|
||||
<result column="SERVICE_SPEND" property="serviceSpend"/>
|
||||
<result column="PUR_REAL_SUBTOTAL" property="purRealSubtotal"/>
|
||||
<result column="REPUR_PUSH_INCOME" property="repurPushIncome"/>
|
||||
<result column="REPUR_RANGE_INCOME" property="repurRangeIncome"/>
|
||||
<result column="REPUR_EXPAND_INCOME" property="repurExpandIncome"/>
|
||||
<result column="REPUR_REAL_SUBTOTAL" property="repurRealSubtotal"/>
|
||||
<result column="CLOUD_DIRECT_INCOME" property="cloudDirectIncome"/>
|
||||
<result column="CLOUD_PUR_INCOME" property="cloudPurIncome"/>
|
||||
<result column="CLOUD_REPUR_INCOME" property="cloudRepurIncome"/>
|
||||
<result column="CLOUD_REAL_SUBTOTAL" property="cloudRealSubtotal"/>
|
||||
<result column="REPUR_COUPON" property="repurCoupon"/>
|
||||
<result column="REPUR_COUPON_SHARE" property="repurCouponShare"/>
|
||||
<result column="REPUR_COUPON_SUBTOTAL" property="repurCouponSubtotal"/>
|
||||
<result column="GLOBAL_POINTS" property="globalPoints"/>
|
||||
<result column="CAR_AWARD_POINTS" property="carAwardPoints"/>
|
||||
<result column="HI_FUN_INCOME" property="hiFunIncome"/>
|
||||
<result column="MAKER_DIRECT_INCOME" property="makerDirectIncome"/>
|
||||
<result column="MAKER_SHARE_INCOME" property="makerShareIncome"/>
|
||||
<result column="MAKER_REAL_SUBTOTAL" property="makerRealSubtotal"/>
|
||||
<result column="REAL_INCOME_TOTAL" property="realIncomeTotal"/>
|
||||
<result column="INCOME_STATUS" property="incomeStatus"/>
|
||||
<result column="GRANT_STATUS" property="grantStatus"/>
|
||||
<result column="SETTLE_DATE" property="settleDate"/>
|
||||
|
@ -53,22 +27,10 @@
|
|||
<result column="VERTEX_NAME" property="vertexName"/>
|
||||
<result column="TEAM_NAME" property="teamName"/>
|
||||
<result column="STORE_INCOME" property="storeIncome"/>
|
||||
<result column="HAI_FUN_INCOME" property="haiFunIncome"/>
|
||||
<result column="PUR_REAL_SUBTOTAL" property="purRealSubtotal"/>
|
||||
<result column="REPUR_REAL_SUBTOTAL" property="repurRealSubtotal"/>
|
||||
<result column="CLOUD_REAL_SUBTOTAL" property="cloudRealSubtotal"/>
|
||||
<result column="MAKER_REAL_SUBTOTAL" property="makerRealSubtotal"/>
|
||||
<result column="PK_VERTEX" property="pkVertex"/>
|
||||
<result column="SERVICE_CODE" property="serviceCode"/>
|
||||
<result column="NICK_NAME" property="nickName"/>
|
||||
|
||||
<result column="RETAIL_RANGE_INCOME" property="retailRangeIncome"/>
|
||||
<result column="RETAIL_SAME_LEVEL_INCOME" property="retailSameLevelIncome"/>
|
||||
<result column="RETAIL_AREA_INCOME" property="retailAreaIncome"/>
|
||||
<result column="RETAIL_BENEFIT_RANGE_INCOME" property="retailBenefitRangeIncome"/>
|
||||
<result column="RETAIL_MONTH_REPURCHASE_INCOME" property="retailMonthRepurchaseIncome"/>
|
||||
<result column="RETAIL_BENEFIT_AVG_INCOME" property="retailBenefitAvgIncome"/>
|
||||
<result column="RETAIL_BENEFIT_INCOME" property="retailBenefitIncome"/>
|
||||
</resultMap>
|
||||
|
||||
<update id="updateCuMemberBonusStatus">
|
||||
|
@ -319,21 +281,23 @@
|
|||
</select>
|
||||
|
||||
<select id="queryMemberBonusByConditionForServer" resultMap="CuMemberBonus">
|
||||
select cm.member_code, cm.member_name,
|
||||
cm.pk_settle_grade, cm.pk_awards,
|
||||
bv.vertex_name, ct.team_name,
|
||||
cb.period,cp.settle_date,cb.direct_income,cb.expand_income,cb.expand_no_capping,
|
||||
cb.expand_capping,cb.share_income,cb.service_income,cb.back_points,cb.service_spend,
|
||||
cb.pur_real_subtotal,cb.repur_push_income,cb.repur_expand_income,cb.repur_real_subtotal,
|
||||
cb.repur_coupon,cb.repur_coupon_share,cb.repur_coupon_subtotal,cb.store_income,
|
||||
cb.global_points,cb.car_award_points,cb.pk_rate,bc.out_exchange_rate,
|
||||
cb.coach_income,
|
||||
cb.repur_range_income,
|
||||
cb.retail_range_income, cb.retail_same_level_income, cb.retail_area_income,
|
||||
cb.retail_benefit_range_income, cb.retail_month_repurchase_income,
|
||||
cb.retail_benefit_avg_income, cb.retail_benefit_income,cb.retail_real_subtotal,
|
||||
cb.real_income_total,
|
||||
cm.pk_vertex, cm.service_code, cm.nick_name
|
||||
select
|
||||
cm.member_code,
|
||||
cm.member_name,
|
||||
cm.pk_settle_grade,
|
||||
cm.pk_awards,
|
||||
bv.vertex_name,
|
||||
ct.team_name,
|
||||
cb.period,
|
||||
cp.settle_date,
|
||||
cb.direct_income,
|
||||
cb.store_income,
|
||||
cb.global_points,
|
||||
cb.pk_rate,
|
||||
bc.out_exchange_rate,
|
||||
cm.pk_vertex,
|
||||
cm.service_code,
|
||||
cm.nick_name
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member cm
|
||||
on cb.pk_member = cm.pk_id
|
||||
|
@ -409,35 +373,9 @@
|
|||
<select id="queryMemberBonusByConditionForServerSum" resultMap="CuMemberBonus">
|
||||
select
|
||||
nvl( sum( cb.direct_income ), 0 ) direct_income,
|
||||
nvl(sum(cb.expand_income),0) expand_income,
|
||||
nvl(sum(cb.expand_no_capping),0) expand_no_capping,
|
||||
nvl(sum(cb.expand_capping),0) expand_capping,
|
||||
nvl(sum(cb.coach_income),0) coach_income,
|
||||
nvl(sum(cb.share_income),0) share_income,
|
||||
nvl(sum(cb.service_income),0) service_income,
|
||||
nvl(sum(cb.back_points),0) back_points,
|
||||
nvl(sum(cb.service_spend),0) service_spend,
|
||||
nvl(sum(cb.pur_real_subtotal),0) pur_real_subtotal,
|
||||
nvl(sum(cb.repur_push_income),0) repur_push_income,
|
||||
nvl(sum(cb.repur_expand_income),0) repur_expand_income,
|
||||
nvl(sum(cb.repur_real_subtotal),0) repur_real_subtotal,
|
||||
nvl(sum(cb.repur_coupon),0) repur_coupon,
|
||||
nvl(sum(cb.repur_coupon_share),0) repur_coupon_share,
|
||||
nvl(sum(cb.repur_coupon_subtotal),0) repur_coupon_subtotal,
|
||||
nvl( sum( cb.store_income ), 0 ) store_income,
|
||||
nvl( sum( cb.global_points ), 0 ) global_points,
|
||||
nvl(sum(cb.car_award_points),0) car_award_points,
|
||||
bc.out_exchange_rate,
|
||||
nvl(sum(cb.repur_range_income),0) repur_range_income,
|
||||
nvl(sum(cb.retail_range_income),0) retail_range_income,
|
||||
nvl(sum(cb.retail_same_level_income),0) retail_same_level_income,
|
||||
nvl(sum(cb.retail_area_income),0) retail_area_income,
|
||||
nvl(sum(cb.retail_benefit_range_income),0) retail_benefit_range_income,
|
||||
nvl(sum(cb.retail_month_repurchase_income),0) retail_month_repurchase_income,
|
||||
nvl(sum(cb.retail_benefit_avg_income),0) retail_benefit_avg_income,
|
||||
nvl(sum(cb.retail_benefit_income),0) retail_benefit_income,
|
||||
nvl(sum(cb.retail_real_subtotal),0) retail_real_subtotal,
|
||||
nvl(sum(cb.real_income_total),0) real_income_total
|
||||
bc.out_exchange_rate
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member cm
|
||||
on cb.pk_member = cm.pk_id
|
||||
|
|
|
@ -22,15 +22,139 @@
|
|||
cal_type, cal_achieve, cal_value,
|
||||
pretax_income, income_tax, real_income, remark,
|
||||
income_ratio, income_dial_ratio, order_dial_ratio,
|
||||
pk_creator, child_node, stage, stage_num)
|
||||
pk_creator, child_node, stage, stage_num, pk_source_member)
|
||||
values (
|
||||
#{item.pkBonus}, #{item.pkOrder}, #{item.pkBonusItems}, #{item.incomeStatus},
|
||||
#{item.calType}, #{item.calAchieve}, #{item.calValue},
|
||||
#{item.pretaxIncome}, #{item.incomeTax}, #{item.realIncome}, #{item.remark},
|
||||
#{item.incomeRatio}, #{item.incomeDialRatio}, #{item.orderDialRatio},
|
||||
#{item.pkCreator}, #{item.childNode}, #{item.stage}, #{item.stageNum})
|
||||
#{item.pkCreator}, #{item.childNode}, #{item.stage}, #{item.stageNum}, #{item.pkSourceMember})
|
||||
</foreach>
|
||||
SELECT 1 FROM dual
|
||||
</insert>
|
||||
|
||||
<select id="queryMemberBonusStageByBonusItemsFoServer"
|
||||
resultType="com.hzs.common.domain.member.ext.CuMemberBonusDetailExt"
|
||||
parameterType="com.hzs.bonus.bonus.param.BonusParam">
|
||||
select b.period,cp.settle_date,so.order_code,so.order_type,bt.short_name source_country_name,
|
||||
cu.member_code source_member_code,cu.member_name source_member_name,nvl(so.pk_rate,b.pk_rate) pk_rate,
|
||||
nvl(bc.out_exchange_rate,0) out_exchange_rate,
|
||||
so.order_amount order_amount, so.order_achieve order_achieve,
|
||||
b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
|
||||
tar.member_code,tar.member_name,
|
||||
bg.pk_transaction pk_settle_grade, ba.pk_transaction pk_awards,
|
||||
bv.vertex_name,ct.team_name,
|
||||
b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,bct.short_name settle_country
|
||||
from (
|
||||
select
|
||||
cd.PK_SOURCE_MEMBER,
|
||||
cb.pk_member,cd.pk_order,cb.period,cb.pk_country,cd.pk_bonus_items,cd.income_status,
|
||||
cd.CAL_ACHIEVE,cd.pretax_income,cd.income_tax,cd.real_income,
|
||||
cd.remark,cd.income_ratio,cd.income_dial_ratio,cd.order_dial_ratio,cb.pk_rate
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member_bonus_stage cd
|
||||
on cb.pk_id = cd.pk_bonus
|
||||
where 1=1
|
||||
<if test="bonusParam.period != null">
|
||||
and cb.period = #{bonusParam.period}
|
||||
</if>
|
||||
<if test="bonusParam.pkBonusItems != null">
|
||||
and cd.pk_bonus_items = #{bonusParam.pkBonusItems}
|
||||
</if>
|
||||
<if test="bonusParam.vertexList != null and bonusParam.vertexList.size >0">
|
||||
and exists(
|
||||
select 1 from (
|
||||
<foreach collection="bonusParam.vertexList" item="item" separator=" union ">
|
||||
select pk_id from cu_member
|
||||
where del_flag=0 and PAY_STATUS=1
|
||||
start with pk_id = #{item}
|
||||
connect by pk_parent = prior pk_id
|
||||
</foreach>
|
||||
<if test="bonusParam.teamList != null and bonusParam.teamList.size >0">
|
||||
union
|
||||
<foreach collection="bonusParam.teamList" item="item" separator=" union ">
|
||||
select pk_id from cu_member
|
||||
where del_flag=0 and PAY_STATUS=1
|
||||
start with pk_id = #{item}
|
||||
connect by pk_parent = prior pk_id
|
||||
</foreach>
|
||||
</if>
|
||||
) a
|
||||
where a.pk_id = cb.pk_member
|
||||
)
|
||||
</if>
|
||||
) b
|
||||
left join sa_order so
|
||||
on so.pk_id = b.pk_order
|
||||
<if test="bonusParam.orderType != null">
|
||||
and so.order_type = #{bonusParam.orderType}
|
||||
</if>
|
||||
LEFT JOIN cu_member tar ON b.PK_SOURCE_MEMBER = tar.pk_id
|
||||
LEFT JOIN cu_member cu ON b.PK_SOURCE_MEMBER = cu.pk_id
|
||||
left join cu_member_settle_period cp
|
||||
on b.period = cp.pk_id
|
||||
left join bd_vertex bv
|
||||
on bv.pk_id = tar.pk_vertex
|
||||
left join cu_member_team ct
|
||||
on ct.pk_id = tar.pk_team_code
|
||||
left join bd_currency bc
|
||||
on bc.pk_id=nvl(so.pk_rate,b.pk_rate)
|
||||
left join bd_grade bg
|
||||
on bg.pk_id=tar.pk_settle_grade
|
||||
left join bd_awards ba
|
||||
on ba.pk_id=tar.pk_awards
|
||||
LEFT JOIN bd_country bt ON bt.pk_id = cu.pk_country
|
||||
left join bd_country bct
|
||||
on bct.pk_id=tar.pk_settle_country
|
||||
<where>
|
||||
1=1
|
||||
<if test="bonusParam.pkCountry != null">
|
||||
and tar.pk_settle_country = #{bonusParam.pkCountry}
|
||||
</if>
|
||||
<if test="bonusParam.systemType != null">
|
||||
and cu.system_type = #{bonusParam.systemType}
|
||||
</if>
|
||||
<if test="bonusParam.pkVertex != null">
|
||||
and bv.pk_id = #{bonusParam.pkVertex}
|
||||
</if>
|
||||
<if test="bonusParam.pkTeamCode != null">
|
||||
and ct.pk_id =#{bonusParam.pkTeamCode}
|
||||
</if>
|
||||
<if test="bonusParam.sourceCountry != null">
|
||||
and bt.pk_id = #{bonusParam.sourceCountry}
|
||||
</if>
|
||||
<if test="bonusParam.incomeStatus != null">
|
||||
and b.income_status = #{bonusParam.incomeStatus}
|
||||
</if>
|
||||
<if test="bonusParam.orderCode != null and bonusParam.orderCode != ''">
|
||||
and so.order_code like #{bonusParam.orderCode}|| '%'
|
||||
</if>
|
||||
<if test="bonusParam.sourceMemberCode != null and bonusParam.sourceMemberCode != ''">
|
||||
and cu.member_code = #{bonusParam.sourceMemberCode}
|
||||
</if>
|
||||
<if test="bonusParam.sourceMemberName != null and bonusParam.sourceMemberName != ''">
|
||||
and cu.member_name = #{bonusParam.sourceMemberName}
|
||||
</if>
|
||||
<if test="bonusParam.memberCode != null and bonusParam.memberCode != ''">
|
||||
and tar.member_code = #{bonusParam.memberCode}
|
||||
</if>
|
||||
<if test="bonusParam.memberName != null and bonusParam.memberName != ''">
|
||||
and tar.member_name = #{bonusParam.memberName}
|
||||
</if>
|
||||
<if test="bonusParam.settleCountry != null">
|
||||
and tar.pk_settle_country = #{bonusParam.settleCountry}
|
||||
</if>
|
||||
<if test="bonusParam.startDate != null">
|
||||
and cp.settle_date >=#{bonusParam.startDate, jdbcType=DATE}
|
||||
</if>
|
||||
<if test="bonusParam.endDate != null">
|
||||
and cp.settle_date <#{bonusParam.endDate, jdbcType=DATE}
|
||||
</if>
|
||||
</where>
|
||||
<choose>
|
||||
<when test="bonusParam.sort == null or bonusParam.sort ==1">order by cp.settle_date desc, b.real_income desc</when>
|
||||
<when test="bonusParam.sort ==2">order by tar.pk_vertex, b.real_income desc</when>
|
||||
<otherwise>order by tar.pk_teamcode</otherwise>
|
||||
</choose>
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
@ -88,6 +88,12 @@
|
|||
#{items}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="orderTypeList != null and orderTypeList.size > 0">
|
||||
and so.order_type in
|
||||
<foreach collection="orderTypeList" item="items" open="(" close=")" separator=",">
|
||||
#{items}
|
||||
</foreach>
|
||||
</if>
|
||||
and so.pay_time >= #{startDate}
|
||||
and so.pay_time < #{endDate}
|
||||
order by pay_time
|
||||
|
|
|
@ -587,10 +587,11 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
deductCancelOrderCost(businessCommissionDTO);
|
||||
|
||||
CuMemberAccount payMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator());
|
||||
|
||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()) {
|
||||
// 会员账号 验证会员账户是否存在金额
|
||||
CuMember member = cuMemberService.getMemberById(saOrder.getPkMember());
|
||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()
|
||||
||(ObjectUtil.isNotEmpty(member) && EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType() && saOrder.getPayTime().equals(member.getPayTime()))
|
||||
) {
|
||||
// 会员变为死点
|
||||
member.setCategory(ECategory.LOGGED_OUT.getValue());
|
||||
member.setCustomerType(ECustomerType.DEAD_POINT.getValue());
|
||||
|
|
|
@ -69,7 +69,7 @@ public class ApiMemberStructureController extends BaseController {
|
|||
Integer isFind = iCumemberRetailDetailService.getFindCumemberRetailDetail(settleTableName);
|
||||
if (isFind == null || isFind != 1) {
|
||||
log.error("当前表名不存在{}",settleTableName);
|
||||
return AjaxResult.error("当前日结信息表不存在",settleTableName);
|
||||
return AjaxResult.error("数据查询错误,请联系客服处理");
|
||||
}
|
||||
CuMemberRetailDetail cuMemberRetailDetail = iCumemberRetailDetailService.getCuMemberRetailDetailByUserId(userId,stage,stageStatus,childNode,settleTableName);
|
||||
log.info("日结表会员信息{}",cuMemberRetailDetail);
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
package com.hzs.report.order.controller;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 销售业绩统计表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author sangelxiu1
|
||||
* @since 2025-09-22
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/order/performance-summary")
|
||||
public class CuMemberPerformanceSummaryController {
|
||||
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package com.hzs.report.order.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hzs.common.domain.report.CuMemberPerformanceSummary;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 销售业绩统计表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author sangelxiu1
|
||||
* @since 2025-09-22
|
||||
*/
|
||||
public interface CuMemberPerformanceSummaryMapper extends BaseMapper<CuMemberPerformanceSummary> {
|
||||
List<SaOrder> getOrderByDay(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("orderTypeList") List<Integer> orderTypeList);
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package com.hzs.report.order.provider;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.report.order.IPerformanceSummaryServiceApi;
|
||||
import com.hzs.report.order.service.ICuMemberPerformanceSummaryService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 销售业绩统计
|
||||
*/
|
||||
@DubboService
|
||||
@Slf4j
|
||||
public class PerformanceSummaryProvider implements IPerformanceSummaryServiceApi {
|
||||
@Resource
|
||||
ICuMemberPerformanceSummaryService iCuMemberPerformanceSummaryService;
|
||||
@Override
|
||||
public R<Boolean> createDataByDay(String day) {
|
||||
iCuMemberPerformanceSummaryService.createDataByDay(day);
|
||||
return R.ok();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.hzs.report.order.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.report.CuMemberPerformanceSummary;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 销售业绩统计表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author sangelxiu1
|
||||
* @since 2025-09-22
|
||||
*/
|
||||
public interface ICuMemberPerformanceSummaryService extends IService<CuMemberPerformanceSummary> {
|
||||
void createDataByDay(String day);
|
||||
}
|
|
@ -0,0 +1,85 @@
|
|||
package com.hzs.report.order.service.impl;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||
import com.hzs.common.core.enums.EOrderType;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.domain.report.CuMemberPerformanceSummary;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import com.hzs.report.order.mapper.CuMemberPerformanceSummaryMapper;
|
||||
import com.hzs.report.order.service.ICuMemberPerformanceSummaryService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 销售业绩统计表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author sangelxiu1
|
||||
* @since 2025-09-22
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class CuMemberPerformanceSummaryServiceImpl extends ServiceImpl<CuMemberPerformanceSummaryMapper, CuMemberPerformanceSummary> implements ICuMemberPerformanceSummaryService {
|
||||
|
||||
@Override
|
||||
public void createDataByDay(String day) {
|
||||
Date startDate = DateUtils.getStartOfDay(day);
|
||||
Date endDate = DateUtils.getEndOfDay(day);
|
||||
LambdaQueryWrapper<CuMemberPerformanceSummary> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CuMemberPerformanceSummary::getSummaryDate, startDate);
|
||||
baseMapper.delete(queryWrapper);
|
||||
List<Integer> orderTypeList = Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue(), EOrderType.RETAIL_REPURCHASE.getValue());
|
||||
List<SaOrder> orderList = baseMapper.getOrderByDay(startDate, endDate, orderTypeList);
|
||||
Map<Integer, List<SaOrder>> groupedOrders = orderList.stream().collect(Collectors.groupingBy(SaOrder::getOrderType));
|
||||
CuMemberPerformanceSummary summary = CuMemberPerformanceSummary.getInitCuMemberPerformanceSummary(startDate);
|
||||
if(ObjectUtil.isNotEmpty(groupedOrders.get(EOrderType.RETAIL_REGISTER.getValue()))) {
|
||||
for (SaOrder saOrder : groupedOrders.get(EOrderType.RETAIL_REGISTER.getValue())) {
|
||||
summary.setRetailRegisterAmount(summary.getRetailDiscountAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setRetailRegisterPv(summary.getRetailDiscountPv().add(saOrder.getOrderAchieve()));
|
||||
|
||||
summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount()));
|
||||
}
|
||||
}
|
||||
if(ObjectUtil.isNotEmpty(groupedOrders.get(EOrderType.RETAIL_UPGRADE.getValue()))) {
|
||||
for (SaOrder saOrder : groupedOrders.get(EOrderType.RETAIL_UPGRADE.getValue())) {
|
||||
summary.setRetailUpgradeAmount(summary.getRetailUpgradeAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setRetailUpgradePv(summary.getRetailUpgradePv().add(saOrder.getOrderAchieve()));
|
||||
|
||||
summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount()));
|
||||
}
|
||||
}
|
||||
if(ObjectUtil.isNotEmpty(groupedOrders.get(EOrderType.RETAIL_REPURCHASE.getValue()))) {
|
||||
for (SaOrder saOrder : groupedOrders.get(EOrderType.RETAIL_REPURCHASE.getValue())) {
|
||||
summary.setRetailRepurchaseAmount(summary.getRetailRepurchaseAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setRetailRepurchasePv(summary.getRetailRepurchasePv().add(saOrder.getOrderAchieve()));
|
||||
|
||||
summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount()));
|
||||
}
|
||||
}
|
||||
if(ObjectUtil.isNotEmpty(groupedOrders.get(EOrderType.RETAIL_CONSUME.getValue()))){
|
||||
for (SaOrder saOrder : groupedOrders.get(EOrderType.RETAIL_CONSUME.getValue())) {
|
||||
summary.setRetailDiscountAmount(summary.getRetailDiscountAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setDividendPv(summary.getDividendPv().add(saOrder.getOrderAchieve()));
|
||||
|
||||
summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount()));
|
||||
}
|
||||
}
|
||||
summary.setDividendPv(summary.getTotalPv().multiply(new BigDecimal("0.015")));
|
||||
summary.setPkCreator(MagicNumberConstants.PK_ADMIN);
|
||||
baseMapper.insert(summary);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hzs.report.order.mapper.CuMemberPerformanceSummaryMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.report.CuMemberPerformanceSummary">
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<result column="CREATION_TIME" property="creationTime" />
|
||||
<result column="MODIFIED_TIME" property="modifiedTime" />
|
||||
<result column="PK_CREATOR" property="pkCreator" />
|
||||
<result column="PK_MODIFIED" property="pkModified" />
|
||||
<result column="PK_ID" property="pkId" />
|
||||
<result column="SUMMARY_DATE" property="summaryDate" />
|
||||
<result column="RETAIL_REGISTER_AMOUNT" property="retailRegisterAmount" />
|
||||
<result column="RETAIL_REGISTER_PV" property="retailRegisterPv" />
|
||||
<result column="RETAIL_UPGRADE_AMOUNT" property="retailUpgradeAmount" />
|
||||
<result column="RETAIL_UPGRADE_PV" property="retailUpgradePv" />
|
||||
<result column="RETAIL_REPURCHASE_AMOUNT" property="retailRepurchaseAmount" />
|
||||
<result column="RETAIL_REPURCHASE_PV" property="retailRepurchasePv" />
|
||||
<result column="RETAIL_DISCOUNT_AMOUNT" property="retailDiscountAmount" />
|
||||
<result column="RETAIL_DISCOUNT_PV" property="retailDiscountPv" />
|
||||
<result column="TOTAL_AMOUNT" property="totalAmount" />
|
||||
<result column="TOTAL_PV" property="totalPv" />
|
||||
<result column="DIVIDEND_PV" property="dividendPv" />
|
||||
</resultMap>
|
||||
|
||||
<!-- 通用查询结果列 -->
|
||||
<sql id="Base_Column_List">
|
||||
DEL_FLAG,
|
||||
PK_COUNTRY,
|
||||
CREATION_TIME,
|
||||
MODIFIED_TIME,
|
||||
PK_CREATOR,
|
||||
PK_MODIFIED,
|
||||
PK_ID, SUMMARY_DATE, RETAIL_REGISTER_AMOUNT, RETAIL_REGISTER_PV, RETAIL_UPGRADE_AMOUNT, RETAIL_UPGRADE_PV, RETAIL_REPURCHASE_AMOUNT, RETAIL_REPURCHASE_PV, RETAIL_DISCOUNT_AMOUNT, RETAIL_DISCOUNT_PV, TOTAL_AMOUNT, TOTAL_PV, DIVIDEND_PV
|
||||
</sql>
|
||||
<select id="getOrderByDay" resultType="com.hzs.common.domain.sale.order.SaOrder">
|
||||
select * from sa_order
|
||||
where del_flag = 0
|
||||
and order_status = 1
|
||||
and pay_time between #{startDate} and #{endDate}
|
||||
and order_type in
|
||||
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -2,6 +2,7 @@ package com.hzs.sale.order.service.impl;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.crypto.SecureUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
@ -662,6 +663,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
@Transactional(rollbackFor = Exception.class)
|
||||
public void revokeSaOrderByOrderCode(Long pkApprove, OrderCancelParam orderCancelParam, ValidateCancelOrderVO validateCancelOrderVO) {
|
||||
SaOrderExt saOrderExt = validateCancelOrderVO.getSaOrderExt();
|
||||
CuMemberExt memberExt = memberServiceApi.getMemberById(saOrderExt.getPkMember()).getData();
|
||||
BusinessCommissionDTO businessCommissionDTO = null;
|
||||
if (orderCancelParam.getCancelRoad() == 1) {
|
||||
EApprovalBusiness approveBusiness = EApprovalBusiness.ORDER_CANCEL;
|
||||
|
@ -750,7 +752,9 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
|
||||
// 撤销注册订单 单点撤单
|
||||
if (ECancelOrderType.SINGLE_CANCEL_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
if (ECancelOrderType.SINGLE_CANCEL_ORDER.getValue() == orderCancelParam.getCancelType()
|
||||
||(ObjectUtil.isNotEmpty(memberExt) && ECancelOrderType.OTHER_CANCEL_ORDER.getValue() == orderCancelParam.getCancelType() && saOrderExt.getPayTime().equals(memberExt.getPayTime()))
|
||||
) {
|
||||
// 单点撤单,变死点
|
||||
R<Boolean> tmpR = memberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO);
|
||||
if (!tmpR.isSuccess()) {
|
||||
|
|
|
@ -19,6 +19,10 @@ public class BonusMsgConstants {
|
|||
* 阶段 收益说明
|
||||
*/
|
||||
public static String STAGE_INCOME = "订单编号%s,%s为%s贡献了阶段收益,%s子点位%s阶段。";
|
||||
/**
|
||||
* 二、三阶段 收益说明
|
||||
*/
|
||||
public static String STAGE_INCOME_OTHER = "%s为%s贡献了阶段收益,%s子点位%s阶段。";
|
||||
|
||||
/**
|
||||
* 直推级差收益说明
|
||||
|
|
|
@ -57,173 +57,160 @@ public class CuMemberRetailDetail {
|
|||
@TableField("STAGE_DATE")
|
||||
private Date stageDate;
|
||||
|
||||
|
||||
/**
|
||||
* 点位1-1会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_11")
|
||||
private Long pointMember11;
|
||||
/**
|
||||
* 点位1-1会员子节点
|
||||
*/
|
||||
@TableField("POINT_11")
|
||||
private Integer point11;
|
||||
|
||||
/**
|
||||
* 点位1-2会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_12")
|
||||
private Long pointMember12;
|
||||
/**
|
||||
* 点位1-2会员子节点
|
||||
*/
|
||||
@TableField("POINT_12")
|
||||
private Integer point12;
|
||||
|
||||
/**
|
||||
* 点位2-1会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_21")
|
||||
private Long pointMember21;
|
||||
/**
|
||||
* 点位2-1会员子节点
|
||||
*/
|
||||
@TableField("POINT_21")
|
||||
private Integer point21;
|
||||
|
||||
/**
|
||||
* 点位2-2会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_22")
|
||||
private Long pointMember22;
|
||||
/**
|
||||
* 点位2-2会员子节点
|
||||
*/
|
||||
@TableField("POINT_22")
|
||||
private Integer point22;
|
||||
|
||||
/**
|
||||
* 点位2-3会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_23")
|
||||
private Long pointMember23;
|
||||
/**
|
||||
* 点位2-3会员子节点
|
||||
*/
|
||||
@TableField("POINT_23")
|
||||
private Integer point23;
|
||||
|
||||
/**
|
||||
* 点位2-4会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_24")
|
||||
private Long pointMember24;
|
||||
/**
|
||||
* 点位2-4会员子节点
|
||||
*/
|
||||
@TableField("POINT_24")
|
||||
private Integer point24;
|
||||
|
||||
/**
|
||||
* 点位3-1会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_31")
|
||||
private Long pointMember31;
|
||||
/**
|
||||
* 点位3-1会员子节点
|
||||
*/
|
||||
@TableField("POINT_31")
|
||||
private Integer point31;
|
||||
|
||||
/**
|
||||
* 点位3-2会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_32")
|
||||
private Long pointMember32;
|
||||
/**
|
||||
* 点位3-2会员子节点
|
||||
*/
|
||||
@TableField("POINT_32")
|
||||
private Integer point32;
|
||||
|
||||
/**
|
||||
* 点位3-3会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_33")
|
||||
private Long pointMember33;
|
||||
/**
|
||||
* 点位3-3会员子节点
|
||||
*/
|
||||
@TableField("POINT_33")
|
||||
private Integer point33;
|
||||
|
||||
/**
|
||||
* 点位3-4会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_34")
|
||||
private Long pointMember34;
|
||||
/**
|
||||
* 点位3-4会员子节点
|
||||
*/
|
||||
@TableField("POINT_34")
|
||||
private Integer point34;
|
||||
|
||||
/**
|
||||
* 点位3-5会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_35")
|
||||
private Long pointMember35;
|
||||
/**
|
||||
* 点位3-5会员子节点
|
||||
*/
|
||||
@TableField("POINT_35")
|
||||
private Integer point35;
|
||||
|
||||
/**
|
||||
* 点位3-6会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_36")
|
||||
private Long pointMember36;
|
||||
/**
|
||||
* 点位3-6会员子节点
|
||||
*/
|
||||
@TableField("POINT_36")
|
||||
private Integer point36;
|
||||
|
||||
/**
|
||||
* 点位3-7会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_37")
|
||||
private Long pointMember37;
|
||||
/**
|
||||
* 点位3-7会员子节点
|
||||
*/
|
||||
@TableField("POINT_37")
|
||||
private Integer point37;
|
||||
|
||||
/**
|
||||
* 点位3-8会员子节点
|
||||
*/
|
||||
@TableField("POINT_38")
|
||||
private Integer point38;
|
||||
|
||||
/**
|
||||
* 点位1-1会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_11")
|
||||
private Long pointMember11;
|
||||
|
||||
/**
|
||||
* 点位1-2会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_12")
|
||||
private Long pointMember12;
|
||||
|
||||
/**
|
||||
* 点位2-1会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_21")
|
||||
private Long pointMember21;
|
||||
|
||||
/**
|
||||
* 点位2-2会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_22")
|
||||
private Long pointMember22;
|
||||
|
||||
/**
|
||||
* 点位2-3会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_23")
|
||||
private Long pointMember23;
|
||||
|
||||
/**
|
||||
* 点位2-4会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_24")
|
||||
private Long pointMember24;
|
||||
|
||||
/**
|
||||
* 点位3-1会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_31")
|
||||
private Long pointMember31;
|
||||
|
||||
/**
|
||||
* 点位3-2会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_32")
|
||||
private Long pointMember32;
|
||||
|
||||
/**
|
||||
* 点位3-3会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_33")
|
||||
private Long pointMember33;
|
||||
|
||||
/**
|
||||
* 点位3-4会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_34")
|
||||
private Long pointMember34;
|
||||
|
||||
/**
|
||||
* 点位3-5会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_35")
|
||||
private Long pointMember35;
|
||||
|
||||
/**
|
||||
* 点位3-6会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_36")
|
||||
private Long pointMember36;
|
||||
|
||||
/**
|
||||
* 点位3-7会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_37")
|
||||
private Long pointMember37;
|
||||
|
||||
/**
|
||||
* 点位3-8会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_38")
|
||||
private Long pointMember38;
|
||||
/**
|
||||
* 点位3-8会员子节点
|
||||
*/
|
||||
@TableField("POINT_38")
|
||||
private Integer point38;
|
||||
|
||||
/**
|
||||
* 点位类型(0=普通,1=赠送点位)
|
||||
|
@ -244,6 +231,11 @@ public class CuMemberRetailDetail {
|
|||
@TableField("CREATION_TIME")
|
||||
private Date creationTime;
|
||||
|
||||
/**
|
||||
* 第一层会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_FIRST")
|
||||
private Long pointMemberFirst;
|
||||
/**
|
||||
* 第一层会员子节点
|
||||
*/
|
||||
|
@ -251,11 +243,10 @@ public class CuMemberRetailDetail {
|
|||
private Integer pointFirst;
|
||||
|
||||
/**
|
||||
* 第一层会员ID
|
||||
* 第二层会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_FIRST")
|
||||
private Long pointMemberFirst;
|
||||
|
||||
@TableField("POINT_MEMBER_SECOND")
|
||||
private Long pointMemberSecond;
|
||||
/**
|
||||
* 第二层会员子节点
|
||||
*/
|
||||
|
@ -263,11 +254,10 @@ public class CuMemberRetailDetail {
|
|||
private Integer pointSecond;
|
||||
|
||||
/**
|
||||
* 第二层会员ID
|
||||
* 第三层会员ID
|
||||
*/
|
||||
@TableField("POINT_MEMBER_SECOND")
|
||||
private Long pointMemberSecond;
|
||||
|
||||
@TableField("POINT_MEMBER_THIRD")
|
||||
private Long pointMemberThird;
|
||||
/**
|
||||
* 第三层会员子节点
|
||||
*/
|
||||
|
@ -275,10 +265,22 @@ public class CuMemberRetailDetail {
|
|||
private Integer pointThird;
|
||||
|
||||
/**
|
||||
* 第三层会员ID
|
||||
* 三阶段1层奖金次数
|
||||
*/
|
||||
@TableField("POINT_MEMBER_THIRD")
|
||||
private Long pointMemberThird;
|
||||
@TableField("THIRD_BONUS_1")
|
||||
private Integer thirdBonus1;
|
||||
|
||||
/**
|
||||
* 三阶段2层奖金次数
|
||||
*/
|
||||
@TableField("THIRD_BONUS_2")
|
||||
private Integer thirdBonus2;
|
||||
|
||||
/**
|
||||
* 三阶段3层奖金次数
|
||||
*/
|
||||
@TableField("THIRD_BONUS_3")
|
||||
private Integer thirdBonus3;
|
||||
|
||||
/**
|
||||
* 更新标记(不为null则需要入库)
|
||||
|
|
|
@ -195,4 +195,10 @@ public class CuMemberRetailRange extends BaseEntity {
|
|||
@TableField("point_count")
|
||||
private Integer pointCount;
|
||||
|
||||
/**
|
||||
* 复购业绩余额
|
||||
*/
|
||||
@TableField("REP_PV_BALANCE")
|
||||
private BigDecimal repPvBalance;
|
||||
|
||||
}
|
||||
|
|
|
@ -56,124 +56,10 @@ public class CuMemberBonus extends BaseEntity {
|
|||
private BigDecimal directIncome;
|
||||
|
||||
/**
|
||||
* 拓展收益
|
||||
* 阶段收益-众康
|
||||
*/
|
||||
@TableField("EXPAND_INCOME")
|
||||
private BigDecimal expandIncome;
|
||||
|
||||
/**
|
||||
* 拓展无封 (拓展收益按等级正常比例结算,并 拓展收益按等级正常比例结算 无封顶)
|
||||
*/
|
||||
@TableField("EXPAND_NO_CAPPING")
|
||||
private BigDecimal expandNoCapping;
|
||||
|
||||
/**
|
||||
* 拓展封顶 (拓展收益按等级正常比例结算,不按4-N结算,根据配置的封顶值限制最大收益)
|
||||
*/
|
||||
@TableField("EXPAND_CAPPING")
|
||||
private BigDecimal expandCapping;
|
||||
|
||||
/**
|
||||
* 培育津贴
|
||||
*/
|
||||
@TableField("COACH_INCOME")
|
||||
private BigDecimal coachIncome;
|
||||
|
||||
/**
|
||||
* 分红收益
|
||||
*/
|
||||
@TableField("SHARE_INCOME")
|
||||
private BigDecimal shareIncome;
|
||||
|
||||
/**
|
||||
* 报单收益
|
||||
*/
|
||||
@TableField("SERVICE_INCOME")
|
||||
private BigDecimal serviceIncome;
|
||||
|
||||
/**
|
||||
* 商城重消
|
||||
*/
|
||||
@TableField("BACK_POINTS")
|
||||
private BigDecimal backPoints;
|
||||
|
||||
/**
|
||||
* 平台服务费
|
||||
*/
|
||||
@TableField("SERVICE_SPEND")
|
||||
private BigDecimal serviceSpend;
|
||||
|
||||
/**
|
||||
* 首购实发小计
|
||||
*/
|
||||
@TableField("PUR_REAL_SUBTOTAL")
|
||||
private BigDecimal purRealSubtotal;
|
||||
|
||||
/**
|
||||
* 复购推荐收益 修改为互助收益 cu_member_bonus_push
|
||||
*/
|
||||
@TableField("REPUR_PUSH_INCOME")
|
||||
private BigDecimal repurPushIncome;
|
||||
|
||||
/**
|
||||
* 复购级差收益
|
||||
*/
|
||||
@TableField("REPUR_RANGE_INCOME")
|
||||
private BigDecimal repurRangeIncome;
|
||||
|
||||
/**
|
||||
* 复购拓展收益
|
||||
*/
|
||||
@TableField("REPUR_EXPAND_INCOME")
|
||||
private BigDecimal repurExpandIncome;
|
||||
|
||||
/**
|
||||
* 复购实发小计
|
||||
*/
|
||||
@TableField("REPUR_REAL_SUBTOTAL")
|
||||
private BigDecimal repurRealSubtotal;
|
||||
|
||||
/**
|
||||
* 云代直推收益 修改为幸运收益 cu_member_bonus_coach
|
||||
*/
|
||||
@TableField("CLOUD_DIRECT_INCOME")
|
||||
private BigDecimal cloudDirectIncome;
|
||||
|
||||
/**
|
||||
* 云代首购收益 修改为极差收益 cu_member_bonus_range
|
||||
*/
|
||||
@TableField("CLOUD_PUR_INCOME")
|
||||
private BigDecimal cloudPurIncome;
|
||||
|
||||
/**
|
||||
* 云代复购收益 修改为平级收益 cu_member_bonus_range
|
||||
*/
|
||||
@TableField("CLOUD_REPUR_INCOME")
|
||||
private BigDecimal cloudRepurIncome;
|
||||
|
||||
/**
|
||||
* 云代实发小计 修改为 极差小计
|
||||
*/
|
||||
@TableField("CLOUD_REAL_SUBTOTAL")
|
||||
private BigDecimal cloudRealSubtotal;
|
||||
|
||||
/**
|
||||
* 复购券
|
||||
*/
|
||||
@TableField("REPUR_COUPON")
|
||||
private BigDecimal repurCoupon;
|
||||
|
||||
/**
|
||||
* 复购券均分收益
|
||||
*/
|
||||
@TableField("REPUR_COUPON_SHARE")
|
||||
private BigDecimal repurCouponShare;
|
||||
|
||||
/**
|
||||
* 复购券小计
|
||||
*/
|
||||
@TableField("REPUR_COUPON_SUBTOTAL")
|
||||
private BigDecimal repurCouponSubtotal;
|
||||
@TableField("STORE_INCOME")
|
||||
private BigDecimal storeIncome;
|
||||
|
||||
/**
|
||||
* 复购见点收益-众康
|
||||
|
@ -181,95 +67,7 @@ public class CuMemberBonus extends BaseEntity {
|
|||
@TableField("GLOBAL_POINTS")
|
||||
private BigDecimal globalPoints;
|
||||
|
||||
/**
|
||||
* 车奖积分
|
||||
*/
|
||||
@TableField("CAR_AWARD_POINTS")
|
||||
private BigDecimal carAwardPoints;
|
||||
|
||||
/**
|
||||
* 阶段收益-众康
|
||||
*/
|
||||
@TableField("STORE_INCOME")
|
||||
private BigDecimal storeIncome;
|
||||
|
||||
/**
|
||||
* 嗨粉推荐收益
|
||||
*/
|
||||
@TableField("HI_FUN_INCOME")
|
||||
private BigDecimal hiFunIncome;
|
||||
|
||||
/**
|
||||
* 海粉推荐收益
|
||||
*/
|
||||
@TableField("HAI_FUN_INCOME")
|
||||
private BigDecimal haiFunIncome;
|
||||
|
||||
/**
|
||||
* 创客空间直推收益
|
||||
*/
|
||||
@TableField("MAKER_DIRECT_INCOME")
|
||||
private BigDecimal makerDirectIncome;
|
||||
|
||||
/**
|
||||
* 创客共享收益
|
||||
*/
|
||||
@TableField("MAKER_SHARE_INCOME")
|
||||
private BigDecimal makerShareIncome;
|
||||
|
||||
/**
|
||||
* 创客空间收益小计
|
||||
*/
|
||||
@TableField("MAKER_REAL_SUBTOTAL")
|
||||
private BigDecimal makerRealSubtotal;
|
||||
|
||||
/**
|
||||
* 新零售直推收益
|
||||
*/
|
||||
@TableField("RETAIL_RANGE_INCOME")
|
||||
private BigDecimal retailRangeIncome;
|
||||
|
||||
/**
|
||||
* 新零售平级收益
|
||||
*/
|
||||
@TableField("RETAIL_SAME_LEVEL_INCOME")
|
||||
private BigDecimal retailSameLevelIncome;
|
||||
|
||||
/**
|
||||
* 新零售区域分红
|
||||
*/
|
||||
@TableField("RETAIL_AREA_INCOME")
|
||||
private BigDecimal retailAreaIncome;
|
||||
|
||||
/**
|
||||
* 新零售福利级差收益
|
||||
*/
|
||||
@TableField("RETAIL_BENEFIT_RANGE_INCOME")
|
||||
private BigDecimal retailBenefitRangeIncome;
|
||||
|
||||
/**
|
||||
* 新零售复购级差收益
|
||||
*/
|
||||
@TableField("RETAIL_MONTH_REPURCHASE_INCOME")
|
||||
private BigDecimal retailMonthRepurchaseIncome;
|
||||
|
||||
/**
|
||||
* 福利分红平均收益
|
||||
*/
|
||||
@TableField("RETAIL_BENEFIT_AVG_INCOME")
|
||||
private BigDecimal retailBenefitAvgIncome;
|
||||
|
||||
/**
|
||||
* 福利分红加权收益
|
||||
*/
|
||||
@TableField("RETAIL_BENEFIT_INCOME")
|
||||
private BigDecimal retailBenefitIncome;
|
||||
|
||||
/**
|
||||
* 新零售收益小计
|
||||
*/
|
||||
@TableField("RETAIL_REAL_SUBTOTAL")
|
||||
private BigDecimal retailRealSubtotal;
|
||||
|
||||
/**
|
||||
* 实发收益总计
|
||||
|
|
|
@ -133,5 +133,11 @@ public class CuMemberBonusStage extends BaseEntity {
|
|||
@TableField("STAGE_NUM")
|
||||
private Integer stageNum;
|
||||
|
||||
/**
|
||||
* 来源会员ID
|
||||
*/
|
||||
@TableField("PK_SOURCE_MEMBER")
|
||||
private Long pkSourceMember;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,126 @@
|
|||
package com.hzs.common.domain.report;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.util.Date;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.hzs.common.core.web.domain.BaseEntity;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 销售业绩统计表
|
||||
* </p>
|
||||
*
|
||||
* @author sangelxiu1
|
||||
* @since 2025-09-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@TableName("CU_MEMBER_PERFORMANCE_SUMMARY")
|
||||
@KeySequence("C_M_PERFORMANCE_SUMMARY_SEQ")
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class CuMemberPerformanceSummary extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId("PK_ID")
|
||||
private Long pkId;
|
||||
|
||||
/**
|
||||
* 统计日期
|
||||
*/
|
||||
@TableField("SUMMARY_DATE")
|
||||
private Date summaryDate;
|
||||
|
||||
/**
|
||||
* 精品专区销售金额
|
||||
*/
|
||||
@TableField("RETAIL_REGISTER_AMOUNT")
|
||||
private BigDecimal retailRegisterAmount;
|
||||
|
||||
/**
|
||||
* 精品专区销售业绩
|
||||
*/
|
||||
@TableField("RETAIL_REGISTER_PV")
|
||||
private BigDecimal retailRegisterPv;
|
||||
|
||||
/**
|
||||
* 甄选专区销售金额
|
||||
*/
|
||||
@TableField("RETAIL_UPGRADE_AMOUNT")
|
||||
private BigDecimal retailUpgradeAmount;
|
||||
|
||||
/**
|
||||
* 甄选专区销售业绩
|
||||
*/
|
||||
@TableField("RETAIL_UPGRADE_PV")
|
||||
private BigDecimal retailUpgradePv;
|
||||
|
||||
/**
|
||||
* 商城专区销售金额
|
||||
*/
|
||||
@TableField("RETAIL_REPURCHASE_AMOUNT")
|
||||
private BigDecimal retailRepurchaseAmount;
|
||||
|
||||
/**
|
||||
* 商城专区销售业绩
|
||||
*/
|
||||
@TableField("RETAIL_REPURCHASE_PV")
|
||||
private BigDecimal retailRepurchasePv;
|
||||
|
||||
/**
|
||||
* 五折专区销售金额
|
||||
*/
|
||||
@TableField("RETAIL_DISCOUNT_AMOUNT")
|
||||
private BigDecimal retailDiscountAmount;
|
||||
|
||||
/**
|
||||
* 五折专区销售业绩
|
||||
*/
|
||||
@TableField("RETAIL_DISCOUNT_PV")
|
||||
private BigDecimal retailDiscountPv;
|
||||
|
||||
/**
|
||||
* 当期销售金额合计
|
||||
*/
|
||||
@TableField("TOTAL_AMOUNT")
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/**
|
||||
* 当期销售业绩合计
|
||||
*/
|
||||
@TableField("TOTAL_PV")
|
||||
private BigDecimal totalPv;
|
||||
|
||||
/**
|
||||
* 当日分红合计(分红:所有专区PV值的1.5%每天进行记录)
|
||||
*/
|
||||
@TableField("DIVIDEND_PV")
|
||||
private BigDecimal dividendPv;
|
||||
|
||||
|
||||
public static CuMemberPerformanceSummary getInitCuMemberPerformanceSummary(Date summaryDate){
|
||||
return CuMemberPerformanceSummary.builder()
|
||||
.summaryDate(summaryDate)
|
||||
.retailRegisterAmount(BigDecimal.ZERO)
|
||||
.retailRegisterPv(BigDecimal.ZERO)
|
||||
.retailUpgradeAmount(BigDecimal.ZERO)
|
||||
.retailUpgradePv(BigDecimal.ZERO)
|
||||
.retailRepurchaseAmount(BigDecimal.ZERO)
|
||||
.retailRepurchasePv(BigDecimal.ZERO)
|
||||
.retailDiscountAmount(BigDecimal.ZERO)
|
||||
.retailDiscountPv(BigDecimal.ZERO)
|
||||
.totalAmount(BigDecimal.ZERO)
|
||||
.totalPv(BigDecimal.ZERO)
|
||||
.dividendPv(BigDecimal.ZERO)
|
||||
.build();
|
||||
}
|
||||
}
|
|
@ -72,11 +72,13 @@ public class JdPayAggregateCreateOrderRequest implements Serializable {
|
|||
* 同步通知页面url
|
||||
*/
|
||||
private String pageBackUrl;
|
||||
private String pagebackUrl;
|
||||
|
||||
/**
|
||||
* 点击完成按钮后跳转页面
|
||||
*/
|
||||
private String callbackUrl;
|
||||
private String callBackUrl;
|
||||
/**
|
||||
* 风控信息map-- json串
|
||||
*/
|
||||
|
|
|
@ -103,8 +103,13 @@ public class JdPayServiceImpl implements IJdPayService {
|
|||
// 用户标识(收银台必传)
|
||||
.userId(userId)
|
||||
// 同步通知URL(收银台必传,页面回调地址)
|
||||
|
||||
.pagebackUrl(jdPayBankProperties.getPageBackUrl() + "?extParam=" + onlinePayment.getExtParam())
|
||||
.pageBackUrl(jdPayBankProperties.getPageBackUrl() + "?extParam=" + onlinePayment.getExtParam())
|
||||
|
||||
.callbackUrl(jdPayBankProperties.getPageBackUrl() + "?extParam=" + onlinePayment.getExtParam())
|
||||
.callBackUrl(jdPayBankProperties.getPageBackUrl() + "?extParam=" + onlinePayment.getExtParam())
|
||||
|
||||
// 支付回调地址
|
||||
.notifyUrl(jdPayBankProperties.getNotifyUrl())
|
||||
// 交易类型
|
||||
|
|
|
@ -62,7 +62,7 @@ public class TOnlinePaymentServiceImpl extends ServiceImpl<TOnlinePaymentMapper,
|
|||
}else{
|
||||
tOnlinePaymentExt.setOrderTypeVal("充值订单");
|
||||
if(ObjectUtil.isEmpty(tOnlinePaymentExt.getMemberCode())){
|
||||
tOnlinePaymentExt.setOrderTypeVal("注册订单");
|
||||
tOnlinePaymentExt.setOrderTypeVal("");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
<!-- 查询列表 -->
|
||||
<select id="queryList" resultType="com.hzs.common.domain.third.pay.ext.TOnlinePaymentExt">
|
||||
select top.*, cm.member_code, cm.member_name,
|
||||
select so.pay_time payTime, cm.phone, top.*, cm.member_code, cm.member_name,
|
||||
so.order_type orderType
|
||||
from T_ONLINE_PAYMENT top
|
||||
left join cu_member cm
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
CREATE TABLE CU_MEMBER_PERFORMANCE_SUMMARY
|
||||
(
|
||||
"PK_ID" NUMBER(20,0) NOT NULL ENABLE,
|
||||
"SUMMARY_DATE" DATE NOT NULL ENABLE,
|
||||
"RETAIL_REGISTER_AMOUNT" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
|
||||
"RETAIL_REGISTER_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
|
||||
"RETAIL_UPGRADE_AMOUNT" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
|
||||
"RETAIL_UPGRADE_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
|
||||
"RETAIL_REPURCHASE_AMOUNT" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
|
||||
"RETAIL_REPURCHASE_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
|
||||
"RETAIL_DISCOUNT_AMOUNT" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
|
||||
"RETAIL_DISCOUNT_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
|
||||
"TOTAL_AMOUNT" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
|
||||
"TOTAL_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
|
||||
"DIVIDEND_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
|
||||
"DEL_FLAG" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE,
|
||||
"PK_COUNTRY" NUMBER(4,0) DEFAULT 1 NOT NULL ENABLE,
|
||||
"CREATION_TIME" DATE DEFAULT sysdate NOT NULL ENABLE,
|
||||
"MODIFIED_TIME" DATE,
|
||||
"PK_CREATOR" NUMBER(20,0) NOT NULL ENABLE,
|
||||
"PK_MODIFIED" NUMBER(20,0)
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."SUMMARY_DATE" IS '统计日期';
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."RETAIL_REGISTER_AMOUNT" IS '精品专区销售金额';
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."RETAIL_REGISTER_PV" IS '精品专区销售业绩';
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."RETAIL_UPGRADE_AMOUNT" IS '甄选专区销售金额';
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."RETAIL_UPGRADE_PV" IS '甄选专区销售业绩';
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."RETAIL_REPURCHASE_AMOUNT" IS '商城专区销售金额';
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."RETAIL_REPURCHASE_PV" IS '商城专区销售业绩';
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."RETAIL_DISCOUNT_AMOUNT" IS '五折专区销售金额';
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."RETAIL_DISCOUNT_PV" IS '五折专区销售业绩';
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."TOTAL_AMOUNT" IS '当期销售金额合计';
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."TOTAL_PV" IS '当期销售业绩合计';
|
||||
COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."DIVIDEND_PV" IS '当日分红合计(分红:所有专区PV值的1.5%每天进行记录)';
|
||||
|
||||
COMMENT ON TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" IS '销售业绩统计表';
|
||||
|
||||
|
||||
|
||||
CREATE SEQUENCE C_M_PERFORMANCE_SUMMARY_SEQ
|
||||
START WITH 1
|
||||
INCREMENT BY 1;
|
Loading…
Reference in New Issue