2023-01-29 10:26:52 +08:00

313 lines
10 KiB
PHP

<?php
namespace app\admin\controller;
use app\common\controller\Admin;
use think\Request;
use think\Loader;
use think\Cache;
use think\db;
require_once('Audioupload.php');
/**
* 用户操作
*/
class Usermonitoring extends Admin{
public function index(){
$a = '123456';
var_dump(substr($a,1,strlen($a)));
}
public function getrealexpend($time=3,$adid=null,$adStatus=2,$landingurl){
$timarr = $this->timetype($time);
$url = 'http://ocean.zxklll.cn/api/v1/ocean/cost/realTimeByLand';
$arr = array();
$arr['landUri'] = $landingurl;
$arr['startTime'] = $timarr['startdata'];
$arr['endTime'] = $timarr['enddata'];
$arr['adStatus'] = $adStatus;
if($adid){
$arr['adId'] = intval($adid);
}
$arr = json_encode($arr);
$res = $this->pushMessageToClient($url,$arr);
$res = json_decode($res,true);
if($res['code']=='200'){
return $res['result'];
}else{
$res['errorLandingurl'] = $landingurl;
return 0;
}
}
public function convertUrlQuery($query){
$queryParts = explode('/', $query);
$params = array();
foreach ($queryParts as $k=>$v) {
$params[$v] = $queryParts[$k+1];
}
return $params;
}
//回传登录信息
public function translogin($clickid){
$url = "https://ad.toutiao.com/track/activate/?callback=".$clickid."&event_type=0";
$ret = $this->curl_get($url);
$retjson = json_decode($ret,true);
//return $retjson;
}
// 回传支付
public function transpays($clickid=''){
$url = "https://ad.toutiao.com/track/activate/?callback=".$clickid."&event_type=2";
$ret = $this->curl_get($url);
$retjson = json_decode($ret,true);
//return $retjson;
}
public function curl_get($url=''){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec($ch);
//var_dump($output);
}
// 临时修改落地页绑定推广链接
public function yxy(){
$data = input('');
if($data){
$res = db('transfer')->where('linkid',$data['yid'])->update(['linkid'=>$data['id']]);
if($res){
return 1;
}else{
return 2;
}
}else{
return $this->fetch();
}
}
// 充值阅读币书币
public function yxypay(){
$data = input('post.');
if($data){
if($data['type']==1){
if($data['num']){
if(empty($data['wxname'])){
if($data['num']==0){
$result = db('member')->where('uid',$data['uid'])->update(['egold'=>0]);
}else{
$result = db('member')->where('uid',$data['uid'])->setInc('egold', $data['num']);
}
}else{
$wxid = db('wxopen_account')->where('title',$data['wxname'])->value('id');
if($wxid){
$isv = db('member_pay_info')->where(['wxid'=>$wxid,'uid'=>$data['uid']])->value('id');
if($isv){
if($data['num']==0){
$result = db('member_pay_info')->where('id',$isv)->update(['egold'=>0]);
}else{
$result = db('member_pay_info')->where('id',$isv)->setInc('egold', $data['num']);
}
}else{
$ar = array(
'wxid'=>$wxid,
'uid'=>$data['uid'],
'egold'=>$data['num']
);
$result = db('member_pay_info')->insert($ar);
}
}else{
return 2;
}
}
if($result){
return 1;
}else{
return 2;
}
}
}elseif($data['type']==2){
if(empty($data['vip'])){
return 2;
}
if($data['vip']==1){
$dataup['vip_enddate'] = time()+3600*24*30;
$dataup['is_vip'] = 1;
}elseif($data['vip']==2){
$dataup['vip_enddate'] = time()+3600*24*90;
$dataup['is_vip'] = 1;
}elseif($data['vip']==3){
$dataup['vip_enddate'] = time()+3600*24*365;
$dataup['is_vip'] = 1;
}elseif($data['vip']==4){
$dataup['vip_enddate'] = 0;
$dataup['is_vip'] = 0;
}
if(empty($data['wxname'])){
if($data['vip']==5){
$addtime = 3600*24*15;
$result = db('member')->where('uid',$data['uid'])->setInc('vip_enddate',$addtime);
}else{
$result = db('member')->where('uid',$data['uid'])->update($dataup);
}
}else{
$wxid = db('wxopen_account')->where('title',$data['wxname'])->value('id');
if(empty($wxid)){
return 2;
}
$isv = db('member_pay_info')->where(['wxid'=>$wxid,'uid'=>$data['uid']])->value('id');
if($isv){
if($data['vip']==5){
$addtime = 3600*24*15;
$result = db('member_pay_info')->where('id',$isv)->setInc('vip_enddate',$addtime);
}else{
$result = db('member_pay_info')->where('id',$isv)->update($dataup);
}
}else{
$ar = array(
'wxid'=>$wxid,
'uid'=>$data['uid'],
'vip_enddate'=>$dataup['vip_enddate'],
'is_vip'=>$dataup['is_vip']
);
$result = db('member_pay_info')->insert($ar);
}
}
if($result){
return 1;
}else{
return 2;
}
}
}else{
$uid = empty(input('id'))?'':input('id');
$this->assign('uid',$uid);
$this->setMeta('充值通道');
return $this->fetch();
}
}
public function getuser(){
$id = input('id');
if($id){
$info = db('member')->where('uid',$id)->find();
if($info){
$user = "用户名称:".$info['nickname'];
exit(json_encode(array('status'=>1,'info'=>$user)));
}else{
exit(json_encode(array('status'=>2,'info'=>'用户不存在')));
}
}
}
public function timetype($t){
if($t==1){ //一年内
$startdata = '2021-03-16 0:0:0';
$enddata = strtotime(date('Y-m-d H:i:s')); //现在
$f = date('i');
$enddata = $enddata+((60-$f)*60);
$enddata = date('Y-m-d H:i:s',$enddata);
}elseif($t==2){ //一个小时内
$startdata = date('Y-m-d H:0:0');
$enddata = strtotime(date('Y-m-d H:i:s')); //现在
$f = date('i');
$enddata = $enddata+((60-$f)*60);
$enddata = date('Y-m-d H:i:s',$enddata);
}elseif($t==3){ //一天内
$startdata = date('Y-m-d 0:0:0');
$enddata = strtotime(date('Y-m-d H:i:s')); //现在
$f = date('i');
$enddata = $enddata+((60-$f)*60);
$enddata = date('Y-m-d H:i:s',$enddata);
}elseif($t==4){ //昨天
$startdata = date('Y-m-d H:i:s',mktime(0,0,0,date('m'),date('d')-1,date('Y')));
$enddata = date('Y-m-d H:i:s',mktime(0,0,0,date('m'),date('d'),date('Y')));
}elseif($t==5){ //一个小时前
$startdata = date("Y-m-d H:0:0", strtotime("-1 hour"));
$enddata = date("Y-m-d H:0:0");
}
$arr = array(
'startdata'=>$startdata,
'enddata'=>$enddata
);
return $arr;
}
// 按百分比控制 参数:比例 次数
public function needtwo($paym,$countpay){
if($paym<=0){
return false;
}
if ($paym>=100){
return true;
}
$mod = $countpay % 100;
$step = 100.0 / $paym;
for($i = 0;$i<100;$i+=$step){
$round = round($i);
if ($mod == $round) {
return true;
}
}
return false;
}
public function pushMessageToClient($url,$data){
//初使化init方法
$ch = curl_init();
//指定URL
curl_setopt($ch, CURLOPT_URL, $url);
//设定请求后返回结果
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//声明使用POST方式来进行发送
curl_setopt($ch, CURLOPT_POST, 1);
//发送什么数据呢
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
//忽略证书
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
//忽略header头信息
curl_setopt($ch, CURLOPT_HEADER, 0);
//设置超时时间
curl_setopt($ch, CURLOPT_TIMEOUT,600);
//发送请求
$output = curl_exec($ch);
curl_close($ch);
//返回数据
return $output;
}
}