## 复购商品区域分红按指定的价格进行处理;
This commit is contained in:
parent
0dccb9792f
commit
c1c90edab8
|
@ -1596,14 +1596,26 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 区域收益,商品价格 * 0.5% * 商品数量
|
|
||||||
// 处理区域收益 -- 计算比例为 0.5%
|
// 处理区域收益 -- 计算比例为 0.5%
|
||||||
BigDecimal benefitIncome = BigDecimal.ZERO;
|
BigDecimal benefitIncome = BigDecimal.ZERO;
|
||||||
// 计算业绩(此处作为比例)
|
if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()
|
||||||
BigDecimal calAchieve = BigDecimal.ZERO;
|
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()) {
|
||||||
for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) {
|
// 注册、升级订单, 区域收益 = 商品价格 * 0.5% * 商品数量
|
||||||
benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(RetailConstants.SAME_RATIO)).setScale(6, BigDecimal.ROUND_HALF_UP);
|
for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) {
|
||||||
calAchieve = calAchieve.add(saOrderWaresExt.getWaresPrice());
|
// 商品最终价格
|
||||||
|
BigDecimal waresPrice = saOrderWaresExt.getWaresPrice();
|
||||||
|
// 商品数量
|
||||||
|
BigDecimal waresQuantityBig = new BigDecimal(saOrderWaresExt.getWaresQuantity());
|
||||||
|
// 单个商品价格
|
||||||
|
BigDecimal waresOnePrice = waresPrice.divide(waresQuantityBig, 6, RoundingMode.FLOOR);
|
||||||
|
|
||||||
|
benefitIncome = benefitIncome.add(waresOnePrice.multiply(RetailConstants.SAME_RATIO).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(waresQuantityBig));
|
||||||
|
}
|
||||||
|
} else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) {
|
||||||
|
// 复购订单, 区域收益 = 复购区域分红 * 商品数量
|
||||||
|
for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) {
|
||||||
|
benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity())));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome,
|
CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome,
|
||||||
cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME);
|
cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME);
|
||||||
|
|
|
@ -60,6 +60,7 @@
|
||||||
<result column="PK_WARES" property="pkWares"/>
|
<result column="PK_WARES" property="pkWares"/>
|
||||||
<result column="WARES_PRICE" property="waresPrice"/>
|
<result column="WARES_PRICE" property="waresPrice"/>
|
||||||
<result column="WARES_CODE" property="waresCode"/>
|
<result column="WARES_CODE" property="waresCode"/>
|
||||||
|
<result column="AREA_INCOME" property="areaIncome"/>
|
||||||
</collection>
|
</collection>
|
||||||
<collection property="orderItemsExtList" ofType="com.hzs.common.domain.sale.ext.SaOrderItemsExt">
|
<collection property="orderItemsExtList" ofType="com.hzs.common.domain.sale.ext.SaOrderItemsExt">
|
||||||
<result column="SI_ITEMS_ID" property="pkId"/>
|
<result column="SI_ITEMS_ID" property="pkId"/>
|
||||||
|
@ -153,7 +154,8 @@
|
||||||
nvl(st.pk_wares,0) pk_wares,
|
nvl(st.pk_wares,0) pk_wares,
|
||||||
nvl(st.wares_price,0) wares_price,
|
nvl(st.wares_price,0) wares_price,
|
||||||
nvl(bw.wares_code,'~') wares_code,
|
nvl(bw.wares_code,'~') wares_code,
|
||||||
nvl(st.wares_quantity,0) wares_quantity
|
nvl(st.wares_quantity,0) wares_quantity,
|
||||||
|
nvl(bw.area_income, 0) area_income
|
||||||
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
|
||||||
|
|
|
@ -4,6 +4,8 @@ import com.hzs.common.domain.sale.order.SaOrderWares;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
public class SaOrderWaresExt extends SaOrderWares {
|
public class SaOrderWaresExt extends SaOrderWares {
|
||||||
|
@ -13,4 +15,9 @@ public class SaOrderWaresExt extends SaOrderWares {
|
||||||
*/
|
*/
|
||||||
private String waresCode;
|
private String waresCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复购区域分红
|
||||||
|
*/
|
||||||
|
private BigDecimal areaIncome;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue