Candy há 6 anos atrás
pai
commit
27909d6bb4

+ 3 - 3
thinkphp/TCPserver/config.php

@@ -30,8 +30,8 @@ define('DB_HOST', '127.0.0.1');
 define('DB_PORT', 3306);
 define('DB_USERNAME', 'root');
 define('DB_PASSWORD', 'root');    */
-define('DB_NAME', 'gendan');
-define('DB_HOST', '47.106.182.13');
+define('DB_NAME', 'mt5');
+define('DB_HOST', '103.230.218.164');
 define('DB_PORT', 3306);
 define('DB_USERNAME', 'root');
-define('DB_PASSWORD', 'Elmo@666');
+define('DB_PASSWORD', 'titan666');

+ 18 - 22
thinkphp/TCPserver/tcpServer.php

@@ -37,7 +37,7 @@ $workerTcp->onWorkerStart = function ($workerTcp) {
     global $index;                               //insert管理数据序号
     global $send_order;                          //insert全局的订单号
     global $seqnum;
-
+    global $message;
     global $rollback_data;                       //rollback数据
     global $rollback_index;                      //rollback 管理数据序号
 
@@ -46,6 +46,7 @@ $workerTcp->onWorkerStart = function ($workerTcp) {
 
     global $retry_rollback_data;                 //retry表中rollback数据
     global $retry_rollback_index;                //retry表rollback管理数据的序号
+    $message = 0;
     $seqnum = 1;
     $db     = new Connection(DB_HOST, DB_PORT, DB_USERNAME, DB_PASSWORD, DB_NAME);  //本地数据库的配置
 
@@ -88,6 +89,11 @@ $workerTcp->onWorkerStart = function ($workerTcp) {
             global $index;              //传递的index
             global $send_data;          //全局的数据
             global $send_order;         //全局的订单号码
+            global $message;
+            if(isset($msg['mssage'])){
+                $message = 1;
+                unset($msg['mssage']);
+            }
             $insert_data = $msg['data'];
             $insert_data = array_chunk($insert_data, 12);      //每十个是一个数组
             $send_data   = $insert_data;   //传递的数据
@@ -135,10 +141,10 @@ $workerTcp->onWorkerStart = function ($workerTcp) {
 
 
     // 向远处的服务器发送信息===========================================================
-    $connection_to_tcp = new AsyncTcpConnection('tcp://119.23.51.113:10008');
+    //$connection_to_tcp = new AsyncTcpConnection('tcp://119.23.51.113:10008');
     //$connection_to_tcp = new AsyncTcpConnection('tcp://127.0.0.1:1235');
     //$connection_to_tcp = new AsyncTcpConnection('tcp://192.168.5.111:10009');
-
+    $connection_to_tcp = new AsyncTcpConnection('tcp://103.230.218.164:10008');
     $connection_to_tcp->onConnect = function ($connection_to_tcp) {
         // 发送心跳信息
         $connection_to_tcp->send('{"type":"ping"}' . "\n");
@@ -351,17 +357,7 @@ function tcpMessHandle($data)
                 if ($value['error_code'] == -2) {
                     return false;
                 } else {
-                    /* $msg_child['type'] =       $msg['type'];
-                     $msg_child['orig_order'] = $msg['orig_order'];
-                     $msg_child['orig_login'] = $msg['orig_login'];
-                     $msg_child['dest_login'] = $value['dest_login'];
-                     $msg_child['dest_order'] = $value['dest_order'];
-                     $msg_child['percentage'] = $value['percentage'];
-                     $msg_child['profit']     = $value['profit'];
-                     $msg_child['error_code'] = $value['error_code'];
-                     $msg_child['addtime']=time();       //添加时间
-                     $result =  $db->insert('order_progress')->cols($msg_child)->query();         //向order_progress插入数据
-                     $result1 = $db->insert('order_save')->cols($msg_child)->query();             //向order_save插入数据*/
+
                     $time = time();
                     $arr .= "(" . "'{$msg['type']}'" . "," . $msg['orig_order'] . "," . $msg['orig_login'] . "," . $value['dest_login'] . "," . $value['dest_order'] . "," . $value['percentage'] . "," . $value['profit'] . "," . $value['error_code'] . "," . $time . ")" . ",";
 
@@ -441,12 +437,12 @@ function tcpMessHandle($data)
 
         if ($msg['type'] == "except_rollback") {       //retry表中的Rollback请求 (有数据库操作,插入并看看是否需要直接返回给前端)
             $recv_buffer = "";
-            if (!isset($msg['seqnum'])) {
+           /* if (!isset($msg['seqnum'])) {
                 return false;
             }
             if ($seqnum != $msg['seqnum']) {
                 return false;
-            }
+            }*/
          /*   ack($msg["seqnum"]);
             $seqnum++;*/
             $retry_rollback_index++;       //将数据加一
@@ -498,12 +494,12 @@ function tcpMessHandle($data)
 
 
         if ($msg['type'] == "retry") {                //
-            if (!isset($msg['seqnum'])) {
+           /* if (!isset($msg['seqnum'])) {
                 return false;
             }
             if ($seqnum != $msg['seqnum']) {
                 return false;
-            }
+            }*/
            /* ack($msg["seqnum"]);
             $seqnum++;*/
             $retry_index++;                           //将数据加一
@@ -580,8 +576,10 @@ function sendToWebServer($data)
 function sendTo_tcp_Server($data){
     global $connection_to_tcp;
     global $seqnum;
-    $data['seqnum'] = $seqnum;
+   // $data['seqnum'] = $seqnum;
     log_file($data);
+    echo "发送给接口的信息";
+    var_dump($data);
    $connection_to_tcp->send(json_encode($data) . "\n");
 }
 
@@ -597,9 +595,7 @@ function send_insert($data,$index=0,$order){
         $send_child['percentage'] = $value['ladder'];          //梯度
         array_push($send['dest'],$send_child);
     }
-    echo "发送的数据";
-    var_dump($send);
-    return false;
+
     sendTo_tcp_Server($send); 
 }
 

+ 15 - 5
thinkphp/TCPserver/webserver.php

@@ -80,11 +80,21 @@ $workerWs->onMessage = function ($connection, $data) {
                     ]);
                     break;
                 case "vue_insert":                             //插入发送内容
-                    sendToTcp([
-                        'type' => 'insert',
-                        'orderid' => $msg['orderid'],
-                        'data'=> $msg['data'],
-                    ]);
+                    if(isset($msg['message'])){
+                        sendToTcp([
+                            'type' => 'insert',
+                            'message' => 'ErrorInsert',
+                            'orderid' => $msg['orderid'],
+                            'data'=> $msg['data'],
+                        ]);
+                    }else{
+                        sendToTcp([
+                            'type' => 'insert',
+                            'orderid' => $msg['orderid'],
+                            'data'=> $msg['data'],
+                        ]);
+                    }
+
                     break;
                 case "vue_rollback":                           //Rollback请求
                     sendToTcp([

+ 193 - 0
thinkphp/TCPserver/workerman.log

@@ -1823,3 +1823,196 @@ Stack trace:
 #11 D:\view1\thinkphp\TCPserver\tcpServer.php(754): Workerman\Worker::runAll()
 #12 {main}
 2019-07-03 10:04:17 pid:1 Worker process terminated
+2019-07-03 14:14:00 pid:1 PDOException: SQL:INSERT INTO order_progress(type,orig_order,orig_login,dest_login,dest_order,percentage,profit,error_code,addtime) VALUES SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1772
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#1 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"error_code":-...')
+#3 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#4 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#5 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #38)
+#6 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#11 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(753): Workerman\Worker::runAll()
+#12 {main}
+2019-07-03 14:14:00 pid:1 Worker process terminated
+2019-07-03 14:15:00 pid:1 PDOException: SQL:INSERT INTO order_progress(type,orig_order,orig_login,dest_login,dest_order,percentage,profit,error_code,addtime) VALUES SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1772
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#1 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"error_code":-...')
+#3 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#4 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#5 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #35)
+#6 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#11 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(753): Workerman\Worker::runAll()
+#12 {main}
+2019-07-03 14:15:00 pid:1 Worker process terminated
+2019-07-03 14:16:41 pid:1 PDOException: SQL:INSERT INTO order_progress(type,orig_order,orig_login,dest_login,dest_order,percentage,profit,error_code,addtime) VALUES SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1772
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#1 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"error_code":-...')
+#3 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#4 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#5 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #35)
+#6 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#11 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(753): Workerman\Worker::runAll()
+#12 {main}
+2019-07-03 14:16:41 pid:1 Worker process terminated
+2019-07-04 09:49:40 pid:1 PDOException: SQL:INSERT INTO order_progress(type,orig_order,orig_login,dest_login,dest_order,percentage,profit,error_code,addtime) VALUES SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1772
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#1 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"error_code":-...')
+#3 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#4 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#5 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #38)
+#6 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#11 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(753): Workerman\Worker::runAll()
+#12 {main}
+2019-07-04 09:49:40 pid:1 Worker process terminated
+2019-07-04 14:51:34 pid:1 PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1755
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1755): PDO->prepare('INSERT INTO ord...')
+#1 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#3 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"error_code":-...')
+#4 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#5 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#6 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #120)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#11 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#12 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(754): Workerman\Worker::runAll()
+#13 {main}
+2019-07-04 14:51:34 pid:1 Worker process terminated
+2019-07-04 14:52:27 pid:1 PDOException: SQL:INSERT INTO order_progress(type,orig_order,orig_login,dest_login,dest_order,percentage,profit,error_code,addtime) VALUES SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1772
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#1 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"error_code":-...')
+#3 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#4 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#5 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #40)
+#6 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#11 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(754): Workerman\Worker::runAll()
+#12 {main}
+2019-07-04 14:52:27 pid:1 Worker process terminated
+2019-07-04 14:54:44 pid:1 PDOException: SQL:INSERT INTO order_progress(type,orig_order,orig_login,dest_login,dest_order,percentage,profit,error_code,addtime) VALUES SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1772
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#1 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"error_code":-...')
+#3 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#4 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"error_code":-...')
+#5 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #40)
+#6 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#11 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(755): Workerman\Worker::runAll()
+#12 {main}
+2019-07-04 14:54:44 pid:1 Worker process terminated
+2019-07-05 11:04:49 pid:1 PDOException: SQL:INSERT INTO order_progress(type,orig_order,orig_login,dest_login,dest_order,percentage,profit,error_code,addtime) VALUES SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1772
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#1 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"dest":[],"ori...')
+#3 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"dest":[],"ori...')
+#4 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"dest":[],"ori...')
+#5 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #130)
+#6 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#11 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(755): Workerman\Worker::runAll()
+#12 {main}
+2019-07-05 11:04:49 pid:1 Worker process terminated
+2019-07-05 11:09:44 pid:1 PDOException: SQL:INSERT INTO order_progress(type,orig_order,orig_login,dest_login,dest_order,percentage,profit,error_code,addtime) VALUES SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1772
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#1 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"dest":[],"ori...')
+#3 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"dest":[],"ori...')
+#4 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"dest":[],"ori...')
+#5 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #54)
+#6 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#11 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(755): Workerman\Worker::runAll()
+#12 {main}
+2019-07-05 11:09:44 pid:1 Worker process terminated
+2019-07-05 11:12:57 pid:1 PDOException: SQL:INSERT INTO order_progress(type,orig_order,orig_login,dest_login,dest_order,percentage,profit,error_code,addtime) VALUES SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1772
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#1 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"dest":[],"ori...')
+#3 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"dest":[],"ori...')
+#4 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"dest":[],"ori...')
+#5 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #36)
+#6 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#11 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(755): Workerman\Worker::runAll()
+#12 {main}
+2019-07-05 11:12:57 pid:1 Worker process terminated
+2019-07-05 11:13:51 pid:1 PDOException: SQL:INSERT INTO order_progress(type,orig_order,orig_login,dest_login,dest_order,percentage,profit,error_code,addtime) VALUES SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1772
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#1 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"dest":[],"ori...')
+#3 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"dest":[],"ori...')
+#4 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"dest":[],"ori...')
+#5 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #36)
+#6 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#11 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(755): Workerman\Worker::runAll()
+#12 {main}
+2019-07-05 11:13:51 pid:1 Worker process terminated
+2019-07-05 11:19:00 pid:1 PDOException: SQL:INSERT INTO order_progress(type,orig_order,orig_login,dest_login,dest_order,percentage,profit,error_code,addtime) VALUES SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php:1772
+Stack trace:
+#0 D:\kshmt5\thinkphp\vendor\mysql\src\Connection.php(1830): Workerman\MySQL\Connection->execute('INSERT INTO ord...', NULL)
+#1 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(374): Workerman\MySQL\Connection->query('INSERT INTO ord...')
+#2 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(202): tcpMessHandle('{"dest":[],"ori...')
+#3 [internal function]: {closure}(Object(Workerman\Connection\AsyncTcpConnection), '{"dest":[],"ori...')
+#4 D:\kshmt5\thinkphp\vendor\workerman\Connection\TcpConnection.php(673): call_user_func(Object(Closure), Object(Workerman\Connection\AsyncTcpConnection), '{"dest":[],"ori...')
+#5 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #41)
+#6 D:\kshmt5\thinkphp\vendor\workerman\Events\Select.php(289): call_user_func_array(Array, Array)
+#7 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(2235): Workerman\Events\Select->loop()
+#8 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1225): Workerman\Worker->run()
+#9 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(1168): Workerman\Worker::forkWorkersForWindows()
+#10 D:\kshmt5\thinkphp\vendor\workerman\Worker.php(478): Workerman\Worker::forkWorkers()
+#11 D:\kshmt5\thinkphp\TCPserver\tcpServer.php(755): Workerman\Worker::runAll()
+#12 {main}
+2019-07-05 11:19:00 pid:1 Worker process terminated

+ 4 - 4
thinkphp/application/database.php

@@ -16,12 +16,12 @@ return [
    //'hostname'        => 'st.titanera.com',
     //'hostname'        => '192.168.5.104',
     //'hostname'        => '192.168.5.110',
-    'hostname'        => '47.106.182.13',
+    'hostname'        => '103.230.218.164',
    // 'hostname'        => '',
     // 数据库名
     //'database'        => 'monk_live',
-    'database'        => 'gendan',
-    //'database'        => 'view',
+    'database'        => 'mt5',
+
 
     // 用户名
     //'username'        => 'root',
@@ -29,7 +29,7 @@ return [
     //'username'        => 'root',
     // 密码
     //'password'        => 'abc123',
-    'password'        => 'Elmo@666',
+    'password'        => 'titan666',
     //'password'        => 'root',
     // 端口
     'hostport'        => '',

+ 32 - 16
thinkphp/application/index/controller/Index.php

@@ -36,9 +36,9 @@ class Index extends ApiCommon
 
                         $value = str_replace("?","",$value);
                         if($pos_one==0){
-                            $where1['GROUP'] = ['like','_'.$value];         //前面一个字符的选择 
+                            $where1['Group'] = ['like','_'.$value];         //前面一个字符的选择
                         }else{
-                            $where1['GROUP'] = ['like',$value.'_'];         //后面一个字符的选择
+                            $where1['Group'] = ['like',$value.'_'];         //后面一个字符的选择
                         }
 
                         unset($group[$key]);
@@ -47,36 +47,40 @@ class Index extends ApiCommon
                     
                     $value = str_replace("*","",$value);
                     if($pos==0){
-                        $where2['GROUP'] = ['like','%'.$value];         //前面多个字符的选择
+                        $where2['Group'] = ['like','%'.$value];         //前面多个字符的选择
                     }else{
-                        $where2['GROUP'] = ['like',$value.'%'];         //后面多个字符的选择
+                        $where2['Group'] = ['like',$value.'%'];         //后面多个字符的选择
                     } 
                     unset($group[$key]);
                 }
 
             }
             
-            $where['GROUP'] = ['in',$group];       //精准选择(组的成员)
-            $whereuser['LOGIN']=['in',$user];      //精准选择(用户成员)
+            $where['Group'] = ['in',$group];       //精准选择(组的成员)
+            $whereuser['Login']=['in',$user];      //精准选择(用户成员)
 
-            $result = Db::name('mt4_users')->where($where)->whereOr($where1)->whereOr($where2)->whereOr($whereuser)->distinct(true)->select();  //筛选函数
+            $result = Db::name('mt5_users')->where($where)->whereOr($where1)->whereOr($where2)->whereOr($whereuser)->distinct(true)->select();  //筛选函数
 
             $result1 = Db::name('order_progress')->where(['orig_order'=>$order])->select();  //筛选函数(当前跟踪的订单)
-            
-           
 
             //外层筛选出来之前做过的订单
             foreach ($result as $key => $value) {
-                
                 //自己选择的用户
+                $result[$key]['LOGIN'] = $value["Login"];
+                $result[$key]['NAME'] = $value['Name'];
+                $result[$key]['GROUP'] = $value['Group'];
+                $result[$key]['BALANCE'] = $value['Balance'];
                 foreach ($result1 as $k => $v) {
-                    if($value['LOGIN']==$v['dest_login']){
+                    if($value['Login']==$v['dest_login']){
                         unset($result[$key]);
                     }
                 }
 
             }
+
             $result = array_values($result);          //重新组织数组的键值对
+
+
             if($result){
                 
                 return json(['code'=>'00','user'=>$result,'msg'=>'获得数据成功']);
@@ -102,11 +106,23 @@ class Index extends ApiCommon
         if ($request->isPost()){
 
             $data = input(); //获取订单的信息
-
-            $result = Db::name('mt4_trades')->where(['TICKET'=>$data['orderid']])->find();  //从数据库获取到订单信息
-            if($result){
-
-                return json(['code'=>'00','data'=>$result,'msg'=>'获得数据成功']);
+            //从数据库获取到订单信息
+            $OpenResult = Db::query("select PriceCurrent,TimeSetup from mt5_orders_history where PositionID={$data['orderid']} and type='0'");
+            $closeResult = Db::name("mt5_orders_history")->where(["PositionID"=>$data['orderid'],"type"=>"1"])->find();
+
+            if($OpenResult && $closeResult){
+                $closeResult['OPEN_PRICE'] = $OpenResult['0']["PriceCurrent"];
+                $closeResult['OPEN_TIME'] = $OpenResult['0']["TimeSetup"];
+                $closeResult['CLOSE_TIME'] = $closeResult['TimeSetup'];
+                $closeResult['CLOSE_PRICE'] = $closeResult['PriceCurrent'];
+                $closeResult['LOGIN'] = $closeResult['Login'];
+                $closeResult['TICKET'] = $closeResult['PositionID'];
+                $closeResult['SYMBOL'] = $closeResult['Symbol'];
+                $closeResult['VOLUME'] = $closeResult['Digits'];
+                $closeResult['TP'] = $closeResult['PriceTP'];
+                $closeResult['SL'] = $closeResult['PriceSL'];
+                $closeResult['SL'] = $closeResult['PriceSL'];
+                return json(['code'=>'00','data'=>$closeResult,'msg'=>'获得数据成功']);
 
             }else{
 

+ 13 - 12
vue-admin-master/src/views/nav1/Table.vue

@@ -192,10 +192,10 @@
 		</el-table>
 		<!--底部工具条-->
 		<el-col :span="10" class="toolbar" v-if="lock_order" style="width:100%;">
-			<el-button type="danger"  @click="Retry"              :disabled="this.retry_sels.length===0"  :loading="loading_retry" >Retry</el-button>
-			<el-button type="danger"  @click="Retry_all"                                                  :loading="loading_retry" >Retry执行全部</el-button>
-			<el-button type="success" @click="ErrorInsert"     :disabled="this.retry_sels.length===0"  :loading="loading_retry" >Insert</el-button>
-			<el-button type="success" @click="ErrorInsert_all"                                         :loading="loading_retry" >Insert执行全部</el-button>
+			<el-button type="danger"  @click="ErrorInsert"              :disabled="this.retry_sels.length===0"  :loading="loading_retry" >Insert</el-button>
+			<el-button type="danger"  @click="ErrorInsert_all"                                                  :loading="loading_retry" >Insert执行全部</el-button>
+			<el-button type="success" @click="Rollback_retry"     :disabled="this.retry_sels.length===0"  :loading="loading_retry" >Rollback</el-button>
+			<el-button type="success" @click="Rollback_retry_all"                                         :loading="loading_retry" >Rollback全部</el-button>
 			<el-button type="warning" @click="retry_query">刷新</el-button>
 			<el-pagination layout="total,sizes,prev, pager, next,jumper" @current-change="retryCurrentChange"  @size-change="retrySizeChange"   :page-sizes="[100, 200, 300, 500,1000,2000,retry_total]"  :page-size="retry_page_size" :total="retry_total" style="float:right;"></el-pagination>
 		</el-col>
@@ -389,7 +389,7 @@
 								}else{
                                     this.orderloading = false;
                                     this.loading_getorder = false;
-									
+									this.$message.error(msg);
 								}
 							} else {
 
@@ -610,7 +610,7 @@
 				this.$confirm('确认操作吗?', '提示', {
 					//type: 'warning'
 				}).then(() => {
-					console.log('rollback函数');
+					console.log('ErrorInsert函数');
                     // 二次确认密码
 					this.$prompt('请输入密码', '提示', {
 						confirmButtonText: '确定',
@@ -622,24 +622,25 @@
 							if (response.status == 200 && response.status < 300) {
 								let { msg, code } = response.data;
 								if(code=="00"){
-								    console.log('retry_insert');
+								    console.log('ErrorInsert');
 									// 验证成功开始执行rollback操作    retry_sels
 								
 									if(_this.retry_sels.length==0){
 										_this.$message.error("没有任何选择");
 										return false;
 									}
-									_this.rollback_index = 0;
-									_this.loading_rollback = true;
+									_this.retry_index =0;
+									_this.loading_retry = true;
 									_this.dialogVisible = true;
+								
 									let data_insert={};
 									data_insert.type = 'vue_insert'; 
 									
-									
+									data_insert.message = 'ErrorInsert';
 									for( var i in _this.retry_sels){
 										
-										_this.retry_sels[i].LOGIN = _this.retry_sels[i].dest_login;
-										_this.retry_sels[i].ladder = _this.retry_sels[i].percentage;
+										_this.retry_sels[i].LOGIN = parseInt(_this.retry_sels[i].dest_login);
+										_this.retry_sels[i].ladder = parseInt(_this.retry_sels[i].percentage);
 									}
 									data_insert.orderid = _this.retry_sels[i].orig_order;
 									data_insert.data = _this.retry_sels;