JDXingtu.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?php
  2. namespace app\controller\jiandao;
  3. use app\extra\basic\Base;
  4. use app\extra\service\star\TaskVideoService;
  5. use app\extra\tools\XcJob;
  6. use DI\Attribute\Inject;
  7. use LinFly\Annotation\Route\Controller;
  8. use LinFly\Annotation\Route\Route;
  9. use support\Request;
  10. use support\Response;
  11. #[Controller(prefix: "/jd/xt")]
  12. class JDXingtu extends Base
  13. {
  14. #[Inject]
  15. protected TaskVideoService $service;
  16. protected array $status = [
  17. 3 => "已完成",
  18. 31 => "平台审核中",
  19. 32 => "审核未通过",
  20. 33 => "审核未通过",
  21. 70 => "服务商审核中",
  22. 71 => "审核未通过",
  23. 72 => "预热中",
  24. 73 => "审核超时",
  25. 74 => "客户审核中",
  26. 75 => "审核未通过",
  27. 76 => "审核超时",
  28. 80 => "持续计费中",
  29. 81 => "结果公示中",
  30. 82 => "计费暂停",
  31. ];
  32. /**
  33. * 星川任务素材信息
  34. * @param Request $request
  35. * @return Response
  36. */
  37. #[Route(path: "video",methods: "get")]
  38. public function getXtVideo(Request $request): Response
  39. {
  40. try {
  41. $param = $this->_valid([
  42. "job.require" => trans("empty.require"),
  43. "page.default" => 1,
  44. "size.default" => 10,
  45. ],$request->method());
  46. if (!is_array($param)) return error($param);
  47. $param['pageSize'] = $param['size'];
  48. $list = $this->service->getList($param);
  49. return successTrans("success.data",pageFormat($list),200);
  50. } catch (\Throwable $throwable) {
  51. return error($throwable->getMessage());
  52. }
  53. }
  54. /**
  55. * 获取单个任务中指定达人的投稿视频-试试
  56. * @param Request $request
  57. * @return Response
  58. */
  59. #[Route(path: "user",methods: "get")]
  60. public function getXtUserVideo(Request $request): Response
  61. {
  62. try {
  63. $param = $this->_valid([
  64. "job.require" => trans("empty.require"),
  65. "star.require" => trans("empty.require"),
  66. "page.default" => 1,
  67. "size.default" => 10,
  68. ],$request->method());
  69. if (!is_array($param)) return error($param);
  70. [$state,$videoData] = (new XcJob)->token()->getAuthorVide2Task($param['job'],$param['star'],$param['page'],$param['size']);
  71. if (!$state) return error("获取数据失败");
  72. $data = [];
  73. foreach ($videoData['list'] as $key=>$sv)
  74. {
  75. [$vState,$videDetail] = (new XcJob)->token()->getVideoDetail($sv['base_info']['video_id']);
  76. $data[$key] = [
  77. "job_id" => $param['job'],
  78. "author_id" => (string) $sv['author_info']['author_id'],
  79. "play_url" => $vState ? $videDetail['play_url'] : '',
  80. "cover" => $vState ? $videDetail['cover'] : '',
  81. "title" => removeEmoji2($sv['base_info']['title']),
  82. "duration" => $sv['base_info']['duration'],
  83. "item_id" => (string) $sv['base_info']['item_id'],
  84. "lego_mid" => (string) $sv['ad_info']['lego_mid'],
  85. "video_id" => (string) $sv['base_info']['video_id'],
  86. "item_status" => $this->status[$sv['extra_info']['item_status']],
  87. "time_agg_data_10006" => $sv['item_real_time_agg_data']['10006']??0,
  88. "time_agg_data_10010" => $sv['item_real_time_agg_data']['10010']??0,
  89. "time_agg_data_10014" => $sv['item_real_time_agg_data']['10014']??0,
  90. "time_agg_data_10035" => $sv['item_real_time_agg_data']['10035']??0,
  91. "time_agg_data_10036" => $sv['item_real_time_agg_data']['10036']??0,
  92. "time_agg_data_10057" => $sv['item_real_time_agg_data']['10057']??0,
  93. "time_agg_data_10056" => $sv['item_real_time_agg_data']['10056']??0,
  94. "time_agg_data_10058" => $sv['item_real_time_agg_data']['10058']??0,
  95. "time_agg_data_10059" => $sv['item_real_time_agg_data']['10059']??0,
  96. "time_agg_data_10060" => $sv['item_real_time_agg_data']['10060']??0,
  97. "time_agg_data_10061" => $sv['item_real_time_agg_data']['10061']??0,
  98. "indicator_agg_data_20021" => $sv['bill_indicator_agg_data']['20021']??0,
  99. "indicator_agg_data_20022" => $sv['bill_indicator_agg_data']['20022']??0,
  100. "indicator_agg_data_20020" => $sv['bill_indicator_agg_data']['20020']??0,
  101. "indicator_agg_data_20019" => $sv['bill_indicator_agg_data']['20019']??0,
  102. "indicator_agg_data_20016" => $sv['bill_indicator_agg_data']['20016']??0,
  103. "indicator_agg_data_20015" => $sv['bill_indicator_agg_data']['20015']??0,
  104. "indicator_agg_data_20011" => $sv['bill_indicator_agg_data']['20011']??0,
  105. ];
  106. }
  107. return successTrans("success.data",[
  108. "total" => $videoData['total'],
  109. "page" => $videoData['page'],
  110. "pageSize" => intval($param['size']),
  111. "rows" => $data
  112. ],200);
  113. } catch (\Throwable $throwable) {
  114. return error($throwable->getMessage());
  115. }
  116. }
  117. }