package service import ( "app.yhyue.com/moapp/jybase/common" elastic "app.yhyue.com/moapp/jybase/es" MC "bp.jydev.jianyu360.cn/BaseService/biCenter/api/common" "bp.jydev.jianyu360.cn/BaseService/biCenter/api/internal/types" "fmt" ) type SqlService struct { } func (l SqlService) SqlManage(in *types.SqlManageReq) *[]map[string]interface{} { sqlData := MC.BaseMysql.FindOne("sql_manage", map[string]interface{}{ "id": in.Id, }, "", "") if sqlData == nil || len(*sqlData) == 0 { return &[]map[string]interface{}{} } dbType := (*sqlData)["db_type"] rs := &[]map[string]interface{}{} switch dbType { case "es": rs = elastic.Get(common.InterfaceToStr((*sqlData)["db_name"]), common.InterfaceToStr((*sqlData)["db_name"]), Sqlformat(common.InterfaceToStr((*sqlData)["content"]), *in)) } return rs } func Sqlformat(sqlStr string, sqlData types.SqlManageReq) string { data := []interface{}{} for _, v := range sqlData.Params { switch v.Type { case "string": data = append(data, v.Value) case "int": data = append(data, common.Int64All(v.Value)) } } return fmt.Sprintf(sqlStr, data...) }