remote_config_db.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  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. */
  8. async function isPause(type) {
  9. var sql = 'select * from remote_config WHERE type=? '
  10. var par = [type]
  11. logger.info('isPause', sql, par)
  12. return new Promise((resolve) => {
  13. mysql.getMySqlInstance().getConnection(function (err, connection) {
  14. if (err) {
  15. logger.error('isPause', err)
  16. logger.error('isPause', sql)
  17. resolve(null);
  18. return;
  19. }
  20. connection.query(
  21. sql, par,
  22. function selectCb(error, results) {
  23. if (error) {
  24. logger.error('isPause', error, sql, par)
  25. resolve(1);
  26. return;
  27. }
  28. logger.log('isPause ret=', error, results);
  29. //用完当前连接需要释放,归还给连接池
  30. connection.release();
  31. if (results && Array.isArray(results) && results.length > 0) {
  32. resolve(results[0].pause);
  33. } else {
  34. resolve(1);
  35. }
  36. }
  37. );
  38. })
  39. })
  40. }
  41. /**
  42. * 是否暂停归集动作
  43. */
  44. async function tokenCollectCoinsBlacklistExist(type, chain, token_address) {
  45. var sql = 'select * from blacklist WHERE type=? AND address=? AND status=1 AND chain=? '
  46. switch (chain) {
  47. case 'bsc_testnet':
  48. case 'bsc_mainnet':
  49. case 'bsc testnet':
  50. case 'bsc mainnet':
  51. chain = 'bsc'
  52. break
  53. case 'czz':
  54. case 'CZZ':
  55. chain = 'czz'
  56. break
  57. }
  58. var par = [type, token_address, chain]
  59. logger.info('getTokenCollectCoinsBlacklist', sql, par)
  60. return new Promise((resolve) => {
  61. mysql.getMySqlInstance().getConnection(function (err, connection) {
  62. if (err) {
  63. logger.error('getTokenCollectCoinsBlacklist', err)
  64. logger.error('getTokenCollectCoinsBlacklist', sql)
  65. resolve(null);
  66. return;
  67. }
  68. connection.query(
  69. sql, par,
  70. function selectCb(error, results) {
  71. if (error) {
  72. logger.error('getTokenCollectCoinsBlacklist', error, sql, par)
  73. resolve(null);
  74. return;
  75. }
  76. logger.log('getTokenCollectCoinsBlacklist ret=', error, results);
  77. //用完当前连接需要释放,归还给连接池
  78. connection.release();
  79. if (results && Array.isArray(results) && results.length > 0) {
  80. resolve(true);
  81. } else {
  82. resolve(null);
  83. }
  84. }
  85. );
  86. })
  87. })
  88. }
  89. /**
  90. * 过滤某些地址归集
  91. * collect_coins
  92. */
  93. async function isBlackList(type, chain, address) {
  94. var sql = 'select * from blacklist WHERE type=? AND address=? AND status=1 AND chain=? '
  95. switch (chain) {
  96. case 'bsc_testnet':
  97. case 'bsc_mainnet':
  98. chain = 'bsc'
  99. break
  100. case 'czz':
  101. case 'CZZ':
  102. chain = 'czz'
  103. break
  104. }
  105. var par = [type, address, chain]
  106. logger.info('isBlackList', sql, par)
  107. return new Promise((resolve) => {
  108. mysql.getMySqlInstance().getConnection(function (err, connection) {
  109. if (err) {
  110. logger.error('isBlackList', err)
  111. logger.error('isBlackList', sql)
  112. resolve(null);
  113. return;
  114. }
  115. connection.query(
  116. sql, par,
  117. function selectCb(error, results) {
  118. if (error) {
  119. logger.error('isBlackList', error, sql, par)
  120. resolve(null);
  121. return;
  122. }
  123. logger.log('isBlackList ret=', error, results);
  124. //用完当前连接需要释放,归还给连接池
  125. connection.release();
  126. if (results && Array.isArray(results) && results.length > 0) {
  127. resolve(1);
  128. } else {
  129. resolve(0);
  130. }
  131. }
  132. );
  133. })
  134. })
  135. }
  136. module.exports = {
  137. isPause,
  138. isBlackList,
  139. tokenCollectCoinsBlacklistExist,
  140. }