| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | /** * Created by Mai on 2017/7/25. */let consts = require('../../main/models/project_consts');let commonConsts = consts.commonConst;let mongoose = require('mongoose');let volumePrice = require("./volume_price_schema");let async = require("async");let baseModel = require('../../main/models/base_model');class volumePriceModel extends baseModel {    constructor (name) {        super(volumePrice);        this.collectionName = name;    };    getData (projectID, callback) {        volumePrice.find({'$or': [            {                projectID: projectID,                deleteInfo: null            }, {                projectID: projectID,                'deleteInfo.deleted': {$in: [null, false]}            }        ]},(err,datas)=>{            if(err){                callback(1, '', null);            }else {                // console.log(JSON.stringify(datas));                callback(0, consts.projectConst.VOLUMEPRICE, datas);            }        })    };    save (user_id, datas, callback) {        let funs = [];        function saveOne(doc) {            // console.log('-----------------------------------------------------------------------------' + JSON.stringify(doc));            return function (cb) {                switch (doc.updateType) {                    case commonConsts.UT_UPDATE:                        volumePrice.update({projectID: doc.updateData.projectID, ID: doc.updateData.ID}, doc.updateData, cb);                        break;                    case commonConsts.UT_CREATE:                        volumePrice.create(doc.updateData, cb);                        break;                    case commonConsts.UT_DELETE:                        doc.updateData.deleteInfo = {deleted: true, deleteDateTime: new Date(), deleteBy: user_id};                        volumePrice.update({projectID: doc.updateData.projectID, ID: doc.updateData.ID}, doc.updateData, cb);                        break;                }            }        }        for (let data of datas){            funs.push(saveOne(data));        }        async.parallel(funs, callback);    };};module.exports = new volumePriceModel(consts.projectConst.VOLUMEPRICE);
 |