manual_edb.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package controllers
  2. import (
  3. "eta/eta_api/models"
  4. "eta/eta_api/utils"
  5. )
  6. // EdbDetail
  7. // @Title 指标列表
  8. // @Description 指标列表
  9. // @Param TradeCode query string true "指标编码"
  10. // @Success 200 {object} models.TargetDetailResp
  11. // @router /target/edb/detail [get]
  12. func (this *TargetController) EdbDetail() {
  13. br := new(models.BaseResponse).Init()
  14. defer func() {
  15. this.Data["json"] = br
  16. this.ServeJSON()
  17. }()
  18. sysUser := this.SysUser
  19. if sysUser == nil {
  20. br.Msg = "请重新登录"
  21. return
  22. }
  23. // 指标编码
  24. tradeCode := this.GetString("TradeCode")
  25. if tradeCode == `` {
  26. br.Msg = "请输入指标编码"
  27. br.IsSendEmail = false
  28. return
  29. }
  30. manualEdbInfo, err := models.GetTargetByTradeCode(tradeCode)
  31. if err != nil {
  32. br.Msg = "获取指标失败"
  33. br.ErrMsg = "获取指标失败,err:" + err.Error()
  34. return
  35. }
  36. // 如果不是超管账号,那么得校验下当前用户是否有该指标的权限
  37. if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
  38. //获取账户所拥有权限的分类id集合
  39. count, err := models.GetCountManualUserClassify(sysUser.AdminId, manualEdbInfo.ClassifyId)
  40. if err != nil {
  41. br.Msg = "获取分类数据失败"
  42. br.ErrMsg = "获取分类数据失败,err:" + err.Error()
  43. return
  44. }
  45. if count <= 0 {
  46. br.Msg = "无权访问"
  47. br.ErrMsg = "无权访问"
  48. br.IsSendEmail = false
  49. return
  50. }
  51. }
  52. classifyList := make([]*models.EdbdataClassify, 0)
  53. {
  54. classify, err := models.GetManualClassifyByClassifyId(manualEdbInfo.ClassifyId)
  55. if err != nil {
  56. br.Msg = "获取分类信息失败"
  57. br.ErrMsg = "获取分类信息失败,err:" + err.Error()
  58. return
  59. }
  60. parentClassify, err := models.GetManualClassifyByClassifyId(classify.ParentId)
  61. if err != nil {
  62. br.Msg = "获取分类信息失败"
  63. br.ErrMsg = "获取父级分类信息失败,err:" + err.Error()
  64. return
  65. }
  66. classifyList = []*models.EdbdataClassify{
  67. parentClassify, classify,
  68. }
  69. }
  70. dataList, err := models.GetEdbDataListByCode(manualEdbInfo.TradeCode)
  71. if err != nil {
  72. br.Msg = "获取明细数据失败"
  73. br.ErrMsg = "获取明细数据失败,err:" + err.Error()
  74. return
  75. }
  76. resp := models.TargetDetailResp{
  77. Detail: manualEdbInfo,
  78. ClassifyList: classifyList,
  79. FrequencyList: dataList,
  80. }
  81. br.Ret = 200
  82. br.Success = true
  83. br.Msg = "获取成功"
  84. //br.Data = resp
  85. br.Data = resp
  86. }