This commit is contained in:
withchao 2023-04-19 20:06:20 +08:00
parent d2068857e1
commit 9f523d980a

View File

@ -141,10 +141,13 @@ func (f *friendDatabase) BecomeFriends(ctx context.Context, ownerUserID string,
// 拒绝好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)修改申请记录 已拒绝 // 拒绝好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)修改申请记录 已拒绝
func (f *friendDatabase) RefuseFriendRequest(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) { func (f *friendDatabase) RefuseFriendRequest(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) {
_, err = f.friendRequest.Take(ctx, friendRequest.FromUserID, friendRequest.ToUserID) fr, err := f.friendRequest.Take(ctx, friendRequest.FromUserID, friendRequest.ToUserID)
if err != nil { if err != nil {
return err return err
} }
if fr.HandleResult != 0 {
return errs.ErrArgs.Wrap("the friend request has been processed")
}
friendRequest.HandleResult = constant.FriendResponseRefuse friendRequest.HandleResult = constant.FriendResponseRefuse
friendRequest.HandleTime = time.Now() friendRequest.HandleTime = time.Now()
err = f.friendRequest.Update(ctx, friendRequest) err = f.friendRequest.Update(ctx, friendRequest)
@ -154,17 +157,16 @@ func (f *friendDatabase) RefuseFriendRequest(ctx context.Context, friendRequest
return nil return nil
} }
// 同意好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)检查是否好友(不返回错误) (3) 不是好友则建立双向好友关系 4修改申请记录 已同意 // AgreeFriendRequest 同意好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)检查是否好友(不返回错误) (3) 建立双向好友关系(存在的忽略)
func (f *friendDatabase) AgreeFriendRequest(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) { func (f *friendDatabase) AgreeFriendRequest(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) {
return f.tx.Transaction(func(tx any) error { return f.tx.Transaction(func(tx any) error {
fr, err := f.friendRequest.NewTx(tx).Take(ctx, friendRequest.FromUserID, friendRequest.ToUserID) fr, err := f.friendRequest.NewTx(tx).Take(ctx, friendRequest.FromUserID, friendRequest.ToUserID)
if err != nil { if err != nil {
return err return err
} }
_ = fr if fr.HandleResult != 0 {
//if fr.HandleResult != 0 { return errs.ErrArgs.Wrap("the friend request has been processed")
// return errs.ErrArgs.Wrap("the friend request has been processed") }
//}
friendRequest.HandlerUserID = mcontext.GetOpUserID(ctx) friendRequest.HandlerUserID = mcontext.GetOpUserID(ctx)
friendRequest.HandleResult = constant.FriendResponseAgree friendRequest.HandleResult = constant.FriendResponseAgree
friendRequest.HandleTime = time.Now() friendRequest.HandleTime = time.Now()
@ -192,42 +194,6 @@ func (f *friendDatabase) AgreeFriendRequest(ctx context.Context, friendRequest *
} }
} }
return f.cache.DelFriendIDs(friendRequest.ToUserID, friendRequest.FromUserID).ExecDel(ctx) return f.cache.DelFriendIDs(friendRequest.ToUserID, friendRequest.FromUserID).ExecDel(ctx)
//ownerUserID := friendRequest.FromUserID
//friendUserIDs := []string{friendRequest.ToUserID}
//addSource := int32(constant.BecomeFriendByApply)
//OperatorUserID := friendRequest.FromUserID
////先find 找出重复的 去掉重复的
//fs1, err := f.friend.NewTx(tx).FindFriends(ctx, ownerUserID, friendUserIDs)
//if err != nil {
// return err
//}
//for _, v := range friendUserIDs {
// fs1 = append(fs1, &relation.FriendModel{OwnerUserID: ownerUserID, FriendUserID: v, AddSource: addSource, OperatorUserID: OperatorUserID})
//}
//fs11 := utils.DistinctAny(fs1, func(e *relation.FriendModel) string {
// return e.FriendUserID
//})
//
//err = f.friend.NewTx(tx).Create(ctx, fs11)
//if err != nil {
// return err
//}
//
//fs2, err := f.friend.NewTx(tx).FindReversalFriends(ctx, ownerUserID, friendUserIDs)
//if err != nil {
// return err
//}
//for _, v := range friendUserIDs {
// fs2 = append(fs2, &relation.FriendModel{OwnerUserID: v, FriendUserID: ownerUserID, AddSource: addSource, OperatorUserID: OperatorUserID})
//}
//fs22 := utils.DistinctAny(fs2, func(e *relation.FriendModel) string {
// return e.OwnerUserID
//})
//err = f.friend.NewTx(tx).Create(ctx, fs22)
//if err != nil {
// return err
//}
//return f.cache.DelFriendIDs(ownerUserID, friendRequest.ToUserID).ExecDel(ctx)
}) })
} }