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