QappPushUser.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace App\Modules\Push\Models;
  3. use DB;
  4. use Illuminate\Database\Eloquent\Model;
  5. class QappPushUser extends Model
  6. {
  7. protected $table = 'qapp_push_user';
  8. protected $fillable = ['uid', 'reg_id', 'provider', 'app_id', 'channel_id'];
  9. /**
  10. * @param $uid
  11. * @return array
  12. */
  13. public static function getPushUserByUid($uid)
  14. {
  15. if (empty($uid)) {
  16. return [];
  17. }
  18. $tableName = 'qapp_push_user';
  19. return DB::connection('mysql::write')
  20. ->table($tableName)
  21. ->where('uid', $uid)->first();
  22. }
  23. public static function getPushUserByUids($uids): array
  24. {
  25. if (empty($uids)) {
  26. return [];
  27. }
  28. $result = self::whereIn('uid', $uids)->get();
  29. return $result ? $result->toArray() : [];
  30. }
  31. public static function getPushUsersByProvider($provider, $id = 0): array
  32. {
  33. if (empty($provider)) {
  34. return [];
  35. }
  36. $result = self::where('id', '<', $id)->where('provider', $provider)->orderBy('id', 'desc')->limit(1000)->get();
  37. return $result ? $result->toArray() : [];
  38. }
  39. /**
  40. * @param $uid
  41. * @param $regId
  42. * @param $appId
  43. * @param $provider
  44. * @param $channelId
  45. * @return bool
  46. */
  47. public static function initPushUser($uid, $regId, $appId, $provider, $channelId): bool
  48. {
  49. if (empty($uid) || empty($regId) || empty($appId) || empty($provider)) {
  50. return false;
  51. }
  52. return self::insert([
  53. 'uid' => $uid,
  54. 'reg_id' => $regId,
  55. 'provider' => strtolower($provider),
  56. 'app_id' => $appId,
  57. 'channel_id' => $channelId,
  58. 'created_at' => date('Y-m-d H:i:s', SERVER_TIME),
  59. 'updated_at' => date('Y-m-d H:i:s', SERVER_TIME),
  60. ]);
  61. }
  62. /**
  63. * @param $uid
  64. * @param $regId
  65. * @return bool
  66. */
  67. public static function setUserRegId($uid, $regId): bool
  68. {
  69. if (empty($uid) || empty($regId)) {
  70. return false;
  71. }
  72. return self::where('uid', $uid)->update(['reg_id' => $regId, 'updated_at' => date('Y-m-d H:i:s', SERVER_TIME)]);
  73. }
  74. }