SubscribeRecord.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace App\Modules\User\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use App\Modules\OfficialAccount\Models\ForceSubscribeUsers;
  5. use DB;
  6. class SubscribeRecord extends Model
  7. {
  8. protected $table = 'subscribe_records';
  9. protected $fillable = ['id', 'uid', 'appid', 'distribution_channel_id', 'openid','is_subscribed',
  10. 'subscribe_time','unsubscribe_time','created_at','updated_at'
  11. ];
  12. static public function create_subscribe_record($param){
  13. $data = [];
  14. $forceSubscribeUsers = ForceSubscribeUsers::forceSubscribeUsersByOpenidAndAC($param['openid'],$param['appid'],$param['distribution_channel_id']);
  15. $data['uid'] = isset($forceSubscribeUsers->uid)?$forceSubscribeUsers->uid:null;
  16. $data['appid'] = $param['appid'];
  17. $data['openid'] = $param['openid'];
  18. $data['is_subscribed'] = $param['is_subscribed'];
  19. if(isset($param['distribution_channel_id']) && $param['distribution_channel_id']){
  20. $data['distribution_channel_id'] = $param['distribution_channel_id'];
  21. }else{
  22. $data['distribution_channel_id'] = isset($forceSubscribeUsers->distribution_channel_id)?$forceSubscribeUsers->distribution_channel_id:null;
  23. }
  24. if(isset($param['subscribe_time']) && $param['subscribe_time']){
  25. $data['subscribe_time'] = $param['subscribe_time'];
  26. }else{
  27. $data['subscribe_time'] = isset($forceSubscribeUsers->subscribe_time)?$forceSubscribeUsers->subscribe_time:null;
  28. }
  29. if(isset($param['unsubscribe_time']) && $param['unsubscribe_time']){
  30. $data['unsubscribe_time'] = $param['unsubscribe_time'];
  31. }else{
  32. $data['unsubscribe_time'] = isset($forceSubscribeUsers->unsubscribe_time)?$forceSubscribeUsers->unsubscribe_time:null;
  33. }
  34. // \Log::info('create_subscribe_record:'.$data['uid'].' data:'.json_encode($data));
  35. self::firstOrCreate($data);
  36. }
  37. }