| | |
| | | //分销订单总额 |
| | | Double orderTotal=0D; |
| | | for (ShopOrderDetails item:order.getDetails() ){ |
| | | if(StringUtils.isNotBlank(item.getShopProduct().getAttrValues()) |
| | | && item.getShopProduct().getAbleSales()==ShopProduct.ABLE_SALES){ |
| | | if(item.getShopProduct().getAbleSales()==ShopProduct.ABLE_SALES){ |
| | | orderTotal+=item.getTotalPrice().doubleValue(); |
| | | } |
| | | } |
| | | //自购返佣 |
| | | for (ShopOrderDetails item:order.getDetails() ){ |
| | | if(item.getShopProduct().getAbleSales()==ShopProduct.ABLE_SALES){ |
| | | //分销规则是否开启自购返佣 |
| | | BusParameterSettings zgfy = parameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_ZGFY, bizUser.getCompanyId()); |
| | | //按分销等级计算 |
| | | ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectById(bizUser.getSalesmanGrade()); |
| | | if(ObjectUtil.isNotEmpty(zgfy)) { |
| | | //获取商品的自购返佣价格,如果没有设置,在去获取当前推广人的等级的自购返佣比例 |
| | | if(StrUtil.isNotEmpty(zgfy.getParamValue()) && |
| | | FenxiaoSettingConstant.FX_ZGFY_YES.equals(zgfy.getParamValue())) { |
| | | if(item.getShopSku().getSelfPrice() == null |
| | | ||item.getShopSku().getSealesPrice().doubleValue() == 0){ |
| | | selfAmount+=item.getTotalPrice().doubleValue()*(shopSalesmanGrade.getSelfCommission()/100); |
| | | }else { |
| | | //按产品设置的自购返佣金额计算 |
| | | selfAmount+=item.getShopSku().getSelfPrice().doubleValue()*item.getCount(); |
| | | } |
| | | } |
| | | Integer isSales = bizUser.getIsSales(); |
| | | if(BizUser.IS_SALES == isSales){ |
| | | for (ShopOrderDetails item:order.getDetails() ){ |
| | | if(item.getShopProduct().getAbleSales()==ShopProduct.ABLE_SALES){ |
| | | //分销规则是否开启自购返佣 |
| | | BusParameterSettings zgfy = parameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_ZGFY, bizUser.getCompanyId()); |
| | | //按分销等级计算 |
| | | ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectById(bizUser.getSalesmanGrade()); |
| | | if(ObjectUtil.isNotEmpty(zgfy)) { |
| | | //获取商品的自购返佣价格,如果没有设置,在去获取当前推广人的等级的自购返佣比例 |
| | | if(StrUtil.isNotEmpty(zgfy.getParamValue()) && |
| | | FenxiaoSettingConstant.FX_ZGFY_YES.equals(zgfy.getParamValue())) { |
| | | if(item.getShopSku().getSelfPrice() == null |
| | | ||item.getShopSku().getSealesPrice().doubleValue() == 0){ |
| | | selfAmount+=item.getTotalPrice().doubleValue()*(shopSalesmanGrade.getSelfCommission()/100); |
| | | }else { |
| | | //按产品设置的自购返佣金额计算 |
| | | selfAmount+=item.getShopSku().getSelfPrice().doubleValue()*item.getCount(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //自购返佣记录 |
| | | if(selfAmount > 0) { |
| | | //整体的优惠金额折算成折扣,* 佣金 |
| | | zk=order.getOrderMoney().doubleValue()/orderTotal; |
| | | selfAmount=selfAmount*zk; |
| | | salesmanOrder.setAmount(selfAmount); |
| | | salesmanOrder.setSalesUserId(order.getUserId()); |
| | | shopSalesmanOrderDao.insert(salesmanOrder); |
| | | } |
| | | } |
| | | //自购返佣记录 |
| | | if(selfAmount > 0) { |
| | | //整体的优惠金额折算成折扣,* 佣金 |
| | | zk=order.getOrderMoney().doubleValue()/orderTotal; |
| | | selfAmount=selfAmount*zk; |
| | | salesmanOrder.setAmount(selfAmount); |
| | | salesmanOrder.setSalesUserId(order.getUserId()); |
| | | shopSalesmanOrderDao.insert(salesmanOrder); |
| | | } |
| | | |
| | | //存在上级 |
| | | if(StringUtils.isNotBlank(bizUser.getParentOpenId())) { |
| | | BizUser salesMan=bizUserService.findByOpenId(bizUser.getParentOpenId()); |