UserRouter.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package router
  2. import (
  3. "demo/configs"
  4. "demo/data/dao"
  5. "demo/data/dao/manage"
  6. "demo/data/domain/vo"
  7. "demo/share"
  8. "fmt"
  9. "github.com/gin-gonic/gin"
  10. "github.com/spf13/cast"
  11. )
  12. func UserRouth(engine *gin.RouterGroup) {
  13. user := engine.Group("/user")
  14. {
  15. user.GET("/info", GetUserInfo)
  16. user.GET("/wallet", GetUserPurse)
  17. user.PUT("/name", SetNameValue)
  18. user.POST("/order", GetUserOrder)
  19. }
  20. }
  21. // GetUserInfo 获取用户的个人信息
  22. func GetUserInfo(c *gin.Context) {
  23. header := c.GetHeader("auth-sign")
  24. if header == "" {
  25. c.JSON(200, CreateResultError(401, "用户未登录"))
  26. return
  27. }
  28. claims, err := share.ParseToken(header)
  29. if err != nil {
  30. c.JSON(200, CreateResultError(401, "用户未登录"))
  31. return
  32. }
  33. var userInfo = configs.User{}
  34. _, err = configs.Engine.Table("user").Where("id = ?", claims["iss"]).Get(&userInfo)
  35. if err != nil {
  36. c.JSON(200, CreateResultError(401, "用户未登录"))
  37. return
  38. }
  39. c.JSON(200, CreateResultData(map[string]any{
  40. "info": userInfo,
  41. }))
  42. }
  43. func GetUserPurse(c *gin.Context) {
  44. id := GetUserIdByToken(c)
  45. if id == 0 {
  46. return
  47. }
  48. var vo vo.UserWalletVo
  49. userWallet, err := dao.GetUserWalletByUserId(id)
  50. if err != nil {
  51. c.JSON(200, CreateResultError(500, "获取钱包失败"))
  52. }
  53. vo.Wallet = userWallet
  54. vo.CouponUserJDM, err = dao.GetUserCouponByUserId(id)
  55. if err != nil {
  56. c.JSON(200, CreateResultError(500, "获取优惠券失败"))
  57. }
  58. c.JSON(200, CreateResultData(vo))
  59. }
  60. func SetNameValue(c *gin.Context) {
  61. id := GetUserIdByToken(c)
  62. if id == 0 {
  63. return
  64. }
  65. name := c.Query("name")
  66. fmt.Println(name)
  67. _, b, err := manage.SetUser(map[string]interface{}{"name": name}, id)
  68. if err != nil {
  69. println(err.Error())
  70. c.JSON(200, CreateResultError(500, "修改失败"))
  71. return
  72. }
  73. if b {
  74. c.JSON(200, CreateResult())
  75. } else {
  76. c.JSON(200, CreateResultError(500, "修改失败"))
  77. }
  78. }
  79. // GetUserOrder 获取用户订单信息
  80. func GetUserOrder(c *gin.Context) {
  81. id := GetUserIdByToken(c)
  82. if id == 0 {
  83. return
  84. }
  85. data := share.GetJsonAnyParam(c)
  86. pageNum, _ := data("pageNum")
  87. pageSize, _ := data("pageSize")
  88. state, _ := data("state")
  89. vo, err := dao.GetListGoodsOrder(cast.ToString(state), id, cast.ToInt(pageNum), cast.ToInt(pageSize))
  90. if err != nil {
  91. c.JSON(200, CreateResultError(500, "获取订单失败"))
  92. }
  93. c.JSON(200, CreateResultData(vo))
  94. }