refactor: 重构neo4j服务

This commit is contained in:
2026-04-28 12:53:01 +08:00
parent 3ff8f3951a
commit f998f78c80
10 changed files with 654 additions and 795 deletions
+14 -58
View File
@@ -46,23 +46,17 @@ func NewEdgeCRUDHandler(svc service.GraphService) *EdgeCRUDHandler {
func (h *NodeCRUDHandler) CreateNode(c *gin.Context) {
var req model.CreateNodeRequest
if err := c.ShouldBindJSON(&req); err != nil {
c.JSON(http.StatusBadRequest, model.ErrorResponse{
Error: "invalid_request",
Message: err.Error(),
})
c.JSON(http.StatusBadRequest, model.ErrorResponse{Error: "invalid_request", Message: err.Error()})
return
}
node, err := h.service.CreateNode(req)
if err != nil {
c.JSON(http.StatusConflict, model.ErrorResponse{
Error: "create_failed",
Message: err.Error(),
})
c.JSON(http.StatusConflict, model.ErrorResponse{Error: "create_failed", Message: err.Error()})
return
}
c.JSON(http.StatusOK, node)
c.JSON(http.StatusCreated, node)
}
// UpdateNode 更新节点
@@ -82,19 +76,13 @@ func (h *NodeCRUDHandler) UpdateNode(c *gin.Context) {
var req model.UpdateNodeRequest
if err := c.ShouldBindJSON(&req); err != nil {
c.JSON(http.StatusBadRequest, model.ErrorResponse{
Error: "invalid_request",
Message: err.Error(),
})
c.JSON(http.StatusBadRequest, model.ErrorResponse{Error: "invalid_request", Message: err.Error()})
return
}
node, err := h.service.UpdateNode(id, req)
if err != nil {
c.JSON(http.StatusNotFound, model.ErrorResponse{
Error: "update_failed",
Message: err.Error(),
})
c.JSON(http.StatusNotFound, model.ErrorResponse{Error: "update_failed", Message: err.Error()})
return
}
@@ -113,20 +101,12 @@ func (h *NodeCRUDHandler) UpdateNode(c *gin.Context) {
func (h *NodeCRUDHandler) DeleteNode(c *gin.Context) {
id := c.Param("id")
err := h.service.DeleteNode(id)
if err != nil {
c.JSON(http.StatusNotFound, model.ErrorResponse{
Error: "delete_failed",
Message: err.Error(),
})
if err := h.service.DeleteNode(id); err != nil {
c.JSON(http.StatusNotFound, model.ErrorResponse{Error: "delete_failed", Message: err.Error()})
return
}
c.JSON(http.StatusOK, model.DeleteResponse{
Success: true,
Message: "节点已成功删除",
ID: id,
})
c.JSON(http.StatusOK, model.DeleteResponse{Success: true, Message: "节点已成功删除", ID: id})
}
// CreateEdge 创建新边
@@ -144,33 +124,17 @@ func (h *NodeCRUDHandler) DeleteNode(c *gin.Context) {
func (h *EdgeCRUDHandler) CreateEdge(c *gin.Context) {
var req model.CreateEdgeRequest
if err := c.ShouldBindJSON(&req); err != nil {
c.JSON(http.StatusBadRequest, model.ErrorResponse{
Error: "invalid_request",
Message: err.Error(),
})
c.JSON(http.StatusBadRequest, model.ErrorResponse{Error: "invalid_request", Message: err.Error()})
return
}
edge, err := h.service.CreateEdge(req)
if err != nil {
c.JSON(http.StatusConflict, model.ErrorResponse{
Error: "create_failed",
Message: err.Error(),
})
c.JSON(http.StatusConflict, model.ErrorResponse{Error: "create_failed", Message: err.Error()})
return
}
// 转换为响应格式
response := model.EdgeResponse{
ID: edge.ID,
Source: edge.Source,
Target: edge.Target,
Label: edge.Label,
Type: edge.Type,
Properties: edge.Properties,
}
c.JSON(http.StatusOK, response)
c.JSON(http.StatusCreated, model.EdgeResponse{ID: edge.ID, Source: edge.Source, Target: edge.Target, Label: edge.Label, Type: edge.Type, Properties: edge.Properties})
}
// DeleteEdge 删除边
@@ -185,18 +149,10 @@ func (h *EdgeCRUDHandler) CreateEdge(c *gin.Context) {
func (h *EdgeCRUDHandler) DeleteEdge(c *gin.Context) {
edgeID := c.Param("id")
err := h.service.DeleteEdge(edgeID)
if err != nil {
c.JSON(http.StatusNotFound, model.ErrorResponse{
Error: "delete_failed",
Message: err.Error(),
})
if err := h.service.DeleteEdge(edgeID); err != nil {
c.JSON(http.StatusNotFound, model.ErrorResponse{Error: "delete_failed", Message: err.Error()})
return
}
c.JSON(http.StatusOK, model.DeleteResponse{
Success: true,
Message: "边已成功删除",
ID: edgeID,
})
c.JSON(http.StatusOK, model.DeleteResponse{Success: true, Message: "边已成功删除", ID: edgeID})
}