pets.list.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package petsLy
  2. import (
  3. "duoduo/models/mysqlLy"
  4. "duoduo/models/petsLy"
  5. "duoduo/tools"
  6. "duoduo/tools/app"
  7. "fmt"
  8. "github.com/gin-gonic/gin"
  9. "strconv"
  10. "time"
  11. )
  12. func PetsList(c *gin.Context) {
  13. var inData petsLy.PetsListRequest
  14. var pets mysqlLy.Pets
  15. var outData petsLy.PetsListResponse
  16. var pageSize = 10
  17. var pageIndex = 1
  18. err := c.ShouldBindJSON(&inData)
  19. if err != nil {
  20. app.Error(c, 400, err, err.Error())
  21. return
  22. }
  23. fmt.Println("indata = %+v", inData)
  24. if inData.PageSize != 0 {
  25. pageSize = inData.PageSize
  26. }
  27. if inData.PageIndex != 0 {
  28. pageIndex = inData.PageIndex
  29. }
  30. pets.OpenId = inData.OpenId
  31. pets.IsFee = inData.IsFee
  32. pets.Status = inData.Status
  33. pets.City = inData.City
  34. pets.Pet = inData.Pet
  35. petsList, petsCount, err := pets.GetPetsList(pageSize, pageIndex)
  36. if err != nil {
  37. app.Error(c, 500, err, "")
  38. return
  39. }
  40. for i := 0; i < len(petsList); i++ {
  41. var pet petsLy.Pets
  42. pet.Pets = petsList[i]
  43. err := tools.JsonUnmarshal(petsList[i].Pictures, &pet.Pictures)
  44. if err != nil {
  45. app.Error(c, 500, err, "")
  46. return
  47. }
  48. timeDiff := time.Now().Unix() - petsList[i].CreateTime.Unix()
  49. if timeDiff >= 0 && timeDiff < 60 { //秒前
  50. pet.TimeDiff = strconv.FormatInt(timeDiff, 10)
  51. pet.TimeDiff = pet.TimeDiff + "秒前"
  52. } else if timeDiff >= 60 && timeDiff < 60*60 { //分钟前
  53. number := timeDiff / 60
  54. pet.TimeDiff = strconv.FormatInt(number, 10)
  55. pet.TimeDiff = pet.TimeDiff + "分钟前"
  56. } else if timeDiff >= 60*60 && timeDiff < 60*60*24 { //小时前
  57. number := timeDiff / (60 * 60)
  58. pet.TimeDiff = strconv.FormatInt(number, 10)
  59. pet.TimeDiff = pet.TimeDiff + "小时前"
  60. } else if timeDiff >= 60*60*24 && timeDiff < 60*60*24*30 { //天前
  61. number := timeDiff / (60 * 60 * 24)
  62. pet.TimeDiff = strconv.FormatInt(number, 10)
  63. pet.TimeDiff = pet.TimeDiff + "天前"
  64. } else if timeDiff >= 60*60*24*30 && timeDiff < 60*60*24*365 { //月前
  65. number := timeDiff / (60 * 60 * 24 * 30)
  66. pet.TimeDiff = strconv.FormatInt(number, 10)
  67. pet.TimeDiff = pet.TimeDiff + "月前"
  68. } else if timeDiff >= 60*60*24*365 { //年前
  69. number := timeDiff / (60 * 60 * 24 * 365)
  70. pet.TimeDiff = strconv.FormatInt(number, 10)
  71. pet.TimeDiff = pet.TimeDiff + "年前"
  72. }
  73. outData.Pets = append(outData.Pets, pet)
  74. }
  75. app.PageOK(c, outData, petsCount, pageIndex, pageSize, "成功")
  76. }