dashboard.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package dashboard
  2. import (
  3. "kpt-tmr-group/http/middleware"
  4. "kpt-tmr-group/pkg/apierr"
  5. "kpt-tmr-group/pkg/ginutil"
  6. "kpt-tmr-group/pkg/valid"
  7. operationPb "kpt-tmr-group/proto/go/backend/operation"
  8. "net/http"
  9. "github.com/gin-gonic/gin"
  10. )
  11. // AnalysisAccuracy 首页仪表盘-准确性分析
  12. func AnalysisAccuracy(c *gin.Context) {
  13. var req operationPb.SearchAnalysisAccuracyRequest
  14. if err := ginutil.BindProto(c, &req); err != nil {
  15. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  16. return
  17. }
  18. if err := valid.ValidateStruct(&req,
  19. valid.Field(&req.PastureIds, valid.Required),
  20. ); err != nil {
  21. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  22. return
  23. }
  24. res, err := middleware.BackendOperation(c).OpsService.SearchAnalysisAccuracy(c, &req)
  25. if err != nil {
  26. apierr.ClassifiedAbort(c, err)
  27. return
  28. }
  29. c.JSON(http.StatusOK, res)
  30. }
  31. // TopPasture 牧场排名
  32. func TopPasture(c *gin.Context) {
  33. var req operationPb.SearchAnalysisAccuracyRequest
  34. if err := ginutil.BindProto(c, &req); err != nil {
  35. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  36. return
  37. }
  38. if err := valid.ValidateStruct(&req,
  39. valid.Field(&req.PastureIds, valid.Required),
  40. ); err != nil {
  41. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  42. return
  43. }
  44. res, err := middleware.BackendOperation(c).OpsService.TopPasture(c, &req)
  45. if err != nil {
  46. apierr.ClassifiedAbort(c, err)
  47. return
  48. }
  49. c.JSON(http.StatusOK, res)
  50. }
  51. // ExecutionTime 执行时间
  52. func ExecutionTime(c *gin.Context) {
  53. var req operationPb.SearchAnalysisAccuracyRequest
  54. if err := ginutil.BindProto(c, &req); err != nil {
  55. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  56. return
  57. }
  58. if err := valid.ValidateStruct(&req,
  59. valid.Field(&req.PastureIds, valid.Required),
  60. ); err != nil {
  61. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  62. return
  63. }
  64. res, err := middleware.BackendOperation(c).OpsService.ExecutionTime(c, &req)
  65. if err != nil {
  66. apierr.ClassifiedAbort(c, err)
  67. return
  68. }
  69. c.JSON(http.StatusOK, res)
  70. }