diff --git a/server/dao/resource.go b/server/dao/resource.go index d0601d1..8310a9b 100644 --- a/server/dao/resource.go +++ b/server/dao/resource.go @@ -422,7 +422,11 @@ func GetResourcesIdWithTag(tagID uint) ([]uint, error) { return nil, err } - return tagIds, nil + ids := make([]uint, len(result)) + for i, r := range result { + ids[i] = r.ID + } + return ids, nil } func BatchGetResources(ids []uint) ([]model.Resource, error) { diff --git a/server/service/resource.go b/server/service/resource.go index 0f8abe1..95654c8 100644 --- a/server/service/resource.go +++ b/server/service/resource.go @@ -325,6 +325,21 @@ func SearchResource(query string, page int) ([]model.ResourceView, int, error) { } resources = append(resources, temp...) + // remove duplicates + temp = make([]uint, 0) + for _, id := range resources { + found := false + for _, id2 := range temp { + if id == id2 { + found = true + break + } + } + if !found { + temp = append(temp, id) + } + } + if start >= len(resources) { return []model.ResourceView{}, 0, nil }