12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Model;
- class Album extends Model
- {
- protected $table = 'album';
- public $timestamps = false;
- protected static $unguarded = true;
- CONST SYNC_ALBUM_LIST = 'DouApp::SyncAlbumList';
- public static function saveData($appId, $title, $seqNum, $coverList, $year, $albumStatus, $recommendation, $desp
- , $tagList, $qualification, $albumId) {
- $con = [
- 'app_id' => $appId,
- 'album_id' => $albumId
- ];
- $attr = [
- 'title' => $title,
- 'seq_num' => $seqNum,
- 'cover_list' => implode(',', $coverList),
- 'year' => $year,
- 'album_status' => $albumStatus,
- 'recommendation' => $recommendation,
- 'desp' => $desp,
- 'tag_list' => implode(',', $tagList),
- 'qualification' => $qualification,
- ];
- return self::query()->updateOrCreate($con, $attr);
- }
- public static function getList($search, $page, $pageSize) {
- $model = self::query()->where('enable', 1);
- if(isset($search['app_id']) && !empty($search['app_id'])) {
- $model->where('app_id', $search['app_id']);
- }
- if(isset($search['online_status']) && is_numeric($search['online_status'])) {
- $model->where('online_status', $search['online_status']);
- }
- if(isset($search['keyword']) && !empty($search['keyword'])) {
- $model = $model->where('title', 'like', '%'.$search['keyword'].'%');
- }
- $count = $model->count();
- $data = $model->select(['title', 'seq_num', 'cover_list', 'album_status', 'recommendation', 'desp', 'album_id'])
- ->orderBy('id', 'desc')->offset(($page - 1)*$pageSize)->limit($pageSize)->get();
- return [$data, $count];
- }
- public static function getListById($appId, $albumIdList) {
- return self::query()->where('app_id', $appId)->where('enable', 1)
- // ->where('online_status', 1)
- ->whereIn('album_id', $albumIdList)
- ->select(['title', 'seq_num', 'cover_list', 'album_status', 'recommendation', 'desp', 'album_id'])->get();
- }
- public static function getInfo($appId, $albumId) {
- return self::query()->where('app_id', $appId)->where('enable', 1)
- ->where('album_id', $albumId)->select(['title', 'seq_num', 'cover_list', 'album_status'
- , 'recommendation', 'desp', 'album_id', 'charge_num'])
- ->first();
- }
- public static function updateAuditStatus($appId, $albumId, $version, $scopeList, $auditStatus, $auditMsg) {
- return self::query()->where('enable', 1)->where('app_id', $appId)->where('album_id', $albumId)
- ->update([
- 'audit_version' => $version, 'audit_status' => $auditStatus, 'audit_msg' => $auditMsg, 'scope_list' => $scopeList
- ]);
- }
- }
|