mysql_db.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. // mysql 学习资料
  2. //https://www.runoob.com/nodejs/nodejs-mysql.html
  3. //https://blog.csdn.net/hbiao68/article/details/89097853
  4. var mysql = require('mysql');
  5. var { db_config } = require('../config/config.js')
  6. const logger = require('./logger')
  7. var port = db_config.mysql.PORT
  8. var host = db_config.mysql.HOST
  9. var username = db_config.mysql.USERNAME
  10. var password = db_config.mysql.PASSWORD
  11. var database = db_config.mysql.DATABASE
  12. var tablename = db_config.mysql.TABLENAME
  13. var MYSQL_INSTANCE = mysql.createConnection({
  14. host: host,
  15. user: username,
  16. password: password,
  17. port: port,
  18. database: database,
  19. });
  20. logger.log('connected to mysql ps=', db_config.mysql)
  21. MYSQL_INSTANCE.on('connect', () => {
  22. logger.log('connected to mysql')
  23. })
  24. MYSQL_INSTANCE.on('error', function (err) {
  25. logger.log('mysql Error =>', err);
  26. });
  27. MYSQL_INSTANCE.connect();
  28. function queryCompanyInfoFromId(id) {
  29. var sql_main = 'select * from '
  30. var sql_table_name = 'company_key_manage'
  31. var sql_where = ' WHERE '
  32. var sql_where_name = ' id= ? '
  33. var sql_where_value = id
  34. var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name);
  35. logger.debug('queryCompanyPrivateKeyFromId new_sql=', new_sql);
  36. return new Promise((resolve) => {
  37. MYSQL_INSTANCE.query(
  38. new_sql, [sql_where_value],
  39. function selectCb(err, results) {
  40. logger.log('queryCompanyPrivateKeyFromId ret=', err, results);
  41. var ret;
  42. if (results && Array.isArray(results) && results.length > 0) {
  43. ret = results[0]
  44. } else {
  45. ret = null
  46. }
  47. // resolve 只能传递一个参数
  48. resolve({
  49. err: err,
  50. results: ret
  51. });
  52. }
  53. );
  54. })
  55. }
  56. /**
  57. * 查询用户私钥
  58. *
  59. * @param {*} user_address
  60. * @returns
  61. */
  62. function queryUserPrivateKeyFromUserAddress(user_address) {
  63. var sql_main = 'select * from '
  64. var sql_table_name = tablename
  65. var sql_where = ' WHERE '
  66. var sql_where_name = ' user_address= ? '
  67. var sql_where_value = user_address
  68. var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name);
  69. logger.debug('queryUserPrivateKeyFromUserAddress new_sql=', new_sql);
  70. return new Promise((resolve) => {
  71. MYSQL_INSTANCE.query(
  72. new_sql, [sql_where_value],
  73. function selectCb(err, results) {
  74. logger.log('queryUserPrivateKeyFromUserAddress ret=', err, results);
  75. var ret;
  76. if (results && Array.isArray(results) && results.length > 0) {
  77. ret = results[0].user_private_key
  78. } else {
  79. ret = null
  80. }
  81. // resolve 只能传递一个参数
  82. resolve({
  83. err: err,
  84. results: ret
  85. });
  86. }
  87. );
  88. })
  89. }
  90. /**
  91. * 查询用户私钥
  92. *
  93. * @param {*} user_address
  94. * @returns
  95. */
  96. function queryAllUserPrivateKeyAndUserAddress() {
  97. var sql_main = 'select * from '
  98. var sql_table_name = db_config.mysql.TABLENAME
  99. var sql_where = ' order by id desc limit 3'
  100. var sql_where_name = ' '
  101. var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name);
  102. logger.debug('queryAllUserPrivateKeyAndUserAddress new_sql=', new_sql);
  103. return new Promise((resolve) => {
  104. MYSQL_INSTANCE.query(
  105. new_sql, [],
  106. function selectCb(err, results) {
  107. if (results && Array.isArray(results) && results.length > 0) {
  108. resolve(results);
  109. } else {
  110. }
  111. }
  112. );
  113. })
  114. }
  115. //查询语句
  116. //SELECT * FROM user_key_manage WHERE user_address='0x049D33EEE7432DB14c50911fAE4a7C38624313aA'
  117. module.exports = {
  118. queryUserPrivateKeyFromUserAddress,
  119. queryAllUserPrivateKeyAndUserAddress,
  120. queryCompanyInfoFromId,
  121. };