question.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package model
  2. import (
  3. "time"
  4. )
  5. // state
  6. const (
  7. WaitCheck = int8(0)
  8. PassCheck = int8(1)
  9. NoPassCheck = int8(2)
  10. )
  11. // size
  12. const (
  13. MaxQuestion = 120
  14. MinQuestion = 6
  15. MaxAns = 100
  16. MinAns = 2
  17. MaxTips = 100
  18. MinTips = 2
  19. MaxLoadQueSize = 100000
  20. )
  21. // media type
  22. const (
  23. TextMediaType = int8(1)
  24. ImageMediaType = int8(2)
  25. TopRankSize = 10
  26. MyQuestionSize = 12
  27. AttrUnknown = -1
  28. )
  29. // QuestionRPC stion question info.
  30. type QuestionRPC struct {
  31. ID int64 `json:"id"`
  32. Mid int64 `json:"mid"`
  33. IP uint32 `json:"ip"`
  34. TypeID int8 `json:"type"`
  35. MediaType int8 `json:"media_type"`
  36. Check int8 `json:"check"`
  37. Source int8 `json:"source"`
  38. Question string `json:"question"`
  39. Ans1 string `json:"ans1"`
  40. Ans2 string `json:"ans2"`
  41. Ans3 string `json:"ans3"`
  42. Ans4 string `json:"ans4"`
  43. Tips string `json:"tips"`
  44. AvID int32 `json:"av_id"`
  45. Ctime time.Time `json:"ctime"`
  46. }
  47. // Question question info rpc.
  48. type Question struct {
  49. ID int64 `json:"id"`
  50. Mid int64 `json:"mid"`
  51. IP string `json:"ip"`
  52. TypeID int8 `json:"type"`
  53. MediaType int8 `json:"media_type"`
  54. Check int8 `json:"check"`
  55. Source int8 `json:"source"`
  56. Question string `json:"question"`
  57. Ans1 string `json:"ans1"`
  58. Ans2 string `json:"ans2"`
  59. Ans3 string `json:"ans3"`
  60. Ans4 string `json:"ans4"`
  61. Ans []string `json:"-"`
  62. Tips string `json:"tips"`
  63. AvID int32 `json:"av_id"`
  64. Ctime time.Time `json:"ctime"`
  65. Mtime time.Time `json:"mtime"`
  66. }
  67. // ExtraQst etc.
  68. type ExtraQst struct {
  69. ID int64 `json:"id"`
  70. Question string `json:"question"`
  71. Ans int8 `json:"ans"`
  72. Status int8 `json:"status"`
  73. OriginID int64 `json:"origin_id"`
  74. AvID int64 `json:"av_id"`
  75. Source int8 `json:"source"`
  76. Ctime time.Time `json:"ctime"`
  77. Mtime time.Time `json:"mtime"`
  78. }
  79. // ImgPosition .
  80. type ImgPosition struct {
  81. Ans0H float64 `json:"ans_0_h"`
  82. Ans0Y float64 `json:"ans_0_y"`
  83. Ans1H float64 `json:"ans_1_h"`
  84. Ans1Y float64 `json:"ans_1_y"`
  85. Ans2H float64 `json:"ans_2_h"`
  86. Ans2Y float64 `json:"ans_2_y"`
  87. Ans3H float64 `json:"ans_3_h"`
  88. Ans3Y float64 `json:"ans_3_y"`
  89. Ans4H float64 `json:"ans_4_h"`
  90. Ans4Y float64 `json:"ans_4_y"`
  91. QsH float64 `json:"qs_h"`
  92. QsY float64 `json:"qs_y"`
  93. }
  94. // ExtraBigData ret.
  95. type ExtraBigData struct {
  96. Done []int64 `json:"done"`
  97. Pend []int64 `json:"pend"`
  98. }