product_review.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. """售后评价模型"""
  2. from datetime import datetime
  3. from sqlalchemy import Column, String, DateTime, Integer, Text
  4. from app.core.database import Base
  5. class BizProductReview(Base):
  6. """商品售后评价表"""
  7. __tablename__ = "biz_product_review"
  8. id = Column(String(32), primary_key=True, comment="主键ID")
  9. product_id = Column(String(32), nullable=False, comment="商品ID")
  10. order_id = Column(String(32), nullable=True, comment="订单ID")
  11. order_item_id = Column(String(32), nullable=True, comment="订单项ID")
  12. user_id = Column(String(32), nullable=False, comment="评价用户ID")
  13. user_name = Column(String(100), nullable=True, comment="评价用户姓名")
  14. rating = Column(Integer, nullable=False, default=5, comment="评分(1-5星)")
  15. rating_tags = Column(String(500), nullable=True, comment="评价标签,多个逗号分隔")
  16. content = Column(Text, nullable=True, comment="评价内容")
  17. is_anonymous = Column(Integer, default=0, comment="是否匿名:0-否, 1-是")
  18. reply_content = Column(Text, nullable=True, comment="商家回复内容")
  19. reply_time = Column(DateTime, nullable=True, comment="商家回复时间")
  20. reply_by = Column(String(32), nullable=True, comment="回复人ID")
  21. reply_by_name = Column(String(100), nullable=True, comment="回复人姓名")
  22. like_count = Column(Integer, default=0, comment="点赞数")
  23. is_top = Column(Integer, default=0, comment="是否置顶:0-否, 1-是")
  24. status = Column(String(20), default="pending", comment="状态:pending-待审核, approved-已通过, rejected-已拒绝")
  25. reject_reason = Column(String(500), nullable=True, comment="拒绝原因")
  26. is_del = Column(Integer, default=0, comment="是否删除:0-否, 1-是")
  27. create_at = Column(DateTime, default=datetime.now, comment="创建时间")
  28. create_by = Column(String(32), nullable=True, comment="创建人ID")
  29. create_name = Column(String(100), nullable=True, comment="创建人姓名")
  30. update_at = Column(DateTime, default=datetime.now, onupdate=datetime.now, comment="修改时间")
  31. update_by = Column(String(32), nullable=True, comment="修改人ID")
  32. class BizProductReviewHis(Base):
  33. """商品售后评价历史表"""
  34. __tablename__ = "biz_product_review_his"
  35. id = Column(String(32), primary_key=True, nullable=False, comment="主键ID")
  36. product_id = Column(String(32), nullable=True, comment="商品ID")
  37. order_id = Column(String(32), nullable=True, comment="订单ID")
  38. order_item_id = Column(String(32), nullable=True, comment="订单项ID")
  39. user_id = Column(String(32), nullable=True, comment="评价用户ID")
  40. user_name = Column(String(100), nullable=True, comment="评价用户姓名")
  41. rating = Column(Integer, default=5, comment="评分")
  42. rating_tags = Column(String(500), nullable=True, comment="评价标签")
  43. content = Column(Text, nullable=True, comment="评价内容")
  44. is_anonymous = Column(Integer, default=0, comment="是否匿名")
  45. reply_content = Column(Text, nullable=True, comment="商家回复内容")
  46. reply_time = Column(DateTime, nullable=True, comment="商家回复时间")
  47. reply_by = Column(String(32), nullable=True, comment="回复人ID")
  48. reply_by_name = Column(String(100), nullable=True, comment="回复人姓名")
  49. like_count = Column(Integer, default=0, comment="点赞数")
  50. is_top = Column(Integer, default=0, comment="是否置顶")
  51. status = Column(String(20), default="pending", comment="状态")
  52. reject_reason = Column(String(500), nullable=True, comment="拒绝原因")
  53. create_at = Column(DateTime, nullable=True, comment="创建时间")
  54. create_by = Column(String(32), nullable=True, comment="创建人ID")
  55. create_name = Column(String(100), nullable=True, comment="创建人姓名")
  56. update_at = Column(DateTime, nullable=True, comment="修改时间")
  57. update_by = Column(String(32), nullable=True, comment="修改人ID")
  58. his_create_at = Column(DateTime, default=datetime.now, comment="历史记录创建时间")