Просмотр исходного кода

fix: circle接口空字符串解析Long报NumberFormatException

discover/join/leave/create接口中Long.valueOf()前增加空字符串判断

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
liaoxg 3 месяцев назад
Родитель
Сommit
1e38c2c5aa

+ 21 - 14
cfc-backend/src/main/java/com/etotem/cfc/controller/CircleController.java

@@ -41,8 +41,9 @@ public class CircleController {
      */
     @PostMapping("/discover")
     public Result<List<Map<String, Object>>> discover(@RequestBody Map<String, Object> params) {
-        Long childId = params.get("childId") != null
-                ? Long.valueOf(params.get("childId").toString()) : null;
+        Object childIdObj = params.get("childId");
+        Long childId = childIdObj != null && !childIdObj.toString().trim().isEmpty()
+                ? Long.valueOf(childIdObj.toString()) : null;
         if (childId == null) {
             return Result.error("childId不能为空");
         }
@@ -55,10 +56,12 @@ public class CircleController {
      */
     @PostMapping("/join")
     public Result<String> join(@RequestBody Map<String, Object> params) {
-        Long circleId = params.get("circleId") != null
-                ? Long.valueOf(params.get("circleId").toString()) : null;
-        Long memberId = params.get("memberId") != null
-                ? Long.valueOf(params.get("memberId").toString()) : null;
+        Object circleIdObj = params.get("circleId");
+        Long circleId = circleIdObj != null && !circleIdObj.toString().trim().isEmpty()
+                ? Long.valueOf(circleIdObj.toString()) : null;
+        Object memberIdObj = params.get("memberId");
+        Long memberId = memberIdObj != null && !memberIdObj.toString().trim().isEmpty()
+                ? Long.valueOf(memberIdObj.toString()) : null;
         String memberType = params.get("memberType") != null
                 ? params.get("memberType").toString() : "child";
 
@@ -74,10 +77,12 @@ public class CircleController {
      */
     @PostMapping("/leave")
     public Result<String> leave(@RequestBody Map<String, Object> params) {
-        Long circleId = params.get("circleId") != null
-                ? Long.valueOf(params.get("circleId").toString()) : null;
-        Long memberId = params.get("memberId") != null
-                ? Long.valueOf(params.get("memberId").toString()) : null;
+        Object circleIdObj = params.get("circleId");
+        Long circleId = circleIdObj != null && !circleIdObj.toString().trim().isEmpty()
+                ? Long.valueOf(circleIdObj.toString()) : null;
+        Object memberIdObj = params.get("memberId");
+        Long memberId = memberIdObj != null && !memberIdObj.toString().trim().isEmpty()
+                ? Long.valueOf(memberIdObj.toString()) : null;
         String memberType = params.get("memberType") != null
                 ? params.get("memberType").toString() : "child";
 
@@ -97,10 +102,12 @@ public class CircleController {
         String name = params.get("name") != null ? params.get("name").toString() : null;
         String type = params.get("type") != null ? params.get("type").toString() : null;
         String matchSource = params.get("matchSource") != null ? params.get("matchSource").toString() : null;
-        Long sourceId = params.get("sourceId") != null
-                ? Long.valueOf(params.get("sourceId").toString()) : null;
-        Long creatorId = params.get("creatorId") != null
-                ? Long.valueOf(params.get("creatorId").toString()) : null;
+        Object sourceIdObj = params.get("sourceId");
+        Long sourceId = sourceIdObj != null && !sourceIdObj.toString().trim().isEmpty()
+                ? Long.valueOf(sourceIdObj.toString()) : null;
+        Object creatorIdObj = params.get("creatorId");
+        Long creatorId = creatorIdObj != null && !creatorIdObj.toString().trim().isEmpty()
+                ? Long.valueOf(creatorIdObj.toString()) : null;
         String creatorType = params.get("creatorType") != null
                 ? params.get("creatorType").toString() : "child";