Merge branch 'feature-nxdev' of https://gitea.nxsir.cn/code/IM into feature-nxdev
This commit is contained in:
@@ -266,5 +266,31 @@ namespace IM_API.Services
|
||||
return user;
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
public async Task<GroupInfoVo> UpdateGroupInfoAsync(int userId, int groupId, GroupUpdateDto updateDto)
|
||||
{
|
||||
//判断群存在
|
||||
var groupInfo = await _context.Groups.FirstOrDefaultAsync(x => x.Id == groupId);
|
||||
if (groupInfo is null)
|
||||
throw new BaseException(CodeDefine.GROUP_NOT_FOUND);
|
||||
|
||||
//判断操作者权限
|
||||
var memberInfo = await _context.GroupMembers
|
||||
.FirstOrDefaultAsync(x => x.UserId == userId && x.GroupId == groupId);
|
||||
|
||||
if (memberInfo is null || memberInfo.RoleEnum == GroupMemberRole.Normal)
|
||||
throw new BaseException(CodeDefine.NO_GROUP_PERMISSION);
|
||||
|
||||
groupInfo.Name = updateDto.GroupName ?? groupInfo.Name;
|
||||
groupInfo.Avatar = updateDto.Avatar ?? groupInfo.Avatar;
|
||||
groupInfo.Announcement = updateDto.Description ?? groupInfo.Announcement;
|
||||
|
||||
|
||||
_context.Groups.Update(groupInfo);
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
return _mapper.Map<GroupInfoVo>(groupInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user