$user, 'ukey' => $ukey, 'ip' => $ip, 'port' => $port, 'path' => $path, 'stime' => $stime, 'sig' => $sig, ); } //===========添加打印机接口(支持批量)============= //***接口返回值说明*** //正确例子:{"msg":"ok","ret":0,"data":{"ok":["sn#key#remark#carnum","316500011#abcdefgh#快餐前台"],"no":["316500012#abcdefgh#快餐前台#13688889999 (错误:识别码不正确)"]},"serverExecutedTime":3} //错误:{"msg":"参数错误 : 该帐号未注册.","ret":-2,"data":null,"serverExecutedTime":37} //打开注释可测试 //提示:打印机编号(必填) # 打印机识别码(必填) # 备注名称(选填) # 流量卡号码(选填),多台打印机请换行(\n)添加新打印机信息,每次最多100行(台)。 //$snlist = "sn1#key1#remark1#carnum1\nsn2#key2#remark2#carnum2"; //addprinter($snlist); function addprinter($snlist) { $info = $this->_info(); $content = array( 'user'=>$info['user'], 'stime'=>$info['stime'], 'sig'=>$info['sig'], 'apiname'=>'Open_printerAddlist', 'printerContent'=>$snlist ); $lib_path = dirname(dirname( dirname(__FILE__) )).'/Lib/'; require_once $lib_path."/Weixin/Httpclient.class.php"; $client = new \Httpclient($info['ip'],$info['port']); $res = $client->post($info['path'],$content); if(!$res){ // var_dump($res);die(); } else{ $result_json = $client->getContent(); $result = json_decode($result_json, true); } } //==================方法1.打印订单================== //***接口返回值说明*** //正确例子:{"msg":"ok","ret":0,"data":"316500004_20160823165104_1853029628","serverExecutedTime":6} //错误:{"msg":"错误信息.","ret":非零错误码,"data":null,"serverExecutedTime":5} //标签说明: //单标签: //"
"为换行,""为切刀指令(主动切纸,仅限切刀打印机使用才有效果) //""为打印LOGO指令(前提是预先在机器内置LOGO图片),""为钱箱或者外置音响指令 //成对标签: //""为居中放大一倍,""为放大一倍,""为居中,字体变高一倍 //字体变宽一倍,""为二维码,""为字体加粗,""为右对齐 //拼凑订单内容时可参考如下格式 //根据打印纸张的宽度,自行调整内容的格式,可参考下面的样例格式 /** $orderInfo = '测试打印
'; $orderInfo .= '名称      单价 数量 金额
'; $orderInfo .= '--------------------------------
'; $orderInfo .= '饭       10.0 10 10.0
'; $orderInfo .= '炒饭      10.0 10 10.0
'; $orderInfo .= '蛋炒饭     10.0 100 100.0
'; $orderInfo .= '鸡蛋炒饭    100.0 100 100.0
'; $orderInfo .= '西红柿炒饭   1000.0 1 100.0
'; $orderInfo .= '西红柿蛋炒饭  100.0 100 100.0
'; $orderInfo .= '西红柿鸡蛋炒饭西红柿鸡蛋炒饭西'; $orderInfo .= '备注:加辣
'; $orderInfo .= '--------------------------------
'; $orderInfo .= '合计:xx.0元
'; $orderInfo .= '送货地点:广州市南沙区xx路xx号
'; $orderInfo .= '联系电话:13888888888888
'; $orderInfo .= '订餐时间:2014-08-08 08:08:08
'; $orderInfo .= 'http://www.dzist.com';//把二维码字符串用标签套上即可自动生成二维码 **/ //打开注释可测试 //wp_print(SN,$orderInfo,1); /* * 方法1 拼凑订单内容时可参考如下格式 根据打印纸张的宽度,自行调整内容的格式,可参考下面的样例格式 */ //旧版飞鹅打印机 private function wp_print($orderInfo,$times=1 ,$printer_sn){ //printer_sn $info = $this->_info(); $content = array( 'user'=>$info['user'], 'stime'=>$info['stime'], 'sig'=>$info['sig'], 'apiname'=>'Open_printMsg', 'sn'=>$printer_sn, 'content'=>$orderInfo, 'times'=>$times//打印次数 ); $lib_path = dirname(dirname( dirname(__FILE__) )).'/Lib/'; require_once $lib_path."/Weixin/Httpclient.class.php"; $client = new \Httpclient($info['ip'],$info['port']); if(!$client->post($info['path'],$content)){ return false; } else{ //服务器返回的JSON字符串,建议要当做日志记录起来 $pr_result = json_decode($client->getContent(), true); if( $pr_result['ret'] == 0 ) { return array( 'code' => 1,'msg' =>'' ); }else{ return array( 'code' => 0,'msg' =>$pr_result['msg'] ); } } } //标签说明: //单标签: //"
"为换行,""为切刀指令(主动切纸,仅限切刀打印机使用才有效果) //""为打印LOGO指令(前提是预先在机器内置LOGO图片),""为钱箱或者外置音响指令 //成对标签: //""为居中放大一倍,""为放大一倍,""为居中,字体变高一倍 //字体变宽一倍,""为二维码,""为字体加粗,""为右对齐 //拼凑订单内容时可参考如下格式 //根据打印纸张的宽度,自行调整内容的格式,可参考下面的样例格式 //获取字符串里的中文字数 //-----------------begin--------- /** 添加易联云打印机 **/ public function addyilianyunprinter($yilian_client_id,$yilian_client_key,$yilian_machine_code, $yilian_msign) { $lib_path = dirname(dirname( dirname(__FILE__) )).'/Lib/'; require_once $lib_path."/Yilianyun/Lib/Autoloader.php"; //授权打印机(自有型应用使用,开放型应用请跳过该步骤) $_W['uniacid'] $token = $this->_get_yilian_access_token($yilian_client_id,$yilian_client_key); $config = new YlyConfig($yilian_client_id, $yilian_client_key); $printer = new PrinterService($token['access_token'], $config); $data = $printer->addPrinter($yilian_machine_code, $yilian_msign); return $data->error; } /** 获取易联云access_token **/ private function _get_yilian_access_token($yilian_client_id,$yilian_client_key) { $lib_path = dirname(dirname( dirname(__FILE__) )).'/Lib/'; require_once $lib_path."/Yilianyun/Lib/Autoloader.php"; $config = new YlyConfig($yilian_client_id, $yilian_client_key); $token = D('Home/Front')->get_config_by_name('token_yilian_'.$yilian_client_id); //$yilian_client_id = D('Home/Front')->get_config_by_name('yilian_client_id'); $client = new YlyOauthClient($config); if( empty($token) ) { $new_token = $client->getToken(); //若是开放型应用请传授权码code $save_token = array(); $save_token['access_token'] = $new_token->access_token; $save_token['refresh_token'] = $new_token->refresh_token; $save_token['machine_code'] = $new_token->machine_code; $save_token['expires_in'] = $new_token->expires_in; $save_token['scope'] = $new_token->scope; $save_token['expires_end'] = time() + $new_token->expires_in -86400; $cd_key = 'token_yilian_'.$yilian_client_id; D('Seller/Config')->update( array( $cd_key => serialize($save_token) ) ); return $save_token; }else{ $save_token = unserialize($token['value']); if( empty($save_token) ) { $save_token = unserialize($token); } if($save_token['expires_end'] < time() && false) { $save_token = $this->_relush_access_token($yilian_client_id,$yilian_client_key); } return $save_token; } } private function _relush_access_token($yilian_client_id,$yilian_client_key) { $lib_path = dirname(dirname( dirname(__FILE__) )).'/Lib/'; require_once $lib_path."/Yilianyun/Lib/Autoloader.php"; $config = new YlyConfig($yilian_client_id, $yilian_client_key); $token_info = D('Home/Front')->get_config_by_name('token_yilian_'.$yilian_client_id); $token = unserialize($token_info); $client = new YlyOauthClient($config); //refresh_token $new_token = $client->refreshToken($token['refresh_token']); $save_token = array(); $save_token['access_token'] = $new_token->access_token; $save_token['refresh_token'] = $new_token->refresh_token; $save_token['machine_code'] = $new_token->machine_code; $save_token['expires_in'] = $new_token->expires_in; $save_token['scope'] = $new_token->scope; $save_token['expires_end'] = time() + $new_token->expires_in -86400; $cd_key = 'token_yilian_'.$yilian_client_id; D('Seller/Config')->update( array( $cd_key => serialize($save_token) ) ); return $save_token; } //-----------------end----------- //begin--------- public function print_supply_order($order_id, $supply_goods_info,$title = '在线支付') { $order_info = M('lionfish_comshop_order')->where( array('order_id' => $order_id ) )->find(); $placeorder_trans_name = D('Home/Front')->get_config_by_name('placeorder_trans_name');//快递费 if( !isset($placeorder_trans_name) || empty($placeorder_trans_name) ) { $placeorder_trans_name = '快递费'; } $placeorder_tuan_name = D('Home/Front')->get_config_by_name('placeorder_tuan_name');//配送费 if( !isset($placeorder_tuan_name) || empty($placeorder_tuan_name) ) { $placeorder_tuan_name = '配送费'; } //打印隐藏会员手机号 $is_printhide_membermobile = D('Home/Front')->get_config_by_name('is_printhide_membermobile'); if( isset($is_printhide_membermobile) && $is_printhide_membermobile == 1 ) { //隐藏 $order_info['shipping_tel'] = substr($order_info['shipping_tel'],0,3).'*****'.substr($order_info['shipping_tel'],-3,3); } $owner_name = D('Home/Front')->get_config_by_name('owner_name'); if( empty($owner_name) ) { $owner_name = '团长'; } $delivery_tuanzshipping_name = D('Home/Front')->get_config_by_name('delivery_tuanzshipping_name');//团长配送 if( empty($delivery_tuanzshipping_name) ) { $delivery_tuanzshipping_name = ''; } $delivery_express_name = D('Home/Front')->get_config_by_name('delivery_express_name');//快递配送 if( empty($delivery_express_name) ) { $delivery_express_name = ''; } $delivery_ziti_name = D('Home/Front')->get_config_by_name('delivery_ziti_name');//到点自提 if( empty($delivery_ziti_name) ) { $delivery_ziti_name = ''; } $shoname = D('Home/Front')->get_config_by_name('shoname'); foreach( $supply_goods_info as $supply_id => $order_goods ) { $open_feier_print = D('Home/Front')->get_config_by_name('open_feier_print'.$supply_id); $feier_print_sn = D('Home/Front')->get_config_by_name('feier_print_sn'.$supply_id); $last_print_time = D('Home/Front')->get_config_by_name('last_print_time'.$supply_id); $last_print_index = D('Home/Front')->get_config_by_name('last_print_index'.$supply_id); $now_time = strtotime( date('Y-m-d').' 00:00:00' ); if( empty($last_print_time) || $last_print_time < $now_time ) { $last_print_index = 1; $last_print_time = time(); $sup_key = 'last_print_index'.$supply_id; $sup_key2 = 'last_print_time'.$supply_id; D('Seller/Config')->update( array( $sup_key => $last_print_index, $sup_key2 => $last_print_time) ); }else if($last_print_time > $now_time) { $last_print_index = empty($last_print_index) ? 1: $last_print_index+1; $sup_key = 'last_print_index'.$supply_id; $sup_key2 = 'last_print_time'.$supply_id; D('Seller/Config')->update( array( $sup_key => $last_print_index, $sup_key2 => time() ) ); } if( !empty($open_feier_print) && $open_feier_print == 2) { //易联云 $lib_path = dirname(dirname( dirname(__FILE__) )).'/Lib/'; require_once $lib_path."/Yilianyun/Lib/Autoloader.php"; $yilian_client_id = D('Home/Front')->get_config_by_name('yilian_client_id'.$supply_id); $yilian_client_key = D('Home/Front')->get_config_by_name('yilian_client_key'.$supply_id); $config = new YlyConfig($yilian_client_id, $yilian_client_key); $token = $this->_get_yilian_access_token($yilian_client_id,$yilian_client_key); $yilian_machine_code = D('Home/Front')->get_config_by_name('yilian_machine_code'.$supply_id); $print = new PrintService($token['access_token'], $config); $yilian_print_lian = D('Home/Front')->get_config_by_name('yilian_print_lian'.$supply_id); if( empty($yilian_print_lian) || $yilian_print_lian < 1) { $yilian_print_lian = 1; } $orderInfo = ''.$yilian_print_lian.''; $total_length = 32; $pay_time = date('Y-m-d H:i', $order_info['pay_time']); //printer_sn $content = "
**#1 美团**
"; $orderInfo = '
--#'.$last_print_index.'#'.$title.'--
'; $orderInfo .= '
'.$shoname.'
'; $orderInfo .= '订单时间:'.$pay_time."\n"; if( in_array($title, array('用户取消订单','后台操作取消订单','群接龙后台取消订单') ) ) { $refund_time = date('Y-m-d H:i:s', time() ); $orderInfo .= '取消时间:'.$refund_time."\n"; } $orderInfo .= '订单编号:'.$order_info['order_num_alias']."\n"; //head_id order_id if( $order_info['payment_code'] == 'cashon_delivery'){ $orderInfo .= '支付方式:货到付款'."\n"; } $head_relative_line = M('lionfish_comshop_deliveryline_headrelative')->where( array('head_id' => $order_info['head_id'] ) )->find(); if( !empty($head_relative_line) ) { $line_id = $head_relative_line['line_id']; $line_info = M('lionfish_comshop_deliveryline')->where( array('id' => $line_id ) )->find(); $orderInfo .= '线路名称:'.$line_info['name']."\n"; } if($order_info['expected_delivery_time']){ $orderInfo .= '--------------------------------'."\n"; $orderInfo .= '配送时间段:'.$order_info['expected_delivery_time']."\n"; $orderInfo .= '--------------------------------'."\n"; } $head_info = M('lionfish_community_head')->where( array('id' => $order_info['head_id'] ) )->find(); $orderInfo .= '收货小区:'.$head_info['community_name']."\n"; $orderInfo .= $owner_name.'姓名:'.$head_info['head_name']."\n"; $orderInfo .= $owner_name.'手机:'.$head_info['head_mobile']."\n"; $member = M('lionfish_comshop_member')->where( array('member_id' => $order_info['member_id'] ) )->find(); if($member['card_id'] > 0 && $member['card_end_time'] >time() ){ $orderInfo .= '姓 名:'.$order_info['shipping_name'].'(付费VIP)'."\n"; }else{ $orderInfo .= '姓 名:'.$order_info['shipping_name'].''."\n"; } $orderInfo .= '电 话:'.$order_info['shipping_tel'].''."\n"; //delivery pickup tuanz_send if( $order_info['delivery'] == 'pickup' ) { if( $order_info['type'] == 'virtual' ) { $orderInfo .= '收货地址:'.$order_info['shipping_address']."\n"; $orderInfo .= '配送方式:门店核销'."\n";//团长配送 }else{ $orderInfo .= '收货地址:'.$order_info['shipping_address']."\n"; if( !empty($delivery_ziti_name) ) { $orderInfo .= '配送方式:'.$delivery_ziti_name."\n";//团长配送 }else{ $orderInfo .= '配送方式:团员自提'."\n";//团长配送 } } }else if( $order_info['delivery'] == 'tuanz_send'){ // address_id if($order_info['address_id'] > 0) { $ad_info = M('lionfish_comshop_address')->field('lou_meng_hao')->where( array('address_id' => $order_info['address_id'] ) )->find(); if( !empty($ad_info) ) { //$order_info['tuan_send_address'] .= $ad_info['lou_meng_hao']; } } $orderInfo .= '送货地址:'.$order_info['tuan_send_address']."\n"; if( !empty($delivery_tuanzshipping_name) ) { $orderInfo .= '配送方式:'.$delivery_tuanzshipping_name.''."\n";//团长配送 }else{ $orderInfo .= '配送方式:'.$owner_name.'送货上门'."\n";//团长配送 } }else{ $province_info = D('Home/Front')->get_area_info($order_info['shipping_province_id']); $city_info = D('Home/Front')->get_area_info($order_info['shipping_city_id']); $area_info = D('Home/Front')->get_area_info($order_info['shipping_country_id']); $sp_address = $province_info['name'].$city_info['name'].$area_info['name']; $orderInfo .= '收货地址:'.$sp_address.$order_info['shipping_address']."\n"; if( !empty($delivery_express_name) ) { $orderInfo .= '配送方式:'.$delivery_express_name."\n"; }else{ $orderInfo .= '配送方式:快递'."\n"; } } $orderInfo .= '-------------商品---------------'."\n"; $orderInfo .= '商品名称    数量  金额'."\n"; $demo_str = '商品名称    数量  金额'."\n"; $total_count = 0; $shipping_fare = $order_info['shipping_fare']; $man_e_money = $order_info['man_e_money']; $fare_shipping_free = $order_info['fare_shipping_free']; $is_free_shipping_fare = $order_info['is_free_shipping_fare']; $fullreduction_money = 0; $voucher_credit = 0; $comment = ''; $total_money = 0; $score_for_money = 0; foreach($order_goods as $val ) { $fullreduction_money += $val['fullreduction_money']; $voucher_credit += $val['voucher_credit']; $comment .= $val['comment']; $total_money += $val['total']; $score_for_money += $val['score_for_money']; $name = $val['name']; $total = $val['total']; $quantity = $val['quantity']; $goods_id = $val['goods_id']; $goods_common = M('lionfish_comshop_good_common')->field('print_sub_title')->where( array('goods_id' => $goods_id ) )->find(); $goods_name_str = ""; if( !empty($goods_common['print_sub_title']) ) { $goods_name_str = $goods_common['print_sub_title'].' '.$val['option_sku']; }else{ $goods_name_str = $name.' '.$val['option_sku']; } $orderInfo .= $goods_name_str."\n";; $newStr = preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $goods_name_last); //正则匹配中文 $zw_length = mb_strlen($newStr,"utf-8"); //得到中汉字个数 //$zw_length = $this->linyufan_get_cn_num($goods_name_last); $tt_length = mb_strlen($goods_name_last,'utf-8') - $zw_length; //mb_strlen($goods_name_last,'utf-8') - $zhongjian = 18; $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } //$orderInfo .= $zhognjian_ge; $orderInfo .= "\t\t\t\t"; $quantity_str = 'x'.$quantity; $total_str = sprintf('%.2f',$total); $orderInfo .= $quantity_str; $right_gezi = 14 - strlen($quantity_str) - strlen(sprintf('%.2f',$total)); for( $i =1;$i<=$right_gezi;$i++ ) { $orderInfo .= ' '; } $orderInfo .= sprintf('%.2f',$total)."\n"; $total_count += $quantity; } $orderInfo .= '--------------------------------'."\n"; //var_dump( strlen($demo_str), mb_strlen($demo_str,'utf-8') ); $zhongjian = 32 - 10 - strlen($total_count); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '商品总数:'.$zhognjian_ge.$total_count."\n"; if( !empty($fullreduction_money) && $fullreduction_money >0) { $zhongjian = 32 - 9 - strlen(sprintf('%.2f',$fullreduction_money)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '满减:'.$zhognjian_ge.'-'.sprintf('%.2f',$fullreduction_money).'元'."\n"; } if( !empty($score_for_money) && $score_for_money >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$score_for_money)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '积分抵:'.$zhognjian_ge.'-'.sprintf('%.2f',$score_for_money).'元'."\n"; } if( !empty($voucher_credit) && $voucher_credit >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$voucher_credit)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '优惠券:'.$zhognjian_ge.'-'.sprintf('%.2f',$voucher_credit).'元'."\n"; } /** if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '运费:'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元'."\n"; } **/ if($is_free_shipping_fare == 1 && $fare_shipping_free > 0) { if( !empty($fare_shipping_free) && $fare_shipping_free >0) { //满$man_e_money免运费 -7 man_e_money $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."\n"; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."\n"; } } if( !empty($fare_shipping_free) && $fare_shipping_free >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $man_e_money = floor($man_e_money * 100) / 100; $orderInfo .= '满'.$man_e_money.'免运费:'.$zhognjian_ge.'-'.sprintf('%.2f',$fare_shipping_free).'元'."\n"; $shipping_fare = 0; } }else{ if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元'."\n"; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元'."\n"; } } } $zhongjian = 32 - 10 - strlen(sprintf('%.2f',$total_money)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $order_type = $order_info['type']; $orderInfo .= '总金额:'.$zhognjian_ge.sprintf('%.2f',$order_info['total']); if ($order_type == "integral"){ $orderInfo .= "积分"."\n"; }else{ $orderInfo .= "元"."\n"; } $orderInfo .= '********************************'."\n"; $real_price = $total_money+$shipping_fare-$voucher_credit-$fullreduction_money-$score_for_money; if($real_price < 0) { $real_price = 0; } $real_price = sprintf('%.2f',$real_price); $zhongjian = 32 - 12 - strlen($real_price); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if ($order_type == "integral"){ if($real_price- $order_info['total'] == 0){ $orderInfo .= '实付金额:'.sprintf('%.2f',$order_info['total']).'积分'."\n"; }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.($real_price- $order_info['total']).'元+'.sprintf('%.2f',$order_info['total']).'积分'."\n"; } }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.$real_price.'元'."\n"; } //comment $orderInfo .= '--------------------------------'."\n"; //order_info
if( !empty($comment) ) { $orderInfo .= '备注:'.$comment.''."\n"; } //是否打印会员备注:is_print_member_note //是否打印订单备注: is_print_order_note //begin pr $is_print_member_note = D('Home/Front')->get_config_by_name('is_print_member_note'); if( isset($is_print_member_note) && $is_print_member_note == 1 ) { $mb_info = M('lionfish_comshop_member')->field('content')->where( array('member_id' => $order_info['member_id'] ) )->find(); if( !empty($mb_info['content']) ) { $orderInfo .= '会员备注:'.$mb_info['content'].''."\n"; } } $is_print_order_note = D('Home/Front')->get_config_by_name('is_print_order_note'); $order_note_open = D('Home/Front')->get_config_by_name('order_note_open'); $order_note_name = D('Home/Front')->get_config_by_name('order_note_name'); if( !empty($is_print_order_note) && $is_print_order_note == 1 ) { if( !empty($order_info['note_content']) ) { if( !empty($order_note_open) && !empty($order_note_name)) { $orderInfo .= $order_note_name.':'.$order_info['note_content'].''."
"; }else{ $orderInfo .= '自定义备注:'.$order_info['note_content'].''."
"; } } } //end pr if($order_info['order_status_id'] == 7){ $orderInfo .= '--------------------------------
'; $orderInfo .= '订单已退款
'; } $orderInfo .= '
**#'.$last_print_index.' 完**
'; $data = $print->index($yilian_machine_code,$orderInfo,$order_id); ///......待查看格式 } if( !empty($open_feier_print) && $open_feier_print == 1) { //飞蛾 $total_length = 32; $pay_time = date('Y-m-d H:i', $order_info['pay_time']); //printer_sn $orderInfo = '--#'.$last_print_index.'#'.$title.'--
'; $orderInfo .= ''.$shoname.'
'; $orderInfo .= '订单时间:'.$pay_time.'
'; if( in_array($title, array('用户取消订单','后台操作取消订单','群接龙后台取消订单') ) ) { $refund_time = date('Y-m-d H:i:s', time() ); $orderInfo .= '取消时间:'.$refund_time."
"; } $orderInfo .= '订单编号:'.$order_info['order_num_alias'].'
'; if( $order_info['payment_code'] == 'cashon_delivery'){ $orderInfo .= '支付方式:货到付款'.'
'; } $head_relative_line = M('lionfish_comshop_deliveryline_headrelative')->where( array('head_id' =>$order_info['head_id'] ) )->find(); if( !empty($head_relative_line) ) { $line_id = $head_relative_line['line_id']; $line_info = M('lionfish_comshop_deliveryline')->where( array('id' => $line_id ) )->find(); $orderInfo .= '线路名称:'.$line_info['name'].'
'; } if($order_info['expected_delivery_time']){ $orderInfo .= '--------------------------------
'; $orderInfo .= '配送时间段:'.$order_info['expected_delivery_time'].'
'; $orderInfo .= '--------------------------------
'; } $head_info = M('lionfish_community_head')->where( array('id' => $order_info['head_id'] ) )->find(); $orderInfo .= '收货小区:'.$head_info['community_name'].'
'; $orderInfo .= $owner_name.'姓名:'.$head_info['head_name'].'
'; $orderInfo .= $owner_name.'手机:'.$head_info['head_mobile'].'
'; $member = M('lionfish_comshop_member')->where( array('member_id' => $order_info['member_id'] ) )->find(); if($member['card_id'] > 0 && $member['card_end_time'] >time() ){ $orderInfo .= '姓 名:'.$order_info['shipping_name'].'(付费VIP)
'; }else{ $orderInfo .= '姓 名:'.$order_info['shipping_name'].'
'; } $orderInfo .= '电 话:'.$order_info['shipping_tel'].'
'; if( $order_info['delivery'] == 'pickup' ) { if( $order_info['type'] == 'virtual' ) { $orderInfo .= '收货地址:'.$order_info['shipping_address'].'
'; $orderInfo .= '配送方式:门店核销
';//团长配送 }else{ $orderInfo .= '收货地址:'.$order_info['shipping_address'].'
'; if( !empty($delivery_ziti_name) ) { $orderInfo .= '配送方式:'.$delivery_ziti_name.'
';//团长配送 }else{ $orderInfo .= '配送方式:团员自提
';//团长配送 } } }else if( $order_info['delivery'] == 'tuanz_send'){ if($order_info['address_id'] > 0) { $ad_info = M('lionfish_comshop_address')->field('lou_meng_hao')->where( array('address_id' => $order_info['address_id'] ) )->find(); if( !empty($ad_info) ) { //$order_info['tuan_send_address'] .= $ad_info['lou_meng_hao']; } } $orderInfo .= '送货地址:'.$order_info['tuan_send_address'].'
'; if( !empty($delivery_tuanzshipping_name) ) { $orderInfo .= '配送方式:'.$delivery_tuanzshipping_name.'
';//团长配送 }else{ $orderInfo .= '配送方式:'.$owner_name.'送货上门
';//团长配送 } }else{ $province_info = D('Home/Front')->get_area_info($order_info['shipping_province_id']); $city_info = D('Home/Front')->get_area_info($order_info['shipping_city_id']); $area_info = D('Home/Front')->get_area_info($order_info['shipping_country_id']); $sp_address = $province_info['name'].$city_info['name'].$area_info['name']; $orderInfo .= '收货地址:'.$sp_address.$order_info['shipping_address']."
"; if( !empty($delivery_express_name) ) { $orderInfo .= '配送方式:'.$delivery_express_name.'
'; }else{ $orderInfo .= '配送方式:快递
'; } } $orderInfo .= '-------------商品---------------
'; $orderInfo .= '商品名称    数量  金额
'; $demo_str = '商品名称    数量  金额'; $total_count = 0; $shipping_fare = $order_info['shipping_fare']; $man_e_money = $order_info['man_e_money']; $fare_shipping_free = $order_info['fare_shipping_free']; $fullreduction_money = 0; $voucher_credit = 0; $comment = ''; $total_money = 0; $score_for_money = 0; foreach($order_goods as $val ) { $fullreduction_money += $val['fullreduction_money']; $voucher_credit += $val['voucher_credit']; $score_for_money += $val['score_for_money']; $comment .= $val['comment']; $total_money += $val['total']; $name = $val['name']; $total = $val['total']; $quantity = $val['quantity']; $goods_id = $val['goods_id']; $goods_common = M('lionfish_comshop_good_common')->field('print_sub_title')->where( array('goods_id' => $goods_id) )->find(); $goods_name_str = ""; if( !empty($goods_common['print_sub_title']) ) { $goods_name_str = $goods_common['print_sub_title'].' '.$val['option_sku']; }else{ $goods_name_str = $name.' '.$val['option_sku']; } //17 //$goods_name_last = mb_substr($goods_name_str,0,7,'utf-8'); //$orderInfo .= $goods_name_last; $orderInfo .= $goods_name_str.'
'; $newStr = preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $goods_name_last); //正则匹配中文 $zw_length = mb_strlen($newStr,"utf-8"); //得到中汉字个数 //$zw_length = $this->linyufan_get_cn_num($goods_name_last); $tt_length = mb_strlen($goods_name_last,'utf-8') - $zw_length; //mb_strlen($goods_name_last,'utf-8') - $zhongjian = 18; $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= $zhognjian_ge; $quantity_str = 'x'.$quantity; $total_str = sprintf('%.2f',$total); $orderInfo .= $quantity_str; $right_gezi = 14 - strlen($quantity_str) - strlen(sprintf('%.2f',$total)); for( $i =1;$i<=$right_gezi;$i++ ) { $orderInfo .= ' '; } $orderInfo .= sprintf('%.2f',$total).'
'; $total_count += $quantity; } $orderInfo .= '--------------------------------
'; $zhongjian = 32 - 10 - strlen($total_count); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '商品总数:'.$zhognjian_ge.$total_count.'
'; if( !empty($fullreduction_money) && $fullreduction_money >0) { $zhongjian = 32 - 9 - strlen(sprintf('%.2f',$fullreduction_money)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '满减:'.$zhognjian_ge.'-'.sprintf('%.2f',$fullreduction_money).'元
'; } if( !empty($score_for_money) && $score_for_money >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$score_for_money)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '积分抵:'.$zhognjian_ge.'-'.sprintf('%.2f',$score_for_money).'元'."
"; } if( !empty($voucher_credit) && $voucher_credit >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$voucher_credit)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '优惠券:'.$zhognjian_ge.'-'.sprintf('%.2f',$voucher_credit).'元
'; } /** if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '配送费:'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元
'; } **/ if($is_free_shipping_fare == 1 && $fare_shipping_free > 0) { if( !empty($fare_shipping_free) && $fare_shipping_free >0) { //满$man_e_money免运费 -7 man_e_money $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."
"; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."
"; } } if( !empty($fare_shipping_free) && $fare_shipping_free >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $man_e_money = floor($man_e_money * 100) / 100; $orderInfo .= '满'.$man_e_money.'免运费:'.$zhognjian_ge.'-'.sprintf('%.2f',$fare_shipping_free).'元'."
"; $shipping_fare = 0; } }else{ if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元
'; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元
'; } } } $zhongjian = 32 - 10 - strlen(sprintf('%.2f',$total_money)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $order_type = $order_info['type']; $orderInfo .= '总金额:'.$zhognjian_ge.sprintf('%.2f',$order_info['total']); if ($order_type == "integral"){ $orderInfo .= "积分"."
"; }else{ $orderInfo .= "元"."
"; } $orderInfo .= '********************************
'; $real_price = $total_money + $shipping_fare -$voucher_credit-$fullreduction_money-$score_for_money; if($real_price < 0) { $real_price = 0; } $real_price = sprintf('%.2f',$real_price); $zhongjian = 32 - 12 - strlen($real_price); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if ($order_type == "integral"){ if($real_price- $order_info['total'] == 0){ $orderInfo .= '实付金额:'.sprintf('%.2f',$order_info['total']).'积分
'; }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.($real_price- $order_info['total']).'元+'.sprintf('%.2f',$order_info['total']).'积分
'; } }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.$real_price.'元
'; } //comment $orderInfo .= '--------------------------------
'; //order_info
if( !empty($comment) ) { $orderInfo .= '备注:'.$comment.'
'; } //begin pr $is_print_member_note = D('Home/Front')->get_config_by_name('is_print_member_note'); if( isset($is_print_member_note) && $is_print_member_note == 1 ) { $mb_info = M('lionfish_comshop_member')->field('content')->where( array('member_id' => $order_info['member_id'] ) )->find(); if( !empty($mb_info['content']) ) { $orderInfo .= '会员备注:'.$mb_info['content'].''."
"; } } $is_print_order_note = D('Home/Front')->get_config_by_name('is_print_order_note'); $order_note_open = D('Home/Front')->get_config_by_name('order_note_open'); $order_note_name = D('Home/Front')->get_config_by_name('order_note_name'); if( !empty($is_print_order_note) && $is_print_order_note == 1 ) { if( !empty($order_info['note_content']) ) { if( !empty($order_note_open) && !empty($order_note_name)) { $orderInfo .= $order_note_name.':'.$order_info['note_content'].''."
"; }else{ $orderInfo .= '自定义备注:'.$order_info['note_content'].''."
"; } } } //end pr if($order_info['order_status_id'] == 7){ $orderInfo .= '--------------------------------
'; $orderInfo .= '订单已退款
'; } $orderInfo .= '**#'.$last_print_index.' 完**
'; //$orderInfo .= 'http://www.dzist.com';//把二维码字符串用标签套上即可自动生成二维码 //feier_print_lian $feier_print_lian = D('Home/Front')->get_config_by_name('feier_print_lian'.$supply_id); if( empty($feier_print_lian) || $feier_print_lian < 1) { $feier_print_lian = 1; } $this->wp_print($orderInfo, $feier_print_lian, $feier_print_sn); } } } //end //打印小票 public function check_print_order($order_id,$title='在线支付') { $order_info = M('lionfish_comshop_order')->where( array('order_id' => $order_id ) )->find(); $order_goods = M('lionfish_comshop_order_goods')->where( array('order_id' => $order_id ) )->select(); foreach($order_goods as &$value) { $value['option_sku'] = D('Seller/Order')->get_order_option_sku($order_id, $value['order_goods_id']); } $owner_name = D('Home/Front')->get_config_by_name('owner_name'); if( empty($owner_name) ) { $owner_name = '团长'; } $delivery_tuanzshipping_name = D('Home/Front')->get_config_by_name('delivery_tuanzshipping_name');//团长配送 if( empty($delivery_tuanzshipping_name) ) { $delivery_tuanzshipping_name = ''; } $delivery_express_name = D('Home/Front')->get_config_by_name('delivery_express_name');//快递配送 if( empty($delivery_express_name) ) { $delivery_express_name = ''; } $delivery_ziti_name = D('Home/Front')->get_config_by_name('delivery_ziti_name');//到点自提 if( empty($delivery_ziti_name) ) { $delivery_ziti_name = ''; } $placeorder_trans_name = D('Home/Front')->get_config_by_name('placeorder_trans_name');//快递费 if( !isset($placeorder_trans_name) || empty($placeorder_trans_name) ) { $placeorder_trans_name = '快递费'; } $placeorder_tuan_name = D('Home/Front')->get_config_by_name('placeorder_tuan_name');//配送费 if( !isset($placeorder_tuan_name) || empty($placeorder_tuan_name) ) { $placeorder_tuan_name = '配送费'; } /*** 供应商订单商品集合 **/ $supply_goods_info = array(); /*** 供应商订单商品集合 **/ $is_print_dansupply_order = D('Home/Front')->get_config_by_name('is_print_dansupply_order'); if( isset($is_print_dansupply_order) && $is_print_dansupply_order == 1 ) { $is_print_dansupply_order = 1; }else if( !isset($is_print_dansupply_order) || $is_print_dansupply_order == 0 ) { $is_print_dansupply_order = 0; } //打印隐藏会员手机号 $is_printhide_membermobile = D('Home/Front')->get_config_by_name('is_printhide_membermobile'); if( isset($is_printhide_membermobile) && $is_printhide_membermobile == 1 ) { //隐藏 $order_info['shipping_tel'] = substr($order_info['shipping_tel'],0,3).'*****'.substr($order_info['shipping_tel'],-3,3); } $is_print = true; foreach($order_goods as &$value) { $value['option_sku'] = D('Seller/Order')->get_order_option_sku($value['order_id'], $value['order_goods_id']); if( $value['supply_id'] > 0 ) { if( isset($supply_goods_info[ $value['supply_id'] ]) ) { $supply_goods_info[ $value['supply_id'] ][] = $value; }else{ $supply_goods_info[ $value['supply_id'] ] = array(); $supply_goods_info[ $value['supply_id'] ][] = $value; } } } $shoname = D('Home/Front')->get_config_by_name('shoname'); $open_feier_print = D('Home/Front')->get_config_by_name('open_feier_print'); //打印联数 $feier_print_sn = D('Home/Front')->get_config_by_name('feier_print_sn'); $last_print_time = D('Home/Front')->get_config_by_name('last_print_time'); $last_print_index = D('Home/Front')->get_config_by_name('last_print_index'); $now_time = strtotime( date('Y-m-d').' 00:00:00' ); if( empty($last_print_time) || $last_print_time < $now_time ) { $last_print_index = 1; $last_print_time = time(); D('Seller/Config')->update( array('last_print_index' => $last_print_index, 'last_print_time' => $last_print_time) ); }else if($last_print_time > $now_time) { $last_print_index = empty($last_print_index) ? 1: $last_print_index+1; D('Seller/Config')->update( array('last_print_index' => $last_print_index, 'last_print_time' => time() ) ); } //继续使用原有的打印机设置,旧版打印机与“默认订单打印机”一起打印小票,也可以关闭旧版打印机设置使用新版本“默认打印机” //默认打印机的参数 $data = D('Seller/Config')->get_all_config(); if(isset($data['is_printer_list']) && !empty($data['is_printer_list'])){ $printer_list = M('lionfish_comshop_printer')->where( array('id' => array('in',$data['is_printer_list']) ) )->select(); } //旧版 //易联云 if( !empty($open_feier_print) && $open_feier_print == 2) { $lib_path = dirname(dirname( dirname(__FILE__) )).'/Lib/'; require_once $lib_path."/Yilianyun/Lib/Autoloader.php"; $yilian_client_id = D('Home/Front')->get_config_by_name('yilian_client_id'); $yilian_client_key = D('Home/Front')->get_config_by_name('yilian_client_key' ); $config = new YlyConfig($yilian_client_id, $yilian_client_key); $token = $this->_get_yilian_access_token($yilian_client_id,$yilian_client_key); $yilian_machine_code = D('Home/Front')->get_config_by_name('yilian_machine_code' ); $print = new PrintService($token['access_token'], $config); //object(stdClass)#14 (3) { ["error"]=> string(1) "0" ["error_description"]=> string(7) "success" ["body"]=> object(stdClass)#15 (2) { ["id"]=> string(9) "221354299" ["origin_id"]=> string(3) "558" } } //1 //$data = $print->index($yilian_machine_code,'打印内容排版可看Demo下的callback.php','558'); //------------------------------------------------------------------------------------------- $yilian_print_lian = D('Home/Front')->get_config_by_name('yilian_print_lian'); if( empty($yilian_print_lian) || $yilian_print_lian < 1) { $yilian_print_lian = 1; } $orderInfo = ''.$yilian_print_lian.''; $total_length = 32; $pay_time = date('Y-m-d H:i', $order_info['pay_time']); $orderInfo = '
--#'.$last_print_index.$title.'--
'; $orderInfo .= '
'.$shoname.'
'; $orderInfo .= '订单时间:'.$pay_time."\n"; if( in_array($title, array('用户取消订单','后台操作取消订单','群接龙后台取消订单') ) ) { $refund_time = date('Y-m-d H:i:s', time() ); $orderInfo .= '取消时间:'.$refund_time."\n"; } $orderInfo .= '订单编号:'.$order_info['order_num_alias']."\n"; if( $order_info['payment_code'] == 'cashon_delivery'){ $orderInfo .= '支付方式:货到付款'."\n"; } //head_id order_id $head_relative_line = M('lionfish_comshop_deliveryline_headrelative')->where( array('head_id' => $order_info['head_id'] ) )->find(); if( !empty($head_relative_line) ) { $line_id = $head_relative_line['line_id']; $line_info = M('lionfish_comshop_deliveryline')->where( array('id' => $line_id ) )->find(); $orderInfo .= '线路名称:'.$line_info['name']."\n"; } if($order_info['expected_delivery_time']){ $orderInfo .= '--------------------------------'."\n"; $orderInfo .= '配送时间段:'.$order_info['expected_delivery_time']."\n"; $orderInfo .= '--------------------------------'."\n"; } $head_info = M('lionfish_community_head')->where( array('id' => $order_info['head_id'] ) )->find(); $orderInfo .= '收货小区:'.$head_info['community_name']."\n"; $orderInfo .= $owner_name.'姓名:'.$head_info['head_name']."\n"; $orderInfo .= $owner_name.'手机:'.$head_info['head_mobile']."\n"; $member = M('lionfish_comshop_member')->where( array('member_id' => $order_info['member_id'] ) )->find(); if($member['card_id'] > 0 && $member['card_end_time'] >time() ){ $orderInfo .= '姓 名:'.$order_info['shipping_name'].'(付费VIP)'."\n"; }else{ $orderInfo .= '姓 名:'.$order_info['shipping_name'].''."\n"; } $orderInfo .= '电 话:'.$order_info['shipping_tel'].''."\n"; //delivery pickup tuanz_send if( $order_info['delivery'] == 'pickup' ) { if( $order_info['type'] == 'virtual' ) { $orderInfo .= '收货地址:'.$order_info['shipping_address']."\n"; $orderInfo .= '配送方式:门店核销'."\n";//团长配送 }else{ $orderInfo .= '收货地址:'.$order_info['shipping_address']."\n"; if( !empty($delivery_ziti_name) ) { $orderInfo .= '配送方式:'.$delivery_ziti_name."\n";//团长配送 }else{ $orderInfo .= '配送方式:团员自提'."\n";//团长配送 } } }else if( $order_info['delivery'] == 'tuanz_send'){ // address_id if($order_info['address_id'] > 0) { $ad_info = M('lionfish_comshop_address')->field('lou_meng_hao')->where( array('address_id' => $order_info['address_id'] ) )->find(); if( !empty($ad_info) ) { //$order_info['tuan_send_address'] .= $ad_info['lou_meng_hao']; } } $orderInfo .= '送货地址:'.$order_info['tuan_send_address']."\n"; if( !empty($delivery_tuanzshipping_name) ) { $orderInfo .= '配送方式:'.$delivery_tuanzshipping_name.''."\n";//团长配送 }else{ $orderInfo .= '配送方式:'.$owner_name.'送货上门'."\n";//团长配送 } }else{ $province_info = D('Home/Front')->get_area_info($order_info['shipping_province_id']); $city_info = D('Home/Front')->get_area_info($order_info['shipping_city_id']); $area_info = D('Home/Front')->get_area_info($order_info['shipping_country_id']); $sp_address = $province_info['name'].$city_info['name'].$area_info['name']; $orderInfo .= '收货地址:'.$sp_address.$order_info['shipping_address']."\n"; if( $order_info['delivery'] == 'localtown_delivery'){ $orderInfo .= '配送方式:同城配送'."\n";//同城配送 }else if( $order_info['delivery'] == 'hexiao'){ $orderInfo .= '配送方式:到店核销
';//到店核销 }else{ if( !empty($delivery_express_name) ) { $orderInfo .= '配送方式:'.$delivery_express_name."\n"; }else{ $orderInfo .= '配送方式:快递'."\n"; } } } $orderInfo .= '-------------商品---------------'."\n"; $orderInfo .= '商品名称    数量  金额'."\n"; $demo_str = '商品名称    数量  金额'."\n"; $total_count = 0; foreach($order_goods as $val ) { $name = $val['name']; $total = $val['total']; $quantity = $val['quantity']; $goods_id = $val['goods_id']; $goods_common = M('lionfish_comshop_good_common')->field('print_sub_title')->where( array('goods_id' => $goods_id ) )->find(); $goods_name_str = ""; if( !empty($goods_common['print_sub_title']) ) { $goods_name_str = $goods_common['print_sub_title'].' '.$val['option_sku']; }else{ $goods_name_str = $name.' '.$val['option_sku']; } //17 $orderInfo .= $goods_name_str."\n";; $newStr = preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $goods_name_last); //正则匹配中文 $zw_length = mb_strlen($newStr,"utf-8"); //得到中汉字个数 //$zw_length = $this->linyufan_get_cn_num($goods_name_last); $tt_length = mb_strlen($goods_name_last,'utf-8') - $zw_length; //mb_strlen($goods_name_last,'utf-8') - $zhongjian = 18; $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } //$orderInfo .= $zhognjian_ge; $orderInfo .= "\t\t\t\t"; $quantity_str = 'x'.$quantity; $total_str = sprintf('%.2f',$total); $orderInfo .= $quantity_str; $right_gezi = 14 - strlen($quantity_str) - strlen(sprintf('%.2f',$total)); for( $i =1;$i<=$right_gezi;$i++ ) { $orderInfo .= ' '; } $orderInfo .= sprintf('%.2f',$total)."\n"; $total_count += $quantity; } $orderInfo .= '--------------------------------'."\n"; //var_dump( strlen($demo_str), mb_strlen($demo_str,'utf-8') ); $zhongjian = 32 - 10 - strlen($total_count); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '商品总数:'.$zhognjian_ge.$total_count."\n"; if( !empty($order_info['fullreduction_money']) && $order_info['fullreduction_money'] >0) { $zhongjian = 32 - 9 - strlen(sprintf('%.2f',$order_info['fullreduction_money'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '满减:'.$zhognjian_ge.'-'.sprintf('%.2f',$order_info['fullreduction_money']).'元'."\n"; } if( !empty($order_info['voucher_credit']) && $order_info['voucher_credit'] >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$order_info['voucher_credit'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '优惠券:'.$zhognjian_ge.'-'.sprintf('%.2f',$order_info['voucher_credit']).'元'."\n"; } $score_for_money = $order_info['score_for_money']; if( !empty($score_for_money) && $score_for_money >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$score_for_money)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '积分抵:'.$zhognjian_ge.'-'.sprintf('%.2f',$score_for_money).'元'."\n"; } /** $shipping_fare = $order_info['shipping_fare']; if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '配送费:'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元'."\n"; } **/ $man_e_money = $order_info['man_e_money']; $fare_shipping_free = $order_info['fare_shipping_free']; $is_free_shipping_fare = $order_info['is_free_shipping_fare']; $shipping_fare = $order_info['shipping_fare']; if($is_free_shipping_fare == 1 && $fare_shipping_free > 0) { if( !empty($fare_shipping_free) && $fare_shipping_free >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."\n"; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."\n"; } } if( !empty($fare_shipping_free) && $fare_shipping_free >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $man_e_money = floor($man_e_money * 100) / 100; $orderInfo .= '满'.$man_e_money.'免运费:'.$zhognjian_ge.'-'.sprintf('%.2f',$fare_shipping_free).'元'."\n"; $shipping_fare = 0; } }else{ if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元'."\n"; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元'."\n"; } } } $zhongjian = 32 - 10 - strlen(sprintf('%.2f',$order_info['total'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } // $orderInfo .= '总金额:'.$zhognjian_ge.sprintf('%.2f',$order_info['total']).'元'."\n"; $order_type = $order_info['type']; $orderInfo .= '总金额:'.$zhognjian_ge.sprintf('%.2f',$order_info['total']); if ($order_type == "integral"){ $orderInfo .= "积分"."\n"; }else{ $orderInfo .= "元"."\n"; } $orderInfo .= '********************************'."\n"; if($shipping_fare == 0){ $real_price = $order_info['total'] + $shipping_fare -$order_info['voucher_credit']-$order_info['fullreduction_money']-$order_info['score_for_money']+$order_info['localtown_add_shipping_fare']; }else{ $real_price = $order_info['total'] + $shipping_fare -$order_info['voucher_credit']-$order_info['fullreduction_money']-$order_info['score_for_money']-$order_info['fare_shipping_free']+$order_info['localtown_add_shipping_fare']; } if($real_price < 0) { $real_price = 0; } $real_price = sprintf('%.2f',$real_price); $zhongjian = 32 - 12 - strlen($real_price); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if ($order_type == "integral"){ if($real_price- $order_info['total'] == 0){ $orderInfo .= '实付金额:'.sprintf('%.2f',$order_info['total']).'积分'."\n"; }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.($real_price- $order_info['total']).'元+'.sprintf('%.2f',$order_info['total']).'积分'."\n"; } }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.$real_price.'元'."\n"; } //comment $orderInfo .= '--------------------------------'."\n"; //order_info
if( !empty($order_info['comment']) ) { $orderInfo .= '备注:'.$order_info['comment'].''."\n"; } //begin pr $is_print_member_note = D('Home/Front')->get_config_by_name('is_print_member_note'); if( isset($is_print_member_note) && $is_print_member_note == 1 ) { $mb_info = M('lionfish_comshop_member')->field('content')->where( array('member_id' => $order_info['member_id'] ) )->find(); if( !empty($mb_info['content']) ) { $orderInfo .= '会员备注:'.$mb_info['content'].''."\n"; } } $is_print_order_note = D('Home/Front')->get_config_by_name('is_print_order_note'); $order_note_open = D('Home/Front')->get_config_by_name('order_note_open'); $order_note_name = D('Home/Front')->get_config_by_name('order_note_name'); if( !empty($is_print_order_note) && $is_print_order_note == 1 ) { if( !empty($order_info['note_content']) ) { if( !empty($order_note_open) && !empty($order_note_name)) { $orderInfo .= $order_note_name.':'.$order_info['note_content'].''."
"; }else{ $orderInfo .= '自定义备注:'.$order_info['note_content'].''."
"; } } } //end pr if($order_info['order_status_id'] == 7){ $orderInfo .= '--------------------------------
'; $orderInfo .= '订单已退款
'; } $orderInfo .= '
**#'.$last_print_index.' 完**
'; $data = $print->index($yilian_machine_code,$orderInfo,$order_id); $print_result = array('code' => 1); ///......待查看格式 } //飞鹅 if( !empty($open_feier_print) && $open_feier_print == 1) { $total_length = 32; $pay_time = date('Y-m-d H:i', $order_info['pay_time']); //printer_sn $orderInfo = '--#'.$last_print_index.$title.'--
'; $orderInfo .= ''.$shoname.'
'; $orderInfo .= '订单时间:'.$pay_time.'
'; if( in_array($title, array('用户取消订单','后台操作取消订单','群接龙后台取消订单') ) ) { $refund_time = date('Y-m-d H:i:s', time() ); $orderInfo .= '取消时间:'.$refund_time."
"; } $orderInfo .= '订单编号:'.$order_info['order_num_alias'].'
'; if( $order_info['payment_code'] == 'cashon_delivery'){ $orderInfo .= '支付方式:货到付款'.'
'; } //head_id order_id $head_relative_line = M('lionfish_comshop_deliveryline_headrelative')->where( array('head_id' => $order_info['head_id']) )->find(); if( !empty($head_relative_line) ) { $line_id = $head_relative_line['line_id']; $line_info = M('lionfish_comshop_deliveryline')->where( array('id' => $line_id ) )->find(); $orderInfo .= '线路名称:'.$line_info['name'].'
'; } if($order_info['expected_delivery_time']){ $orderInfo .= '--------------------------------
'; $orderInfo .= '配送时间段:'.$order_info['expected_delivery_time'].'
'; $orderInfo .= '--------------------------------
'; } $head_info = M('lionfish_community_head')->where( array('id' => $order_info['head_id'] ) )->find(); $orderInfo .= '收货小区:'.$head_info['community_name'].'
'; $orderInfo .= $owner_name.'姓名:'.$head_info['head_name'].'
'; $orderInfo .= $owner_name.'手机:'.$head_info['head_mobile'].'
'; $member = M('lionfish_comshop_member')->where( array('member_id' => $order_info['member_id'] ) )->find(); if($member['card_id'] > 0 && $member['card_end_time'] >time() ){ $orderInfo .= '姓 名:'.$order_info['shipping_name'].'(付费VIP)
'; }else{ $orderInfo .= '姓 名:'.$order_info['shipping_name'].'
'; } $orderInfo .= '电 话:'.$order_info['shipping_tel'].'
'; //delivery pickup tuanz_send if( $order_info['delivery'] == 'pickup' ) { if( $order_info['type'] == 'virtual' ) { $orderInfo .= '收货地址:'.$order_info['shipping_address'].'
'; $orderInfo .= '配送方式:门店核销
';//团长配送 }else{ $orderInfo .= '收货地址:'.$order_info['shipping_address'].'
'; if( !empty($delivery_ziti_name) ) { $orderInfo .= '配送方式:'.$delivery_ziti_name.'
';//团长配送 }else{ $orderInfo .= '配送方式:团员自提
';//团长配送 } } }else if( $order_info['delivery'] == 'tuanz_send'){ // address_id $orderInfo .= '送货地址:'.$order_info['tuan_send_address'].'
'; if( !empty($delivery_tuanzshipping_name) ) { $orderInfo .= '配送方式:'.$delivery_tuanzshipping_name.'
';//团长配送 }else{ $orderInfo .= '配送方式:'.$owner_name.'送货上门
';//团长配送 } }else{ $province_info = D('Home/Front')->get_area_info($order_info['shipping_province_id']); $city_info = D('Home/Front')->get_area_info($order_info['shipping_city_id']); $area_info = D('Home/Front')->get_area_info($order_info['shipping_country_id']); //name $sp_address = $province_info['name'].$city_info['name'].$area_info['name']; $orderInfo .= '收货地址:'.$sp_address.$order_info['shipping_address']."
"; if( $order_info['delivery'] == 'localtown_delivery'){ $orderInfo .= '配送方式:同城配送
';//同城配送 }else if( $order_info['delivery'] == 'hexiao'){ $orderInfo .= '配送方式:到店核销
';//到店核销 }else{ if( !empty($delivery_express_name) ) { $orderInfo .= '配送方式:'.$delivery_express_name.'
'; }else{ $orderInfo .= '配送方式:快递
'; } } } $orderInfo .= '-------------商品---------------
'; $orderInfo .= '商品名称    数量  金额
'; $demo_str = '商品名称    数量  金额'; $total_count = 0; foreach($order_goods as $val ) { $name = $val['name']; $total = $val['total']; $quantity = $val['quantity']; $goods_id = $val['goods_id']; $goods_common = M('lionfish_comshop_good_common')->field('print_sub_title')->where( array('goods_id' => $goods_id) )->find(); $goods_name_str = ""; if( !empty($goods_common['print_sub_title']) ) { $goods_name_str = $goods_common['print_sub_title'].' '.$val['option_sku']; }else{ $goods_name_str = $name.' '.$val['option_sku']; } //17 //$goods_name_last = mb_substr($goods_name_str,0,7,'utf-8');//20190221 $orderInfo .= $goods_name_str.'
'; $newStr = preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $goods_name_last); //正则匹配中文 $zw_length = mb_strlen($newStr,"utf-8"); //得到中汉字个数 $tt_length = mb_strlen($goods_name_last,'utf-8') - $zw_length; //mb_strlen($goods_name_last,'utf-8') - $zhongjian = 18; if($zw_length <= 0) { $zhongjian = $zhongjian -1; } $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= $zhognjian_ge; $quantity_str = 'x'.$quantity; $total_str = sprintf('%.2f',$total); $orderInfo .= $quantity_str; $right_gezi = 14 - strlen($quantity_str) - strlen(sprintf('%.2f',$total)); $ggg_zi = ''; for( $i =1;$i<=$right_gezi;$i++ ) { $ggg_zi .= ' '; } $orderInfo.= $ggg_zi; $orderInfo .= sprintf('%.2f',$total).'
'; $total_count += $quantity; } $orderInfo .= '--------------------------------
'; $zhongjian = 32 - 10 - strlen($total_count); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '商品总数:'.$zhognjian_ge.$total_count.'
'; if( !empty($order_info['fullreduction_money']) && $order_info['fullreduction_money'] >0) { $zhongjian = 32 - 9 - strlen(sprintf('%.2f',$order_info['fullreduction_money'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '满减:'.$zhognjian_ge.'-'.sprintf('%.2f',$order_info['fullreduction_money']).'元
'; } if( !empty($order_info['voucher_credit']) && $order_info['voucher_credit'] >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$order_info['voucher_credit'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '优惠券:'.$zhognjian_ge.'-'.sprintf('%.2f',$order_info['voucher_credit']).'元
'; } //score_for_money $score_for_money = $order_info['score_for_money']; if( !empty($score_for_money) && $score_for_money >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$score_for_money)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '积分抵:'.$zhognjian_ge.'-'.sprintf('%.2f',$score_for_money).'元
'; } /** $shipping_fare = $order_info['shipping_fare']; if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '配送费:'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元
'; } **/ $shipping_fare = $order_info['shipping_fare']; $man_e_money = $order_info['man_e_money']; $fare_shipping_free = $order_info['fare_shipping_free']; $is_free_shipping_fare = $order_info['is_free_shipping_fare']; if($is_free_shipping_fare == 1 && $fare_shipping_free > 0) { if( !empty($fare_shipping_free) && $fare_shipping_free >0) { //满$man_e_money免运费 -7 man_e_money $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."
"; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."
"; } } if( !empty($fare_shipping_free) && $fare_shipping_free >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $man_e_money = floor($man_e_money * 100) / 100; $orderInfo .= '满'.$man_e_money.'免运费:'.$zhognjian_ge.'-'.sprintf('%.2f',$fare_shipping_free).'元'."
"; $shipping_fare = 0; } }else{ if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元
'; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元
'; } } } $zhongjian = 32 - 10 - strlen(sprintf('%.2f',$order_info['total'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } // $orderInfo .= '总金额:'.$zhognjian_ge.sprintf('%.2f',$order_info['total']).'元
'; $order_type = $order_info['type']; $orderInfo .= '总金额:'.$zhognjian_ge.sprintf('%.2f',$order_info['total']); if ($order_type == "integral"){ $orderInfo .= "积分"."
"; }else{ $orderInfo .= "元"."
"; } $orderInfo .= '********************************
'; if($shipping_fare == 0){ $real_price = $order_info['total'] + $shipping_fare -$order_info['voucher_credit']-$order_info['fullreduction_money']-$order_info['score_for_money']+$order_info['localtown_add_shipping_fare']; }else{ $real_price = $order_info['total'] + $shipping_fare -$order_info['voucher_credit']-$order_info['fullreduction_money']-$order_info['score_for_money']-$order_info['fare_shipping_free']+$order_info['localtown_add_shipping_fare']; } if($real_price < 0) { $real_price = 0; } $real_price = sprintf('%.2f',$real_price); $zhongjian = 32 - 12 - strlen($real_price); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if ($order_type == "integral"){ if($real_price- $order_info['total'] == 0){ $orderInfo .= '实付金额:'.sprintf('%.2f',$order_info['total']).'积分
'; }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.($real_price- $order_info['total']).'元+'.sprintf('%.2f',$order_info['total']).'积分
'; } }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.$real_price.'元
'; } //comment $orderInfo .= '--------------------------------
'; //order_info
if( !empty($order_info['comment']) ) { $orderInfo .= '备注:'.$order_info['comment'].'
'; } //begin pr $is_print_member_note = D('Home/Front')->get_config_by_name('is_print_member_note'); if( isset($is_print_member_note) && $is_print_member_note == 1 ) { $mb_info = M('lionfish_comshop_member')->field('content')->where( array('member_id' => $order_info['member_id'] ) )->find(); if( !empty($mb_info['content']) ) { $orderInfo .= '会员备注:'.$mb_info['content'].''."
"; } } $is_print_order_note = D('Home/Front')->get_config_by_name('is_print_order_note'); $order_note_open = D('Home/Front')->get_config_by_name('order_note_open'); $order_note_name = D('Home/Front')->get_config_by_name('order_note_name'); if( !empty($is_print_order_note) && $is_print_order_note == 1 ) { if( !empty($order_info['note_content']) ) { if( !empty($order_note_open) && !empty($order_note_name)) { $orderInfo .= $order_note_name.':'.$order_info['note_content'].''."
"; }else{ $orderInfo .= '自定义备注:'.$order_info['note_content'].''."
"; } } } //end pr if($order_info['order_status_id'] == 7){ $orderInfo .= '--------------------------------
'; $orderInfo .= '订单已退款
'; } $orderInfo .= '**#'.$last_print_index.' 完**
'; $feier_print_lian = D('Home/Front')->get_config_by_name('feier_print_lian'); if( empty($feier_print_lian) || $feier_print_lian < 1) { $feier_print_lian = 1; } $print_result = $this->wp_print($orderInfo, $feier_print_lian, $feier_print_sn); if( $print_result['code'] == 0) { M('lionfish_comshop_order')->where( array('order_id' =>$order_id ) )->save( array('is_print_suc' => 0) ); } } // $this->print_supply_order($order_id, $supply_goods_info); /** 后台操作取消订单 群接龙后台取消订单 用户取消订单 **/ $print_result2 = $this->print_supply_order($order_id, $supply_goods_info, $title); if( !$is_print ) { $print_result = $print_result2; if( empty($print_result) ) { $print_result = array('code' => 0, 'msg' => '独立供应商订单不打印'); } } return $print_result; } //新版打印小票 public function check_print_order2($order_id,$title='在线支付') { $order_info = M('lionfish_comshop_order')->where( array('order_id' => $order_id ) )->find(); $order_goods = M('lionfish_comshop_order_goods')->where( array('order_id' => $order_id ) )->select(); foreach($order_goods as &$value) { $value['option_sku'] = D('Seller/Order')->get_order_option_sku($order_id, $value['order_goods_id']); } $owner_name = D('Home/Front')->get_config_by_name('owner_name'); if( empty($owner_name) ) { $owner_name = '团长'; } $delivery_tuanzshipping_name = D('Home/Front')->get_config_by_name('delivery_tuanzshipping_name');//团长配送 if( empty($delivery_tuanzshipping_name) ) { $delivery_tuanzshipping_name = ''; } $delivery_express_name = D('Home/Front')->get_config_by_name('delivery_express_name');//快递配送 if( empty($delivery_express_name) ) { $delivery_express_name = ''; } $delivery_ziti_name = D('Home/Front')->get_config_by_name('delivery_ziti_name');//到点自提 if( empty($delivery_ziti_name) ) { $delivery_ziti_name = ''; } $placeorder_trans_name = D('Home/Front')->get_config_by_name('placeorder_trans_name');//快递费 if( !isset($placeorder_trans_name) || empty($placeorder_trans_name) ) { $placeorder_trans_name = '快递费'; } $placeorder_tuan_name = D('Home/Front')->get_config_by_name('placeorder_tuan_name');//配送费 if( !isset($placeorder_tuan_name) || empty($placeorder_tuan_name) ) { $placeorder_tuan_name = '配送费'; } /*** 供应商订单商品集合 **/ $supply_goods_info = array(); /*** 供应商订单商品集合 **/ $is_print_dansupply_order = D('Home/Front')->get_config_by_name('is_print_dansupply_order'); if( isset($is_print_dansupply_order) && $is_print_dansupply_order == 1 ) { $is_print_dansupply_order = 1; }else if( !isset($is_print_dansupply_order) || $is_print_dansupply_order == 0 ) { $is_print_dansupply_order = 0; } //打印隐藏会员手机号 $is_printhide_membermobile = D('Home/Front')->get_config_by_name('is_printhide_membermobile'); if( isset($is_printhide_membermobile) && $is_printhide_membermobile == 1 ) { //隐藏 $order_info['shipping_tel'] = substr($order_info['shipping_tel'],0,3).'*****'.substr($order_info['shipping_tel'],-3,3); } $is_print = true; foreach($order_goods as &$value) { $value['option_sku'] = D('Seller/Order')->get_order_option_sku($value['order_id'], $value['order_goods_id']); if( $value['supply_id'] > 0 ) { if( isset($supply_goods_info[ $value['supply_id'] ]) ) { $supply_goods_info[ $value['supply_id'] ][] = $value; }else{ $supply_goods_info[ $value['supply_id'] ] = array(); $supply_goods_info[ $value['supply_id'] ][] = $value; } } } $shoname = D('Home/Front')->get_config_by_name('shoname'); $open_feier_print = D('Home/Front')->get_config_by_name('open_feier_print'); //打印联数 $feier_print_sn = D('Home/Front')->get_config_by_name('feier_print_sn'); $last_print_time = D('Home/Front')->get_config_by_name('last_print_time'); $last_print_index = D('Home/Front')->get_config_by_name('last_print_index'); $now_time = strtotime( date('Y-m-d').' 00:00:00' ); /* if( empty($last_print_time) || $last_print_time < $now_time ) { $last_print_index = 1; $last_print_time = time(); D('Seller/Config')->update( array('last_print_index' => $last_print_index, 'last_print_time' => $last_print_time) ); }else if($last_print_time > $now_time) { $last_print_index = empty($last_print_index) ? 1: $last_print_index+1; D('Seller/Config')->update( array('last_print_index' => $last_print_index, 'last_print_time' => time() ) ); } */ //继续使用原有的打印机设置,旧版打印机与“默认订单打印机”一起打印小票,也可以关闭旧版打印机设置使用新版本“默认打印机” //默认打印机的参数 $data = D('Seller/Config')->get_all_config(); if(isset($data['is_printer_list']) && !empty($data['is_printer_list'])){ $printer_list = M('lionfish_comshop_printer')->where( array('id' => array('in',$data['is_printer_list']) ) )->select(); } //新版打印机 有绑定打印机 if( !empty($printer_list) ){ //“默认打印机” foreach($printer_list as $var){ if(!empty($var["status"])){ //判断打印机 1飞鹅 2易联云 if($var["printer_type"] == 1){ //$var["printer_sn"]-sn $var["printer_key"]-key $var["printer_num"]-打印联数 // 订单信息 标题 ,商城名称,运费,运费,sn,key,打印联数, $print_result = $this->newfeier($order_info,$order_id,$last_print_index,$title,$shoname,$order_goods,$placeorder_tuan_name,$placeorder_trans_name,$var["printer_sn"],$var["printer_key"],$var["printer_num"]); } if($var["printer_type"] == 2){ //$var["api_id"]-应用id $var["api_key"]-应用密钥key $var["printer_sn"]-打印机终端号 $var["printer_key"]-终端密钥 $var["printer_num"]-打印联数 // 订单信息 标题 ,商城名称,订单商品,运费,运费,id key 终端号,终端密钥,打印联数, $print_result = $this->newyilian($order_info,$order_id,$last_print_index,$title,$shoname,$order_goods,$placeorder_tuan_name,$placeorder_trans_name,$var["api_id"],$var["api_key"],$var["printer_sn"],$var["printer_key"],$var["printer_num"]); } } } } // $this->print_supply_order($order_id, $supply_goods_info); /** 后台操作取消订单 群接龙后台取消订单 用户取消订单 **/ return $print_result; } //===========方法2.查询某订单是否打印成功============= //***接口返回值说明*** //正确例子: //已打印:{"msg":"ok","ret":0,"data":true,"serverExecutedTime":6} //未打印:{"msg":"ok","ret":0,"data":false,"serverExecutedTime":6} //打开注释可测试 //$orderid = "xxxxxxxx_xxxxxxxxxx_xxxxxxxx";//订单ID,从方法1返回值中获取 //queryOrderState($orderid); /* * 方法2 根据订单索引,去查询订单是否打印成功,订单索引由方法1返回 */ function queryOrderState($index){ $msgInfo = array( 'user'=>$this->user, 'stime'=>$this->stime, 'sig'=>$this->sig, 'apiname'=>'Open_queryOrderState', 'orderid'=>$index ); $http_model = load_model_class('httpclient'); $client = new $http_model($this->ip,$this->port); if(!$client->post($this->path,$msgInfo)){ var_dump('error'); die(); } else{ $result = $client->getContent(); var_dump($result); die(); } } //===========方法3.查询指定打印机某天的订单详情============ //***接口返回值说明*** //正确例子:{"msg":"ok","ret":0,"data":{"print":6,"waiting":1},"serverExecutedTime":9} //打开注释可测试 //$date = "2017-04-02";//注意时间格式为"yyyy-MM-dd",如2016-08-27 //queryOrderInfoByDate(SN,$date); /* * 方法3 查询指定打印机某天的订单详情 */ function queryOrderInfoByDate($printer_sn,$date){ $msgInfo = array( 'user'=>$this->user, 'stime'=>$this->stime, 'sig'=>$this->sig, 'apiname'=>'Open_queryOrderInfoByDate', 'sn'=>$printer_sn, 'date'=>$date ); $http_model = load_model_class('httpclient'); $client = new $http_model($this->ip,$this->port); if(!$client->post($this->path,$msgInfo)){ var_dump('error'); die(); } else{ $result = $client->getContent(); echo $result; } } //===========方法4.查询打印机的状态========================== //***接口返回值说明*** //正确例子: //{"msg":"ok","ret":0,"data":"离线","serverExecutedTime":9} //{"msg":"ok","ret":0,"data":"在线,工作状态正常","serverExecutedTime":9} //{"msg":"ok","ret":0,"data":"在线,工作状态不正常","serverExecutedTime":9} //打开注释可测试 //queryPrinterStatus(SN); /* * 方法4 查询打印机的状态 */ function queryPrinterStatus($printer_sn){ $msgInfo = array( 'user'=>USER, 'stime'=>STIME, 'sig'=>SIG, 'apiname'=>'Open_queryPrinterStatus', 'sn'=>$printer_sn ); $client = new HttpClient(IP,PORT); if(!$client->post(PATH,$msgInfo)){ echo 'error'; } else{ $result = $client->getContent(); echo $result; } } //默认打印机小票参数 //易联云 //$this->newyilian($order_info,$last_print_index,$title,$shoname,$order_goods,$placeorder_tuan_name,$placeorder_trans_name,$var["api_id"],$var["api_key"],$var["printer_sn"],$var["printer_key"],$var["printer_num"]); function newyilian($order_info,$order_id,$last_print_index,$title,$shoname,$order_goods,$placeorder_tuan_name,$placeorder_trans_name,$api_id,$api_key,$printer_sn,$printer_key,$printer_num ){ $lib_path = dirname(dirname( dirname(__FILE__) )).'/Lib/'; require_once $lib_path."/Yilianyun/Lib/Autoloader.php"; //$yilian_client_id = D('Home/Front')->get_config_by_name('yilian_client_id'); //$yilian_client_key = D('Home/Front')->get_config_by_name('yilian_client_key' ); $yilian_client_id = $api_id; $yilian_client_key = $api_key; $config = new YlyConfig($yilian_client_id, $yilian_client_key); $token = $this->_get_yilian_access_token($yilian_client_id,$yilian_client_key); //$yilian_machine_code = D('Home/Front')->get_config_by_name('yilian_machine_code' ); $yilian_machine_code = $printer_sn; $print = new PrintService($token['access_token'], $config); //object(stdClass)#14 (3) { ["error"]=> string(1) "0" ["error_description"]=> string(7) "success" ["body"]=> object(stdClass)#15 (2) { ["id"]=> string(9) "221354299" ["origin_id"]=> string(3) "558" } } //1 //$data = $print->index($yilian_machine_code,'打印内容排版可看Demo下的callback.php','558'); //------------------------------------------------------------------------------------------- //$yilian_print_lian = D('Home/Front')->get_config_by_name('yilian_print_lian'); $yilian_print_lian = $printer_num; if( empty($yilian_print_lian) || $yilian_print_lian < 1) { $yilian_print_lian = 1; } $orderInfo = ''.$yilian_print_lian.''; $total_length = 32; $pay_time = date('Y-m-d H:i', $order_info['pay_time']); $orderInfo = '
--#'.$last_print_index.$title.'--
'; $orderInfo .= '
'.$shoname.'
'; $orderInfo .= '订单时间:'.$pay_time."\n"; if( in_array($title, array('用户取消订单','后台操作取消订单','群接龙后台取消订单') ) ) { $refund_time = date('Y-m-d H:i:s', time() ); $orderInfo .= '取消时间:'.$refund_time."\n"; } $orderInfo .= '订单编号:'.$order_info['order_num_alias']."\n"; if( $order_info['payment_code'] == 'cashon_delivery'){ $orderInfo .= '支付方式:货到付款'."\n"; } //head_id order_id $head_relative_line = M('lionfish_comshop_deliveryline_headrelative')->where( array('head_id' => $order_info['head_id'] ) )->find(); if( !empty($head_relative_line) ) { $line_id = $head_relative_line['line_id']; $line_info = M('lionfish_comshop_deliveryline')->where( array('id' => $line_id ) )->find(); $orderInfo .= '线路名称:'.$line_info['name']."\n"; } if($order_info['expected_delivery_time']){ $orderInfo .= '--------------------------------'."\n"; $orderInfo .= '配送时间段:'.$order_info['expected_delivery_time']."\n"; $orderInfo .= '--------------------------------'."\n"; } $head_info = M('lionfish_community_head')->where( array('id' => $order_info['head_id'] ) )->find(); $orderInfo .= '收货小区:'.$head_info['community_name']."\n"; $orderInfo .= $owner_name.'姓名:'.$head_info['head_name']."\n"; $orderInfo .= $owner_name.'手机:'.$head_info['head_mobile']."\n"; $member = M('lionfish_comshop_member')->where( array('member_id' => $order_info['member_id'] ) )->find(); if($member['card_id'] > 0 && $member['card_end_time'] >time() ){ $orderInfo .= '姓 名:'.$order_info['shipping_name'].'(付费VIP)'."\n"; }else{ $orderInfo .= '姓 名:'.$order_info['shipping_name'].''."\n"; } $orderInfo .= '电 话:'.$order_info['shipping_tel'].''."\n"; $delivery_tuanzshipping_name = D('Home/Front')->get_config_by_name('delivery_tuanzshipping_name');//团长配送 if( empty($delivery_tuanzshipping_name) ) { $delivery_tuanzshipping_name = ''; } $delivery_express_name = D('Home/Front')->get_config_by_name('delivery_express_name');//快递配送 if( empty($delivery_express_name) ) { $delivery_express_name = ''; } $delivery_ziti_name = D('Home/Front')->get_config_by_name('delivery_ziti_name');//到点自提 if( empty($delivery_ziti_name) ) { $delivery_ziti_name = ''; } $placeorder_trans_name = D('Home/Front')->get_config_by_name('placeorder_trans_name');//快递费 if( !isset($placeorder_trans_name) || empty($placeorder_trans_name) ) { $placeorder_trans_name = '快递费'; } $placeorder_tuan_name = D('Home/Front')->get_config_by_name('placeorder_tuan_name');//配送费 if( !isset($placeorder_tuan_name) || empty($placeorder_tuan_name) ) { $placeorder_tuan_name = '配送费'; } //delivery pickup tuanz_send if( $order_info['delivery'] == 'pickup' ) { if( $order_info['type'] == 'virtual' ) { $orderInfo .= '收货地址:'.$order_info['shipping_address']."\n"; $orderInfo .= '配送方式:门店核销'."\n";//团长配送 }else{ $orderInfo .= '收货地址:'.$order_info['shipping_address']."\n"; if( !empty($delivery_ziti_name) ) { $orderInfo .= '配送方式:'.$delivery_ziti_name."\n";//团长配送 }else{ $orderInfo .= '配送方式:团员自提'."\n";//团长配送 } } }else if( $order_info['delivery'] == 'tuanz_send'){ // address_id if($order_info['address_id'] > 0) { $ad_info = M('lionfish_comshop_address')->field('lou_meng_hao')->where( array('address_id' => $order_info['address_id'] ) )->find(); if( !empty($ad_info) ) { //$order_info['tuan_send_address'] .= $ad_info['lou_meng_hao']; } } $orderInfo .= '送货地址:'.$order_info['tuan_send_address']."\n"; if( !empty($delivery_tuanzshipping_name) ) { $orderInfo .= '配送方式:'.$delivery_tuanzshipping_name.''."\n";//团长配送 }else{ $orderInfo .= '配送方式:'.$owner_name.'送货上门'."\n";//团长配送 } }else{ $province_info = D('Home/Front')->get_area_info($order_info['shipping_province_id']); $city_info = D('Home/Front')->get_area_info($order_info['shipping_city_id']); $area_info = D('Home/Front')->get_area_info($order_info['shipping_country_id']); $sp_address = $province_info['name'].$city_info['name'].$area_info['name']; $orderInfo .= '收货地址:'.$sp_address.$order_info['shipping_address']."\n"; if( $order_info['delivery'] == 'localtown_delivery'){ $orderInfo .= '配送方式:同城配送'."\n";//同城配送 }else if( $order_info['delivery'] == 'hexiao'){ $orderInfo .= '配送方式:到店核销
';//到店核销 }else{ if( !empty($delivery_express_name) ) { $orderInfo .= '配送方式:'.$delivery_express_name."\n"; }else{ $orderInfo .= '配送方式:快递'."\n"; } } } $orderInfo .= '-------------商品---------------'."\n"; $orderInfo .= '商品名称    数量  金额'."\n"; $demo_str = '商品名称    数量  金额'."\n"; $total_count = 0; foreach($order_goods as $val ) { $name = $val['name']; $total = $val['total']; $quantity = $val['quantity']; $goods_id = $val['goods_id']; $goods_common = M('lionfish_comshop_good_common')->field('print_sub_title')->where( array('goods_id' => $goods_id ) )->find(); $goods_name_str = ""; if( !empty($goods_common['print_sub_title']) ) { $goods_name_str = $goods_common['print_sub_title'].' '.$val['option_sku']; }else{ $goods_name_str = $name.' '.$val['option_sku']; } //17 $orderInfo .= $goods_name_str."\n";; $newStr = preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $goods_name_last); //正则匹配中文 $zw_length = mb_strlen($newStr,"utf-8"); //得到中汉字个数 //$zw_length = $this->linyufan_get_cn_num($goods_name_last); $tt_length = mb_strlen($goods_name_last,'utf-8') - $zw_length; //mb_strlen($goods_name_last,'utf-8') - $zhongjian = 18; $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } //$orderInfo .= $zhognjian_ge; $orderInfo .= "\t\t\t\t"; $quantity_str = 'x'.$quantity; $total_str = sprintf('%.2f',$total); $orderInfo .= $quantity_str; $right_gezi = 14 - strlen($quantity_str) - strlen(sprintf('%.2f',$total)); for( $i =1;$i<=$right_gezi;$i++ ) { $orderInfo .= ' '; } $orderInfo .= sprintf('%.2f',$total)."\n"; $total_count += $quantity; } $orderInfo .= '--------------------------------'."\n"; //var_dump( strlen($demo_str), mb_strlen($demo_str,'utf-8') ); $zhongjian = 32 - 10 - strlen($total_count); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '商品总数:'.$zhognjian_ge.$total_count."\n"; if( !empty($order_info['fullreduction_money']) && $order_info['fullreduction_money'] >0) { $zhongjian = 32 - 9 - strlen(sprintf('%.2f',$order_info['fullreduction_money'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '满减:'.$zhognjian_ge.'-'.sprintf('%.2f',$order_info['fullreduction_money']).'元'."\n"; } if( !empty($order_info['voucher_credit']) && $order_info['voucher_credit'] >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$order_info['voucher_credit'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '优惠券:'.$zhognjian_ge.'-'.sprintf('%.2f',$order_info['voucher_credit']).'元'."\n"; } $score_for_money = $order_info['score_for_money']; if( !empty($score_for_money) && $score_for_money >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$score_for_money)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '积分抵:'.$zhognjian_ge.'-'.sprintf('%.2f',$score_for_money).'元'."\n"; } /** $shipping_fare = $order_info['shipping_fare']; if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '配送费:'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元'."\n"; } **/ $man_e_money = $order_info['man_e_money']; $fare_shipping_free = $order_info['fare_shipping_free']; $is_free_shipping_fare = $order_info['is_free_shipping_fare']; $shipping_fare = $order_info['shipping_fare']; if($is_free_shipping_fare == 1 && $fare_shipping_free > 0) { if( !empty($fare_shipping_free) && $fare_shipping_free >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."\n"; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."\n"; } } if( !empty($fare_shipping_free) && $fare_shipping_free >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $man_e_money = floor($man_e_money * 100) / 100; $orderInfo .= '满'.$man_e_money.'免运费:'.$zhognjian_ge.'-'.sprintf('%.2f',$fare_shipping_free).'元'."\n"; $shipping_fare = 0; } }else{ if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元'."\n"; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元'."\n"; } } } $zhongjian = 32 - 10 - strlen(sprintf('%.2f',$order_info['total'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $order_type = $order_info['type']; $orderInfo .= '总金额:'.$zhognjian_ge.sprintf('%.2f',$order_info['total']); if ($order_type == "integral"){ $orderInfo .= "积分"."\n"; }else{ $orderInfo .= "元"."\n"; } $orderInfo .= '********************************'."\n"; if($shipping_fare == 0){ $real_price = $order_info['total'] + $shipping_fare -$order_info['voucher_credit']-$order_info['fullreduction_money']-$order_info['score_for_money']+$order_info['localtown_add_shipping_fare']; }else{ $real_price = $order_info['total'] + $shipping_fare -$order_info['voucher_credit']-$order_info['fullreduction_money']-$order_info['score_for_money']-$order_info['fare_shipping_free']+$order_info['localtown_add_shipping_fare']; } if($real_price < 0) { $real_price = 0; } $real_price = sprintf('%.2f',$real_price); $zhongjian = 32 - 12 - strlen($real_price); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if ($order_type == "integral"){ if($real_price- $order_info['total'] == 0){ $orderInfo .= '实付金额:'.sprintf('%.2f',$order_info['total']).'积分'."\n"; }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.($real_price- $order_info['total']).'元+'.sprintf('%.2f',$order_info['total']).'积分'."\n"; } }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.$real_price.'元'."\n"; } //comment $orderInfo .= '--------------------------------'."\n"; //order_info
if( !empty($order_info['comment']) ) { $orderInfo .= '备注:'.$order_info['comment'].''."\n"; } //begin pr $is_print_member_note = D('Home/Front')->get_config_by_name('is_print_member_note'); if( isset($is_print_member_note) && $is_print_member_note == 1 ) { $mb_info = M('lionfish_comshop_member')->field('content')->where( array('member_id' => $order_info['member_id'] ) )->find(); if( !empty($mb_info['content']) ) { $orderInfo .= '会员备注:'.$mb_info['content'].''."\n"; } } $is_print_order_note = D('Home/Front')->get_config_by_name('is_print_order_note'); $order_note_open = D('Home/Front')->get_config_by_name('order_note_open'); $order_note_name = D('Home/Front')->get_config_by_name('order_note_name'); if( !empty($is_print_order_note) && $is_print_order_note == 1 ) { if( !empty($order_info['note_content']) ) { if( !empty($order_note_open) && !empty($order_note_name)) { $orderInfo .= $order_note_name.':'.$order_info['note_content'].''."
"; }else{ $orderInfo .= '自定义备注:'.$order_info['note_content'].''."
"; } } } //end pr if($order_info['order_status_id'] == 7){ $orderInfo .= '--------------------------------
'; $orderInfo .= '订单已退款
'; } $orderInfo .= '
**#'.$last_print_index.' 完**
'; $data = $print->index($yilian_machine_code,$orderInfo,$order_id); $print_result = array('code' => 1); return $data; ///......待查看格式 } //$print_result = $this->newfeier($order_info,$last_print_index,$title,$shoname,$var["printer_sn"],$var["printer_key"],$var["printer_num"]); //飞鹅 // 订单信息 标题 ,商城名称,订单商品 运费 运费 ,sn,key,打印联数, function newfeier($order_info,$order_id,$last_print_index,$title,$shoname,$order_goods,$placeorder_tuan_name,$placeorder_trans_name,$printer_sn,$printer_key,$printer_num){ $total_length = 32; $pay_time = date('Y-m-d H:i', $order_info['pay_time']); //printer_sn $orderInfo = '--#'.$last_print_index.$title.'--
'; $orderInfo .= ''.$shoname.'
'; $orderInfo .= '订单时间:'.$pay_time.'
'; if( in_array($title, array('用户取消订单','后台操作取消订单','群接龙后台取消订单') ) ) { $refund_time = date('Y-m-d H:i:s', time() ); $orderInfo .= '取消时间:'.$refund_time."
"; } $orderInfo .= '订单编号:'.$order_info['order_num_alias'].'
'; if( $order_info['payment_code'] == 'cashon_delivery'){ $orderInfo .= '支付方式:货到付款'.'
'; } //head_id order_id $head_relative_line = M('lionfish_comshop_deliveryline_headrelative')->where( array('head_id' => $order_info['head_id']) )->find(); if( !empty($head_relative_line) ) { $line_id = $head_relative_line['line_id']; $line_info = M('lionfish_comshop_deliveryline')->where( array('id' => $line_id ) )->find(); $orderInfo .= '线路名称:'.$line_info['name'].'
'; } if($order_info['expected_delivery_time']){ $orderInfo .= '--------------------------------
'; $orderInfo .= '配送时间段:'.$order_info['expected_delivery_time'].'
'; $orderInfo .= '--------------------------------
'; } $head_info = M('lionfish_community_head')->where( array('id' => $order_info['head_id'] ) )->find(); $orderInfo .= '收货小区:'.$head_info['community_name'].'
'; $orderInfo .= $owner_name.'姓名:'.$head_info['head_name'].'
'; $orderInfo .= $owner_name.'手机:'.$head_info['head_mobile'].'
'; $member = M('lionfish_comshop_member')->where( array('member_id' => $order_info['member_id'] ) )->find(); if($member['card_id'] > 0 && $member['card_end_time'] >time() ){ $orderInfo .= '姓 名:'.$order_info['shipping_name'].'(付费VIP)
'; }else{ $orderInfo .= '姓 名:'.$order_info['shipping_name'].'
'; } $orderInfo .= '电 话:'.$order_info['shipping_tel'].'
'; $delivery_tuanzshipping_name = D('Home/Front')->get_config_by_name('delivery_tuanzshipping_name');//团长配送 if( empty($delivery_tuanzshipping_name) ) { $delivery_tuanzshipping_name = ''; } $delivery_express_name = D('Home/Front')->get_config_by_name('delivery_express_name');//快递配送 if( empty($delivery_express_name) ) { $delivery_express_name = ''; } $delivery_ziti_name = D('Home/Front')->get_config_by_name('delivery_ziti_name');//到点自提 if( empty($delivery_ziti_name) ) { $delivery_ziti_name = ''; } $placeorder_trans_name = D('Home/Front')->get_config_by_name('placeorder_trans_name');//快递费 if( !isset($placeorder_trans_name) || empty($placeorder_trans_name) ) { $placeorder_trans_name = '快递费'; } $placeorder_tuan_name = D('Home/Front')->get_config_by_name('placeorder_tuan_name');//配送费 if( !isset($placeorder_tuan_name) || empty($placeorder_tuan_name) ) { $placeorder_tuan_name = '配送费'; } //delivery pickup tuanz_send if( $order_info['delivery'] == 'pickup' ) { if( $order_info['type'] == 'virtual' ) { $orderInfo .= '收货地址:'.$order_info['shipping_address'].'
'; $orderInfo .= '配送方式:门店核销
';//团长配送 }else{ $orderInfo .= '收货地址:'.$order_info['shipping_address'].'
'; if( !empty($delivery_ziti_name) ) { $orderInfo .= '配送方式:'.$delivery_ziti_name.'
';//团长配送 }else{ $orderInfo .= '配送方式:团员自提
';//团长配送 } } }else if( $order_info['delivery'] == 'tuanz_send'){ // address_id $orderInfo .= '送货地址:'.$order_info['tuan_send_address'].'
'; if( !empty($delivery_tuanzshipping_name) ) { $orderInfo .= '配送方式:'.$delivery_tuanzshipping_name.'
';//团长配送 }else{ $orderInfo .= '配送方式:'.$owner_name.'送货上门
';//团长配送 } }else{ $province_info = D('Home/Front')->get_area_info($order_info['shipping_province_id']); $city_info = D('Home/Front')->get_area_info($order_info['shipping_city_id']); $area_info = D('Home/Front')->get_area_info($order_info['shipping_country_id']); //name $sp_address = $province_info['name'].$city_info['name'].$area_info['name']; $orderInfo .= '收货地址:'.$sp_address.$order_info['shipping_address']."
"; if( $order_info['delivery'] == 'localtown_delivery'){ $orderInfo .= '配送方式:同城配送
';//同城配送 }else if( $order_info['delivery'] == 'hexiao'){ $orderInfo .= '配送方式:到店核销
';//到店核销 }else{ if( !empty($delivery_express_name) ) { $orderInfo .= '配送方式:'.$delivery_express_name.'
'; }else{ $orderInfo .= '配送方式:快递
'; } } } $orderInfo .= '-------------商品---------------
'; $orderInfo .= '商品名称    数量  金额
'; $demo_str = '商品名称    数量  金额'; $total_count = 0; foreach($order_goods as $val ) { $name = $val['name']; $total = $val['total']; $quantity = $val['quantity']; $goods_id = $val['goods_id']; $goods_common = M('lionfish_comshop_good_common')->field('print_sub_title')->where( array('goods_id' => $goods_id) )->find(); $goods_name_str = ""; if( !empty($goods_common['print_sub_title']) ) { $goods_name_str = $goods_common['print_sub_title'].' '.$val['option_sku']; }else{ $goods_name_str = $name.' '.$val['option_sku']; } //17 //$goods_name_last = mb_substr($goods_name_str,0,7,'utf-8');//20190221 $orderInfo .= $goods_name_str.'
'; $newStr = preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $goods_name_last); //正则匹配中文 $zw_length = mb_strlen($newStr,"utf-8"); //得到中汉字个数 $tt_length = mb_strlen($goods_name_last,'utf-8') - $zw_length; //mb_strlen($goods_name_last,'utf-8') - $zhongjian = 18; if($zw_length <= 0) { $zhongjian = $zhongjian -1; } $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= $zhognjian_ge; $quantity_str = 'x'.$quantity; $total_str = sprintf('%.2f',$total); $orderInfo .= $quantity_str; $right_gezi = 14 - strlen($quantity_str) - strlen(sprintf('%.2f',$total)); $ggg_zi = ''; for( $i =1;$i<=$right_gezi;$i++ ) { $ggg_zi .= ' '; } $orderInfo.= $ggg_zi; $orderInfo .= sprintf('%.2f',$total).'
'; $total_count += $quantity; } $orderInfo .= '--------------------------------
'; $zhongjian = 32 - 10 - strlen($total_count); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '商品总数:'.$zhognjian_ge.$total_count.'
'; if( !empty($order_info['fullreduction_money']) && $order_info['fullreduction_money'] >0) { $zhongjian = 32 - 9 - strlen(sprintf('%.2f',$order_info['fullreduction_money'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '满减:'.$zhognjian_ge.'-'.sprintf('%.2f',$order_info['fullreduction_money']).'元
'; } if( !empty($order_info['voucher_credit']) && $order_info['voucher_credit'] >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$order_info['voucher_credit'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '优惠券:'.$zhognjian_ge.'-'.sprintf('%.2f',$order_info['voucher_credit']).'元
'; } //score_for_money $score_for_money = $order_info['score_for_money']; if( !empty($score_for_money) && $score_for_money >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$score_for_money)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '积分抵:'.$zhognjian_ge.'-'.sprintf('%.2f',$score_for_money).'元
'; } /** $shipping_fare = $order_info['shipping_fare']; if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $orderInfo .= '配送费:'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元
'; } **/ $shipping_fare = $order_info['shipping_fare']; $man_e_money = $order_info['man_e_money']; $fare_shipping_free = $order_info['fare_shipping_free']; $is_free_shipping_fare = $order_info['is_free_shipping_fare']; if($is_free_shipping_fare == 1 && $fare_shipping_free > 0) { if( !empty($fare_shipping_free) && $fare_shipping_free >0) { //满$man_e_money免运费 -7 man_e_money $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."
"; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$fare_shipping_free).'元'."
"; } } if( !empty($fare_shipping_free) && $fare_shipping_free >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$fare_shipping_free)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $man_e_money = floor($man_e_money * 100) / 100; $orderInfo .= '满'.$man_e_money.'免运费:'.$zhognjian_ge.'-'.sprintf('%.2f',$fare_shipping_free).'元'."
"; $shipping_fare = 0; } }else{ if( !empty($shipping_fare) && $shipping_fare >0) { $zhongjian = 32 - 11 - strlen(sprintf('%.2f',$shipping_fare)); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if( $order_info['delivery'] == 'tuanz_send') { $orderInfo .= $placeorder_tuan_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元
'; }else if( $order_info['delivery'] == 'express') { $orderInfo .= $placeorder_trans_name.':'.$zhognjian_ge.'+'.sprintf('%.2f',$shipping_fare).'元
'; } } } $zhongjian = 32 - 10 - strlen(sprintf('%.2f',$order_info['total'])); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } $order_type = $order_info['type']; $orderInfo .= '总金额:'.$zhognjian_ge.sprintf('%.2f',$order_info['total']); if ($order_type == "integral"){ $orderInfo .= "积分"."
"; }else{ $orderInfo .= "元"."
"; } $orderInfo .= '********************************
'; if($shipping_fare == 0){ $real_price = $order_info['total'] + $shipping_fare -$order_info['voucher_credit']-$order_info['fullreduction_money']-$order_info['score_for_money']+$order_info['localtown_add_shipping_fare']; }else{ $real_price = $order_info['total'] + $shipping_fare -$order_info['voucher_credit']-$order_info['fullreduction_money']-$order_info['score_for_money']-$order_info['fare_shipping_free']+$order_info['localtown_add_shipping_fare']; } if($real_price < 0) { $real_price = 0; } $real_price = sprintf('%.2f',$real_price); $zhongjian = 32 - 12 - strlen($real_price); $zhognjian_ge = ''; for($i =1;$i<=$zhongjian;$i++) { $zhognjian_ge .= ' '; } if ($order_type == "integral"){ if($real_price- $order_info['total'] == 0){ $orderInfo .= '实付金额:'.sprintf('%.2f',$order_info['total']).'积分
'; }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.($real_price- $order_info['total']).'元+'.sprintf('%.2f',$order_info['total']).'积分
'; } }else{ $orderInfo .= '实付金额:'.$zhognjian_ge.$real_price.'元
'; } //comment $orderInfo .= '--------------------------------
'; //order_info
if( !empty($order_info['comment']) ) { $orderInfo .= '备注:'.$order_info['comment'].'
'; } //begin pr $is_print_member_note = D('Home/Front')->get_config_by_name('is_print_member_note'); if( isset($is_print_member_note) && $is_print_member_note == 1 ) { $mb_info = M('lionfish_comshop_member')->field('content')->where( array('member_id' => $order_info['member_id'] ) )->find(); if( !empty($mb_info['content']) ) { $orderInfo .= '会员备注:'.$mb_info['content'].''."
"; } } $is_print_order_note = D('Home/Front')->get_config_by_name('is_print_order_note'); $order_note_open = D('Home/Front')->get_config_by_name('order_note_open'); $order_note_name = D('Home/Front')->get_config_by_name('order_note_name'); if( !empty($is_print_order_note) && $is_print_order_note == 1 ) { if( !empty($order_info['note_content']) ) { if( !empty($order_note_open) && !empty($order_note_name)) { $orderInfo .= $order_note_name.':'.$order_info['note_content'].''."
"; }else{ $orderInfo .= '自定义备注:'.$order_info['note_content'].''."
"; } } } //end pr if($order_info['order_status_id'] == 7){ $orderInfo .= '--------------------------------
'; $orderInfo .= '订单已退款
'; } $orderInfo .= '**#'.$last_print_index.' 完**
'; //$feier_print_lian = D('Home/Front')->get_config_by_name('feier_print_lian'); if( empty($printer_num) || $printer_num < 1) { $printer_num = 1; } $print_result = $this->wp_print($orderInfo, $printer_num, $printer_sn); if( $print_result['code'] == 0) { M('lionfish_comshop_order')->where( array('order_id' =>$order_id ) )->save( array('is_print_suc' => 0) ); } return $print_result; } } ?>