解决小程序下单isPrint is null的bug
This commit is contained in:
parent
5c6a417fbc
commit
79e4d479b8
|
|
@ -1,11 +1,13 @@
|
|||
package com.chaozhanggui.system.cashierservice.rabbit;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.chaozhanggui.system.cashierservice.dao.TbOrderDetailMapper;
|
||||
import com.chaozhanggui.system.cashierservice.dao.TbOrderInfoMapper;
|
||||
import com.chaozhanggui.system.cashierservice.dao.TbShopInfoMapper;
|
||||
|
|
@ -14,6 +16,7 @@ import com.chaozhanggui.system.cashierservice.entity.TbOrderInfo;
|
|||
import com.chaozhanggui.system.cashierservice.entity.TbPrintMachine;
|
||||
import com.chaozhanggui.system.cashierservice.entity.TbShopInfo;
|
||||
import com.chaozhanggui.system.cashierservice.entity.dto.CallNumPrintDTO;
|
||||
import com.chaozhanggui.system.cashierservice.mybatis.MPOrderDetailMapper;
|
||||
import com.chaozhanggui.system.cashierservice.mybatis.MpPrintMachineMapper;
|
||||
import com.chaozhanggui.system.cashierservice.rabbit.print.PrinterHandler;
|
||||
import com.chaozhanggui.system.cashierservice.util.Utils;
|
||||
|
|
@ -24,6 +27,8 @@ import org.springframework.stereotype.Component;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
|
|
@ -31,14 +36,16 @@ public class PrintConsumer {
|
|||
private final TbOrderInfoMapper tbOrderInfoMapper;
|
||||
private final TbShopInfoMapper tbShopInfoMapper;
|
||||
private final TbOrderDetailMapper tbOrderDetailMapper;
|
||||
private final MPOrderDetailMapper mpOrderDetailMapper;
|
||||
private final MpPrintMachineMapper mpPrintMachineMapper;
|
||||
|
||||
private final PrinterHandler printerHandler;
|
||||
|
||||
public PrintConsumer(TbOrderInfoMapper tbOrderInfoMapper, TbShopInfoMapper tbShopInfoMapper, TbOrderDetailMapper tbOrderDetailMapper, MpPrintMachineMapper mpPrintMachineMapper, PrinterHandler printerHandler) {
|
||||
public PrintConsumer(TbOrderInfoMapper tbOrderInfoMapper, TbShopInfoMapper tbShopInfoMapper, TbOrderDetailMapper tbOrderDetailMapper, MPOrderDetailMapper mpOrderDetailMapper, MpPrintMachineMapper mpPrintMachineMapper, PrinterHandler printerHandler) {
|
||||
this.tbOrderInfoMapper = tbOrderInfoMapper;
|
||||
this.tbShopInfoMapper = tbShopInfoMapper;
|
||||
this.tbOrderDetailMapper = tbOrderDetailMapper;
|
||||
this.mpOrderDetailMapper = mpOrderDetailMapper;
|
||||
this.mpPrintMachineMapper = mpPrintMachineMapper;
|
||||
this.printerHandler = printerHandler;
|
||||
}
|
||||
|
|
@ -65,10 +72,21 @@ public class PrintConsumer {
|
|||
for (Object orderDetail : orderDetailIds) {
|
||||
orderDetails.add(JSONObject.parseObject(orderDetail.toString(), TbOrderDetail.class));
|
||||
}
|
||||
if(CollUtil.isEmpty(orderDetails)){
|
||||
return;
|
||||
}
|
||||
List<Integer> ids = orderDetails.stream().map(TbOrderDetail::getId).collect(Collectors.toList());
|
||||
List<TbOrderDetail> detailList = mpOrderDetailMapper.selectList(Wrappers.<TbOrderDetail>lambdaQuery().in(TbOrderDetail::getId, ids));
|
||||
if(CollUtil.isEmpty(detailList)){
|
||||
return;
|
||||
}
|
||||
Map<Integer, Integer> isPrintMap = detailList.stream().collect(Collectors.toMap(TbOrderDetail::getId, TbOrderDetail::getIsPrint));
|
||||
for (TbOrderDetail detail : orderDetails) {
|
||||
detail.setIsPrint(isPrintMap.get(detail.getId()));
|
||||
}
|
||||
if (orderDetails.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 菜品票
|
||||
getPrintMachine(Integer.valueOf(orderInfo.getShopId()), "cash", "one", null).forEach(machine -> {
|
||||
log.info("打印机信息: {}", machine);
|
||||
|
|
|
|||
Loading…
Reference in New Issue