user.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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(len(productArr), appId)
  67. if appId != "" && len(productArr) > 0 {
  68. status, haveProductId, err := service.CreateUserProduct(appId, productArr, buyType)
  69. if status == 1 && err == nil {
  70. if haveProductId != "" {
  71. response.OkWithMessage("用户已购买过"+haveProductId+"产品,请去充值", c)
  72. } else {
  73. response.Ok(c)
  74. }
  75. } else {
  76. response.Fail(c)
  77. }
  78. } else {
  79. response.FailWithMessage("缺少参数", c)
  80. }
  81. }
  82. func userProductList(c *gin.Context) {
  83. appId := c.PostForm("appId")
  84. global.Logger.Info("manage userProductList接口参数:", zap.Any("appId", appId))
  85. service.UserProductList(appId, c)
  86. }