@@ -0,0 +1,459 @@
package com.chaozhanggui.system.cashierservice.rabbit ;
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.conditions.update.LambdaUpdateWrapper ;
import com.chaozhanggui.system.cashierservice.dao.* ;
import com.chaozhanggui.system.cashierservice.entity.* ;
import com.chaozhanggui.system.cashierservice.model.CategoryInfo ;
import com.chaozhanggui.system.cashierservice.model.OrderDetailPO ;
import com.chaozhanggui.system.cashierservice.mybatis.MPOrderDetailMapper ;
import com.chaozhanggui.system.cashierservice.mybatis.MpPrintMachineMapper ;
import com.chaozhanggui.system.cashierservice.util.* ;
import lombok.extern.slf4j.Slf4j ;
import org.springframework.amqp.rabbit.annotation.RabbitHandler ;
import org.springframework.amqp.rabbit.annotation.RabbitListener ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.data.redis.core.RedisTemplate ;
import org.springframework.stereotype.Component ;
import org.springframework.stereotype.Service ;
import java.util.ArrayList ;
import java.util.Date ;
import java.util.List ;
import java.util.Set ;
import java.util.concurrent.TimeUnit ;
import java.util.concurrent.atomic.AtomicReference ;
import java.util.stream.Collectors ;
@Slf4j
@Component
@Service
public class PrintConsumer {
@Autowired
TbShopUserMapper tbShopUserMapper ;
@Autowired
private TbOrderInfoMapper tbOrderInfoMapper ;
@Autowired
private TbPrintMachineMapper tbPrintMachineMapper ;
@Autowired
private TbCashierCartMapper tbCashierCartMapper ;
@Autowired
private TbProductSkuMapper tbProductSkuMapper ;
@Autowired
private TbShopInfoMapper tbShopInfoMapper ;
@Autowired
private TbProductMapper tbProductMapper ;
@Autowired
private TbOrderDetailMapper tbOrderDetailMapper ;
@Autowired
private RedisUtil redisUtils ;
private final RedisTemplate < String , Object > redisTemplate ;
@Autowired
private MpPrintMachineMapper mpPrintMachineMapper ;
@Autowired
private MPOrderDetailMapper mPOrderDetailMapper ;
public PrintConsumer ( RedisTemplate < String , Object > redisTemplate ) {
this . redisTemplate = redisTemplate ;
}
@RabbitListener ( queues = { RabbitConstants . QUEUE_PRINT_DISHES } )
public void printDishesListener ( JSONObject jsonObject ) {
try {
log . info ( " 打印消息mq 接收到打印菜品消息,消息内容: {} " , jsonObject ) ;
Integer orderId = jsonObject . getInteger ( " orderId " ) ;
JSONArray orderDetailIds = jsonObject . getJSONArray ( " orderDetailIds " ) ;
Boolean isReturn = jsonObject . getBoolean ( " isReturn " ) ;
TbOrderInfo orderInfo = tbOrderInfoMapper . selectByPrimaryKey ( orderId ) ;
if ( ObjectUtil . isEmpty ( orderInfo ) ) {
log . error ( " 没有对应的订单信息 " ) ;
return ;
}
List < TbOrderDetail > orderDetails = mPOrderDetailMapper . selectList ( new LambdaQueryWrapper < TbOrderDetail > ( )
. in ( TbOrderDetail : : getId , orderDetailIds ) ) ;
getPrintMachine ( Integer . valueOf ( orderInfo . getShopId ( ) ) , " cash " ) . forEach ( machine - > {
log . info ( " 打印机信息: {} " , machine ) ;
JSONObject config = JSONObject . parseObject ( machine . getConfig ( ) ) ;
String model = config . getString ( " model " ) ;
if ( ! " one " . equals ( model ) ) {
return ;
}
List < CategoryInfo > categoryInfos = JSONUtil . parseJSONStr2TList ( config . getJSONArray ( " categoryList " ) . toString ( ) , CategoryInfo . class ) ;
orderDetails . forEach ( item - > {
printDishesTicket ( isReturn , machine , item , orderInfo , categoryInfos ) ;
} ) ;
} ) ;
} catch ( Exception e ) {
log . warn ( " 打印菜品失败 " , e ) ;
}
}
@RabbitListener ( queues = { RabbitConstants . QUEUE_PRINT_PLACE } )
public void printPlaceListener ( JSONObject jsonObject ) {
try {
log . info ( " 打印消息mq 接收到打印结算单消息,消息内容: {} " , jsonObject ) ;
Integer orderId = jsonObject . getInteger ( " orderId " ) ;
Boolean isReturn = jsonObject . getBoolean ( " isReturn " ) ;
TbOrderInfo orderInfo = tbOrderInfoMapper . selectByPrimaryKey ( orderId ) ;
if ( ObjectUtil . isEmpty ( orderInfo ) ) {
log . error ( " 没有对应的订单信息 " ) ;
return ;
}
TbShopInfo shopInfo = tbShopInfoMapper . selectByPrimaryKey ( Integer . valueOf ( orderInfo . getShopId ( ) ) ) ;
if ( shopInfo = = null ) {
log . error ( " 店铺信息不存在 " ) ;
return ;
}
getPrintMachine ( shopInfo . getId ( ) , " cash " ) . forEach ( machine - > {
log . info ( " 打印机信息: {} " , machine ) ;
JSONObject config = JSONObject . parseObject ( machine . getConfig ( ) ) ;
String model = config . getString ( " model " ) ;
if ( ! " normal " . equals ( model ) ) {
return ;
}
printPlaceTicket ( isReturn , machine , orderInfo , shopInfo ) ;
} ) ;
} catch ( Exception e ) {
log . warn ( " 打印菜品失败 " , e ) ;
}
}
private List < TbPrintMachine > getPrintMachine ( Integer shopId , String subType ) {
TbShopInfo shopInfo = tbShopInfoMapper . selectByPrimaryKey ( shopId ) ;
if ( ObjectUtil . isEmpty ( shopInfo ) ) {
log . error ( " 店铺信息不存在 " ) ;
return new ArrayList < > ( ) ;
}
List < TbPrintMachine > list = mpPrintMachineMapper . selectList ( new LambdaQueryWrapper < TbPrintMachine > ( )
. eq ( TbPrintMachine : : getStatus , 1 )
. eq ( TbPrintMachine : : getShopId , shopId )
. eq ( TbPrintMachine : : getSubType , subType )
. eq ( TbPrintMachine : : getConnectionType , " network " ) ) ;
if ( list . isEmpty ( ) ) {
log . error ( " 店铺未配置打印机, 店铺id: {} " , shopId ) ;
return list ;
}
log . info ( " 打印机列表: {} " , list ) ;
return list ;
}
/**
* 打印菜品单
*
* @param isReturn 是否退款单
*/
private void printDishesTicket ( boolean isReturn , TbPrintMachine tbPrintMachineWithBLOBs , TbOrderDetail item , TbOrderInfo orderInfo , List < CategoryInfo > categoryInfos ) {
log . info ( " 开始打印一菜一品票据,商品名:{} " , item . getProductName ( ) ) ;
if ( item . getProductId ( ) . equals ( - 999 ) ) {
return ;
}
String categoryId = tbProductMapper . selectByPrimaryKey ( item . getProductId ( ) ) . getCategoryId ( ) ;
TbProductSkuWithBLOBs sku = tbProductSkuMapper . selectByPrimaryKey ( item . getProductSkuId ( ) ) ;
if ( sku = = null ) {
log . error ( " 商品不存在, id: {} " , item . getProductSkuId ( ) ) ;
return ;
}
long count = categoryInfos . stream ( ) . filter ( c - >
c . getId ( ) . toString ( ) . equals ( categoryId )
) . count ( ) ;
if ( count = = 0 ) {
log . warn ( " 分类未添加菜品: {} : {} " , item . getProductName ( ) , sku . getSpecSnap ( ) ) ;
return ;
}
String remark = StrUtil . isNotBlank ( sku . getSpecSnap ( ) ) ? sku . getSpecSnap ( ) : " " ;
item . setRemark ( remark ) ;
String data ;
String voiceJson ;
if ( isReturn ) {
data = PrinterUtils . getPrintData ( " return " ,
StrUtil . isBlank ( orderInfo . getTableName ( ) ) ? orderInfo . getMasterId ( ) : orderInfo . getTableName ( ) ,
DateUtils . getTime ( new Date ( orderInfo . getCreatedAt ( ) ) ) , item . getProductName ( ) , Math . abs ( item . getNum ( ) ) , remark ) ;
voiceJson = " { \" bizType \" : \" 2 \" , \" content \" : \" 您有一笔退款订单,请及时处理 \" } " ;
PrinterUtils . printTickets ( voiceJson , 3 , 1 , tbPrintMachineWithBLOBs . getAddress ( ) , data ) ;
} else {
data = PrinterUtils . getPrintData ( " " , orderInfo . getMasterId ( ) ,
DateUtils . getTime ( new Date ( orderInfo . getCreatedAt ( ) ) ) , item . getProductName ( ) ,
item . getNum ( ) , remark ) ;
voiceJson = " { \" bizType \" : \" 2 \" , \" content \" : \" 您有一笔新的订单,请及时处理 \" } " ;
PrinterUtils . printTickets ( voiceJson , 3 , 1 , tbPrintMachineWithBLOBs . getAddress ( ) , data ) ;
}
}
/**
* 打印结算单
*/
private void printPlaceTicket ( boolean isReturn , TbPrintMachine printMachine , TbOrderInfo orderInfo , TbShopInfo shopInfo ) {
List < TbOrderDetail > tbOrderDetails = tbOrderDetailMapper . selectAllByOrderId ( orderInfo . getId ( ) ) ;
if ( ! tbOrderDetails . isEmpty ( ) ) {
List < OrderDetailPO . Detail > detailList = new ArrayList < > ( ) ;
tbOrderDetails . parallelStream ( ) . forEach ( it - > {
TbProductSkuWithBLOBs tbProductSkuWithBLOBs = tbProductSkuMapper . selectByPrimaryKey ( Integer . valueOf ( it . getProductSkuId ( ) ) ) ;
String remark = " " ;
if ( ObjectUtil . isNotEmpty ( tbProductSkuWithBLOBs ) & & ObjectUtil . isNotEmpty ( tbProductSkuWithBLOBs . getSpecSnap ( ) ) ) {
remark = tbProductSkuWithBLOBs . getSpecSnap ( ) ;
}
OrderDetailPO . Detail detail = new OrderDetailPO . Detail ( it . getProductName ( ) , it . getNum ( ) . toString ( ) , it . getPriceAmount ( ) . toPlainString ( ) , remark ) ;
detailList . add ( detail ) ;
} ) ;
String balance = " 0 " ;
if ( " deposit " . equals ( orderInfo . getPayType ( ) ) ) {
TbShopUser user = tbShopUserMapper . selectByPrimaryKey ( Integer . valueOf ( orderInfo . getMemberId ( ) ) ) ;
if ( ObjectUtil . isNotEmpty ( user ) & & ObjectUtil . isNotEmpty ( user . getAmount ( ) ) ) {
balance = user . getAmount ( ) . toPlainString ( ) ;
}
}
if ( ! detailList . isEmpty ( ) ) {
if ( isReturn ) {
OrderDetailPO detailPO = new OrderDetailPO ( shopInfo . getShopName ( ) , " 普通打印 " ,
ObjectUtil . isEmpty ( orderInfo . getMasterId ( ) ) | |
ObjectUtil . isNull ( orderInfo . getMasterId ( ) ) ? orderInfo . getTableName ( ) : orderInfo . getMasterId ( ) ,
orderInfo . getOrderNo ( ) , DateUtils . getTime ( new Date ( orderInfo . getCreatedAt ( ) ) ) ,
" 【POS-1】001 " , orderInfo . getPayAmount ( ) . toPlainString ( ) , balance , orderInfo . getPayType ( ) ,
" 0 " , detailList , orderInfo . getRemark ( ) , null , null ) ;
String printType = " 退款单 " ;
String data = PrinterUtils . getCashPrintData ( detailPO , printType , " return " ) ;
String voiceJson = " { \" bizType \" : \" 2 \" , \" content \" : \" 您有一笔新的订单,请及时处理 \" } " ;
PrinterUtils . printTickets ( voiceJson , 1 , 1 , printMachine . getAddress ( ) , data ) ;
} else {
OrderDetailPO detailPO = new OrderDetailPO ( shopInfo . getShopName ( ) , " 普通打印 " ,
orderInfo . getOrderType ( ) . equals ( " miniapp " ) ? orderInfo . getTableName ( ) : orderInfo . getMasterId ( ) ,
orderInfo . getOrderNo ( ) , DateUtils . getTime ( new Date ( orderInfo . getCreatedAt ( ) ) ) ,
" 【POS-1】001 " , orderInfo . getOrderAmount ( ) . toPlainString ( ) , balance ,
( ObjectUtil . isEmpty ( orderInfo . getPayType ( ) ) | | ObjectUtil . isNull ( orderInfo . getPayType ( ) ) ? " " : orderInfo . getPayType ( ) ) ,
" 0 " , detailList , orderInfo . getRemark ( ) , orderInfo . getDiscountAmount ( ) ! = null ? orderInfo . getDiscountAmount ( ) . toPlainString ( ) : null ,
orderInfo . getDiscountRatio ( ) ! = null ? orderInfo . getDiscountRatio ( ) . toPlainString ( ) : null ) ;
detailPO . setOutNumber ( orderInfo . getOutNumber ( ) ) ;
String printType = " 结算单 " ;
String data = PrinterUtils . getCashPrintData ( detailPO , printType , orderInfo . getOrderType ( ) ) ;
String voiceJson = " { \" bizType \" : \" 2 \" , \" content \" : \" 您有一笔新的订单,请及时处理 \" } " ;
PrinterUtils . printTickets ( voiceJson , 3 , 1 , printMachine . getAddress ( ) , data ) ;
}
}
}
}
private void fePrinter ( TbPrintMachine tbPrintMachineWithBLOBs , String model , TbOrderInfo orderInfo , TbShopInfo shopInfo , String printerNum , List < CategoryInfo > categoryInfos ) {
String orderId = orderInfo . getId ( ) . toString ( ) ;
switch ( tbPrintMachineWithBLOBs . getSubType ( ) ) {
case " label " : //标签打印机
List < TbCashierCart > cashierCarts = tbCashierCartMapper . selectByOrderId ( orderInfo . getId ( ) . toString ( ) , " final " ) ;
if ( ObjectUtil . isNotEmpty ( cashierCarts ) & & cashierCarts . size ( ) > 0 ) {
cashierCarts . parallelStream ( ) . forEach ( it - > {
String categoryId ;
if ( ObjectUtil . isEmpty ( it . getCategoryId ( ) ) ) {
categoryId = tbProductMapper . selectByPrimaryKey ( Integer . valueOf ( it . getProductId ( ) ) ) . getCategoryId ( ) ;
} else {
categoryId = it . getCategoryId ( ) ;
}
Long count = categoryInfos . stream ( ) . filter ( c - >
c . getId ( ) . toString ( ) . equals ( categoryId )
) . count ( ) ;
log . info ( " 获取当前类别是否未打印类别:{} " , count ) ;
if ( count > 0 ) {
TbProductSkuWithBLOBs tbProductSkuWithBLOBs = tbProductSkuMapper . selectByPrimaryKey ( Integer . valueOf ( it . getSkuId ( ) ) ) ;
String remark = " " ;
if ( ObjectUtil . isNotEmpty ( tbProductSkuWithBLOBs ) & & ObjectUtil . isNotEmpty ( tbProductSkuWithBLOBs . getSpecSnap ( ) ) ) {
remark = tbProductSkuWithBLOBs . getSpecSnap ( ) ;
}
for ( int i = 0 ; i < it . getNumber ( ) ; i + + ) {
FeieyunPrintUtil . printLabelMsg ( tbPrintMachineWithBLOBs . getAddress ( ) , orderInfo . getTableName ( ) , it . getName ( ) , 1 , DateUtils . getTimes ( new Date ( orderInfo . getCreatedAt ( ) ) ) , it . getSalePrice ( ) . toPlainString ( ) , remark ) ;
}
}
} ) ;
}
break ;
case " cash " : //小票打印机
switch ( model ) {
case " normal " : //普通出单
if ( " return " . equals ( orderInfo . getOrderType ( ) ) ) {
List < TbOrderDetail > tbOrderDetails = tbOrderDetailMapper . selectAllByOrderId ( Integer . valueOf ( orderId ) ) ;
if ( ObjectUtil . isNotEmpty ( tbOrderDetails ) & & tbOrderDetails . size ( ) > 0 ) {
List < OrderDetailPO . Detail > detailList = new ArrayList < > ( ) ;
tbOrderDetails . parallelStream ( ) . forEach ( it - > {
String categoryId = tbProductMapper . selectByPrimaryKey ( Integer . valueOf ( it . getProductId ( ) ) ) . getCategoryId ( ) ;
Long count = categoryInfos . stream ( ) . filter ( c - >
c . getId ( ) . toString ( ) . equals ( categoryId )
) . count ( ) ;
log . info ( " 获取当前类别是否未打印类别:{} " , count ) ;
TbProductSkuWithBLOBs tbProductSkuWithBLOBs = tbProductSkuMapper . selectByPrimaryKey ( Integer . valueOf ( it . getProductSkuId ( ) ) ) ;
String remark = " " ;
if ( ObjectUtil . isNotEmpty ( tbProductSkuWithBLOBs ) & & ObjectUtil . isNotEmpty ( tbProductSkuWithBLOBs . getSpecSnap ( ) ) ) {
remark = tbProductSkuWithBLOBs . getSpecSnap ( ) ;
}
OrderDetailPO . Detail detail = new OrderDetailPO . Detail ( it . getProductName ( ) , it . getNum ( ) . toString ( ) , it . getPriceAmount ( ) . toPlainString ( ) , remark ) ;
detailList . add ( detail ) ;
} ) ;
String balance = " 0 " ;
if ( " deposit " . equals ( orderInfo . getPayType ( ) ) ) {
TbShopUser user = tbShopUserMapper . selectByPrimaryKey ( Integer . valueOf ( orderInfo . getMemberId ( ) ) ) ;
if ( ObjectUtil . isNotEmpty ( user ) & & ObjectUtil . isNotEmpty ( user . getAmount ( ) ) ) {
balance = user . getAmount ( ) . toPlainString ( ) ;
}
}
if ( ObjectUtil . isNotEmpty ( detailList ) & & detailList . size ( ) > 0 ) {
// OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList);
OrderDetailPO detailPO = new OrderDetailPO ( shopInfo . getShopName ( ) , " 普通打印 " , ObjectUtil . isEmpty ( orderInfo . getMasterId ( ) ) | | ObjectUtil . isNull ( orderInfo . getMasterId ( ) ) ? orderInfo . getTableName ( ) : orderInfo . getMasterId ( ) , orderInfo . getOrderNo ( ) , DateUtils . getTime ( new Date ( orderInfo . getCreatedAt ( ) ) ) , " 【POS-1】001 " , orderInfo . getOrderAmount ( ) . toPlainString ( ) , balance , orderInfo . getPayType ( ) , " 0 " , detailList , orderInfo . getRemark ( ) , orderInfo . getDiscountAmount ( ) . toPlainString ( ) , orderInfo . getDiscountRatio ( ) . toPlainString ( ) ) ;
String printType = " 退款单 " ;
String data = PrinterUtils . getCashPrintData ( detailPO , printType , " return " ) ;
// String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
// PrinterUtils.printTickets(voiceJson,1, Integer.valueOf(printerNum), tbPrintMachineWithBLOBs.getAddress(), data);
}
}
} else {
cashierCarts = cashierCarts = tbCashierCartMapper . selectByOrderId ( orderInfo . getId ( ) . toString ( ) , " final " ) ;
if ( ObjectUtil . isNotEmpty ( cashierCarts ) & & cashierCarts . size ( ) > 0 ) {
List < OrderDetailPO . Detail > detailList = new ArrayList < > ( ) ;
cashierCarts . parallelStream ( ) . forEach ( it - > {
String categoryId ;
if ( ObjectUtil . isEmpty ( it . getCategoryId ( ) ) ) {
categoryId = tbProductMapper . selectByPrimaryKey ( Integer . valueOf ( it . getProductId ( ) ) ) . getCategoryId ( ) ;
} else {
categoryId = it . getCategoryId ( ) ;
}
Long count = categoryInfos . stream ( ) . filter ( c - >
c . getId ( ) . toString ( ) . equals ( categoryId )
) . count ( ) ;
if ( count > 0 ) {
TbProductSkuWithBLOBs tbProductSkuWithBLOBs = tbProductSkuMapper . selectByPrimaryKey ( Integer . valueOf ( it . getSkuId ( ) ) ) ;
String remark = " " ;
if ( ObjectUtil . isNotEmpty ( tbProductSkuWithBLOBs ) & & ObjectUtil . isNotEmpty ( tbProductSkuWithBLOBs . getSpecSnap ( ) ) ) {
remark = tbProductSkuWithBLOBs . getSpecSnap ( ) ;
}
OrderDetailPO . Detail detail = new OrderDetailPO . Detail ( it . getName ( ) , it . getNumber ( ) . toString ( ) , it . getTotalAmount ( ) . toPlainString ( ) , remark ) ;
detailList . add ( detail ) ;
}
} ) ;
String balance = " 0 " ;
if ( " deposit " . equals ( orderInfo . getPayType ( ) ) ) {
TbShopUser user = tbShopUserMapper . selectByPrimaryKey ( Integer . valueOf ( orderInfo . getMemberId ( ) ) ) ;
if ( ObjectUtil . isNotEmpty ( user ) & & ObjectUtil . isNotEmpty ( user . getAmount ( ) ) ) {
balance = user . getAmount ( ) . toPlainString ( ) ;
}
}
if ( ObjectUtil . isNotEmpty ( detailList ) & & detailList . size ( ) > 0 ) {
OrderDetailPO detailPO = new OrderDetailPO ( shopInfo . getShopName ( ) , " 普通打印 " , orderInfo . getOrderType ( ) . equals ( " miniapp " ) ? orderInfo . getTableName ( ) : orderInfo . getMasterId ( ) , orderInfo . getOrderNo ( ) , DateUtils . getTime ( new Date ( orderInfo . getCreatedAt ( ) ) ) , " 【POS-1】001 " , orderInfo . getOrderAmount ( ) . toPlainString ( ) , balance , ( ObjectUtil . isEmpty ( orderInfo . getPayType ( ) ) | | ObjectUtil . isNull ( orderInfo . getPayType ( ) ) ? " " : orderInfo . getPayType ( ) ) , " 0 " , detailList , orderInfo . getRemark ( ) , null , null ) ;
String printType = " 结算单 " ;
if ( " return " . equals ( orderInfo . getOrderType ( ) ) ) {
printType = " 退款单 " ;
}
FeieyunPrintUtil . getCashPrintData ( detailPO , tbPrintMachineWithBLOBs . getAddress ( ) , printType , printType ) ;
}
}
}
break ;
case " one " : //一菜一品
if ( ! orderInfo . getStatus ( ) . equals ( " unpaid " ) ) {
return ;
}
cashierCarts = tbCashierCartMapper . selectByOrderId ( orderId , " final " ) ;
if ( ObjectUtil . isNotEmpty ( cashierCarts ) & & cashierCarts . size ( ) > 0 ) {
cashierCarts . parallelStream ( ) . forEach ( it - > {
String categoryId ;
if ( ObjectUtil . isEmpty ( it . getCategoryId ( ) ) ) {
categoryId = tbProductMapper . selectByPrimaryKey ( Integer . valueOf ( it . getProductId ( ) ) ) . getCategoryId ( ) ;
} else {
categoryId = it . getCategoryId ( ) ;
}
Long count = categoryInfos . stream ( ) . filter ( c - >
c . getId ( ) . toString ( ) . equals ( categoryId )
) . count ( ) ;
if ( count > 0 ) {
TbProductSkuWithBLOBs tbProductSkuWithBLOBs = tbProductSkuMapper . selectByPrimaryKey ( Integer . valueOf ( it . getSkuId ( ) ) ) ;
String remark = " " ;
if ( ObjectUtil . isNotEmpty ( tbProductSkuWithBLOBs ) & & ObjectUtil . isNotEmpty ( tbProductSkuWithBLOBs . getSpecSnap ( ) ) ) {
remark = tbProductSkuWithBLOBs . getSpecSnap ( ) ;
}
FeieyunPrintUtil . getPrintData ( tbPrintMachineWithBLOBs . getAddress ( ) , orderInfo . getMasterId ( ) , DateUtils . getTime ( new Date ( orderInfo . getCreatedAt ( ) ) ) , it . getName ( ) , it . getNumber ( ) , remark ) ;
}
} ) ;
}
break ;
case " category " : //分类出单
break ;
}
break ;
case " kitchen " : //出品打印机
break ;
}
}
}