添加项目文件。
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
using GroupService.Domain.Entities;
|
||||
using GroupService.Domain.Enums;
|
||||
using GroupService.Domain.IReposities;
|
||||
using IM.Commons;
|
||||
|
||||
namespace GroupService.Domain
|
||||
{
|
||||
public class GroupMemberDomainService
|
||||
{
|
||||
private readonly IGroupMemberReposity reposity;
|
||||
|
||||
public GroupMemberDomainService(IGroupMemberReposity reposity)
|
||||
{
|
||||
this.reposity = reposity;
|
||||
}
|
||||
|
||||
public async Task<Result<GroupMember>> CreateAsync(
|
||||
Guid userId, Guid groupId, string nickName, string? avatar, GroupMemberRole role = GroupMemberRole.Normal)
|
||||
{
|
||||
var exist = await reposity.CheckMemberExistAsync(groupId, userId);
|
||||
if (exist)
|
||||
{
|
||||
return Result<GroupMember>.Fail(ResultCode.ALREADY_IN_GROUP);
|
||||
}
|
||||
var groupMember = new GroupMember(userId, groupId, nickName, avatar, role);
|
||||
groupMember = reposity.Create(groupMember);
|
||||
return Result<GroupMember>.Success(groupMember);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user