fix: 退菜修改

This commit is contained in:
2024-10-31 10:01:26 +08:00
parent ce93f7593d
commit a9ea2cdc82
2 changed files with 154 additions and 3 deletions

View File

@@ -2,10 +2,57 @@ package cn.ysk.cashier.cons;
import lombok.Getter; import lombok.Getter;
import java.util.Objects;
public interface TableConstant { public interface TableConstant {
String CART_SEAT_ID = "-999"; String CART_SEAT_ID = "-999";
class ShopTable {
@Getter
public enum State {
IDLE("idle"), CLOSED("closed"), PAYING("paying"), PENDING("pending"), USING("using"), CLEANING("cleaning");
private final String value;
State(String value) {
this.value = value;
}
}
}
class CashierCart {
public static final String ID = "-999";
@Getter
public enum Status {
REFUNDING("refunding"), REFUND("refund"), CLOSED("closed"), CREATE("create"),
UNPAID("unpaid"), PAYING("paying"), RETURN("return"), CANCEL("cancel");
private final String value;
Status(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
@Getter
public enum UseType {
TAKEOUT("takeout"),
DINE_IN_AFTER("dine-in-after"),
DINE_IN_BEFORE("dine-in-before");
private final String value;
UseType(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
}
class OrderInfo { class OrderInfo {
@Getter @Getter
public enum Status { public enum Status {
@@ -21,7 +68,36 @@ public interface TableConstant {
@Getter @Getter
public enum UseType { public enum UseType {
TAKEOUT("takeout"), TAKEOUT("takeout"),
NONE_TABLE("dine-in"), DINE_IN_AFTER("dine-in-after"),
DINE_IN_BEFORE("dine-in-before"), NONE_TABLE("dine-in");
private final String value;
UseType(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
}
class FreeDineRecord {
@Getter
public enum State {
WAIT_PAY(0),
SUCCESS_PAY(1),
FAIL_PAY(2);
private final Integer value;
State(Integer value) {
this.value = value;
}
}
@Getter
public enum UseType {
TAKEOUT("takeout"),
DINE_IN_AFTER("dine-in-after"), DINE_IN_AFTER("dine-in-after"),
DINE_IN_BEFORE("dine-in-before"); DINE_IN_BEFORE("dine-in-before");
private final String value; private final String value;
@@ -35,4 +111,73 @@ public interface TableConstant {
} }
} }
} }
class ShopInfo {
@Getter
public enum EatModel {
TAKEOUT("takeout"),
DINE_IN("dine-in");
private final String value;
EatModel(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
}
class MemberIn {
@Getter
public enum Type {
NORMAL(0),
FREE_DINE(1);
private final Integer value;
Type(Integer value) {
this.value = value;
}
public boolean equalsVals(Integer value) {
return Objects.equals(this.value, value);
}
}
}
class ActivateOutRecord {
@Getter
public enum Type {
// 满减
FULL_REDUCTION(1),
// 商品
PRODUCT(2);
private final Integer value;
Type(Integer value) {
this.value = value;
}
public boolean equalsVals(Integer value) {
return Objects.equals(this.value, value);
}
}
@Getter
public enum Status {
CREATE("create"),
CANCEL("cancel"),
// 商品
CLOSED("closed");
private final String value;
Status(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
}
} }

View File

@@ -648,6 +648,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
@Override @Override
public void returnCart(ReturnCartDTO removeCartDTO) { public void returnCart(ReturnCartDTO removeCartDTO) {
boolean isSeatCart = TableConstant.CashierCart.ID.equals(removeCartDTO.getCartId().toString());
// 会员点单 // 会员点单
TbCashierCart cashierCart = cashierCartMapper.selectOne(new LambdaQueryWrapper<TbCashierCart>() TbCashierCart cashierCart = cashierCartMapper.selectOne(new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getShopId, removeCartDTO.getShopId()) .eq(TbCashierCart::getShopId, removeCartDTO.getShopId())
@@ -668,6 +669,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
throw new BadRequestException("此商品还未下单,无需退单"); throw new BadRequestException("此商品还未下单,无需退单");
} }
// 餐位费直接删除 // 餐位费直接删除
TbOrderDetail orderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper<TbOrderDetail>() TbOrderDetail orderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getCartId, cashierCart.getId())); .eq(TbOrderDetail::getCartId, cashierCart.getId()));
@@ -701,7 +703,9 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.eq(TbOrderDetail::getId, tbOrderDetail.getId()) .eq(TbOrderDetail::getId, tbOrderDetail.getId())
.set(TbOrderDetail::getUpdateTime, DateUtil.date()) .set(TbOrderDetail::getUpdateTime, DateUtil.date())
.set(TbOrderDetail::getStatus, "return")); .set(TbOrderDetail::getStatus, "return"));
rabbitMsgUtils.printDishesTicket(tbOrderDetail.getOrderId(), true, tbOrderDetail); if (TableConstant.OrderInfo.UseType.DINE_IN_AFTER.equalsVals(tbOrderDetail.getUseType()) && !isSeatCart) {
rabbitMsgUtils.printDishesTicket(tbOrderDetail.getOrderId(), true, tbOrderDetail);
}
} else { } else {
//生成退菜的购物车记录 //生成退菜的购物车记录
TbCashierCart returnCart = BeanUtil.copyProperties(cashierCart, TbCashierCart.class); TbCashierCart returnCart = BeanUtil.copyProperties(cashierCart, TbCashierCart.class);
@@ -726,7 +730,9 @@ public class TbShopTableServiceImpl implements TbShopTableService {
cashierCartMapper.updateNumAmountStatus(cashierCart.getId(), cashierCart.getStatus(), -returnCart.getNumber()); cashierCartMapper.updateNumAmountStatus(cashierCart.getId(), cashierCart.getStatus(), -returnCart.getNumber());
orderDetailMapper.updateNumAmountStatus(orderDetail.getId(), orderDetail.getStatus(), -returnCart.getNumber()); orderDetailMapper.updateNumAmountStatus(orderDetail.getId(), orderDetail.getStatus(), -returnCart.getNumber());
rabbitMsgUtils.printDishesTicket(returnOrderDetail.getOrderId(), true, returnOrderDetail); if (TableConstant.OrderInfo.UseType.DINE_IN_AFTER.equalsVals(tbOrderDetail.getUseType()) && !isSeatCart) {
rabbitMsgUtils.printDishesTicket(returnOrderDetail.getOrderId(), true, returnOrderDetail);
}
} }
} }