1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package service
- import (
- "app.yhyue.com/moapp/jybase/common"
- "app.yhyue.com/moapp/jybase/encrypt"
- 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{}, int64) {
- sqlData := MC.BaseMysql.FindOne("sql_manage", map[string]interface{}{
- "id": common.Int64All(in.Id),
- }, "", "")
- if sqlData == nil || len(*sqlData) == 0 {
- return &[]map[string]interface{}{}, 0
- }
- dbType := (*sqlData)["db_type"]
- rs := &[]map[string]interface{}{}
- count := int64(0)
- switch dbType {
- case "es":
- count, rs = elastic.GetWithCount(common.InterfaceToStr((*sqlData)["db_name"]), common.InterfaceToStr((*sqlData)["db_name"]), "", Sqlformat(common.InterfaceToStr((*sqlData)["content"]), *in))
- }
- for k, v := range *rs {
- (*rs)[k]["id"] = encrypt.EncodeArticleId2ByCheck(common.InterfaceToStr(v["id"]))
- delete((*rs)[k], "_id")
- }
- return rs, count
- }
- 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...)
- }
|