diff --git a/kernel/api/av.go b/kernel/api/av.go index 36c648ece..59b3de92d 100644 --- a/kernel/api/av.go +++ b/kernel/api/av.go @@ -86,7 +86,7 @@ func getAttributeViewPrimaryKeyValues(c *gin.Context) { if keywordArg := arg["keyword"]; nil != keywordArg { keyword = keywordArg.(string) } - attributeViewName, rows, err := model.GetAttributeViewPrimaryKeyValues(id, keyword, page, pageSize) + attributeViewName, databaseBlockIDs, rows, err := model.GetAttributeViewPrimaryKeyValues(id, keyword, page, pageSize) if nil != err { ret.Code = -1 ret.Msg = err.Error() @@ -94,8 +94,9 @@ func getAttributeViewPrimaryKeyValues(c *gin.Context) { } ret.Data = map[string]interface{}{ - "name": attributeViewName, - "rows": rows, + "name": attributeViewName, + "blockIDs": databaseBlockIDs, + "rows": rows, } } diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index b99c67e45..c2789f539 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -55,7 +55,7 @@ func SetDatabaseBlockView(blockID, viewID string) (err error) { return } -func GetAttributeViewPrimaryKeyValues(avID, keyword string, page, pageSize int) (attributeViewName string, keyValues *av.KeyValues, err error) { +func GetAttributeViewPrimaryKeyValues(avID, keyword string, page, pageSize int) (attributeViewName string, databaseBlockIDs []string, keyValues *av.KeyValues, err error) { waitForSyncingStorages() attrView, err := av.ParseAttributeView(avID) @@ -65,6 +65,8 @@ func GetAttributeViewPrimaryKeyValues(avID, keyword string, page, pageSize int) } attributeViewName = attrView.Name + databaseBlockIDs = treenode.GetMirrorAttrViewBlockIDs(avID) + keyValues = attrView.GetBlockKeyValues() // 过滤掉不在视图中的值 tmp := map[string]*av.Value{}