mysql_db.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. /**
  29. * 查询用户私钥
  30. *
  31. * @param {*} user_address
  32. * @returns
  33. */
  34. function queryUserPrivateKeyFromUserAddress(user_address) {
  35. var sql_main = 'select * from '
  36. var sql_table_name = tablename
  37. var sql_where = ' WHERE '
  38. var sql_where_name = ' user_address= ? '
  39. var sql_where_value = user_address
  40. var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name);
  41. logger.debug('queryUserPrivateKeyFromUserAddress new_sql=', new_sql);
  42. return new Promise((resolve) => {
  43. MYSQL_INSTANCE.query(
  44. new_sql, [sql_where_value],
  45. function selectCb(err, results) {
  46. logger.log('queryUserPrivateKeyFromUserAddress ret=', err, results);
  47. var ret;
  48. if (results && Array.isArray(results) && results.length > 0) {
  49. ret = results[0].user_private_key
  50. } else {
  51. ret = null
  52. }
  53. // resolve 只能传递一个参数
  54. resolve({
  55. err: err,
  56. results: ret
  57. });
  58. }
  59. );
  60. })
  61. }
  62. /**
  63. * 查询用户私钥
  64. *
  65. * @param {*} user_address
  66. * @returns
  67. */
  68. function queryAllUserPrivateKeyAndUserAddress() {
  69. var sql_main = 'select * from '
  70. var sql_table_name = db_config.mysql.TABLENAME
  71. var sql_where = ' order by id desc limit 3'
  72. var sql_where_name = ' '
  73. var new_sql = sql_main.concat(sql_table_name, sql_where, sql_where_name);
  74. logger.debug('queryAllUserPrivateKeyAndUserAddress new_sql=', new_sql);
  75. return new Promise((resolve) => {
  76. MYSQL_INSTANCE.query(
  77. new_sql, [],
  78. function selectCb(err, results) {
  79. if (results && Array.isArray(results) && results.length > 0) {
  80. resolve(results);
  81. } else {
  82. }
  83. }
  84. );
  85. })
  86. }
  87. //查询语句
  88. //SELECT * FROM user_key_manage WHERE user_address='0x049D33EEE7432DB14c50911fAE4a7C38624313aA'
  89. module.exports = {
  90. queryUserPrivateKeyFromUserAddress,
  91. queryAllUserPrivateKeyAndUserAddress
  92. };