|
@@ -16,11 +16,16 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
import com.ym.mec.im.ImFeignService;
|
|
import com.ym.mec.im.ImFeignService;
|
|
import com.ym.mec.im.entity.GroupMember;
|
|
import com.ym.mec.im.entity.GroupMember;
|
|
import com.ym.mec.im.entity.GroupModel;
|
|
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.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.function.Consumer;
|
|
|
|
+import java.util.function.Function;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> implements ImGroupService {
|
|
public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> implements ImGroupService {
|
|
@@ -94,10 +99,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@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();
|
|
Date date = new Date();
|
|
ImGroup imGroup = new ImGroup();
|
|
ImGroup imGroup = new ImGroup();
|
|
String groupId = UUID.randomUUID().toString();
|
|
String groupId = UUID.randomUUID().toString();
|
|
@@ -109,16 +114,12 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
|
|
imGroup.setType(groupType);
|
|
imGroup.setType(groupType);
|
|
imGroup.setUpdateTime(date);
|
|
imGroup.setUpdateTime(date);
|
|
imGroupDao.insert(imGroup);
|
|
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()];
|
|
GroupMember[] members = new GroupMember[groupMembers.size()];
|
|
groupMembers.toArray(members);
|
|
groupMembers.toArray(members);
|
|
imFeignService.groupCreate(new GroupModel(groupId,members,groupName));
|
|
imFeignService.groupCreate(new GroupModel(groupId,members,groupName));
|
|
|
|
+ return groupId;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|