fix: 选择会员保存会员相关信息

This commit is contained in:
2024-10-30 17:59:52 +08:00
parent 6630141a99
commit 31f20090e5
3 changed files with 9 additions and 5 deletions

View File

@@ -3,6 +3,7 @@ package cn.ysk.cashier.service;
import cn.ysk.cashier.dto.ScanPayDTO;
import cn.ysk.cashier.dto.shoptable.PayDTO;
import cn.ysk.cashier.pojo.order.TbOrderInfo;
import cn.ysk.cashier.pojo.shop.TbShopUser;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
@@ -12,7 +13,7 @@ import java.math.BigDecimal;
public interface TbPayService {
TbOrderInfo scanPay(Integer shopId, String code, Integer merchantId, Integer memberId, BigDecimal payMount, TbOrderInfo orderInfo);
void vipPay(BigDecimal payMount, Integer userId, Integer vipUserId);
TbShopUser vipPay(BigDecimal payMount, Integer vipUserId);
TbOrderInfo cashPay(PayDTO payDTO);

View File

@@ -306,13 +306,12 @@ public class TbPayServiceImpl implements TbPayService {
}
@Override
public void vipPay(BigDecimal payMount, Integer userId, Integer vipUserId) {
public TbShopUser vipPay(BigDecimal payMount, Integer vipUserId) {
// 扣减会员余额
TbShopUser shopUser = shopUserMapper.selectOne(new LambdaUpdateWrapper<TbShopUser>()
.eq(TbShopUser::getStatus, 1)
.eq(TbShopUser::getId, vipUserId)
.eq(TbShopUser::getUserId, userId));
.eq(TbShopUser::getId, vipUserId));
if (shopUser == null) {
throw new BadRequestException("用户不存在或已被禁用");
@@ -333,6 +332,8 @@ public class TbPayServiceImpl implements TbPayService {
userFlow.setType("-");
shopUserFlowMapper.insert(userFlow);
return shopUser;
}

View File

@@ -1619,7 +1619,9 @@ public class TbShopTableServiceImpl implements TbShopTableService {
if (payDTO.getVipUserId() != null) {
orderInfo.setUserId(String.valueOf(payDTO.getVipUserId()));
}
tbPayServiceImpl.vipPay(finalAmount, Integer.valueOf(orderInfo.getUserId()), payDTO.getVipUserId());
TbShopUser shopUser = tbPayServiceImpl.vipPay(finalAmount, payDTO.getVipUserId());
orderInfo.setMemberId(String.valueOf(shopUser.getId()));
orderInfo.setUserId(shopUser.getUserId());
orderInfo.setPayOrderNo("vipPay".concat(SnowFlakeUtil.generateOrderNo()));
orderInfo.setPayType("deposit");
break;