Example #1
0
router.get('/getallimages',function (req,res){


    var args = url.parse(req.url, true).query;

    var query = new AV.Query(Road_Image);
    query.equalTo("RoadId", args.RoadID);
    query.ascending("createdAt");
    query.find({
        success: function (results) {
            //alert("Successfully retrieved " + results.length + " scores.");
            // Do something with the returned AV.Object values

            var imgs=new Array();

            for (var i = 0; i < results.length; i++) {
                var object = results[i];
                var img = new Object();
                img.id = object.id;
                img.imageurl = object.get('Image').thumbnailURL(150, 150);

                imgs.push(img);
                //console.log(points);
            }
            res.send(imgs);
        },
        error: function (error) {
            // alert("Error: " + error.code + " " + error.message);
            res.send('false');

        }
    });
});
Example #2
0
 const queryComments = () => {
   const targetArticle = AV.Object.createWithoutData('ContentList', articleId)
   const query = new AV.Query('Comments')
   query.ascending('createdAt')
   query.equalTo('pointerArticle', targetArticle)
   return query.find()
 }
Example #3
0
 new AV.Promise(resolve => {
     let query = new AV.Query(ProductMethod);
     query.ascending('index');
     query.find().then(productMethod => {
         data = extend(data,{productMethod});
         resolve();
     });
 }),
Example #4
0
        item.destroy().done(()=> {

            let query = new AV.Query(ProductCategory1);
            query.equalTo('productMethodId',productMethodId);
            query.ascending('index');
            return query.find();

        }).done(items=> {
Example #5
0
 async.forEachSeries(data.product.get('productMethod'), function(productMethodId,cb) {
     let query = new AV.Query(ProductCategory1);
     query.equalTo('productMethodId',productMethodId);
     query.ascending('index');
     query.find().then(results => {
         category1.push(results);
         cb();
     });
 },err => {
Example #6
0
            query1.find().done(items=> {

                data = extend(data, {
                    category: items
                });

                query2.ascending('index');
                return query2.find();

            }).done(items2 => {
Example #7
0
        success: function (road) {
            var title = road.get("Title");
            var content = road.get("Content");

            var points = new Array();

            var query = new AV.Query(Point);
            query.equalTo("RoadId", req.params.id);
            query.ascending("Order");
            query.find({
                success: function (results) {
                    //alert("Successfully retrieved " + results.length + " scores.");
                    // Do something with the returned AV.Object values
                    for (var i = 0; i < results.length; i++) {
                        var object = results[i];



                        //console.log(getimagecount(object.id));


                        var point = new Object();
                        point.id = object.id;
                        point.type = object.get('Type');
                        point.title = object.get('Title');
                        point.content = object.get('Content');



                        var querypi = new AV.Query(Point_Image);
                        querypi.equalTo("PointId", point.id);
                        querypi.find().then(function(images){
                            point.imgcount=   images.length
                            console.log(images.length);

                        });

                        points.push(point);


                    }
                    res.render('roads/details', {
                        title: title,
                        user: username,
                        content: content,
                        roadid: req.params.id,
                        points: points,
                        layout: 'share/layout'
                    });
                },
                error: function (error) {
                    alert("Error: " + error.code + " " + error.message);
                }
            });
        },
Example #8
0
        new AV.Promise(resolve => {
            if(!category1Id) {
                return resolve();
            }

            let query = new AV.Query(ProductCategory1);
            query.equalTo('category1Id', category1Id);
            query.ascending('index');
            query.first().then(category1 => {
                data = extend(data, {category1});
                resolve();
            });
        }),
exports.list = function(req, res) {
    var query = new AV.Query(Article);
    query.ascending('createdAt');
    query.find({
        success: function(articles) {
            res.json(articles);
        },
        error: function(error) {
            return res.status(400).send({
                message: getErrorMessage(error)
            });
        }
    });
};
Example #10
0
        new AV.Promise(resolve => {

            if(!category1Id) {
                return resolve();
            }

            let query = new AV.Query(ProductCategory2);
            query.equalTo('category1Id',parseInt(category1Id));
            query.ascending('index');
            return query.find().then(category2 => {
                data = extend(data,{category2});
                resolve();
            });

        })
Example #11
0
            success: function (road) {
                var title = road.get("Title");
                var content = road.get("Content");

                var points = new Array();

                var query = new AV.Query(Point);
                query.equalTo("RoadId", req.params.id);
                query.ascending("Order");
                query.find({
                    success: function (results) {
                        //alert("Successfully retrieved " + results.length + " scores.");
                        // Do something with the returned AV.Object values
                        for (var i = 0; i < results.length; i++) {
                            var object = results[i];

                            var point = new Object();
                            point.id = object.id;
                            point.type = object.get('Type');
                            point.title = object.get('Title');
                            point.order=object.get('Order');
                            point.content = object.get('Content').replace(/<\/?.+?>/g, "");

                            if(point.content.length>=40)
                            {
                                point.content=point.content.substr(0,40)+"...";
                            }
                            points.push(point);
                            //console.log(points);


                        }
                        res.render('roads/pointorder', {
                            title: title,
                            user: username,
                            content: content,
                            isedit: isedit,
                            roadid: req.params.id,
                            points: points,
                            layout: 'share/layout'
                        });
                    },
                    error: function (error) {
                        alert("Error: " + error.code + " " + error.message);
                    }
                });
            },
Example #12
0
        new AV.Promise(resolve => {

            let query1 = new AV.Query(ProductCategory1);
            let query2 = new AV.Query(ProductCategory2);
            query2.limit(1000);

            {
                //按index排序
                query1.ascending('index');
                //productMethod
                query1.equalTo('productMethodId',productMethodId);
            }
            
            query1.find().done(items=> {

                data = extend(data, {
                    category: items
                });

                query2.ascending('index');
                return query2.find();

            }).done(items2 => {

                data.category.forEach(item1 => {
                    item1.contents = [];
                    items2.forEach(item2 => {
                        if (item1.get('category1Id') === item2.get('category1Id')) {
                            item1.contents.push(item2);
                        }
                    });
                    //对二级分类进行index排序
                    //item1.contents.sort((a,b)=> {
                    //    return a.get('index') > b.get('index');
                    //});
                });
                
                resolve();

            });
            
        })
Example #13
0
        success: function (road) {
            var title = road.get("Title");
            var content = road.get("Content");

            var points = new Array();

            var query = new AV.Query(Point);
            query.equalTo("RoadId", req.params.id);
            query.ascending("Order");
            query.find({
                success: function (results) {
                    //alert("Successfully retrieved " + results.length + " scores.");
                    // Do something with the returned AV.Object values
                    for (var i = 0; i < results.length; i++) {
                        var object = results[i];

                        var point = new Object();
                        point.id = object.id;
                        point.type = object.get('Type');
                        point.title = object.get('Title');
                        point.content = object.get('Content').replace(/<\/?.+?>/g, "");
                        points.push(point);
                        //console.log(points);


                    }
                    res.render('roads/pointlistpart', {
                        points: points,
                        layout: null
                    });
                },
                error: function (error) {
                    alert("Error: " + error.code + " " + error.message);
                }
            });
        },
Example #14
0
router.get('/:productId', function (req, res, next) {

    base.isAdminUserLogin(req, res);  //判断是否登录

    res.cookie('x_lc_sign',data.x_lc_sign);
    res.cookie('x_lc_session',req.AV.user._sessionToken);

    var productId = parseInt(req.params.productId);

    data = extend(data, {
        user: req.AV.user
    });
    
    async.auto({
        
        getProduct(resolve) {
            let query = new AV.Query(Product);
            query.equalTo('productId', productId);
            query.first().done(product => {
                console.log(product);
                data = extend(data, {product});
                resolve();
            });
        },
        getBanner(resolve) {
            let query = new AV.Query(Banner);
            query.find().then(items => {
                data = extend(data, {
                    banner: items
                });
                resolve();
            });
        },
        getMethod(resolve) {
            let query = new AV.Query(ProductMethod);
            query.ascending('index');
            query.find().then(productMethod => {
                data = extend(data,{productMethod});
                resolve();
            });
        },
        
        //处理main images
        getMainImage:['getProduct',function(resolve) {
            
            if(data.product.get('mainImage')) {
                let mainImages = [];
                let images = data.product.get('mainImage');
                for(let i in images) {
                    mainImages.push({id:i, url:images[i].url , isMainImage: images[i].isMainImage });
                }
                data = extend(data, {
                    mainImage:mainImages
                });
            } else {
                data = extend(data, {mainImage:[]});
            }
            resolve();
        }],
        
        getCategory1:['getProduct',function(resolve) {
            
            let category1 = [];
            async.forEachSeries(data.product.get('productMethod'), function(productMethodId,cb) {
                let query = new AV.Query(ProductCategory1);
                query.equalTo('productMethodId',productMethodId);
                query.ascending('index');
                query.find().then(results => {
                    category1.push(results);
                    cb();
                });
            },err => {
                data = extend(data,{category1});
                resolve();
            });
        }],

        getCategory2:['getProduct',function(resolve) {
            let category2 = [];
            async.forEachSeries(data.product.get('category1'), function(category1Id,cb) {
                let query = new AV.Query(ProductCategory2);
                query.equalTo('category1Id',category1Id);
                query.ascending('index');
                query.find().then(results => {
                    category2.push(results);
                    cb();
                });
            },err => {
                data = extend(data,{category2});
                resolve();
            });
        }]
        
    },(err,results) => res.render('admin/product/edit', data));
    
   

});
AV.Cloud.afterUpdate("Payment", function(request, response) {

  var paymentAmount= request.object.get("amount");
  var owner = request.object.get("owner");
  var creator = request.object.get("creator");
  var isApproved = request.object.get("isApproved");
  var paymentId = request.object.id;


  //only approved record need to repay
  if(isApproved ) {
    var FeeClass = AV.Object.extend("Fee");
    var queryFee = new AV.Query(FeeClass);
    queryFee.equalTo("owner", owner);
    queryFee.equalTo("isSettled", false);
    queryFee.include("feeTypeRef");
    queryFee.ascending("createdAt");

    queryFee.find({
      success: function (feeResults) {
        // results has the list of users with a hometown team with a winning record

        //Step1: sort the fee by the priority and date
        feeResults.sort(function (fee1, fee2) {

          var priority1 = fee1.get('feeTypeRef').get('priority');
          var priority2 = fee2.get('feeTypeRef').get('priority');

          if (priority1 < priority2) {
            return -1;
          }
          else if (priority1 === priority2) {
            return 0;
          }
          else {
            return 1;
          }

        });

        //Step2: loop all the list and repay it
        var changedFeeList = [];
        var paymentDetail = '';
        for (var i = 0; i < feeResults.length; i++) {
          var fee = feeResults[i];
          var lendingAmount = fee.get('amount');
          var settledAmount = fee.get('settledAmount');
          var isRentFee = fee.get('feeTypeRef').get('isRentFee');
          var outstandingAmount = lendingAmount - settledAmount;


          if(paymentDetail.length > 0)
          {
            paymentDetail = paymentDetail + ',' ;
          }

          if(isRentFee)
          {
            paymentDetail = paymentDetail + fee.get("reference");
          }
          else {
            paymentDetail = paymentDetail + fee.get('feeTypeRef').get('name');
          }

          if (paymentAmount >= outstandingAmount) {
            //full payment
            fee.set('settledAmount', fee.get('amount'));
            fee.set('isSettled', true);
            fee.set('settledDate', new Date());
            fee.set('settledBy', creator);
            changedFeeList.push(fee);

            paymentAmount = paymentAmount - outstandingAmount;
          }
          else {
            //partial payment
            var newSettledAmount = settledAmount + paymentAmount;
            fee.set('settledAmount', newSettledAmount);
            changedFeeList.push(fee);

            paymentAmount = 0;
            break;
          }
        }

        console.log('paymentDetail : ' + paymentDetail);
        request.object.set('paymentDetail', paymentDetail);

        //refresh after list is saved
        if (changedFeeList.length > 0) {
          AV.Object.saveAll(changedFeeList, {
            success: function (list) {

              request.object.set('paymentDetail', paymentDetail);
              request.object.save().then(function(obj) {
              });

              var PeopleClass = AV.Object.extend("People");
              var query = new AV.Query(PeopleClass);
              query.include('accountRef');
              query.get(owner.id, {
                success: function (targetPeople) {
                  refreshRunningBalance(targetPeople,
                    function () {
                    },
                    function (error) {
                      console.log(error.message);
                    });

                }
              });

            },
            error: function (error) {
            }
          });
        }
        else {
        }

      },
      error: function (error) {
      }
    });
  }
  else {
  }

});