MCSManager/core/counter.js
2020-10-08 12:13:27 +08:00

78 lines
1.7 KiB
JavaScript

const DataModel = require("./DataModel");
var dataModel = new DataModel("core/info");
var counterMask = {};
var initDataCallbackList = [];
module.exports.initData = (callback) => {
initDataCallbackList.push(callback);
};
module.exports.init = () => {
module.exports.load();
//定时清楚
setInterval(function () {
if (new Date().getDate() == 1 && new Date().getMonth() + 1 >= dataModel.reloadMonth) {
dataModel.reloadMonth = new Date().getMonth() + 2; //调至下个月
MCSERVER.log(" ---- 数据期限已到 清空数据统计 ---- ");
for (let i in initDataCallbackList) {
initDataCallbackList[i]();
}
module.exports.save();
}
}, 10000);
};
module.exports.load = () => {
dataModel.load();
counterMask = dataModel.counterData;
if (dataModel.reloadMonth == undefined) dataModel.reloadMonth = new Date().getMonth() + 2; //下个月
dataModel.save();
return this;
};
module.exports.save = () => {
dataModel.counterData = counterMask;
dataModel.save();
return this;
};
module.exports.plus = (event) => {
if (counterMask[event] != undefined) {
counterMask[event]++;
} else {
counterMask[event] = 1;
}
return this;
};
module.exports.minus = (event) => {
if (counterMask[event] != undefined) {
counterMask[event]--;
} else {
counterMask[event] = 1;
}
return this;
};
module.exports.set = (event, value) => {
counterMask[event] = value;
return this;
};
module.exports.get = (event) => {
if (counterMask[event] != undefined) {
return counterMask[event];
}
return 0;
};
module.exports.add = (event, value) => {
if (counterMask[event] != undefined) {
counterMask[event] += value;
} else {
counterMask[event] = 1;
}
return this;
};