table.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "eta_gn/eta_chart_lib/models"
  5. "eta_gn/eta_chart_lib/utils"
  6. "fmt"
  7. "time"
  8. )
  9. type TableController struct {
  10. BaseAuthController
  11. }
  12. // @router /detail [get]
  13. func (this *TableController) TableInfoDetail() {
  14. br := new(models.BaseResponse).Init()
  15. defer func() {
  16. this.Data["json"] = br
  17. this.ServeJSON()
  18. }()
  19. uniqueCode := this.GetString("UniqueCode")
  20. if uniqueCode == "" {
  21. br.Msg = "参数错误"
  22. br.ErrMsg = "参数错误,uniqueCode is empty"
  23. return
  24. }
  25. key := utils.HZ_TABLE_LIB_DETAIL + uniqueCode
  26. resp := new(models.TableInfoDetailResp)
  27. if utils.Re == nil {
  28. if utils.Re == nil && utils.Rc.IsExist(key) {
  29. if data, err1 := utils.Rc.RedisBytes(key); err1 == nil {
  30. err := json.Unmarshal(data, &resp)
  31. if err == nil && resp != nil {
  32. br.Ret = 200
  33. br.Success = true
  34. br.Msg = "获取成功"
  35. br.Data = resp
  36. fmt.Println("source redis")
  37. return
  38. }
  39. }
  40. }
  41. }
  42. tableInfo, err := models.GetTableInfoByUniqueCode(uniqueCode)
  43. if err != nil {
  44. if utils.IsErrNoRow(err) {
  45. br.Msg = "该表格已被删除,请刷新页面"
  46. br.ErrMsg = "该表格已被删除,请刷新页面,Err:" + err.Error()
  47. return
  48. }
  49. br.Msg = "获取失败"
  50. br.ErrMsg = "获取表格信息失败,Err:" + err.Error()
  51. return
  52. }
  53. dataList, err := models.GetTableDataListByTableInfoId(tableInfo.TableInfoId)
  54. if err != nil {
  55. br.Msg = "获取失败"
  56. br.ErrMsg = "获取表格数据失败,Err:" + err.Error()
  57. return
  58. }
  59. resp.TableInfo = tableInfo
  60. resp.TableDataList = dataList
  61. if utils.Re == nil {
  62. data, _ := json.Marshal(resp)
  63. utils.Rc.Put(key, data, 10*time.Minute)
  64. }
  65. br.Ret = 200
  66. br.Success = true
  67. br.Msg = "获取成功"
  68. br.Data = resp
  69. }