/** * 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(); }