抖音小程序

Album.php 2.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. class Album extends Model
  5. {
  6. protected $table = 'album';
  7. public $timestamps = false;
  8. protected static $unguarded = true;
  9. CONST SYNC_ALBUM_LIST = 'DouApp::SyncAlbumList';
  10. public static function saveData($appId, $title, $seqNum, $coverList, $year, $albumStatus, $recommendation, $desp
  11. , $tagList, $qualification, $albumId) {
  12. $con = [
  13. 'app_id' => $appId,
  14. 'album_id' => $albumId
  15. ];
  16. $attr = [
  17. 'title' => $title,
  18. 'seq_num' => $seqNum,
  19. 'cover_list' => implode(',', $coverList),
  20. 'year' => $year,
  21. 'album_status' => $albumStatus,
  22. 'recommendation' => $recommendation,
  23. 'desp' => $desp,
  24. 'tag_list' => implode(',', $tagList),
  25. 'qualification' => $qualification,
  26. ];
  27. return self::query()->updateOrCreate($con, $attr);
  28. }
  29. public static function getList($search, $page, $pageSize) {
  30. $model = self::query()->where('enable', 1);
  31. if(isset($search['app_id']) && !empty($search['app_id'])) {
  32. $model->where('app_id', $search['app_id']);
  33. }
  34. if(isset($search['online_status']) && is_numeric($search['online_status'])) {
  35. $model->where('online_status', $search['online_status']);
  36. }
  37. if(isset($search['keyword']) && !empty($search['keyword'])) {
  38. $model = $model->where('title', 'like', '%'.$search['keyword'].'%');
  39. }
  40. $count = $model->count();
  41. $data = $model->select(['title', 'seq_num', 'cover_list', 'album_status', 'recommendation', 'desp', 'album_id'])
  42. ->orderBy('id', 'desc')->offset(($page - 1)*$pageSize)->limit($pageSize)->get();
  43. return [$data, $count];
  44. }
  45. public static function getListById($appId, $albumIdList) {
  46. return self::query()->where('app_id', $appId)->where('enable', 1)
  47. // ->where('online_status', 1)
  48. ->whereIn('album_id', $albumIdList)
  49. ->select(['title', 'seq_num', 'cover_list', 'album_status', 'recommendation', 'desp', 'album_id'])->get();
  50. }
  51. public static function getInfo($appId, $albumId) {
  52. return self::query()->where('app_id', $appId)->where('enable', 1)
  53. ->where('album_id', $albumId)->select(['title', 'seq_num', 'cover_list', 'album_status'
  54. , 'recommendation', 'desp', 'album_id', 'charge_num'])
  55. ->first();
  56. }
  57. public static function updateAuditStatus($appId, $albumId, $version, $scopeList, $auditStatus, $auditMsg) {
  58. return self::query()->where('enable', 1)->where('app_id', $appId)->where('album_id', $albumId)
  59. ->update([
  60. 'audit_version' => $version, 'audit_status' => $auditStatus, 'audit_msg' => $auditMsg, 'scope_list' => $scopeList
  61. ]);
  62. }
  63. }