|
@@ -212,31 +212,31 @@ public class CommissionLogServiceImpl extends ServiceImpl<MtCommissionLogMapper,
|
|
|
lambdaQueryWrapper.eq(MtCommissionRuleItem::getTargetId, goodsId);
|
|
|
lambdaQueryWrapper.eq(MtCommissionRuleItem::getType, CommissionTypeEnum.GOODS.getKey());
|
|
|
lambdaQueryWrapper.eq(MtCommissionRuleItem::getStatus, StatusEnum.ENABLED.getKey());
|
|
|
+ lambdaQueryWrapper.groupBy(MtCommissionRuleItem::getTarget);
|
|
|
lambdaQueryWrapper.orderByDesc(MtCommissionRuleItem::getId);
|
|
|
List<MtCommissionRuleItem> commissionRuleItemList = mtCommissionRuleItemMapper.selectList(lambdaQueryWrapper);
|
|
|
if (commissionRuleItemList != null && commissionRuleItemList.size() > 0) {
|
|
|
- MtCommissionRuleItem mtCommissionRuleItem = commissionRuleItemList.get(0);
|
|
|
- MtCommissionRule mtCommissionRule = mtCommissionRuleMapper.selectById(mtCommissionRuleItem.getRuleId());
|
|
|
- // 规则状态正常
|
|
|
- if (mtCommissionRule != null && mtCommissionRule.getStatus().equals(StatusEnum.ENABLED.getKey())) {
|
|
|
- // 分佣金额计算,散客和会员佣金比例不同
|
|
|
- BigDecimal rate = mtCommissionRuleItem.getMember();
|
|
|
- if (mtOrder.getStaffId() != null && mtOrder.getStaffId() > 0 && mtOrder.getIsVisitor().equals(YesOrNoEnum.YES.getKey())) {
|
|
|
- rate = mtCommissionRuleItem.getGuest();
|
|
|
- }
|
|
|
- BigDecimal amount = orderGoods.getPrice().multiply(rate.divide(new BigDecimal("100")));
|
|
|
-
|
|
|
- // 员工提成计算,员工信息不能为空
|
|
|
- if (mtOrder.getStaffId() > 0 && mtCommissionRule.getTarget().equals(CommissionTargetEnum.STAFF.getKey())) {
|
|
|
- if (mtOrder.getStaffId() != null && mtOrder.getStaffId() > 0) {
|
|
|
- addCommissionLog(mtOrder, mtCommissionRule, amount, mtCommissionRuleItem, 0);
|
|
|
+ for (MtCommissionRuleItem mtCommissionRuleItem : commissionRuleItemList) {
|
|
|
+ MtCommissionRule mtCommissionRule = mtCommissionRuleMapper.selectById(mtCommissionRuleItem.getRuleId());
|
|
|
+ // 规则状态正常
|
|
|
+ if (mtCommissionRule != null && mtCommissionRule.getStatus().equals(StatusEnum.ENABLED.getKey())) {
|
|
|
+ // 分佣金额计算,散客和会员佣金比例不同
|
|
|
+ BigDecimal rate = mtCommissionRuleItem.getMember();
|
|
|
+ if (mtOrder.getStaffId() != null && mtOrder.getStaffId() > 0 && mtOrder.getIsVisitor().equals(YesOrNoEnum.YES.getKey())) {
|
|
|
+ rate = mtCommissionRuleItem.getGuest();
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- // 会员分销计算,会员信息不能为空
|
|
|
- if (mtOrder.getCommissionUserId() > 0 && mtCommissionRule.getTarget().equals(CommissionTargetEnum.MEMBER.getKey())) {
|
|
|
- addCommissionLog(mtOrder, mtCommissionRule, amount, mtCommissionRuleItem, mtOrder.getCommissionUserId());
|
|
|
- }
|
|
|
+ BigDecimal amount = orderGoods.getPrice().multiply(rate.divide(new BigDecimal("100")));
|
|
|
+ // 员工提成计算,员工信息不能为空
|
|
|
+ if (mtOrder.getStaffId() > 0 && mtCommissionRule.getTarget().equals(CommissionTargetEnum.STAFF.getKey())) {
|
|
|
+ if (mtOrder.getStaffId() != null && mtOrder.getStaffId() > 0) {
|
|
|
+ addCommissionLog(mtOrder, mtCommissionRule, amount, mtCommissionRuleItem, 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 会员分销计算,会员信息不能为空
|
|
|
+ if (mtOrder.getCommissionUserId() > 0 && mtCommissionRule.getTarget().equals(CommissionTargetEnum.MEMBER.getKey())) {
|
|
|
+ addCommissionLog(mtOrder, mtCommissionRule, amount, mtCommissionRuleItem, mtOrder.getCommissionUserId());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -249,19 +249,20 @@ public class CommissionLogServiceImpl extends ServiceImpl<MtCommissionLogMapper,
|
|
|
lambdaQueryWrapper.eq(MtCommissionRuleItem::getMerchantId, mtOrder.getMerchantId());
|
|
|
lambdaQueryWrapper.eq(MtCommissionRuleItem::getType, CommissionTypeEnum.RECHARGE.getKey());
|
|
|
lambdaQueryWrapper.eq(MtCommissionRuleItem::getStatus, StatusEnum.ENABLED.getKey());
|
|
|
+ lambdaQueryWrapper.groupBy(MtCommissionRuleItem::getTarget);
|
|
|
lambdaQueryWrapper.orderByDesc(MtCommissionRuleItem::getId);
|
|
|
List<MtCommissionRuleItem> commissionRuleItemList = mtCommissionRuleItemMapper.selectList(lambdaQueryWrapper);
|
|
|
if (commissionRuleItemList != null && commissionRuleItemList.size() > 0) {
|
|
|
- MtCommissionRuleItem mtCommissionRuleItem = commissionRuleItemList.get(0);
|
|
|
- MtCommissionRule mtCommissionRule = mtCommissionRuleMapper.selectById(mtCommissionRuleItem.getRuleId());
|
|
|
-
|
|
|
- // 分佣金额计算,散客和会员佣金比例不同
|
|
|
- BigDecimal rate = mtCommissionRuleItem.getMember();
|
|
|
- if (mtOrder.getStaffId() != null && mtOrder.getStaffId() > 0 && mtOrder.getIsVisitor().equals(YesOrNoEnum.YES.getKey())) {
|
|
|
- rate = mtCommissionRuleItem.getGuest();
|
|
|
+ for (MtCommissionRuleItem mtCommissionRuleItem : commissionRuleItemList) {
|
|
|
+ MtCommissionRule mtCommissionRule = mtCommissionRuleMapper.selectById(mtCommissionRuleItem.getRuleId());
|
|
|
+ // 分佣金额计算,散客和会员佣金比例不同
|
|
|
+ BigDecimal rate = mtCommissionRuleItem.getMember();
|
|
|
+ if (mtOrder.getStaffId() != null && mtOrder.getStaffId() > 0 && mtOrder.getIsVisitor().equals(YesOrNoEnum.YES.getKey())) {
|
|
|
+ rate = mtCommissionRuleItem.getGuest();
|
|
|
+ }
|
|
|
+ BigDecimal amount = mtOrder.getAmount().multiply(rate.divide(new BigDecimal("100")));
|
|
|
+ addCommissionLog(mtOrder, mtCommissionRule, amount, mtCommissionRuleItem, 0);
|
|
|
}
|
|
|
- BigDecimal amount = mtOrder.getAmount().multiply(rate.divide(new BigDecimal("100")));
|
|
|
- addCommissionLog(mtOrder, mtCommissionRule, amount, mtCommissionRuleItem, 0);
|
|
|
}
|
|
|
}
|
|
|
|