123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
- namespace App\Modules\Push\Models;
- use App\Consts\PushConst;
- use Illuminate\Database\Eloquent\Model;
- class QappPushTask extends Model
- {
- protected $table = 'qapp_push_task';
- protected $fillable = ['uid', 'package_id', 'type', 'title', 'content', 'url', 'num',
- 'status', 'providers', 'push_time', 'push_filter', 'push_result', 'select_user_status'];
- /**
- * @param $id
- * @return array
- */
- public static function getPushTaskById($id)
- {
- if (empty($id)) {
- return [];
- }
- return self::where('id', $id)->first();
- }
- /**
- * @param $id
- * @param $data
- * @return bool
- */
- public static function updatePushTask($id, $data): bool
- {
- if (empty($id) || empty($data)) {
- return false;
- }
- return self::where('id', $id)->update($data);
- }
- /**
- * 更新主任务状态
- * @param $id
- * @param $status
- * @param $result
- * @return bool
- */
- public static function updateMainTaskStatus($id, $status, $result = ''): bool
- {
- if (empty($id)) {
- return false;
- }
- $pushResult = is_string($result) ? $result : json_encode(compact('result'), JSON_UNESCAPED_UNICODE);
- $data = ['status' => $status, 'push_result' => $pushResult, 'updated_at' => date('Y-m-d H:i:s')];
- return self::where('id', $id)->update($data);
- }
- /**
- * @return mixed
- */
- public static function getValidTask()
- {
- return self::where('status', PushConst::STATUS_TODO)
- ->where('select_user_status', PushConst::SELECT_USER_OK)
- ->where('push_time', '<=', date('Y-m-d H:i:s'))
- ->orderBy('push_time', 'ASC')
- ->first();
- }
- }
|