package manage import ( "bytes" "encoding/json" err1 "errors" "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller" "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage" "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/model/app_manage/node" "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/model/app_manage/project_info" "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/pkg/errors" "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/pkg/request" "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/service" "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/service/app_manage/assets" "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/service/app_manage/common" node2 "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/service/app_manage/node" "github.com/gin-gonic/gin" ) func GetProjectData(c *gin.Context) { nodeId := c.PostForm("nodeId") id := c.PostForm("id") if nodeId == "" { controller.FailCode(c, errors.InvalidParameter, nil, "请检查参数!") return } if id == "" { controller.FailCode(c, errors.InvalidParameter, nil, "请检查参数!") return } n := &node.Node{} n.Id = nodeId err := n.GetById(n) if err != nil { controller.FailCode(c, errors.ServerError, err, "没有对应的节点") return } jsonBody := make(map[string]string) jsonBody["id"] = id body, _ := json.Marshal(jsonBody) resp, err := common.Request5(n, common.Manage_GetProjectItem, bytes.NewReader(body)) if err != nil { controller.FailCode(c, errors.ServerError, err, "查询失败") return } if !resp.IsBusinessSuccess() { controller.FailCode(c, errors.ServerError, err1.New(resp.Result.Msg), resp.Result.Data) return } controller.Success(c, resp.Result.Data) } // ProjectAccessList 同/machine/white-list func ProjectAccessList(c *gin.Context) { machineId := c.PostForm("machineId") m := &node.MachineNode{} m.Id = machineId err := m.GetById(m) if err != nil { controller.FailCode(c, errors.ServerError, err, "没有对应的机器") return } result := assets.GetAgentWhitelist(m) controller.Success(c, result) } // http://10.110.141.50:2122/node/manage/saveProject // nodeId=895457ceee8340279d9d92e10242d77c&id=DQWKRY&name=test&runMode=Jar&whitelistDirectory=%2Fhome%2Ftmn%2Fjpom%2Fproject%2F&lib=test&logPath= func SaveProject(c *gin.Context) { //params, _ := request.GetPostFormParams(c) //if params["nodeId"] == "" { // controller.FailCode(c, errors.InvalidParameter, nil, "请检查参数!") // return //} p := project_info.ProjectInfo{} err := c.ShouldBindJSON(&p) if err != nil { controller.FailCode(c, errors.InvalidParameter, err, "请检查参数!") return } nodeId := p.NodeId if nodeId == "" { controller.FailCode(c, errors.InvalidParameter, nil, "请检查参数!") return } id := p.Id if id == "" { controller.FailCode(c, errors.InvalidParameter, nil, "请检查参数!") return } n := &node.Node{} n.Id = nodeId err = n.GetById(n) if err != nil { controller.FailCode(c, errors.ServerError, err, "没有对应的节点") return } p.SetUserName(service.GetUserName(c)) p.WorkspaceId = n.WorkspaceId p.NodeName = n.Name body, _ := json.Marshal(p) resp, err := common.Request5(n, common.Manage_SaveProject, bytes.NewReader(body)) if err != nil { controller.FailCode(c, errors.ServerError, err, "创建项目失败") return } if !resp.IsBusinessSuccess() { controller.FailCode(c, errors.ServerError, err1.New(resp.Result.Msg), "创建项目失败-逻辑节点") return } node2.SyncNodeProjectInfo(n, id) controller.Success(c, "") } func ReleaseOutgiving(c *gin.Context) { bodyToMap := request.GetBodyToMap(c) response := app_manage.TryRequestNode("", bodyToMap, common.Manage_ReleaseOutGiving) if response.Result.Code == errors.SUCCESS { projectId, _ := bodyToMap["id"].(string) n, _ := app_manage.TryGetNode(bodyToMap) node2.SyncNodeProjectInfo(n, projectId) controller.Success(c, response.Result.Data) } else { controller.FailCode(c, response.Result.Code, errors.NewBusinessError(response.Result.Code, response.Result.Msg), response.Result.Data) } }