add free vertex process in create update delete api

This commit is contained in:
douxu 2024-12-05 16:32:23 +08:00
parent 410c08b132
commit cd2451c985
10 changed files with 29 additions and 3 deletions

View File

@ -10,7 +10,7 @@
"uuid_to":"12311-116"
}
],
"free_vertex":[
"free_vertexs":[
"12311-111",
"12311-112",
"12311-115"

View File

@ -10,6 +10,11 @@
"uuid_to":"12311-116"
}
],
"free_vertexs":[
"12311-111",
"12311-112",
"12311-115"
],
"component_infos":[
{
"uuid":"12311-114",

View File

@ -23,7 +23,7 @@
"new_uuid_to":"12311-116"
}
],
"free_vertex":[
"free_vertexs":[
"12311-111",
"12311-112",
"12311-115"

View File

@ -149,6 +149,12 @@ func CircuitDiagramCreateHandler(c *gin.Context) {
diagram.StoreComponentMap(componentInfo.UUID, &componentMap)
}
if len(request.FreeVertexs) > 0 {
for _, freeVertex := range request.FreeVertexs {
graph.FreeVertexs[freeVertex] = struct{}{}
}
}
// commit transsction
tx.Commit()
resp := network.BasicResponse{

View File

@ -190,6 +190,12 @@ func CircuitDiagramDeleteHandler(c *gin.Context) {
diagram.DeleteComponentMap(componentInfo.UUID)
}
if len(request.FreeVertexs) > 0 {
for _, freeVertex := range request.FreeVertexs {
delete(graph.FreeVertexs, freeVertex)
}
}
// commit transsction
tx.Commit()
resp := network.BasicResponse{

View File

@ -147,6 +147,12 @@ func CircuitDiagramUpdateHandler(c *gin.Context) {
diagram.UpdateComponentMap(componentInfo.UUID, &componentMap)
}
if len(request.FreeVertexs) > 0 {
for _, freeVertex := range request.FreeVertexs {
graph.FreeVertexs[freeVertex] = struct{}{}
}
}
// commit transsction
tx.Commit()

View File

@ -40,6 +40,7 @@ type ComponentCreateInfo struct {
// CircuitDiagramCreateRequest defines request params of circuit diagram create api
type CircuitDiagramCreateRequest struct {
PageID int64 `json:"page_id"`
FreeVertexs []string `json:"free_vertexs"`
TopologicLinks []TopologicCreateInfo `json:"topologics"`
ComponentInfos []ComponentCreateInfo `json:"component_infos"`
}

View File

@ -24,6 +24,7 @@ type ComponentDelInfo struct {
// CircuitDiagramDeleteRequest defines request params of circuit diagram delete api
type CircuitDiagramDeleteRequest struct {
PageID int64 `json:"page_id"`
FreeVertexs []string `json:"free_vertexs"`
TopologicLinks []TopologicDelInfo `json:"topologics"`
ComponentInfos []ComponentDelInfo `json:"component_infos"`
}

View File

@ -52,6 +52,7 @@ type ComponentUpdateInfo struct {
// CircuitDiagramUpdateRequest defines request params of circuit diagram update api
type CircuitDiagramUpdateRequest struct {
PageID int64 `json:"page_id"`
FreeVertexs []string `json:"free_vertexs"`
TopologicLinks []TopologicChangeInfo `json:"topologics"`
ComponentInfos []ComponentUpdateInfo `json:"component_infos"`
}

View File

@ -13,5 +13,5 @@ var RecursiveSQL = `WITH RECURSIVE recursive_tree as (
)
SELECT * FROM recursive_tree;`
// TODO 为 Topologic 表增加唯一所以
// TODO 为 Topologic 表增加唯一索引
// CREATE UNIQUE INDEX uuid_from_to_page_id_idx ON public."Topologic"(uuid_from,uuid_to,page_id);