1.代客下单 增加自动手动清台,新增台桌订单状态信息
This commit is contained in:
parent
f2bfc718c3
commit
3ebec6f0c5
|
|
@ -2,7 +2,7 @@ package cn.ysk.cashier.enums;
|
||||||
|
|
||||||
public enum TableStateEnum {
|
public enum TableStateEnum {
|
||||||
IDLE("idle"),
|
IDLE("idle"),
|
||||||
CLOSED("closed"), PAYING("paying"), PENDING("pending"), USING("using");
|
CLOSED("closed"), PAYING("paying"), PENDING("pending"), USING("using"), CLEANING("cleaning");
|
||||||
private String state = "closed";
|
private String state = "closed";
|
||||||
|
|
||||||
TableStateEnum(String state) {
|
TableStateEnum(String state) {
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,8 @@ import javax.persistence.*;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.sql.Date;
|
||||||
|
import java.sql.Timestamp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @website https://eladmin.vip
|
* @website https://eladmin.vip
|
||||||
|
|
@ -104,6 +106,23 @@ public class TbShopTable implements Serializable {
|
||||||
@ApiModelProperty(value = "二维码")
|
@ApiModelProperty(value = "二维码")
|
||||||
private String qrcode = "";
|
private String qrcode = "";
|
||||||
|
|
||||||
|
@Column(name = "`auto_clear`")
|
||||||
|
@ApiModelProperty(value = "自动清台")
|
||||||
|
private Integer autoClear=1;
|
||||||
|
|
||||||
|
@Column(name = "`use_time`")
|
||||||
|
private Date useTime;
|
||||||
|
@Column(name = "`end_time`")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
@Column(name = "`product_num`")
|
||||||
|
private Integer productNum;
|
||||||
|
@Column(name = "`total_amount`")
|
||||||
|
private Integer totalAmount;
|
||||||
|
@Column(name = "`real_amount`")
|
||||||
|
private Integer realAmount;
|
||||||
|
|
||||||
|
|
||||||
public void copy(TbShopTable source){
|
public void copy(TbShopTable source){
|
||||||
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
|
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -154,12 +154,12 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
} else if (tbCashierCartMapper.selectCount(new LambdaQueryWrapper<TbCashierCart>()
|
} else if (tbCashierCartMapper.selectCount(new LambdaQueryWrapper<TbCashierCart>()
|
||||||
.eq(TbCashierCart::getShopId, date.getShopId())
|
.eq(TbCashierCart::getShopId, date.getShopId())
|
||||||
.eq(TbCashierCart::getTableId, date.getQrcode())
|
.eq(TbCashierCart::getTableId, date.getQrcode())
|
||||||
.eq(TbCashierCart::getTradeDay, cn.ysk.cashier.utils.DateUtils.getDay())
|
.eq(TbCashierCart::getTradeDay, cn.ysk.cashier.utils.DateUtils.getDay())
|
||||||
.eq(TbCashierCart::getStatus, "create")) < 1 || (orderId != null &&
|
.eq(TbCashierCart::getStatus, "create")) < 1 || (orderId != null &&
|
||||||
tbOrderDetailMapper.selectCount(new LambdaQueryWrapper<TbOrderDetail>()
|
tbOrderDetailMapper.selectCount(new LambdaQueryWrapper<TbOrderDetail>()
|
||||||
.eq(TbOrderDetail::getShopId, date.getShopId())
|
.eq(TbOrderDetail::getShopId, date.getShopId())
|
||||||
.eq(TbOrderDetail::getStatus, "unpaid")
|
.eq(TbOrderDetail::getStatus, "unpaid")
|
||||||
.ge(TbOrderDetail::getCreateTime, DateUtil.beginOfDay(new Date()))
|
.ge(TbOrderDetail::getCreateTime, DateUtil.beginOfDay(new Date()))
|
||||||
.eq(TbOrderDetail::getOrderId, orderId)) < 1)
|
.eq(TbOrderDetail::getOrderId, orderId)) < 1)
|
||||||
) {
|
) {
|
||||||
date.setStatus("idle");
|
date.setStatus("idle");
|
||||||
|
|
@ -343,7 +343,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
TbOrderInfo orderInfo = orderInfoMapper.selectOne(new LambdaQueryWrapper<TbOrderInfo>()
|
TbOrderInfo orderInfo = orderInfoMapper.selectOne(new LambdaQueryWrapper<TbOrderInfo>()
|
||||||
.eq(TbOrderInfo::getUseType, "postPay")
|
.eq(TbOrderInfo::getUseType, "postPay")
|
||||||
.eq(TbOrderInfo::getId, orderId).select(TbOrderInfo::getPlaceNum));
|
.eq(TbOrderInfo::getId, orderId).select(TbOrderInfo::getPlaceNum));
|
||||||
return orderInfo == null ? 1 : orderInfo.getPlaceNum() + 1;
|
return orderInfo == null ? 1 : orderInfo.getPlaceNum() + 1;
|
||||||
}
|
}
|
||||||
|
|
@ -542,7 +542,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
|
|
||||||
TbOrderDetail tbOrderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper<TbOrderDetail>()
|
TbOrderDetail tbOrderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper<TbOrderDetail>()
|
||||||
.eq(TbOrderDetail::getShopId, removeCartDTO.getShopId())
|
.eq(TbOrderDetail::getShopId, removeCartDTO.getShopId())
|
||||||
.eq(TbOrderDetail::getPlaceNum, cashierCart.getPlaceNum())
|
.eq(TbOrderDetail::getPlaceNum, cashierCart.getPlaceNum())
|
||||||
.in(TbOrderDetail::getStatus, "unpaid")
|
.in(TbOrderDetail::getStatus, "unpaid")
|
||||||
.eq(TbOrderDetail::getOrderId, cashierCart.getOrderId()));
|
.eq(TbOrderDetail::getOrderId, cashierCart.getOrderId()));
|
||||||
if (tbOrderDetail == null) {
|
if (tbOrderDetail == null) {
|
||||||
|
|
@ -644,7 +644,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (!skuIds.isEmpty()) {
|
if (!skuIds.isEmpty()) {
|
||||||
List<TbProductSku> skuList = productSkuRepository.findAllById(skuIds);
|
List<TbProductSku> skuList = productSkuRepository.findAllById(skuIds);
|
||||||
HashMap<String, TbProductSku> skuMap = new HashMap<>();
|
HashMap<String, TbProductSku> skuMap = new HashMap<>();
|
||||||
|
|
@ -1163,8 +1162,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
// 推送耗材信息
|
// 推送耗材信息
|
||||||
pushConsMsg(orderInfo, cashierCarts);
|
pushConsMsg(orderInfo, cashierCarts);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (createOrderDTO.isPostPay() && isPrint) {
|
if (createOrderDTO.isPostPay() && isPrint) {
|
||||||
Long count = orderInfoMapper.selectCount(new LambdaQueryWrapper<TbOrderInfo>()
|
Long count = orderInfoMapper.selectCount(new LambdaQueryWrapper<TbOrderInfo>()
|
||||||
.eq(TbOrderInfo::getStatus, "unpaid")
|
.eq(TbOrderInfo::getStatus, "unpaid")
|
||||||
|
|
@ -1174,15 +1171,20 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 设置台桌信息
|
||||||
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
|
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
|
||||||
.eq(TbShopTable::getShopId, createOrderDTO.getShopId())
|
.eq(TbShopTable::getShopId, createOrderDTO.getShopId())
|
||||||
.eq(TbShopTable::getQrcode, createOrderDTO.getTableId())
|
.eq(TbShopTable::getQrcode, createOrderDTO.getTableId())
|
||||||
|
.set(TbShopTable::getUseTime, DateUtil.date())
|
||||||
|
.set(TbShopTable::getProductNum, cashierCarts.size())
|
||||||
|
.set(TbShopTable::getTotalAmount, orderInfo.getOrderAmount())
|
||||||
|
.set(TbShopTable::getRealAmount, orderInfo.getOrderAmount())
|
||||||
.set(TbShopTable::getStatus, TableStateEnum.USING.getState()));
|
.set(TbShopTable::getStatus, TableStateEnum.USING.getState()));
|
||||||
|
|
||||||
String tableCartKey = RedisConstant.getTableCartKey(createOrderDTO.getTableId(), createOrderDTO.getShopId().toString());
|
String tableCartKey = RedisConstant.getTableCartKey(createOrderDTO.getTableId(), createOrderDTO.getShopId().toString());
|
||||||
redisTemplate.delete(tableCartKey);
|
redisTemplate.delete(tableCartKey);
|
||||||
return orderInfo;
|
return orderInfo;
|
||||||
}, stringRedisTemplate, RedisConstant.getLockKey(RedisConstant.CREATE_ORDER,createOrderDTO.getShopId(),
|
}, stringRedisTemplate, RedisConstant.getLockKey(RedisConstant.CREATE_ORDER, createOrderDTO.getShopId(),
|
||||||
createOrderDTO.getTableId(), createOrderDTO.getMasterId(), createOrderDTO.isPostPay()));
|
createOrderDTO.getTableId(), createOrderDTO.getMasterId(), createOrderDTO.isPostPay()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1419,9 +1421,20 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
rabbitTemplate.convertAndSend(RabbitConstants.EXCHANGE_STOCK_RECORD, RabbitConstants.ROUTING_STOCK_RECORD_SALE, mqData.toJSONString(), new CorrelationData(UUID.randomUUID().toString()));
|
rabbitTemplate.convertAndSend(RabbitConstants.EXCHANGE_STOCK_RECORD, RabbitConstants.ROUTING_STOCK_RECORD_SALE, mqData.toJSONString(), new CorrelationData(UUID.randomUUID().toString()));
|
||||||
|
|
||||||
// 修改台桌状态
|
// 修改台桌状态
|
||||||
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
|
TbShopTable tbShopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper<TbShopTable>()
|
||||||
.eq(TbShopTable::getQrcode, orderInfo.getTableId())
|
.eq(TbShopTable::getShopId, payDTO.getShopId())
|
||||||
.set(TbShopTable::getStatus, TableStateEnum.IDLE.getState()));
|
.eq(TbShopTable::getQrcode, orderInfo.getTableId()));
|
||||||
|
if (tbShopTable.getAutoClear().equals(1)) {
|
||||||
|
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
|
||||||
|
.eq(TbShopTable::getQrcode, orderInfo.getTableId())
|
||||||
|
.set(TbShopTable::getEndTime, DateUtil.date())
|
||||||
|
.set(TbShopTable::getStatus, TableStateEnum.IDLE.getState()));
|
||||||
|
} else {
|
||||||
|
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
|
||||||
|
.eq(TbShopTable::getQrcode, orderInfo.getTableId())
|
||||||
|
.set(TbShopTable::getEndTime, DateUtil.date())
|
||||||
|
.set(TbShopTable::getStatus, TableStateEnum.CLEANING.getState()));
|
||||||
|
}
|
||||||
|
|
||||||
if ("postPay".equals(orderInfo.getUseType())) {
|
if ("postPay".equals(orderInfo.getUseType())) {
|
||||||
String day = DateUtils.getDay();
|
String day = DateUtils.getDay();
|
||||||
|
|
@ -1572,7 +1585,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
tbCashierCart.setSkuId("-999");
|
tbCashierCart.setSkuId("-999");
|
||||||
tbCashierCart.setPackFee(BigDecimal.ZERO);
|
tbCashierCart.setPackFee(BigDecimal.ZERO);
|
||||||
tbCashierCartMapper.insert(tbCashierCart);
|
tbCashierCartMapper.insert(tbCashierCart);
|
||||||
}else {
|
} else {
|
||||||
tbCashierCart.setTotalAmount(new BigDecimal(choseCountDTO.getNum()).multiply(BigDecimal.ONE));
|
tbCashierCart.setTotalAmount(new BigDecimal(choseCountDTO.getNum()).multiply(BigDecimal.ONE));
|
||||||
tbCashierCart.setNumber(choseCountDTO.getNum());
|
tbCashierCart.setNumber(choseCountDTO.getNum());
|
||||||
tbCashierCart.setTotalNumber(choseCountDTO.getNum());
|
tbCashierCart.setTotalNumber(choseCountDTO.getNum());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue