|
@@ -1,20 +1,20 @@
|
|
|
package com.zhentao.groups.service.impl;
|
|
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.zhentao.groups.dto.AddGroupMembers;
|
|
|
import com.zhentao.groups.dto.AddGroupsDto;
|
|
|
+import com.zhentao.groups.dto.DelGroupMembers;
|
|
|
import com.zhentao.groups.mapper.GroupMembersMapper;
|
|
|
import com.zhentao.groups.pojo.GroupMembers;
|
|
|
import com.zhentao.groups.pojo.Groupss;
|
|
|
import com.zhentao.groups.service.GroupMembersService;
|
|
|
import com.zhentao.groups.service.GroupsService;
|
|
|
import com.zhentao.groups.mapper.GroupsMapper;
|
|
|
-import com.zhentao.shouye.domain.UserShouye;
|
|
|
-import com.zhentao.shouye.mapper.UserShouyeMapper;
|
|
|
-import com.zhentao.shouye.service.UserShouyeService;
|
|
|
-
|
|
|
-
|
|
|
+import com.zhentao.user.domain.UserShouye;
|
|
|
+import com.zhentao.user.mapper.UserShouyeMapper;
|
|
|
+import com.zhentao.user.service.UserShouyeService;
|
|
|
import com.zhentao.vo.Result;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
@@ -100,30 +100,39 @@ public class GroupsServiceImpl extends ServiceImpl<GroupsMapper, Groupss>
|
|
|
Groupss groupss = groupsMapper.selectById(addGroupMembers.getGroupId());
|
|
|
System.err.println(groupss);
|
|
|
List<UserShouye> userShouyes =new ArrayList<>();
|
|
|
-
|
|
|
- for (GroupMembers groupMembers:addGroupMembers.getData()){
|
|
|
- GroupMembers groupMembers1=new GroupMembers();
|
|
|
- groupMembers1.setId(IdUtil.getSnowflake().nextId());
|
|
|
- groupMembers1.setGroupId(groupss.getGroupId());
|
|
|
- groupMembers1.setUserId(groupMembers.getUserId());
|
|
|
- groupMembers1.setNickname(groupss.getName());
|
|
|
- groupMembers1.setRole(0);
|
|
|
- groupMembers1.setJoinTime(new Date());
|
|
|
- data.add(groupMembers1);
|
|
|
-
|
|
|
- UserShouye userShouye=new UserShouye();
|
|
|
- userShouye.setId(IdUtil.getSnowflake().nextId());
|
|
|
- userShouye.setUid1(groupMembers.getUserId());
|
|
|
- userShouye.setUid2(null);
|
|
|
- userShouye.setGid(groupss.getGroupId());
|
|
|
- userShouye.setStatus(0);
|
|
|
- userShouye.setSort(null);
|
|
|
- userShouyes.add(userShouye);
|
|
|
- }
|
|
|
- boolean b1 = groupMembersService.saveBatch(data);
|
|
|
- boolean b = userShouyeService.saveBatch(userShouyes);
|
|
|
- if (b1!=false && b!=false){
|
|
|
- return Result.OK(null,"添加成功");
|
|
|
+ List<GroupMembers> list = groupMembersMapper.selectList(new LambdaQueryWrapper<GroupMembers>().eq(GroupMembers::getGroupId, addGroupMembers.getGroupId()));
|
|
|
+ if (list.size()!=0){
|
|
|
+ if (groupss.getMaxMembers()>list.size()){
|
|
|
+ System.err.println(addGroupMembers.getUserId());
|
|
|
+ for (Long groupMembers:addGroupMembers.getUserId()){
|
|
|
+ GroupMembers groupMembers1=new GroupMembers();
|
|
|
+ groupMembers1.setId(IdUtil.getSnowflake().nextId());
|
|
|
+ groupMembers1.setGroupId(groupss.getGroupId());
|
|
|
+ groupMembers1.setUserId(groupMembers);
|
|
|
+ groupMembers1.setNickname(groupss.getName());
|
|
|
+ groupMembers1.setRole(0);
|
|
|
+ groupMembers1.setJoinTime(new Date());
|
|
|
+ data.add(groupMembers1);
|
|
|
+
|
|
|
+ UserShouye userShouye=new UserShouye();
|
|
|
+ userShouye.setId(IdUtil.getSnowflake().nextId());
|
|
|
+ userShouye.setUid1(groupMembers);
|
|
|
+ userShouye.setUid2(null);
|
|
|
+ userShouye.setGid(groupss.getGroupId());
|
|
|
+ userShouye.setStatus(0);
|
|
|
+ userShouye.setSort(null);
|
|
|
+ userShouyes.add(userShouye);
|
|
|
+ }
|
|
|
+ boolean b1 = groupMembersService.saveBatch(data);
|
|
|
+ boolean b = userShouyeService.saveBatch(userShouyes);
|
|
|
+ if (b1!=false && b!=false){
|
|
|
+ return Result.OK(null,"添加成功");
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ return Result.ERR(null,"群已满");
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ return Result.ERR(null,"群已不存在");
|
|
|
}
|
|
|
|
|
|
return Result.ERR(null,"添加失败");
|
|
@@ -131,6 +140,46 @@ public class GroupsServiceImpl extends ServiceImpl<GroupsMapper, Groupss>
|
|
|
|
|
|
|
|
|
|
|
|
+// 踢人
|
|
|
+ @Override
|
|
|
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, timeout = 30)
|
|
|
+ public Result DelGroupMembers(DelGroupMembers delGroupMembers) {
|
|
|
+ System.err.println(delGroupMembers);
|
|
|
+// 用户
|
|
|
+ GroupMembers groupMembers = groupMembersMapper.selectOne(new LambdaQueryWrapper<GroupMembers>().eq(GroupMembers::getGroupId, delGroupMembers.getGroupssId()).eq(GroupMembers::getUserId, delGroupMembers.getUId()));
|
|
|
+// 被踢掉的人
|
|
|
+ GroupMembers groupMembers2 = groupMembersMapper.selectOne(new LambdaQueryWrapper<GroupMembers>().eq(GroupMembers::getUserId, delGroupMembers.getUserId()).eq(GroupMembers::getGroupId, delGroupMembers.getGroupssId()));
|
|
|
+ System.err.println(groupMembers2);
|
|
|
+ UserShouye userShouye = userShouyeMapper.selectOne(new LambdaQueryWrapper<UserShouye>().eq(UserShouye::getUid1, delGroupMembers.getUserId()).eq(UserShouye::getGid, delGroupMembers.getGroupssId()));
|
|
|
+ System.err.println(userShouye);
|
|
|
+ if (groupMembers2!=null && groupMembers!=null){
|
|
|
+ // 首页展示userShouye表中数据
|
|
|
+ if (groupMembers.getRole()==2){
|
|
|
+ if (groupMembers2.getRole()==2){
|
|
|
+ return Result.ERR(null,"群主不能踢自己");
|
|
|
+ }
|
|
|
+ groupMembersMapper.deleteById(groupMembers2);
|
|
|
+ userShouyeMapper.deleteById(userShouye);
|
|
|
+ return Result.OK(null,"删除成功");
|
|
|
+ }else if (groupMembers.getRole()==1){
|
|
|
+ if (groupMembers2.getRole()==0){
|
|
|
+ groupMembersMapper.deleteById(groupMembers2);
|
|
|
+ userShouyeMapper.deleteById(userShouye);
|
|
|
+ return Result.OK(null,"删除成功");
|
|
|
+ }else {
|
|
|
+ return Result.ERR(null,"权限不足");
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ return Result.ERR(null,"权限不足");
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ return Result.ERR(null,"该用户已经不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|