| 
					
				 | 
			
			
				@@ -12,13 +12,35 @@ var username = db_config.mysql.USERNAME 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var password = db_config.mysql.PASSWORD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var database = db_config.mysql.DATABASE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var tablename = db_config.mysql.TABLENAME 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var MYSQL_INSTANCE = mysql.createConnection({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var opts = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     host: host, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     user: username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     password: password, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     port: port, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     database: database, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var MYSQL_INSTANCE = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// opts.connectionLimit = 10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// MYSQL_INSTANCE = mysql.createPool(opts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+createDefMysqlConnect(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function createDefMysqlConnect() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    disDefMysqlConnect(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    logger.log('createDefMysqlConnect') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    MYSQL_INSTANCE = mysql.createConnection(opts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    MYSQL_INSTANCE.connect(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function disDefMysqlConnect() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (MYSQL_INSTANCE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MYSQL_INSTANCE.end(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MYSQL_INSTANCE = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.debug('dis mysql') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // logger.log('connected to mysql ps=', db_config.mysql) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 MYSQL_INSTANCE.on('connect', () => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26,11 +48,42 @@ MYSQL_INSTANCE.on('connect', () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 MYSQL_INSTANCE.on('error', function (err) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    logger.log('mysql  Error =>', err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    logger.error('mysql  Error =>', err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+MYSQL_INSTANCE.on('restart', function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    logger.error('mysql  restart =>'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-MYSQL_INSTANCE.connect(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+MYSQL_INSTANCE.on('acquire', function (connection) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    logger.log('Connection %d acquired', connection.threadId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+MYSQL_INSTANCE.on('connection', function (connection) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    logger.log('mysql connection', connection); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+MYSQL_INSTANCE.on('enqueue', function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    logger.log('Waiting for available connection slot'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+MYSQL_INSTANCE.on('release', function (connection) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    logger.log('Connection %d released', connection.threadId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// MYSQL_INSTANCE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+MYSQL_INSTANCE.on('uncaughtException', function (err) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    logger.error('mysql uncaughtException  =>', err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (err.code == "PROTOCOL_CONNECTION_LOST") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // mysql.restart(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function queryCompanyInfoFromId(id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    createDefMysqlConnect() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var sql_main = 'select * from ' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var sql_table_name = 'company_key_manage' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var sql_where = ' WHERE ' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39,6 +92,7 @@ function queryCompanyInfoFromId(id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     logger.debug('queryCompanyPrivateKeyFromId new_sql=', new_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return new Promise((resolve) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // MYSQL_INSTANCE.getConnection(function (err, connection) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MYSQL_INSTANCE.query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             new_sql, [sql_where_value], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             function selectCb(err, results) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54,12 +108,15 @@ function queryCompanyInfoFromId(id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     err: err, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     results: ret 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                disDefMysqlConnect(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 查询用户私钥 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  *  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -67,6 +124,7 @@ function queryCompanyInfoFromId(id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @returns  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function queryUserPrivateKeyFromUserAddress(user_address) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    createDefMysqlConnect() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var sql_main = 'select * from ' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var sql_table_name = tablename 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var sql_where = ' WHERE ' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -75,6 +133,8 @@ function queryUserPrivateKeyFromUserAddress(user_address) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     logger.debug('queryUserPrivateKeyFromUserAddress new_sql=', new_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return new Promise((resolve) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // MYSQL_INSTANCE.getConnection(function (err, connection) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MYSQL_INSTANCE.query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             new_sql, [sql_where_value], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             function selectCb(err, results) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -90,8 +150,13 @@ function queryUserPrivateKeyFromUserAddress(user_address) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     err: err, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     results: ret 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                disDefMysqlConnect(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -109,7 +174,9 @@ function queryAllUserPrivateKeyAndUserAddress() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var sql_where_name = '  ' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     logger.debug('queryAllUserPrivateKeyAndUserAddress new_sql=', new_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    createDefMysqlConnect() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return new Promise((resolve) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // MYSQL_INSTANCE.getConnection(function (err, connection) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MYSQL_INSTANCE.query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             new_sql, [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             function selectCb(err, results) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -119,6 +186,8 @@ function queryAllUserPrivateKeyAndUserAddress() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        disDefMysqlConnect(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |