fix: 选择会员保存会员相关信息
This commit is contained in:
parent
09872cd71b
commit
6630141a99
|
|
@ -12,7 +12,7 @@ import java.math.BigDecimal;
|
||||||
public interface TbPayService {
|
public interface TbPayService {
|
||||||
TbOrderInfo scanPay(Integer shopId, String code, Integer merchantId, Integer memberId, BigDecimal payMount, TbOrderInfo orderInfo);
|
TbOrderInfo scanPay(Integer shopId, String code, Integer merchantId, Integer memberId, BigDecimal payMount, TbOrderInfo orderInfo);
|
||||||
|
|
||||||
void vipPay(BigDecimal payMount, Integer vipUserId);
|
void vipPay(BigDecimal payMount, Integer userId, Integer vipUserId);
|
||||||
|
|
||||||
TbOrderInfo cashPay(PayDTO payDTO);
|
TbOrderInfo cashPay(PayDTO payDTO);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -306,18 +306,19 @@ public class TbPayServiceImpl implements TbPayService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void vipPay(BigDecimal payMount, Integer vipUserId) {
|
public void vipPay(BigDecimal payMount, Integer userId, Integer vipUserId) {
|
||||||
|
|
||||||
// 扣减会员余额
|
// 扣减会员余额
|
||||||
TbShopUser shopUser = shopUserMapper.selectOne(new LambdaUpdateWrapper<TbShopUser>()
|
TbShopUser shopUser = shopUserMapper.selectOne(new LambdaUpdateWrapper<TbShopUser>()
|
||||||
.eq(TbShopUser::getStatus, 1)
|
.eq(TbShopUser::getStatus, 1)
|
||||||
.eq(TbShopUser::getId, vipUserId));
|
.eq(TbShopUser::getId, vipUserId)
|
||||||
|
.eq(TbShopUser::getUserId, userId));
|
||||||
|
|
||||||
if (shopUser == null) {
|
if (shopUser == null) {
|
||||||
throw new BadRequestException("用户不存在或已被禁用");
|
throw new BadRequestException("用户不存在或已被禁用");
|
||||||
}
|
}
|
||||||
|
|
||||||
long flag = shopUserMapper.decrBalance(vipUserId, payMount);
|
long flag = shopUserMapper.decrBalance(shopUser.getId(), payMount);
|
||||||
if (flag < 1) {
|
if (flag < 1) {
|
||||||
throw new BadRequestException("余额不足或扣除余额失败");
|
throw new BadRequestException("余额不足或扣除余额失败");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
private final PayService payService;
|
private final PayService payService;
|
||||||
private final TbOrderInfoService orderInfoService;
|
private final TbOrderInfoService orderInfoService;
|
||||||
private final MpOrderInfoService mpOrderInfoService;
|
private final MpOrderInfoService mpOrderInfoService;
|
||||||
|
private final TbShopUserMapper tbShopUserMapper;
|
||||||
|
|
||||||
private TbOrderInfo getCurrentOrder(ShopEatTypeInfoDTO eatTypeInfoDTO) {
|
private TbOrderInfo getCurrentOrder(ShopEatTypeInfoDTO eatTypeInfoDTO) {
|
||||||
// 获取当前台桌最新订单,先付款模式不获取
|
// 获取当前台桌最新订单,先付款模式不获取
|
||||||
|
|
@ -1247,6 +1248,15 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
if (orderId != null) {
|
if (orderId != null) {
|
||||||
orderInfo = orderInfoMapper.selectById(orderId);
|
orderInfo = orderInfoMapper.selectById(orderId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TbShopUser shopUser = null;
|
||||||
|
if (StrUtil.isNotBlank(createOrderDTO.getVipUserId())) {
|
||||||
|
shopUser = tbShopUserMapper.selectById(createOrderDTO.getVipUserId());
|
||||||
|
if (shopUser == null) {
|
||||||
|
throw new BadRequestException("用户不存在");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 是否是第一次创建订单
|
// 是否是第一次创建订单
|
||||||
boolean isFirst = false;
|
boolean isFirst = false;
|
||||||
// 修改订单信息
|
// 修改订单信息
|
||||||
|
|
@ -1270,7 +1280,8 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
orderInfo.setSeatCount(seatCart.getNumber());
|
orderInfo.setSeatCount(seatCart.getNumber());
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(createOrderDTO.getVipUserId())) {
|
if (StrUtil.isNotBlank(createOrderDTO.getVipUserId())) {
|
||||||
orderInfo.setUserId(createOrderDTO.getVipUserId());
|
orderInfo.setMemberId(createOrderDTO.getVipUserId());
|
||||||
|
orderInfo.setUserId(shopUser.getUserId());
|
||||||
}
|
}
|
||||||
orderInfo.setSendType(shopEatTypeInfoDTO.getSendType());
|
orderInfo.setSendType(shopEatTypeInfoDTO.getSendType());
|
||||||
// 存在新添加的商品,增加下单次数
|
// 存在新添加的商品,增加下单次数
|
||||||
|
|
@ -1306,6 +1317,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
orderInfo.setUseType(shopEatTypeInfoDTO.getUseType());
|
orderInfo.setUseType(shopEatTypeInfoDTO.getUseType());
|
||||||
if (StrUtil.isNotBlank(createOrderDTO.getVipUserId())) {
|
if (StrUtil.isNotBlank(createOrderDTO.getVipUserId())) {
|
||||||
orderInfo.setUserId(createOrderDTO.getVipUserId());
|
orderInfo.setUserId(createOrderDTO.getVipUserId());
|
||||||
|
orderInfo.setUserId(shopUser.getUserId());
|
||||||
}
|
}
|
||||||
if (seatCart != null) {
|
if (seatCart != null) {
|
||||||
orderInfo.setSeatAmount(seatCart.getTotalAmount());
|
orderInfo.setSeatAmount(seatCart.getTotalAmount());
|
||||||
|
|
@ -1607,7 +1619,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
if (payDTO.getVipUserId() != null) {
|
if (payDTO.getVipUserId() != null) {
|
||||||
orderInfo.setUserId(String.valueOf(payDTO.getVipUserId()));
|
orderInfo.setUserId(String.valueOf(payDTO.getVipUserId()));
|
||||||
}
|
}
|
||||||
tbPayServiceImpl.vipPay(finalAmount, Integer.valueOf(orderInfo.getUserId()));
|
tbPayServiceImpl.vipPay(finalAmount, Integer.valueOf(orderInfo.getUserId()), payDTO.getVipUserId());
|
||||||
orderInfo.setPayOrderNo("vipPay".concat(SnowFlakeUtil.generateOrderNo()));
|
orderInfo.setPayOrderNo("vipPay".concat(SnowFlakeUtil.generateOrderNo()));
|
||||||
orderInfo.setPayType("deposit");
|
orderInfo.setPayType("deposit");
|
||||||
break;
|
break;
|
||||||
|
|
@ -1749,16 +1761,23 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
.in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue());
|
.in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TbShopUser shopUser = tbShopUserMapper.selectById(updateVipDTO.getVipUserId());
|
||||||
|
if (shopUser == null) {
|
||||||
|
throw new BadRequestException("用户信息不存在");
|
||||||
|
}
|
||||||
|
|
||||||
List<TbCashierCart> tbCashierCarts = cashierCartMapper.selectList(queryWrapper.isNotNull(TbCashierCart::getOrderId));
|
List<TbCashierCart> tbCashierCarts = cashierCartMapper.selectList(queryWrapper.isNotNull(TbCashierCart::getOrderId));
|
||||||
if (!tbCashierCarts.isEmpty()) {
|
if (!tbCashierCarts.isEmpty()) {
|
||||||
Integer orderId = tbCashierCarts.get(0).getOrderId();
|
Integer orderId = tbCashierCarts.get(0).getOrderId();
|
||||||
if (updateVipDTO.getType() == 0) {
|
if (updateVipDTO.getType() == 0) {
|
||||||
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
||||||
.eq(TbOrderInfo::getId, orderId)
|
.eq(TbOrderInfo::getId, orderId)
|
||||||
.set(TbOrderInfo::getUserId, updateVipDTO.getVipUserId()));
|
.set(TbOrderInfo::getUserId, shopUser.getUserId())
|
||||||
|
.set(TbOrderInfo::getMemberId, updateVipDTO.getVipUserId()));
|
||||||
} else {
|
} else {
|
||||||
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
||||||
.eq(TbOrderInfo::getId, orderId)
|
.eq(TbOrderInfo::getId, orderId)
|
||||||
|
.set(TbOrderInfo::getUserId, null)
|
||||||
.set(TbOrderInfo::getUserId, null));
|
.set(TbOrderInfo::getUserId, null));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue