complaint_table.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package db
  2. import (
  3. dbFacade "f1-game/internal/component/db/facade"
  4. "f1-game/internal/enum"
  5. nameDB "f1-game/internal/name/db"
  6. "go.mongodb.org/mongo-driver/v2/mongo"
  7. )
  8. type (
  9. // ComplaintTable 举报信息表
  10. ComplaintTable struct {
  11. ComplaintID int64 `bson:"ComplaintID,omitempty"` // 举报唯一ID
  12. PlayerID int64 `bson:"PlayerID,omitempty"` // 举报人
  13. TargetID int64 `bson:"TargetID,omitempty"` // 被举报对象
  14. Type enum.ComplaintType `bson:"Type,omitempty"` // 举报类型 1.垃圾广告 2.举报外挂 3.不良发言,4.不法行为,5.不雅昵称,6.广告拉人,7.举报其他
  15. Content string `bson:"Content,omitempty"` // 举报内容
  16. dbFacade.TableBase `bson:",inline"`
  17. }
  18. )
  19. func (p *ComplaintTable) TableName() string {
  20. return nameDB.Table_Complaint
  21. }
  22. func (p *ComplaintTable) PrimaryValue() any {
  23. return p.ComplaintID
  24. }
  25. func (p *ComplaintTable) Indexes() []mongo.IndexModel {
  26. return nil
  27. }
  28. func (p *ComplaintTable) Save2Queue() {
  29. save2Queue(p)
  30. }
  31. func NewComplaintTable(complaintID, playerID, targetID int64, complaintType enum.ComplaintType, content string) *ComplaintTable {
  32. return &ComplaintTable{
  33. ComplaintID: complaintID,
  34. PlayerID: playerID,
  35. TargetID: targetID,
  36. Type: complaintType,
  37. Content: content,
  38. }
  39. }