collect_coins_db.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. const mysql = require("./mysql_db")
  2. const logger = require('../logger')
  3. var { db_config } = require('../../config/config.js')
  4. const utils = require('../utils.js')
  5. /**
  6. * 创建一个归集任务
  7. * @param {*} opts
  8. * @returns
  9. */
  10. async function create_collect_coins_task(opts) {
  11. logger.log('create_collect_coins_task', opts)
  12. var balances = opts.addressBalances ? opts.addressBalances : ''
  13. var transfers = opts.transfers ? opts.transfers : ''
  14. var prestore_gas_free = opts.prestore_gas_fee ? opts.prestore_gas_fee : ''
  15. var company_public_key = opts.company_public_key ? opts.company_public_key : ''
  16. var total_gas_fee = opts.collectCoinsTotalGasFee ? opts.collectCoinsTotalGasFee : ''
  17. var status = opts.status
  18. var resposes = opts.collects ? opts.collects : ''
  19. var error_msg = opts.errMsg ? opts.errMsg : ''
  20. var create_time = opts.createTime ? opts.createTime : utils.getCurrentDate()
  21. var update_time = utils.getCurrentDate()
  22. var user_address = opts.user_address ? opts.user_address : ''
  23. var create_withdraw_sql = 'INSERT INTO collect_coins_manage (user_address,balances,transfers,prestore_gas_fee,company_public_key,total_gas_fee,status,create_time,update_time,resposes,error_msg)' +
  24. 'VALUES(?,?,?,?,?,?,?,?,?,?,?)'
  25. var create_withdraw_params = [user_address, JSON.stringify(balances), JSON.stringify(transfers), JSON.stringify(prestore_gas_free), company_public_key, total_gas_fee, status, create_time, update_time, resposes, error_msg ? error_msg : '']
  26. logger.log('create_collect_coins_task create_collect_coins_task_sql', create_withdraw_sql, create_withdraw_params);
  27. return new Promise((resolve) => {
  28. mysql.getMySqlInstance().getConnection(function (err, connection) {
  29. if (err) {
  30. logger.error('create_collect_coins_task', err)
  31. logger.error('create_collect_coins_task_sql', create_withdraw_sql)
  32. resolve(null);
  33. return;
  34. }
  35. connection.query(
  36. create_withdraw_sql, create_withdraw_params,
  37. function selectCb(error, results) {
  38. if (error) {
  39. logger.error('create_collect_coins_task', error, create_withdraw_sql, create_withdraw_params)
  40. resolve(null);
  41. return;
  42. }
  43. logger.log('create_collect_coins_task ret=', error, results);
  44. //用完当前连接需要释放,归还给连接池
  45. connection.release();
  46. resolve({
  47. err: error,
  48. results: results.insertId
  49. });
  50. }
  51. );
  52. })
  53. })
  54. }
  55. /**
  56. * 更新归集任务
  57. * @param {*} opts
  58. * @returns
  59. */
  60. async function update_collect_coins_task(opts) {
  61. logger.log('update_collect_coins_task', opts)
  62. var balances = opts.addressBalances ? opts.addressBalances : ''
  63. var transfers = opts.transfers ? opts.transfers : ''
  64. var prestore_gas_free = opts.prestore_gas_fee ? opts.prestore_gas_fee : ''
  65. var company_public_key = opts.company_public_key ? opts.company_public_key : ''
  66. var total_gas_fee = opts.collectCoinsTotalGasFee ? opts.collectCoinsTotalGasFee : ''
  67. var status = opts.status
  68. var resposes = opts.collects ? opts.collects : ''
  69. var error_msg = opts.errMsg ? opts.errMsg : ''
  70. var create_time = opts.createTime ? opts.createTime : utils.getCurrentDate()
  71. var update_time = utils.getCurrentDate()
  72. var user_address = opts.user_address ? opts.user_address : ''
  73. var create_withdraw_sql = 'INSERT INTO collect_coins_manage (user_address,balances,transfers,prestore_gas_fee,company_public_key,total_gas_fee,status,create_time,update_time,resposes,error_msg)' +
  74. 'VALUES(?,?,?,?,?,?,?,?,?,?,?)'
  75. var create_withdraw_params = [user_address, JSON.stringify(balances), JSON.stringify(transfers), JSON.stringify(prestore_gas_free), company_public_key, total_gas_fee, status, create_time, update_time, resposes, error_msg ? error_msg : '']
  76. logger.log('update_collect_coins_task update_collect_coins_task_sql', create_withdraw_sql, create_withdraw_params);
  77. return new Promise((resolve) => {
  78. mysql.getMySqlInstance().getConnection(function (err, connection) {
  79. if (err) {
  80. logger.error('update_collect_coins_task', err)
  81. logger.error('update_collect_coins_task_sql', create_withdraw_sql)
  82. resolve(null);
  83. return;
  84. }
  85. connection.query(
  86. create_withdraw_sql, create_withdraw_params,
  87. function selectCb(error, results) {
  88. if (error) {
  89. logger.error('update_collect_coins_task', error, create_withdraw_sql, create_withdraw_params)
  90. resolve(null);
  91. return;
  92. }
  93. logger.log('update_collect_coins_task ret=', error, results);
  94. //用完当前连接需要释放,归还给连接池
  95. connection.release();
  96. resolve({
  97. err: error,
  98. results: results.insertId
  99. });
  100. }
  101. );
  102. })
  103. })
  104. }
  105. module.exports = {
  106. create_collect_coins_task,
  107. update_collect_coins_task,
  108. }