user.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package user
  2. import (
  3. "encoding/json"
  4. "github.com/gin-gonic/gin"
  5. "go.uber.org/zap"
  6. "io/ioutil"
  7. "log"
  8. "sfbase/global"
  9. sutils "sfbase/utils"
  10. "sfis/model"
  11. "sfis/model/response"
  12. "sfis/service"
  13. "sfis/utils"
  14. "time"
  15. )
  16. func DevUserManageRegister(router *gin.Engine) {
  17. userGroup := router.Group("/manage/user/")
  18. userGroup.Use()
  19. {
  20. userGroup.POST("/create", userCreate)
  21. userGroup.POST("/userProductChoose", userProductChoose)
  22. userGroup.POST("/userProductList", userProductList)
  23. userGroup.POST("/moneyRecharge", moneyRecharge)
  24. userGroup.POST("/productRecharge", productRecharge)
  25. }
  26. }
  27. // 创建用户
  28. func userCreate(c *gin.Context) {
  29. var user model.User
  30. if err := c.ShouldBind(&user); err != nil {
  31. response.FailWithMessage("参数错误", c)
  32. return
  33. }
  34. global.Logger.Info("manage userCreate接口参数:", zap.Any("param", user))
  35. t := time.Now()
  36. appId := utils.GetAppID(t.Unix())
  37. key := sutils.GetComplexRandom(8, 3, 5)
  38. user.SecretKey = key
  39. user.AppID = appId
  40. // 创建用户
  41. userData, err := service.CreateUser(user)
  42. if err != nil {
  43. response.FailWithMessage(err.Error(), c)
  44. } else {
  45. response.OkWithData(userData, c)
  46. }
  47. }
  48. func userProductChoose(c *gin.Context) {
  49. bs, err := ioutil.ReadAll(c.Request.Body)
  50. if err != nil {
  51. panic(err)
  52. response.FailWithMessage("读取参数出错", c)
  53. return
  54. }
  55. var dataMap map[string]interface{}
  56. json.Unmarshal([]byte(bs), &dataMap)
  57. log.Println("获取前端参数:", dataMap)
  58. appId := sutils.ObjToString(dataMap["appId"])
  59. buyType := sutils.IntAll(dataMap["buyType"])
  60. products := dataMap["products"]
  61. productArr := make([]map[string]interface{}, 0)
  62. if _products, ok := products.([]interface{}); ok {
  63. productArr = sutils.ObjArrToMapArr(_products)
  64. log.Println(productArr)
  65. }
  66. log.Println("appid", appId)
  67. log.Println(len(productArr), appId)
  68. if appId != "" && len(productArr) > 0 {
  69. status, haveProductId, err := service.CreateUserProduct(appId, productArr, buyType)
  70. log.Println(status, haveProductId, err)
  71. if status == 1 && err == nil {
  72. if haveProductId != "" {
  73. response.OkWithMessage("用户已购买过"+haveProductId+"产品,请去充值", c)
  74. } else {
  75. response.Ok(c)
  76. }
  77. } else {
  78. response.Fail(c)
  79. }
  80. } else {
  81. response.FailWithMessage("缺少参数", c)
  82. }
  83. }
  84. func userProductList(c *gin.Context) {
  85. appId := c.PostForm("appId")
  86. global.Logger.Info("manage userProductList接口参数:", zap.Any("appId", appId))
  87. service.UserProductList(appId, c)
  88. }