Browse Source

feed: 饲料配方操作

Yi 1 year ago
parent
commit
403a54f98a
2 changed files with 66 additions and 0 deletions
  1. 64 0
      http/handler/feed/feed_formula.go
  2. 2 0
      http/route/ops_api.go

+ 64 - 0
http/handler/feed/feed_formula.go

@@ -153,6 +153,70 @@ func DetailBySort(c *gin.Context) {
 	})
 }
 
+// DetailDelete 删除配方饲料
+func DetailDelete(c *gin.Context) {
+	var req operationPb.GroupAddFeedFormulaDetail
+	if err := c.BindJSON(&req); err != nil {
+		apierr.AbortBadRequest(c, http.StatusBadRequest, err)
+		return
+	}
+
+	for _, v := range req.List {
+		if err := valid.ValidateStruct(&req,
+			valid.Field(&req.FeedFormulaId, valid.Required, valid.Min(1)),
+			valid.Field(&v.ForageId, valid.Required, valid.Min(1)),
+			valid.Field(&v.ForageName, valid.Required, valid.Length(1, 30)),
+			valid.Field(&v.Weight, valid.Required, valid.Min(1)),
+			valid.Field(&v.Sort, valid.Required, valid.Min(1)),
+		); err != nil {
+			apierr.AbortBadRequest(c, http.StatusBadRequest, err)
+			return
+		}
+	}
+
+	if err := middleware.BackendOperation(c).OpsService.FeedFormulaDetailDelete(c, &req); err != nil {
+		apierr.ClassifiedAbort(c, err)
+		return
+	}
+	ginutil.JSONResp(c, &operationPb.CommonOK{
+		Code: http.StatusOK,
+		Msg:  "ok",
+		Data: &operationPb.Success{Success: true},
+	})
+}
+
+// MixedFeedFormula 合并预混料
+func MixedFeedFormula(c *gin.Context) {
+	var req operationPb.MixedFeedFormulaRequest
+	if err := c.BindJSON(&req); err != nil {
+		apierr.AbortBadRequest(c, http.StatusBadRequest, err)
+		return
+	}
+
+	if err := valid.ValidateStruct(&req,
+		valid.Field(&req.Name, valid.Required),
+		valid.Field(&req.Colour, valid.Required),
+		valid.Field(&req.CattleCategoryId, valid.Required),
+		valid.Field(&req.CattleCategoryName, valid.Required),
+		valid.Field(&req.FormulaTypeId, valid.Required),
+		valid.Field(&req.FormulaTypeName, valid.Required),
+		valid.Field(&req.DataSourceId, valid.Required),
+	); err != nil {
+		apierr.AbortBadRequest(c, http.StatusBadRequest, err)
+		return
+	}
+
+	if err := middleware.BackendOperation(c).OpsService.MixedFeedFormula(c, &req); err != nil {
+		apierr.ClassifiedAbort(c, err)
+		return
+	}
+	ginutil.JSONResp(c, &operationPb.CommonOK{
+		Code: http.StatusOK,
+		Msg:  "ok",
+		Data: &operationPb.Success{Success: true},
+	})
+}
+
 func SearchFeedFormulaList(c *gin.Context) {
 	req := &operationPb.SearchFeedFormulaRequest{}
 	if err := ginutil.BindProto(c, req); err != nil {

+ 2 - 0
http/route/ops_api.go

@@ -56,6 +56,8 @@ func OpsAPI(opts ...func(engine *gin.Engine)) func(s *gin.Engine) {
 		opsRoute.POST("/feed_formula/edit", feed.EditFeedFormula)
 		opsRoute.POST("/feed_formula/feed/add", feed.AddFeedByFeedFormula)
 		opsRoute.POST("/feed_formula/feed/sort", feed.DetailBySort)
+		opsRoute.POST("/feed_formula/feed/delete", feed.DetailDelete)
+		opsRoute.POST("/feed_formula/feed/mixed", feed.MixedFeedFormula)
 		opsRoute.POST("/feed_formula/list", feed.SearchFeedFormulaList)
 		opsRoute.POST("/feed_formula/forage_list", feed.SearchFeedFormulaByForageList)
 		opsRoute.DELETE("/feed_formula/delete/:feed_formula_id", feed.DeleteFeedFormula)