1.代客下单 支持下单修改会员

This commit is contained in:
SongZhang 2024-08-29 18:26:22 +08:00
parent a68b7ee991
commit 52410b73f1
4 changed files with 7 additions and 5 deletions

View File

@ -18,4 +18,5 @@ public class PayDTO {
@Min(0)
@Max(1)
private Double discount;
private Integer vipUserId;
}

View File

@ -4,13 +4,12 @@ import cn.ysk.cashier.dto.ScanPayDTO;
import cn.ysk.cashier.dto.shoptable.PayDTO;
import cn.ysk.cashier.pojo.order.TbOrderInfo;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
public interface TbPayService {
void scanPay(ScanPayDTO scanPayDTO);
TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId, Double discount);
TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId, Double discount, Integer vipUserId);
TbOrderInfo cashPay(PayDTO payDTO);
}

View File

@ -26,7 +26,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Service;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.math.RoundingMode;
@ -299,7 +298,7 @@ public class TbPayServiceImpl implements TbPayService {
private final TbShopUserFlowMapper shopUserFlowMapper;
@Override
public TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId, Double discount) {
public TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId, Double discount, Integer vipUserId) {
TbOrderInfo orderInfo = orderInfoMapper.selectById(orderId);
@ -311,6 +310,9 @@ public class TbPayServiceImpl implements TbPayService {
throw new BadRequestException("订单非未支付状态");
}
if (vipUserId != null) {
orderInfo.setUserId(String.valueOf(vipUserId));
}
// 扣减会员余额
TbShopUser shopUser = shopUserMapper.selectOne(new LambdaUpdateWrapper<TbShopUser>()

View File

@ -1083,7 +1083,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
TbOrderInfo orderInfo = null;
switch (payDTO.getPayType()) {
case "vipPay":
orderInfo = tbPayServiceImpl.vipPay(payDTO.getShopId(), payDTO.getOrderId(), payDTO.getDiscount());
orderInfo = tbPayServiceImpl.vipPay(payDTO.getShopId(), payDTO.getOrderId(), payDTO.getDiscount(), payDTO.getVipUserId());
break;
case "cash":
orderInfo = tbPayServiceImpl.cashPay(payDTO);