Пример #1
0
    def get_dishes_list(self, request, **kwargs):
        key = self.get_dishes_list_key(request)
        dishes_list = self.handle.lrange(key)
        if not dishes_list:
            _dishes_list = Dishes.filter_details(request, **kwargs)
            # 用最近一个月的菜品销量来排序商户的菜品列表
            orders_filter = {
                'start_created': now() - datetime.timedelta(days=30),
                'payment_status': 200
            }
            orders_list = Orders.get_objects_list(request, **orders_filter)
            sale_list = self.get_dishes_list_with_sale(
                dishes_list=_dishes_list, orders_list=orders_list)
            self.set_dishes_list(request, sale_list)
            return sale_list

        if kwargs.get('classify', 0) != 0:
            new_list = []
            for dishes in dishes_list:
                if dishes['classify'] == kwargs['classify']:
                    new_list.append(dishes)
            return new_list
        return dishes_list