forked from angelo/java-retail-app
## 区域分红收益处理;
This commit is contained in:
parent
75ad4f97a3
commit
ffc688d029
|
@ -192,7 +192,7 @@ public abstract class BonusSettleHandle {
|
||||||
*/
|
*/
|
||||||
protected Boolean validatePkBonusItems(BonusConfigDTO bonusConfigDTO, Integer pkCountry, Integer bonusItems) {
|
protected Boolean validatePkBonusItems(BonusConfigDTO bonusConfigDTO, Integer pkCountry, Integer bonusItems) {
|
||||||
BdBonusItemsExt bdBonusItemsExt = bonusConfigDTO.getBonusItemsExtMap().get(pkCountry.toString() + bonusItems);
|
BdBonusItemsExt bdBonusItemsExt = bonusConfigDTO.getBonusItemsExtMap().get(pkCountry.toString() + bonusItems);
|
||||||
return bdBonusItemsExt == null || bdBonusItemsExt.getPkId() == null;
|
return null == bdBonusItemsExt || null == bdBonusItemsExt.getPkId();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1124,10 +1124,7 @@ public abstract class BonusSettleHandle {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 云代计算 扣项,小计,总计
|
* 扣项,小计,总计
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/1/11 13:59
|
|
||||||
*/
|
*/
|
||||||
protected void setRetailTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
|
protected void setRetailTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
|
||||||
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
|
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
|
||||||
|
@ -1137,23 +1134,7 @@ public abstract class BonusSettleHandle {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 云代计算 扣项,小计,总计
|
* 扣项,小计,总计
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/1/11 13:59
|
|
||||||
*/
|
|
||||||
protected void setMakerTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
|
|
||||||
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
|
|
||||||
BigDecimal realIncome = ReflectUtils.invokeGetter(bonusDetail, BonusFieldConstants.REAL_INCOME);
|
|
||||||
cuMemberBonus.setMakerRealSubtotal(ComputeUtil.computeAdd(cuMemberBonus.getMakerRealSubtotal(), realIncome));
|
|
||||||
cuMemberBonus.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonus.getRealIncomeTotal(), realIncome));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description: 云代计算 扣项,小计,总计
|
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/1/11 13:59
|
|
||||||
*/
|
*/
|
||||||
protected void setRepurchaseCouponTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
|
protected void setRepurchaseCouponTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
|
||||||
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
|
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
|
||||||
|
|
|
@ -130,17 +130,18 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 计算自消费奖衔
|
// 计算自消费奖衔
|
||||||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||||
// 先算等级 注册、升级计算等级
|
// 先算等级 注册、升级计算等级
|
||||||
// 订单指定产品盒数(计算等级使用)
|
// 订单指定产品盒数
|
||||||
int boxNum = saOrderExt.getBoxNum();
|
int boxNum = 0;
|
||||||
// int boxNum = 0;
|
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
||||||
// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) {
|
||||||
// for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) {
|
if (saOrderItems.getWaresCode().equals(waresCode)) {
|
||||||
// if (saOrderItems.getWaresCode().equals(waresCode)) {
|
boxNum += saOrderItems.getWaresQuantity();
|
||||||
// boxNum += saOrderItems.getWaresQuantity();
|
break;
|
||||||
// break;
|
}
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// }
|
saOrderExt.setBoxNum(boxNum);
|
||||||
|
|
||||||
// 订单业绩
|
// 订单业绩
|
||||||
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
||||||
if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()
|
if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()
|
||||||
|
@ -163,7 +164,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 计算团队业绩、盒数,计算等级、奖衔
|
// 计算团队业绩、盒数,计算等级、奖衔
|
||||||
cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, boxNum, cuMemberGradeList));
|
cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, boxNum, cuMemberGradeList));
|
||||||
|
|
||||||
|
|
||||||
// TODO new 奖金处理
|
// TODO new 奖金处理
|
||||||
List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>();
|
List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>();
|
||||||
// 计算奖金 计算平级收益
|
// 计算奖金 计算平级收益
|
||||||
|
@ -184,8 +184,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
List<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty());
|
List<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty());
|
||||||
countyRangeExtList.forEach(cuMemberRetailRangeExt ->
|
countyRangeExtList.forEach(cuMemberRetailRangeExt ->
|
||||||
countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
|
countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
|
||||||
|
|
||||||
// 计算区域奖
|
// 计算区域奖
|
||||||
CuMemberBonusDetail cuMemberBonusDetail = calculateRetailAreaBonus(countyRangeExtMap, saOrderExt, bonusConfigDTO, currentPeriod, memberRangeExtMap, cuMemberBonusMap);
|
CuMemberBonusDetail cuMemberBonusDetail = calculateRetailAreaBonus(countyRangeExtMap, bonusConfigDTO, currentPeriod, memberRangeExtMap, cuMemberBonusMap, saOrderExt);
|
||||||
if (cuMemberBonusDetail != null) {
|
if (cuMemberBonusDetail != null) {
|
||||||
cuMemberBonusDetailList.add(cuMemberBonusDetail);
|
cuMemberBonusDetailList.add(cuMemberBonusDetail);
|
||||||
}
|
}
|
||||||
|
@ -409,8 +410,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 更新网体
|
// 更新网体
|
||||||
iCuMemberRetailRangeService.mergeMemberRetailRangeByYesterday(settleEndDate, rangeTableName, yesterdayRangeTableName, isSameMonth);
|
iCuMemberRetailRangeService.mergeMemberRetailRangeByYesterday(settleEndDate, rangeTableName, yesterdayRangeTableName, isSameMonth);
|
||||||
|
|
||||||
//////////////// TODO //////////////////////
|
|
||||||
|
|
||||||
// 回退历史注水
|
// 回退历史注水
|
||||||
iCuMemberRetailRangeService.mergeCuMemberRetailBackBoxBySpecial(rangeTableName, yesterdayRangeTableName, period);
|
iCuMemberRetailRangeService.mergeCuMemberRetailBackBoxBySpecial(rangeTableName, yesterdayRangeTableName, period);
|
||||||
// 更新注水
|
// 更新注水
|
||||||
|
@ -426,7 +425,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
|
|
||||||
// 会员结算map(key:会员ID,value:结算扩展)
|
// 会员结算map(key:会员ID,value:结算扩展)
|
||||||
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>();
|
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>();
|
||||||
|
|
||||||
// 购买升级等级map(key:等级值,value:等级对象)
|
// 购买升级等级map(key:等级值,value:等级对象)
|
||||||
Map<Integer, BdGrade> retaiBuyGradeMap = new TreeMap<>();
|
Map<Integer, BdGrade> retaiBuyGradeMap = new TreeMap<>();
|
||||||
// 团队升级等级map(key:等级值,value:等级对象)
|
// 团队升级等级map(key:等级值,value:等级对象)
|
||||||
|
@ -537,31 +535,35 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
|
|
||||||
|
|
||||||
// TODO new 奖金处理
|
// TODO new 奖金处理
|
||||||
// 计算奖金 计算极差平级收益
|
// 计算奖金 直推级差 + 平级收益
|
||||||
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
if ((EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
||||||
for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) {
|
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType())
|
||||||
if (saOrderItems.getWaresCode() != null && saOrderItems.getWaresCode().equals(waresCode)) {
|
&& boxNum > 0
|
||||||
|
) {
|
||||||
|
// 注册或升级订单并且存在盒数产品,才有 直推级差收益 和 平级收益
|
||||||
|
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
||||||
|
// 直推级差 + 平级收益
|
||||||
|
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
|
||||||
|
|
||||||
|
// 计算完奖金算等级
|
||||||
|
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() ||
|
||||||
|
EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType() ||
|
||||||
|
EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) {
|
||||||
|
// 计算个人等级,消费等级
|
||||||
int waresQuantity = saOrderItems.getWaresQuantity();
|
int waresQuantity = saOrderItems.getWaresQuantity();
|
||||||
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
|
int buyBoxNum = sourceMemberRangeExt.getBuyNum() + waresQuantity;
|
||||||
// 计算完奖金算等级
|
if (memberLevelMap.containsKey(saOrderExt.getPkId())) {
|
||||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() ||
|
CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId());
|
||||||
EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType() ||
|
if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
|
||||||
EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) {
|
BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel());
|
||||||
// 计算个人等级,消费等级
|
if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) {
|
||||||
int buyBoxNum = sourceMemberRangeExt.getBuyNum() + waresQuantity;
|
sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
|
||||||
if (memberLevelMap.containsKey(saOrderExt.getPkId())) {
|
sourceMemberRangeExt.setPkGrade(bdGrade.getPkId());
|
||||||
CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId());
|
sourceMemberRangeExt.setGradeName(bdGrade.getGradeName());
|
||||||
if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
|
if (sourceMemberRangeExt.getSameDate() == EYesNo.NO.getIntValue()) {
|
||||||
BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel());
|
sourceMemberRangeExt.setBuyNum(bdGrade.getBoxNumber());
|
||||||
if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) {
|
} else {
|
||||||
sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
|
sourceMemberRangeExt.setBuyNum(buyBoxNum);
|
||||||
sourceMemberRangeExt.setPkGrade(bdGrade.getPkId());
|
|
||||||
sourceMemberRangeExt.setGradeName(bdGrade.getGradeName());
|
|
||||||
if (sourceMemberRangeExt.getSameDate() == EYesNo.NO.getIntValue()) {
|
|
||||||
sourceMemberRangeExt.setBuyNum(bdGrade.getBoxNumber());
|
|
||||||
} else {
|
|
||||||
sourceMemberRangeExt.setBuyNum(buyBoxNum);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -569,11 +571,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_CONSUME.getValue())) {
|
|
||||||
continue;
|
// 计算区域奖
|
||||||
}
|
CuMemberBonusDetail cuMemberBonusDetail = calculateRetailAreaBonus(countyRangeExtMap, bonusConfigDTO, period, memberRangeExtMap, cuMemberBonusMap, saOrderExt);
|
||||||
// 计算区域奖
|
|
||||||
CuMemberBonusDetail cuMemberBonusDetail = calculateRetailAreaBonus(countyRangeExtMap, saOrderExt, bonusConfigDTO, period, memberRangeExtMap, cuMemberBonusMap);
|
|
||||||
if (cuMemberBonusDetail != null) {
|
if (cuMemberBonusDetail != null) {
|
||||||
cuMemberBonusDetailList.add(cuMemberBonusDetail);
|
cuMemberBonusDetailList.add(cuMemberBonusDetail);
|
||||||
}
|
}
|
||||||
|
@ -1268,8 +1268,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
/**
|
/**
|
||||||
* 计算极差收益,根据极差收益计算平级收益
|
* 计算极差收益,根据极差收益计算平级收益
|
||||||
*/
|
*/
|
||||||
List<CuMemberBonusRange> calculateRetailRangeBonus(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, Map<Long, CuMemberBonus> cuMemberBonusMap, Map<Integer, BdGrade> gradeMap, BonusConfigDTO bonusConfigDTO,
|
List<CuMemberBonusRange> calculateRetailRangeBonus(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||||
Integer period, SaOrderWaresExt saOrderItems, SaOrderExt saOrderExt) {
|
Map<Integer, BdGrade> gradeMap, BonusConfigDTO bonusConfigDTO, Integer period,
|
||||||
|
SaOrderWaresExt saOrderItems, SaOrderExt saOrderExt) {
|
||||||
List<CuMemberBonusRange> memberBonusRangeList = new ArrayList<>();
|
List<CuMemberBonusRange> memberBonusRangeList = new ArrayList<>();
|
||||||
// 用等级计算,按照一级级算
|
// 用等级计算,按照一级级算
|
||||||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||||
|
@ -1422,30 +1423,57 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
return memberBonusRangeList;
|
return memberBonusRangeList;
|
||||||
}
|
}
|
||||||
|
|
||||||
CuMemberBonusDetail calculateRetailAreaBonus(Map<String, CuMemberRetailRangeExt> countyRangeExtMap, SaOrder saOrder,
|
/**
|
||||||
|
* 计算区域奖
|
||||||
|
*
|
||||||
|
* @param countyRangeExtMap
|
||||||
|
* @param saOrder
|
||||||
|
* @param bonusConfigDTO
|
||||||
|
* @param period
|
||||||
|
* @param memberRangeExtMap
|
||||||
|
* @param cuMemberBonusMap
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
CuMemberBonusDetail calculateRetailAreaBonus(Map<String, CuMemberRetailRangeExt> countyRangeExtMap,
|
||||||
BonusConfigDTO bonusConfigDTO, Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
BonusConfigDTO bonusConfigDTO, Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
||||||
Map<Long, CuMemberBonus> cuMemberBonusMap) {
|
Map<Long, CuMemberBonus> cuMemberBonusMap, SaOrder saOrder) {
|
||||||
CuMemberRetailRangeExt sourceRetailRangeExt = memberRangeExtMap.get(saOrder.getPkMember());
|
// 重消订单没有区域分红
|
||||||
CuMemberRetailRangeExt cuMemberRetailRangeExt = countyRangeExtMap.get(sourceRetailRangeExt.getSystemType() + "_" + saOrder.getRecCounty());
|
if (saOrder.getOrderType().equals(EOrderType.RETAIL_CONSUME.getValue())) {
|
||||||
if (cuMemberRetailRangeExt == null) {
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
// 区域分红根据商品盒数来,如果没有盒数,直接返回为空
|
||||||
|
if (saOrder.getBoxNum() == 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
CuMemberRetailRangeExt sourceRetailRangeExt = memberRangeExtMap.get(saOrder.getPkMember());
|
||||||
|
// 获取对应区域会员
|
||||||
|
CuMemberRetailRangeExt cuMemberRetailRangeExt = countyRangeExtMap.get(sourceRetailRangeExt.getSystemType() + "_" + saOrder.getRecCounty());
|
||||||
|
if (null == cuMemberRetailRangeExt) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
// 获取区域会员结算数据
|
||||||
if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
||||||
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
||||||
}
|
}
|
||||||
if (ECategory.NORMAL.getValue() != cuMemberRetailRangeExt.getCategory() ||
|
|
||||||
EAccountStatus.STOP_INCOME.getValue() == cuMemberRetailRangeExt.getAccountStatus() ||
|
// 非正常用户 或者 停止收益 或 未激活,不能获取区域收益
|
||||||
cuMemberRetailRangeExt.getEnableStatus() == EYesNo.NO.getIntValue()) {
|
if (ECategory.NORMAL.getValue() != cuMemberRetailRangeExt.getCategory()
|
||||||
|
|| EAccountStatus.STOP_INCOME.getValue() == cuMemberRetailRangeExt.getAccountStatus()
|
||||||
|
|| cuMemberRetailRangeExt.getEnableStatus() == EYesNo.NO.getIntValue()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// 验证是否有奖金
|
// 验证是否有奖金
|
||||||
if (validatePkBonusItems(bonusConfigDTO, cuMemberRetailRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_AREA_INCOME.getValue())) {
|
if (validatePkBonusItems(bonusConfigDTO, cuMemberRetailRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_AREA_INCOME.getValue())) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
BigDecimal bonusRatio = BigDecimal.valueOf(0.4);
|
|
||||||
BigDecimal benefitIncome = ComputeUtil.computeBonusMultiply(saOrder.getOrderAchieve(), bonusRatio);
|
BigDecimal boxNumBig = new BigDecimal(saOrder.getBoxNum());
|
||||||
CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, bonusRatio, benefitIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME);
|
// 处理区域收益(每盒2元)
|
||||||
cuMemberBonusDetail.setCalAchieve(saOrder.getOrderAchieve());
|
BigDecimal benefitIncome = RetailProductConstants.AREA_BOX_BONUS.multiply(boxNumBig);
|
||||||
|
CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, BigDecimal.ZERO, benefitIncome,
|
||||||
|
cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME);
|
||||||
|
cuMemberBonusDetail.setCalAchieve(boxNumBig);
|
||||||
cuMemberBonusDetail.setPkOrder(saOrder.getPkId());
|
cuMemberBonusDetail.setPkOrder(saOrder.getPkId());
|
||||||
String remark = String.format(BonusMsgConstants.RETAIL_AREA_INCOME, saOrder.getOrderCode(),
|
String remark = String.format(BonusMsgConstants.RETAIL_AREA_INCOME, saOrder.getOrderCode(),
|
||||||
memberRangeExtMap.get(saOrder.getPkMember()).getMemberCode() + memberRangeExtMap.get(saOrder.getPkMember()).getMemberName(),
|
memberRangeExtMap.get(saOrder.getPkMember()).getMemberCode() + memberRangeExtMap.get(saOrder.getPkMember()).getMemberName(),
|
||||||
|
@ -1963,7 +1991,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 奖金明细 报单服务费、分红、云代首购、云代复购、海豆收益
|
* 奖金明细
|
||||||
*
|
*
|
||||||
* @param saOrderExt 订单
|
* @param saOrderExt 订单
|
||||||
* @param cuMemberBonus 奖金主表
|
* @param cuMemberBonus 奖金主表
|
||||||
|
|
|
@ -156,7 +156,7 @@
|
||||||
nvl(st.wares_quantity,0) wares_quantity
|
nvl(st.wares_quantity,0) wares_quantity
|
||||||
from sa_order so
|
from sa_order so
|
||||||
left join sa_order_wares st
|
left join sa_order_wares st
|
||||||
on so.pk_id = st.pk_order and st.wares_price >0
|
on so.pk_id = st.pk_order and st.wares_price > 0
|
||||||
left join bd_wares bw
|
left join bd_wares bw
|
||||||
on bw.pk_id = st.pk_wares and bw.del_flag = 0
|
on bw.pk_id = st.pk_wares and bw.del_flag = 0
|
||||||
where so.order_status = 1
|
where so.order_status = 1
|
||||||
|
@ -168,7 +168,7 @@
|
||||||
) od
|
) od
|
||||||
left join bd_currency bc
|
left join bd_currency bc
|
||||||
on od.pk_rate = bc.pk_id
|
on od.pk_rate = bc.pk_id
|
||||||
order by pay_time,wares_price desc
|
order by pay_time, wares_price desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="querySaOrderByTime" resultMap="saOrderExtResultMap">
|
<select id="querySaOrderByTime" resultMap="saOrderExtResultMap">
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.hzs.common.core.constant;
|
package com.hzs.common.core.constant;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -8,6 +9,11 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public class RetailProductConstants {
|
public class RetailProductConstants {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 区域分红,每盒2元
|
||||||
|
*/
|
||||||
|
public static final BigDecimal AREA_BOX_BONUS = new BigDecimal("2");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 盒数产品列表
|
* 盒数产品列表
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue