package controllers import ( "Cold_Api/controllers/lib" "Cold_Api/models/Account" "Cold_Api/models/Device" "Cold_Api/models/RawSql" "github.com/beego/beego/v2/core/logs" beego "github.com/beego/beego/v2/server/web" "strings" ) // Handle type RawSqlController struct { beego.Controller Admin_r Account.Admin // 登陆的用户 } func (c *RawSqlController) Prepare() { GetCookie := c.Ctx.GetCookie("User_tokey") GetString := c.GetString("User_tokey") User_tokey := GetCookie if len(User_tokey) == 0 { User_tokey = GetString } c.Admin_r = *Account.Admin_r } func (c *RawSqlController) List_Post() { var id int64 var err error id, _ = c.GetInt64("id") T_name := c.GetString("T_name") T_text := c.GetString("T_text") var_ := RawSql.RawSql{ T_name: T_name, T_text: T_text, } T_SQL_ := strings.ToLower(T_text) if strings.Contains(T_SQL_, "show") || strings.Contains(T_SQL_, "create") || strings.Contains(T_SQL_, "drop") || strings.Contains(T_SQL_, "desc") || strings.Contains(T_SQL_, "alter") || strings.Contains(T_SQL_, "insert") || strings.Contains(T_SQL_, "update") || strings.Contains(T_SQL_, "delete") { c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败,有违禁 语法!"} c.ServeJSON() return } if id > 0 { var_.Id = int(id) is := RawSql.Update_TRawSql(var_, "T_name", "T_text") if !is { c.Data["json"] = lib.JSONS{Code: 302, Msg: "修改失败!"} c.ServeJSON() return } } else { _, err = RawSql.Add_RawSql(var_) if err != nil { c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"} c.ServeJSON() return } } c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *RawSqlController) List_Del() { Id, _ := c.GetInt("Id") if Id > 0 { RawSql_r := RawSql.Read_RawSql_ById(Id) RawSql.Delete_RawSql(RawSql_r) } else { c.Data["json"] = lib.JSONS{Code: 202, Msg: "e!"} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 执行 SQL func (c *RawSqlController) Raw() { T_id := c.GetString("T_id") if len(T_id) != 5 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_id Err!"} c.ServeJSON() return } RawSql_r := RawSql.Read_RawSql_ByT_id(T_id) if RawSql_r.Id == 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_id Err!"} c.ServeJSON() return } T_data := c.GetString("T_data") logs.Debug(" 执行SQL:", T_id, " => [", T_data, "] ", c.Admin_r.T_uuid, c.Admin_r.T_name) var T_dataL []string for _, v := range strings.Split(T_data, "|") { if len(v) > 0 { T_dataL = append(T_dataL, v) } } str_, Params := Device.Read_SqlRawL(RawSql_r.T_text, T_dataL) if len(str_) > 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "ok!", Data: str_} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Params} c.ServeJSON() return }