aozhiwei 8bb1350d1b 1
2022-03-29 15:37:07 +08:00

68 lines
1.7 KiB
JavaScript

const util = require('util');
const utils = require('./utils');
const db = require("./db");
const dbhelper = require("./dbhelper");
const bchelper = require("./bchelper");
const log = require("./log");
const dblog = require("./dblog");
const bc = require('./blockchain');
const metamgr = require('./metamgr');
const C = require('./C');
class Withdrawal {
constructor(db, isNew) {
this.isNew = isNew;
this.db = db;
}
init () {
setTimeout(this.start.bind(this), utils.randRange(100, 1000));
}
async start() {
const logClass = 'start';
await bc.mustBeActive();
await this.updateDbMustBeSuccess
(logClass,
[
['state', 1]
]);
}
async updateDbMustBeSuccess(logClass, fieldList) {
const err = await dbhelper.update(
't_withdrawal',
[
['idx', this.db['idx']]
],
fieldList);
if (err) {
log.error(util.format('%s updateDbMustBeSuccess withdrawalDb:%s fieldList:%s err:%s',
logClass,
utils.jsonEncode(this.db),
utils.jsonEncode(fieldList),
err
)
);
await this.suspend(logClass + ' updateDbMustBeSuccess ', err);
} else {
fieldList.forEach((val) => {
const name = val[0];
const value = val[1];
this.db[name] = value;
});
log.info(util.format('%s updateDbMustBeSuccess db:%s',
logClass,
utils.jsonEncode(this.db),
utils.jsonEncode(fieldList)
)
);
}
return err;
}
}
exports.Withdrawal = Withdrawal;