TestRouter.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. package router
  2. import (
  3. "demo/data/dao"
  4. "demo/data/dao/manage"
  5. "demo/data/domain"
  6. "demo/share"
  7. "demo/util/templatefunc"
  8. "encoding/json"
  9. "fmt"
  10. "github.com/gin-gonic/gin"
  11. "github.com/spf13/cast"
  12. "net/http"
  13. "strconv"
  14. )
  15. func TestRouth(engine *gin.RouterGroup) {
  16. user := engine.Group("/test")
  17. {
  18. PushRouter(user, "POST", "/order/pay", OrderSubmit)
  19. PushRouter(user, "POST", "/test", DataTest)
  20. PushRouter(user, "GET", "/home", Home)
  21. PushRouter(user, "GET", "/topic", Topic)
  22. PushRouter(user, "GET", "/detail", Detail)
  23. PushRouter(user, "GET", "/info/:infoName", InfoPage)
  24. }
  25. }
  26. func OrderSubmit(c *gin.Context) {
  27. id := GetUserIdByToken(c)
  28. if id == 0 {
  29. return
  30. }
  31. data := share.GetJsonAnyParam(c)
  32. orderId, _ := data("orderId")
  33. err := dao.OrderPaySuccess(cast.ToInt64(orderId), id)
  34. if err != nil {
  35. c.JSON(200, CreateResultError(401, err.Error()))
  36. return
  37. }
  38. c.JSON(200, CreateResult())
  39. }
  40. func DataTest(c *gin.Context) {
  41. body := make(map[string]interface{})
  42. c.ShouldBindJSON(&body)
  43. fmt.Println("router:", body)
  44. fmt.Println("router:", c.Request.Body)
  45. c.JSON(200, CreateResultData("test"))
  46. }
  47. func Home(c *gin.Context) {
  48. m := make(map[string]interface{})
  49. //首页宣传信息
  50. data, err := dao.GetAdviceData()
  51. if err != nil {
  52. c.JSON(200, CreateResultError(401, "advice查询失败"))
  53. return
  54. }
  55. marshal, err := json.Marshal(data)
  56. if err != nil {
  57. fmt.Println(err)
  58. c.JSON(200, CreateResultError(401, err.Error()))
  59. return
  60. }
  61. json.Unmarshal(marshal, &m)
  62. //首页主题信息
  63. list, err := dao.GetTopicList()
  64. if err != nil {
  65. c.JSON(200, CreateResultError(401, "主题列表查询失败"))
  66. return
  67. }
  68. m2 := map[string]interface{}{
  69. "list": list,
  70. }
  71. //结构体转map
  72. d2m, err := json.Marshal(m2)
  73. if err != nil {
  74. fmt.Println(err)
  75. c.JSON(200, CreateResultError(401, err.Error()))
  76. return
  77. }
  78. json.Unmarshal(d2m, &m)
  79. fmt.Println("data:", m)
  80. c.HTML(http.StatusOK, "index.html", m)
  81. }
  82. func Topic(c *gin.Context) {
  83. topicId := c.Query("topicId")
  84. m := make(map[string]interface{})
  85. list, err := dao.GetTopicPageDataListById(cast.ToInt64(topicId))
  86. if err != nil {
  87. c.JSON(200, CreateResultError(401, "主题列表查询失败"))
  88. return
  89. }
  90. dm, err := json.Marshal(list)
  91. if err != nil {
  92. fmt.Println(err)
  93. c.JSON(200, CreateResultError(401, "json转换失败"))
  94. return
  95. }
  96. json.Unmarshal(dm, &m)
  97. fmt.Println("data:", m)
  98. c.HTML(http.StatusOK, "topic.html", m)
  99. }
  100. func Detail(c *gin.Context) {
  101. skuId := c.Query("skuId")
  102. m := make(map[string]interface{})
  103. //标签
  104. tagList, err := manage.GetGoodsTagList(domain.GoodsTag{}, 1, 10000)
  105. if err != nil {
  106. c.JSON(200, CreateResultError(401, "文章标签查询失败"))
  107. return
  108. }
  109. tagMap := map[string]interface{}{
  110. "tags": tagList.List,
  111. }
  112. tagString, err := json.Marshal(tagMap)
  113. if err != nil {
  114. fmt.Println(err)
  115. c.JSON(200, CreateResultError(401, "json转换失败"))
  116. return
  117. }
  118. json.Unmarshal(tagString, &m)
  119. //文章内容
  120. vo, err := dao.SelectSkuInfoBySkuId(cast.ToInt64(skuId))
  121. if err != nil {
  122. c.JSON(200, CreateResultError(401, "文章查询失败"))
  123. return
  124. }
  125. dm, err := json.Marshal(vo)
  126. if err != nil {
  127. fmt.Println(err)
  128. c.JSON(200, CreateResultError(401, "json转换失败"))
  129. return
  130. }
  131. json.Unmarshal(dm, &m)
  132. fmt.Println("data:", m)
  133. c.HTML(http.StatusOK, "detail.html", m)
  134. }
  135. func InfoPage(c *gin.Context) {
  136. infoName := c.Param("infoName")
  137. content := templatefunc.InfoPageContentMap[infoName]
  138. m := make(map[string]interface{})
  139. if content.InfoName != "" {
  140. dm, err := json.Marshal(content)
  141. if err != nil {
  142. fmt.Println(err)
  143. c.JSON(200, CreateResultError(401, "json转换失败"))
  144. return
  145. }
  146. json.Unmarshal(dm, &m)
  147. c.HTML(http.StatusOK, "info.html", m)
  148. return
  149. }
  150. c.JSON(200, CreateResultError(401, "页面不存在"))
  151. }
  152. func GetUserId(c *gin.Context) int64 {
  153. header := c.GetHeader("auth-sign")
  154. if header == "" {
  155. return 0
  156. }
  157. claims, err := share.ParseToken(header)
  158. if err != nil {
  159. return 0
  160. }
  161. i, err := strconv.ParseInt(claims["iss"].(string), 10, 32)
  162. return i
  163. }