fix: 餐位费退菜修复

This commit is contained in:
SongZhang 2024-10-26 16:14:12 +08:00
parent ce94bd7e4e
commit f75aae14a8
1 changed files with 24 additions and 26 deletions

View File

@ -165,11 +165,11 @@ public class TbShopTableServiceImpl implements TbShopTableService {
/**
* 通过店铺id和就餐模式获取当前店铺的就餐类型信息
*
* @param shopId 店铺id
* @param shopId 店铺id
* @param eatModel 就餐模式
* @param tableId 台桌id
* @param tableId 台桌id
* @return just餐类型信息
* */
*/
private ShopEatTypeInfoDTO getShopEatTypeInfoDTO(Object shopId, String eatModel, String tableId) {
TbShopInfo shopInfo = mpShopInfoMapper.selectOne(new LambdaQueryWrapper<TbShopInfo>()
.eq(TbShopInfo::getId, shopId)
@ -420,7 +420,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
tbCashierCart.setIsPack(updateCartDTO.getIsPack() ? "true" : "false");
}
if (updateCartDTO.getIsGift() != null ) {
if (updateCartDTO.getIsGift() != null) {
tbCashierCart.setTotalAmount(updateCartDTO.getIsGift() ? tbCashierCart.getPackFee() : tbCashierCart.getTotalAmount());
tbCashierCart.setIsGift(updateCartDTO.getIsGift() ? "true" : "false");
}
@ -462,7 +462,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
throw new BadRequestException("商品不存在或已下架, id: " + addCartDTO.getSkuId());
}
if (product.getIsStock() != null && product.getIsStock() == 1 &&product.getStockNumber() < 1) {
if (product.getIsStock() != null && product.getIsStock() == 1 && product.getStockNumber() < 1) {
throw new BadRequestException(product.getName() + "商品库存不足");
}
@ -673,18 +673,15 @@ public class TbShopTableServiceImpl implements TbShopTableService {
TbOrderDetail orderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getCartId, cashierCart.getId()));
if (cashierCart.getId() == -999) {
if (cashierCart.getProductId().equals("-999")) {
cashierCartMapper.deleteById(cashierCart.getId());
if (cashierCart.getOrderId() != null) {
orderDetailMapper.delete(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getCartId, cashierCart.getId()));
orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
.eq(TbOrderInfo::getId, cashierCart.getOrderId())
.eq(TbOrderInfo::getShopId, removeCartDTO.getShopId())
.set(TbOrderInfo::getSeatCount, null)
.set(TbOrderInfo::getSeatAmount, null));
}
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 {
@ -697,7 +694,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.set(TbOrderDetail::getUpdateTime, DateUtil.date())
.set(TbOrderDetail::getStatus, "return"));
rabbitMsgUtils.printDishesTicket(tbOrderDetail.getOrderId(), true, tbOrderDetail);
}else {
} else {
//生成退菜的购物车记录
TbCashierCart returnCart = BeanUtil.copyProperties(cashierCart, TbCashierCart.class);
returnCart.setNumber(removeCartDTO.getNum());
@ -789,7 +786,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
if (!shopEatTypeInfoDTO.isTakeout()) {
if (StrUtil.isBlank(tableId)) {
queryWrapper.isNull(TbCashierCart::getTableId);
}else {
} else {
queryWrapper.eq(TbCashierCart::getTableId, tableId);
}
} else {
@ -1134,7 +1131,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
throw new BadRequestException("台桌未开台或不存在");
}
queryWrapper.eq(TbCashierCart::getTableId, createOrderDTO.getTableId());
}else {
} else {
queryWrapper.isNull(TbCashierCart::getTableId);
}
@ -1155,7 +1152,9 @@ public class TbShopTableServiceImpl implements TbShopTableService {
}
}
if (StrUtil.isNotBlank(createOrderDTO.getTableId()) && (allCashierCarts.isEmpty() || (shopEatTypeInfoDTO.isNeedSeatFee() && !shopEatTypeInfoDTO.isTakeout() && seatCart != null && allCashierCarts.size() < 2)
if (StrUtil.isNotBlank(createOrderDTO.getTableId())
&& (cashierCarts.isEmpty() ||
(shopEatTypeInfoDTO.isNeedSeatFee() && !shopEatTypeInfoDTO.isTakeout() && seatCart != null && cashierCarts.size() < 2)
|| (shopEatTypeInfoDTO.isNeedSeatFee() && !shopEatTypeInfoDTO.isTakeout() && seatCart == null))) {
throw new BadRequestException("购物车为空或未选择餐位费,请先添加商品或选择餐位费");
}
@ -1196,7 +1195,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
List<TbOrderDetail> addOrderDetails = new ArrayList<>();
boolean hasNewInfo = false;
for (TbCashierCart cashierCart : cashierCarts) {
if (!"return".equals(cashierCart.getStatus())) {
@ -1659,7 +1657,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
jsonObject.put("token", payDTO.getToken());
jsonObject.put("type", "create");
jsonObject.put("orderId", orderInfo.getId());
rabbitMsgUtils.sendOrderCollectMsg(jsonObject,3);
rabbitMsgUtils.sendOrderCollectMsg(jsonObject, 3);
// 打印消息
if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) {
@ -1813,7 +1811,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
mpOrderDetailService.updateUseTypeByCartIds(cartIds, shopEatTypeInfoDTO.getUseType());
// 修改订单表台桌信息
if(orderId != null) {
if (orderId != null) {
mpOrderInfoService.updateTableIdAndUseTypeById(orderId, shopEatTypeInfoDTO.getUseType(), choseTableDTO.getTableId());
mpShopTableService.updateStateByTableId(TableStateEnum.USING, choseTableDTO.getTableId());
// 将台桌redis数据迁移
@ -1848,7 +1846,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.eq(TbCashierCart::getProductId, TableConstant.CART_SEAT_ID)
.eq(TbCashierCart::getUseType, choseCountDTO.getUseType())
.gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime())
.in(TbCashierCart::getStatus, OrderStatusEnums.CREATE.getValue(), OrderStatusEnums.RETURN.getValue())
.in(TbCashierCart::getStatus, OrderStatusEnums.CREATE.getValue(), OrderStatusEnums.RETURN.getValue())
.eq(TbCashierCart::getTableId, choseCountDTO.getTableId());
TbCashierCart tbCashierCart = cashierCartMapper.selectOne(query);
@ -2117,7 +2115,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
returnOrder.setSource(oldOrderInfo.getId());
returnOrder.setRefundRemark(returnOrderDTO.getNote());
orderInfoMapper.insert(returnOrder);
}else {
} else {
returnOrder.setUpdatedAt(DateUtil.current());
returnOrder.setRefundRemark(returnOrderDTO.getNote());
returnOrder.setRefundAmount(returnOrder.getRefundAmount().add(returnAmount));
@ -2170,7 +2168,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
@Transactional
public Object returnOrder(ReturnOrderDTO returnOrderDTO) {
TbOrderInfo orderInfo = orderInfoMapper.selectOne(new LambdaQueryWrapper<TbOrderInfo>()
.eq(TbOrderInfo::getId, returnOrderDTO.getOrderId())
.eq(TbOrderInfo::getId, returnOrderDTO.getOrderId())
.in(TbOrderInfo::getStatus, OrderStatusEnums.REFUND.getValue(), OrderStatusEnums.CLOSED.getValue())
// .eq(TbOrderInfo::getStatus, "closed")
);