member.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. package http
  2. import (
  3. "io/ioutil"
  4. "time"
  5. "go-common/app/admin/main/member/model"
  6. "go-common/library/ecode"
  7. "go-common/library/log"
  8. bm "go-common/library/net/http/blademaster"
  9. "go-common/library/net/metadata"
  10. xtime "go-common/library/time"
  11. )
  12. func members(ctx *bm.Context) {
  13. arg := &model.ArgList{}
  14. if err := ctx.Bind(arg); err != nil {
  15. return
  16. }
  17. if arg.PN <= 0 {
  18. arg.PN = 1
  19. }
  20. if arg.PS <= 0 {
  21. arg.PS = 10
  22. }
  23. ctx.JSON(svc.Members(ctx, arg))
  24. }
  25. func memberProfile(ctx *bm.Context) {
  26. arg := &model.ArgMid{}
  27. if err := ctx.Bind(arg); err != nil {
  28. return
  29. }
  30. ctx.JSON(svc.MemberProfile(ctx, arg.Mid))
  31. }
  32. func delSign(ctx *bm.Context) {
  33. arg := &model.ArgMids{}
  34. if err := ctx.Bind(arg); err != nil {
  35. return
  36. }
  37. ctx.JSON(nil, svc.DelSign(ctx, arg))
  38. }
  39. // pubExpMsg is.
  40. func pubExpMsg(ctx *bm.Context) {
  41. arg := &model.ArgPubExpMsg{}
  42. if err := ctx.Bind(arg); err != nil {
  43. return
  44. }
  45. if arg.IP == "" {
  46. arg.IP = metadata.String(ctx, metadata.RemoteIP)
  47. }
  48. if arg.Ts == 0 {
  49. arg.Ts = time.Now().Unix()
  50. }
  51. ctx.JSON(nil, svc.PubExpMsg(ctx, arg))
  52. }
  53. func expSet(ctx *bm.Context) {
  54. arg := &model.ArgExpSet{}
  55. if err := ctx.Bind(arg); err != nil {
  56. return
  57. }
  58. arg.IP = metadata.String(ctx, metadata.RemoteIP)
  59. ctx.JSON(nil, svc.SetExp(ctx, arg))
  60. }
  61. func moralSet(ctx *bm.Context) {
  62. arg := &model.ArgMoralSet{}
  63. if err := ctx.Bind(arg); err != nil {
  64. return
  65. }
  66. arg.IP = metadata.String(ctx, metadata.RemoteIP)
  67. ctx.JSON(nil, svc.SetMoral(ctx, arg))
  68. }
  69. func coinSet(ctx *bm.Context) {
  70. arg := &model.ArgCoinSet{}
  71. if err := ctx.Bind(arg); err != nil {
  72. return
  73. }
  74. arg.IP = metadata.String(ctx, metadata.RemoteIP)
  75. ctx.JSON(nil, svc.SetCoin(ctx, arg))
  76. }
  77. func rankSet(ctx *bm.Context) {
  78. arg := &model.ArgRankSet{}
  79. if err := ctx.Bind(arg); err != nil {
  80. return
  81. }
  82. arg.IP = metadata.String(ctx, metadata.RemoteIP)
  83. ctx.JSON(nil, svc.SetRank(ctx, arg))
  84. }
  85. func additRemarkSet(ctx *bm.Context) {
  86. arg := &model.ArgAdditRemarkSet{}
  87. if err := ctx.Bind(arg); err != nil {
  88. return
  89. }
  90. ctx.JSON(nil, svc.SetAdditRemark(ctx, arg))
  91. }
  92. func baseReview(ctx *bm.Context) {
  93. arg := &model.ArgBaseReview{}
  94. if err := ctx.Bind(arg); err != nil {
  95. return
  96. }
  97. ctx.JSON(svc.BaseReview(ctx, arg))
  98. }
  99. func clearFace(ctx *bm.Context) {
  100. arg := &model.ArgMids{}
  101. if err := ctx.Bind(arg); err != nil {
  102. return
  103. }
  104. ctx.JSON(svc.ClearFace(ctx, arg), nil)
  105. }
  106. func clearSign(ctx *bm.Context) {
  107. arg := &model.ArgMids{}
  108. if err := ctx.Bind(arg); err != nil {
  109. return
  110. }
  111. ctx.JSON(svc.ClearSign(ctx, arg), nil)
  112. }
  113. func clearName(ctx *bm.Context) {
  114. arg := &model.ArgMids{}
  115. if err := ctx.Bind(arg); err != nil {
  116. return
  117. }
  118. ctx.JSON(svc.ClearName(ctx, arg), nil)
  119. }
  120. func expLog(ctx *bm.Context) {
  121. arg := &model.ArgMid{}
  122. if err := ctx.Bind(arg); err != nil {
  123. return
  124. }
  125. ctx.JSON(svc.ExpLog(ctx, arg.Mid))
  126. }
  127. func faceHistory(ctx *bm.Context) {
  128. arg := &model.ArgFaceHistory{}
  129. if err := ctx.Bind(arg); err != nil {
  130. return
  131. }
  132. if ctx.Request.Form.Get("status") == "" {
  133. // 0:队列中 1:待审核 2:通过 3:驳回
  134. arg.Status = []int8{0, 1, 2, 3}
  135. }
  136. if arg.PN <= 0 {
  137. arg.PN = 1
  138. }
  139. if arg.PS <= 0 {
  140. arg.PS = 50
  141. }
  142. if arg.ETime <= 0 {
  143. arg.ETime = xtime.Time(time.Now().Unix())
  144. }
  145. ctx.JSON(svc.FaceHistory(ctx, arg))
  146. }
  147. func moralLog(ctx *bm.Context) {
  148. arg := &model.ArgMid{}
  149. if err := ctx.Bind(arg); err != nil {
  150. return
  151. }
  152. ctx.JSON(svc.MoralLog(ctx, arg.Mid))
  153. }
  154. func batchFormal(ctx *bm.Context) {
  155. arg := &model.ArgBatchFormal{}
  156. if err := ctx.Bind(arg); err != nil {
  157. return
  158. }
  159. defer ctx.Request.Form.Del("file") // 防止日志不出现
  160. ctx.Request.ParseMultipartForm(32 << 20)
  161. fd, _, err := ctx.Request.FormFile("file")
  162. if err != nil {
  163. log.Warn("Failed to parse form file: %+v", err)
  164. ctx.JSON(nil, ecode.RequestErr)
  165. return
  166. }
  167. defer fd.Close()
  168. file, err := ioutil.ReadAll(fd)
  169. if err != nil {
  170. log.Warn("Failed to read form file: %+v", err)
  171. ctx.JSON(nil, ecode.RequestErr)
  172. return
  173. }
  174. log.Info("Succeeded to parse file data: file-length: %d", len(file))
  175. arg.FileData = file
  176. ctx.JSON(nil, svc.BatchFormal(ctx, arg))
  177. }