123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <?php
- /**
- * Created by PhpStorm.
- * User: phperstar
- * Date: 2020/11/6
- * Time: 11:05 AM
- */
- namespace Service\Order\Controller;
- use Mall\Framework\Core\ErrorCode;
- use Service\BaseController;
- use Service\Order\Cache\OrderCache;
- use Mall\Framework\Factory;
- class NewOrder extends BaseController
- {
- private $objMOrder;
- public function __construct()
- {
- }
- /**
- * 建立连接
- */
- public function createConnect($request_params)
- {
- $params['shop_id'] = $request_params['shop_id'];
- $params['platfrom'] = $request_params['platfrom'];
- $params['fromId'] = $request_params['fromId'];
- $params['userId'] = $request_params['userId'];
- foreach ($params as $key => $value) {
- if (empty($value)) {
- parent::sendOutput(ErrorCode::$paramError, '参数' . $key . '值为空', ErrorCode::$paramError);
- }
- }
- // 缓存一下每个用户在每个店铺下面创建的链接信息
- $key = OrderCache::addWebstockFromIdAndShopId($params['platfrom'], $params['shop_id'], $params['userId'], $params['fromId']);
- // 存一下webstock链接信息保存在那个redisKey下面,方便浏览器关闭以后销毁缓存
- parent::webstockConnectInfo($params['fromId'], $key . '|' . $params['userId']);
- return [
- 'fromId' => [$params['fromId']],
- 'sendData' => parent::sendOutput('创建连接成功'),
- ];
- }
- /**
- * 触发通知
- */
- public function autoSend($request_params)
- {
- $params['shop_id'] = $request_params['shop_id'];
- $params['platfrom'] = $request_params['platfrom'];
- $params['fromId'] = $request_params['fromId'];
- $params['source'] = empty($request_params['source']) ? "" : $request_params['source'];
- foreach ($params as $key => $value) {
- if (empty($value)) {
- parent::sendOutput(ErrorCode::$paramError, '参数' . $key . '值为空', ErrorCode::$paramError);
- }
- }
-
- $webStockId = OrderCache::getWebstockFromIdAndShopId($params['platfrom'], $params['shop_id']);
-
- $msg = '';
- switch ($params['source']) {
- case 'order':
- $msg = '有新订单了';
- break;
- case 'stockOut':
- $msg = '有新出库单了';
- break;
- default:
- $msg = '消息类型不存在';
- break;
- }
- $log["date"] = date("Y-m-d H:i:s");
- $log["accept"] = $params;
- $log["send"] = ['fromId' => $webStockId,'sendData' =>$msg];
- $this->addlog(json_encode($log));
- if ($webStockId) {
- return [
- 'fromId' => $webStockId,
- 'sendData' => parent::sendOutput($msg),
- ];
- } else {
- return [
- 'fromId' => [$params['fromId']],
- 'sendData' => parent::sendOutput($msg),
- ];
- }
- }
- /**
- * 关闭链接以后销毁连接
- */
- public function closeWebstock($fromId)
- {
- parent::closeWebstock($fromId);
- }
-
- public function addlog($msg){
- try {
- $config = Factory::config()->all();
- $logger = Factory::logs($config['logPath'] ?:'', $config['logSaveFileApp'] ?:'', $config['app_name'] ?:'');
- $logger->log($msg);
- } catch (Exception $exc) {
-
- }
-
- }
- }
|