78 lines
1.6 KiB
Go
78 lines
1.6 KiB
Go
package main
|
|
|
|
//online api
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/julienschmidt/httprouter"
|
|
"github.com/snail007/go-activerecord/mysql"
|
|
)
|
|
|
|
type Online struct{}
|
|
|
|
func NewOnline() *Online {
|
|
return &Online{}
|
|
}
|
|
|
|
//get online client
|
|
//method : GET
|
|
//params : cluster_id
|
|
func (online *Online) GetClientByClusterId(responseWrite http.ResponseWriter, request *http.Request, params httprouter.Params) {
|
|
|
|
clusterId := request.FormValue("cluster_id")
|
|
|
|
if clusterId == "" {
|
|
jsonError(responseWrite, "cluster_id错误!", nil)
|
|
return
|
|
}
|
|
|
|
db := G.DB()
|
|
var rs *mysql.ResultSet
|
|
rs, err := db.Query(db.AR().From("online").Where(map[string]interface{}{
|
|
"cluster_id": clusterId,
|
|
"cs_type": "client",
|
|
}))
|
|
if err != nil {
|
|
jsonError(responseWrite, err.Error(), nil)
|
|
return
|
|
}
|
|
|
|
if rs.Len() == 0 {
|
|
jsonError(responseWrite, "client不存在", nil)
|
|
return
|
|
}
|
|
|
|
jsonSuccess(responseWrite, "ok", rs.Rows())
|
|
}
|
|
|
|
//get online server
|
|
//method : GET
|
|
//params : cluster_id
|
|
func (online *Online) GetServerByClusterId(responseWrite http.ResponseWriter, request *http.Request, params httprouter.Params) {
|
|
|
|
clusterId := request.FormValue("cluster_id")
|
|
|
|
if clusterId == "" {
|
|
jsonError(responseWrite, "cluster_id错误!", nil)
|
|
return
|
|
}
|
|
|
|
db := G.DB()
|
|
var rs *mysql.ResultSet
|
|
rs, err := db.Query(db.AR().From("online").Where(map[string]interface{}{
|
|
"cluster_id": clusterId,
|
|
"cs_type": "server",
|
|
}))
|
|
if err != nil {
|
|
jsonError(responseWrite, err.Error(), nil)
|
|
return
|
|
}
|
|
|
|
if rs.Len() == 0 {
|
|
jsonError(responseWrite, "server 不存在", nil)
|
|
return
|
|
}
|
|
|
|
jsonSuccess(responseWrite, "ok", rs.Rows())
|
|
}
|