Browse Source

category: 畜牧分类删除数据同步

Yi 1 year ago
parent
commit
4ee00a0525

+ 2 - 2
http/handle/api/ops.go

@@ -1046,10 +1046,10 @@ func PostDataByName(c *gin.Context) {
 		keyWord string
 	)
 	switch fsion.Get("name").ValueStr() {
-	case "insertFeedclass":
+	case "insertFeedclass", "deleteFeedclass":
 		keyWord = "feed"
 		err = module.GroupCategorySync(keyWord, fsion)
-	case "insertCowclass":
+	case "insertCowclass", "deleteCowclass":
 		keyWord = "cow"
 		err = module.GroupCategorySync(keyWord, fsion)
 	default:

+ 42 - 1
http/handle/group/feed_formula.go

@@ -10,6 +10,11 @@ import (
 	"github.com/gin-gonic/gin"
 )
 
+const (
+	FeedCategoryDeleteKey = "feed_delete"
+	CowCategoryDeleteKey  = "cow_delete"
+)
+
 // DistributeFeedFormula 饲料配方下发
 func DistributeFeedFormula(c *gin.Context) {
 	appG := app.Gin{C: c}
@@ -146,7 +151,25 @@ func ForageCategoryDistribute(c *gin.Context) {
 	}
 }
 
-func CattleCategoryDistribute(c *gin.Context) {
+func ForageCategoryDelete(c *gin.Context) {
+	appG := app.Gin{C: c}
+	var req models.CategoryDeleteRequest
+	if err := c.BindJSON(&req); err != nil {
+		appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
+		return
+	}
+	if err := group.CategoryDeleteService(FeedCategoryDeleteKey, &req); err != nil {
+		appG.Response(http.StatusBadRequest, e.ERROR_GET_S_FAIL, map[string]interface{}{
+			"error": err,
+		})
+	} else {
+		appG.Response(http.StatusOK, e.SUCCESS, map[string]bool{
+			"success": true,
+		})
+	}
+}
+
+func CowCategoryDistribute(c *gin.Context) {
 	appG := app.Gin{C: c}
 	var req models.CategoryRequest
 	if err := c.BindJSON(&req); err != nil {
@@ -163,3 +186,21 @@ func CattleCategoryDistribute(c *gin.Context) {
 		})
 	}
 }
+
+func CowCategoryDelete(c *gin.Context) {
+	appG := app.Gin{C: c}
+	var req models.CategoryDeleteRequest
+	if err := c.BindJSON(&req); err != nil {
+		appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
+		return
+	}
+	if err := group.CategoryDeleteService(CowCategoryDeleteKey, &req); err != nil {
+		appG.Response(http.StatusBadRequest, e.ERROR_GET_S_FAIL, map[string]interface{}{
+			"error": err,
+		})
+	} else {
+		appG.Response(http.StatusOK, e.SUCCESS, map[string]bool{
+			"success": true,
+		})
+	}
+}

+ 3 - 1
http/routers/group_api.go

@@ -19,6 +19,8 @@ func GroupAPI(opts ...func(engine *gin.Engine)) func(s *gin.Engine) {
 		apiPasture.POST("dashboard/process_analysis", group.ProcessAnalysis)                    // 过程分析
 		apiPasture.POST("dashboard/sprinkle_statistics", group.SprinkleStatistics)              // 撒料统计
 		apiPasture.POST("dashboard/forage_category/distribute", group.ForageCategoryDistribute) // 饲料分类下发
-		apiPasture.POST("dashboard/cattle_category/distribute", group.CattleCategoryDistribute) // 畜牧分类下发
+		apiPasture.POST("dashboard/forage_category/delete", group.ForageCategoryDelete)         // 饲料分类删除
+		apiPasture.POST("dashboard/cattle_category/distribute", group.CowCategoryDistribute)    // 畜牧分类下发
+		apiPasture.POST("dashboard/cattle_category/delete", group.CowCategoryDelete)            // 畜牧分类删除
 	}
 }

+ 7 - 0
models/group_data.go

@@ -134,6 +134,13 @@ type CategoryRequest struct {
 	Name       string `json:"name"`
 	Number     string `json:"number"`
 	IsShow     int32  `json:"is_show"`
+	GroupId    int32  `json:"group_id"`
+}
+
+type CategoryDeleteRequest struct {
+	PastureId int32 `json:"pasture_id"`
+	GroupId   int32 `json:"group_id"`
+	IsDelete  int32 `json:"is_delete"`
 }
 
 type GroupCateGoryRequest struct {

+ 1 - 0
models/request_data.go

@@ -7,6 +7,7 @@ type ClassRequest struct {
 	FcCode           string `json:"fccode"`
 	FcName           string `json:"fcname"`
 	PastureId        string `json:"pastureid"`
+	Id               int32  `json:"id"`
 }
 
 type ClassCowRequest struct {

+ 28 - 0
module/group.go

@@ -278,3 +278,31 @@ func ForageCategoryDistribute(req *models.FeedClass) error {
 	}
 	return nil
 }
+
+func ForageCategoryDelete(pastureId, groupId int64) error {
+	feedClassHas := &models.FeedClass{GroupId: groupId, PastureId: pastureId}
+	has, err := restful.Engine.Table(new(models.FeedClass).TableName()).Exist(feedClassHas)
+	if err != nil {
+		return err
+	}
+	if has {
+		if _, err = restful.Engine.Table(new(models.FeedClass).TableName()).ID(feedClassHas.Id).Delete(feedClassHas); err != nil {
+			return err
+		}
+	}
+	return nil
+}
+
+func CowCategoryDelete(pastureId, groupId int64) error {
+	cowClassHas := &models.CowClass{GroupId: groupId, PastureId: pastureId}
+	has, err := restful.Engine.Table(new(models.CowClass).TableName()).Exist(cowClassHas)
+	if err != nil {
+		return err
+	}
+	if has {
+		if _, err = restful.Engine.Table(new(models.CowClass).TableName()).ID(cowClassHas.Id).Delete(cowClassHas); err != nil {
+			return err
+		}
+	}
+	return nil
+}

+ 12 - 1
service/group/group.go

@@ -238,8 +238,8 @@ func ForageCategoryDistributeService(req *models.CategoryRequest) error {
 		Enable:           req.IsShow,
 		BigFeedClassId:   req.ParentId,
 		BigFeedClassName: req.ParentName,
+		GroupId:          int64(req.GroupId),
 	}
-
 	return module.ForageCategoryDistribute(feedClass)
 }
 
@@ -251,7 +251,18 @@ func CattleCategoryDistributeService(req *models.CategoryRequest) error {
 		Enable:     req.IsShow,
 		ParentId:   req.ParentId,
 		ParentName: req.ParentName,
+		GroupId:    int64(req.GroupId),
 	}
 
 	return module.CattleCategoryDistribute(cowClass)
 }
+
+func CategoryDeleteService(keyWord string, req *models.CategoryDeleteRequest) error {
+	switch keyWord {
+	case "feed_delete":
+		return module.ForageCategoryDelete(int64(req.PastureId), int64(req.GroupId))
+	case "cow_delete":
+		return module.CowCategoryDelete(int64(req.PastureId), int64(req.GroupId))
+	}
+	return nil
+}