KuaishouVedioTaskController.class.php 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. <?php
  2. namespace bibidd\Controller;
  3. use Bibidd\Controller\TaskManagerController;
  4. /**
  5. * 快手视频发布
  6. */
  7. class KuaishouVedioTaskController extends TaskManagerController
  8. {
  9. /**
  10. * 快手提交
  11. * @return void
  12. */
  13. public function submit_task_for_kuaishou_video()
  14. {
  15. $this->addHeaders(); //添加头部请求
  16. $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
  17. $task_id = $_POST['taskId'];
  18. $pt_id = $_POST['ptId'];//快手名字
  19. $wcrwImg = $_POST['images'];// 截图
  20. $pt = $_POST['pt'];// 平台
  21. $video_url = $_POST['videoUrl'];//访问url
  22. $sucai_number = $_POST['sucaiNumber'];// 素材编码
  23. $uid=$user_info['id'];
  24. if (empty($task_id)|| empty($pt) || empty($pt_id) || empty($wcrwImg) || empty($video_url))
  25. {
  26. $this->returnDataAndSendMsg("快手名或截图信息不能为空,请正确添加交单内容");
  27. die();
  28. }
  29. //非空检查
  30. $task_info = M("dy_ks_task")->where("id='$task_id'")->find();
  31. if(empty($task_info))
  32. {
  33. $this->returnDataAndSendMsg("任务已不存在");
  34. die();
  35. }
  36. $sucai_number_info = M(TaskManagerController::KUAISHOU_SU_CAI_BIAO_NAME)->where("id='$sucai_number'")->find();
  37. if(empty($sucai_number_info))
  38. {
  39. $this->returnDataAndSendMsg("素材不存在");
  40. die();
  41. }
  42. //判断用户是否被封禁了
  43. $is_fenjin = $this->is_check_shipinhao($uid,$task_info['type'],TaskManagerController::KUAISHOU_SU_CAI_BIAO_NAME,TaskManagerController::KUAISHOU_TI_SHI_CI);
  44. if(!empty($is_fenjin) && $is_fenjin["isFengjin"])
  45. {
  46. $this->returnDataAndSendMsg($is_fenjin["descripe"]);
  47. die();
  48. }
  49. //快手需要和绑定的素材一致
  50. if($sucai_number_info['weixinhao_name']!=$pt_id)
  51. {
  52. $this->returnDataAndSendMsg("请用".$sucai_number_info['weixinhao_name']."快手提交任务");
  53. die();
  54. }
  55. //判断是否在30分钟以内提交
  56. $lock_time = strtotime($sucai_number_info["down_date"]);
  57. $now = time();
  58. $difference = $now - $lock_time;
  59. if ($difference > 30 * 60)
  60. {
  61. $this->returnDataAndSendMsg("超时提交");
  62. die();
  63. }
  64. $task_type = $task_info['type'];//快手视频发布
  65. //判断是否有其他用户提交相同快手名
  66. $order_check = M("dy_ks_orders")->where("uid != '$uid' AND pt_id = '$pt_id' AND type='$task_type'")->find();
  67. if(!empty($order_check))
  68. {
  69. $this->returnDataAndSendMsg("已有其他用户提交该快手名字");
  70. die();
  71. }
  72. //流程没有审核完成,不允许提交
  73. $order_check_rp = M("dy_ks_orders")->where("uid = '$uid' AND pt_id = '$pt_id' AND type = '$task_type' AND status_ not in(2,3,5) ")->find();
  74. if(!empty($order_check_rp))
  75. {
  76. $this->returnDataAndSendMsg("您的快手还有正在进行中的任务暂未完成,请勿重复提交");
  77. die();
  78. }
  79. $add_info['uid']=$user_info['id'];
  80. $add_info['t_id']=$task_id;
  81. $add_info['type']=$task_type;
  82. $add_info['amount']=$task_info['amount'];
  83. $add_info['pt']=$pt;
  84. $add_info['pt_id']=trim($pt_id);
  85. $add_info['wc_rw_img']=$wcrwImg;
  86. $add_info['video_url']=$video_url;
  87. $add_info['apply_date']=date('Y-m-d H:i:s');
  88. $add_info['pt_and_id']=$pt.$pt_id;
  89. $add_info['sucai_id']=$task_info['sc_id'];
  90. $add_info['sucai_number']=$sucai_number;
  91. $rs = M("dy_ks_orders")->add($add_info);
  92. if($rs>0)
  93. {
  94. //解锁素材
  95. $sucai_unlock["status"]=1;//是否可用 0 可用 1 不可用
  96. $sucai_unlock["is_lock"]=0;//解锁
  97. $sucai_unlock["task_order_id"]=$rs;//订单ID
  98. $rs = M(TaskManagerController::KUAISHOU_SU_CAI_BIAO_NAME)->where("id='$sucai_number'")->save($sucai_unlock);
  99. }
  100. $data['code'] = '200';
  101. $data['message'] = 'ok';
  102. $data['data'] = $rs;
  103. echo json_encode($data);
  104. }
  105. /**
  106. * 素材下载
  107. * @return void
  108. */
  109. public function down_sucai_for_kuaishou()
  110. {
  111. $this->addHeaders(); //添加头部请求
  112. $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
  113. $scId = $_POST['scId']; //素材ID
  114. $type = $_POST['type']; //任务类型
  115. $task_id = $_POST['taskId']; //任务ID
  116. $uid = $user_info["id"];
  117. $weixin_name = $_POST['wxName']; //微信号
  118. if(empty($scId))
  119. {
  120. $this->returnDataAndSendMsg("素材ID不能为空.");
  121. die();
  122. }
  123. if(empty($task_id))
  124. {
  125. $this->returnDataAndSendMsg("任务ID不能为空");
  126. die();
  127. }
  128. if(empty($type))
  129. {
  130. $this->returnDataAndSendMsg("任务类型不能为空");
  131. die();
  132. }
  133. if(empty($weixin_name))
  134. {
  135. $this->returnDataAndSendMsg("快手名字不能为空");
  136. die();
  137. }
  138. $type_info = M("dy_ks_task_type")->where("type='$type'")->find();
  139. if(empty($type_info))
  140. {
  141. $this->returnDataAndSendMsg("该任务类型已不存在");
  142. die();
  143. }
  144. //判断用户是否被封禁了
  145. $is_fenjin = $this->is_check_shipinhao($uid,$type,TaskManagerController::KUAISHOU_SU_CAI_BIAO_NAME,"快手");
  146. if(!empty($is_fenjin) && $is_fenjin["isFengjin"])
  147. {
  148. $this->returnDataAndSendMsg($is_fenjin["descripe"]);
  149. die();
  150. }
  151. //判断时间,需要再结束时间倒退30分钟
  152. $start_time = strtotime(date("Y-m-d")." ".$type_info["start_time"]);
  153. $end_time = strtotime('-30 minutes', strtotime(date("Y-m-d")." ".$type_info["end_time"]));
  154. $curent_data = strtotime(date('Y-m-d H:i:s'));
  155. if($curent_data<$start_time || $curent_data>$end_time)
  156. {
  157. //不在做任务时间
  158. //$this->returnDataAndSendMsg("每天19:00~1:30开启,请下次再来.");
  159. //die();
  160. }
  161. //判断用户是否已经在做任务
  162. $this->check_task_ing($uid,TaskManagerController::KUAISHOU_SU_CAI_BIAO_NAME);
  163. //流程没有审核完成,不允下载素材
  164. $this->check_rept_down_in_flow($uid,$weixin_name,$type);
  165. //获取素材库
  166. $app_info = M("dy_kuaishou_sucaiku")->field("id")->where("appid='$scId'")->find();
  167. $scId=$app_info['id'];
  168. $sucai_info = M("dy_kuaishou_sucai_video")->where("status = 0 AND is_lock=0 AND sc_id='$scId'")->find();
  169. if(empty($sucai_info))
  170. {
  171. //没有有效素材
  172. $this->returnDataAndSendMsg("视频素材已被抢空<br>请稍后再来下载吧");
  173. die();
  174. }
  175. $sucai_info["down_date"]=date('Y-m-d H:i:s');
  176. $sucai_info["is_lock"]=1;
  177. $sucai_info["uid"]=$uid;
  178. $sucai_info["task_id"]=$task_id;
  179. $sucai_info["weixinhao_name"]=$weixin_name;
  180. M(TaskManagerController::KUAISHOU_SU_CAI_BIAO_NAME)->save($sucai_info);
  181. $data['code'] = '200';
  182. $data['message'] = 'ok';
  183. $data['data'] = $sucai_info;
  184. echo json_encode($data);
  185. }
  186. /**
  187. * 通过ID查询素材
  188. * @return void
  189. */
  190. public function get_kuaishou_sucai_by_id()
  191. {
  192. $this->addHeaders(); //添加头部请求
  193. $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
  194. $id = $_POST['id'];
  195. $data['code'] = '200';
  196. $data['message'] = 'ok';
  197. $data['data'] = M(TaskManagerController::KUAISHOU_SU_CAI_BIAO_NAME)->where("id='$id'")->find();
  198. echo json_encode($data);
  199. }
  200. /**
  201. * 检查快手任务是否还有素材库
  202. * @return void
  203. */
  204. public function has_sucai_by_task_id()
  205. {
  206. $this->addHeaders(); //添加头部请求
  207. $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
  208. $taskId=$_POST['taskId'];
  209. if(empty($taskId))
  210. {
  211. $this->returnDataAndSendMsg("任务ID不能为空");
  212. die();
  213. }
  214. $task_info = M("dy_ks_task")->where("id='$taskId' AND status=0")->find();
  215. if(empty($task_info))
  216. {
  217. $this->returnDataAndSendMsg("此任务已不存在");
  218. die();
  219. }
  220. $ret_flg =0;
  221. $app_id = $task_info['sc_id'];
  222. $sucai_info = M("dy_kuaishou_sucaiku")->where("appid='$app_id'")->field("id")->find();
  223. if(empty($sucai_info))
  224. {
  225. $this->returnDataAndSendMsg("素材库[appid]已不存在");
  226. die();
  227. }
  228. $sucai_id=$sucai_info['id'];
  229. $ret_flg = M("dy_kuaishou_sucai_video")->where("sc_id=$sucai_id AND `status` =0 AND is_lock=0")->count();
  230. $data['code'] = '200';
  231. $data['message'] = 'ok';
  232. $data['data'] = $ret_flg;
  233. echo json_encode($data);
  234. }
  235. }