123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539 |
- <?php
- namespace bibidd\Controller;
- use Bibidd\Controller\CommonBaseController;
- class UserSignController extends CommonBaseController
- {
- /**
- * 查询用户签到信息
- * @return void
- */
- public function query_sign_info()
- {
- $this->addHeaders(); //添加头部请求
- $this->checkUserIsExist($_POST['uid']); //检查用户
- $uid= $_POST['uid'];
- $last_time = date('Y-m-d 00:00:00');
- $data_list = M("user_sign")->where("user_id = '$uid' AND last_sign='$last_time'")->find();
- if(empty($data_list))
- {
- $data_list = M("user_sign")->where("user_id = '$uid' AND TO_DAYS(last_sign)=TO_DAYS(NOW()) - 1")->find();
- }
- if(null != $data_list && $data_list['lianxu_days']>=15)
- {
- //连续15次签到则可以修改兑换
- $data_list['isFull'] = 'true';
- }
- //添加今天是否签
- $data['isSignTody'] = 'no';
- if(!empty($data_list['last_sign']) && $data_list['last_sign']==$last_time)
- {
- $data['isSignTody'] = 'yes';
- }
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = $data_list;
- echo json_encode($data);
- }
- public function is_yongjiu_huiyuan()
- {
- $this->addHeaders(); //添加头部请求
- $userInfo = $this->checkUserIsExist($_POST['uid']); //检查用户
- $uid= $userInfo['id'];
- $huiyuan_time_list = M("user_info")->where("id=$uid")->field("vip_over_time,vip_yn,gold_coins_number")->find();
- $huiyuan_time = $huiyuan_time_list['vip_over_time'];
- $huiyuan_type = $huiyuan_time_list['vip_yn'];
- $vip_info['isVip']=true;
- $vip_info['isYongjiu']=true;
- if(empty($huiyuan_type)||$huiyuan_type==0)
- {
- $vip_info['isVip']=false;
- }
- $now_time = time()+(3600*24*365);//大于追加一年则是永久会员
- if(empty($huiyuan_time)||$huiyuan_time<$now_time)
- {
- $vip_info['isYongjiu']=false;
- }
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = $vip_info;
- echo json_encode($data);
- }
- /**
- * 签到,一个批次15天,需连续否则清0
- * @return void
- */
- public function sign()
- {
- $this->addHeaders(); //添加头部请求
- $userInfo = $this->checkUserIsExist($_POST['uid']); //检查用户
- $uid= $userInfo['id'];
- $view_num = $userInfo['views_num']; //看片次数
- //判断是否是永久会员
- $huiyuan_time_list = M("user_info")->where("id=$uid")->field("vip_over_time,vip_yn,gold_coins_number")->find();
- $huiyuan_time = $huiyuan_time_list['vip_over_time'];
- $huiyuan_type = $huiyuan_time_list['vip_yn'];
- $mess="此福利仅对<br>9169永久会员开放";
- if(empty($huiyuan_type)||$huiyuan_type==0)
- {
- $this->returnDataAndSendMsg($mess);
- die();
- }
- $now_time = time()+(3600*24*365);//大于追加一年则是永久会员
- if(empty($huiyuan_time)||$huiyuan_time<$now_time)
- {
- $this->returnDataAndSendMsg($mess);
- die();
- }
- //检查是否被封号
- $check_jf = M("user_sign_fj")->where("uid = '$uid'")->find();
- if(!empty($check_jf))
- {
- $this->returnDataAndSendMsg("您涉及作弊已被封禁");
- die();
- }
- //检查用户是否被暂停兑换
- if($userInfo['zb_type']!='0' && $userInfo['zb_type']!='2')
- {
- $this->returnDataAndSendMsg("已被暂停兑换.");
- die();
- }
- //查询昨天是否有签单记录,判断连续性
- $user_sign = M("user_sign")->where("user_id = '$uid' AND TO_DAYS(last_sign)=TO_DAYS(NOW()) - 1")->order("last_sign DESC")->find();
- if(empty($user_sign))
- {
- //没有连续,或没有签到记录
- $rs = $this->addNewSign($uid);
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = $rs;
- echo json_encode($data);
- die();
- }
- //连续签到天数
- $lianxu_days = $user_sign['lianxu_days'];
- if($lianxu_days>=15)
- {
- //没有连续,或没有签到记录
- if($user_sign["duihuan_status"]==0)
- {
- //补全逻辑,此处代码可以不用
- $user_sign["duihuan_status"]=1;
- $user_sign["lianxu_money"]=100;
- $user_sign['duihuan_code']=$this->random_str(4).mt_rand(1000, 9999);
- M("user_sign")->save($user_sign);
- }
- $rs = $this->addNewSign($uid);
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = $rs;
- echo json_encode($data);
- die();
- }
- //封号处理,其累计看片总数量≤10 封号
- // if($view_num<=10 && $lianxu_days>=7)
- // {
- // $fenhao_info['uid'] = $uid;
- // $fenhao_info['name'] = $userInfo['name'];
- // $fenhao_info['fj_date'] = date('Y-m-d H:i:s');
- // $fenhao_info['user_ip'] = $userInfo['userip'];
- // $fenhao_info['desc'] = "连续签到大于等于7,看片数量小于10";
- // M("user_sign_fj")->add($fenhao_info);
- //
- // //关联封号,相同IP切看片数量小于5的用户
- // $user_ip = $userInfo['userip'];
- // $user_list = M("user_info")->where("userip = '$user_ip' AND views_num<=5 AND id != '$uid'")->select();
- // if(!empty($user_list) && count($user_list)>=5)
- // {
- // foreach ($user_list as $key => $value)
- // {
- // $fenhao_info['uid'] = $value['id'];
- // $fenhao_info['name'] = $value['name'];
- // $fenhao_info['fj_date'] = date('Y-m-d H:i:s');
- // $fenhao_info['user_ip'] = $value['userip'];
- // $fenhao_info['desc'] = "关联封号";
- // M("user_sign_fj")->add($fenhao_info);
- // }
- // }
- //
- // $this->returnDataAndSendMsg("您涉及作弊已被封禁");
- // die();
- // }
- $id = $user_sign["id"];
- $user_sign['last_sign']= date('Y-m-d 00:00:00');
- $user_sign['lianxu_money']+=6.6 ;
- $user_sign['lianxu_days']+=1;
- if($user_sign['lianxu_days']>=15)
- {
- $user_sign["duihuan_status"]=1;
- $user_sign["lianxu_money"]=100;
- $user_sign['duihuan_code']=$this->random_str(4).mt_rand(1000, 9999);
- }
- $rs = M("user_sign")->where("id=$id")->save($user_sign);
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = $rs;
- echo json_encode($data);
- }
- /**
- * 判断用户是否绑定了手机号码
- * @return void
- */
- public function is_bing_phone()
- {
- $this->addHeaders(); //添加头部请求
- $this->checkUserIsExist($_POST['uid']); //检查用户
- $uid= $_POST['uid'];
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = "yes";
- //判断用户是否绑定手机
- $user_info = M("user_info")->where("id = '$uid'")->find();
- if(null == $user_info || empty($user_info['tel_phone']))
- {
- $data['data'] = "no";
- }
- echo json_encode($data);
- }
- /**
- * 判断用户是绑定智博账号
- * @return void
- */
- public function is_bing_zhibo_account()
- {
- $this->addHeaders(); //添加头部请求
- $this->checkUserIsExist($_POST['uid']); //检查用户
- $uid= $_POST['uid'];
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = "yes";
- //判断用户是否绑定智博账号
- $user_info = M("user_info")->where("id = '$uid'")->find();
- if(null == $user_info || empty($user_info['zhibo_account']))
- {
- $data['data'] = "no";
- }
- echo json_encode($data);
- }
- /**
- * 添加最新签到数据
- * @param $uid
- * @return void
- */
- private function addNewSign($uid)
- {
- $last_time = date('Y-m-d 00:00:00');
- //跳过重复签到
- $tmp_info = M("user_sign")->where("user_id = '$uid' AND last_sign='$last_time'")->find();
- if(!empty($tmp_info))
- {
- return 0;
- }
- $user_sign['user_id']=$uid;
- $user_sign['lianxu_days']=1;
- $user_sign['lianxu_money']=6.6;
- $user_sign['last_sign']=$last_time;
- return M("user_sign")->add($user_sign);
- }
- /**
- *
- * 获取签到验证码
- * @return void
- */
- public function getSignSms()
- {
- $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("tel_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 binding_phone()
- {
- $this->addHeaders(); //添加头部请求
- $this->checkUserIsExist($_POST['uid']); //检查用户
- $telPhone = $_POST['telPhone'];
- $smsNumber= $_POST['smsNumber']; //智博账号
- $uid= $_POST['uid'];
- 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("tel_phone = '$telPhone' AND id!='$uid'")->find();
- if(!empty($user_info))
- {
- $this->returnDataAndSendMsg("该手机号码已被其他用户绑定,请更换号码.");
- die();
- }
- $user_info['tel_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);
- }
- public function binding_zhibo_account()
- {
- $this->addHeaders(); //添加头部请求
- $this->checkUserIsExist($_POST['uid']); //检查用户
- $zhibo_account= $_POST['zhibo_account']; //智博账号
- $uid= $_POST['uid'];
- if(empty($zhibo_account))
- {
- $this->returnDataAndSendMsg("智博账号不能为空.");
- die();
- }
- $user_info = M("user_info")->where("id!='$uid' AND zhibo_account = '$zhibo_account'")->find();
- if(!empty($user_info))
- {
- $this->returnDataAndSendMsg("已被其他用户绑定,请更换.");
- die();
- }
- $user_info['zhibo_account'] = $zhibo_account;
- $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 query_sign_list()
- {
- $this->addHeaders(); //添加头部请求
- $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
- $uid= $_POST['uid'];
- $page = $_POST['page'];
- //判断用户是否绑定手机
- // if(null == $user_info || empty($user_info['tel_phone']))
- // {
- // $this->returnDataAndSendMsg("请绑定手机号码后查看.");
- // die();
- // }
- $one_size = 30; //每頁30行記錄
- $page_one = ($page - 1) * $one_size;
- //AND duihuan_status!=0
- $data_list = M("user_sign")->where("user_id = '$uid'")->LIMIT($page_one, $one_size)->order("duihuan_status ASC")->select();
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['all_num'] =M("user_sign")->where("user_id = '$uid' AND duihuan_status!=0")->count();
- $data['data'] = $data_list;
- $data['zhiboAccount'] = $user_info['zhibo_account'];
- echo json_encode($data);
- }
- /**
- * 兑换
- * @return void
- */
- public function exchange()
- {
- $this->addHeaders(); //添加头部请求
- $this->checkUserIsExist($_POST['uid']); //检查用户
- $id= $_POST['id'];
- $uid = $_POST['uid'];
- //判断用户是否绑定智博账号
- $user_info = M("user_info")->where("id = '$uid'")->find();
- if(null == $user_info || empty($user_info['zhibo_account']))
- {
- $this->returnDataAndSendMsg("请绑定智博账号后在兑换.");
- die();
- }
- //检查用户是否被暂停兑换
- if($user_info['zb_type']!='0' && $user_info['zb_type']!='2')
- {
- $this->returnDataAndSendMsg("已被暂停兑换.");
- die();
- }
- //兑换检查
- $check_info = M("user_sign")->where("id = '$id'")->find();
- if(empty($check_info) || $check_info['user_id']!=$uid)
- {
- $this->returnDataAndSendMsg("非法操作.");
- die();
- }
- if(empty($check_info['duihuan_code']) || $check_info['lianxu_days']<15 )
- {
- $this->returnDataAndSendMsg("暂不满足兑换条件.");
- die();
- }
- //重复兑换检查
- if($check_info["duihuan_status"]>=2)
- {
- $this->returnDataAndSendMsg("请勿重复兑换.");
- die();
- }
- $sign_info['duihuan_status']=2;
- $sign_info['duihuan_time']=date('Y-m-d H:i:s');
- //2.6添加IP地址
- $sign_info['ip']=$this->getIp();
- $user_weizhi=$this->get_user_ip_info($sign_info['ip']);
- if($user_weizhi['code']=="200" && !empty($user_weizhi['data']['region'])){
- $sign_info['ip_addr']=$user_weizhi['data']['region']."省".$user_weizhi['data']['city']."市 ".$user_weizhi['data']['isp'];
- }else{
- $sign_info['ip_addr']="暂无";
- }
- $data_list = M("user_sign")->where("id = '$id'")->save($sign_info);
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = $data_list;
- echo json_encode($data);
- //发送机器人
- //$text = "彩金兑换 🏆🏆🏆\n"."9169用户: ".$user_info['name']."\n"."智博账号: ".$user_info['zhibo_account']."\n"."兑换100智博彩金"."\n\n请尽快给用户加彩金";
- // 11 22 用户ID : 6199511960
- //群id
- //$this->send_msg_to_telegram("6543542631:AAGRvYWAXAk4VV45yEHtQY3mG8h13MhLT-k","-4190639794",$text);
- }
- /**
- * 清空用户级别暂停兑换
- * @return void
- */
- public function clear()
- {
- $this->addHeaders(); //添加头部请求
- $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
- $id = $user_info['id'];
- $user_info_tmp['zb_type']='2';
- $rs = M("user_info")->where("id='$id'")->save($user_info_tmp);
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = $rs;
- echo json_encode($data);
- }
- }
|