132 lines
4.0 KiB
Go
132 lines
4.0 KiB
Go
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)
|
|
}
|
|
}
|