77 lines
3.2 KiB
PHP
77 lines
3.2 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Jobs;
|
||
|
|
|
||
|
|
use App\Models\ActivityMember;
|
||
|
|
use App\Models\User;
|
||
|
|
use App\Utils\Messenger;
|
||
|
|
use Illuminate\Support\Facades\DB;
|
||
|
|
use App\Models\Dynamic;
|
||
|
|
use App\Models\Live\ActivityUser;
|
||
|
|
use Illuminate\Bus\Queueable;
|
||
|
|
use Illuminate\Queue\SerializesModels;
|
||
|
|
use Illuminate\Queue\InteractsWithQueue;
|
||
|
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||
|
|
use Illuminate\Foundation\Bus\Dispatchable;
|
||
|
|
|
||
|
|
class addActivityUser implements ShouldQueue
|
||
|
|
{
|
||
|
|
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||
|
|
public $tries = 1;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Create a new job instance.
|
||
|
|
*
|
||
|
|
* @return void
|
||
|
|
*/
|
||
|
|
public function __construct()
|
||
|
|
{
|
||
|
|
//
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Execute the job.
|
||
|
|
*
|
||
|
|
* @return void
|
||
|
|
*/
|
||
|
|
public function handle()
|
||
|
|
{
|
||
|
|
try {
|
||
|
|
// $users = Dynamic::select(DB::raw('count(*) as user_count, user_id'))->whereHas('user', function ($query){
|
||
|
|
// $query->where('is_approved', 1);
|
||
|
|
// $users = Dynamic::select(DB::raw('count(*) as user_count, user_id'))->whereHas('user', function ($query){
|
||
|
|
// $query->where('belief', '基督教');
|
||
|
|
// })->groupBy('user_id')->orderBy('user_count', 'asc')->get();
|
||
|
|
// $users = Dynamic::select(DB::raw('count(*) as user_count, user_id'))->whereHas('user', function ($query){
|
||
|
|
// $query->whereBetween('created_at', ['2020-08-01 00:00:00', '2020-09-09 00:00:00']);
|
||
|
|
// })->groupBy('user_id')->orderBy('user_count', 'asc')->get();
|
||
|
|
// $mobile_array = \App\Models\Live\Messenger::where('is_audit', 1)->pluck('mobile')->toArray();
|
||
|
|
// $users = User::whereIn('mobile', $mobile_array)->get();
|
||
|
|
// $has_join_user_id = ActivityMember::whereIn('activity_id', [351,344])->pluck('user_id')->toArray();
|
||
|
|
// $users = Dynamic::select(DB::raw('count(*) as user_count, user_id'))->orWhereHas('user', function ($query){
|
||
|
|
// $query->where('is_approved', 1);
|
||
|
|
// })->whereNotIn('user_id', $has_join_user_id)->whereBetween('created_at', ['2020-06-01 00:00:00', '2020-09-09 00:00:00'])->groupBy('user_id')->orderBy('user_count', 'asc')->get();
|
||
|
|
//空号手机号码
|
||
|
|
$false_mobile = \App\Models\CheckMobile::whereNotIn('status', [1,2,4])->pluck('mobile')->toArray();
|
||
|
|
|
||
|
|
$activity_user_ids = ActivityUser::pluck('user_id')->toArray();
|
||
|
|
$users = Dynamic::select(DB::raw('count(*) as user_count, user_id'))->whereNotIn('user_id', $activity_user_ids)->whereBetween('created_at', [ '2020-06-01 00:00:00' , '2020-09-28 00:00:00'])->groupBy('user_id')->having('user_count', '>', 10)->get();
|
||
|
|
$insert_arr = [];
|
||
|
|
$new_arr = [];
|
||
|
|
|
||
|
|
foreach ($users as $user){
|
||
|
|
$new_arr['user_id'] = $user->user_id;
|
||
|
|
$new_arr['type'] = 4;
|
||
|
|
$new_arr['created_at'] = date('Y-m-d H:i:s');
|
||
|
|
$new_arr['updated_at'] = date('Y-m-d H:i:s');
|
||
|
|
$insert_arr[] = $new_arr;
|
||
|
|
}
|
||
|
|
ActivityUser::insert($insert_arr);
|
||
|
|
return true;
|
||
|
|
} catch (\Exception $e) {
|
||
|
|
\Log::info('checkActivitie'.$e->getMessage());
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|