VideoController.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <?php
  2. namespace App\Http\Controllers\Api\v1;
  3. use App\Http\Controllers\Api\webApp;
  4. use App\Http\Validator\GoodsValidator;
  5. use App\Services\Api\GoodsService;
  6. use App\Services\Api\GoodsCategoryService;
  7. use App\Services\Api\VideoService;
  8. use App\Services\RedisService;
  9. /**
  10. * 短视频服务管理
  11. * @package App\Http\Controllers\Api
  12. */
  13. class VideoController extends webApp
  14. {
  15. /**
  16. * 列表
  17. * @return array
  18. */
  19. public function index()
  20. {
  21. try {
  22. $params = request()->post();
  23. $pageSize = request()->post('pageSize', 0);
  24. $type = request()->post('type', 1);
  25. // 我的视频
  26. if($type == 1){
  27. }
  28. // 喜欢的视频
  29. else if ($type == 2){
  30. }
  31. // 收藏的视频
  32. else if ($type == 3){
  33. }
  34. // 观看历史
  35. else if ($type == 4){
  36. }
  37. $datas = VideoService::make()->getDataList($params, $pageSize,'', $this->userId);
  38. return message(1010, true, $datas);
  39. } catch (\Exception $exception){
  40. RedisService::set("caches:request:error_video_index", ['trace'=>$exception->getTrace()], 7200);
  41. return message(1018, false, ['error'=>env('APP_DEBUG')? $exception->getMessage() : '']);
  42. }
  43. }
  44. /**
  45. * 列表
  46. * @return array
  47. */
  48. public function list()
  49. {
  50. try {
  51. $params = request()->post();
  52. $pageSize = request()->post('pageSize', 0);
  53. $datas = VideoService::make()->getDataList($params, $pageSize,'lev_a.*,lev_c.name as merch_name', $this->userId);
  54. return message(1010, true, $datas);
  55. } catch (\Exception $exception){
  56. RedisService::set("caches:request:error_goods_index", ['trace'=>$exception->getTrace()], 7200);
  57. return message(1018, false, ['error'=>env('APP_DEBUG')? $exception->getTrace() : '']);
  58. }
  59. }
  60. /**
  61. * 分类
  62. * @return array
  63. */
  64. public function category()
  65. {
  66. $params = request()->post();
  67. $pageSize = request()->post('pageSize', 99);
  68. $datas = GoodsCategoryService::make()->getDataList($params, $pageSize);
  69. return message(1010, true, $datas);
  70. }
  71. /**
  72. * 详情
  73. * @return array
  74. */
  75. public function info()
  76. {
  77. $id = request()->post('id', 0);
  78. $info = GoodsService::make()->getInfo($id, $this->userId);
  79. return message(1010, true, $info);
  80. }
  81. /**
  82. * 发布
  83. * @return array
  84. */
  85. public function publish()
  86. {
  87. $params = request()->all();
  88. if(!$result = VideoService::make()->publish($this->userId, $params)){
  89. return message(VideoService::make()->getError(), false);
  90. }else{
  91. return message(VideoService::make()->getError(), true, $result);
  92. }
  93. }
  94. /**
  95. * 状态/上下架
  96. * @return array|mixed
  97. */
  98. public function status()
  99. {
  100. if(!$result = VideoService::make()->status()){
  101. return message(VideoService::make()->getError(), false);
  102. }else{
  103. return message(VideoService::make()->getError(), true, $result);
  104. }
  105. }
  106. /**
  107. * 删除
  108. * @return array|mixed
  109. */
  110. public function delete()
  111. {
  112. if(!$result = VideoService::make()->delete()){
  113. return message(VideoService::make()->getError(), false);
  114. }else{
  115. return message(VideoService::make()->getError(), true);
  116. }
  117. }
  118. }