MCSManager/core/counter.js
2017-11-13 12:26:31 +08:00

79 lines
1.9 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;
}