addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$task_type=$_POST['taskType'];
$page = $_POST['page'];
$one_size = empty($_POST['pageSize'])?30:$_POST['pageSize']; //每頁30行記錄
$page_one = ($page - 1) * $one_size;
$uid = $user_info["id"];
if(empty($task_type))
{
$this->returnDataAndSendMsg("任务类型不能为空");
die();
}
$data_list = M("dy_ks_task")->where("type='$task_type' AND status=0 AND amount>0 AND task_type = 0")->order("date DESC")->LIMIT($page_one, $one_size)->select();
if($task_type==TaskManagerController::SHIPNGHAO_TYPE)
{
//视频号
foreach ($data_list as $key => $value) {
$task_id = $value['id'];
$data_list[$key]['is_ing']=false;
$is_lock_info = M("dy_ks_sucai_video")->field('id')->where("uid='$uid' AND task_id='$task_id' AND is_lock=1")->find();
if(!empty($is_lock_info))
{
$data_list[$key]['is_ing']=true;
}
}
}elseif ($task_type==TaskManagerController::DOUYIN_TYPE)
{
//抖音视频
foreach ($data_list as $key => $value) {
$task_id = $value['id'];
$data_list[$key]['is_ing']=false;
$is_lock_info = M(TaskManagerController::DOUYIN_SU_CAI_BIAO_NAME)->field('id')->where("uid='$uid' AND task_id='$task_id' AND is_lock=1")->find();
if(!empty($is_lock_info))
{
$data_list[$key]['is_ing']=true;
}
}
}elseif ($task_type==TaskManagerController::KUAISHOU_TYPE)
{
//抖音视频
foreach ($data_list as $key => $value) {
$task_id = $value['id'];
$data_list[$key]['is_ing']=false;
$is_lock_info = M(TaskManagerController::KUAISHOU_SU_CAI_BIAO_NAME)->field('id')->where("uid='$uid' AND task_id='$task_id' AND is_lock=1")->find();
if(!empty($is_lock_info))
{
$data_list[$key]['is_ing']=true;
}
}
}
$data['code'] = '200';
$data['message'] = 'ok';
$data['all_num'] =M("dy_ks_task")->where("type='$task_type' AND status=0 AND amount>0 AND task_type = 0")->count();
$data['data'] = $data_list;
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("dy_ks_sucaiku")->where("appid='$app_id'")->field("id")->find();
if(empty($sucai_info))
{
$this->returnDataAndSendMsg("素材库[appid]已不存在");
die();
}
$sucai_id=$sucai_info['id'];
$ret_flg = M("dy_ks_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);
}
/**
* 查询用户详情
* @return void
*/
public function get_task_detail()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$id=$_POST['id'];
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = M("dy_ks_task")->where("id='$id'")->find();
echo json_encode($data);
}
/**
* 获取视频号详情
* @return void
*/
public function get_task_video_detail()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$id=$_POST['id'];
$uid = $user_info["id"];
$data_info = M("dy_ks_task")->where("id='$id'")->find();
$data_info["isDown"]=false;//是否下载视频
$data_info["countdown"]=0;//倒计时
$data_info["isFengjin"]=false;//是否封禁
$data_info["descripe"]="";//是否封禁
$tabe_name = 'dy_ks_sucai_video';
$tishi_ci = "视频号";
if($data_info["type"]==TaskManagerController::DOUYIN_TYPE)
{
$tabe_name = TaskManagerController::DOUYIN_SU_CAI_BIAO_NAME;
$tishi_ci = TaskManagerController::DOUYING_TI_SHI_CI;
}
if($data_info["type"]==TaskManagerController::KUAISHOU_TYPE)
{
$tabe_name = TaskManagerController::KUAISHOU_SU_CAI_BIAO_NAME;
$tishi_ci = TaskManagerController::KUAISHOU_TI_SHI_CI;
}
if($data_info["type"]==TaskManagerController::WX_SHARE_TYPE)
{
$tabe_name = TaskManagerController::WX_SHARE_SU_CAI_BIAO_NAME;
$tishi_ci = TaskManagerController::WX_SHARE_SHI_CI;
}
//检测封禁
$check_info = $this->is_check_shipinhao($uid,$data_info["type"],$tabe_name,$tishi_ci);
$data_info["isFengjin"]=$check_info["isFengjin"];
$data_info["descripe"]=$check_info["descripe"];
$data_info["isDown"]=$check_info["isDown"];
$data_info["sucaiInfo"]=$check_info["sucaiInfo"];
//倒计时
if(!empty($check_info) && !$check_info["isFengjin"])
{
//计划完成时间
if($check_info["finsh_time"]>=$check_info["curent_time"])
{
//倒计时
$data_info["countdown"]=$check_info["finsh_time"]-$check_info["curent_time"];//倒计时
}
}
//填充话题
$huati_type = $data_info['jd_require'];
if(!empty($huati_type) && "不要话题"!=$huati_type)
{
$huati_list = M("dy_wx_huati")->where("type='$huati_type'")->order("rand()")->limit(3)->select();
//$data_info['jd_require']= $huati_list ;
// $data_info['jd_require']= empty($data_info['task_copy'])?"":$data_info['task_copy'] ;
$data_info['jd_require']='';
foreach ($huati_list as $v)
{
$data_info['jd_require']=$data_info['jd_require'].$v["content"];
}
}
//一句话随机,v2.5
$yijuhua=$data_info['task_copy'];
if(!empty($yijuhua) && $yijuhua=='x一句话' || !empty($yijuhua) && $yijuhua=='体育一句话')
{
$yijuhua_info = M("dy_wx_yijuhua")->field("word_content")->where("word_type='$yijuhua'")->order("rand()")->find();
if(!empty($yijuhua_info))
{
$data_info['task_copy'] = $yijuhua_info['word_content'];
}
}
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $data_info;
echo json_encode($data);
}
/**
* 文件上传
* @return void
*/
public function file_upload()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$task_require_img= $this->dealFiles($_FILES['task_require_img']);
$uploadPath = '/home2/task/user/'; // 头图片和内容图片的上传目录
// 判断目标路径是否存在,如果不存在则创建
if (!file_exists($uploadPath)) {
mkdir($uploadPath, 0777, true);
}
$path = "https://nb.9169kkxstzsjkdd222.app/task/user/";
$task_require_img_str='';
$upload = new \Think\Upload(); // 实例化图片上传类
$upload->maxSize = 0; //设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg',"PNG","JPG","GIF","JPEG");// 设置附件上传类型
$upload->rootPath = "/home2/task/user/"; // 设置附件上传根目录
$info_task_yaoqiu = $upload->upload($task_require_img);
if (!$info_task_yaoqiu){
// 上传错误提示错误信息
$this->error($upload->getError());
}else{
foreach ($info_task_yaoqiu as $key => $value) {
$task_require_img_str .= $path . $value['savepath'] . $value['savename'] . ',';
}
}
$arr['task_require_img']=trim($task_require_img_str,',');
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $arr;
echo json_encode($data);
}
/**
* 提交任务
* @return void
*/
public function submit_task()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$task_id = $_POST['taskId'];
$pt_id = $_POST['ptId'];//平台ID
$pt_name = $_POST['ptName'];//平台名字
$video_url = $_POST['videoUrl'];// 视频地址
$wcrwImg = $_POST['images'];// 截图
$pt = $_POST['pt'];// 平台
$uid=$user_info['id'];
if (empty($task_id) || empty($pt_id) || empty($video_url) || empty($wcrwImg))
{
$this->returnDataAndSendMsg("平台ID或视频地址或截图信息不能为空");
die();
}
//判断名字只能包含中文和字符
$pattern = '/^[\x{4e00}-\x{9fa5}a-zA-Z0-9]+$/u';
if (!preg_match($pattern, $pt_name))
{
// $this->returnDataAndSendMsg("名称必须是中文、字母、数字");
// die();
}
//封号处理
$is_dis_info = $this->check_pinglun_fenghao_rules("$uid");
if($is_dis_info['isFengjin'])
{
$this->returnDataAndSendMsg($is_dis_info["descripe"]);
die();
}
$task_info = M("dy_ks_task")->where("id='$task_id' AND status=0")->find();
if(empty($task_info))
{
$this->returnDataAndSendMsg("任务已不存在");
die();
}
$task_type = $task_info['type'];//任务类型,抖音视频发布、快手视频发布、抖音评论、快手评论
$type_info = M("dy_ks_task_type")->where("type='$task_type'")->find();
$max_push_num = $type_info['max_push_num']; //每天最大提交数量
$delayed_show_num = $type_info['delayed_show']; //延迟显示小时数
if(!empty($max_push_num) && $max_push_num>0)
{
//验证一天内提交次数
$check_num = M("dy_ks_orders")->where("pt_id = '$pt_id' and type = '$task_type' AND status_ != 3 AND DATE(apply_date) = CURDATE()")->count();
if($check_num>=$max_push_num)
{
$this->returnDataAndSendMsg($max_push_num);
die();
}
}
//账号信息检查,1个69账号绑定多个抖音/快手号(排他)
$check_exist = M("dy_ks_orders")->where("uid!='$uid' AND pt_id = '$pt_id' and type = '$task_type' or uid!='$uid' AND pt_id = '$pt_id' and type = '$task_type' AND pt_name='$pt_name'")->field("id")->find();
if(!empty($check_exist))
{
$this->returnDataAndSendMsg("此账号已被其他9169账号绑定");
die();
}
//防止重复提交
$check_rep = M("dy_ks_orders")->where("pt_id = '$pt_id' and type = '$task_type' AND video_url='$video_url' AND status_ != 3")->count();
if($check_rep>0)
{
$this->returnDataAndSendMsg("同视频下面同账号
只能评论1次
1个=待审核+审核通过,不包含被驳回");
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']=$pt_id;
$add_info['pt_name']=$pt_name;
$add_info['video_url']=$video_url;
$add_info['wc_rw_img']=$wcrwImg;
$add_info['apply_date']=date('Y-m-d H:i:s');
$show_data = date('Y-m-d H:i:s', strtotime("+$delayed_show_num hour"));
$add_info['show_date']=$show_data;
$add_info['pt_and_id']=$pt.$pt_id;
$rs = M("dy_ks_orders")->add($add_info);
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $rs;
echo json_encode($data);
}
/**
* 视频号任务提交
* @return void
*/
public function submit_task_for_video()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$task_id = $_POST['taskId'];
$pt_id = $_POST['ptId'];//视频号名字
$wcrwImg = $_POST['images'];// 截图
$pt = $_POST['pt'];// 平台
$sucai_number = $_POST['sucaiNumber'];// 素材编码
$uid=$user_info['id'];
if (empty($task_id)|| empty($pt) || empty($pt_id) || empty($wcrwImg))
{
$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("dy_ks_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'],"dy_ks_sucai_video","视频号");
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['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("dy_ks_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 submit_task_for_video_appeal()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$orderId=$_POST['orderId'];
$appeal_images=$_POST['appealImages'];
if(empty($orderId))
{
$this->returnDataAndSendMsg("任务标识不能为空");
die();
}
if(empty($appeal_images))
{
$this->returnDataAndSendMsg("申诉证明不能为空");
die();
}
$order_info = M("dy_ks_orders")->where("id='$orderId'")->find();
if(empty($order_info))
{
$this->returnDataAndSendMsg("无效数据");
die();
}
if($order_info['status_']!=3)
{
$this->returnDataAndSendMsg("非驳回状态,请勿申诉");
die();
}
$dateToCheck = strtotime($order_info['bh_date']);
$currentTime = time();
$difference = $currentTime - $dateToCheck;
if ($difference > 86400) {
$this->returnDataAndSendMsg("申诉必须在驳回24小时内");
die();
}
$order_info['status_']=4;
$order_info['appeal_time']=date('Y-m-d H:i:s');
$order_info['appeal_images']=$appeal_images;
$rs = M("dy_ks_orders")->where("id='$orderId'")->save($order_info);
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $rs;
echo json_encode($data);
}
/**
* 查询用户任务
* @return void
*/
public function get_user_task_info()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$id = $_POST['id'];
$uid = $user_info['id'];
$order_info = M("dy_ks_orders")->where("id = '$id' AND uid = '$uid'")->find();
$task_id = $order_info['t_id'];
if(!empty($task_id))
{
$order_info['task_info'] = M("dy_ks_task")->where("id='$task_id'")->find();
}
//通过或者驳回24是否超过24小时
$order_info['isPass24h'] = false;
$currentTimestamp = time(); // Now
if($order_info['status_']==1 || 2==$order_info['status_'])
{
//通过
$givenTimestamp = strtotime($order_info['tg_date']);
$timeDifference = $currentTimestamp - $givenTimestamp;
if ($timeDifference > 86400) {
$order_info['isPass24h'] = true;
}
}
if($order_info['status_']==3 )
{
//通过
$givenTimestamp = strtotime($order_info['bh_date']);
$timeDifference = $currentTimestamp - $givenTimestamp;
if ($timeDifference > 86400) {
$order_info['isPass24h'] = true;
}
}
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $order_info;
echo json_encode($data);
}
/**
* 查询审核列表
* @return void
*/
public function query_audit_list()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info['id'];
$status=$_POST['status']; //'0 待审核 1视频1轮通过 2视频2轮通过/评论通过审核 3 被驳回 4.申诉中 5 申诉被再次驳回
$page = $_POST['page'];
$one_size = empty($_POST['pageSize'])?30:$_POST['pageSize']; //每頁30行記錄
$page_one = ($page - 1) * $one_size;
$status_sql = "AND status_='$status'";
if($status==-1)
{
$status_sql = "";
}
if($status==-2)
{
//状态为0和1(审核中)
$status_sql = "AND status_=0 OR uid = '$uid' AND status_=1 OR uid = '$uid' AND status_=4";
}
if($status==3)
{
//状态为0和1
$status_sql = "AND status_=3 OR uid = '$uid' AND status_=5";
}
$data_list = M("dy_ks_orders")->where("uid = '$uid' ".$status_sql)->LIMIT($page_one, $one_size)->order("apply_date DESC")->select();
$data['code'] = '200';
$data['message'] = 'ok';
$data['all_num'] = M("dy_ks_orders")->where("uid = '$uid' ".$status_sql)->count();
// //状态汇总数量
// $data['full_num']=M("dy_ks_orders")->where("uid = '$uid'")->count();
// $data['auditing_num']=M("dy_ks_orders")->where("uid = '$uid' AND status_=0 OR status_=1")->count();
// $data['pass_num']=M("dy_ks_orders")->where("uid = '$uid' AND status_=2")->count();
// $data['reject_num']=M("dy_ks_orders")->where("uid = '$uid' AND status_=3")->count();
$data['data'] = $data_list;
echo json_encode($data);
}
/**
* 获取审核状态条目汇总
* @return void
*/
public function query_satus_number()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info['id'];
$data['code'] = '200';
$data['message'] = 'ok';
$data['full_num']=M("dy_ks_orders")->where("uid = '$uid'")->count();
$data['auditing_num']=M("dy_ks_orders")->where("uid = '$uid' AND status_=0 OR uid = '$uid' AND status_=1 OR uid = '$uid' AND status_=4")->count();
$data['pass_num']=M("dy_ks_orders")->where("uid = '$uid' AND status_=2")->count();
$data['reject_num']=M("dy_ks_orders")->where("uid = '$uid' AND status_=3 OR uid = '$uid' AND status_=5")->count();
echo json_encode($data);
}
/**
* 获取验证码
* @return void
*/
public function getSms()
{
$this->addHeaders(); //添加头部请求
$this->checkUserIsExist($_POST['uid']); //检查用户
$telPhone = $_POST['telPhone'];
$uid= $_POST['uid'];
if(empty($telPhone))
{
$this->returnDataAndSendMsg("手机号码不能为空");
die();
}
//这几个前缀的手机号是虚拟号码
$phoneDuan=array("162","165","167","170","171");
if (in_array(substr($telPhone,0,3),$phoneDuan)) {
$this->returnDataAndSendMsg("手机号格式错误");
die;
}
$user_info = M("user_info")->where("tk_phone = '$telPhone' AND id!='$uid'")->find();
if(!empty($user_info))
{
$this->returnDataAndSendMsg("该手机号码已被其他用户绑定,请更换号码");
die();
}
//判断重复发送
$sms_info_check = M("sms")->where("tel_phone='$telPhone' AND type_='用户信息绑定' AND create_at > NOW() - interval sms_valid_time second")->find();
if(!empty($sms_info_check))
{
$this->returnDataAndSendMsg("在60秒内请勿重复发送");
die();
}
//下发短信
$random_number = mt_rand(100000, 999999);
$rs = $this->sendMessage($telPhone,$random_number);
//存库
$sms_info['tel_phone']=$telPhone;
$sms_info['type_']="用户信息绑定";
$sms_info['sms_code']=$random_number;
$sms_info['sms_valid_time']=60;
$sms_info['create_at']=date('Y-m-d H:i:s');
M("sms")->add($sms_info);
$data['code'] = '200';
$data['message'] = 'ok';
echo json_encode($data);
}
/**
* 绑定手机号
* @return void
*/
public function bind_tel()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info['id'];
$telPhone = $_POST['telPhone'];
$smsNumber= $_POST['smsNumber'];
if(empty($telPhone))
{
$this->returnDataAndSendMsg("手机号码不能为空");
die();
}
if(empty($smsNumber))
{
$this->returnDataAndSendMsg("短信验证码不能为空");
die();
}
//验证短信
$sms_info_check = M("sms")->where("sms_code='$smsNumber' AND create_at > NOW() - interval sms_valid_time second")->find();
if(empty($sms_info_check) || $sms_info_check['sms_code']!=$smsNumber)
{
$this->returnDataAndSendMsg("短信验证码过期或输入有误");
die();
}
$user_info = M("user_info")->where("tk_phone = '$telPhone' AND id!='$uid'")->find();
if(!empty($user_info))
{
$this->returnDataAndSendMsg("该手机号码已被其他用户绑定,请更换号码");
die();
}
$user_info['tk_phone'] = $telPhone;
$rs = M("user_info")->where("id='$uid'")->save($user_info);
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $rs;
echo json_encode($data);
}
/**
* 获取用户信息
* @return void
*/
public function get_user_info()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info['id'];
$rs_info['uid']= $user_info['id'];
$rs_info['note_phone']= $user_info['tk_phone'];
$rs_info['balance']= $user_info['balance'];
$count_info = M("dy_ks_tixian")->field("SUM(amount_) as amount_")->where("uid='$uid' and status_>=3 and tongji=0")->find();
$rs_info['total_money']= $count_info['amount_'];
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $rs_info;
echo json_encode($data);
}
/**
* 提现条目汇总
* @return void
*/
public function query_tx_satus_number()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info['id'];
$data['code'] = '200';
$data['message'] = 'ok';
$data['un_pay_num']=M("dy_ks_tixian")->where("uid = '$uid' AND status_=1")->count();
$data['un_draw_num']=M("dy_ks_tixian")->where("uid = '$uid' AND status_=3")->count();
$data['finsh_num']=M("dy_ks_tixian")->where("uid = '$uid' AND status_=5")->count();
echo json_encode($data);
}
/**
*
* 获取提现列表
* @return void
*/
public function query_tx_list()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info['id'];
$status=$_POST['status']; //1 待打款 3 待领取(后台已发红包) 5.已完成(24小时后自动刷新)'
$page = $_POST['page'];
$one_size = empty($_POST['pageSize'])?30:$_POST['pageSize']; //每頁30行記錄
$page_one = ($page - 1) * $one_size;
$data_list = M("dy_ks_tixian")
->LIMIT($page_one, $one_size)
->where("uid = '$uid' AND status_ = $status")
->order("apply_time DESC")
->select();
$data['code'] = '200';
$data['message'] = 'ok';
$data['all_num'] =M("dy_ks_tixian") ->where("uid = '$uid' AND status_ = $status")->count();
$data['data'] = $data_list;
echo json_encode($data);
}
/**
*
* 检查任务是否已经开始
* @return void
*/
public function check_task_start()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$type = $_POST['type'];
if(empty($type))
{
$this->returnDataAndSendMsg("任务类型不能为空.");
die();
}
$type_info = M("dy_ks_task_type")->where("type='$type'")->find();
if(empty($type_info))
{
$this->returnDataAndSendMsg("该任务类型已不存在.");
die();
}
$start_time = strtotime(date("Y-m-d")." ".$type_info["start_time"]);
$end_time = strtotime(date("Y-m-d")." ".$type_info["end_time"]);
$curent_data = strtotime(date('Y-m-d H:i:s'));
$is_start = false;
if($start_time<=$curent_data && $curent_data<=$end_time)
{
//时间范围内
$is_start = true;
}
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $is_start;
$data['startTime'] = $type_info["start_time"];
$data['endTime'] = $type_info["end_time"];
echo json_encode($data);
}
/**
* 素材下载
* @return void
*/
public function down_sucai()
{
$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,"dy_ks_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,null);
//流程没有审核完成,不允下载素材
$this->check_rept_down_in_flow($uid,$weixin_name,$type);
//获取素材库
$app_info = M("dy_ks_sucaiku")->field("id")->where("appid='$scId'")->find();
$scId=$app_info['id'];
$sucai_info = M("dy_ks_sucai_video")->where("status = 0 AND is_lock=0 AND sc_id='$scId'")->find();
if(empty($sucai_info))
{
//没有有效素材
$this->returnDataAndSendMsg("视频素材已被抢空
请稍后再来下载吧");
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("dy_ks_sucai_video")->save($sucai_info);
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $sucai_info;
echo json_encode($data);
}
/**
* 判断用户是否有正在做的任务,如果正在做任务则中断(一个用户有且只能同时做一个视频号任务)
* @param $uid
* @return void
*/
protected function check_task_ing($uid,$tab_name)
{
if(empty($tab_name))
{
$tab_name = "dy_ks_sucai_video";
}
$check_info = M($tab_name)->where(" uid = '$uid' AND is_lock =1")->find();
if(!empty($check_info))
{
$this->returnDataAndSendMsg("您已下载素材,请尽快提交任务");
die();
}
}
/**
* 当审核流程未审配通过或驳回,不允许重复下载任务
* @param $uid
* @param $pt_id
* @param $type
* @return void
*/
protected function check_rept_down_in_flow($uid,$pt_id,$type)
{
//流程没有审核完成,不允下载素材
$order_check_rp = M("dy_ks_orders")->where("uid = '$uid' AND pt_id = '$pt_id' AND type = '$type' AND status_ not in(2,3,5) ")->find();
if(!empty($order_check_rp))
{
$this->returnDataAndSendMsg("您的任务正在审核中,请勿重复任务");
die();
}
}
/**
* 通过ID查询素材
* @return void
*/
public function get_sucai_by_id()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$id = $_POST['id'];
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = M("dy_ks_sucai_video")->where("id='$id'")->find();
echo json_encode($data);
}
/**
* 用户提现
* @return void
*/
public function user_tx()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info['id'];
$money = $_POST['money'];
//封号不能提现
// $check_info = $this->get_is_disabled_account($uid);
// if($check_info['isDisable'])
// {
// $this->returnDataAndSendMsg("账号已被封
禁止提现");
// die();
// }
//下午3点到晚上9点不允许提现,2.38
// $current_time = strtotime(date("H:i"));
// $afternoon_start = strtotime("15:00");
// $evening_end = strtotime("21:00");
// if ($current_time >= $afternoon_start && $current_time <= $evening_end) {
// $this->returnDataAndSendMsg("21:00~15:00,之间的18小时
可以进行提款");
// die();
// }
$arra_money =array(50,100,200,300);
if(!in_array($money,$arra_money))
{
$this->returnDataAndSendMsg("请输入正确取款金额");
die();
}
//十分钟内提交 AND status_=1
$check_info = M("dy_ks_tixian")->where("uid = '$uid' AND apply_time > NOW() - INTERVAL 1 MINUTE")->order("apply_time desc")->find();
if(!empty($check_info))
{
$this->returnDataAndSendMsg("提款需间隔1分钟");
die();
}
if($money>$user_info['balance'])
{
$this->returnDataAndSendMsg("余额不足");
die();
}
//减掉用户余额
$user_balance = $user_info['balance'];
$is_ok = M("user_info")->where("id='$uid' AND balance = $user_balance")->setDec("balance",$money);
if(!$is_ok)
{
$this->returnDataAndSendMsg("余额扣减失败");
die();
}
$add_info['uid']=$uid;
$add_info['amount_']=$money;
$add_info['apply_time']= date("Y-m-d H:i:s");
$add_info['status_']=1;
$rs = M("dy_ks_tixian")->add($add_info);
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $rs;
echo json_encode($data);
}
/**
*
* 判断用户是否被封禁
* @return void
*/
public function query_satus_by_uid()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info['id'];
$type = $_POST['type'];
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $this->is_check_shipinhao($uid,$type,"dy_ks_sucai_video","视频号");
echo json_encode($data);
}
/**
*
* 验证视频号是否可用
* @return void
*/
public function yanz_video_task()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info['id'];
$wxName = $_POST['wxName'];
$type = $_POST['type'];//视频类型,抖音或者视频号
$tishi_ci = $_POST['prompt'];//提示词
if(empty($tishi_ci))
{
//默认视频号
$tishi_ci = '视频号';
}
if(empty($type))
{
$type = TaskManagerController::SHIPNGHAO_TYPE;
}
if(empty($wxName))
{
$this->returnDataAndSendMsg($tishi_ci."不能为空");
die();
}
//判断视频号名是否被其他用户绑定
$check_info = M("dy_ks_orders")->field("id")->where("uid!='$uid' AND pt_id='$wxName'")->find();
if(!empty($check_info))
{
$this->returnDataAndSendMsg($tishi_ci."已被其他人绑定");
die();
}
$tab_name = null;
if($type==TaskManagerController::DOUYIN_TYPE)
{
$tab_name = TaskManagerController::DOUYIN_SU_CAI_BIAO_NAME;
}
if($type==TaskManagerController::KUAISHOU_TYPE)
{
$tab_name = TaskManagerController::KUAISHOU_SU_CAI_BIAO_NAME;
}
if($type==TaskManagerController::WX_SHARE_TYPE)
{
$tab_name = TaskManagerController::WX_SHARE_SU_CAI_BIAO_NAME;
}
$this->check_task_ing($uid,$tab_name);
//判断视频号名是否有正在进行中的任务
$check_info = M("dy_ks_orders")->field("id")->where("uid='$uid' AND pt_id='$wxName' AND status_ NOT IN (2,3,5) AND type='$type'")->find();
if(!empty($check_info))
{
$this->returnDataAndSendMsg($tishi_ci."有进行中的任务");
die();
}
$data['code'] = '200';
$data['data'] = 'ok';
$data['message'] = $tishi_ci.'可用';
echo json_encode($data);
}
/**
* 判断用户是否被禁用
* @param $uid
* @param $type 任务类型
* @param $sucai_tabe_name 素材表名
* @param $tishi_ci 类型提示词
* @return array
*/
protected function is_check_shipinhao($uid,$type,$sucai_tabe_name,$tishi_ci)
{
$data_info["isFengjin"]=false;//是否封禁
$data_info["descripe"]="";//是否封禁
$data_info["isDown"]=false;//是否下载视频
$data_info["sucaiInfo"]=null;//素材信息
//tabname:dy_ks_sucai_video
$lock_info = M($sucai_tabe_name)->where("uid='$uid' AND is_lock=1")->find();
if(!empty($lock_info))
{
$data_info["isDown"]=true;//是否下载视频
$data_info["sucaiInfo"]=$lock_info;
}
//判断封禁
$context_num = M("dy_ks_orders")->field("id")
->where("uid = '$uid' AND status_ >=3 AND appeal_result in ('虚假垃圾达到1次,账号已被封','被驳回,账号已被封') AND type='$type'")
->count();
if($context_num>0)
{
$data_info["isFengjin"]=true;
$data_info["descripe"]="虚假垃圾达到1次
已永久禁止做".$tishi_ci."代发任务";
}
$data_info["finsh_time"] = strtotime("+30 minutes",strtotime($lock_info["down_date"]));
$data_info["curent_time"] = strtotime(date('Y-m-d H:i:s'));
if(!empty($lock_info) && $data_info["curent_time"]>$data_info["finsh_time"])
{
//长期不提交任务
$data_info["isFengjin"]=true;//是否封禁=true;
$data_info["descripe"]="未按照规定时间提交任务
已永久禁止做".$tishi_ci."代发任务";
$data_info["isDown"]=true;//是否下载视频
}
//按照IP全局封禁
$data_info["isGlobalFj"]=false; //全局封禁
$user_info = M("user_info")->field("userip")->where("id='$uid'")->find();
$user_ip = $user_info["userip"];
$count_fj = M("dy_ks_beifeng")->field("id")->where("userip = '$user_ip'")->count();
if($count_fj>=5)
{
$data_info["isGlobalFj"]=true; //全局封禁
$data_info["isFengjin"]=true;//是否封禁
$data_info["descripe"]="您涉及作弊已被封禁";
}
return $data_info;
}
/**
*
* 品论是否被封号
* @param $uid
* @return void
*/
private function check_pinglun_fenghao_rules($uid)
{
$data_info["isFengjin"]=false;//是否封禁
$data_info["descripe"]="";//是否封禁
$context_num = M("dy_ks_orders")->field("id")->where("uid = '$uid' AND status_ =3 AND bh_reasons = '虚假/垃圾内容,3次以上将被封号' AND type!='视频号视频发布'")->count();
if($context_num>=3)
{
$data_info["isFengjin"]=true;//是否封禁
$data_info["descripe"]="提交3次以上虚假/垃圾内容
已永久停止做任务";
}
return $data_info;
}
/**
* 判斷用戶是否被封禁
* @param $uid
* @return void
*/
protected function get_is_disabled_account($uid)
{
$rs["isDisable"]=false;
$rs["hasAppeal"]=false; //是否申诉过
//检查评论是否被封
$is_dis_info = $this->check_pinglun_fenghao_rules("$uid");
if($is_dis_info['isFengjin'])
{
$rs["isDisable"]=true;
$rs['评论']["isFengjin"]=$is_dis_info["isFengjin"];
$rs['评论']["descripe"]=$is_dis_info["descripe"];
}
//检查视频号是被封
$is_dis_info = $this->is_check_shipinhao("$uid","视频号视频发布","dy_ks_sucai_video","视频号");
if($is_dis_info['isFengjin'])
{
$rs["isDisable"]=true;
$rs['视频号']["isFengjin"]=$is_dis_info["isFengjin"];
$rs['视频号']["descripe"]=$is_dis_info["descripe"];
}
//抖音视频是被封
$is_dis_info = $this->is_check_shipinhao("$uid",TaskManagerController::DOUYIN_TYPE,TaskManagerController::DOUYIN_SU_CAI_BIAO_NAME,TaskManagerController::DOUYING_TI_SHI_CI);
if($is_dis_info['isFengjin'])
{
$rs["isDisable"]=true;
$rs['抖音视频']["isFengjin"]=$is_dis_info["isFengjin"];
$rs['抖音视频']["descripe"]=$is_dis_info["descripe"];
}
//快手视频是被封
$is_dis_info = $this->is_check_shipinhao("$uid",TaskManagerController::KUAISHOU_TYPE,TaskManagerController::KUAISHOU_SU_CAI_BIAO_NAME,TaskManagerController::KUAISHOU_TI_SHI_CI);
if($is_dis_info['isFengjin'])
{
$rs["isDisable"]=true;
$rs['快手视频']["isFengjin"]=$is_dis_info["isFengjin"];
$rs['快手视频']["descripe"]=$is_dis_info["descripe"];
}
//微信分享
$is_dis_info = $this->is_check_shipinhao("$uid",TaskManagerController::WX_SHARE_TYPE,TaskManagerController::WX_SHARE_SU_CAI_BIAO_NAME,TaskManagerController::WX_SHARE_SHI_CI);
if($is_dis_info['isFengjin'])
{
$rs["isDisable"]=true;
$rs['微信群分享']["isFengjin"]=$is_dis_info["isFengjin"];
$rs['微信群分享']["descripe"]=$is_dis_info["descripe"];
}
//按照IP全局封禁
$rs["isGlobalFj"]=false; //全局封禁
$user_info = M("user_info")->field("userip")->where("id='$uid'")->find();
$user_ip = $user_info["userip"];
$count_fj = M("dy_ks_beifeng")->field("id")->where("userip = '$user_ip'")->count();
if($count_fj>=5)
{
$rs["isGlobalFj"]=true; //全局封禁
}
return $rs;
}
/**
* 检查账号是否被封
* @return void
*/
public function is_disabled_account($uid)
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info['id'];
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $this->get_is_disabled_account($uid);
echo json_encode($data);
}
/**
* 用户申诉
* @return void
*/
public function appeal_for_user()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info['id'];
$content_txt = $_POST['content'];
$images = $_POST['images'];
if(empty($content_txt))
{
$this->returnDataAndSendMsg("申诉内容不能为空");
die();
}
if(empty($images))
{
// $this->returnDataAndSendMsg("申诉图片不能为空");
// die();
}
//只有一次申诉机会
$check_info = M("dy_ks_task_shensu")->where("uid='$uid'")->field("id")->find();
if(!empty($check_info))
{
$this->returnDataAndSendMsg("已申诉,请勿重复申请");
die();
}
$add_info["uid"]=$uid;
$add_info["content_txt"]=trim($content_txt);
$add_info["images_"]=$images;
$add_info["creater_at"]=date("Y-m-d H:i:s");;
$rs= M("dy_ks_task_shensu")->add($add_info);
$data['code'] = '200';
$data['data'] = $rs;
$data['message'] = 'ok';
echo json_encode($data);
}
/**
* 自动解封
* @return void
*/
public function task_auto_pass()
{
$this->addHeaders(); //添加头部请求
$data_list = M("dy_ks_task_shensu")->field("id,uid")->where("audit_status = 0 AND creater_at <= NOW() - INTERVAL 24 HOUR")->select();
foreach ($data_list as $key=>$value)
{
$uid = $value["uid"];
$rule_info = $this->get_is_disabled_account($uid);
//检查评论是否被封
if(!empty($rule_info["评论"]) && $rule_info["评论"]["isFengjin"])
{
$this->pinglun_jiesuo($uid);
}//end 评论
if(!empty($rule_info["视频号"]) && $rule_info["视频号"]["isFengjin"])
{
$this->shiph_jiesuo($uid);
}
$update_info["audit_status"]=1;
$id = $value["id"];
M("dy_ks_task_shensu")->where("id=$id")->save($update_info);
}//end for
$data['code'] = '200';
$data['message'] = 'ok';
echo json_encode($data);
}
/**
* 评论解锁
* @param $uid
* @return void
*/
private function pinglun_jiesuo($uid)
{
$update_info["bh_reasons"]="虚假/垃圾内容,3次以上将被封号+1";
$rs = M("dy_ks_orders")->where("uid = '$uid' AND status_ >=3 AND bh_reasons = '虚假/垃圾内容,3次以上将被封号' AND type!='视频号视频发布'")->save($update_info);
return $rs;
}
/**
* 视频号解锁
* @param $uid
* @return void
*/
private function shiph_jiesuo($uid)
{
$update_info["bh_reasons"]="虚假垃圾达到1次,账号已被封+1";
$rs = M("dy_ks_orders")->where("uid = '$uid' AND status_ =3 AND bh_reasons = '虚假垃圾达到1次,账号已被封' AND type='视频号视频发布'")->save($update_info);
$rs1 = M("dy_ks_sucai_video")->where("uid='$uid' AND is_lock=1")->delete();
return $rs1;
}
public function get_sai_dan()
{
$this->addHeaders();
$data_top_100 = M("dy_ks_tixian")->field("uid ,SUM(amount_) AS amount_")->group("uid")->order("rand()")->limit(30)->select();
foreach ($data_top_100 as $key=>$value)
{
$uid = $value['uid'];
$user_info = M("user_info")->field("name")->where("id=$uid")->find();
$data_top_100[$key]['name']=$user_info['name'];
}
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $data_top_100;
echo json_encode($data);
}
/**
* 判断用户是否封禁
* @return void
*/
public function is_fj_for_user()
{
$this->addHeaders(); //添加头部请求
$user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
$uid = $user_info["id"];
$type = $_POST['type'];
if(empty($type))
{
$this->returnDataAndSendMsg("任务类型不能为空");
die();
}
$rs = false; //没有封禁
$fj_info = M("dy_ks_beifeng")->field("id")->where("uid='$uid' AND type='$type'")->find();
if(!empty($fj_info))
{
$rs = true; //封禁
}
$data['code'] = '200';
$data['message'] = 'ok';
$data['data'] = $rs;
echo json_encode($data);
}
}