From 22d49935ae6f62025efa9207511ad7a47c2994fa Mon Sep 17 00:00:00 2001 From: scottpan <43121650@qq.com> Date: Thu, 5 Mar 2026 10:43:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=A3=9F=E8=B0=B1?= =?UTF-8?q?=E6=94=B6=E8=97=8F=E6=8E=A5=E5=8F=A3=20ClassCastException=20?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复 toggleRecipeFavorite 方法中 recipeId 类型转换问题 - 支持 Number 和 String 两种类型传入 - 添加参数校验,返回友好的错误提示 Error: java.lang.String cannot be cast to java.lang.Number --- .../java/com/zbkj/front/controller/ToolController.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/msh_crmeb_22/crmeb-front/src/main/java/com/zbkj/front/controller/ToolController.java b/msh_crmeb_22/crmeb-front/src/main/java/com/zbkj/front/controller/ToolController.java index 6bbedb9..8fea090 100644 --- a/msh_crmeb_22/crmeb-front/src/main/java/com/zbkj/front/controller/ToolController.java +++ b/msh_crmeb_22/crmeb-front/src/main/java/com/zbkj/front/controller/ToolController.java @@ -583,7 +583,15 @@ public class ToolController { @ApiOperation(value = "收藏/取消收藏食谱") @PostMapping("/recipe/favorite") public CommonResult toggleRecipeFavorite(@RequestBody Map data) { - Long recipeId = ((Number) data.get("recipeId")).longValue(); + Object recipeIdObj = data.get("recipeId"); + Long recipeId; + if (recipeIdObj instanceof Number) { + recipeId = ((Number) recipeIdObj).longValue(); + } else if (recipeIdObj instanceof String) { + recipeId = Long.parseLong((String) recipeIdObj); + } else { + return CommonResult.failed("食谱ID格式错误"); + } Boolean isFavorite = (Boolean) data.get("isFavorite"); toolRecipeService.toggleFavorite(recipeId, isFavorite); return CommonResult.success("操作成功");