|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Console\Commands\AyrShare;
|
|
|
|
use App\Helper\AyrShare as AyrShareHelper;
|
|
|
|
use App\Models\AyrShare\AyrRelease as AyrReleaseModel;
|
|
|
|
use Carbon\Carbon;
|
|
|
|
use App\Models\AyrShare\AyrShare as AyrShareModel;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
|
|
|
|
class ShareUser extends Command
|
|
|
|
{
|
|
|
|
public $error = 0;
|
|
|
|
/**
|
|
|
|
* The name and signature of the console command.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $signature = 'share_user';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The console command description.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $description = '用户一周内无记录清除Ayr_share';
|
|
|
|
/**
|
|
|
|
* @name :(定时执行)handle
|
|
|
|
* @author :lyh
|
|
...
|
...
|
@@ -13,6 +31,54 @@ class ShareUser extends Command |
|
|
|
*/
|
|
|
|
public function handle()
|
|
|
|
{
|
|
|
|
$this->user_operator_record();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @name : 检测用户是否无操作记录
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/5/12 14:55
|
|
|
|
*/
|
|
|
|
protected function user_operator_record(){
|
|
|
|
//获取所有ayr_share用户
|
|
|
|
$ayr_share_model = new AyrShareModel();
|
|
|
|
$ayr_share_list = $ayr_share_model->list();
|
|
|
|
foreach ($ayr_share_list as $k => $v){
|
|
|
|
//查询当前用户是否有未推送的博文
|
|
|
|
$ayr_release = new AyrReleaseModel();
|
|
|
|
$release_info = $ayr_release->read(['idempotency_key'=>['<',date('Y-m-d H:i:s',time())],'share_id'=>$v['id']]);
|
|
|
|
//有推文时,直接跳出循环
|
|
|
|
if($release_info !== false){
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
//查看用户是否在一周内有发送博客
|
|
|
|
$start_at = Carbon::now()->modify('-7 days')->toDateString();
|
|
|
|
$end_at = Carbon::now()->toDateString();
|
|
|
|
$release_info = $ayr_release->read(['created_at'=>['between',[$start_at,$end_at]]]);
|
|
|
|
//有发送博文,则跳出循环
|
|
|
|
if($release_info == false){
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
//删除用户第三方配置
|
|
|
|
$ayr_share_helper = new AyrShareHelper();
|
|
|
|
$res = $ayr_share_helper->deleted_profiles();
|
|
|
|
if($res['status'] == 'fail'){
|
|
|
|
$this->error++;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
//更新数据库
|
|
|
|
$data = [
|
|
|
|
'title'=>null,
|
|
|
|
'bind_plat_from'=>null,
|
|
|
|
'profile_key'=>null,
|
|
|
|
'ref_id'=>null,
|
|
|
|
];
|
|
|
|
$res = $ayr_share_model->edit($data,['id'=>$v['id']]);
|
|
|
|
if($res == false){
|
|
|
|
$this->error++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $this->error;
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|