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
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