def get(self): args = request.args course_id = args.get("id", 0) response = Response() offset = request.args.get("offset", current_app.config["PAGE_OFFSET"]) offset = int(offset) default_url = os.path.join(current_app.config["MEDIA_URL"], "default_course.jpg") try: user_id = getattr(request, "user", {}).get("id") ret_list = fetchall_dict(SelectMap.course_list_by_page, (course_id, offset), GeneralObject) ret_json = [] if user_id: for course in ret_list: collect = fetchone_dict(SelectMap.collect_by_course_id, (course.id, user_id), GeneralObject) course.is_collect = True if collect else False course.collect_id = collect.id if collect else None action = fetchone_dict(SelectMap.action_list_by_course_id, (course.id,), GeneralObject) course.picture = action.picture if action else default_url ret_json.append(course.data) else: for course in ret_list: course.is_collect = False course.collect_id = None ret_json.append(course.data) response.data = { "course_list": ret_json, "count": len(ret_json), "query_id": ret_list[-1].id, "last_query_id": course_id, "page_offset": offset } return jsonify(response.dict_data) except Exception as e: init_key_error_handler(response, e, "错误:") return jsonify(response.dict_data)
def _comment_list(self, resp): user_id = request.args.get("id") or request.user["id"] blog_list = fetchall_dict(SelectMap.blog_list_comment, (user_id, user_id), GeneralObject) if not blog_list: raise UserDoesNotExistException("数据不存在") self._init_info(blog_list, user_id) resp.data = { "blog_list": [blog.data for blog in blog_list], "count": len(blog_list) }
def _upper_list(self, resp): """ 取到当前对应id用户的所有的点赞过的blog """ user_id = request.args.get("id") or request.user["id"] blog_list = fetchall_dict(SelectMap.blog_list_upper, (user_id, user_id), GeneralObject) if not blog_list: raise UserDoesNotExistException("数据不存在") # self._init_info(blog_list, user_id) for blog in blog_list: self._set_comment_count(blog) resp.data = { "blog_list": [blog.data for blog in blog_list], "count": len(blog_list) }
def _back_list(self, response): _id = request.args.get("id", 0) offset = request.args.get("offset", current_app.config["PAGE_OFFSET"]) offset = int(offset) blog_list = fetchall_dict(SelectMap.blog_list_by_id, (_id, offset), GeneralObject) if blog_list: for blog in blog_list: self._set_comment_count(blog) response.data = { "blog_list": [blog.data for blog in blog_list], "query_id": blog_list[-1].id, "last_query_id": _id, "page_offset": offset, "count": len(blog_list) } else: raise UserDoesNotExistException("数据不存在")
def _circle_list(self, resp): """ 好友圈博客列表的接口 """ try: user_id = request.user["id"] except (AttributeError, KeyError): resp.data = {"msg": "失效的token"} resp.errno = 1 resp.code = 405 return blog_list = fetchall_dict(SelectMap.blog_list_circle, (user_id, user_id), GeneralObject) if not blog_list: raise UserDoesNotExistException("暂无数据") for blog in blog_list: self._set_comment_count(blog) resp.data = { "blog_list": [blog.data for blog in blog_list], "count": len(blog_list) }
def _user_list(self, response): req = GeneralObject() resp = post(UserListValid, request.args, req) if resp is not None: response = resp return blog_id = getattr(resp, "blog_id", 0) offset = req.offset page = req.page blog_list = fetchall_dict(SelectMap.blog_list_by_user, (req.id, blog_id, (page - 1) * offset + 1, offset), create_cmp_with_class(_lt)) if blog_list: blog_list.sort() for blog in blog_list: self._set_comment_count(blog) response.data = { "blog_list": [blog.data for blog in blog_list], "count": len(blog_list), "page": page, } else: raise UserDoesNotExistException("数据不存在")