| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <?php
- namespace addons\Printer\common\logic;
- use addons\Printer\common\logic\PrintOrder;
- use addons\Store\common\models\StoreOrder;
- use common\models\order\Order;
- use addons\Printer\common\models\Log as PrintLog;
- class PrinterBase
- {
- public static function async_handleOld($params){
- if(!empty($params)){
- $p = new PrintOrder();
- if(!empty($params['order_id'])&&!empty($params['type'])){
- $p->setPrinter(['order_id'=>$params['order_id'],'event'=>$params['type']])->print();
- }
- }
- }
- public static function async_handle($params){
- if(!empty($params)){
- $p = new PrintOrders();
- if(!empty($params['order_id'])&&!empty($params['type'])){
- $orderInfo = Order::findOne($params['order_id']);
- if(!isset($params['print_type'])){
- return;
- }
- switch ($params['print_type']){
- case 0: // 平台
- break;
- case 1: // 门店
- $order = Order::findOne($params['order_id']);
- $orderInfo = StoreOrder::findOne(['order_no' => $order->order_no]);
- break;
- case 2: // 多商户
- break;
- default:
- return;
- }
- $order_type = null;
- if(isset($params['order_type']))$order_type = $params['order_type'];
- $res = $p->setPrinter(['order_id'=>$params['order_id'],'event'=>$params['type'],'order_type'=>$order_type,'print_type'=>$params['print_type']])->print();
- if ($res !== null) { // 开启打印,有打印结果
- if($res['err'] == 0){ // 打印成功,修改订单打印状态,打印失败就不改了
- $orderInfo->is_print = 1;
- $orderInfo->save();
- }
-
- // 增加打印日志
- $data['mch_id'] = $orderInfo->mch_id;
- $data['store_id'] = $orderInfo->store_id;
- $data['mall_id'] = $orderInfo->mall_id;
- $data['order_id'] = $orderInfo->id;
- $data['msg'] = $res['msg'] ?? '';
- if ($res['err'] == 0) { //打印成功
- $data['status'] = 1;
- }else{
- $data['status'] = 0;
- }
- switch($params['type']){
- case 'order_printer_config': // 下单
- $data['type'] = 1;
- break;
- case 'pay_printer_config': // 支付
- $data['type'] = 2;
- break;
- case 'confirm_printer_config': // 确认收货
- $data['type'] = 3;
- break;
- case 'system_printer_config': // 后台
- $data['type'] = 4;
- break;
- default:
- $data['type'] = 0;
- }
- PrintLog::setData($data);
- }
- }
- }
- }
- }
|