313 lines
10 KiB
PHP
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;
|
|
}
|
|
|
|
} |