error(L("非法操作")); } } //获取休验合约记录 public function gethyorder_ty(){ $uid = userid(); $list = M("tyhyorder")->where(array('uid'=>$uid))->field("is_win,sellprice,ploss,id,num,hyzd,coinname,buytime,status,selltime,buyprice,time")->order("id desc")->select(); $data = array(); foreach($list as $k=>$v){ $data[$k]['sellprice'] = $v['sellprice']; if($v['is_win'] == 0){ $data[$k]['ploss'] = ''. $v['ploss'] .''; }elseif($v['is_win'] == 1){ $data[$k]['ploss'] = ''. $v['ploss'] .''; }else{ $data[$k]['ploss'] = ''. $v['ploss'] .''; } $data[$k]['id'] = $v['id']; $data[$k]['coinanme'] = $v['coinname']; $data[$k]['num'] = $v['num']; if($v['status'] == 1){ $data[$k]['statusstr'] = L("待结算"); }elseif($v['status'] == 2){ $data[$k]['statusstr'] = L("已结算"); }elseif($v['status'] == 3){ $data[$k]['statusstr'] = L("无效结算"); } if($v['hyzd'] == 1){ $data[$k]['hyzdstr'] = ''. L("买涨") .''; }elseif($v['hyzd'] == 2){ $data[$k]['hyzdstr'] = ''. L("买跌") .''; } $data[$k]['buyprice'] = $v['buyprice']; $data[$k]['buytime'] = $v['buytime']; $alltime = $v['time'] * 60; $endtime = strtotime($v['selltime']); $t = $endtime - time(); if($t <= 0){ $t = 0; } $data[$k]['t'] = $t; } $this->ajaxReturn(['code'=>1,'data'=>$data]); } //获取合约记录 public function gethyorder(){ $uid = userid(); $list = M("hyorder")->where(array('uid'=>$uid,"status"=>1))->field("id,num,hyzd,coinname,buytime,status,selltime,buyprice,time")->order("id desc")->select(); $data = array(); foreach($list as $k=>$v){ $data[$k]['id'] = $v['id']; $data[$k]['coinanme'] = $v['coinname']; $data[$k]['num'] = $v['num']; if($v['status'] == 1){ $data[$k]['statusstr'] = L("待结算"); }elseif($v['status'] == 2){ $data[$k]['statusstr'] = L("已结算"); }elseif($v['status'] == 3){ $data[$k]['statusstr'] = L("无效结算"); } if($v['hyzd'] == 1){ $data[$k]['hyzdstr'] = ''. L("买涨") .''; }elseif($v['hyzd'] == 2){ $data[$k]['hyzdstr'] = ''. L("买跌") .''; } $data[$k]['buyprice'] = $v['buyprice']; $data[$k]['buytime'] = $v['buytime']; $alltime = $v['time'] * 60; $endtime = strtotime($v['selltime']); $t = $endtime - time(); if($t <= 0){ $t = 0; } $data[$k]['t'] = $t; } $this->ajaxReturn(['code'=>1,'data'=>$data]); } //合约体验订单 public function contract_ty(){ $uid = userid(); if($uid <= 0){ $this->redirect('Login/index'); } $hylist = M("tyhyorder")->where(array('uid'=>$uid))->order("id desc")->select(); $this->assign("list",$hylist); $this->display(); } //合约未平仓订单 public function contractjc(){ $uid = userid(); if($uid <= 0){ $this->redirect('Login/index'); } $hylist = M("hyorder")->where(array('uid'=>$uid,"status"=>1))->order("id desc")->select(); $this->assign("list",$hylist); $this->display(); } //合约已平仓订单 public function contractpc(){ $uid = userid(); if($uid <= 0){ $this->redirect('Login/index'); } $where['uid'] = $uid; $where['status'] = array('neq',1); $hylist = M("hyorder")->where($where)->order("id desc")->select(); $this->assign("list",$hylist); $this->display(); } //购买合约详情 public function cbillinfo(){ $bid = trim(I('get.bid')); if($bid <= 0){ $this->redirect('Contract/ctbill'); } $uid = userid(); $info = M("hyorder")->where(array('uid'=>$uid,'id'=>$bid))->find(); $this->assign('info',$info); $this->display(); } //合约购买记录 public function ctbill(){ $uid = userid(); if($uid <= 0){ $this->redirect('Login/index'); } $fields = "num,coinname,buytime,buyprice,time,status,id"; $hylist = M("hyorder")->where(array('uid'=>$uid))->field($fields)->order("id desc")->limit(20)->select(); $this->assign("list",$hylist); $this->display(); } //获取行情数据 public function get_maket_api($api){ $ch = curl_init(); curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); curl_setopt ($ch, CURLOPT_URL, $api ); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10); $result = json_decode(curl_exec($ch),true); return $result; } //快速合约建仓 public function ty_creatorder(){ if($_POST){ $uid = userid(); $uinfo = M("user")->where(array('id'=>$uid))->field("id,username,money,rzstatus,invit_1,is_tax,taxstatus")->find(); if(empty($uinfo)){ $this->ajaxReturn(['code'=>0,'msg'=> L('请先登陆')]); } if($uinfo['rzstatus'] != 2){ $this->ajaxReturn(['code'=>0,'msg'=>L('请先完成实名认证')]); } //检查该会员是不是需要缴纳税金,如有需要检查有没有缴纳 // if($uinfo['is_tax'] == 1){ // if($uinfo['taxstatus'] != 1){ // $this->ajaxReturn(['code'=>3]); // } // } $puid = $uinfo['invit_1']; $puser = M("user")->where(array('id'=>$puid))->field("invit")->find(); $ctime = trim(I('post.ctime')); if($ctime <= 0){ $this->ajaxReturn(['code'=>0,'msg'=> L('请选择结算时间')]); } $ctzed = trim(I('post.ctzed')); if($ctzed <= 0){ $this->ajaxReturn(['code'=>0,'msg'=> L('请选择投资额度')]); } $ccoinname = trim(I('post.ccoinname')); if($ccoinname == ''){ $this->ajaxReturn(['code'=>0,'msg'=> L('缺少重要参数')]); } $ctzfx = trim(I('post.ctzfx')); if($ctzfx <= 0){ $this->ajaxReturn(['code'=>0,'msg'=> L('缺少重要参数')]); } $cykbl = trim(I('post.cykbl')); if($ctzfx <= 0){ $this->ajaxReturn(['code'=>0,'msg'=> L('缺少重要参数')]); } //获取会员资产 //$minfo = M("user_coin")->where(array('userid'=>$uid))->find(); $usdtnum = $uinfo['money']; //获取合约手续费比例 $setting = M("hysetting")->where(array('id'=>1))->field("hy_sxf,hy_min")->find(); $hymin = $setting['hy_min']; if($hymin > $ctzed){ $this->ajaxReturn(['code'=>0,'msg'=> L('不能小于最低投资额度')]); } $sxf = $setting['hy_sxf']; $tmoney = $ctzed + $ctzed * $sxf / 100; if($tmoney > $usdtnum){ $this->ajaxReturn(['code'=>0,'msg' => L('体验金余额不足')]); } //获取当前交易对的单价 $coinarr = explode('/',$ccoinname); $symbol = strtolower($coinarr[0].$coinarr[1]); $coinapi = "https://api.huobi.pro/market/history/kline?period=1day&size=1&symbol=".$symbol; $result = $this->get_maket_api($coinapi); $price_arr = $result['data'][0]; $close = $price_arr['close'];//现价 //创建订单 $odata['uid'] = $uid; $odata['username'] = $uinfo['username']; $odata['num'] = $ctzed; $odata['hybl'] = $cykbl; $odata['hyzd'] = $ctzfx; $odata['coinname'] = $ccoinname; $odata['status'] = 1; $odata['is_win'] = 0; $odata['buytime'] = date("Y-m-d H:i:s",time()); $odata['selltime'] = date("Y-m-d H:i:s",(time()+$ctime*60)); $odata['intselltime'] = time() + $ctime*60; $odata['buyprice'] = $close; $odata['sellprice'] = ''; $odata['ploss'] = 0; $odata['time'] = $ctime; $odata['kongyk'] = 0; if($puser['invit'] == ''){ $puser['invit'] = 0; } $odata['invit'] = $puser['invit']; $order = M("tyhyorder")->add($odata); //扣除体验金 $decre = M("user")->where(array('id'=>$uid))->setDec('money',$tmoney); //创建财务日志 // $bill['uid'] = $uid; // $bill['username'] = $uinfo['username']; // $bill['num'] = $ctzed; // $bill['coinname'] = "usdt"; // $bill['afternum'] = $minfo['usdt'] - $ctzed; // $bill['type'] = 3; // $bill['addtime'] = date("Y-m-d H:i:s",time()); // $bill['st'] = 2; // $bill['remark'] = L('购买').$ccoinname.L('快速合约'); // $billre = M("bill")->add($bill); if($order && $decre){ $this->ajaxReturn(['code'=>1,'msg' => L('体验订单建仓成功')]); }else{ $this->ajaxReturn(['code'=>0,'msg' => L('体验订单建仓失败')]); } }else{ $this->ajaxReturn(['code'=>0,'msg' => L('网络错误')]); } } //快速合约建仓 public function creatorder(){ if($_POST){ $uid = userid(); $uinfo = M("user")->where(array('id'=>$uid))->field("id,username,rzstatus,invit_1,is_tax,taxstatus")->find(); if(empty($uinfo)){ $this->ajaxReturn(['code'=>0,'msg'=> L('请先登陆')]); } if($uinfo['rzstatus'] != 2){ $this->ajaxReturn(['code'=>0,'msg'=>L('请先完成实名认证')]); } if($uinfo['is_tax'] == 1){ if($uinfo['taxstatus'] != 1){ $this->ajaxReturn(['code'=>3]); } } $puid = $uinfo['invit_1']; $puser = M("user")->where(array('id'=>$puid))->field("invit")->find(); $ctime = trim(I('post.ctime')); if($ctime <= 0){ $this->ajaxReturn(['code'=>0,'msg'=> L('请选择结算时间')]); } $ctzed = trim(I('post.ctzed')); if($ctzed <= 0){ $this->ajaxReturn(['code'=>0,'msg'=> L('请选择投资额度')]); } $ccoinname = trim(I('post.ccoinname')); if($ccoinname == ''){ $this->ajaxReturn(['code'=>0,'msg'=> L('缺少重要参数')]); } $ctzfx = trim(I('post.ctzfx')); if($ctzfx <= 0){ $this->ajaxReturn(['code'=>0,'msg'=> L('缺少重要参数')]); } $cykbl = trim(I('post.cykbl')); if($ctzfx <= 0){ $this->ajaxReturn(['code'=>0,'msg'=> L('缺少重要参数')]); } //获取会员资产 $minfo = M("user_coin")->where(array('userid'=>$uid))->find(); $usdtnum = $minfo['usdt']; //获取合约手续费比例 $setting = M("hysetting")->where(array('id'=>1))->field("hy_sxf,hy_min")->find(); $hymin = $setting['hy_min']; if($hymin > $ctzed){ $this->ajaxReturn(['code'=>0,'msg'=> L('不能小于最低投资额度')]); } $sxf = $setting['hy_sxf']; $tmoney = $ctzed + $ctzed * $sxf / 100; if($tmoney > $usdtnum){ $this->ajaxReturn(['code'=>0,'msg' => L('USDT余额不足')]); } //获取当前交易对的单价 $coinarr = explode('/',$ccoinname); $symbol = strtolower($coinarr[0].$coinarr[1]); $coinapi = "https://api.huobi.pro/market/history/kline?period=1day&size=1&symbol=".$symbol; $result = $this->get_maket_api($coinapi); $price_arr = $result['data'][0]; $close = $price_arr['close'];//现价 //创建订单 $odata['uid'] = $uid; $odata['username'] = $uinfo['username']; $odata['num'] = $ctzed; $odata['hybl'] = $cykbl; $odata['hyzd'] = $ctzfx; $odata['coinname'] = $ccoinname; $odata['status'] = 1; $odata['is_win'] = 0; $odata['buytime'] = date("Y-m-d H:i:s",time()); $odata['selltime'] = date("Y-m-d H:i:s",(time()+$ctime*60)); $odata['intselltime'] = time() + $ctime*60; $odata['buyprice'] = $close; $odata['sellprice'] = ''; $odata['ploss'] = 0; $odata['time'] = $ctime; $odata['kongyk'] = 0; if($puser['invit'] == ''){ $puser['invit'] = 0; } $odata['invit'] = $puser['invit']; $order = M("hyorder")->add($odata); //扣除USDT额度 $decre = M("user_coin")->where(array('userid'=>$uid))->setDec('usdt',$tmoney); //创建财务日志 $bill['uid'] = $uid; $bill['username'] = $uinfo['username']; $bill['num'] = $ctzed; $bill['coinname'] = "usdt"; $bill['afternum'] = $minfo['usdt'] - $ctzed; $bill['type'] = 3; $bill['addtime'] = date("Y-m-d H:i:s",time()); $bill['st'] = 2; $bill['remark'] = L('购买').$ccoinname.L('快速合约'); $billre = M("bill")->add($bill); if($order && $decre && $billre){ $this->ajaxReturn(['code'=>1,'msg' => L('建仓成功')]); }else{ $this->ajaxReturn(['code'=>0,'msg' => L('建仓失败')]); } }else{ $this->ajaxReturn(['code'=>0,'msg' => L('网络错误')]); } } //快速合约首页面 public function index(){ $uid = userid(); if($uid <= 0 || $uid == ''){ $uid = 0; } $this->assign('uid',$uid); $smybol = trim(I('get.coin')); if($smybol != ''){ $map['status'] = 1; $map['coinname'] = array('like',"%$smybol%"); $list = M("ctmarket")->where($map)->field("coinname")->find(); if(!empty($list)){ $smybol = $list['coinname']; }else{ $smybol = "btc"; } }else{ $smybol = "btc"; } $market = $smybol."usdt"; $upmarket = strtoupper($smybol)."/USDT"; $this->assign('upmarket',$upmarket); $this->assign('market',$market); $this->assign('smybol',$smybol); //获取合约设置项 $hyset = M("hysetting")->where(array('id'=>1))->field("hy_time,hy_ykbl,hy_tzed")->find(); $hy_time = $hyset['hy_time']; $hy_ykbl = $hyset['hy_ykbl']; $hy_tzed = $hyset['hy_tzed']; $time_arr = explode(',',$hy_time); $ykbl_arr = explode(',',$hy_ykbl); $tzed_arr = explode(',',$hy_tzed); $cd=array(); $ed=array(); $len = count($time_arr); for($i=0;$i<$len;$i++){ $cd[$i]['sort'] = $i+1; $cd[$i]['time'] = $time_arr[$i]; $cd[$i]['ykbl'] = $ykbl_arr[$i]; $ed[$i]['sort'] = $i+1; $ed[$i]['tzed'] = $tzed_arr[$i]; } $this->assign("cd",$cd); $this->assign('ed',$ed); //获取会员资产 $minfo = M("user_coin")->where(array('userid'=>$uid))->find(); $usdt_blan = $minfo['usdt']; $this->assign('eusdt_blan',$usdt_blan); //体验金 $uinfo = M("user")->where(array('id'=>$uid))->find(); $tj_money = $uinfo['money']; $this->assign('tj_money',$tj_money); $this->display(); } } ?>