From c55785783d44a0843d1a322d6678ca3e49965425 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Thu, 2 Feb 2023 11:24:03 +0800 Subject: [PATCH] 1 --- pkg/common/db/table/relation.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/pkg/common/db/table/relation.go b/pkg/common/db/table/relation.go index 052c9cc05..1deaf7869 100644 --- a/pkg/common/db/table/relation.go +++ b/pkg/common/db/table/relation.go @@ -13,6 +13,7 @@ type FriendModel struct { OperatorUserID string `gorm:"column:operator_user_id;size:64"` Ex string `gorm:"column:ex;size:1024"` } + type ConversationModel struct { OwnerUserID string `gorm:"column:owner_user_id;primary_key;type:char(128)" json:"OwnerUserID"` ConversationID string `gorm:"column:conversation_id;primary_key;type:char(128)" json:"conversationID"` @@ -50,6 +51,31 @@ type GroupModel struct { NotificationUserID string `gorm:"column:notification_user_id;size:64"` } +func (f *GroupModel) EqID(i interface{}) bool { + switch v := i.(type) { + case GroupModel: + return f.GroupID == v.GroupID + case *GroupModel: + return f.GroupID == v.GroupID + default: + return false + } +} + +func DuplicateRemoval[T any](arr []T, fn func(t T) string) { + +} + +func aaa() { + DuplicateRemoval([]GroupModel{}, func(t GroupModel) string { + return t.GroupID + }) + + DuplicateRemoval([]*GroupModel{}, func(t *GroupModel) string { + return t.GroupID + }) +} + type FriendRequestModel struct { FromUserID string `gorm:"column:from_user_id;primary_key;size:64"` ToUserID string `gorm:"column:to_user_id;primary_key;size:64"`