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 })
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())
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)
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)
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")
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})
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="没有数据")