Пример #1
0
    def get_order_review_list(args, need_product_detail=False):
        """
		得到会员已完成订单中所有未评价的商品列表的订单,或者已评价未晒图的订单

			PreCondition: webapp_user_id, member_id,
			PostCondition: orders

		@see 原始代码位置 `webapp/modules/mall/request_util.py`
		"""

        #webapp_user_id = args.webapp_user.id  # 游客身份
        #member_id = args.member.id            # 会员身份
        #member_id = args.webapp_user.member.id

        need_product_detail = args.get('need_product_detail')

        # 得到会员的所有已完成的订单
        #orders = mall_models.Order.by_webapp_user_id(webapp_user_id).filter(status=5)
        orders = Order.get_finished_orders_for_webapp_user({
            'webapp_user':
            args['webapp_user'],
            'webapp_owner':
            args['webapp_owner'],
        })

        # 获取全部订单id
        # orderIds = [order.id for order in orders]
        #orderHasProducts = OrderHasProduct.objects.filter(order_id__in=orderIds)
        #totalProductIds = [orderHasProduct.product_id for orderHasProduct in orderHasProducts]
        totalProductIds = []
        for order in orders:
            for product in order.products:
                totalProductIds.append(product.id)

        #ProductReviews = mall_models.ProductReview.objects.filter(order_has_product_id__in=orderHasProductIds)
        product_reviews = OrderReview.get_order_product_reviews(
            {'orders': orders})

        all_product_review_pictures = []
        for product_review in product_reviews:
            all_product_review_pictures.extend(product_review.pictures)

        #ProductReviewPictureIds = [product_review_picture.product_review_id for product_review_picture in all_product_review_pictures]

        if need_product_detail:
            # TODO: to be optimized
            """
			OrderReview.__process_with_product_detail({
				'orders': orders,
				})
			"""
            pass
        else:
            # TODO: to be optimized
            """
			OrderReview.__process_without_product_detail({
				'orders': orders,
				})
			"""
        return orders
Пример #2
0
    def __get_waiting_review_orders(self):
        webapp_owner = self.context['webapp_owner']
        webapp_user = self.context['webapp_user']

        orders = Order.get_finished_orders_for_webapp_user({
            'webapp_owner':
            webapp_owner,
            'webapp_user':
            webapp_user
        })
        waiting_review_orders = []

        for order in orders:
            waiting_review_order = WaitingReviewOrder.get_for_order({
                'webapp_owner':
                webapp_owner,
                'order':
                order,
                'webapp_user':
                webapp_user
            })
            if waiting_review_order:
                waiting_review_orders.append(waiting_review_order)
        self.orders = waiting_review_orders