1.代客下单先付款后付款操作
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.bean;
|
||||||
|
|
||||||
|
public enum TableStateEnum {
|
||||||
|
IDLE("idle"),
|
||||||
|
CLOSED("closed"), PAYING("paying"), PENDING("pending");
|
||||||
|
private String state = "closed";
|
||||||
|
|
||||||
|
TableStateEnum(String state) {
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,4 +8,5 @@ import lombok.EqualsAndHashCode;
|
|||||||
@Data
|
@Data
|
||||||
public class TbShopTableVO extends TbShopTable {
|
public class TbShopTableVO extends TbShopTable {
|
||||||
private Integer userId;
|
private Integer userId;
|
||||||
|
private String masterId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -274,7 +274,9 @@ public class PrintMechineConsumer {
|
|||||||
if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) {
|
if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) {
|
||||||
remark = tbProductSkuWithBLOBs.getSpecSnap();
|
remark = tbProductSkuWithBLOBs.getSpecSnap();
|
||||||
}
|
}
|
||||||
String data = PrinterUtils.getPrintData("",orderInfo.getMasterId(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(), it.getNum(), remark);
|
String data = PrinterUtils.getPrintData("",orderInfo.getMasterId(),
|
||||||
|
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(),
|
||||||
|
it.getNum(), remark);
|
||||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
||||||
PrinterUtils.printTickets(voiceJson,3, Integer.valueOf(printerNum), tbPrintMachineWithBLOBs.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson,3, Integer.valueOf(printerNum), tbPrintMachineWithBLOBs.getAddress(), data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.chaozhanggui.system.cashierservice.bean.ShopWxMsgTypeEnum;
|
import com.chaozhanggui.system.cashierservice.bean.ShopWxMsgTypeEnum;
|
||||||
|
import com.chaozhanggui.system.cashierservice.bean.TableStateEnum;
|
||||||
import com.chaozhanggui.system.cashierservice.dao.*;
|
import com.chaozhanggui.system.cashierservice.dao.*;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.*;
|
import com.chaozhanggui.system.cashierservice.entity.*;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.dto.UpdateVipDTO;
|
import com.chaozhanggui.system.cashierservice.entity.dto.UpdateVipDTO;
|
||||||
@@ -274,6 +275,7 @@ public class OrderService {
|
|||||||
cashierCart.setNumber(number);
|
cashierCart.setNumber(number);
|
||||||
cashierCart.setUuid(uuid);
|
cashierCart.setUuid(uuid);
|
||||||
cashierCart.setCategoryId(product.getCategoryId());
|
cashierCart.setCategoryId(product.getCategoryId());
|
||||||
|
cashierCart.setTableId(tableId);
|
||||||
list.add(cashierCart);
|
list.add(cashierCart);
|
||||||
cashierCartMapper.insert(cashierCart);
|
cashierCartMapper.insert(cashierCart);
|
||||||
cart=cashierCart;
|
cart=cashierCart;
|
||||||
@@ -364,9 +366,10 @@ public class OrderService {
|
|||||||
queryWrapper.isNull(TbCashierCart::getTableId);
|
queryWrapper.isNull(TbCashierCart::getTableId);
|
||||||
// 台桌点单
|
// 台桌点单
|
||||||
}else if (StrUtil.isNotBlank(tableId)) {
|
}else if (StrUtil.isNotBlank(tableId)) {
|
||||||
|
String finalMasterId = masterId;
|
||||||
queryWrapper.eq(TbCashierCart::getTableId, tableId)
|
queryWrapper.eq(TbCashierCart::getTableId, tableId)
|
||||||
.and(query -> {
|
.and(query -> {
|
||||||
query.eq(TbCashierCart::getMasterId, masterId)
|
query.eq(TbCashierCart::getMasterId, finalMasterId)
|
||||||
.or()
|
.or()
|
||||||
.isNull(TbCashierCart::getMasterId);
|
.isNull(TbCashierCart::getMasterId);
|
||||||
});
|
});
|
||||||
@@ -405,10 +408,12 @@ public class OrderService {
|
|||||||
}
|
}
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put("list", list);
|
map.put("list", list);
|
||||||
map.put("masterId", masterId);
|
|
||||||
BigDecimal totalAmount = BigDecimal.ZERO;
|
BigDecimal totalAmount = BigDecimal.ZERO;
|
||||||
BigDecimal packAmount = BigDecimal.ZERO;
|
BigDecimal packAmount = BigDecimal.ZERO;
|
||||||
for (TbCashierCart cashierCart : list) {
|
for (TbCashierCart cashierCart : list) {
|
||||||
|
if (StrUtil.isNotBlank(cashierCart.getMasterId())) {
|
||||||
|
masterId = cashierCart.getMasterId();
|
||||||
|
}
|
||||||
totalAmount = totalAmount.add(cashierCart.getTotalAmount());
|
totalAmount = totalAmount.add(cashierCart.getTotalAmount());
|
||||||
if (cashierCart.getIsPack().equals("true")) {
|
if (cashierCart.getIsPack().equals("true")) {
|
||||||
packAmount = packAmount.add(cashierCart.getPackFee());
|
packAmount = packAmount.add(cashierCart.getPackFee());
|
||||||
@@ -427,6 +432,9 @@ public class OrderService {
|
|||||||
}
|
}
|
||||||
// TbProductSkuResult skuResult = tbProductSkuResultMapper.selectByPr imaryKey(Integer.valueOf(cashierCart.getProductId()));
|
// TbProductSkuResult skuResult = tbProductSkuResultMapper.selectByPr imaryKey(Integer.valueOf(cashierCart.getProductId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
map.put("masterId", masterId);
|
||||||
|
|
||||||
QueryCartPo queryCartPo = cashierCartMapper.selectProductNumByMarketId(day, shopId, masterId);
|
QueryCartPo queryCartPo = cashierCartMapper.selectProductNumByMarketId(day, shopId, masterId);
|
||||||
queryCartPo.setPackAmount(packAmount);
|
queryCartPo.setPackAmount(packAmount);
|
||||||
queryCartPo.setTotalAmount(totalAmount);
|
queryCartPo.setTotalAmount(totalAmount);
|
||||||
@@ -557,7 +565,7 @@ public class OrderService {
|
|||||||
String orderNo = generateOrderNumber();
|
String orderNo = generateOrderNumber();
|
||||||
TbToken tbToken = tokenMapper.selectByToken(token);
|
TbToken tbToken = tokenMapper.selectByToken(token);
|
||||||
TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPrimaryKey(orderId);
|
TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPrimaryKey(orderId);
|
||||||
if (orderId > 0) {
|
if (orderId > 0 && orderInfo != null) {
|
||||||
// if (!orderInfo.getStatus().equals("unpaid")){
|
// if (!orderInfo.getStatus().equals("unpaid")){
|
||||||
// return Result.fail(CodeEnum.ORDERCREATE);
|
// return Result.fail(CodeEnum.ORDERCREATE);
|
||||||
// }
|
// }
|
||||||
@@ -651,6 +659,10 @@ public class OrderService {
|
|||||||
}
|
}
|
||||||
if (flag) {
|
if (flag) {
|
||||||
redisUtil.deleteByKey("SHOP:CODE:USER:" + clientType + ":" + orderVo.getShopId() + ":" + day + orderVo.getUserId());
|
redisUtil.deleteByKey("SHOP:CODE:USER:" + clientType + ":" + orderVo.getShopId() + ":" + day + orderVo.getUserId());
|
||||||
|
// 代课下单
|
||||||
|
if (!StrUtil.isBlank(orderVo.getTableId())) {
|
||||||
|
producer.printMechine(String.valueOf(orderInfo.getId()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JSONObject object=new JSONObject();
|
JSONObject object=new JSONObject();
|
||||||
@@ -673,8 +685,6 @@ public class OrderService {
|
|||||||
redisUtil.saveMessage(RedisCst.OUT_NUMBER.concat(orderInfo.getShopId().toString()),object.toString());
|
redisUtil.saveMessage(RedisCst.OUT_NUMBER.concat(orderInfo.getShopId().toString()),object.toString());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
log.info("创建订单,发送更新耗材消息,订单id:{}", orderInfo.getId());
|
log.info("创建订单,发送更新耗材消息,订单id:{}", orderInfo.getId());
|
||||||
//修改耗材数据
|
//修改耗材数据
|
||||||
JSONObject jsonObject=new JSONObject();
|
JSONObject jsonObject=new JSONObject();
|
||||||
@@ -696,6 +706,16 @@ public class OrderService {
|
|||||||
return Result.success(CodeEnum.SUCCESS, orderInfo);
|
return Result.success(CodeEnum.SUCCESS, orderInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public synchronized void addGlobalCode(String day, String clientType, String shopId) {
|
||||||
|
String code = redisUtil.getMessage("SHOP:CODE:" + clientType + ":" + shopId + ":" + day);
|
||||||
|
if (StrUtil.isBlank(code)) {
|
||||||
|
redisUtil.saveMessage("SHOP:CODE:" + clientType + ":" + shopId + ":" + day, "1");
|
||||||
|
}else {
|
||||||
|
redisUtil.getMessage("SHOP:CODE:" + clientType + ":" + shopId + ":" + (Integer.parseInt(code) + 1));
|
||||||
|
}
|
||||||
|
redisUtil.execsSet("SHOP:CODE:SET" + clientType + ":" + shopId + ":" + day, "1");
|
||||||
|
}
|
||||||
|
|
||||||
public synchronized String generateOrderCode(String day, String clientType, String shopId) {
|
public synchronized String generateOrderCode(String day, String clientType, String shopId) {
|
||||||
String code = redisUtil.getMessage("SHOP:CODE:" + clientType + ":" + shopId + ":" + day)+"";
|
String code = redisUtil.getMessage("SHOP:CODE:" + clientType + ":" + shopId + ":" + day)+"";
|
||||||
// 使用顺序递增的计数器生成取餐码
|
// 使用顺序递增的计数器生成取餐码
|
||||||
@@ -900,6 +920,11 @@ public class OrderService {
|
|||||||
if (flag) {
|
if (flag) {
|
||||||
redisUtil.deleteByKey("SHOP:CODE:USER:" + clientType + ":" + shopId + ":" + day + userId);
|
redisUtil.deleteByKey("SHOP:CODE:USER:" + clientType + ":" + shopId + ":" + day + userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
|
||||||
|
.eq(TbShopTable::getQrcode, tableId)
|
||||||
|
.set(TbShopTable::getStatus, TableStateEnum.PENDING.getState()));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
List<TbCashierCart> list = mpCashierCartMapper.selectList(queryWrapper
|
List<TbCashierCart> list = mpCashierCartMapper.selectList(queryWrapper
|
||||||
.eq(TbCashierCart::getStatus, "refund"));
|
.eq(TbCashierCart::getStatus, "refund"));
|
||||||
|
|||||||
@@ -782,6 +782,10 @@ public class PayService {
|
|||||||
mqData.put("type", "pc");
|
mqData.put("type", "pc");
|
||||||
producer.sendStockSaleMsg(mqData);
|
producer.sendStockSaleMsg(mqData);
|
||||||
|
|
||||||
|
|
||||||
|
redisUtil.del("SHOP:CODE:USER:" + "pc" + ":" + orderInfo.getShopId() + ":" + DateUtils.getDay() + TokenUtil.parseParamFromToken(token).getString("accountId"));
|
||||||
|
|
||||||
|
|
||||||
return Result.success(CodeEnum.SUCCESS);
|
return Result.success(CodeEnum.SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -856,6 +860,8 @@ public class PayService {
|
|||||||
mqData.put("type", "pc");
|
mqData.put("type", "pc");
|
||||||
producer.sendStockSaleMsg(mqData);
|
producer.sendStockSaleMsg(mqData);
|
||||||
|
|
||||||
|
redisUtil.del("SHOP:CODE:USER:" + "pc" + ":" + orderInfo.getShopId() + ":" + DateUtils.getDay() + TokenUtil.parseParamFromToken(token).getString("accountId"));
|
||||||
|
|
||||||
return Result.success(CodeEnum.SUCCESS);
|
return Result.success(CodeEnum.SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1156,6 +1162,7 @@ public class PayService {
|
|||||||
|
|
||||||
productStockDetailMapper.insert(tbProductStockDetail);
|
productStockDetailMapper.insert(tbProductStockDetail);
|
||||||
}
|
}
|
||||||
|
redisUtil.del("SHOP:CODE:USER:" + "pc" + ":" + orderInfo.getShopId() + ":" + DateUtils.getDay() + TokenUtil.parseParamFromToken(token).getString("accountId"));
|
||||||
|
|
||||||
return Result.success(CodeEnum.SUCCESS);
|
return Result.success(CodeEnum.SUCCESS);
|
||||||
}
|
}
|
||||||
@@ -1254,6 +1261,8 @@ public class PayService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
redisUtil.del("SHOP:CODE:USER:" + "pc" + ":" + shopId + ":" + DateUtils.getDay() + TokenUtil.parseParamFromToken(token).getString("accountId"));
|
||||||
|
|
||||||
return Result.fail(CodeEnum.FAIL);
|
return Result.fail(CodeEnum.FAIL);
|
||||||
|
|
||||||
|
|
||||||
@@ -1310,6 +1319,7 @@ public class PayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success(CodeEnum.SUCCESS, tbQuickPay);
|
return Result.success(CodeEnum.SUCCESS, tbQuickPay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,8 +229,9 @@
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
<select id="selectTableInfo" resultType="com.chaozhanggui.system.cashierservice.entity.vo.TbShopTableVO">
|
<select id="selectTableInfo" resultType="com.chaozhanggui.system.cashierservice.entity.vo.TbShopTableVO">
|
||||||
select a.*, b.user_id from tb_shop_table a
|
select a.*, b.user_id, c.master_id from tb_shop_table a
|
||||||
left join tb_order_info b on a.qrcode=b.table_id and (b.`status`='unpaid' or b.`status`='paying') and b.user_id is not null
|
left join tb_order_info b on a.qrcode=b.table_id and (b.`status`='unpaid' or b.`status`='paying') and b.user_id is not null
|
||||||
|
left join tb_order_info c on a.qrcode=c.table_id and (c.`status`='unpaid' or c.`status`='paying') and c.master_id is not null
|
||||||
where a.shop_id=#{shopId}
|
where a.shop_id=#{shopId}
|
||||||
<if test="areaId != null and areaId !=''">
|
<if test="areaId != null and areaId !=''">
|
||||||
and a.area_id = #{areaId}
|
and a.area_id = #{areaId}
|
||||||
|
|||||||
Reference in New Issue
Block a user