| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | /** * 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 {                callback(0, consts.projectConst.VOLUMEPRICE, datas);            }        })    };    save (user_id, datas, callback) {        let funs = [];        function saveOne(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);
 |