client.active.draw.num.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package shanghu
  2. import (
  3. "duoduo/apis/shanghu/models"
  4. "duoduo/models/shanghu"
  5. "duoduo/tools/app"
  6. "github.com/gin-gonic/gin"
  7. "time"
  8. )
  9. // 增加邀请次数
  10. func InvitedDrawNum(c *gin.Context) {
  11. var inData models.InvitedDrawNumRequest
  12. var sqlData shanghu.ClientActiveDrawNum
  13. var clientSql shanghu.MerchantClientUser
  14. var activeSql shanghu.MerchantActiveConfig
  15. err := c.ShouldBindJSON(&inData)
  16. if err != nil {
  17. app.Error(c, 500, err, err.Error())
  18. return
  19. }
  20. if inData.InvitedCode == "yuanshima" {
  21. app.OK(c, nil, app.Success)
  22. return
  23. }
  24. //查询活动没有抽奖跳过
  25. activeSql.ID = inData.ActiveConfigId
  26. activeConfigInfo, err := activeSql.GetConfigInfoById()
  27. if err != nil {
  28. app.Error(c, 500, err, err.Error())
  29. return
  30. }
  31. if activeConfigInfo.DrawMode == 0 { //不抽奖
  32. app.OK(c, nil, app.Success)
  33. return
  34. }
  35. clientSql.Code = inData.InvitedCode
  36. clientInfo, err := clientSql.GetUserInfoByCode()
  37. if err != nil {
  38. app.Error(c, 500, err, err.Error())
  39. return
  40. }
  41. sqlData.ClientOpenID = clientInfo.ClientOpenID
  42. sqlData.ActiveConfigID = inData.ActiveConfigId
  43. sqlData.ClientOpenIDInvited = inData.OpenId
  44. sqlData.CreatedAt = time.Now()
  45. sqlData.UpdatedAt = time.Now()
  46. //校验是否重复打开 同一个用户id 邀请同一个id 同一个活动id
  47. count, err := sqlData.GetClientDrawNum()
  48. if err != nil {
  49. app.Error(c, 500, err, err.Error())
  50. return
  51. }
  52. //已被邀请过
  53. if count > 0 {
  54. app.OK(c, nil, app.Success)
  55. return
  56. }
  57. _, err = sqlData.Create()
  58. if err != nil {
  59. app.Error(c, 500, err, err.Error())
  60. return
  61. }
  62. app.OK(c, nil, app.Success)
  63. }
  64. func ActiveDrawCount(c *gin.Context) {
  65. var inData models.ActiveDrawCountRequest
  66. var sqlData shanghu.ClientActiveDrawNum
  67. var outData models.ActiveDrawCountReply
  68. err := c.ShouldBindJSON(&inData)
  69. if err != nil {
  70. app.Error(c, 400, err, err.Error())
  71. return
  72. }
  73. sqlData.ClientOpenID = inData.OpenId
  74. sqlData.ActiveConfigID = inData.ActiveConfigId
  75. count, err := sqlData.GetClientDrawByOpenID()
  76. if err != nil {
  77. app.Error(c, 500, err, err.Error())
  78. return
  79. }
  80. outData.Num = count
  81. app.OK(c, outData, app.Success)
  82. }