|
@@ -21,35 +21,29 @@ const PROJECT_COUNTER = 'projects', USER_COUNTER = 'users', BILL_COUNTER = 'bill
|
|
|
var counterDAO = function(){};
|
|
|
|
|
|
counterDAO.prototype.getIDAfterCount = function(moduleName, stepCount, callback) {
|
|
|
- //counterModel.findAndModify({_id: moduleName}, [], { $inc: { sequence_value: stepCount } }, {'new':true},
|
|
|
- // function (err, result) {
|
|
|
- // if (err) return err
|
|
|
- // else {
|
|
|
- // console.log('result: ' + result.value.sequence_value);
|
|
|
- // return result.value.sequence_value;
|
|
|
- // }
|
|
|
- // }
|
|
|
- //);
|
|
|
- //var rst = counterModel.findOne({_id: moduleName}).exec()
|
|
|
- // .then(function(result, err) {
|
|
|
- // console.log('thenable');
|
|
|
- // return result;
|
|
|
- // }
|
|
|
- //);
|
|
|
- var rst = counterModel.findAndModify({_id: moduleName}, [], { $inc: { sequence_value: stepCount } }, {'new':true}, callback);
|
|
|
- //projectdb.close();
|
|
|
- return rst;
|
|
|
+ var sc = stepCount;
|
|
|
+ if (isNaN(stepCount) || (stepCount < 0)) {
|
|
|
+ sc = 1;
|
|
|
+ } else if (!(/^-?\d+$/.test(stepCount))) {
|
|
|
+ sc = Math.round(stepCount + 0.5);
|
|
|
+ }
|
|
|
+ counterModel.findAndModify({_id: moduleName}, [], { $inc: { sequence_value: sc } }, {'new':true}, callback);
|
|
|
}
|
|
|
|
|
|
-counterDAO.prototype.getID = function(moduleName) {
|
|
|
- var rst = counterModel.findOne({_id: moduleName}).exec()
|
|
|
+counterDAO.prototype.getCurrentID = function(moduleName, callback) {
|
|
|
+ if (callback) {
|
|
|
+ counterModel.findOne({_id: moduleName}).exec()
|
|
|
.then(function(result, err) {
|
|
|
- console.log('thenable');
|
|
|
- //projectdb.close();
|
|
|
- return result;
|
|
|
+ if (callback) {
|
|
|
+ callback(result, err);
|
|
|
+ }
|
|
|
}
|
|
|
- );
|
|
|
- return rst;
|
|
|
+ );
|
|
|
+ return null;
|
|
|
+ } else {
|
|
|
+ var rst = counterModel.findOne({_id: moduleName}).exec() ;
|
|
|
+ return rst;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
module.exports = new counterDAO();
|