/** * Created by Syusuke on 2017/3/20. */ var mongoose = require("mongoose"); var dbm = require("../../../config/db/db_manager"); var async = require("async"); var db = dbm.getCfgConnection("rationLibMap"); //var schema = mongoose.Schema; var rationLibMapSchema = mongoose.Schema({ displayName:String, dbName:String }) var rationLibMap = db.model("rationlibmaps", rationLibMapSchema); var rationLibMapDAO = function(){}; rationLibMapDAO.prototype.getRealLibName = function(rationName,callback){ rationLibMap.find({"displayName":rationName}, function(err,data){ if (err) { callback('Error', null); } else { callback(0, data); } }); }; rationLibMapDAO.prototype.addRationLib = function(rationName,callback){ rationLibMap.find({"risplayName":rationName},function(err,data){ if(data.length == 0) new rationLibMap({"displayName":rationName,"dbName":rationName}).save(function(err) { if (err) callback("Error", null) else callback(false, "ok"); }) else callback("定额库重名!",null) }) } rationLibMapDAO.prototype.getDisplayRationLibs = function(callback) { rationLibMap.find({}, function(err, data){ if (err) { callback( 'Error', null); } else { callback( false, data); } }); }; rationLibMapDAO.prototype.deleteRationLib = function(rationName,callback){ async.waterfall([ function(cb){ rationLibMap.find({"displayName":rationName},function(err,data){ cb(err,data) }) }, function(data,cb){ var db1 = dbm.getCfgConnection(data[0].dbName); db1.dropDatabase(function(err){ cb(err,data) }) }, function(data,cb){ RationLibMap.remove({"displayName":rationName},function(err,data){ cb(err,data); }) } ], function(err,result){ if (err) { callback( 'Error', null); } else { callback( '', "ok"); } }) } rationLibMapDAO.prototype.editRationLib = function(rationName,newName,callback){ rationLibMap.find({"displayName":newName}, function(err, data){ if (data.length == 0) { rationLibMap.update({displayName:rationName},{$set:{displayName:newName}},function(err){ if(err) callback("err",false); else callback(false,"ok") }) } else callback("不可重名!",false); }); } module.exports = new rationLibMapDAO();