collect_coins_db.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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 chain = opts.chain
  24. 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,chain)' +
  25. 'VALUES(?,?,?,?,?,?,?,?,?,?,?,?)'
  26. var chain = opts.chain
  27. 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 : '',chain]
  28. logger.log('create_collect_coins_task create_collect_coins_task_sql', create_withdraw_sql, create_withdraw_params);
  29. return new Promise((resolve) => {
  30. mysql.getMySqlInstance().getConnection(function (err, connection) {
  31. if (err) {
  32. logger.error('create_collect_coins_task', err)
  33. logger.error('create_collect_coins_task_sql', create_withdraw_sql)
  34. resolve(null);
  35. return;
  36. }
  37. connection.query(
  38. create_withdraw_sql, create_withdraw_params,
  39. function selectCb(error, results) {
  40. if (error) {
  41. logger.error('create_collect_coins_task', error, create_withdraw_sql, create_withdraw_params)
  42. resolve(null);
  43. return;
  44. }
  45. logger.log('create_collect_coins_task ret=', error, results);
  46. //用完当前连接需要释放,归还给连接池
  47. connection.release();
  48. resolve({
  49. err: error,
  50. results: results.insertId
  51. });
  52. }
  53. );
  54. })
  55. })
  56. }
  57. /**
  58. * 更新归集任务
  59. * @param {*} opts
  60. * @returns
  61. */
  62. async function update_collect_coins_task(opts) {
  63. logger.log('update_collect_coins_task', opts)
  64. var balances = opts.addressBalances ? opts.addressBalances : ''
  65. var transfers = opts.transfers ? opts.transfers : ''
  66. var prestore_gas_free = opts.prestore_gas_fee ? opts.prestore_gas_fee : ''
  67. var company_public_key = opts.company_public_key ? opts.company_public_key : ''
  68. var total_gas_fee = opts.collectCoinsTotalGasFee ? opts.collectCoinsTotalGasFee : ''
  69. var status = opts.status
  70. var resposes = opts.collects ? opts.collects : ''
  71. var error_msg = opts.errMsg ? opts.errMsg : ''
  72. var create_time = opts.createTime ? opts.createTime : utils.getCurrentDate()
  73. var update_time = utils.getCurrentDate()
  74. var user_address = opts.user_address ? opts.user_address : ''
  75. 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)' +
  76. 'VALUES(?,?,?,?,?,?,?,?,?,?,?)'
  77. 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 : '']
  78. logger.log('update_collect_coins_task update_collect_coins_task_sql', create_withdraw_sql, create_withdraw_params);
  79. return new Promise((resolve) => {
  80. mysql.getMySqlInstance().getConnection(function (err, connection) {
  81. if (err) {
  82. logger.error('update_collect_coins_task', err)
  83. logger.error('update_collect_coins_task_sql', create_withdraw_sql)
  84. resolve(null);
  85. return;
  86. }
  87. connection.query(
  88. create_withdraw_sql, create_withdraw_params,
  89. function selectCb(error, results) {
  90. if (error) {
  91. logger.error('update_collect_coins_task', error, create_withdraw_sql, create_withdraw_params)
  92. resolve(null);
  93. return;
  94. }
  95. logger.log('update_collect_coins_task ret=', error, results);
  96. //用完当前连接需要释放,归还给连接池
  97. connection.release();
  98. resolve({
  99. err: error,
  100. results: results.insertId
  101. });
  102. }
  103. );
  104. })
  105. })
  106. }
  107. module.exports = {
  108. create_collect_coins_task,
  109. update_collect_coins_task,
  110. }