每日衰减

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