本文整理汇总了PHP中Gateway::sendToClient方法的典型用法代码示例。如果您正苦于以下问题:PHP Gateway::sendToClient方法的具体用法?PHP Gateway::sendToClient怎么用?PHP Gateway::sendToClient使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Gateway
的用法示例。
在下文中一共展示了Gateway::sendToClient方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: dirname
<?php
require_once dirname(dirname(dirname(dirname(__DIR__)))) . '/Workerman/Autoloader.php';
require_once dirname(dirname(__DIR__)) . '/GatewayClient/Gateway.php';
\Workerman\Autoloader::setRootPath(__DIR__ . '/../../');
use GatewayWorker\Lib\Db;
use Workerman\Protocols\Http;
if (!isset($_POST['macid']) && !isset($_POST['buttonid'])) {
echo "对不起,您访问的页面不存在!";
HTTP::end();
}
$macid = $_POST['macid'];
$buttonid = $_POST['buttonid'];
$connectHC = Db::instance('ConnectHC');
$clientdata = $connectHC->row("SELECT clientid, sign FROM `WEBHC` WHERE macid='{$macid}'");
if (!Gateway::isOnline($clientdata['clientid'])) {
echo "102";
HTTP::end();
}
if (!$clientdata['sign']) {
echo "103";
HTTP::end();
}
Gateway::sendToClient($clientdata['clientid'], "{" . $buttonid . "}");
echo "101";
HTTP::end();
?>
示例2: actionResetall
public function actionResetall()
{
$typeId = Yii::app()->request->getParam('typeId');
$db = Yii::app()->db;
$sql = '';
if ($typeId == 'product') {
$sql = 'update nb_product set store_number = -1 where dpid=' . $this->companyId;
} else {
$sql = 'update nb_product_set set store_number = -1 where dpid=' . $this->companyId;
}
//var_dump($sql);exit;
$command = $db->createCommand($sql);
if ($command->execute()) {
Gateway::getOnlineStatus();
$store = Store::instance('wymenu');
$pads = Pad::model()->findAll(" dpid = :dpid and delete_flag='0' and pad_type in ('1','2')", array(":dpid" => $this->companyId));
//var_dump($pads);exit;
$sendjsondata = json_encode(array("company_id" => $this->companyId, "do_id" => "sell_off", "do_data" => array(array("product_id" => $id, "type" => $typeId, "num" => $store_number))));
//var_dump($sendjsondata);exit;
foreach ($pads as $pad) {
$clientId = $store->get("padclient_" . $this->companyId . $pad->lid);
//var_dump($clientId,$print_data);exit;
if (!empty($clientId)) {
Gateway::sendToClient($clientId, $sendjsondata);
}
}
Yii::app()->end(json_encode(array("status" => "success")));
} else {
Yii::app()->end(json_encode(array("status" => "fail")));
}
}
示例3: printConetent2
public static function printConetent2(Printer $printer, $contents, $precode, $sufcode, $printserver, $orderid)
{
Gateway::getOnlineStatus();
$store = Store::instance('wymenu');
$contentCode = "";
$contentCodeAll = "";
foreach ($contents as $content) {
//内容编码
if ($printer->language == '1') {
foreach ($content as $line) {
//$strcontent=mb_convert_encoding($line,"GBK","UTF-8");
//$contentCode.=strtoupper(implode('',unpack('H*', $strcontent)))."0A";
$strcontent = mb_convert_encoding(substr($line, 2), "GBK", "UTF-8");
$strfontsize = substr($line, 0, 2);
if ($strfontsize == "br") {
$contentCode .= "0A";
} else {
$contentCode .= "1D21" . $strfontsize . strtoupper(implode('', unpack('H*', $strcontent)));
}
}
} elseif ($printer->language == '2') {
$contentCode .= "1C43011C26";
//日文前导符号
foreach ($content as $line) {
//$strcontent=mb_convert_encoding($line,"SJIS","UTF-8");
//$contentCode.=strtoupper(implode('',unpack('H*', $strcontent)))."0A";
$strcontent = mb_convert_encoding(substr($line, 2), "SJIS", "UTF-8");
$strfontsize = substr($line, 0, 2);
if ($strfontsize == "br") {
$contentCode .= "0A";
} else {
$contentCode .= "1D21" . $strfontsize . strtoupper(implode('', unpack('H*', $strcontent)));
}
}
} else {
return array('status' => false, 'dpid' => $printer->dpid, 'jobid' => '0', 'type' => 'none', 'msg' => yii::t('app', '无法确定打印机语言!'));
}
//加barcode和切纸
$contentCode = $precode . $contentCode . $sufcode;
$contentCodeAll = $contentCodeAll . $contentCode;
$contentCode = "";
}
//任务构建
$se = new Sequence("printer_job_id");
$jobid = $se->nextval();
if ($printserver == '1') {
if ($printer->printer_type != '0') {
return array('status' => false, 'dpid' => $printer->dpid, 'jobid' => '0', 'type' => 'net', 'msg' => yii::t('app', '网络打印的打印机必须是网络打印机!'));
}
$print_data = array("do_id" => "ipPrintContent", "company_id" => $printer->dpid, "job_id" => $jobid, "printer" => $printer->address, "content" => $contentCode);
//$store = Store::instance('wymenu');
//echo 'ss';exit;
$clientId = $store->get("client_" . $printer->dpid);
//var_dump($clientId,$print_data);exit;
if (!empty($clientId)) {
Gateway::sendToClient($clientId, json_encode($print_data));
//Gateway::sendToAll(json_encode($print_data));
return array('status' => true, 'dpid' => $printer->dpid, 'jobid' => $jobid, 'type' => 'net', 'msg' => '');
} else {
return array('status' => false, 'dpid' => $printer->dpid, 'jobid' => '0', 'type' => 'net', 'msg' => yii::t('app', '打印服务器找不到!'));
}
///////////////////
///打印任务不再发送,返回job编号,有pad自己去取
} else {
//主动的同步打印 0
// if($printer->printer_type=='1')//local
// {
// //$ret = $store->set($companyId."_".$jobid,'1C43011C2688A488A482AE82AF82B182F182C982BF82CD0A0A0A0A0A0A1D5601',0,60);
// $store->set($printer->dpid."_".$jobid,$contentCode,0,120);//should 120测试1200
// return array('status'=>true,'dpid'=>$printer->dpid,'jobid'=>$jobid,'type'=>'local','msg'=>'');
// }else{
$seorderprintjobs = new Sequence("order_printjobs");
$orderjobId = $seorderprintjobs->nextval();
$time = date('Y-m-d H:i:s', time());
//插入一条
$orderPrintJob = array('lid' => $orderjobId, 'dpid' => $printer->dpid, 'create_at' => $time, 'orderid' => $orderid, 'jobid' => $jobid, 'update_at' => $time, 'address' => $printer->address, 'content' => $contentCodeAll, 'printer_type' => "0", 'finish_flag' => '0', 'delete_flag' => '0');
Yii::app()->db->createCommand()->insert('nb_order_printjobs', $orderPrintJob);
$store->set($printer->dpid . "_" . $jobid, $contentCodeAll, 0, 30);
//should 120测试1200
return array('status' => true, 'dpid' => $printer->dpid, 'jobid' => $jobid, 'type' => 'net', 'address' => $printer->address, 'msg' => '');
// }
}
}
示例4: createPadOrder
//.........这里部分代码省略.........
$orderProductId = $se->nextval();
if ($result['store_number'] > 0) {
$sql = 'update nb_product set store_number=store_number-' . $amount . ' where dpid=' . $dpid . ' and lid=' . $goodsArr[0];
$db->createCommand($sql)->execute();
array_push($sellOff, array("product_id" => sprintf("%010d", $goodsArr[0]), "type" => "product", "num" => $result['store_number'] - $amount));
}
$sqladd = 'update nb_product set order_number=order_number+' . $amount . ',favourite_number=favourite_number+' . $amount . ' where dpid=' . $dpid . ' and lid=' . $goodsArr[0];
$db->createCommand($sqladd)->execute();
}
} else {
if ($result) {
if ($result['store_number'] == 0 || $result['store_number'] > 0 && $result['store_number'] < $num) {
throw new Exception(json_encode(array('status' => false, 'dpid' => $dpid, 'jobid' => "0", 'type' => 'local', 'msg' => yii::t('app', $result['product_name'] . '库存不足!'))));
}
} else {
throw new Exception(json_encode(array('status' => false, 'dpid' => $dpid, 'jobid' => "0", 'type' => 'local', 'msg' => yii::t('app', '没有找到该产品请清空后重新下单!'))));
}
$orderProductData = array('lid' => $orderProductId, 'dpid' => $dpid, 'create_at' => $time, 'order_id' => $orderId, 'set_id' => 0, 'product_id' => $goodsArr[0], 'price' => $productPrice, 'update_at' => $time, 'amount' => $num, 'taste_memo' => "", 'product_order_status' => $orderPorductStatus);
$db->createCommand()->insert('nb_order_product', $orderProductData);
$orderPrice += $productPrice * $num;
array_push($printOrderProducts, array('amount' => $num, 'price' => $productPrice, 'product_name' => ProductClass::getProductName($goodsArr[0], $dpid)));
if ($result['store_number'] > 0) {
$sql = 'update nb_product set store_number=store_number-' . $num . ' where dpid=' . $dpid . ' and lid=' . $goodsArr[0];
$db->createCommand($sql)->execute();
array_push($sellOff, array("product_id" => sprintf("%010d", $goodsArr[0]), "type" => "product", "num" => $result['store_number'] - $num));
}
$sqladd = 'update nb_product set order_number=order_number+' . $num . ',favourite_number=favourite_number+' . $num . ' where dpid=' . $dpid . ' and lid=' . $goodsArr[0];
$db->createCommand($sqladd)->execute();
}
}
}
}
$sql = 'update nb_order set should_total=' . $orderPrice . ' where lid=' . $orderId . ' and dpid=' . $dpid;
$db->createCommand($sql)->execute();
// $sql = 'update nb_site_no set status='.$orderPrice.' where lid='.$orderId.' and dpid='.$dpid;
// $db->createCommand($sql)->execute();
// return json_encode(array('status'=>false,'msg'=>"test22"));
//厨打
if ($orderId != '0') {
$order = Order::model()->with('company')->find(' t.lid=:lid and t.dpid=:dpid and t.order_status in(1,2,3)', array(':lid' => $orderId, ':dpid' => $dpid));
//Yii::app()->end(json_encode(array('status'=>false,'msg'=>"234")));
if (empty($order)) {
return json_encode(array('status' => false, 'msg' => "该订单不存在"));
}
}
// return json_encode(array('status'=>false,'msg'=>"test2236"));
if ($order->is_temp == "0") {
// return json_encode(array('status'=>false,'msg'=>"test2235"));
$criteria = new CDbCriteria();
$criteria->condition = 't.dpid=' . $dpid . ' and t.site_id=' . $order->site_id . ' and t.is_temp=' . $order->is_temp;
$criteria->order = ' t.lid desc ';
$siteNo = SiteNo::model()->find($criteria);
//order site 和 siteno都需要更新状态 所以要取出来
$criteria2 = new CDbCriteria();
$criteria2->condition = 't.dpid=' . $dpid . ' and t.lid=' . $order->site_id;
$criteria2->order = ' t.lid desc ';
$site = Site::model()->with("siteType")->find($criteria2);
// return json_encode(array('status'=>false,'msg'=>"test8"));
$printList = Helper::printKitchenAll3($order, $site, $siteNo, false);
} else {
// return json_encode(array('status'=>false,'msg'=>"test223"));
$pad = Pad::model()->with('printer')->find(' t.dpid=:dpid and t.lid=:lid', array(':dpid' => $order->dpid, 'lid' => $padId));
//前面加 barcode
$precode = "1D6B450B" . strtoupper(implode('', unpack('H*', 'A' . $order->lid))) . "0A" . strtoupper(implode('', unpack('H*', 'A' . $order->lid))) . "0A";
$orderProducts = OrderProduct::getOrderProducts($order->lid, $order->dpid);
//var_dump($orderProducts);exit;
//return json_encode(array('status'=>false,'msg'=>"test2234"));
$memo = "清单";
$printList = Helper::printList($order, $orderProducts, $pad, $precode, "0", $memo);
}
if (!$printList['status']) {
throw new Exception(json_encode($printList));
}
//$printList2=array_merge($printList,array('sitenoid'=> $lid));
// }
$transaction->commit();
//估清产品通知
if (!empty($sellOff)) {
Gateway::getOnlineStatus();
$store = Store::instance('wymenu');
$pads = Pad::model()->findAll(" dpid = :dpid and delete_flag='0' and pad_type in ('0','1','2')", array(":dpid" => $dpid));
//var_dump($pads);exit;
$sendjsondata = json_encode(array("company_id" => $dpid, "do_id" => "sell_off", "do_data" => $sellOff));
//var_dump($sendjsondata);exit;
foreach ($pads as $pad) {
$clientId = $store->get("padclient_" . $dpid . $pad->lid);
//var_dump($clientId,$print_data);exit;
if (!empty($clientId)) {
Gateway::sendToClient($clientId, $sendjsondata);
}
}
}
return json_encode($printList);
} catch (Exception $e) {
$transaction->rollback();
//如果操作失败, 数据回滚
throw new Exception($e->getMessage());
//return $e->getMessage();
}
}
示例5: dirname
<?php
require_once dirname(dirname(dirname(dirname(__DIR__)))) . '/Workerman/Autoloader.php';
require_once dirname(__DIR__) . '/redisData.php';
require_once dirname(dirname(__DIR__)) . '/GatewayClient/Gateway.php';
\Workerman\Autoloader::setRootPath(__DIR__ . '/../../');
use Workerman\Protocols\Http;
use GatewayWorker\Lib\Db;
HTTP::sessionStart();
if (isset($_POST['username'])) {
$username = $_POST['username'];
$macid = $_POST['macid'];
$text = $_POST['text'];
$connectHC = Db::instance('ConnectDb');
$clientid = $connectHC->row("SELECT clientid FROM `wifiserver` WHERE macid='{$macid}'");
if (Gateway::isOnline($clientid['clientid'])) {
//判断设备是否在线
if (!isset($_SESSION['login'])) {
echo "103";
} else {
Gateway::sendToClient($clientid['clientid'], $text);
echo "101";
}
} else {
echo "102";
}
} else {
echo "对不起,您访问的页面不存在!:(";
HTTP::end();
}