123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- <?php
- namespace bibidd\Controller;
- use Bibidd\Controller\TaskManagerController;
- /**
- * 抖音视频发布
- */
- class DouyinVedioTaskController extends TaskManagerController
- {
- /**
- * 抖音提交
- * @return void
- */
- public function submit_task_for_douyin_video()
- {
- $this->addHeaders(); //添加头部请求
- $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
- $task_id = $_POST['taskId'];
- $pt_id = $_POST['ptId'];//抖音名字
- $wcrwImg = $_POST['images'];// 截图
- $pt = $_POST['pt'];// 平台
- $video_url = $_POST['videoUrl'];//访问url
- $sucai_number = $_POST['sucaiNumber'];// 素材编码
- $uid=$user_info['id'];
- if (empty($task_id)|| empty($pt) || empty($pt_id) || empty($wcrwImg) || empty($video_url))
- {
- $this->returnDataAndSendMsg("抖音名或截图信息不能为空,请正确添加交单内容");
- die();
- }
- //非空检查
- $task_info = M("dy_ks_task")->where("id='$task_id'")->find();
- if(empty($task_info))
- {
- $this->returnDataAndSendMsg("任务已不存在");
- die();
- }
- $sucai_number_info = M("douyin_sucai_video")->where("id='$sucai_number'")->find();
- if(empty($sucai_number_info))
- {
- $this->returnDataAndSendMsg("素材不存在");
- die();
- }
- //判断用户是否被封禁了
- $is_fenjin = $this->is_check_shipinhao($uid,$task_info['type'],TaskManagerController::DOUYIN_SU_CAI_BIAO_NAME,TaskManagerController::DOUYING_TI_SHI_CI);
- if(!empty($is_fenjin) && $is_fenjin["isFengjin"])
- {
- $this->returnDataAndSendMsg($is_fenjin["descripe"]);
- die();
- }
- //抖音需要和绑定的素材一致
- if($sucai_number_info['weixinhao_name']!=$pt_id)
- {
- $this->returnDataAndSendMsg("请用".$sucai_number_info['weixinhao_name']."抖音提交任务");
- die();
- }
- //判断是否在30分钟以内提交
- $lock_time = strtotime($sucai_number_info["down_date"]);
- $now = time();
- $difference = $now - $lock_time;
- if ($difference > 30 * 60)
- {
- $this->returnDataAndSendMsg("超时提交");
- die();
- }
- $task_type = $task_info['type'];//抖音视频发布
- //判断是否有其他用户提交相同抖音名
- $order_check = M("dy_ks_orders")->where("uid != '$uid' AND pt_id = '$pt_id' AND type='$task_type'")->find();
- if(!empty($order_check))
- {
- $this->returnDataAndSendMsg("已有其他用户提交该抖音名字");
- die();
- }
- //流程没有审核完成,不允许提交
- $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();
- if(!empty($order_check_rp))
- {
- $this->returnDataAndSendMsg("您的抖音还有正在进行中的任务暂未完成,请勿重复提交");
- die();
- }
- $add_info['uid']=$user_info['id'];
- $add_info['t_id']=$task_id;
- $add_info['type']=$task_type;
- $add_info['amount']=$task_info['amount'];
- $add_info['pt']=$pt;
- $add_info['pt_id']=trim($pt_id);
- $add_info['wc_rw_img']=$wcrwImg;
- $add_info['video_url']=$video_url;
- $add_info['apply_date']=date('Y-m-d H:i:s');
- $add_info['pt_and_id']=$pt.$pt_id;
- $add_info['sucai_id']=$task_info['sc_id'];
- $add_info['sucai_number']=$sucai_number;
- $rs = M("dy_ks_orders")->add($add_info);
- if($rs>0)
- {
- //解锁素材
- $sucai_unlock["status"]=1;//是否可用 0 可用 1 不可用
- $sucai_unlock["is_lock"]=0;//解锁
- $sucai_unlock["task_order_id"]=$rs;//订单ID
- $rs = M("douyin_sucai_video")->where("id='$sucai_number'")->save($sucai_unlock);
- }
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = $rs;
- echo json_encode($data);
- }
- /**
- * 素材下载
- * @return void
- */
- public function down_sucai_for_douyin()
- {
- $this->addHeaders(); //添加头部请求
- $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
- $scId = $_POST['scId']; //素材ID
- $type = $_POST['type']; //任务类型
- $task_id = $_POST['taskId']; //任务ID
- $uid = $user_info["id"];
- $weixin_name = $_POST['wxName']; //微信号
- if(empty($scId))
- {
- $this->returnDataAndSendMsg("素材ID不能为空.");
- die();
- }
- if(empty($task_id))
- {
- $this->returnDataAndSendMsg("任务ID不能为空");
- die();
- }
- if(empty($type))
- {
- $this->returnDataAndSendMsg("任务类型不能为空");
- die();
- }
- if(empty($weixin_name))
- {
- $this->returnDataAndSendMsg("抖音名字不能为空");
- die();
- }
- $type_info = M("dy_ks_task_type")->where("type='$type'")->find();
- if(empty($type_info))
- {
- $this->returnDataAndSendMsg("该任务类型已不存在");
- die();
- }
- //判断用户是否被封禁了
- $is_fenjin = $this->is_check_shipinhao($uid,$type,"douyin_sucai_video","抖音");
- if(!empty($is_fenjin) && $is_fenjin["isFengjin"])
- {
- $this->returnDataAndSendMsg($is_fenjin["descripe"]);
- die();
- }
- //判断时间,需要再结束时间倒退30分钟
- $start_time = strtotime(date("Y-m-d")." ".$type_info["start_time"]);
- $end_time = strtotime('-30 minutes', strtotime(date("Y-m-d")." ".$type_info["end_time"]));
- $curent_data = strtotime(date('Y-m-d H:i:s'));
- if($curent_data<$start_time || $curent_data>$end_time)
- {
- //不在做任务时间
- //$this->returnDataAndSendMsg("每天19:00~1:30开启,请下次再来.");
- //die();
- }
- //判断用户是否已经在做任务
- $this->check_task_ing($uid,TaskManagerController::DOUYIN_SU_CAI_BIAO_NAME);
- //流程没有审核完成,不允下载素材
- $this->check_rept_down_in_flow($uid,$weixin_name,$type);
- //获取素材库
- $app_info = M("douyin_sucaiku")->field("id")->where("appid='$scId'")->find();
- $scId=$app_info['id'];
- $sucai_info = M("douyin_sucai_video")->where("status = 0 AND is_lock=0 AND sc_id='$scId'")->find();
- if(empty($sucai_info))
- {
- //没有有效素材
- $this->returnDataAndSendMsg("视频素材已被抢空<br>请稍后再来下载吧");
- die();
- }
- $sucai_info["down_date"]=date('Y-m-d H:i:s');
- $sucai_info["is_lock"]=1;
- $sucai_info["uid"]=$uid;
- $sucai_info["task_id"]=$task_id;
- $sucai_info["weixinhao_name"]=$weixin_name;
- M("douyin_sucai_video")->save($sucai_info);
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = $sucai_info;
- echo json_encode($data);
- }
- /**
- * 通过ID查询素材
- * @return void
- */
- public function get_douyin_sucai_by_id()
- {
- $this->addHeaders(); //添加头部请求
- $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
- $id = $_POST['id'];
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = M("douyin_sucai_video")->where("id='$id'")->find();
- echo json_encode($data);
- }
- /**
- * 检查抖音任务是否还有素材库
- * @return void
- */
- public function has_sucai_by_task_id()
- {
- $this->addHeaders(); //添加头部请求
- $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
- $taskId=$_POST['taskId'];
- if(empty($taskId))
- {
- $this->returnDataAndSendMsg("任务ID不能为空");
- die();
- }
- $task_info = M("dy_ks_task")->where("id='$taskId' AND status=0")->find();
- if(empty($task_info))
- {
- $this->returnDataAndSendMsg("此任务已不存在");
- die();
- }
- $ret_flg =0;
- $app_id = $task_info['sc_id'];
- $sucai_info = M("douyin_sucaiku")->where("appid='$app_id'")->field("id")->find();
- if(empty($sucai_info))
- {
- $this->returnDataAndSendMsg("素材库[appid]已不存在");
- die();
- }
- $sucai_id=$sucai_info['id'];
- $ret_flg = M("douyin_sucai_video")->where("sc_id=$sucai_id AND `status` =0 AND is_lock=0")->count();
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = $ret_flg;
- echo json_encode($data);
- }
- }
|