|
@@ -0,0 +1,179 @@
|
|
|
+package com.zhentao.groups.service.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.util.IdUtil;
|
|
|
+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.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;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Propagation;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+* @author lzy
|
|
|
+* @description 针对表【groups(群组表)】的数据库操作Service实现
|
|
|
+* @createDate 2025-06-04 16:00:48
|
|
|
+*/
|
|
|
+@Service
|
|
|
+public class GroupsServiceImpl extends ServiceImpl<GroupsMapper, Groupss>
|
|
|
+ implements GroupsService{
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private GroupMembersMapper groupMembersMapper;
|
|
|
+ @Autowired
|
|
|
+ private RedisTemplate<String,String> redisTemplate;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private UserShouyeMapper userShouyeMapper;
|
|
|
+
|
|
|
+// 创建群
|
|
|
+ @Override
|
|
|
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, timeout = 30)
|
|
|
+ public Result addGroup(AddGroupsDto addGroupsDto) {
|
|
|
+ Groupss groups=new Groupss();
|
|
|
+ groups.setGroupId(IdUtil.getSnowflake().nextId());
|
|
|
+ groups.setName(addGroupsDto.getName());
|
|
|
+ groups.setCreatorId(addGroupsDto.getCreatorId());
|
|
|
+ groups.setAvatar(addGroupsDto.getAvatar());
|
|
|
+ groups.setAnnouncement(addGroupsDto.getAnnouncement());
|
|
|
+ groups.setDescription(addGroupsDto.getDescription());
|
|
|
+ groups.setMaxMembers(200);
|
|
|
+ groups.setStatus(1);
|
|
|
+ groups.setCreatedAt(new Date());
|
|
|
+ groups.setUpdatedAt(new Date());
|
|
|
+ int insert1 = this.baseMapper.insert(groups);
|
|
|
+
|
|
|
+ GroupMembers groupMembers=new GroupMembers();
|
|
|
+ groupMembers.setId(IdUtil.getSnowflake().nextId());
|
|
|
+ groupMembers.setGroupId(groups.getGroupId());
|
|
|
+ groupMembers.setUserId(groups.getCreatorId());
|
|
|
+ groupMembers.setNickname(groups.getName());
|
|
|
+ groupMembers.setRole(2);
|
|
|
+ groupMembers.setJoinTime(new Date());
|
|
|
+ int insert = groupMembersMapper.insert(groupMembers);
|
|
|
+
|
|
|
+ UserShouye userShouye=new UserShouye();
|
|
|
+ userShouye.setId(IdUtil.getSnowflake().nextId());
|
|
|
+ userShouye.setUid1(addGroupsDto.getCreatorId());
|
|
|
+ userShouye.setUid2(null);
|
|
|
+ userShouye.setGid(groups.getGroupId());
|
|
|
+ userShouye.setStatus(0);
|
|
|
+ userShouye.setSort(null);
|
|
|
+ int insert2 = userShouyeMapper.insert(userShouye);
|
|
|
+
|
|
|
+ if (insert1!=0 && insert!=0 && insert2!=0){
|
|
|
+ return Result.OK(null,"创建成功");
|
|
|
+ }
|
|
|
+ return Result.ERR(null,"创建失败");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private GroupMembersService groupMembersService;
|
|
|
+ @Autowired
|
|
|
+ private UserShouyeService userShouyeService;
|
|
|
+ @Autowired
|
|
|
+ private GroupsMapper groupsMapper;
|
|
|
+// 添加人数
|
|
|
+ @Override
|
|
|
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, timeout = 30)
|
|
|
+ public Result AddGroupMembers(AddGroupMembers addGroupMembers) {
|
|
|
+
|
|
|
+ List<GroupMembers> data = new ArrayList<>();
|
|
|
+ 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,"添加成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ return Result.ERR(null,"添加失败");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+// 删除人数
|
|
|
+ @Override
|
|
|
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, timeout = 30)
|
|
|
+ public Result DelGroupMembers(DelGroupMembers delGroupMembers) {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|