def id_valid(self, _id): if isinstance(_id, str): raise InvalidArgumentException("错误的id数据类型") ret = execute_query_sql(SelectMap.user_valid_by_id, (_id, ), lambda c: c.fetchone()) if not ret and _id != 0: raise InvalidArgumentException("用户不存在")
def _back_list(self, response): valid = UserListValid(dict(id=request.args.get("id", 0))) data = valid.clean_data limit = request.args.get("offset", current_app.config["PAGE_OFFSET"]) limit = int(limit) ret = execute_query_sql(SelectMap.user_list_by_offset, [data.get("query_id", 0), limit]) if ret == (): raise UserDoesNotExistException("id不存在") response.data = { "user_list": [{ "id": user[0], "permission": user[1], "account": user[2], "nick_name": user[3], "age": user[4], "avatar": user[5], "gender": user[6], "email": user[7], "phone": user[8], "description": user[9], "create_time": user[10] } for user in ret], "count": len(ret), "query_id": ret[-1][0], "last_query_id": data.get("query_id", 0), "page_offset": limit }
def user_id_valid(self, user_id): ret = execute_query_sql(SelectMap.user_valid_by_id, (user_id, ), lambda c: c.fetchone()) if not ret: raise InvalidArgumentException("用户不存在") if getattr(request, "user")["permission"] != 255 and getattr( request, "user")["id"] != user_id: raise InvalidArgumentException("此用户权限不足以创建为其他人创建文章")
def post(self): valid = CourseValid(parse.parse_args()) err_map = valid.valid_data() response = Response() if err_map: response.data = err_map response.errno = len(err_map) response.code = FORMAT_ERROR return jsonify(response.dict_data) try: data = valid.clean_data execute_sql(InsertMap.course, [ data["type"], data["name"], datetime.datetime.now(), data["level"], data["burning"] ]) ret = execute_query_sql(SelectMap.course_by_create, [data["name"], ], lambda c: c.fetchone()) response.data = { "id": ret[0], "type": ret[1], "name": ret[2], "create_time": ret[3], "level": ret[4], "burning": ret[5] } except Exception as e: init_key_error_handler(response, e, "插入数据失败:") return jsonify(response.dict_data)
def sequence_valid(self, sequence): ret = execute_query_sql(SelectMap.action_by_course_id, [getattr(self, "id"), ], lambda c: c.fetchall()) for action in ret: if action[2] == sequence: raise InvalidArgumentException("课程的顺序重复!")
def id_valid(self, _id): ret = execute_query_sql(SelectMap.course_by_id, [_id, ], lambda c: c.fetchone()) if ret == (): raise InvalidArgumentException("课程不存在")