| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | /** * Created by zhang on 2020/1/8. */module.exports={    getSystemSetting,    rationNumberChecking:rationNumberChecking,    tenderNumberChecking};let mongoose = require("mongoose");let rationModel = mongoose.model("ration");const systemSettingModel = mongoose.model('system_setting');const pmFacade = require('../../pm/facade/pm_facade');// 获取系统设置,这个系统设置正常情况下有存在session中async function getSystemSetting() {    return await systemSettingModel.findOne({}).lean();}async function rationNumberChecking(req, res, next) {    if(req.session.systemSetting){        let type = req.session.compilationVersion.indexOf("免费") == -1?"professional":"normal";        let data = req.body.data;        if(typeof data === 'object'){            data = JSON.stringify(data);        }        data = JSON.parse(data);        let projectID = data.projectID;        let no = await rationModel.find({projectID:projectID}).count();        if(no >= req.session.systemSetting[type].ration){            let  result = {error:1,message:"您套用定额个数超限,请联系我们的客服人员。"};            return  res.json(result);        }    }    next();}async function tenderNumberChecking(req, res, next) {    const data = JSON.parse(req.body.data);    const tenderCount = data.tenderCount;    if (tenderCount) {        const tenderOverrun = await pmFacade.isTenderOverrun(tenderCount, req.session);        if (tenderOverrun) {            return res.json({                error: 1,                message: '您创建的项目个数超限,请联系我们的客服人员,或者导出建设项目保存到本地备份,删除云上数据。'            });        }    }    next();}
 |