fix: 会员修改接口修改

This commit is contained in:
SongZhang 2024-11-04 14:27:41 +08:00
parent 9b1f802867
commit 5406aedb76
1 changed files with 36 additions and 38 deletions

View File

@ -1834,7 +1834,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
TbActivateOutRecord tbActivateOutRecord = null;
if (!couponInfo.getFullReductionCouponMap().isEmpty()) {
TbUserCouponVo couponVo = couponInfo.getFullReductionCouponMap().values().stream().findFirst().orElse(null);
finalAmount =finalAmount.subtract(couponVo.getDiscountAmount());
finalAmount = finalAmount.subtract(couponVo.getDiscountAmount());
orderInfo.setFullCouponDiscountAmount(couponVo.getDiscountAmount());
tbActivateOutRecord = new TbActivateOutRecord();
@ -2109,47 +2109,45 @@ public class TbShopTableServiceImpl implements TbShopTableService {
@Override
public Object updateVip(UpdateVipDTO updateVipDTO) {
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(updateVipDTO.getShopId(), updateVipDTO.getTableId());
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
.in(TbCashierCart::getStatus, "create", "return")
.eq(TbCashierCart::getShopId, updateVipDTO.getShopId())
.eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType())
.and(q -> q.eq(TbCashierCart::getMasterId, updateVipDTO.getMasterId()).or().isNull(TbCashierCart::getMasterId));
Integer orderId = updateVipDTO.getOrderId();
if (orderId == null) {
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(updateVipDTO.getShopId(), updateVipDTO.getTableId());
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
.in(TbCashierCart::getStatus, "create", "return")
.eq(TbCashierCart::getShopId, updateVipDTO.getShopId())
.eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType())
.and(q -> q.eq(TbCashierCart::getMasterId, updateVipDTO.getMasterId()).or().isNull(TbCashierCart::getMasterId));
if (!shopEatTypeInfoDTO.isTakeout()) {
queryWrapper.eq(TbCashierCart::getTableId, updateVipDTO.getTableId());
} else {
queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, ""))
.in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue());
}
List<TbCashierCart> tbCashierCarts = cashierCartMapper.selectList(queryWrapper.isNotNull(TbCashierCart::getOrderId));
if (!tbCashierCarts.isEmpty()) {
Integer orderId = updateVipDTO.getOrderId();
if (orderId == null) {
for (TbCashierCart item : tbCashierCarts) {
if (item.getOrderId() != null) {
orderId = item.getOrderId();
}
}
}
if (updateVipDTO.getType() == 0) {
TbShopUser shopUser = tbShopUserMapper.selectById(updateVipDTO.getVipUserId());
if (shopUser == null) {
throw new BadRequestException("用户信息不存在");
}
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
.eq(TbOrderInfo::getId, orderId)
.set(TbOrderInfo::getUserId, shopUser.getUserId())
.set(TbOrderInfo::getMemberId, updateVipDTO.getVipUserId()));
if (!shopEatTypeInfoDTO.isTakeout()) {
queryWrapper.eq(TbCashierCart::getTableId, updateVipDTO.getTableId());
} else {
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
.eq(TbOrderInfo::getId, orderId)
.set(TbOrderInfo::getUserId, null)
.set(TbOrderInfo::getMemberId, null));
queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, ""))
.in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue());
}
List<TbCashierCart> tbCashierCarts = cashierCartMapper.selectList(queryWrapper.isNotNull(TbCashierCart::getOrderId));
for (TbCashierCart item : tbCashierCarts) {
if (item.getOrderId() != null) {
orderId = item.getOrderId();
}
}
}
return true;
if (updateVipDTO.getType() == 0) {
TbShopUser shopUser = tbShopUserMapper.selectById(updateVipDTO.getVipUserId());
if (shopUser == null) {
throw new BadRequestException("用户信息不存在");
}
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
.eq(TbOrderInfo::getId, orderId)
.set(TbOrderInfo::getUserId, shopUser.getUserId())
.set(TbOrderInfo::getMemberId, updateVipDTO.getVipUserId()));
} else {
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
.eq(TbOrderInfo::getId, orderId)
.set(TbOrderInfo::getUserId, null)
.set(TbOrderInfo::getMemberId, null));
}
}