//飞鹅打印机打印机
$this->feieprint($info,$bgsmid);
//打印机
public function feieprint($info=[],$bgsmid='')
{
// echo '<pre>';
// print_r($info);
$sailer=DB::name('member')->field('member_true_name,member_mobile')->where(['member_id'=>$info['cailiao_mid']])->find();//销售信息
$addorder=DB::name('memberbgs')->field('member_true_name,member_mobile')->where(['member_id'=>$bgsmid])->find();//一键下单办公室人员
// echo '<pre>';
// print_r($addorder);
$outid=$info['id'];//出库记录id
$list=$this->getorderinfo($outid);
//根据打印纸张的宽度,自行调整内容的格式,可参考下面的样例格式
$content= '<CB>下单</CB><BR>';
$content.= '名称 长度<BR>';
$content.= '--------------------------------<BR>';
if(!empty($list))
{
foreach ($list as $k=>$v)
{
$content.='<B>第'.($k+1).'个订单:<B><BR>';
// print_r($v);
foreach($v['name'] as $key=>$val)
{
$content .='<W>'. $val.' *'.$v['cailiao_stock'].'</W><BR>';
}
$content.= '--------------------------------<BR>';
}
}
//$content .= '--------------------------------<BR>';
$content .= '客户姓名:'.$info['kehuname'].'<BR>';
$content .= '销售姓名:'.$sailer['member_true_name'] .'<BR>';
$content .= '销售人电话:'.$sailer['member_mobile'] .'<BR>';
$content .= '下单时间:'.date('Y-m-d H:i:s',time()).'<BR>';
//echo $content;
$print_rlist=DB::name('feieprint')->where(['state'=>1])->order('sort asc,id desc')->select()->toArray();
if(!empty($print_rlist))
{
foreach ($print_rlist as $key=>$val)
{
$this->printMsg($val['SN'],$content,1);
}
}
}
/**
* [打印订单接口 Open_printMsg]
* @param [string] $sn [打印机编号sn]
* @param [string] $content [打印内容]
* @param [string] $times [打印联数]
* @return [string] [接口返回值]
*/
public function printMsg($sn,$content,$times){
header("Content-type: text/html; charset=utf-8");
include EXTEND_PATH.'HttpClient.class.php';
define('USER',Config('app.USER')); //*必填*:飞鹅云后台注册账号
define('UKEY', Config('app.UKEY')); //*必填*: 飞鹅云后台注册账号后生成的UKEY 【备注:这不是填打印机的KEY】
//define('SN', ''); //*必填*:打印机编号,必须要在管理后台里添加打印机或调用API接口添加之后,才能调用API
//以下参数不需要修改
define('IP','api.feieyun.cn'); //接口IP或域名
define('PORT',80); //接口IP端口
define('PATH','/Api/Open/'); //接口路径
$time = time(); //请求时间
$msgInfo = array(
'user'=>Config('app.USER'),
'stime'=>$time,
'sig'=>signature($time),
'apiname'=>'Open_printMsg',
'sn'=>$sn,
'content'=>$content,
'times'=>$times//打印次数
);
$client = new \HttpClient(IP,PORT);
if(!$client->post(PATH,$msgInfo)){
return 1;
}else{
//服务器返回的JSON字符串,建议要当做日志记录起来
$result = json_decode($client->getContent(),true);
return $result;
}
}
/**
* [signature 飞鹅生成签名]
* @param [string] $time [当前UNIX时间戳,10位,精确到秒]
* @return [string] [接口返回值]
*/
function signature($time){
$USER=Config('app.USER');
$UKEY=Config('app.UKEY');
return sha1($USER.$UKEY.$time);//公共参数,请求公钥
}