| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | <?phpnamespace App\Modules\PersonalOp\Models;use Illuminate\Database\Eloquent\Model;use DB;class MediaPushUser extends Model{    protected  $table = 'media_push_users';    protected  $fillable = ['uid','distribution_channel_id','appid','current_month','sub_time','unsub_time','active_hour'];        public static function get_media_push_users($distribution_channel_id,$appid,$active_hour) {    	$push_users = self::where(['distribution_channel_id'=>$distribution_channel_id,'appid'=>$appid,'active_hour'=>$active_hour])->get();    	return $push_users;    }        public static function get_media_push_users_by_uid($uids,$send_time) {    	$push_users = self::leftJoin('media_push_user_details','media_push_users.id','media_push_user_details.media_push_user_id')    	->select('media_push_users.id','media_push_users.uid','media_push_users.openid','media_push_users.appid',    			'media_push_users.distribution_channel_id','media_push_user_details.id as media_push_user_detail_id',    			'media_push_user_details.is_send','media_push_user_details.status','media_push_user_details.sort_no')    	->whereIn('media_push_users.uid',$uids)    	->where('media_push_user_details.send_time',$send_time)    	->get();        	return $push_users;    }        public static function get_active_hour_media_push_users($active_hour) {    	$now = date('Y-m-d H:i:s');    	$today = date('Y-m-d');    	$push_users = DB::select('select m.uid,m.appid,m.distribution_channel_id,d.sort_no,d.id as send_id    			from media_push_users m     			left join media_push_user_details d ON m.id = d.media_push_user_id    			where m.active_hour = '.$active_hour.'    			and d.is_send = 0    			and d.status = 1    			and d.send_time = "'.$today.'"    			');    	$last_push_users = [];    	if(!empty($push_users)){    		foreach($push_users as $key=>$push_user){    			$last_push_users[$push_user->appid][] = $push_user;    		}    	}        	return $push_users;    }}
 |