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.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.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 implements GroupsService{ @Autowired private GroupMembersMapper groupMembersMapper; @Autowired private RedisTemplate redisTemplate; @Autowired private UserShouyeMapper userShouyeMapper; // 创建群 @Override 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 public Result AddGroupMembers(AddGroupMembers addGroupMembers) { List data = new ArrayList<>(); Groupss groupss = groupsMapper.selectById(addGroupMembers.getGroupId()); System.err.println(groupss); List 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,"添加失败"); } }