<?php/** * 推送服务 */
namespace app\lucky\push\service;
use app\common\JPush;use app\lucky\follow\service\FollowService;use app\lucky\push\model\UserPushConfigModel;use app\lucky\subscribe\service\SubscribeService;use app\sports\match\service\FollowMatchService;use app\sports\match\service\SportsApiService;
class PushService{ public function push() { try { $push = JPush::getInstance()->push(['1517badf006e81e'], '我是标题', '我是内容', 'GameDetails:1909991'); var_dump($push); } catch (\Exception $e) { var_dump($e->getMessage()); }
}
/** * 推送设置 */ public function pushConfig($userId, $sys, $ext) { $userPushConfigModel = new UserPushConfigModel(); $result = $userPushConfigModel->updateConfig($userId, $sys, ['ext' => json_encode($ext), 'update_time' => time()]);
if ($result) { return ['code' => 0, 'msg' => '添加成功']; }
return ['code' => -1, 'msg' => '添加失败']; }
/** * 获取配置 */ public function getPushConfig($userId, $sys) { $userPushConfigModel = new UserPushConfigModel(); $result = $userPushConfigModel->getConfigByUserId($userId, $sys); $data = isset($result['ext']) ? $result['ext'] : ''; $data = (array)json_decode($data, true);
return ['code' => 0, 'msg' => '获取成功', 'data' => $data]; }
/** * 发布资讯推送 */ public function blogPush($authorId, $title, $text, $blogId) { //获取作者的粉丝列表ID $followService = new FollowService(); $followListId = $followService->getAuthorFollowList($authorId, 'sports');
//获取用户ID的配置 $pushModel = new UserPushConfigModel(); $pushConfig = $pushModel->getConfigByUserIdArr($followListId, 'sports');
$identifyArr = []; foreach ($pushConfig as $value) { $ext = (array)json_decode($value['ext'], true); if (in_array('information', $ext)) { $identifyArr[] = $value['identify']; } }
if (!empty($identifyArr)) { try { JPush::getInstance()->push($identifyArr, $title, $text, 'InfoDetails', $blogId); } catch (\Exception $exception) { \Log::error($exception->getMessage()); } } }
/** * 登录关联极光ID */ public function loginLinkPush($userId, $identify, $sys = '343') { $userPushConfigModel = new UserPushConfigModel(); $config = $userPushConfigModel->getConfigByUserId($userId, 'sports');
if (empty($config)) { $data = [ 'user_id' => $userId, 'identify' => $identify, 'update_time' => time(), 'sys' => $sys, 'ext' => json_encode(['start' => true, 'end' => true, 'score' => true, 'news' => true, 'information' => true]) ];
$result = $userPushConfigModel->addConfig($data); if (empty($result)) { return ['code' => -1, 'msg' => '添加极光推送失败']; }
return ['code' => 0, 'msg' => '添加极光推送成功']; }
$data = [ 'identify' => $identify, 'update_time' => time(), ]; $result = $userPushConfigModel->updateConfig($userId, $sys, $data); if (empty($result)) { return ['code' => -1, 'msg' => '更新极光推送失败']; }
return ['code' => 0, 'msg' => '更新极光推送成功']; }
/** * 退出登录关联极光ID */ public function logoutLinkPush($userId, $sys = '343') { $userPushConfigModel = new UserPushConfigModel(); $data = [ 'identify' => '', 'update_time' => time(), ]; $result = $userPushConfigModel->updateConfig($userId, $sys, $data); if (empty($result)) { return ['code' => -1, 'msg' => '退出登录,更新极光推送失败']; }
return ['code' => 0, 'msg' => '退出登录,更新极光推送成功']; }}
评论