1、数据库执行以下SQL
INSERT INTO `ysh_shop_config` VALUES ('11', '0', 'gprsprint', 'group', '', '', '', '1');
INSERT INTO `ysh_shop_config` VALUES ('1101', '11', 'gprsprint_no', 'text', '', '', '', '1');
INSERT INTO `ysh_shop_config` VALUES ('1102', '11', 'gprsprint_key', 'text', '', '', '', '1');
INSERT INTO `ysh_shop_config` VALUES ('1103', '11', 'gprsprint_mobile', 'text', '', '', '', '1');
INSERT INTO `ysh_shop_config` VALUES ('1104', '11', 'gprsprint_host', 'text', '', '', '', '1');
INSERT INTO `ysh_shop_config` VALUES ('1105', '11', 'gprsprint_port', 'text', '', '', '', '1');
INSERT INTO `ysh_shop_config` VALUES ('1106', '11', 'gprsprint_open', 'select', '1,0', '', '0', '1');
ALTER TABLE `ysh_order_info` ADD `gprsprint` TINYINT( 1 ) NOT NULL DEFAULT '0';
2、语言包添加内容
\languages\zh_cn\admin\shop_config.php
$_LANG['cfg_name']['gprsprint'] = 'GPRS打印机设置';
$_LANG['cfg_name']['gprsprint_no'] = '打印机编号';
$_LANG['cfg_name']['gprsprint_key'] = '打印机秘钥';
$_LANG['cfg_name']['gprsprint_mobile'] = '手机号';
$_LANG['cfg_name']['gprsprint_host'] = '服务IP';
$_LANG['cfg_name']['gprsprint_port'] = '服务端口';
$_LANG['cfg_name']['gprsprint_open'] = '开启打印';
$_LANG['cfg_range']['gprsprint_open']['1'] = '开启';
$_LANG['cfg_range']['gprsprint_open']['0'] = '关闭';
3、把cls_http.php拷贝到 includes目录下
4、Includes/lib_base.php 中增加打印方法
function wp_print($oid,$times=1){
include_once(ROOT_PATH . 'includes/lib_order.php');
$order_status = array("未确认","已确认","已取消","无效","退货"); //订单状态
$pay_status = array("未付款","付款中","已付款"); //支付状态
//商品订单信息
$order = order_info($oid);
//订单中包含的商品
$ordergoods = order_goods($oid);
$sql = "SELECT concat(IFNULL(c.region_name, ''), ' ', IFNULL(p.region_name, ''), " .
"' ', IFNULL(t.region_name, ''), ' ', IFNULL(d.region_name, '')) AS region " .
"FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
"LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS c ON o.country = c.region_id " .
"LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS p ON o.province = p.region_id " .
"LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS t ON o.city = t.region_id " .
"LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS d ON o.district = d.region_id " .
"WHERE o.order_id = '$order[order_id]'";
$order['region'] = $GLOBALS['db']->getOne($sql);
$device_no = $GLOBALS['_CFG']['gprsprint_no'];
$key = $GLOBALS['_CFG']['gprsprint_key'];
$orderInfo = '<CB>订单信息</CB><BR>';//标题字体如需居中放大,就需要用标签套上
$orderInfo .= '订单号:'.$order['order_sn'].'<BR>';
//$orderInfo .= '订单状态:'.$order_status[$order['order_status']].'<BR>';
$orderInfo .= '支付状态:'.$pay_status[$order['pay_status']].'<BR>';
$orderInfo .= '收货人:'.$order['consignee'].'<BR>';
$orderInfo .= '收货地址:'.$order['region'].$order['address'].'<BR>';
$orderInfo .= '邮编:'.$order['zipcode'].'<BR>';
if ($order['tel'])$orderInfo .= '电话:'.$order['tel'].'<BR>';
if ($order['mobile'])$orderInfo .= '手机:'.$order['mobile'].'<BR>';
$orderInfo .= '配送方式:'.$order['shipping_name'].'<BR>';
$orderInfo .='------------------------------------<BR>';
if ($order['money_paid'])$orderInfo .= '已付款金额:'.$order['money_paid'].'<BR>';
$orderInfo .= '支付方式:'.$order['pay_name'].'<BR>';
$orderInfo .='------------------------------------<BR>';
$orderInfo .= '<CB>商品明细</CB><BR>';
$orderInfo .='------------------------------------<BR>';
foreach ($ordergoods as $v){
$orderInfo .= $v['goods_name'].'('.$v['goods_sn'].')'.'×'.$v['goods_number'].'(件)×'.$v['goods_price'].'='.$v['subtotal'].'<BR>';
}
$orderInfo .='------------------------------------<BR>';
$orderInfo .= '商品总价:'.$order['goods_amount'].'<BR>';
$orderInfo .= '支付费用:'.$order['pay_fee'].'<BR>';
$orderInfo .= '使用余额:'.$order['surplus'].'<BR>';
if ($order['discount'])$orderInfo .= '折扣金额:'.$order['discount'].'<BR>';
if ($order['pay_time'])$orderInfo .= '支付时间:'.$order['pay_time'].'<BR>';
if ($order['to_buyer'])$orderInfo .= '客户留言:'.$order['to_buyer'].'<BR>';
$orderInfo .='------------------------------------<BR>';
$orderInfo .= '打印时间:'.date('Y-m-d H:i:s',time()).'<BR>';
$selfMessage = array(
'clientCode'=>$device_no,
'printInfo'=>$orderInfo,
'apitype'=>'php',
'key'=>$key,
'printTimes'=>$times
);
//日志记录
$logfile = ROOT_PATH . '/printlog/' . $oid .'_'.time(). '.txt';
file_put_contents($logfile, json_encode($selfMessage), LOCK_EX);
$rs = sendSelfFormatMessage($selfMessage);
$rs = json_decode($rs,TRUE);
if($rs['reslutCode']=='0'){
return TRUE;
}
//{"reslutCode":0,"msg":"success"}
exit();
}
function sendSelfFormatMessage($msgInfo){
include_once(ROOT_PATH . 'includes/cls_http.php');
$client = new HttpClient($GLOBALS['_CFG']['gprsprint_host'],$GLOBALS['_CFG']['gprsprint_port']);
$client->HttpClient($GLOBALS['_CFG']['gprsprint_host'],$GLOBALS['_CFG']['gprsprint_port']);
if(!$client->post('/FeieServer/printSelfFormatOrder',$msgInfo)){ //提交失败
return 'faild';
}
else{
return $client->getContent();
}
}
5、再flow.php中找到支付成功流程后,调用wp_print 方法来实现打印
如果是余额支付的情况
再代码
/* 处理余额、积分、红包 */
if ($order['user_id'] > 0 && $order['surplus'] > 0)
前面添加如下代码段
大概1650行
/* 如果订单金额为0(使用余额或积分或红包支付),修改订单状态为已确认、已付款 */
if ($order['order_amount'] <= 0){
if ($_CFG['gprsprint_open'] == '1') $rsprint = wp_print($new_order_id);
if ($rsprint){
//更新订单的打印状态
$sql = "UPDATE ". $ecs->table('order_info') ." SET gprsprint='1' WHERE order_id=".$new_order_id;
$db->query($sql);
}
}
6、后台管理员设置打印成功后,打印通知
adminstone\order.php 找到以下代码段
/* 标记订单为已确认、已付款,更新付款时间和已支付金额,如果是货到付款,同时修改订单为“收货确认” */
if ($order['order_status'] != OS_CONFIRMED)
{
$arr['order_status'] = OS_CONFIRMED;
$arr['confirm_time'] = gmtime();
}
$arr['pay_status'] = PS_PAYED;
$arr['pay_time'] = gmtime();
$arr['money_paid'] = $order['money_paid'] + $order['order_amount'];
$arr['order_amount']= 0;
$payment = payment_info($order['pay_id']);
if ($payment['is_cod'])
{
$arr['shipping_status'] = SS_RECEIVED;
$order['shipping_status'] = SS_RECEIVED;
}
update_order($order_id, $arr);
代码后面添加
if ($_CFG['gprsprint_open'] == '1') $rsprint = wp_print($order_id);
if ($rsprint){
//更新订单的打印状态
$sql = "UPDATE ". $ecs->table('order_info') ." SET gprsprint='1' WHERE order_id=".$order_id;
$db->query($sql);
}
7、用户在线支付后打印机通知
includes\lib_payment.php
找到如下代码段
/* 修改订单状态为已付款 */
$sql = 'UPDATE ' . $GLOBALS['ecs']->table('order_info') .
" SET order_status = '" . OS_CONFIRMED . "', " .
" confirm_time = '" . gmtime() . "', " .
" pay_status = '$pay_status', " .
" pay_time = '".gmtime()."', " .
" money_paid = order_amount," .
" order_amount = 0 ".
"WHERE order_id = '$order_id'";
$GLOBALS['db']->query($sql);
后面添加
/* 客户付款时给商家发送打印信息 */
if ($GLOBALS['_CFG']['gprsprint_open'] == '1') $rsprint = wp_print($pay_log['order_id']);
if ($rsprint){
//更新订单的打印状态
$sql = "UPDATE ". $GLOBALS['ecs']->table('order_info') ." SET gprsprint='1' WHERE order_id=".$order_id;
$GLOBALS['db']->query($sql);
}
- PC官方版
- 安卓官方手机版
- IOS官方手机版















鲜牛网游加速器4.6.6.2 电脑版
cFosSpeed破解版12.50.2525 中文免费版
奇游电竞加速器6.4.3 官方最新版
网易UU网游加速器(可免费加速steam)4.45.0 官方最新版
besttrace电脑版3.9.1.0 官方版
谷歌访问助手(Google Helper插件)2.6.2 官方版
speedtest网络测速软件1.8.156.1 单文件版
systemview通信系统仿真软件5.0 免费版
Windows U-Finder2.1.4 厂商免费版
水星MWU300T WPS安装程序1.0 官方安装版
绿联HDMI矩阵 RS232上位机软件1.10.01 绿色官方版
绿联云智能云存储pc版2.4.0.1915 一键安装版
cFosSpeed网络流量优化软件12.00.2512 免序列号去试用限制版
IP监测微信提醒工具(IPMonitor)2.0 免费版
新华三模拟器HCL2.1.2 最新版
佛山职业技术学院校园网登录软件0.2 破解版
局域网ip自动分配工具(运维/技术人员IP配置工具)1.1 单文件免费版
联想网课助手2.1.2 中文免费版
Exchang恢复软件(Shoviv Exchange Recovery Manager)19.11 英文特别版
Win10热点开机自启工具1.0 中文免费版
HS8145C5获取超级密码工具集合3 in 1 中文免费版
腾讯微云pc版5.2.1282 官方最新版
爱站工具包(爱站seo工具包)1.11.25.0 最新破解版
电信宽带上网助手9.5.2101.1318 官方版
猎豹免费wifi电脑版5.1 校园版
联想滑块验证助手1.1 单文件免费版
指定硬件厂商MAC地址生成工具1.0 中文免费版
ER系列路由器ISP数据库文件1.6版本
TP-LINK Web网管交换机客户端应用程序1.0.3 官网免费版
华为配置加解密工具1.0 简体中文版
全新 NETGEAR 网件精灵2.4.62 官方中文版
360随身wifi软件pc端
快牙电脑版2.8.0.0 官方最新版
爱微帮媒体版客户端2.16 官方最新版
蒲公英WiFi电脑端2.0.3官方版
WiFi共享大师3.0.0.6 官方最新版
青青草原WiFi电脑版5.2 免费版





广联达加密狗破解检测工具2.1.3 中文绿色版
诚龙网维全自动pxe网刻工具11.0 绿色最新版
spring源码深度解析pdf (中文版)电子版
学校机房批量控制关机源码1.0 绿色免费版
QSS快速安全设置工具14.0.162 中文安装版
TP-LINK WVR300无线路由器升级软件3.0.1408
易读宝电子书开发工具(电子书制作生成器)1.
局域网监控专家3.4.12 绿色免费版
网址信息批量检测工具2.0 简体中文共享版
delete on time(经年定时删除软件)1.01 免费