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(); } /** * @return mixed */ public static function getAllValidTasks() { $result = self::where('status', PushConst::STATUS_SUCCESS) ->where('select_user_status', PushConst::SELECT_USER_OK) ->where('push_time', '<=', date('Y-m-d H:i:s')) ->orderBy('push_time', 'ASC') ->get(); return $result ? $result->toArray() : []; } }