package dashboard import ( operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation" "gitee.com/xuyiping_admin/pkg/apierr" "gitee.com/xuyiping_admin/pkg/ginutil" "gitee.com/xuyiping_admin/pkg/valid" "kpt-tmr-group/http/middleware" "net/http" "github.com/gin-gonic/gin" ) // AnalysisAccuracy 首页仪表盘-准确性分析 func AnalysisAccuracy(c *gin.Context) { var req operationPb.SearchAnalysisAccuracyRequest if err := ginutil.BindProto(c, &req); err != nil { apierr.AbortBadRequest(c, http.StatusBadRequest, err) return } if err := valid.ValidateStruct(&req, valid.Field(&req.PastureIds, valid.Required), valid.Field(&req.StartDate, valid.Required), valid.Field(&req.EndDate, valid.Required), ); err != nil { apierr.AbortBadRequest(c, http.StatusBadRequest, err) return } res, err := middleware.BackendOperation(c).OpsService.SearchAnalysisAccuracy(c, &req) if err != nil { apierr.ClassifiedAbort(c, err) return } c.JSON(http.StatusOK, res) } // TopPasture 牧场排名 func TopPasture(c *gin.Context) { var req operationPb.SearchAnalysisAccuracyRequest if err := ginutil.BindProto(c, &req); err != nil { apierr.AbortBadRequest(c, http.StatusBadRequest, err) return } if err := valid.ValidateStruct(&req, valid.Field(&req.PastureIds, valid.Required), valid.Field(&req.StartDate, valid.Required), valid.Field(&req.EndDate, valid.Required), ); err != nil { apierr.AbortBadRequest(c, http.StatusBadRequest, err) return } res, err := middleware.BackendOperation(c).OpsService.TopPasture(c, &req) if err != nil { apierr.ClassifiedAbort(c, err) return } c.JSON(http.StatusOK, res) } // ExecutionTime 执行时间 func ExecutionTime(c *gin.Context) { var req operationPb.SearchAnalysisAccuracyRequest if err := ginutil.BindProto(c, &req); err != nil { apierr.AbortBadRequest(c, http.StatusBadRequest, err) return } if err := valid.ValidateStruct(&req, valid.Field(&req.PastureIds, valid.Required), valid.Field(&req.StartDate, valid.Required), valid.Field(&req.EndDate, valid.Required), ); err != nil { apierr.AbortBadRequest(c, http.StatusBadRequest, err) return } res, err := middleware.BackendOperation(c).OpsService.ExecutionTime(c, &req) if err != nil { apierr.ClassifiedAbort(c, err) return } c.JSON(http.StatusOK, res) } // SprinkleFeedTime 撒料时间 func SprinkleFeedTime(c *gin.Context) { var req operationPb.SprinkleFeedTimeRequest if err := ginutil.BindProto(c, &req); err != nil { apierr.AbortBadRequest(c, http.StatusBadRequest, err) return } if err := valid.ValidateStruct(&req, valid.Field(&req.PastureIds, valid.Required), valid.Field(&req.StartDate, valid.Required), valid.Field(&req.EndDate, valid.Required), ); err != nil { apierr.AbortBadRequest(c, http.StatusBadRequest, err) return } res, err := middleware.BackendOperation(c).OpsService.SprinkleFeedTime(c, &req) if err != nil { apierr.ClassifiedAbort(c, err) return } c.JSON(http.StatusOK, res) }