dashboard.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. valid.Field(&req.CattleParentCategoryId, valid.Required),
  21. ); err != nil {
  22. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  23. return
  24. }
  25. res, err := middleware.BackendOperation(c).OpsService.SearchAnalysisAccuracy(c, &req)
  26. if err != nil {
  27. apierr.ClassifiedAbort(c, err)
  28. return
  29. }
  30. c.JSON(http.StatusOK, res)
  31. }
  32. // TopPasture 牧场排名
  33. func TopPasture(c *gin.Context) {
  34. var req operationPb.SearchAnalysisAccuracyRequest
  35. if err := ginutil.BindProto(c, &req); err != nil {
  36. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  37. return
  38. }
  39. if err := valid.ValidateStruct(&req,
  40. valid.Field(&req.PastureIds, valid.Required),
  41. valid.Field(&req.CattleParentCategoryId, valid.Required),
  42. ); err != nil {
  43. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  44. return
  45. }
  46. res, err := middleware.BackendOperation(c).OpsService.TopPasture(c, &req)
  47. if err != nil {
  48. apierr.ClassifiedAbort(c, err)
  49. return
  50. }
  51. c.JSON(http.StatusOK, res)
  52. }
  53. // ExecutionTime 执行时间
  54. func ExecutionTime(c *gin.Context) {
  55. }