コード例 #1
0
def my_dynamic():
    """我的动态"""
    user_id = redis_store.get("user_id").decode()

    try:
        dynamics = Dynamic.query.filter_by(user_id=user_id).all()
    except Exception as e:
        current_app.logger.error(e)
        return jsonify(errnum=RET.DBERR, errmsg="数据库查询失败")

    if not dynamics:
        return jsonify(errnum=RET.NODATA, errmsg="未查询到相关数据")

    dynamics_list = []

    for dynamic in dynamics:
        dynamics_list.append(dynamic.to_base_dict())

    user = User.query.get(user_id)
    user_list = user.to_base_dict()
    avatar_url = user_list["avatar_url"]
    name = user_list["user_name"]

    return jsonify(errnum=RET.OK,
                   errmsg="OK",
                   data=dynamics_list,
                   data1={
                       "avatar_url": avatar_url,
                       "name": name
                   })
コード例 #2
0
def profile():
    """个人信息"""
    user_id = redis_store.get("user_id")
    try:
        user = User.query.get(user_id)
    except Exception as e:
        current_app.logger.error(e)
        return jsonify(errnum=RET.DBERR, errmsg="数据库查询错误")

    if user is None:
        return jsonify(errnum=RET.NODATA, errmsg="无效的操作")

    return jsonify(errnum=RET.OK, errmsg="OK", data=user.to_base_dict())
コード例 #3
0
def get_other():
    """他人更圈历史"""
    user_id = redis_store.get("user_id").decode()
    other_id = request.values.get("other_id")

    if not other_id:
        return jsonify(errnum=RET.NODATA, errmsg="没有数据")

    try:
        dynamics = Dynamic.query.filter_by(user_id=other_id).order_by(
            Dynamic.id.desc()).all()
    except Exception as e:
        current_app.logger.error(e)
        return jsonify(errnum=RET.DBERR, errmsg="查询数据失败")
    dynamics_user_good_list = []

    if dynamics:
        for dynamic in dynamics:
            user = User.query.get(other_id)
            good = Good.query.filter_by(dynamic_id=dynamic.id,
                                        user_id=user_id).first()
            if good is None:
                dict1 = {
                    "avatar_url": user.to_base_dict().get("avatar_url"),
                    "user_name": user.to_base_dict().get("user_name")
                }
                dict2 = dynamic.to_base_dict()
                dict3 = {"status": "false"}
                dynamics_user_good_list.append(
                    dict(dict(dict1, **dict2), **dict3))
            else:
                dict1 = {
                    "avatar_url": user.to_base_dict().get("avatar_url"),
                    "user_name": user.to_base_dict().get("user_name")
                }
                dict2 = dynamic.to_base_dict()
                dict3 = good.to_base_dict()
                dynamics_user_good_list.append(
                    dict(dict(dict1, **dict2), **dict3))

    return jsonify(errnum=RET.OK, errmsg="OK", data=dynamics_user_good_list)
コード例 #4
0
def get_public():
    """公屏"""
    # 获取session中的user_id
    user_id = redis_store.get("user_id").decode()

    try:
        dynamics = Dynamic.query.order_by(Dynamic.id.desc()).all()
    except Exception as e:
        current_app.logger.error(e)
        return jsonify(errnum=RET.DBERR, errmsg="查询数据失败")
    dynamics_user_good_list = []

    if dynamics:
        for dynamic in dynamics:
            user = User.query.get(dynamic.user_id)
            good = Good.query.filter_by(dynamic_id=dynamic.id,
                                        user_id=user_id).first()
            if good is None:
                dict1 = user.to_base_dict()
                dict2 = dynamic.to_base_dict()
                dict3 = {"status": "false"}
                dynamics_user_good_list.append(
                    dict(dict(dict1, **dict2), **dict3))
            else:
                dict1 = user.to_base_dict()
                dict2 = dynamic.to_base_dict()
                dict3 = good.to_base_dict()
                dynamics_user_good_list.append(
                    dict(dict(dict1, **dict2), **dict3))

    user = User.query.get(user_id)
    user_list = user.to_base_dict()
    # print(user_list)

    return jsonify(errnum=RET.OK,
                   errmsg="OK",
                   data=dynamics_user_good_list,
                   data1=user_list)
コード例 #5
0
def get_good():
    """点赞"""
    user_id = redis_store.get("user_id").decode()
    dynamic_id = request.values.get("dynamic_id")
    if not dynamic_id:
        return jsonify(errnum=RET.NODATA, errmsg="没有数据")

    try:
        user = User.query.get(user_id)
    except Exception as e:
        current_app.logger.error(e)
        return jsonify(errnum=RET.DBERR, errmsg="数据库查询失败")

    goods = Good.query.filter_by(dynamic_id=dynamic_id,
                                 user_id=user.id).first()
    if not goods:
        goods = Good(dynamic_id=dynamic_id,
                     username=user.name,
                     user_id=user.id,
                     status="true")

    else:
        goods = Good.query.filter_by(dynamic_id=dynamic_id,
                                     user_id=user.id).update({
                                         "username": user.name,
                                         "status": "true"
                                     })

    try:
        db.session.add(goods)
        db.session.commit()
    except Exception as e:
        current_app.logger.error(e)
        db.session.rollback()
        return jsonify(errnum=RET.DBERR, errmsg="数据保存失败")

    return jsonify(errnum=RET.OK, errmsg="OK")
コード例 #6
0
def get_comment():
    """评论"""
    user_id = redis_store.get("user_id").decode()

    comment = request.values.get("comment")
    dynamic_id = request.values.get("dynamic_id")

    if not all([comment, dynamic_id]):
        return jsonify(errnum=RET.NODATA, errmsg="没有数据")
    print("1")

    comment = Comment(dynamic_id=dynamic_id,
                      content=comment,
                      from_user_id=user_id)

    try:
        db.session.add(comment)
        db.session.commit()
    except Exception as e:
        current_app.logger.error(e)
        db.session.rollback()
        return jsonify(errnum=RET.DBERR, errmsg="数据保存失败")

    return jsonify(errnum=RET.OK, errmsg="OK", data={"comment_id": comment.id})
コード例 #7
0
def create_dynamic():
    """发布新动态"""
    user_id = redis_store.get("user_id").decode()
    print(user_id)

    # 获取上传的图片文件和文字
    content = request.values.get("content")
    image_file = request.files.get("file")
    print(content)

    if all([content, image_file]):
        print("ok")
        image_data = image_file.read()
        try:
            file_name = storage(image_data)
            print(file_name)
        except Exception as e:
            current_app.logger.error(e)
            return jsonify(errnum=RET.THIRDERR, errmsg="图片上传失败")
        dynamic = Dynamic(user_id=user_id,
                          content=content,
                          content_image_url=file_name)
        try:
            db.session.add(dynamic)
            db.session.commit()
        except Exception as e:
            current_app.logger.error(e)
            db.session.rollback()
        return jsonify(errnum=RET.OK, errmsg="OK")

    elif content:
        dynamic = Dynamic(
            user_id=user_id,
            content=content,
        )
        try:
            db.session.add(dynamic)
            db.session.commit()
        except Exception as e:
            current_app.logger.error(e)
            db.session.rollback()
        return jsonify(errnum=RET.OK, errmsg="OK")

    elif image_file:
        image_data = image_file.read()
        try:
            file_name = storage(image_data)
            print(file_name)
        except Exception as e:
            current_app.logger.error(e)
            return jsonify(errnum=RET.THIRDERR, errmsg="图片上传失败")
        dynamic = Dynamic(user_id=user_id, content_image_url=file_name)
        try:
            db.session.add(dynamic)
            db.session.commit()
        except Exception as e:
            current_app.logger.error(e)
            db.session.rollback()
        return jsonify(errnum=RET.OK, errmsg="OK")

    elif not all([content, image_file]):
        return jsonify(errnum=RET.NODATA, errmsg="没有数据")