From 025b2b0cfd27d81138567d8cfc7cc4d6c94d3342 Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 17 Sep 2019 18:22:06 +0800 Subject: [PATCH] + DeleteRecipes --- business/userstore/food_recipe.go | 24 ++++++++++++++++++++++++ controllers/cms_food_recipe.go | 17 +++++++++++++++++ routers/commentsRouter_controllers.go | 9 +++++++++ 3 files changed, 50 insertions(+) diff --git a/business/userstore/food_recipe.go b/business/userstore/food_recipe.go index 91de214e6..ab3d074e8 100644 --- a/business/userstore/food_recipe.go +++ b/business/userstore/food_recipe.go @@ -312,3 +312,27 @@ func VoteFoodRecipe(ctx *jxcontext.Context, recipeID, voteType int) (err error) dao.Commit(db) return err } + +func DeleteRecipes(ctx *jxcontext.Context, recipeIDs []int) (num int64, err error) { + db := dao.GetDB() + dao.Begin(db) + defer func() { + if r := recover(); r != nil || err != nil { + dao.Rollback(db) + if r != nil { + panic(r) + } + } + }() + for _, recipeID := range recipeIDs { + recipe := &model.FoodRecipe{} + recipe.ID = recipeID + num2, err2 := dao.DeleteEntityLogically(db, recipe, nil, ctx.GetUserName(), nil) + if err = err2; err != nil { + return 0, err + } + num += num2 + } + dao.Commit(db) + return 0, err +} diff --git a/controllers/cms_food_recipe.go b/controllers/cms_food_recipe.go index 09d697211..932b06d8c 100644 --- a/controllers/cms_food_recipe.go +++ b/controllers/cms_food_recipe.go @@ -130,3 +130,20 @@ func (c *FoodRecipeController) VoteFoodRecipe() { return retVal, "", err }) } + +// @Title 删除菜谱 +// @Description 删除菜谱 +// @Param token header string true "认证token" +// @Param recipeIDs query string true "菜谱ID列表" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /DeleteRecipes [delete] +func (c *FoodRecipeController) DeleteRecipes() { + c.callDeleteRecipes(func(params *tFoodrecipeDeleteRecipesParams) (retVal interface{}, errCode string, err error) { + var recipeIDs []int + if err = jxutils.Strings2Objs(params.RecipeIDs, &recipeIDs); err == nil { + retVal, err = userstore.DeleteRecipes(params.Ctx, recipeIDs) + } + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 0ae93a495..5baa4b15a 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -493,6 +493,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:FoodRecipeController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:FoodRecipeController"], + beego.ControllerComments{ + Method: "DeleteRecipes", + Router: `/DeleteRecipes`, + AllowHTTPMethods: []string{"delete"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:FoodRecipeController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:FoodRecipeController"], beego.ControllerComments{ Method: "GetRecipeDetail",