12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Factories\HasFactory;
- use Illuminate\Database\Eloquent\Model;
- class JxStarVideoTaskList extends Model
- {
- public $timestamps = false;
- protected $table = 'jx_star_video_task_list';
- protected static $unguarded = true;
- # 星视频任务数据入库队列
- const JUXING_STAR_VIDEO_TASK_INDB_LIST = 'juxingStarVideoTaskIndbList';
- public static function getStartVideoList($advertiserIds, $keyword, $remark, $startDate, $endDate, $page, $pageSize)
- {
- $queryModel = self::where('enable', 1)->whereIn('advertiser_id', $advertiserIds);
- # 关键词搜索
- if(is_numeric($keyword)){ // 按任务id
- $queryModel->where('task_id', $keyword);
- } elseif (is_array($keyword)) { // 按任务id集合
- $queryModel->whereIn('task_id', $keyword);
- } else { // 按任务名称或达人昵称搜索
- $queryModel->where('task_name', 'like', '%'.$keyword.'%');
- }
- # 备注搜索
- if($remark)
- $queryModel->where('remark', 'like', '%'.$remark.'%');
- # 按创建日期搜索
- if($startDate)
- $queryModel->where('create_time', '>=', $startDate . ' 00:00:00');
- if($endDate)
- $queryModel->where('create_time', '<=', $endDate . ' 23:59:59');
- $count = $queryModel->count();
- $list = $queryModel->select('advertiser_id', 'task_id', 'task_name', 'task_status', 'create_time', 'task_type', 'remark')
- ->offset(($page - 1) * $pageSize)->limit($pageSize)
- ->orderBy('create_time', 'desc')
- ->get();
- return [$list, $count];
- }
- public static function getTaskDataByIdList($taskIdList) {
- return JxStarVideoTaskList::query()->whereIn('task_id', $taskIdList)->get();
- }
- public static function search($keyword) {
- return self::query()->where('task_name', 'like', '%'.$keyword.'%')->pluck('task_id');
- }
- }
|