AV.Cloud.define('querySpeedDate', function(request, response) { var userId = request.params.userId; if(!userId || userId === ''){ response.error({"code":500, "result":"参数userId不能为空"}); }else{ var fromUserQuery = new AV.Query(SpeedDate); fromUserQuery.equalTo('fromUser',userId); fromUserQuery.containedIn('status',[2,3,4]); fromUserQuery.equalTo('fromUserEvaStatus',false); fromUserQuery.equalTo('isValid',true); var toUserQuery = new AV.Query(SpeedDate); toUserQuery.equalTo('toUser',userId); toUserQuery.containedIn('status',[2,3,4]); toUserQuery.equalTo('toUserEvaStatus',false); toUserQuery.equalTo('isValid',true); var query = AV.Query.or(fromUserQuery, toUserQuery); query.find().then(function(results){ response.success({"code":200, "results":results[0]}); }, function(error){ response.error({"code":500, "result":"查询用户邀约记录异常(step=1), errormsg:" + error.message}); }); } });
AV.Cloud.define("approvePayment", function(request, respond) { var approveIDList = request.params.approveList; var rejectIDList = request.params.rejectList; var PaymentClass = AV.Object.extend("Payment"); var queryApprovedPayment = new AV.Query(PaymentClass); queryApprovedPayment.equalTo("isApproved", false); queryApprovedPayment.containedIn("objectId", approveIDList ); var queryRejectedPayment = new AV.Query(PaymentClass); queryRejectedPayment.equalTo("isApproved", false); queryRejectedPayment.containedIn("objectId", rejectIDList); queryRejectedPayment.find({ success: function(rejectList) { AV.Object.destroyAll(rejectList).then(function(success) { // All the objects were deleted queryApprovedPayment.find( { success: function(approveList) { for(var i = 0 ; i < approveList.length ; i++) { approveList[i].set('isApproved', true); } AV.Object.saveAll(approveList, { success: function (list) { respond.success(); }, error: function (error) { respond.error(error.message); } }); }, error: function(error) { respond.error(error.message); } }); }, function(error) { respond.error(error.message); }); }, error: function(error) { respond.error(error.message); } }); });
new AV.Promise(resolve => { let query = new AV.Query(Product); query.containedIn('category2',category2); query.count().then(count => { resolve(count); }); })
router.get('/list-data',(req,res) => { let productListId = req.query.productListId; productListId = productListId.map(item => parseInt(item)); let query = new AV.Query(Product); query.containedIn('productId',productListId); query.select('productId','purchaseLink','shopLink','stock'); query.find().then(products => { res.send({ success:1, products }); }); });
speedDatingQuery.find().then(function(results){ if(results.length > 0){ //存在记录,则修改状态 results[0].set('status', 2); results[0].save(); fromUserDynamic.set('datingStatus',2); fromUserDynamic.save(); toUserDynamic.set("datingStatus", 2); toUserDynamic.save(); response.success({"code":200, "results":results[0]}); }else{ //避免重复创建记录,先查询是否已经有喜欢对方的记录存在 speedDatingQuery = new AV.Query(SpeedDate); speedDatingQuery.equalTo('fromUser',fromUserId); speedDatingQuery.equalTo('toUser',toUserId); speedDatingQuery.containedIn('status',[1,2,3,4]); speedDatingQuery.equalTo('isValid',true); speedDatingQuery.find().then(function(results){ if(results.length > 0){ //返回当前记录 response.success({"code":200, "results":results[0]}); }else{ //不存在,则创建记录 var speedDate = new SpeedDate(); speedDate.set('fromUser',fromUserId); speedDate.set('toUser',toUserId); speedDate.set('fromUserEvaStatus',false); speedDate.set('toUserEvaStatus',false); speedDate.set('status',1); speedDate.set('isValid', true); speedDate.save().then(function(speedDate){ response.success({"code":200, "results":speedDate}); }, function(error){ response.error({"code":500, "result":"创建speeddate异常(setep=5) ,message=" + error.message}); }); } }, function(error){ response.error({"code":500, "result":"查询speeddate异常(setep=4) ,message=" + error.message}); }); } },
router.get('/create', function (req, res) { //首先判断库存 var cart = req.session.cart; var query = new AV.Query(Item); var objectIds = []; cart.forEach(function (item) { objectIds.push(item.id) }); query.containedIn('objectId', objectIds); query.find() .then(function (results) { debug(results.length); var flag = true; //可生成订单标识 var message = ''; //如不能生成订单,提示信息 var totalAmount = 0; cart.forEach(function (item) { //检查库存 var _index = _.findIndex(results, { id: item.id }); debug(_index); var _item = results[_index]; debug(_item); if (item.count > _item.attributes.count) { flag = false; message += '抱歉,您购买的' + _item.attributes.name + '库存不足,请稍后再试.'; } totalAmount += (item.count * _item.attributes.price); debug(item.count); debug(_item.attributes.price); debug(item.count * _item.attributes.price); debug(totalAmount); // _item.attributes.count -= item.count; _item.set('count', _item.attributes.count - item.count); }); if (!flag) return res.render('cart', { //返回购物车界面 cart: cart, location: 'cart', user: req.AV.user, message: message }); debug('begin to create order'); //创建订单 var order = new Order(); order.set('owner', req.AV.user); order.set('totalAmount', totalAmount); // order.set('items', req.session.cart); order.set('status', 0); results.forEach(function (item) { //保存库存信息 item.save(); }); query = new AV.Query(User); debug(results[0].attributes.owner); query.get(results[0].attributes.owner.id) .then(function (owner) { order.set('shop', owner); var orderACL = new AV.ACL(AV.User.current()); orderACL.setReadAccess(AV.User.current(),true); orderACL.setReadAccess(owner,true); orderACL.setWriteAccess(owner,true); orderACL.setWriteAccess(AV.User.current(),true); order.setACL(orderACL); debug('prepare to save order'); order.save() .then(function (_order) { //建立商品快照 req.session.cart.forEach(function(item){ var itemSnapshot = new ItemSnapshot(); var itemSnapshotACL = new AV.ACL(AV.User.current()); itemSnapshotACL.setReadAccess(AV.User.current(),true); itemSnapshotACL.setReadAccess(owner,true); itemSnapshot.setACL(orderACL); itemSnapshot.set('name',item.name); itemSnapshot.set('productId',item.id); itemSnapshot.set('price',item.price); itemSnapshot.set('count',item.count); itemSnapshot.set('order',_order); itemSnapshot.save(); }); debug('order save success'); _order.ownerName = req.AV.user.name; _order.shopName = owner.attributes.name; var _cart = req.session.cart; delete req.session.cart;//清空购物车 return res.render('order', { //返回购物车界面 order: _order, cart:_cart, location: 'order', user: req.AV.user, message:false }); }) }) }) .catch(function (err) { debug(err); }) });