每日衰减

This commit is contained in:
hujiabin 2022-11-01 11:13:40 +08:00
parent a1da43bff3
commit 705c4b125b

View File

@ -10,11 +10,7 @@ const CHIP_TYPE = 3;
class Damping { class Damping {
async start() { async start() {
if (utils.getArgv('env') == 'test') {
FormulaService.a();
console.log('is test env');
return;
}
console.log('Damping.start'); console.log('Damping.start');
while (true) { while (true) {
await this.doDamping(utils.getUtcTime()); await this.doDamping(utils.getUtcTime());
@ -29,6 +25,7 @@ class Damping {
async doDamping(nowTime) { async doDamping(nowTime) {
try { try {
const daySeconds = utils.getDaySeconds(nowTime, constant.TIME_ZONE); const daySeconds = utils.getDaySeconds(nowTime, constant.TIME_ZONE);
const yesterdaySeconds = daySeconds - 86400; const yesterdaySeconds = daySeconds - 86400;
console.log('today:'+daySeconds) console.log('today:'+daySeconds)
@ -38,10 +35,13 @@ class Damping {
throw err; throw err;
} }
if (!err && conn) { if (!err && conn) {
const nftList = await this.yesterdayActiveNft(conn,yesterdaySeconds); //获取昨日活跃产出ceg的nft列表 const isExec = await this.isExec(conn, nowTime);
this.updateNftLaborValue(conn,nftList) ; //对nft的劳力值进行递增 if (! isExec){
this.dampingTili(conn,nftList); //对nft进行体力衰减 const nftList = await this.yesterdayActiveNft(conn,yesterdaySeconds); //获取昨日活跃产出ceg的nft列表
this.increaseServiceDays(conn); //递增服务器自然天数 this.updateNftLaborValue(conn,nftList) ; //对nft的劳力值进行递增
this.dampingTili(conn,nftList); //对nft进行体力衰减
this.increaseServiceDays(conn,nowTime); //递增服务器自然天数
}
} }
} catch (err) { } catch (err) {
console.log(err); console.log(err);
@ -196,19 +196,33 @@ class Damping {
} }
//递增服务器自然天数 //递增服务器自然天数
async increaseServiceDays(conn){ async increaseServiceDays(conn,nowTime){
await conn.upsert( await conn.upsert(
't_realtime_data', 't_realtime_data',
[['name','server_days']], [['name','server_days']],
[['!value1', ()=>{ [['!value1', ()=>{
return 'value1 + 1' return 'value1 + 1'
}]], }],['modifytime',nowTime]],
[['name','server_days'],['value1',1]] [['name','server_days'],['value1',1],['createtime',nowTime],['modifytime',nowTime]]
); );
} }
async isExec(conn,nowTime){
const {err, row} = await conn.execQueryOne(
'SELECT * FROM t_realtime_data WHERE name = ?',
[
'server_days'
]
);
if (nowTime - row.modifytime < 86400){
return true;
}else {
return false;
}
}
async getChipOne(conn,unid) { async getChipOne(conn,unid) {
const {err, rows} = await conn.execQueryOne( const {err, row} = await conn.execQueryOne(
'SELECT * FROM t_chip WHERE idx = ?', 'SELECT * FROM t_chip WHERE idx = ?',
[ [
unid unid
@ -218,7 +232,7 @@ class Damping {
throw err; throw err;
return; return;
} }
return rows; return row;
} }
} }