user.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. package apis
  2. import (
  3. "duoduo/apis/bizhi/models"
  4. "duoduo/apis/pdd"
  5. "duoduo/models/bizhi"
  6. "duoduo/tools"
  7. "duoduo/tools/app"
  8. "fmt"
  9. "github.com/gin-gonic/gin"
  10. )
  11. //获取用户openid,没有,注册用户
  12. func OpenIdSet(c *gin.Context) {
  13. var inData models.OpenIdSetRequest
  14. var outData models.OpenIdSetResponse
  15. var sqlData bizhi.User
  16. var sql1 bizhi.User
  17. err := c.ShouldBindJSON(&inData)
  18. if err != nil {
  19. app.Error(c, 400, err, err.Error())
  20. return
  21. }
  22. url := fmt.Sprintf("https://api.weixin.qq.com/sns/jscode2session?appid=wx170728845ab9636a&secret=74fb30153a86222669ccab64a43636aa&js_code=%s&grant_type=authorization_code", inData.Code)
  23. val, err := pdd.DuoDuoGet(url)
  24. if err != nil {
  25. app.Error(c, 500, err, err.Error())
  26. return
  27. }
  28. err = tools.JsonUnmarshal(val, &outData)
  29. if err != nil {
  30. app.Error(c, 500, err, err.Error())
  31. return
  32. }
  33. if outData.Errcode != 0 {
  34. app.Error(c, outData.Errcode, err, outData.Errmsg)
  35. return
  36. }
  37. //查询数据
  38. sqlData.OpenID = outData.OpenId
  39. num := sqlData.GetNum()
  40. if num == 0 {
  41. if inData.OpenId != "" { //有上级更新上级加分日志
  42. sql1.OpenID = inData.OpenId
  43. //创建用户
  44. sqlData.CreateTime = tools.GetCurrntTimeStr()
  45. sqlData.UpdateTime = tools.GetCurrntTimeStr()
  46. sqlData.OpenID1 = inData.OpenId
  47. sqlData.Score = 3
  48. sqlData.Create()
  49. } else { //无上级用户
  50. //创建用户
  51. sqlData.CreateTime = tools.GetCurrntTimeStr()
  52. sqlData.UpdateTime = tools.GetCurrntTimeStr()
  53. sqlData.Score = 3
  54. sqlData.Create()
  55. }
  56. }
  57. app.OK(c, outData, app.Success)
  58. }
  59. //获取用户积分
  60. func GetUserScore(c *gin.Context) {
  61. var inData models.GetUserScoreRequest
  62. var sqlData bizhi.User
  63. err := c.ShouldBindJSON(&inData)
  64. if err != nil {
  65. app.Error(c, 400, err, err.Error())
  66. return
  67. }
  68. sqlData.OpenID = inData.OpenId
  69. data, err := sqlData.GetScore()
  70. if err != nil {
  71. app.Error(c, 500, err, err.Error())
  72. return
  73. }
  74. app.OK(c, data, "成功")
  75. }
  76. //用户消费积分
  77. func SubUserScore(c *gin.Context) {
  78. var inData models.SubUserScoreRequest
  79. var sqlData bizhi.User
  80. var score bizhi.ScoreLog
  81. err := c.ShouldBindJSON(&inData)
  82. if err != nil {
  83. app.Error(c, 400, err, err.Error())
  84. return
  85. }
  86. sqlData.OpenID = inData.OpenId
  87. score.OpenID = inData.OpenId
  88. score.Type = inData.Type
  89. if inData.Type == 2 { //签到领积分校验日期
  90. if !score.CheckScoreLog(inData.Num) {
  91. app.Error(c, 501, nil, "今日领取次数已满")
  92. return
  93. }
  94. } else if inData.Type == 3 {
  95. if !score.CheckScoreLog(inData.Num) {
  96. app.Error(c, 501, nil, "今日领取次数已满")
  97. return
  98. }
  99. }
  100. err = sqlData.SubScore(inData)
  101. if err != nil {
  102. app.Error(c, 500, err, err.Error())
  103. return
  104. }
  105. app.OK(c, nil, "")
  106. }
  107. //下级用户列表
  108. func GetUserList(c *gin.Context) {
  109. var inData models.GetUserListRequest
  110. var user bizhi.User
  111. var pageSize = 10
  112. var pageIndex = 1
  113. err := c.ShouldBindJSON(&inData)
  114. if err != nil {
  115. app.Error(c, 400, err, err.Error())
  116. return
  117. }
  118. if inData.PageSize != 0 {
  119. pageSize = inData.PageSize
  120. }
  121. if inData.PageIndex != 0 {
  122. pageIndex = inData.PageIndex
  123. }
  124. user.OpenID1 = inData.OpenIdOne
  125. userVal, count, err := user.GetOpenIdList(pageSize, pageIndex)
  126. if err != nil {
  127. app.Error(c, 500, err, err.Error())
  128. return
  129. }
  130. for i := 0; i < len(userVal); i++ {
  131. ///pages/image/my_fill1.png
  132. if userVal[i].AvatarUrl == "" {
  133. userVal[i].AvatarUrl = "/pages/image/my_fill1.png"
  134. }
  135. if userVal[i].NickName == "" {
  136. userVal[i].NickName = "用户暂未授权昵称获取"
  137. }
  138. }
  139. app.PageOK(c, userVal, count, pageIndex, pageSize, app.Success)
  140. }
  141. func UpdateUser(c *gin.Context) {
  142. var inData models.UpdateUserScoreRequest
  143. var user bizhi.User
  144. err := c.ShouldBindJSON(&inData)
  145. if err != nil {
  146. app.Error(c, 400, err, err.Error())
  147. return
  148. }
  149. user.NickName = inData.NickName
  150. user.AvatarUrl = inData.AvatarUrl
  151. user.OpenID = inData.OpenId
  152. err = user.UpdateUserName()
  153. if err != nil {
  154. app.Error(c, 500, err, err.Error())
  155. return
  156. }
  157. app.OK(c, nil, "成功")
  158. }