消费返现 倒叙
This commit is contained in:
parent
a1886bd26c
commit
237b1f3b88
|
|
@ -36,14 +36,14 @@ import java.util.List;
|
|||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 服务层实现。
|
||||
* 服务层实现。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-10-13
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class MkConsumeCashbackServiceImpl extends ServiceImpl<MkConsumeCashbackMapper, MkConsumeCashback> implements MkConsumeCashbackService{
|
||||
public class MkConsumeCashbackServiceImpl extends ServiceImpl<MkConsumeCashbackMapper, MkConsumeCashback> implements MkConsumeCashbackService {
|
||||
@DubboReference
|
||||
private ShopInfoService shopInfoService;
|
||||
@DubboReference
|
||||
|
|
@ -79,7 +79,7 @@ public class MkConsumeCashbackServiceImpl extends ServiceImpl<MkConsumeCashbackM
|
|||
// 包含的店铺开启余额支付
|
||||
if ("all".equals(consumeDiscountDTO.getUseType())) {
|
||||
shopInfoService.update(new ShopInfo().setIsAccountPay(1), new QueryWrapper().eq(ShopInfo::getMainId, shopId));
|
||||
}else {
|
||||
} else {
|
||||
if (consumeDiscountDTO.getShopIdList() != null) {
|
||||
shopInfoService.update(new ShopInfo().setIsAccountPay(1), new QueryWrapper().eq(ShopInfo::getMainId, shopId).in(ShopInfo::getId, consumeDiscountDTO.getShopIdList()));
|
||||
consumeCashback.setShopIdList(JSONArray.toJSONString(consumeDiscountDTO.getShopIdList()));
|
||||
|
|
@ -103,23 +103,26 @@ public class MkConsumeCashbackServiceImpl extends ServiceImpl<MkConsumeCashbackM
|
|||
log.info("消费返现未开启, {}", shopId);
|
||||
return;
|
||||
}
|
||||
log.info("消费返现2, orderId: {}, orderNo: {}, config: {}", orderId, orderNo,config);
|
||||
log.info("消费返现2, orderId: {}, orderNo: {}, config: {}", orderId, orderNo, config);
|
||||
ShopUser shopUser = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getMainShopId, mainShopId).eq(ShopUser::getUserId, userId));
|
||||
List<MkConsumeCashbackStep> cashbackStepList = config.getCashbackStepList();
|
||||
log.info("消费返现2, orderId: {}, cashbackStepList:{}", orderId, cashbackStepList);
|
||||
if (CollUtil.isNotEmpty(cashbackStepList)) {
|
||||
|
||||
config.setCashbackStepList(cashbackStepList.stream().sorted(Comparator.comparing(MkConsumeCashbackStep::getAmount)).collect(Collectors.toList()));
|
||||
config.setCashbackStepList(cashbackStepList.stream().sorted(Comparator.comparing(MkConsumeCashbackStep::getAmount).reversed()).collect(Collectors.toList()));
|
||||
for (MkConsumeCashbackStep cashbackStep : cashbackStepList) {
|
||||
log.info("消费返现3, cashbackStep: {}, userId: {}, amount: {}, orderId: {}", cashbackStep, userId, amount, orderId);
|
||||
if (cashbackStep.getAmount().compareTo(amount) <= 0 ) {
|
||||
if (cashbackStep.getAmount().compareTo(amount) <= 0) {
|
||||
BigDecimal cashbackAmount;
|
||||
// 固定金额
|
||||
if (TableValueConstant.MkConsumeCashback.CashbackType.FIX.getCode().equals(config.getCashbackType())) {
|
||||
cashbackAmount = cashbackStep.getCashbackAmount();
|
||||
}else {
|
||||
} else {
|
||||
cashbackAmount = amount.multiply(cashbackStep.getCashbackAmount().divide(BigDecimal.valueOf(100), RoundingMode.DOWN));
|
||||
}
|
||||
if (cashbackAmount.compareTo(BigDecimal.ZERO) > 0) {
|
||||
return;
|
||||
}
|
||||
MkConsumeCashbackRecord mkConsumeCashbackRecord = new MkConsumeCashbackRecord().setOrderNo(orderNo).setOrderId(orderId)
|
||||
.setMainShopId(mainShopId).setShopId(shopId).setAmount(amount)
|
||||
.setCashbackAmount(cashbackAmount).setUserId(userId)
|
||||
|
|
|
|||
Loading…
Reference in New Issue