Guo1B0 před 1 rokem
rodič
revize
cc607ad510

+ 17 - 8
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/CustomServiceImpl.java

@@ -40,6 +40,7 @@ import java.lang.reflect.Method;
 import java.net.URLEncoder;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -274,16 +275,24 @@ public class CustomServiceImpl extends ServiceImpl<CustomMapper, Custom> impleme
         List<Task> tasks = taskMapper.selectList(new QueryWrapper<Task>().in("custom_id", custom1.getId()));
         if (tasks.size()>0){
             List<String> ids = tasks.stream()
-                    .flatMap(task -> Arrays.stream(task.getExecutorId().split(",")))
+                    .flatMap(task -> Optional.ofNullable(task.getExecutorId())
+                            .map(executorIds -> Arrays.stream(executorIds.split(",")))
+                            .orElseGet(Stream::empty))
                     .distinct()
                     .collect(Collectors.toList());
-            List<User> users = userMapper.selectList(new QueryWrapper<User>().in("id", ids));
-            Map<String, String> map = users.stream().collect(Collectors.toMap(User::getId, User::getName));
-            for (Task task : tasks) {
-                List<String> executorNames = Arrays.stream(task.getExecutorId().split(","))
-                        .map(map::get)
-                        .collect(Collectors.toList());
-                task.setExecutorNames(executorNames);
+
+            if (!ids.isEmpty()) {
+                List<User> users = userMapper.selectList(new QueryWrapper<User>().in("id", ids));
+                Map<String, String> map = users.stream().collect(Collectors.toMap(User::getId, User::getName));
+
+                for (Task task : tasks) {
+                    List<String> executorNames = Optional.ofNullable(task.getExecutorId())
+                            .map(idsStr -> Arrays.stream(idsStr.split(","))
+                                    .map(map::get)
+                                    .collect(Collectors.toList()))
+                            .orElseGet(Collections::emptyList);
+                    task.setExecutorNames(executorNames);
+                }
             }
         }