| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | /** * Created by Tony on 2017/3/24. */let mongoose = require('mongoose');//let rpt_cfg_mdl = mongoose.model('rpt_cfg');let cache = require('../../../public/cache/cacheUtil');//let Rpt_Cfg_Mdl = require('../models/rpt_cfg');let Rpt_Cfg_Mdl = mongoose.model('rpt_cfg');const RPT_CFG_GRP = 'rpt_cfg';module.exports = {    setReportDefaultCache: function () {        Rpt_Cfg_Mdl.find({userId: "Administrator"}, '-_id', function(err, cfgs){            if(cfgs.length){                cache.setCache(RPT_CFG_GRP,'admin_cfg',cfgs[0]);            }        })    },    getReportDefaultCache: function () {        let rst = {ctrls: null, fonts: null, styles: null},            admin_cfg = cache.getCache(RPT_CFG_GRP,'admin_cfg');            ;        rst.ctrls = admin_cfg.formats;        rst.fonts = admin_cfg.fonts;        rst.styles = admin_cfg.borders;        admin_cfg = null;        return rst;    },    setReportCacheByUser: function (userId) {        let me = this;        let user_cfg = cache.getCache(RPT_CFG_GRP,userId + '_cfg');        if (!(user_cfg)) {            Rpt_Cfg_Mdl.find({userId: userId}, '-_id', function(err, cfgs){                if(cfgs.length){                    cache.setCache(RPT_CFG_GRP, userId + '_cfg',cfgs[0]);                } else {                    me.setReportDefaultCache();                }            })        }    },    getReportCacheByUser: function (userId, cb) {        let me = this,            rst = {ctrls: null, fonts: null, styles: null},            user_cfg = cache.getCache(RPT_CFG_GRP,userId + '_cfg');        ;        if (!(user_cfg)) {            Rpt_Cfg_Mdl.find({userId: userId}, '-_id', function(err, cfgs){                if(cfgs.length){                    cache.setCache(RPT_CFG_GRP, userId + '_cfg',cfgs[0]);                    user_cfg = cache.getCache(RPT_CFG_GRP,userId + '_cfg');                    rst.ctrls = user_cfg.formats;                    rst.fonts = user_cfg.fonts;                    rst.styles = user_cfg.borders;                    user_cfg = null;                    cb(rst);                } else {                    user_cfg = null;                    cb(me.getReportDefaultCache());                }            })        } else {            rst.ctrls = user_cfg.formats;            rst.fonts = user_cfg.fonts;            rst.styles = user_cfg.borders;            user_cfg = null;            cb(rst);        }    }}
 |