feat: 方案100%匹配 — RBAC动态权限+Grafana监控+目录库独立微服务+全国目录中心+标识同步

This commit is contained in:
selfrelease
2026-06-30 13:42:11 +08:00
parent 96e2393c50
commit 29a6b57533
40 changed files with 4159 additions and 7 deletions
+64
View File
@@ -292,3 +292,67 @@ func (c *ChainMakerClient) QueryMappings(maCode string) (MappingsResult, error)
out.MACode = maCode
return out, nil
}
// ---- 多维度查询与 MA 合并/拆分 ----
func (c *ChainMakerClient) QueryByHash(fileHash string) (model.ContentQueryResult, error) {
res, err := c.query(RoleRegulator, "QueryByHash", map[string][]byte{"file_hash": []byte(fileHash)})
if err != nil {
return model.ContentQueryResult{Found: false}, err
}
var out model.ContentQueryResult
if err := json.Unmarshal(res, &out); err != nil {
return model.ContentQueryResult{Found: false}, err
}
return out, nil
}
func (c *ChainMakerClient) QueryByProvincialCode(provincialCode string) (model.ContentQueryResult, error) {
res, err := c.query(RoleRegulator, "QueryByProvincialCode", map[string][]byte{"provincial_code": []byte(provincialCode)})
if err != nil {
return model.ContentQueryResult{Found: false}, err
}
var out model.ContentQueryResult
if err := json.Unmarshal(res, &out); err != nil {
return model.ContentQueryResult{Found: false}, err
}
return out, nil
}
func (c *ChainMakerClient) QueryByLibraryFileID(libraryFileID string) (model.ContentQueryResult, error) {
res, err := c.query(RoleRegulator, "QueryByLibraryFileID", map[string][]byte{"library_file_id": []byte(libraryFileID)})
if err != nil {
return model.ContentQueryResult{Found: false}, err
}
var out model.ContentQueryResult
if err := json.Unmarshal(res, &out); err != nil {
return model.ContentQueryResult{Found: false}, err
}
return out, nil
}
func (c *ChainMakerClient) MergeMA(role Role, req model.MergeRequest) (model.MergeResult, error) {
reqJSON, _ := json.Marshal(req)
resp, err := c.invoke(role, "MergeMA", map[string][]byte{"request": reqJSON})
if err != nil {
return model.MergeResult{}, err
}
var out model.MergeResult
if err := json.Unmarshal(resp.ContractResult.Result, &out); err != nil {
return model.MergeResult{}, err
}
return out, nil
}
func (c *ChainMakerClient) SplitMA(role Role, req model.SplitRequest) (model.SplitResult, error) {
reqJSON, _ := json.Marshal(req)
resp, err := c.invoke(role, "SplitMA", map[string][]byte{"request": reqJSON})
if err != nil {
return model.SplitResult{}, err
}
var out model.SplitResult
if err := json.Unmarshal(resp.ContractResult.Result, &out); err != nil {
return model.SplitResult{}, err
}
return out, nil
}