123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Elton
- * Date: 2019/5/5
- * Time: 11:39
- */
- namespace app\main\service;
- use app\main\constants\MqConstants;
- class SmartPushDotService extends BaseService
- {
- const exchangename='cps.ex.topic';
- /**
- * @var SmartPushDotService
- */
- protected static $self = null;
- /**
- * @return $this
- */
- public static function instance()
- {
- if (self::$self == NULL) {
- self::$self = new self();
- }
- return self::$self;
- }
- /**
- * 打点
- * @param array $data 推送内容
- */
- public function dotSmartPushInfo($data = [])
- {
- $mq = MqService::instance()->getDotMqInstance();
- LogService::info('[ MQ ] [ DOT ] [SmartPushInfo] '.print_r(json_encode($mq),true).'::Data::'.print_r(json_encode($data),true));
- $exchangname = self::exchangename;
- $mq->transferExchange($data, $exchangname, MqConstants::ROUTING_KEY_COLLECT_PUSH_DOT, 'topic');
- }
- /**
- * @param $mark
- * @param int $push_id
- * @param int $push_idx
- * @param int $push_time
- * @param int $user_id
- * @param int $type
- * @param int $event_time
- * @return array
- */
- public function generateKefuData($mark, $push_id = 0, $push_idx = 0, $push_time = 0, $user_id = 0, $type = 1, $event_time = 0)
- {
- $data = [
- 'mark' => $mark,
- 'push_id' => $push_id,
- 'push_idx' => $push_idx,
- 'push_time' => !empty($push_time) ? $push_time : time(),
- 'user_id' => $user_id,
- 'type' => $type,
- 'event_time' => !empty($event_time) ? $event_time : time()
- ];
- return $data;
- }
- /**
- * 从客服消息链接跳转到支付页面,支付完成后,构造打点信息
- * @param $mark
- * @param int $push_id
- * @param int $push_idx
- * @param int $push_time
- * @param int $money
- * @param int $type
- * @param int $event_time
- * @return array
- */
- public function generatePayData($mark, $push_id = 0, $push_idx = 0, $push_time = 0, $money = 0, $type = 2, $event_time = 0)
- {
- $data = [
- 'mark' => $mark,
- 'push_id' => $push_id,
- 'push_idx' => $push_idx,
- 'push_time' => !empty($push_time) ? $push_time : time(),
- 'money' => $money,
- 'type' => $type,
- 'event_time' => !empty($event_time) ? $event_time : time()
- ];
- return $data;
- }
- /**
- * 初始化打点数据
- * @param $mark
- * @param int $push_id
- * @param int $push_idx
- * @param int $push_time
- * @param int $event_time
- * @param array $otherData
- * @return array
- */
- public function generateDotData(
- $mark,
- $push_id = 0,
- $push_idx = 0,
- $push_time = 0,
- $event_time = 0,
- $otherData = []
- )
- {
- $data = [
- 'mark' => $mark,
- 'push_id' => $push_id,
- 'push_idx' => $push_idx,
- 'push_time' => !empty($push_time) ? $push_time : time(),
- 'event_time' => !empty($event_time) ? $event_time : time()
- ];
- return array_merge($otherData, $data);
- }
- /**
- * 从自动回复点击并关注
- * @param $mark
- * @param int $push_id
- * @param int $push_time
- * @param int $type
- * @param int $user_id
- * @param int $event_time
- * @return array
- */
- public function generateSubData($mark, $push_id = 0, $push_time = 0, $user_id = 0, $type = 3, $event_time = 0)
- {
- $data = [
- 'mark' => $mark,
- 'push_id' => $push_id,
- 'push_time' => !empty($push_time) ? $push_time : time(),
- 'user_id' => $user_id,
- 'type' => $type,
- 'event_time' => !empty($event_time) ? $event_time : time(),
- ];
- return $data;
- }
- }
|