def read(self, request): """ 获取某个活动的信息 ``GET`` :param id: 某个活动的 id """ params = request.GET active_id = params.get("id") user_id = params.get("uid") class_id = params.get("class_id") if active_id: try: active = Activity.objects.get(pk=active_id) return active except Activity.DoesNotExist: return rc.NOT_HERE if not user_id and not class_id: return rc.bad_request( "user_id or class_id is requierd") q = Q(user__pk=user_id) if user_id else Q(group__pk=class_id) queryset = Activity.objects.filter(q).order_by("-start_time","-id") return query_range_filter(params, queryset, "actives")
def read(self, request): """ 获得所有内容(教师使用) ``GET`` `tiles/ <http://192.168.1.222:8080/v1/tiles>`_ :param uid: 用户 id. 用于查询与某用户相关的瓦片 :param class_id: 班级 id, 查询用户所在班级相关的瓦片 获得某条内容的详细信息 ``GET`` `tiles/show/ <http://192.168.1.222:8080/v1/tiles/show>`_ :param id: 某个瓦片的 id """ params = request.GET tile_id = params.get("id") user_id = params.get("uid") class_id = params.get("class_id") if tile_id: try: tile = Tile.objects.get(pk=tile_id) tile.api_count += 1 tile.save() add_daily_record_visitor(request.user,tile) pro = request.user.get_profile() pro.last_access = datetime.datetime.now() pro.save() return tile except Tile.DoesNotExist: return rc.NOT_HERE if not user_id and not class_id: #return rc.BAD_REQUEST return rc.bad_request( "user_id or class_id is requierd") q = Q(user__pk=user_id) if user_id else Q(group__pk=class_id) queryset = Tile.objects.filter(q).exclude(new_type_id=4).order_by("-microsecond","-id") mictime = request.GET.get("mictime", "") if mictime: queryset = queryset.filter(microsecond__lte=mictime) return query_range_filter(params, queryset, "tiles")
def read(self, request): """ 获取某个食谱的详情 ``GET`` param id:某个食谱的 id param date:日期 param class_id:班级id """ params = request.GET id = params.get("id") date = params.get("date") class_id = params.get("class_id") if id: try: cookbook = Cookbook.objects.get(pk=id) helpers.mark_cookbook_as_read(request,cookbook) return cookbook except Cookbook.DoesNotExist: return rc.NOT_HERE if not date and not class_id: return rc.bad_request( "date or class_id is requierd") try: group = Group.objects.get(pk=class_id) except Group.DoesNotExist: return rc.not_here("froup object is not exist") #date = datetime.datetime.strptime(date,"%Y-%m-%d") cookbooks = Cookbook.objects.filter(date=date,group=group) if cookbooks: cookbook = cookbooks[0] helpers.mark_cookbook_as_read(request,cookbook) else: cookbook = '' return cookbook