1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-06-23 11:58:41 +08:00

第三方开放登录增加公众号通知

This commit is contained in:
xiaochong0302 2020-12-21 16:03:25 +08:00
parent 30fb586d0b
commit b090f3778e
7 changed files with 37 additions and 16 deletions

View File

@ -26,7 +26,7 @@ class DeliverTask extends Task
{
$logger = $this->getLogger('order');
$tasks = $this->findTasks();
$tasks = $this->findTasks(30);
if ($tasks->count() == 0) {
return;
@ -244,7 +244,7 @@ class DeliverTask extends Task
* @param int $limit
* @return ResultsetInterface|Resultset|TaskModel[]
*/
protected function findTasks($limit = 100)
protected function findTasks($limit = 30)
{
$itemType = TaskModel::TYPE_DELIVER;
$status = TaskModel::STATUS_PENDING;

View File

@ -20,7 +20,7 @@ class NoticeTask extends Task
{
$logger = $this->getLogger('notice');
$tasks = $this->findTasks(500);
$tasks = $this->findTasks(300);
if ($tasks->count() == 0) {
return;

View File

@ -29,7 +29,7 @@ class RefundTask extends Task
{
$logger = $this->getLogger('refund');
$tasks = $this->findTasks();
$tasks = $this->findTasks(30);
if ($tasks->count() == 0) {
return;
@ -259,7 +259,7 @@ class RefundTask extends Task
}
/**
* 处理测试订单退款
* 处理赞赏订单退款
*
* @param OrderModel $order
*/

View File

@ -8,6 +8,7 @@ use App\Repos\Connect as ConnectRepo;
use App\Repos\User as UserRepo;
use App\Services\Auth\Home as AuthService;
use App\Services\Logic\Account\Register as RegisterService;
use App\Services\Logic\Notice\AccountLogin as AccountLoginNoticeService;
use App\Services\OAuth\QQ as QQAuth;
use App\Services\OAuth\WeiBo as WeiBoAuth;
use App\Services\OAuth\WeiXin as WeiXinAuth;
@ -32,6 +33,8 @@ class Connect extends Service
$this->handleConnectRelation($user, $openUser);
$this->handleLoginNotice($user);
$auth = $this->getAppAuth();
$auth->saveAuthInfo($user);
@ -57,6 +60,8 @@ class Connect extends Service
$this->handleConnectRelation($user, $openUser);
$this->handleLoginNotice($user);
$auth = $this->getAppAuth();
$auth->saveAuthInfo($user);
@ -75,6 +80,8 @@ class Connect extends Service
$user = $userRepo->findById($connect->user_id);
$this->handleLoginNotice($user);
$auth = $this->getAppAuth();
$auth->saveAuthInfo($user);
@ -208,4 +215,11 @@ class Connect extends Service
}
}
protected function handleLoginNotice(UserModel $user)
{
$service = new AccountLoginNoticeService();
$service->createTask($user);
}
}

View File

@ -50,7 +50,7 @@ class WechatOfficialAccount extends Service
{
$service = new WechatService();
$service->logger->info('Received Message:' . json_encode($message));
$service->logger->debug('Received Message ' . json_encode($message));
switch ($message['MsgType']) {
case 'event':
@ -74,7 +74,7 @@ class WechatOfficialAccount extends Service
return $this->handleLocationEvent($message);
break;
default:
return $message['Event'];
return $this->emptyReplyMessage();
break;
}
break;
@ -118,7 +118,7 @@ class WechatOfficialAccount extends Service
$this->handleSubscribeRelation($userId, $openId);
return new TextMessage("欢迎您的光临!");
return new TextMessage('开心呀,我们又多了一个小伙伴!');
}
protected function handleUnsubscribeEvent($message)
@ -134,7 +134,7 @@ class WechatOfficialAccount extends Service
$subscribe->update();
}
return new TextMessage("我们又少了一个可爱的小伙伴!");
return new TextMessage('伤心呀,我们又少了一个小伙伴!');
}
protected function handleScanEvent($message)
@ -198,20 +198,22 @@ class WechatOfficialAccount extends Service
protected function emptyReplyMessage()
{
return new TextMessage("");
return new TextMessage('');
}
protected function defaultReplyMessage()
{
return new TextMessage("没有匹配的服务,如有需要请联系客服!");
return new TextMessage('没有匹配的服务,如有需要请联系客服!');
}
protected function handleSubscribeRelation($userId, $openId)
{
$validator = new UserValidator();
$validator->checkUser($userId);
$subscribeRepo = new WechatSubscribeRepo();
$subscribe = $subscribeRepo->findByOpenId($openId);
if ($subscribe) {

View File

@ -20,11 +20,19 @@ class AccountLogin extends WechatNotice
$first = '你好,登录系统成功!';
$remark = '如果非本人操作,请立即修改密码哦!';
$loginRegion = implode('/', [
$params['login_region']['country'],
$params['login_region']['province'],
$params['login_region']['city'],
]);
$loginTime = date('Y-m-d H:i:s', $params['login_time']);
$params = [
'first' => $first,
'remark' => $remark,
'keyword1' => $params['login_region'],
'keyword2' => date('Y-m-d H:i', $params['login_time']),
'keyword1' => $loginRegion,
'keyword2' => $loginTime,
];
$templateId = $this->getTemplateId($this->templateCode);

View File

@ -49,9 +49,6 @@ $scheduler->php($script, $bin, ['--task' => 'unlock_user', '--action' => 'main']
$scheduler->php($script, $bin, ['--task' => 'revoke_vip', '--action' => 'main'])
->daily(3, 11);
$scheduler->php($script, $bin, ['--task' => 'clean_token', '--action' => 'main'])
->daily(3, 17);
$scheduler->php($script, $bin, ['--task' => 'sitemap', '--action' => 'main'])
->daily(4, 3);