hgw 3 rokov pred
rodič
commit
f6d4422a11

+ 12 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -16,11 +16,16 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.im.entity.GroupMember;
 import com.ym.mec.im.entity.GroupModel;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 @Service
 public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> implements ImGroupService {
@@ -94,10 +99,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void createGroup(List<String> userIdList,String groupName,String groupType){
-		Optional.of(userIdList).orElseThrow(() -> new BizException("群成员不能为空"));
-		Optional.of(groupName).orElseThrow(() -> new BizException("群名称不能为空"));
-		Optional.of(groupType).orElseThrow(() -> new BizException("群类型不能为空"));
+	public String createGroup(List<String> userIdList,String groupName,String groupType){
+		Optional.ofNullable(userIdList).filter(CollectionUtils::isNotEmpty).orElseThrow(() -> new BizException("群成员不能为空"));
+		Optional.ofNullable(groupName).filter(StringUtils::isNotBlank).orElseThrow(() -> new BizException("群名称不能为空"));
+		Optional.ofNullable(groupType).filter(StringUtils::isNotBlank).orElseThrow(() -> new BizException("群类型不能为空"));
 		Date date = new Date();
 		ImGroup imGroup = new ImGroup();
 		String groupId = UUID.randomUUID().toString();
@@ -109,16 +114,12 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 		imGroup.setType(groupType);
 		imGroup.setUpdateTime(date);
 		imGroupDao.insert(imGroup);
-		List<GroupMember> groupMembers = new ArrayList<>();
-		for (String userId : userIdList) {
-			GroupMember groupMember = new GroupMember();
-			groupMember.setGroupId(groupId);
-			groupMember.setId(userId);
-			groupMembers.add(groupMember);
-		}
+        Function<String,GroupMember> newGroup = userId ->new GroupMember(userId, groupId);
+		List<GroupMember> groupMembers =  userIdList.stream().map(newGroup).collect(Collectors.toList());
 		GroupMember[] members = new GroupMember[groupMembers.size()];
 		groupMembers.toArray(members);
 		imFeignService.groupCreate(new GroupModel(groupId,members,groupName));
+        return groupId;
 	}
 
 	@Override