1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /**
- * Created by Zhong on 2017/9/28.
- */
- const optionsModel = mongoose.model('options');
- class OptionsDao {
- async getOptions(user_id, compilation_id){
- let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});
- rst = rst.length > 0 && typeof rst[0].options !== 'undefined' ? rst[0].options : null;
- return rst;
- }
- async getOptionsByType(user_id, compilation_id, optsType){
- let rst = await optionsModel.findOne({user_id: user_id, compilation_id: compilation_id});
- if(rst){
- return rst.options[optsType] !== undefined && rst.options[optsType] !== null ? rst.options[optsType] : null;
- }
- }
- async saveOptions(user_id, compilation_id, optSetting){
- let optionsData = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});
- if(optionsData.length === 0){
- await optionsModel.create({user_id: user_id, compilation_id: compilation_id, options: optSetting});
- }
- await optionsModel.update({user_id: user_id, compilation_id: compilation_id}, optSetting);
- let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});
- return rst.length > 0 && typeof rst[0].options !== 'undefined' ? rst[0].options : null;
- }
- }
- /*class OptionsDao {
- async getOptions(user_id, compilation_id){
- let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});
- rst = rst.length > 0 && typeof rst[0].options !== 'undefined' ? rst[0].options : null;
- return rst;
- }
- async getOptionsByType(user_id, compilation_id, optsType){
- let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});
- if(rst.length > 0){
- let opts = rst[0].options;
- for(let i = 0, len = opts.length; i < len; i++){
- if(opts[i].type === optsType){
- return opts[i];
- }
- }
- }
- return null;
- }
- async saveOptions(user_id, compilation_id, opsType, opts){
- let optionsData = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});
- if(optionsData.length === 0){
- await optionsModel.create({user_id: user_id, compilation_id: compilation_id, options: [{type: opsType, opts: opts}]});
- }
- await optionsModel.update({user_id: user_id, compilation_id: compilation_id, 'options.type': opsType}, {$set: {'options.$.opts': opts}});
- let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});
- return rst;
- }
- }*/
- export default OptionsDao;
|