const mysql = require("./mysql_db") const logger = require('../logger') var { db_config } = require('../../config/config.js') const utils = require('../utils.js') /** * 创建一个归集任务 * @param {*} opts * @returns */ async function create_collect_coins_task(opts) { logger.log('create_collect_coins_task', opts) var balances = opts.addressBalances ? opts.addressBalances : '' var transfers = opts.transfers ? opts.transfers : '' var prestore_gas_free = opts.prestore_gas_fee ? opts.prestore_gas_fee : '' var company_public_key = opts.company_public_key ? opts.company_public_key : '' var total_gas_fee = opts.collectCoinsTotalGasFee ? opts.collectCoinsTotalGasFee : '' var status = opts.status var resposes = opts.collects ? opts.collects : '' var error_msg = opts.errMsg ? opts.errMsg : '' var create_time = opts.createTime ? opts.createTime : utils.getCurrentDate() var update_time = utils.getCurrentDate() var user_address = opts.user_address ? opts.user_address : '' 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)' + 'VALUES(?,?,?,?,?,?,?,?,?,?,?)' 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 : ''] logger.log('create_collect_coins_task create_collect_coins_task_sql', create_withdraw_sql, create_withdraw_params); return new Promise((resolve) => { mysql.getMySqlInstance().getConnection(function (err, connection) { if (err) { logger.error('create_collect_coins_task', err) logger.error('create_collect_coins_task_sql', create_withdraw_sql) resolve(null); return; } connection.query( create_withdraw_sql, create_withdraw_params, function selectCb(error, results) { if (error) { logger.error('create_collect_coins_task', error, create_withdraw_sql, create_withdraw_params) resolve(null); return; } logger.log('create_collect_coins_task ret=', error, results); //用完当前连接需要释放,归还给连接池 connection.release(); resolve({ err: error, results: results.insertId }); } ); }) }) } /** * 更新归集任务 * @param {*} opts * @returns */ async function update_collect_coins_task(opts) { logger.log('update_collect_coins_task', opts) var balances = opts.addressBalances ? opts.addressBalances : '' var transfers = opts.transfers ? opts.transfers : '' var prestore_gas_free = opts.prestore_gas_fee ? opts.prestore_gas_fee : '' var company_public_key = opts.company_public_key ? opts.company_public_key : '' var total_gas_fee = opts.collectCoinsTotalGasFee ? opts.collectCoinsTotalGasFee : '' var status = opts.status var resposes = opts.collects ? opts.collects : '' var error_msg = opts.errMsg ? opts.errMsg : '' var create_time = opts.createTime ? opts.createTime : utils.getCurrentDate() var update_time = utils.getCurrentDate() var user_address = opts.user_address ? opts.user_address : '' 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)' + 'VALUES(?,?,?,?,?,?,?,?,?,?,?)' 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 : ''] logger.log('update_collect_coins_task update_collect_coins_task_sql', create_withdraw_sql, create_withdraw_params); return new Promise((resolve) => { mysql.getMySqlInstance().getConnection(function (err, connection) { if (err) { logger.error('update_collect_coins_task', err) logger.error('update_collect_coins_task_sql', create_withdraw_sql) resolve(null); return; } connection.query( create_withdraw_sql, create_withdraw_params, function selectCb(error, results) { if (error) { logger.error('update_collect_coins_task', error, create_withdraw_sql, create_withdraw_params) resolve(null); return; } logger.log('update_collect_coins_task ret=', error, results); //用完当前连接需要释放,归还给连接池 connection.release(); resolve({ err: error, results: results.insertId }); } ); }) }) } module.exports = { create_collect_coins_task, update_collect_coins_task, }