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