Compare commits
	
		
			2 Commits
		
	
	
		
			9d6fd9b7a8
			...
			634f657163
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | 634f657163 | |
|  | 0e2a1f2571 | 
|  | @ -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