退单接口修改 购物车查询逻辑修改
This commit is contained in:
@@ -235,7 +235,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
|
||||
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(criteria.getShopId(), date.getQrcode());
|
||||
orderInfo = getCurrentOrder(shopEatTypeInfoDTO);
|
||||
}catch (Exception e) {
|
||||
} catch (Exception e) {
|
||||
log.info(e.getMessage());
|
||||
}
|
||||
}
|
||||
@@ -614,6 +614,10 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
throw new BadRequestException("购物车商品不存在或已退单");
|
||||
}
|
||||
|
||||
if (removeCartDTO.getNum() > cashierCart.getNumber()) {
|
||||
throw new BadRequestException("最大退菜数量为: {}", cashierCart.getNumber());
|
||||
}
|
||||
|
||||
TbOrderDetail tbOrderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper<TbOrderDetail>()
|
||||
.eq(TbOrderDetail::getShopId, removeCartDTO.getShopId())
|
||||
.eq(TbOrderDetail::getCartId, cashierCart.getId())
|
||||
@@ -646,17 +650,41 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
}
|
||||
|
||||
} else {
|
||||
cashierCartMapper.update(null, new LambdaUpdateWrapper<TbCashierCart>()
|
||||
.eq(TbCashierCart::getId, cashierCart.getId())
|
||||
.set(TbCashierCart::getStatus, "return"));
|
||||
|
||||
orderDetailMapper.update(null, new LambdaUpdateWrapper<TbOrderDetail>()
|
||||
.eq(TbOrderDetail::getId, tbOrderDetail.getId())
|
||||
.set(TbOrderDetail::getUpdateTime, DateUtil.date())
|
||||
.set(TbOrderDetail::getStatus, "return"));
|
||||
if (cashierCart.getNumber().equals(removeCartDTO.getNum())) {
|
||||
cashierCartMapper.update(null, new LambdaUpdateWrapper<TbCashierCart>()
|
||||
.eq(TbCashierCart::getId, cashierCart.getId())
|
||||
.set(TbCashierCart::getStatus, "return"));
|
||||
orderDetailMapper.update(null, new LambdaUpdateWrapper<TbOrderDetail>()
|
||||
.eq(TbOrderDetail::getId, tbOrderDetail.getId())
|
||||
.set(TbOrderDetail::getUpdateTime, DateUtil.date())
|
||||
.set(TbOrderDetail::getStatus, "return"));
|
||||
}else {
|
||||
//生成退菜的购物车记录
|
||||
TbCashierCart returnCart = BeanUtil.copyProperties(cashierCart, TbCashierCart.class);
|
||||
returnCart.setNumber(removeCartDTO.getNum());
|
||||
returnCart.setId(null);
|
||||
returnCart.setTotalNumber(removeCartDTO.getNum());
|
||||
returnCart.setTotalAmount(returnCart.getSalePrice().multiply(BigDecimal.valueOf(returnCart.getNumber())));
|
||||
returnCart.setStatus("return");
|
||||
cashierCartMapper.insert(returnCart);
|
||||
|
||||
TbOrderDetail returnOrderDetail = BeanUtil.copyProperties(tbOrderDetail, TbOrderDetail.class);
|
||||
returnOrderDetail.setId(null);
|
||||
returnOrderDetail.setNum(returnCart.getNumber());
|
||||
returnOrderDetail.setCartId(returnCart.getId());
|
||||
returnOrderDetail.setPrice(returnCart.getSalePrice());
|
||||
returnOrderDetail.setPriceAmount(returnCart.getTotalAmount());
|
||||
returnOrderDetail.setStatus("return");
|
||||
returnOrderDetail.setRefundNumber(returnCart.getRefundNumber());
|
||||
returnOrderDetail.setRefundRemark(removeCartDTO.getNote());
|
||||
orderDetailMapper.insert(returnOrderDetail);
|
||||
|
||||
cashierCartMapper.updateNumAmountStatus(cashierCart.getId(), cashierCart.getStatus(), -returnCart.getNumber());
|
||||
orderDetailMapper.updateNumAmountStatus(orderDetail.getId(), orderDetail.getStatus(), -returnCart.getNumber());
|
||||
}
|
||||
|
||||
rabbitMsgUtils.printDishesTicket(tbOrderDetail.getOrderId(), true, tbOrderDetail);
|
||||
|
||||
}
|
||||
|
||||
if (cashierCart.getOrderId() != null) {
|
||||
@@ -718,10 +746,10 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
.and(q -> q.eq(TbCashierCart::getMasterId, masterId).or().isNull(TbCashierCart::getMasterId));
|
||||
|
||||
if (!shopEatTypeInfoDTO.isTakeout()) {
|
||||
queryWrapper.eq(TbCashierCart::getTableId, tableId);
|
||||
} else {
|
||||
queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, ""))
|
||||
queryWrapper.eq(TbCashierCart::getTableId, tableId)
|
||||
.in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue());
|
||||
} else {
|
||||
queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, ""));
|
||||
}
|
||||
|
||||
com.baomidou.mybatisplus.extension.plugins.pagination.Page<TbCashierCart> cartPage = cashierCartMapper
|
||||
@@ -1311,7 +1339,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
// 清空台桌信息
|
||||
if (shopEatTypeInfoDTO.isDineInBefore()) {
|
||||
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
|
||||
.eq(TbShopTable::getShopId, createOrderDTO.getShopId())
|
||||
.eq(TbShopTable::getShopId, createOrderDTO.getShopId())
|
||||
.eq(TbShopTable::getQrcode, createOrderDTO.getTableId())
|
||||
.set(TbShopTable::getProductNum, 0)
|
||||
.set(TbShopTable::getTotalAmount, 0)
|
||||
@@ -1319,7 +1347,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
.set(TbShopTable::getUseNum, 0)
|
||||
.set(TbShopTable::getStatus, TableStateEnum.IDLE.getState()));
|
||||
// 设置台桌信息
|
||||
}else {
|
||||
} else {
|
||||
LambdaUpdateWrapper<TbShopTable> wrapper = new LambdaUpdateWrapper<TbShopTable>()
|
||||
.eq(TbShopTable::getShopId, createOrderDTO.getShopId())
|
||||
.eq(TbShopTable::getQrcode, createOrderDTO.getTableId())
|
||||
@@ -1649,7 +1677,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object updateVip(UpdateVipDTO updateVipDTO) {
|
||||
public Object updateVip(UpdateVipDTO updateVipDTO) {
|
||||
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(updateVipDTO.getShopId(), updateVipDTO.getTableId());
|
||||
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
|
||||
.in(TbCashierCart::getStatus, "create", "return")
|
||||
@@ -1671,7 +1699,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
||||
.eq(TbOrderInfo::getId, orderId)
|
||||
.set(TbOrderInfo::getUserId, updateVipDTO.getVipUserId()));
|
||||
}else {
|
||||
} else {
|
||||
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
||||
.eq(TbOrderInfo::getId, orderId)
|
||||
.set(TbOrderInfo::getUserId, null));
|
||||
@@ -2078,7 +2106,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||
} else if ("deposit".equals(payType)) {
|
||||
orderInfoService.depositReturn(Integer.valueOf(orderInfo.getUserId()), Integer.valueOf(orderInfo.getShopId()), returnOrderInfo.getRefundAmount());
|
||||
orderInfo.setStatus("refund");
|
||||
}else if ("cash".equals(payType)) {
|
||||
} else if ("cash".equals(payType)) {
|
||||
orderInfo.setStatus("refund");
|
||||
}
|
||||
orderInfoMapper.updateById(orderInfo);
|
||||
|
||||
Reference in New Issue
Block a user