<?php namespace App\Modules\User\Models; use Illuminate\Database\Eloquent\Model; use App\Modules\OfficialAccount\Models\ForceSubscribeUsers; use DB; class SubscribeRecord extends Model { protected $table = 'subscribe_records'; protected $fillable = ['id', 'uid', 'appid', 'distribution_channel_id', 'openid','is_subscribed', 'subscribe_time','unsubscribe_time','created_at','updated_at' ]; static public function create_subscribe_record($param){ $data = []; $forceSubscribeUsers = ForceSubscribeUsers::forceSubscribeUsersByOpenidAndAC($param['openid'],$param['appid'],$param['distribution_channel_id']); $data['uid'] = isset($forceSubscribeUsers->uid)?$forceSubscribeUsers->uid:null; $data['appid'] = $param['appid']; $data['openid'] = $param['openid']; $data['is_subscribed'] = $param['is_subscribed']; if(isset($param['distribution_channel_id']) && $param['distribution_channel_id']){ $data['distribution_channel_id'] = $param['distribution_channel_id']; }else{ $data['distribution_channel_id'] = isset($forceSubscribeUsers->distribution_channel_id)?$forceSubscribeUsers->distribution_channel_id:null; } if(isset($param['subscribe_time']) && $param['subscribe_time']){ $data['subscribe_time'] = $param['subscribe_time']; }else{ $data['subscribe_time'] = isset($forceSubscribeUsers->subscribe_time)?$forceSubscribeUsers->subscribe_time:null; } if(isset($param['unsubscribe_time']) && $param['unsubscribe_time']){ $data['unsubscribe_time'] = $param['unsubscribe_time']; }else{ $data['unsubscribe_time'] = isset($forceSubscribeUsers->unsubscribe_time)?$forceSubscribeUsers->unsubscribe_time:null; } // \Log::info('create_subscribe_record:'.$data['uid'].' data:'.json_encode($data)); self::firstOrCreate($data); } }