|
|
@@ -114,7 +114,6 @@ public abstract class AbstractCreateOrderService implements ICreateOrderService
|
|
|
shopOrderBo.setUserUsePoint(createOrderBo.getUserUsePoint());
|
|
|
BusinessSalesConfigVo salesConfig = businessSalesConfigService.getSalesConfig(shopOrderBo.getBusinessId());
|
|
|
if (ObjectUtil.isNotNull(salesConfig)) {
|
|
|
- shopOrderBo.setGiftPointRatio(salesConfig.getGiftPointRatio());
|
|
|
shopOrderBo.setCashToPointsRatio(salesConfig.getCashToPointsRatio());
|
|
|
shopOrderBo.setCurrentCashToPointsRatio(salesConfig.getCashToPointsRatio());
|
|
|
shopOrderBo.setPointsToCashRatio(salesConfig.getPointsToCashRatio());
|
|
|
@@ -208,6 +207,7 @@ public abstract class AbstractCreateOrderService implements ICreateOrderService
|
|
|
shopOrderDetailBo.setTotalVolume(MathUtils.multiply(shopOrderDetailBo.getSingleVolume(), productNum));
|
|
|
shopOrderDetailBo.setProductCategoryId(product.getMerchantCategoryId());
|
|
|
shopOrderDetailBo.setCanGivePoint(product.getCanGivePoint());
|
|
|
+ shopOrderDetailBo.setGivePointRate(product.getGivePointRate());
|
|
|
shopOrderDetailBo.setGiveBackPoint(BigDecimal.ZERO);
|
|
|
shopOrderDetailBo.setTotalGiveBackPoint(BigDecimal.ZERO);
|
|
|
if (!product.getFreeShippingStatus()) {
|
|
|
@@ -252,19 +252,16 @@ public abstract class AbstractCreateOrderService implements ICreateOrderService
|
|
|
|
|
|
// 赠送积分处理
|
|
|
public void givePointHandle(ShopOrderBo shopOrderBo) {
|
|
|
- if (shopOrderBo.getGiftPointRatio().compareTo(BigDecimal.ZERO)<=0) {
|
|
|
- return;
|
|
|
- }
|
|
|
List<ShopOrderDetailBo> shopOrderDetailBoList = shopOrderBo.getShopOrderDetailBoList();
|
|
|
for (ShopOrderDetailBo shopOrderDetailBo : shopOrderDetailBoList) {
|
|
|
if (shopOrderDetailBo.getCanGivePoint()) {
|
|
|
- if(shopOrderDetailBo.getPaymentAmount().compareTo(BigDecimal.ZERO)<=0)
|
|
|
+ if(shopOrderDetailBo.getPaymentAmount().compareTo(BigDecimal.ZERO)<=0 || shopOrderDetailBo.getGivePointRate().compareTo(BigDecimal.ZERO)==0)
|
|
|
{
|
|
|
shopOrderDetailBo.setGiveBackPoint(BigDecimal.ZERO);
|
|
|
shopOrderDetailBo.setTotalGiveBackPoint(BigDecimal.ZERO);
|
|
|
continue;
|
|
|
}
|
|
|
- BigDecimal totalGiveBackPoint = shopOrderDetailBo.getPaymentAmount().multiply(shopOrderBo.getGiftPointRatio()).multiply(shopOrderBo.getPointsToCashRatio());
|
|
|
+ BigDecimal totalGiveBackPoint = shopOrderDetailBo.getPaymentAmount().multiply(shopOrderDetailBo.getGivePointRate()).multiply(shopOrderBo.getPointsToCashRatio());
|
|
|
shopOrderDetailBo.setTotalGiveBackPoint(totalGiveBackPoint.divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP));
|
|
|
shopOrderDetailBo.setGiveBackPoint(shopOrderDetailBo.getTotalGiveBackPoint().divide(new BigDecimal(shopOrderDetailBo.getProductNum()), 2, RoundingMode.HALF_UP));
|
|
|
}
|