sqlService.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package service
  2. import (
  3. "app.yhyue.com/moapp/jybase/common"
  4. elastic "app.yhyue.com/moapp/jybase/es"
  5. MC "bp.jydev.jianyu360.cn/BaseService/biCenter/api/common"
  6. "bp.jydev.jianyu360.cn/BaseService/biCenter/api/internal/types"
  7. "fmt"
  8. )
  9. type SqlService struct {
  10. }
  11. func (l SqlService) SqlManage(in *types.SqlManageReq) *[]map[string]interface{} {
  12. sqlData := MC.BaseMysql.FindOne("sql_manage", map[string]interface{}{
  13. "id": in.Id,
  14. }, "", "")
  15. if sqlData == nil || len(*sqlData) == 0 {
  16. return &[]map[string]interface{}{}
  17. }
  18. dbType := (*sqlData)["db_type"]
  19. rs := &[]map[string]interface{}{}
  20. switch dbType {
  21. case "es":
  22. rs = elastic.Get(common.InterfaceToStr((*sqlData)["db_name"]), common.InterfaceToStr((*sqlData)["db_name"]), Sqlformat(common.InterfaceToStr((*sqlData)["content"]), *in))
  23. }
  24. return rs
  25. }
  26. func Sqlformat(sqlStr string, sqlData types.SqlManageReq) string {
  27. data := []interface{}{}
  28. for _, v := range sqlData.Params {
  29. switch v.Type {
  30. case "string":
  31. data = append(data, v.Value)
  32. case "int":
  33. data = append(data, common.Int64All(v.Value))
  34. }
  35. }
  36. return fmt.Sprintf(sqlStr, data...)
  37. }