hrjy 3 years ago
parent
commit
7d9e0f9e44
1 changed files with 176 additions and 168 deletions
  1. 176 168
      Application/Mobile/Controller/AutoexeController.class.php

+ 176 - 168
Application/Mobile/Controller/AutoexeController.class.php

@@ -511,68 +511,72 @@ class AutoexeController extends \Think\Controller
                     $oy_list = $oy_list->data[0];
                     $close = $oy_list->last;//现价
                 }
-
-                //手续费计算(开仓价格 * 开仓数量 * 手续费率) ,开仓时扣除手续费
-                $wt_price = $vo['wt_price']; //委托价格
-                $direction = $vo['direction']; //交易方向
-                if ($direction == 1) { //做多(上涨) 当前价小于等于委托价格就开仓  要跌了才开仓
-                    if ($close <= $wt_price) {
-                        $data['fee'] = $fee = $vo['fee'];
-                        if ($usermoney['money'] >= $fee) {
-                            $data['price'] = $close;
-                            $data['status'] = 2;
-                            $data['addtime'] = date("Y-m-d H:i:s", time());
-                            $re_a = M("leverorder")->where(array('id' => $id))->save($data);
-                            $re_b = M("levermoney")->where(array('uid' => $uid))->setDec('money', $fee);
-                            $ubill['uid'] = $uid;
-                            $ubill['username'] = $uinfo['username'];
-                            $ubill['num'] = $fee;
-                            $ubill['coinname'] = "lever";
-                            $ubill['afternum'] = $usermoney['money'] - $fee;
-                            $ubill['type'] = 25;
-                            $ubill['addtime'] = date("Y-m-d H:i:s", time());
-                            $ubill['st'] = 2;
-                            $ubill['remark'] = L('合约交易开仓手续费');
-                            $re_c = M("bill")->add($ubill);
-                            if ($re_a && $re_b && $re_c) {
-                                echo "=订单ID:" . $id . ",开仓成功=";
+                if ($close) {
+                    //手续费计算(开仓价格 * 开仓数量 * 手续费率) ,开仓时扣除手续费
+                    $wt_price = $vo['wt_price']; //委托价格
+                    $direction = $vo['direction']; //交易方向
+                    if ($direction == 1) { //做多(上涨) 当前价小于等于委托价格就开仓  要跌了才开仓
+                        if ($close <= $wt_price) {
+                            $data['fee'] = $fee = $vo['fee'];
+                            if ($usermoney['money'] >= $fee) {
+                                $data['price'] = $close;
+                                $data['status'] = 2;
+                                $data['addtime'] = date("Y-m-d H:i:s", time());
+                                $re_a = M("leverorder")->where(array('id' => $id))->save($data);
+                                $re_b = M("levermoney")->where(array('uid' => $uid))->setDec('money', $fee);
+                                $ubill['uid'] = $uid;
+                                $ubill['username'] = $uinfo['username'];
+                                $ubill['num'] = $fee;
+                                $ubill['coinname'] = "lever";
+                                $ubill['afternum'] = $usermoney['money'] - $fee;
+                                $ubill['type'] = 25;
+                                $ubill['addtime'] = date("Y-m-d H:i:s", time());
+                                $ubill['st'] = 2;
+                                $ubill['remark'] = L('合约交易开仓手续费');
+                                $re_c = M("bill")->add($ubill);
+                                if ($re_a && $re_b && $re_c) {
+                                    echo "=订单ID:" . $id . ",开仓成功=";
+                                }
+                            } else {
+                                echo "=订单ID:" . $id . ",手续费不足=";
                             }
                         } else {
-                            echo "=订单ID:" . $id . ",手续费不足=";
+                            echo "=订单ID:" . $id . ",做多,价格不合适=";
                         }
-                    } else {
-                        echo "=订单ID:" . $id . ",做多,价格不合适=";
-                    }
 
-                } else if ($direction == 2) { //做空(下跌) 当前价大于等于委托价格就开仓  要涨了才开仓
-                    if ($close >= $wt_price) {
-                        $data['fee'] = $fee = $vo['fee'];
-                        if ($usermoney['money'] >= $fee) {
-                            $data['price'] = $close;
-                            $data['status'] = 2;
-                            $data['addtime'] = date("Y-m-d H:i:s", time());
-                            $re_a = M("leverorder")->where(array('id' => $id))->save($data);
-                            $re_b = M("levermoney")->where(array('uid' => $uid))->setDec('money', $fee);
-                            $ubill['uid'] = $uid;
-                            $ubill['username'] = $uinfo['username'];
-                            $ubill['num'] = $fee;
-                            $ubill['coinname'] = "usdt";
-                            $ubill['afternum'] = $usermoney['money'] - $fee;
-                            $ubill['type'] = 25;
-                            $ubill['addtime'] = date("Y-m-d H:i:s", time());
-                            $ubill['st'] = 2;
-                            $ubill['remark'] = L('合约交易开仓手续费');
-                            $re_c = M("bill")->add($ubill);
-                            if ($re_a && $re_b && $re_c) {
-                                echo "=订单ID:" . $id . ",开仓成功=";
+                    } else if ($direction == 2) { //做空(下跌) 当前价大于等于委托价格就开仓  要涨了才开仓
+                        if ($close >= $wt_price) {
+                            $data['fee'] = $fee = $vo['fee'];
+                            if ($usermoney['money'] >= $fee) {
+                                $data['price'] = $close;
+                                $data['status'] = 2;
+                                $data['addtime'] = date("Y-m-d H:i:s", time());
+                                $re_a = M("leverorder")->where(array('id' => $id))->save($data);
+                                $re_b = M("levermoney")->where(array('uid' => $uid))->setDec('money', $fee);
+                                $ubill['uid'] = $uid;
+                                $ubill['username'] = $uinfo['username'];
+                                $ubill['num'] = $fee;
+                                $ubill['coinname'] = "usdt";
+                                $ubill['afternum'] = $usermoney['money'] - $fee;
+                                $ubill['type'] = 25;
+                                $ubill['addtime'] = date("Y-m-d H:i:s", time());
+                                $ubill['st'] = 2;
+                                $ubill['remark'] = L('合约交易开仓手续费');
+                                $re_c = M("bill")->add($ubill);
+                                if ($re_a && $re_b && $re_c) {
+                                    echo "=订单ID:" . $id . ",开仓成功=";
+                                }
+                            } else {
+                                echo "=订单ID:" . $id . ",手续费不足=";
                             }
                         } else {
-                            echo "=订单ID:" . $id . ",手续费不足=";
+                            echo "=订单ID:" . $id . ",做空,价格不合适=";
                         }
-                    } else {
-                        echo "=订单ID:" . $id . ",做空,价格不合适=";
                     }
+                }else{
+                    echo "未获取到参数";
                 }
+
             }
         }
     }
@@ -653,126 +657,130 @@ class AutoexeController extends \Think\Controller
                     // $coinapi = "https://api.huobi.pro/market/history/kline?period=1day&size=1&symbol=" . $symbol;
                     // $newprice = $this->getnewprice($coinapi);
                 }
+                if ($newprice){
 
-                //买入,当行情价小于等于限价时则交易
-                $minfo = M("user_coin")->where(array('userid' => $uid))->find();
-                if ($type == 1) {
-                    $usdtnum = $v['usdtnum'];
-                    if ($newprice <= $xjprice) {
-                        //计算能够买到的量
-                        $buy_coinnum = sprintf("%.8f", ($usdtnum / $newprice));
-                        //手续费
-                        $fee = $buy_coinnum * $sxfbl / 100;
-                        //实际到账号的金额
-                        $tcoinnum = $buy_coinnum - $fee;
-                        //更新订单
-                        $data['coinnum'] = $tcoinnum;
-                        $data['price'] = $newprice;
-                        $data['tradetime'] = date("Y-m-d H:i:s", time());
-                        $data['fee'] = $fee;
-                        $data['status'] = 2;
-                        $savere = M("bborder")->where(array('id' => $id))->save($data);
-                        //增加购买数量并写入日志
-                        $incre = M("user_coin")->where(array('userid' => $uid))->setInc($lowercoin, $tcoinnum);
-                        $cincbill['uid'] = $uid;
-                        $cincbill['username'] = $v['account'];
-                        $cincbill['num'] = $tcoinnum;
-                        $cincbill['coinname'] = $lowercoin;
-                        $cincbill['afternum'] = $minfo[$lowercoin] + $tcoinnum;
-                        $cincbill['type'] = 10;
-                        $cincbill['addtime'] = date("Y-m-d H:i:s", time());
-                        $cincbill['st'] = 1;
-                        $cincbill['remark'] = L('币币交易限价购买委托成交');
-                        $cincre = M("bill")->add($cincbill);
-
-                        //扣除冻结的USDT并写入日志
-                        $decre = M("user_coin")->where(array('userid' => $uid))->setDec("usdtd", $usdtnum);
-                        $uincbill['uid'] = $uid;
-                        $uincbill['username'] = $v['account'];
-                        $uincbill['num'] = $usdtnum;
-                        $uincbill['coinname'] = "usdt";
-                        $uincbill['afternum'] = $minfo['usdt'] - $usdtnum;
-                        $uincbill['type'] = 9;
-                        $uincbill['addtime'] = date("Y-m-d H:i:s", time());
-                        $uincbill['st'] = 2;
-                        $uincbill['remark'] = L('币币交易限价购买委托成交');
-                        $uincre = M("bill")->add($uincbill);
-
-                        if ($savere && $cincre && $uincre) {
-
-                            $notice['uid'] = $uid;
-                            $notice['account'] = $v['account'];
-                            $notice['title'] = L('币币交易限价委托交易');
-                            $notice['content'] = L('币币交易限价购买委托订单购买成功');
-                            $notice['addtime'] = date("Y-m-d H:i:s", time());
-                            $notice['status'] = 1;
-                            M("notice")->add($notice);
-
-                            echo "==委托订单ID:" . $id . ",购买成功==";
-                        }
-                    } else {
-                        echo "==委托订单ID:" . $id . ",没有达到限价购买价格==";
-                    }
+                    //买入,当行情价小于等于限价时则交易
+                    $minfo = M("user_coin")->where(array('userid' => $uid))->find();
+                    if ($type == 1) {
+                        $usdtnum = $v['usdtnum'];
+                        if ($newprice <= $xjprice) {
+                            //计算能够买到的量
+                            $buy_coinnum = sprintf("%.8f", ($usdtnum / $newprice));
+                            //手续费
+                            $fee = $buy_coinnum * $sxfbl / 100;
+                            //实际到账号的金额
+                            $tcoinnum = $buy_coinnum - $fee;
+                            //更新订单
+                            $data['coinnum'] = $tcoinnum;
+                            $data['price'] = $newprice;
+                            $data['tradetime'] = date("Y-m-d H:i:s", time());
+                            $data['fee'] = $fee;
+                            $data['status'] = 2;
+                            $savere = M("bborder")->where(array('id' => $id))->save($data);
+                            //增加购买数量并写入日志
+                            $incre = M("user_coin")->where(array('userid' => $uid))->setInc($lowercoin, $tcoinnum);
+                            $cincbill['uid'] = $uid;
+                            $cincbill['username'] = $v['account'];
+                            $cincbill['num'] = $tcoinnum;
+                            $cincbill['coinname'] = $lowercoin;
+                            $cincbill['afternum'] = $minfo[$lowercoin] + $tcoinnum;
+                            $cincbill['type'] = 10;
+                            $cincbill['addtime'] = date("Y-m-d H:i:s", time());
+                            $cincbill['st'] = 1;
+                            $cincbill['remark'] = L('币币交易限价购买委托成交');
+                            $cincre = M("bill")->add($cincbill);
+
+                            //扣除冻结的USDT并写入日志
+                            $decre = M("user_coin")->where(array('userid' => $uid))->setDec("usdtd", $usdtnum);
+                            $uincbill['uid'] = $uid;
+                            $uincbill['username'] = $v['account'];
+                            $uincbill['num'] = $usdtnum;
+                            $uincbill['coinname'] = "usdt";
+                            $uincbill['afternum'] = $minfo['usdt'];
+                            $uincbill['type'] = 9;
+                            $uincbill['addtime'] = date("Y-m-d H:i:s", time());
+                            $uincbill['st'] = 2;
+                            $uincbill['remark'] = L('币币交易限价购买委托成交');
+                            $uincre = M("bill")->add($uincbill);
+
+                            if ($savere && $cincre && $uincre) {
 
-                    //卖出,当行情价大于等于限价时则交易
-                } elseif ($type == 2) {
-                    $coinnum = $v['coinnum'];
-                    if ($newprice >= $xjprice) {
-                        //求出卖出所得的USDT量
-                        $allusdt = sprintf("%.8f", ($coinnum * $newprice));
-                        //求出手续费
-                        $fee = $allusdt * $sxfbl / 100;
-                        //求出实际到账USDT量
-                        $tusdtnum = $allusdt - $fee;
-                        //更新订单
-                        $data['usdtnum'] = $tusdtnum;
-                        $data['price'] = $newprice;
-                        $data['tradetime'] = date("Y-m-d H:i:s", time());
-                        $data['fee'] = $fee;
-                        $data['status'] = 2;
-                        $savere = M("bborder")->where(array('id' => $id))->save($data);
-                        //增加卖出所得的USDT量并写入日志
-                        $incre = M("user_coin")->where(array('userid' => $uid))->setInc("usdt", $tusdtnum);
-                        $uincbill['uid'] = $uid;
-                        $uincbill['username'] = $v['account'];
-                        $uincbill['num'] = $tusdtnum;
-                        $uincbill['coinname'] = 'usdt';
-                        $uincbill['afternum'] = $minfo['usdt'] + $tusdtnum;
-                        $uincbill['type'] = 9;
-                        $uincbill['addtime'] = date("Y-m-d H:i:s", time());
-                        $uincbill['st'] = 1;
-                        $uincbill['remark'] = L('币币交易限价出售委托成交');
-                        $uincre = M("bill")->add($uincbill);
-
-                        //扣除冻结的卖出币量并写入日志
-                        $decre = M("user_coin")->where(array('userid' => $uid))->setDec($lowercoin . "d", $coinnum);
-                        $cincbill['uid'] = $uid;
-                        $cincbill['username'] = $v['account'];
-                        $cincbill['num'] = $coinnum;
-                        $cincbill['coinname'] = $lowercoin;
-                        $cincbill['afternum'] = $minfo[$lowercoin] - $coinnum;
-                        $cincbill['type'] = 10;
-                        $cincbill['addtime'] = date("Y-m-d H:i:s", time());
-                        $cincbill['st'] = 2;
-                        $cincbill['remark'] = L('币币交易限价出售委托成交');
-                        $cincre = M("bill")->add($cincbill);
-
-                        if ($savere && $cincre && $uincre) {
-
-                            $notice['uid'] = $uid;
-                            $notice['account'] = $v['account'];
-                            $notice['title'] = L('币币交易限价委托交易');
-                            $notice['content'] = L('币币交易限价购买委托订单出售成功');
-                            $notice['addtime'] = date("Y-m-d H:i:s", time());
-                            $notice['status'] = 1;
-                            M("notice")->add($notice);
-
-                            echo "==委托订单ID:" . $id . ",出售成功==";
+                                $notice['uid'] = $uid;
+                                $notice['account'] = $v['account'];
+                                $notice['title'] = L('币币交易限价委托交易');
+                                $notice['content'] = L('币币交易限价购买委托订单购买成功');
+                                $notice['addtime'] = date("Y-m-d H:i:s", time());
+                                $notice['status'] = 1;
+                                M("notice")->add($notice);
+
+                                echo "==委托订单ID:" . $id . ",购买成功==";
+                            }
+                        } else {
+                            echo "==委托订单ID:" . $id . ",没有达到限价购买价格==";
                         }
 
-                    } else {
-                        echo "==委托订单ID:" . $id . ",没有达到限价出售价格==";
+                        //卖出,当行情价大于等于限价时则交易
+                    } elseif ($type == 2) {
+                        $coinnum = $v['coinnum'];
+                        if ($newprice >= $xjprice) {
+                            //求出卖出所得的USDT量
+                            $allusdt = sprintf("%.8f", ($coinnum * $newprice));
+                            //求出手续费
+                            $fee = $allusdt * $sxfbl / 100;
+                            //求出实际到账USDT量
+                            $tusdtnum = $allusdt - $fee;
+                            //更新订单
+                            $data['usdtnum'] = $tusdtnum;
+                            $data['price'] = $newprice;
+                            $data['tradetime'] = date("Y-m-d H:i:s", time());
+                            $data['fee'] = $fee;
+                            $data['status'] = 2;
+                            $savere = M("bborder")->where(array('id' => $id))->save($data);
+                            //增加卖出所得的USDT量并写入日志
+                            $incre = M("user_coin")->where(array('userid' => $uid))->setInc("usdt", $tusdtnum);
+                            $uincbill['uid'] = $uid;
+                            $uincbill['username'] = $v['account'];
+                            $uincbill['num'] = $tusdtnum;
+                            $uincbill['coinname'] = 'usdt';
+                            $uincbill['afternum'] = $minfo['usdt'] + $tusdtnum;
+                            $uincbill['type'] = 9;
+                            $uincbill['addtime'] = date("Y-m-d H:i:s", time());
+                            $uincbill['st'] = 1;
+                            $uincbill['remark'] = L('币币交易限价出售委托成交');
+                            $uincre = M("bill")->add($uincbill);
+
+                            //扣除冻结的卖出币量并写入日志
+                            $decre = M("user_coin")->where(array('userid' => $uid))->setDec($lowercoin . "d", $coinnum);
+                            $cincbill['uid'] = $uid;
+                            $cincbill['username'] = $v['account'];
+                            $cincbill['num'] = $coinnum;
+                            $cincbill['coinname'] = $lowercoin;
+                            $cincbill['afternum'] = $minfo[$lowercoin] - $coinnum;
+                            $cincbill['type'] = 10;
+                            $cincbill['addtime'] = date("Y-m-d H:i:s", time());
+                            $cincbill['st'] = 2;
+                            $cincbill['remark'] = L('币币交易限价出售委托成交');
+                            $cincre = M("bill")->add($cincbill);
+
+                            if ($savere && $cincre && $uincre) {
+
+                                $notice['uid'] = $uid;
+                                $notice['account'] = $v['account'];
+                                $notice['title'] = L('币币交易限价委托交易');
+                                $notice['content'] = L('币币交易限价购买委托订单出售成功');
+                                $notice['addtime'] = date("Y-m-d H:i:s", time());
+                                $notice['status'] = 1;
+                                M("notice")->add($notice);
+
+                                echo "==委托订单ID:" . $id . ",出售成功==";
+                            }
+
+                        } else {
+                            echo "==委托订单ID:" . $id . ",没有达到限价出售价格==";
+                        }
                     }
+                }else{
+                    echo "未获取到参数";
                 }
             }
         } else {