router.post('/setpositon', function (req, res) { console.log(req.body.pointpositionpointid); console.log(req.body.pointpositionlongitude); console.log(req.body.pointpositionlatitude); console.log(req.body.pointpositioninput); var query = new AV.Query(Point); query.get(req.body.pointpositionpointid, { success: function (point) { // The object was retrieved successfully. console.log(point) point.set("Longitude", req.body.pointpositionlongitude); point.set("Latitude", req.body.pointpositionlatitude); point.set("Address", req.body.pointpositioninput); point.save(); res.send('true'); }, error: function (object, error) { // The object was not retrieved successfully. // error is a AV.Error with an error code and description. res.send('false'); } }); });
AV.Cloud.define('datingRoute', function(request, response) { var speedDateId = request.params.speedDateId; var latitude = request.params.latitude; var longitude = request.params.longitude; var point = new AV.GeoPoint({"latitude": latitude, "longitude": longitude}); var speedDateQuery = new AV.Query(SpeedDate); speedDateQuery.get(speedDateId).then(function(speedDate){ if(speedDate){ //新增用户走走坐标 var speedDateRoute = new SpeedDateRoute(); speedDateRoute.set('speedDate',speedDate); speedDateRoute.set('coordinate',point); speedDateRoute.save().then(function(speedDateRoute){ response.success({"code":200, "results":"success"}); }, function(error){ response.error({"code":500, "result":"保存数据异常, message=" + error.message}); }); }else{ response.error({"code":500, "result":"SpeedDate不存在(setep=1), speedDateId=" + speedDateId}); } }, function(error){ response.error({"code":500, "result":"查询SpeedDate异常(setep=1), speedDateId=" + speedDateId + " ,message=" + error.message}); }); });
AV.Cloud.define('cancelSpeedDate', function(request, response) { var speedDateId = request.params.speedDateId; if(!speedDateId || speedDateId === ''){ response.error({"code":500, "result":"参数不正确, speedDateId=" + speedDateId}); }else{ var speedDate = null; var speedDateQuery = new AV.Query(SpeedDate); speedDateQuery.get(speedDateId).then(function(speedDate){ if(speedDate){ speedDate.set('isValid', false); speedDate.save(); //修改from用户状态 var user = new User(); user.id=speedDate.get('fromUser'); var userDynamicQuery = new AV.Query(UserDynamicData); userDynamicQuery.equalTo('userId', user); userDynamicQuery.find().then(function(results){ if(results.length >0){ results[0].set('datingStatus', 1); results[0].save().then(function(userDynamicData){ //修改to用户状态 user.id=speedDate.get('toUser'); userDynamicQuery.equalTo('userId', user); userDynamicQuery.find().then(function(results){ if(results.length >0){ results[0].set('datingStatus', 1); results[0].save().then(function(userDynamicData){ //返回当前快约记录 response.success({"code":200, "results": speedDate}); }, function(error){ response.error({"code":500, "result":"更新dynamicData异常(setep=5), toUser="******" ,message=" + error.message}); }); }else{ response.error({"code":500, "result":"dynamicData不存在(setep=4), toUser="******"code":500, "result":"查询dynamicDate异常(setep=4), toUser="******" ,message=" + error.message}); }); }, function(error){ response.error({"code":500, "result":"更新dynamicData异常(setep=3), fromUser="******" ,message=" + error.message}); }); }else{ response.error({"code":500, "result":"dynamicData不存在(setep=2), fromUser="******"code":500, "result":"查询dynamicDate异常(setep=2), fromUser="******" ,message=" + error.message}); }); }else{ response.error({"code":500, "result":"speedDate不存在(setep=1), speedDateId=" + speedDateId}); } }, function(error){ response.error({"code":500, "result":"查询speedDate异常(setep=1), speedDateId=" + speedDateId + " ,message=" + error.message}); }); } });
router.post('/signIn', function(req, res) { var scheduleQuery = new AV.Query(Schedule); var code = req.body.code; var password = req.body.password; scheduleQuery.include('route'); scheduleQuery.get(req.body.scheduleId) .then(function(result) { if (result.get('isFinished') == true) { res.send({status: 'error', data: '不存在该班次'}); return; } if (code == result.get('code') && password == result.get('password')) { req.session.check = true; setTimeout(function() { //clean the session, for sureity req.session.check = false; }, limitSignInTime); res.send({status: 'success'}); } else { res.send({status: 'error', data: '密码错误'}); } }, function(err) { res.send({status: 'error', data: 'can\'t found'}); }); });
router.post('/api/update-shoe', async (req, res) => { const user = req.currentUser; const { stockObjectId, sizes, returns, delivered, purchased } = req.body; const Stock = new av.Query('Stock'); try { let shoe = await Stock.get(stockObjectId); let _sizes = _.cloneDeep(shoe.get('sizes')); Object.keys(sizes).forEach(key => { _sizes[key] = sizes[key]; }); let count = Object.keys(_sizes) .map(size => _sizes[size]) .reduce((sum, cur) => sum + cur); await shoe .set('sizes', _sizes) .set('count', count) .set('returns', returns) .set('delivered', delivered) .set('purchased', purchased) .save(); res.send({ errNo: 0 }); } catch (e) { console.log(e); res.send({ errNo: e.code }); } });
router.get('/:id/next',function(req,res){ var objectId = req.params.id; var query = new AV.Query(Order); var message = ''; query.get(objectId) .then(function(order){ switch (order.attributes.status){ case 0: message = '支付成功!'; order.set('status',1); break; case 1: message = '请等待卖家发货'; if (req.AV.user.attributes.shop){ message = '发货成功'; order.set('status',2); } break; case 2: if (req.AV.user.attributes.shop){ message = '请等待确认收货'; } else { message = '确认收货成功'; order.set('status',3); } break; } order.save(); return res.render('message', { location: 'message', message: message, user: req.AV.user }) }) });
app.get('/storybyuser/:userid',function(req,res){//OK 2016/4/16 var querystoryidbyuser=req.params.userid; var findStoryIdByUserID=new AV.Query(AV.User); var innerQuery = new AV.Query('Story'); innerQuery.include('theme'); innerQuery.include('creator'); var stories = []; var themeNames = []; var creators = []; findStoryIdByUserID.get(querystoryidbyuser).then(function(obj){ innerQuery.find().then(function(results) { results.map(function(result) { if (result.get('followUser') != undefined && result.get('followUser').indexOf(querystoryidbyuser) > -1) { themeNames.push(result.get('theme').get('name')); creators.push({ id: result.get('creator').id, username: result.get('creator').get('username') }); stories.push(result); } }); res.json({success: true, story: stories, themeNames: themeNames, creators: creators}); }); },function(error){ res.json({success: false, error: error}); }); });
AV.Cloud.afterSave("People", function(request, response) { var createDate = moment(request.object.get('createdAt')); var updateDate = moment(request.object.get('updatedAt')); var peopleID = request.object.id; var newOutDate = request.object.get("outDate"); console.log('after save out date: ' + newOutDate); var PeopleClass = AV.Object.extend("People"); var query = new AV.Query(PeopleClass); query.get(peopleID, { success: function (targetPeople) { console.log('after save update people: ' + peopleID); var PeopleAccountClass = AV.Object.extend("PeopleAccount"); var peopleAccount = new PeopleAccountClass(); peopleAccount.set("runningBalance", 0); targetPeople.set("accountRef", peopleAccount); targetPeople.save(null,{ success: function(result) { //insert mode, checking fee addBodyCheckFee(peopleID); }, error: function(results, error) { } }); } }); });
router.get('/:id',function(req,res){ var objectId = req.params.id; var query = new AV.Query(Order); query.get(objectId) // query.find() .then(function(order){ // debug(order); query = new AV.Query(ItemSnapshot); return query.equalTo('order', order).find(); }) .then(function(results){ debug(results); results.forEach(function(item){ for (var i in item.attributes){ item[i] = item.attributes[i]; } }); // var order = false; return res.render('order', { //返回购物车界面 order: false, cart:results, location: 'orders', user: req.AV.user, message:false }); }) });
app.get('/userlike/:userId/:nodeId', function(req, res) { var userId = req.params.userId; var nodeId = req.params.nodeId; if (userId == undefined || nodeId == undefined) { res.json({success: false, error: "invalid arguments"}); } var nodeQuery = new AV.Query('Node'); nodeQuery.get(nodeId).then(function(node) { if (node.get('likeBy') == undefined) { node.set('likeBy', [userId]); } else { var new_arr = node.get('likeBy'); if (new_arr.indexOf(userId) > -1) { res.json({success: false, error: "already liked"}); } new_arr.push(userId); node.set('likeBy', new_arr); } return node.save(); }).then(function(success) { res.json({success: true, node: success}); }).catch(function(error) { res.json({success: false, error: error}); }); });
router.post('/testJsApi', function(req, res, next) { // var gameScore = new GameScore(); // gameScore.set("score", 1337); // gameScore.set("playerName", "Sean Plott"); // gameScore.set("cheatMode", false); // gameScore.save(null, { // success: function(gameScore) { // // Execute any logic that should take place after the object is saved. // console.log('New object created with objectId: ' + gameScore.id); // }, // error: function(gameScore, error) { // // Execute any logic that should take place if the save fails. // // error is a AV.Error with an error code and description. // console.log('Failed to create new object, with error code: ' + error.message); // } // }); var query = new AV.Query(SoftwareFeedback); query.get("55617c52e4b0d17d28b03608", { success: function(feedBack) { // The object was retrieved successfully. console.log(feedBack.id); res.send(feedBack.get("contact") + ' ' + feedBack.get("content")); }, error: function(object, error) { // The object was not retrieved successfully. // error is a AV.Error with an error code and description. console.log('Failed to query a object, with error code: ' + error.message); res.send(error.message); } }); });
query.find().then(function(results) { if (results[0].attributes.wallet) { var id = results[0].attributes.wallet.id; var query = new AV.Query('Wallet'); query.get(id).then(function (wallet) { var money = wallet.get('money'); if (money < parseFloat(amount)/100) { var result = { code : 700, message : '余额不足' }; res.send(result); } else { wallet.set('money', parseFloat((money-parseFloat(amount)/100).toFixed(2))); wallet.save().then(function (wallet) { var apply = new Apply(); apply.set('userName', username); apply.set('amount', amount); apply.save().then(function (apply) { var result = { code : 200, data : wallet, message : 'Operation succeeded' }; res.send(result); }); }); } }); } });
app.get('/node/:nodeid2',function(req,res){//OK 2016/4/16 var querynodeid=req.params.nodeid2; var findNodeByNodeID=new AV.Query('Node'); findNodeByNodeID.get(querynodeid).then(function(obj){ res.json({success: true, node: obj}); },function(error){ res.json({success: false}); }); });
app.get('/story/:storyId', function(req, res) {//OK 2016/4/16 var storyId = req.params.storyId; var storyQuery = new AV.Query('Story'); storyQuery.get(storyId).then(function(story) { res.json({success: true, story: story}); }).catch(function(error) { res.json({success: false, error: error}); }); });
app.get('/userid/:userid',function(req,res){//OK 2016/4/16 var userID=req.params.userid; var findUserById=new AV.Query(AV.User); findUserById.get(userID).then(function(obj){ res.json(obj); },function(error){ res.json({success: false}); }); });
success: function (targetPeople) { var runningBalance = targetPeople.get('accountRef').get('runningBalance'); if(runningBalance > 0) { var FeeClass = AV.Object.extend("Fee"); var queryFee = new AV.Query(FeeClass); queryFee.get(feeID, { success: function (targetFee) { var amount = targetFee.get('amount'); var settledAmount = 0; if(runningBalance >= amount) { //change to settle status settledAmount = amount; targetFee.set("settledAmount", settledAmount); targetFee.set("isSettled", true); targetFee.set('settledBy', creator); targetFee.set('settledDate', new Date()); } else { settledAmount = runningBalance; targetFee.set("settledAmount", settledAmount); } targetFee.save(null,{ success: function(result) { refreshRunningBalance(targetPeople, function() { }, function(error) { console.log(error.message); }); }, error: function(results, error) { response.error("fee after safve error"); } }); } }); } else { //no need edit fee refreshRunningBalance(targetPeople, function() { }, function(error) { console.log(error.message); }); } },
router.post('/api/del-client', async (req, res) => { const { clientObjectId } = req.body; let Client = new av.Query('Clients'); try { (await Client.get(clientObjectId)).set('isDel', true).save(); res.send({ errNo: 0 }); } catch (e) { res.send({ errNo: e.code }); } });
passport.deserializeUser(function (id, done) { var query = new AV.Query(User); query.get(id, { success: function (user) { done(null, user); }, error: function (user, error) { done(error, user); } }); });
function incrPostCount(user) { var query = new AV.Query(UserExtend); query.get(user.get('uextend').id, { success: function(obj) { obj.increment("postCount", 1); obj.save(); }, error: function(obj, err) { console.dir(arguments) } }) }
userQuery.get(userId).then(function(user) { comment.set('userID', user); nodeQuery.get(nodeId).then(function(node) { comment.set('nodeID', node); return comment.save(); }).then(function(success) { res.json({success: true, comment: success}); }).catch(function(error) { res.json({success: false, error: error}); }); }).catch(function(error) {
router.post('/api/del-shoe', async (req, res) => { const { stockObjectId } = req.body; let Stock = new av.Query('Stock'); try { let shoe = await Stock.get(stockObjectId); await shoe.set('isDel', true).save(); res.send({ errNo: 0 }); } catch (e) { res.send({ errNo: e.code }); } });
router.post('/getdetails', function (req, res) { var query = new AV.Query(Point); query.get(req.body.id, { success: function (point) { res.send(point); }, error: function (object, error) { res.send('false'); } }); });
AV.Cloud.define('uploadAllGoods', function (request) { let query = new AV.Query('_User'); query.get(request.params.objectId).then((user) => { for (let item in request.params) { if (item != 'objectId') { user.set(item, request.params[item]); console.log(request.params[item], item) } } user.save(); }) });
router.get("/recommend/:rid", restrict, function(req, res) { var query = new AV.Query(Recommend); query.include(['user','image']); query.get(req.params.rid).then(function(r) { //console.log(r) res.render('manage-recommend-detail', { obj: r }) }, function(error) { console.dir(arguments) res.send(error) }) })
function getOrderP(orderId) { var order = null; var coupons = null; var passengers = null; var tickets = null; var transactions = null; var query = new AV.Query(Order); query.include(["route.source", "route.dest"]); return query.get(orderId).then(function (result) { order = result; if(order.get('isDeleted')){ return AV.Promise.error('该订单已删除'); } return order.relation('coupons').query().find(); }).then(function (results) { coupons = results; return order.relation('passengers').query().find(); }).then(function (results) { passengers = results; var promise = AV.Promise.as(); if (order.get('state') != 'unpay' && order.get('state') != 'paying') { promise = promise.then(function () { var query = new AV.Query(Transaction); query.equalTo('order', order); return query.find(); }).then(function (results) { transactions = results; }); if (order.get('state') != 'cancelling' && order.get('state') != 'cancelled') { promise = promise.then(function () { var query = order.relation('tickets').query(); query.include('schedule'); return query.find(); }).then(function (results) { tickets = results; }); } } return promise.then(function () { return new AV.Promise(function (resolve, reject) { resolve({ order: order, passengers: passengers, coupons: coupons, tickets: tickets, transactions: transactions }); }); }); }); }
storyQuery.get(story).then(function(sto) { story = sto; var writerQuery = new AV.Query(AV.User); writerQuery.get(writer).then(function(wri) { writer = wri; newNode.set('story', story); newNode.set('writer', writer); return newNode.save(); }).then(function(node) { res.json({success: true, node: node}); }).catch(function(error) { res.json({success: false, error: error}); }); }).catch(function(error) {
router.get("/ajax/recommend/del/:rid", restrict, function(req, res) { var query = new AV.Query(Recommend); query.get(req.params.rid).then(function(r) { r.set("status", OBJECTSTATUS.DELETED); r.save().then(function(r) { res.send(result.success(r)) }, function(error) { res.send(result.failServerFail()) }) }, function(error) { console.log(error) res.send(reuslt.failServerFail()) }) })
app.post('/node', function(req, res) { var developFrom = req.body.developFrom; var linkTo = req.body.linkTo; var content = req.body.nodeContent; var title = req.body.nodeTitle; var story = req.body.story; var writer = req.body.writer; if (content == undefined || title == undefined || story == undefined || writer == undefined) { res.json({success: false, error: "parameter incomplete"}); } var newNode = new Node(); newNode.set('content', content); newNode.set('title', title); var nodeQuery = new AV.Query('Node'); if (developFrom != undefined) { newNode.set('developFrom', developFrom); nodeQuery.get(developFrom).then(function(foundDevelopFrom) { developFrom = foundDevelopFrom; nodeQuery = new AV.Query('Node'); if (linkTo != undefined) { newNode.set('linkTo', linkTo); nodeQuery.get(linkTo).then(function(foundLinkTo) { linkTo = foundLinkTo; var storyQuery = new AV.Query('Story'); storyQuery.get(story).then(function(sto) { story = sto; var writerQuery = new AV.Query(AV.User); writerQuery.get(writer).then(function(wri) { writer = wri; newNode.set('story', story); newNode.set('writer', writer); return newNode.save(); }).then(function(node) { res.json({success: true, node: node}); }).catch(function(error) { res.json({success: false, error: error}); }); }).catch(function(error) { res.json({success: false, error: error}); }); }).catch(function(error) { res.json({success: false, error: error}); }); } }).catch(function(error) { res.json({success: false, error: error}); }); } });
themeQuery.get(theme).then(function(getTheme) { theme = getTheme; writerQuery.get(creator).then(function(wri) { creator = wri; newStory.set('creator', creator); newStory.set('title', title); newStory.set('theme', theme); newStory.set('introduction', intro); return newStory.save(); }).then(function(success) { res.json({success: true, story: success}); }).catch(function(error) { res.json({success: false, error: error}); }); }).catch(function(error) {
router.post('/editroadtitle',function (req, res) { var query = new AV.Query(Road); query.get(req.body.RoadID, { success: function (road) { // The object was retrieved successfully. road.set("Title", req.body.Title.trim()); road.save(); res.send('true'); }, error: function (object, error) { // The object was not retrieved successfully. // error is a AV.Error with an error code and description. res.send('false'); } }); });