From 662003c0caebdf637722d8246b5518a0f07daa34 Mon Sep 17 00:00:00 2001 From: hoteas Date: Mon, 27 Dec 2021 20:40:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E9=80=82=E5=BA=94?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application.go | 156 +++++++++++++++++++++- code.go | 218 +++++++++++++++++++++++++++++++ code/makecode.go | 55 ++++---- example/admin/admin.go | 160 ----------------------- example/admin/category.go | 160 ----------------------- example/admin/ctg_order_date.go | 160 ----------------------- example/admin/init.go | 79 ----------- example/admin/matter.go | 160 ----------------------- example/admin/matter_order.go | 160 ----------------------- example/admin/order.go | 160 ----------------------- example/admin/org.go | 160 ----------------------- example/admin/produce_product.go | 160 ----------------------- example/admin/product_line.go | 160 ----------------------- example/admin/role.go | 160 ----------------------- example/admin/user.go | 160 ----------------------- example/app/material_inout.go | 2 +- example/app/product.go | 2 +- example/config/config.json | 2 +- example/config/configNote.json | 2 +- example/main.go | 124 +----------------- var.go | 4 +- 21 files changed, 410 insertions(+), 1994 deletions(-) create mode 100644 code.go delete mode 100644 example/admin/admin.go delete mode 100644 example/admin/category.go delete mode 100644 example/admin/ctg_order_date.go delete mode 100644 example/admin/init.go delete mode 100644 example/admin/matter.go delete mode 100644 example/admin/matter_order.go delete mode 100644 example/admin/order.go delete mode 100644 example/admin/org.go delete mode 100644 example/admin/produce_product.go delete mode 100644 example/admin/product_line.go delete mode 100644 example/admin/role.go delete mode 100644 example/admin/user.go diff --git a/application.go b/application.go index 69b2805..52e2882 100644 --- a/application.go +++ b/application.go @@ -8,6 +8,7 @@ import ( . "./log" "database/sql" "github.com/sirupsen/logrus" + "io" "io/ioutil" "net/http" "net/url" @@ -20,6 +21,7 @@ import ( type Application struct { *code.MakeCode + MakeCodeRouter Router MethodRouter Router ContextBase @@ -64,15 +66,21 @@ func (that *Application) Run(router Router) { // //} - that.Router = router + //that.Router = router + if that.Router == nil { + that.Router = Router{} + } + for k, v := range router { + that.Router[k] = v + } //重新设置MethodRouter//直达路由 that.MethodRouter = MethodRouter{} modeRouterStrict := true if that.Config.GetBool("modeRouterStrict") == false { modeRouterStrict = false } - if router != nil { - for pk, pv := range router { + if that.Router != nil { + for pk, pv := range that.Router { if !modeRouterStrict { pk = strings.ToLower(pk) } @@ -505,10 +513,23 @@ func Init(config string) Application { if codeConfig != nil { for k, _ := range codeConfig { if appIns.Config.GetInt("mode") == 2 { - appIns.MakeCode.Db2JSON(k, codeConfig.GetString(k), &appIns.Db) + appIns.MakeCode.Db2JSON(k, codeConfig.GetString(k), &appIns.Db, true) + } else if appIns.Config.GetInt("mode") == 3 { + appIns.MakeCode.Db2JSON(k, codeConfig.GetString(k), &appIns.Db, false) } else { - appIns.MakeCode.Db2JSON(k, codeConfig.GetString(k), nil) + appIns.MakeCode.Db2JSON(k, codeConfig.GetString(k), nil, false) } + //接入动态代码层 + if appIns.Router == nil { + appIns.Router = Router{} + } + appIns.Router[k] = TptProject + for k1, _ := range appIns.MakeCode.TableColumns { + appIns.Router[k][k1] = appIns.Router[k]["hotimeCommon"] + } + + setMakeCodeLintener(k, &appIns) + } } @@ -572,3 +593,128 @@ func SetSqliteDB(appIns *Application, config Map) { return master, slave }) } + +func setMakeCodeLintener(name string, appIns *Application) { + appIns.SetConnectListener(func(context *Context) bool { + if len(context.RouterString) > 1 && context.RouterString[0] == name { + if context.RouterString[1] == "hotime" && context.RouterString[2] == "login" { + return true + } + if context.RouterString[1] == "hotime" && context.RouterString[2] == "logout" { + return true + } + + if context.Session(name+"_id").Data == nil { + context.Display(2, "你还没有登录") + return false + } + } + + //文件上传接口 + if len(context.RouterString) == 1 && context.RouterString[0] == "file" && context.Req.Method == "POST" { + if context.Session(name+"_id").Data == nil { + context.Display(2, "你还没有登录") + return false + } + //读取网络文件 + fi, fheader, err := context.Req.FormFile("file") + if err != nil { + context.Display(3, err) + return false + + } + filePath := context.Config.GetString("filePath") + if filePath == "" { + filePath = "file/2006/01/02/" + } + + path := time.Now().Format(filePath) + e := os.MkdirAll(context.Config.GetString("tpt")+"/"+path, os.ModeDir) + if e != nil { + context.Display(3, e) + return false + } + filePath = path + Md5(ObjToStr(RandX(100000, 9999999))) + fheader.Filename[strings.LastIndex(fheader.Filename, "."):] + newFile, e := os.Create(context.Config.GetString("tpt") + "/" + filePath) + + if e != nil { + context.Display(3, e) + return false + } + + _, e = io.Copy(newFile, fi) + + if e != nil { + context.Display(3, e) + return false + } + + context.Display(0, filePath) + return false + } + + if len(context.RouterString) < 2 || len(context.RouterString) > 3 || + !(context.Router[context.RouterString[0]] != nil && + context.Router[context.RouterString[0]][context.RouterString[1]] != nil) { + return true + } + //排除无效操作 + if len(context.RouterString) == 2 && + context.Req.Method != "GET" && + context.Req.Method != "POST" { + return true + } + //列表检索 + if len(context.RouterString) == 2 && + context.Req.Method == "GET" { + if context.Router[context.RouterString[0]][context.RouterString[1]]["search"] == nil { + return true + } + context.Router[context.RouterString[0]][context.RouterString[1]]["search"](context) + } + //新建 + if len(context.RouterString) == 2 && + context.Req.Method == "POST" { + if context.Router[context.RouterString[0]][context.RouterString[1]]["add"] == nil { + return true + } + context.Router[context.RouterString[0]][context.RouterString[1]]["add"](context) + } + if len(context.RouterString) == 3 && + context.Req.Method == "POST" { + return true + } + //查询单条 + if len(context.RouterString) == 3 && + context.Req.Method == "GET" { + + if context.Router[context.RouterString[0]][context.RouterString[1]]["info"] == nil { + return true + } + + context.Router[context.RouterString[0]][context.RouterString[1]]["info"](context) + } + //更新 + if len(context.RouterString) == 3 && + context.Req.Method == "PUT" { + + if context.Router[context.RouterString[0]][context.RouterString[1]]["update"] == nil { + return true + } + + context.Router[context.RouterString[0]][context.RouterString[1]]["update"](context) + } + //移除 + if len(context.RouterString) == 3 && + context.Req.Method == "DELETE" { + + if context.Router[context.RouterString[0]][context.RouterString[1]]["remove"] == nil { + return true + } + + context.Router[context.RouterString[0]][context.RouterString[1]]["remove"](context) + } + context.View() + return false + }) +} diff --git a/code.go b/code.go new file mode 100644 index 0000000..b8db2b1 --- /dev/null +++ b/code.go @@ -0,0 +1,218 @@ +package hotime + +import ( + . "../hotime/common" + "strings" +) + +// Project 管理端项目 +var TptProject = Proj{ + //"user": UserCtr, + "hotimeCommon": Ctr{ + "info": func(that *Context) { + hotimeName := that.RouterString[0] + data := that.Db.Get(hotimeName, "*", Map{"id": that.Session(hotimeName + "_id").ToCeilInt()}) + str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) + where := Map{"id": that.RouterString[2]} + + if len(inData) == 1 { + inData["id"] = where["id"] + where = Map{"AND": inData} + } else if len(inData) > 1 { + where["OR"] = inData + where = Map{"AND": where} + } + + re := that.Db.Get(that.RouterString[1], str, where) + + if re == nil { + that.Display(4, "找不到对应信息") + return + } + + for k, v := range re { + column := that.MakeCode.TableColumns[that.RouterString[1]][k] + if column == nil { + continue + } + if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { + re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) + } + } + + that.Display(0, re) + }, + "add": func(that *Context) { + inData := that.MakeCode.Add(that.RouterString[1], that.Req) + if inData == nil { + that.Display(3, "请求参数不足") + return + } + + re := that.Db.Insert(that.RouterString[1], inData) + + if re == 0 { + that.Display(4, "无法插入对应数据") + return + } + //索引管理,便于检索以及权限 + if inData.Get("parent_id") != nil && inData.GetString("index") != "" { + index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) + inData["index"] = index.GetString("index") + ObjToStr(re) + "," + that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) + } else if inData.GetString("index") != "" { + inData["index"] = "," + ObjToStr(re) + "," + that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) + } + + that.Display(0, re) + }, + "update": func(that *Context) { + inData := that.MakeCode.Edit(that.RouterString[1], that.Req) + if inData == nil { + that.Display(3, "没有找到要更新的数据") + return + } + + //索引管理,便于检索以及权限 + if inData.Get("parent_id") != nil && inData.GetString("index") != "" { + Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) + parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) + inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," + + childNodes := that.Db.Select(that.RouterString[1], "id,`index``", Map{"index[~]": "," + that.RouterString[2] + ","}) + + for _, v := range childNodes { + v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) + that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) + } + + } + + re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) + + if re == 0 { + that.Display(4, "更新数据失败") + return + } + + that.Display(0, re) + }, + "remove": func(that *Context) { + inData := that.MakeCode.Delete(that.RouterString[1], that.Req) + if inData == nil { + that.Display(3, "请求参数不足") + return + } + re := int64(0) + //索引管理,便于检索以及权限 + if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { + re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) + } else { + re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) + } + + if re == 0 { + that.Display(4, "删除数据失败") + return + } + that.Display(0, "删除成功") + }, + + "search": func(that *Context) { + hotimeName := that.RouterString[0] + data := that.Db.Get(hotimeName, "*", Map{"id": that.Session(hotimeName + "_id").ToCeilInt()}) + + columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) + + page := ObjToInt(that.Req.FormValue("page")) + pageSize := ObjToInt(that.Req.FormValue("pageSize")) + + if page < 1 { + page = 1 + } + + if pageSize <= 0 { + pageSize = 20 + } + + count := that.Db.Count(that.RouterString[1], leftJoin, where) + reData := that.Db.Page(page, pageSize). + PageSelect(that.RouterString[1], leftJoin, columnStr, where) + + for _, v := range reData { + for k, _ := range v { + column := that.MakeCode.TableColumns[that.RouterString[1]][k] + if column == nil { + continue + } + + if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { + parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) + v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" + if parentC != nil { + v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) + } + } + + } + } + + that.Display(0, Map{"count": count, "data": reData}) + }, + }, + "hotime": Ctr{ + "login": func(this *Context) { + hotimeName := this.RouterString[0] + name := this.Req.FormValue("name") + password := this.Req.FormValue("password") + if name == "" || password == "" { + this.Display(3, "参数不足") + return + } + user := this.Db.Get(hotimeName, "*", Map{"AND": Map{"OR": Map{"name": name, "phone": name}, "password": Md5(password)}}) + if user == nil { + this.Display(5, "登录失败") + return + } + this.Session(hotimeName+"_id", user.GetCeilInt("id")) + this.Session(hotimeName+"_name", name) + this.Display(0, this.SessionId) + }, + "logout": func(this *Context) { + hotimeName := this.RouterString[0] + this.Session(hotimeName+"_id", nil) + this.Session(hotimeName+"_name", nil) + this.Display(0, "退出登录成功") + }, + "info": func(that *Context) { + hotimeName := that.RouterString[0] + data := that.Db.Get(hotimeName, "*", Map{"id": that.Session(hotimeName + "_id").ToCeilInt()}) + str, inData := that.MakeCode.Info(hotimeName, data, that.Db) + where := Map{"id": that.Session(hotimeName + "_id").ToCeilInt()} + if len(inData) == 1 { + inData["id"] = where["id"] + where = Map{"AND": inData} + } else if len(inData) > 1 { + where["OR"] = inData + where = Map{"AND": where} + } + re := that.Db.Get(hotimeName, str, where) + if re == nil { + that.Display(4, "找不到对应信息") + return + } + for k, v := range re { + column := that.MakeCode.TableColumns[hotimeName][k] + if column == nil { + continue + } + if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { + re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) + } + } + + that.Display(0, re) + }, + }, +} diff --git a/code/makecode.go b/code/makecode.go index 862ac59..561bf83 100644 --- a/code/makecode.go +++ b/code/makecode.go @@ -22,7 +22,7 @@ type MakeCode struct { Error } -func (that *MakeCode) Db2JSON(name string, path string, db *db.HoTimeDB) { +func (that *MakeCode) Db2JSON(name string, path string, db *db.HoTimeDB, makeCode bool) { isMake := false idSlice := Slice{} @@ -285,22 +285,25 @@ func (that *MakeCode) Db2JSON(name string, path string, db *db.HoTimeDB) { } - //创建模块文件 - //判断文件是否存在 - //_, err := os.OpenFile(name+"/"+v.GetString("name"), os.O_RDONLY, os.ModePerm) - _, err := os.Stat(name + "/" + v.GetString("name") + ".go") - if err != nil { //文件不存在,则根据模板创建 - myCtr := strings.Replace(CtrTpt, "{{name}}", name, -1) - myCtr = strings.Replace(myCtr, "{{table}}", v.GetString("name"), -1) - _ = os.MkdirAll(name, os.ModeDir) - err = ioutil.WriteFile(name+"/"+v.GetString("name")+".go", []byte(myCtr), os.ModePerm) - if err != nil { - that.Error.SetError(err) + if makeCode { + //创建模块文件 + //判断文件是否存在 + //_, err := os.OpenFile(name+"/"+v.GetString("name"), os.O_RDONLY, os.ModePerm) + _, err := os.Stat(name + "/" + v.GetString("name") + ".go") + if err != nil { //文件不存在,则根据模板创建 + myCtr := strings.Replace(CtrTpt, "{{name}}", name, -1) + myCtr = strings.Replace(myCtr, "{{table}}", v.GetString("name"), -1) + _ = os.MkdirAll(name, os.ModeDir) + err = ioutil.WriteFile(name+"/"+v.GetString("name")+".go", []byte(myCtr), os.ModePerm) + if err != nil { + that.Error.SetError(err) + } + isMake = true } - isMake = true - } - ctrList = ctrList + `"` + v.GetString("name") + `":` + v.GetString("name") + "Ctr,\r\n " + ctrList = ctrList + `"` + v.GetString("name") + `":` + v.GetString("name") + "Ctr,\r\n " + + } } @@ -490,13 +493,16 @@ func (that *MakeCode) Db2JSON(name string, path string, db *db.HoTimeDB) { fmt.Println(id, "---", that.Config.GetString("id")) that.Config["id"] = id - //init文件初始化 - myInit = strings.Replace(myInit, "{{id}}", id, -1) - myInit = strings.Replace(myInit, "{{tablesCtr}}", ctrList, -1) - _ = os.MkdirAll(name, os.ModeDir) - err = ioutil.WriteFile(name+"/init.go", []byte(myInit), os.ModePerm) - if err != nil { - that.Error.SetError(err) + + if makeCode { + //init文件初始化 + myInit = strings.Replace(myInit, "{{id}}", id, -1) + myInit = strings.Replace(myInit, "{{tablesCtr}}", ctrList, -1) + _ = os.MkdirAll(name, os.ModeDir) + err = ioutil.WriteFile(name+"/init.go", []byte(myInit), os.ModePerm) + if err != nil { + that.Error.SetError(err) + } } //写入配置文件 //var configByte bytes.Buffer @@ -509,6 +515,7 @@ func (that *MakeCode) Db2JSON(name string, path string, db *db.HoTimeDB) { } fmt.Println("有新的代码生成,请重新运行") os.Exit(-1) + } func (that *MakeCode) Info(table string, userData Map, db *db.HoTimeDB) (string, Map) { @@ -858,3 +865,7 @@ func (that *MakeCode) Search(table string, userData Map, req *http.Request, db * return reStr, leftJoin, where } + +func setListener() { + +} diff --git a/example/admin/admin.go b/example/admin/admin.go deleted file mode 100644 index 329beb2..0000000 --- a/example/admin/admin.go +++ /dev/null @@ -1,160 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" - "strings" -) - -var adminCtr = Ctr{ - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) - where := Map{"id": that.RouterString[2]} - - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - - re := that.Db.Get(that.RouterString[1], str, where) - - if re == nil { - that.Display(4, "找不到对应信息") - return - } - - for k, v := range re { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - "add": func(that *Context) { - inData := that.MakeCode.Add(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - - re := that.Db.Insert(that.RouterString[1], inData) - - if re == 0 { - that.Display(4, "无法插入对应数据") - return - } - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = index.GetString("index") + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } else if inData.GetString("index") != "" { - inData["index"] = "," + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) - parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," - - childNodes := that.Db.Select(that.RouterString[1], "id,`index`", Map{"index[~]": "," + that.RouterString[2] + ","}) - - for _, v := range childNodes { - v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) - that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) - } - - } - - re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "更新数据失败") - return - } - - that.Display(0, re) - }, - "remove": func(that *Context) { - inData := that.MakeCode.Delete(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - re := int64(0) - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { - re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) - } else { - re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - } - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, "删除成功") - }, - - "search": func(that *Context) { - - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - - page := ObjToInt(that.Req.FormValue("page")) - pageSize := ObjToInt(that.Req.FormValue("pageSize")) - - if page < 1 { - page = 1 - } - - if pageSize <= 0 { - pageSize = 20 - } - - count := that.Db.Count(that.RouterString[1], leftJoin, where) - reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1], leftJoin, columnStr, where) - - for _, v := range reData { - for k, _ := range v { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - - if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { - parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" - if parentC != nil { - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) - } - } - - } - } - - that.Display(0, Map{"count": count, "data": reData}) - }, -} diff --git a/example/admin/category.go b/example/admin/category.go deleted file mode 100644 index f49c8c7..0000000 --- a/example/admin/category.go +++ /dev/null @@ -1,160 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" - "strings" -) - -var categoryCtr = Ctr{ - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) - where := Map{"id": that.RouterString[2]} - - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - - re := that.Db.Get(that.RouterString[1], str, where) - - if re == nil { - that.Display(4, "找不到对应信息") - return - } - - for k, v := range re { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - "add": func(that *Context) { - inData := that.MakeCode.Add(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - - re := that.Db.Insert(that.RouterString[1], inData) - - if re == 0 { - that.Display(4, "无法插入对应数据") - return - } - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = index.GetString("index") + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } else if inData.GetString("index") != "" { - inData["index"] = "," + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) - parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," - - childNodes := that.Db.Select(that.RouterString[1], "id,`index`", Map{"index[~]": "," + that.RouterString[2] + ","}) - - for _, v := range childNodes { - v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) - that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) - } - - } - - re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "更新数据失败") - return - } - - that.Display(0, re) - }, - "remove": func(that *Context) { - inData := that.MakeCode.Delete(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - re := int64(0) - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { - re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) - } else { - re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - } - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, "删除成功") - }, - - "search": func(that *Context) { - - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - - page := ObjToInt(that.Req.FormValue("page")) - pageSize := ObjToInt(that.Req.FormValue("pageSize")) - - if page < 1 { - page = 1 - } - - if pageSize <= 0 { - pageSize = 20 - } - - count := that.Db.Count(that.RouterString[1], leftJoin, where) - reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1], leftJoin, columnStr, where) - - for _, v := range reData { - for k, _ := range v { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - - if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { - parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" - if parentC != nil { - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) - } - } - - } - } - - that.Display(0, Map{"count": count, "data": reData}) - }, -} diff --git a/example/admin/ctg_order_date.go b/example/admin/ctg_order_date.go deleted file mode 100644 index 13ad965..0000000 --- a/example/admin/ctg_order_date.go +++ /dev/null @@ -1,160 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" - "strings" -) - -var ctg_order_dateCtr = Ctr{ - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) - where := Map{"id": that.RouterString[2]} - - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - - re := that.Db.Get(that.RouterString[1], str, where) - - if re == nil { - that.Display(4, "找不到对应信息") - return - } - - for k, v := range re { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - "add": func(that *Context) { - inData := that.MakeCode.Add(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - - re := that.Db.Insert(that.RouterString[1], inData) - - if re == 0 { - that.Display(4, "无法插入对应数据") - return - } - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = index.GetString("index") + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } else if inData.GetString("index") != "" { - inData["index"] = "," + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) - parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," - - childNodes := that.Db.Select(that.RouterString[1], "id,`index`", Map{"index[~]": "," + that.RouterString[2] + ","}) - - for _, v := range childNodes { - v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) - that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) - } - - } - - re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "更新数据失败") - return - } - - that.Display(0, re) - }, - "remove": func(that *Context) { - inData := that.MakeCode.Delete(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - re := int64(0) - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { - re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) - } else { - re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - } - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, "删除成功") - }, - - "search": func(that *Context) { - - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - - page := ObjToInt(that.Req.FormValue("page")) - pageSize := ObjToInt(that.Req.FormValue("pageSize")) - - if page < 1 { - page = 1 - } - - if pageSize <= 0 { - pageSize = 20 - } - - count := that.Db.Count(that.RouterString[1], leftJoin, where) - reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1], leftJoin, columnStr, where) - - for _, v := range reData { - for k, _ := range v { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - - if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { - parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" - if parentC != nil { - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) - } - } - - } - } - - that.Display(0, Map{"count": count, "data": reData}) - }, -} diff --git a/example/admin/init.go b/example/admin/init.go deleted file mode 100644 index c0cbd6c..0000000 --- a/example/admin/init.go +++ /dev/null @@ -1,79 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" -) - -var ID = "61161bc80c283839d95c99900b8dbb35" - -// Project 管理端项目 -var Project = Proj{ - //"user": UserCtr, - "admin": adminCtr, - "category": categoryCtr, - "furnace_temperature": furnace_temperatureCtr, - "material": materialCtr, - "material_inout": material_inoutCtr, - "org": orgCtr, - "produce": produceCtr, - "produce_material": produce_materialCtr, - "produce_product": produce_productCtr, - "product": productCtr, - "product_line": product_lineCtr, - "product_spot_check": product_spot_checkCtr, - "role": roleCtr, - "user": userCtr, - - "hotime": Ctr{ - "login": func(this *Context) { - name := this.Req.FormValue("name") - password := this.Req.FormValue("password") - if name == "" || password == "" { - this.Display(3, "参数不足") - return - } - user := this.Db.Get("admin", "*", Map{"AND": Map{"OR": Map{"name": name, "phone": name}, "password": Md5(password)}}) - if user == nil { - this.Display(5, "登录失败") - return - } - this.Session("admin_id", user.GetCeilInt("id")) - this.Session("admin_name", name) - this.Display(0, this.SessionId) - }, - "logout": func(this *Context) { - this.Session("admin_id", nil) - this.Session("admin_name", nil) - this.Display(0, "退出登录成功") - }, - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info("admin", data, that.Db) - where := Map{"id": that.Session("admin_id").ToCeilInt()} - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - re := that.Db.Get("admin", str, where) - if re == nil { - that.Display(4, "找不到对应信息") - return - } - for k, v := range re { - column := that.MakeCode.TableColumns["admin"][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - }, -} diff --git a/example/admin/matter.go b/example/admin/matter.go deleted file mode 100644 index 140e54a..0000000 --- a/example/admin/matter.go +++ /dev/null @@ -1,160 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" - "strings" -) - -var matterCtr = Ctr{ - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) - where := Map{"id": that.RouterString[2]} - - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - - re := that.Db.Get(that.RouterString[1], str, where) - - if re == nil { - that.Display(4, "找不到对应信息") - return - } - - for k, v := range re { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - "add": func(that *Context) { - inData := that.MakeCode.Add(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - - re := that.Db.Insert(that.RouterString[1], inData) - - if re == 0 { - that.Display(4, "无法插入对应数据") - return - } - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = index.GetString("index") + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } else if inData.GetString("index") != "" { - inData["index"] = "," + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) - parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," - - childNodes := that.Db.Select(that.RouterString[1], "id,`index`", Map{"index[~]": "," + that.RouterString[2] + ","}) - - for _, v := range childNodes { - v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) - that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) - } - - } - - re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "更新数据失败") - return - } - - that.Display(0, re) - }, - "remove": func(that *Context) { - inData := that.MakeCode.Delete(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - re := int64(0) - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { - re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) - } else { - re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - } - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, "删除成功") - }, - - "search": func(that *Context) { - - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - - page := ObjToInt(that.Req.FormValue("page")) - pageSize := ObjToInt(that.Req.FormValue("pageSize")) - - if page < 1 { - page = 1 - } - - if pageSize <= 0 { - pageSize = 20 - } - - count := that.Db.Count(that.RouterString[1], leftJoin, where) - reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1], leftJoin, columnStr, where) - - for _, v := range reData { - for k, _ := range v { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - - if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { - parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" - if parentC != nil { - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) - } - } - - } - } - - that.Display(0, Map{"count": count, "data": reData}) - }, -} diff --git a/example/admin/matter_order.go b/example/admin/matter_order.go deleted file mode 100644 index 4304c81..0000000 --- a/example/admin/matter_order.go +++ /dev/null @@ -1,160 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" - "strings" -) - -var matter_orderCtr = Ctr{ - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) - where := Map{"id": that.RouterString[2]} - - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - - re := that.Db.Get(that.RouterString[1], str, where) - - if re == nil { - that.Display(4, "找不到对应信息") - return - } - - for k, v := range re { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - "add": func(that *Context) { - inData := that.MakeCode.Add(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - - re := that.Db.Insert(that.RouterString[1], inData) - - if re == 0 { - that.Display(4, "无法插入对应数据") - return - } - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = index.GetString("index") + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } else if inData.GetString("index") != "" { - inData["index"] = "," + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) - parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," - - childNodes := that.Db.Select(that.RouterString[1], "id,`index`", Map{"index[~]": "," + that.RouterString[2] + ","}) - - for _, v := range childNodes { - v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) - that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) - } - - } - - re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "更新数据失败") - return - } - - that.Display(0, re) - }, - "remove": func(that *Context) { - inData := that.MakeCode.Delete(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - re := int64(0) - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { - re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) - } else { - re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - } - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, "删除成功") - }, - - "search": func(that *Context) { - - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - - page := ObjToInt(that.Req.FormValue("page")) - pageSize := ObjToInt(that.Req.FormValue("pageSize")) - - if page < 1 { - page = 1 - } - - if pageSize <= 0 { - pageSize = 20 - } - - count := that.Db.Count(that.RouterString[1], leftJoin, where) - reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1], leftJoin, columnStr, where) - - for _, v := range reData { - for k, _ := range v { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - - if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { - parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" - if parentC != nil { - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) - } - } - - } - } - - that.Display(0, Map{"count": count, "data": reData}) - }, -} diff --git a/example/admin/order.go b/example/admin/order.go deleted file mode 100644 index 2209c57..0000000 --- a/example/admin/order.go +++ /dev/null @@ -1,160 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" - "strings" -) - -var orderCtr = Ctr{ - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) - where := Map{"id": that.RouterString[2]} - - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - - re := that.Db.Get(that.RouterString[1], str, where) - - if re == nil { - that.Display(4, "找不到对应信息") - return - } - - for k, v := range re { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - "add": func(that *Context) { - inData := that.MakeCode.Add(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - - re := that.Db.Insert(that.RouterString[1], inData) - - if re == 0 { - that.Display(4, "无法插入对应数据") - return - } - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = index.GetString("index") + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } else if inData.GetString("index") != "" { - inData["index"] = "," + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) - parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," - - childNodes := that.Db.Select(that.RouterString[1], "id,`index`", Map{"index[~]": "," + that.RouterString[2] + ","}) - - for _, v := range childNodes { - v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) - that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) - } - - } - - re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "更新数据失败") - return - } - - that.Display(0, re) - }, - "remove": func(that *Context) { - inData := that.MakeCode.Delete(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - re := int64(0) - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { - re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) - } else { - re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - } - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, "删除成功") - }, - - "search": func(that *Context) { - - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - - page := ObjToInt(that.Req.FormValue("page")) - pageSize := ObjToInt(that.Req.FormValue("pageSize")) - - if page < 1 { - page = 1 - } - - if pageSize <= 0 { - pageSize = 20 - } - - count := that.Db.Count(that.RouterString[1], leftJoin, where) - reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1], leftJoin, columnStr, where) - - for _, v := range reData { - for k, _ := range v { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - - if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { - parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" - if parentC != nil { - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) - } - } - - } - } - - that.Display(0, Map{"count": count, "data": reData}) - }, -} diff --git a/example/admin/org.go b/example/admin/org.go deleted file mode 100644 index 6da7efa..0000000 --- a/example/admin/org.go +++ /dev/null @@ -1,160 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" - "strings" -) - -var orgCtr = Ctr{ - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) - where := Map{"id": that.RouterString[2]} - - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - - re := that.Db.Get(that.RouterString[1], str, where) - - if re == nil { - that.Display(4, "找不到对应信息") - return - } - - for k, v := range re { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - "add": func(that *Context) { - inData := that.MakeCode.Add(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - - re := that.Db.Insert(that.RouterString[1], inData) - - if re == 0 { - that.Display(4, "无法插入对应数据") - return - } - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = index.GetString("index") + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } else if inData.GetString("index") != "" { - inData["index"] = "," + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) - parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," - - childNodes := that.Db.Select(that.RouterString[1], "id,`index`", Map{"index[~]": "," + that.RouterString[2] + ","}) - - for _, v := range childNodes { - v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) - that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) - } - - } - - re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "更新数据失败") - return - } - - that.Display(0, re) - }, - "remove": func(that *Context) { - inData := that.MakeCode.Delete(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - re := int64(0) - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { - re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) - } else { - re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - } - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, "删除成功") - }, - - "search": func(that *Context) { - - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - - page := ObjToInt(that.Req.FormValue("page")) - pageSize := ObjToInt(that.Req.FormValue("pageSize")) - - if page < 1 { - page = 1 - } - - if pageSize <= 0 { - pageSize = 20 - } - - count := that.Db.Count(that.RouterString[1], leftJoin, where) - reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1], leftJoin, columnStr, where) - - for _, v := range reData { - for k, _ := range v { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - - if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { - parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" - if parentC != nil { - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) - } - } - - } - } - - that.Display(0, Map{"count": count, "data": reData}) - }, -} diff --git a/example/admin/produce_product.go b/example/admin/produce_product.go deleted file mode 100644 index 7108db1..0000000 --- a/example/admin/produce_product.go +++ /dev/null @@ -1,160 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" - "strings" -) - -var produce_productCtr = Ctr{ - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) - where := Map{"id": that.RouterString[2]} - - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - - re := that.Db.Get(that.RouterString[1], str, where) - - if re == nil { - that.Display(4, "找不到对应信息") - return - } - - for k, v := range re { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - "add": func(that *Context) { - inData := that.MakeCode.Add(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - - re := that.Db.Insert(that.RouterString[1], inData) - - if re == 0 { - that.Display(4, "无法插入对应数据") - return - } - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = index.GetString("index") + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } else if inData.GetString("index") != "" { - inData["index"] = "," + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) - parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," - - childNodes := that.Db.Select(that.RouterString[1], "id,`index`", Map{"index[~]": "," + that.RouterString[2] + ","}) - - for _, v := range childNodes { - v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) - that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) - } - - } - - re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "更新数据失败") - return - } - - that.Display(0, re) - }, - "remove": func(that *Context) { - inData := that.MakeCode.Delete(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - re := int64(0) - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { - re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) - } else { - re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - } - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, "删除成功") - }, - - "search": func(that *Context) { - - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - - page := ObjToInt(that.Req.FormValue("page")) - pageSize := ObjToInt(that.Req.FormValue("pageSize")) - - if page < 1 { - page = 1 - } - - if pageSize <= 0 { - pageSize = 20 - } - - count := that.Db.Count(that.RouterString[1], leftJoin, where) - reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1], leftJoin, columnStr, where) - - for _, v := range reData { - for k, _ := range v { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - - if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { - parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" - if parentC != nil { - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) - } - } - - } - } - - that.Display(0, Map{"count": count, "data": reData}) - }, -} diff --git a/example/admin/product_line.go b/example/admin/product_line.go deleted file mode 100644 index 1dee5f9..0000000 --- a/example/admin/product_line.go +++ /dev/null @@ -1,160 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" - "strings" -) - -var product_lineCtr = Ctr{ - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) - where := Map{"id": that.RouterString[2]} - - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - - re := that.Db.Get(that.RouterString[1], str, where) - - if re == nil { - that.Display(4, "找不到对应信息") - return - } - - for k, v := range re { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - "add": func(that *Context) { - inData := that.MakeCode.Add(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - - re := that.Db.Insert(that.RouterString[1], inData) - - if re == 0 { - that.Display(4, "无法插入对应数据") - return - } - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = index.GetString("index") + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } else if inData.GetString("index") != "" { - inData["index"] = "," + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) - parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," - - childNodes := that.Db.Select(that.RouterString[1], "id,`index`", Map{"index[~]": "," + that.RouterString[2] + ","}) - - for _, v := range childNodes { - v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) - that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) - } - - } - - re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "更新数据失败") - return - } - - that.Display(0, re) - }, - "remove": func(that *Context) { - inData := that.MakeCode.Delete(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - re := int64(0) - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { - re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) - } else { - re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - } - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, "删除成功") - }, - - "search": func(that *Context) { - - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - - page := ObjToInt(that.Req.FormValue("page")) - pageSize := ObjToInt(that.Req.FormValue("pageSize")) - - if page < 1 { - page = 1 - } - - if pageSize <= 0 { - pageSize = 20 - } - - count := that.Db.Count(that.RouterString[1], leftJoin, where) - reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1], leftJoin, columnStr, where) - - for _, v := range reData { - for k, _ := range v { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - - if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { - parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" - if parentC != nil { - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) - } - } - - } - } - - that.Display(0, Map{"count": count, "data": reData}) - }, -} diff --git a/example/admin/role.go b/example/admin/role.go deleted file mode 100644 index d29d786..0000000 --- a/example/admin/role.go +++ /dev/null @@ -1,160 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" - "strings" -) - -var roleCtr = Ctr{ - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) - where := Map{"id": that.RouterString[2]} - - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - - re := that.Db.Get(that.RouterString[1], str, where) - - if re == nil { - that.Display(4, "找不到对应信息") - return - } - - for k, v := range re { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - "add": func(that *Context) { - inData := that.MakeCode.Add(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - - re := that.Db.Insert(that.RouterString[1], inData) - - if re == 0 { - that.Display(4, "无法插入对应数据") - return - } - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = index.GetString("index") + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } else if inData.GetString("index") != "" { - inData["index"] = "," + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) - parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," - - childNodes := that.Db.Select(that.RouterString[1], "id,`index`", Map{"index[~]": "," + that.RouterString[2] + ","}) - - for _, v := range childNodes { - v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) - that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) - } - - } - - re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "更新数据失败") - return - } - - that.Display(0, re) - }, - "remove": func(that *Context) { - inData := that.MakeCode.Delete(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - re := int64(0) - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { - re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) - } else { - re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - } - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, "删除成功") - }, - - "search": func(that *Context) { - - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - - page := ObjToInt(that.Req.FormValue("page")) - pageSize := ObjToInt(that.Req.FormValue("pageSize")) - - if page < 1 { - page = 1 - } - - if pageSize <= 0 { - pageSize = 20 - } - - count := that.Db.Count(that.RouterString[1], leftJoin, where) - reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1], leftJoin, columnStr, where) - - for _, v := range reData { - for k, _ := range v { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - - if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { - parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" - if parentC != nil { - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) - } - } - - } - } - - that.Display(0, Map{"count": count, "data": reData}) - }, -} diff --git a/example/admin/user.go b/example/admin/user.go deleted file mode 100644 index 12cbdf0..0000000 --- a/example/admin/user.go +++ /dev/null @@ -1,160 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" - "strings" -) - -var userCtr = Ctr{ - "info": func(that *Context) { - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db) - where := Map{"id": that.RouterString[2]} - - if len(inData) == 1 { - inData["id"] = where["id"] - where = Map{"AND": inData} - } else if len(inData) > 1 { - where["OR"] = inData - where = Map{"AND": where} - } - - re := that.Db.Get(that.RouterString[1], str, where) - - if re == nil { - that.Display(4, "找不到对应信息") - return - } - - for k, v := range re { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" { - re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - "add": func(that *Context) { - inData := that.MakeCode.Add(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - - re := that.Db.Insert(that.RouterString[1], inData) - - if re == 0 { - that.Display(4, "无法插入对应数据") - return - } - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = index.GetString("index") + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } else if inData.GetString("index") != "" { - inData["index"] = "," + ObjToStr(re) + "," - that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re}) - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetString("index") != "" { - Index := that.Db.Get(that.RouterString[1], "`index`", Map{"id": that.RouterString[2]}) - parentIndex := that.Db.Get(that.RouterString[1], "`index`", Map{"id": inData.Get("parent_id")}) - inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + "," - - childNodes := that.Db.Select(that.RouterString[1], "id,`index`", Map{"index[~]": "," + that.RouterString[2] + ","}) - - for _, v := range childNodes { - v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1) - that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")}) - } - - } - - re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "更新数据失败") - return - } - - that.Display(0, re) - }, - "remove": func(that *Context) { - inData := that.MakeCode.Delete(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "请求参数不足") - return - } - re := int64(0) - //索引管理,便于检索以及权限 - if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { - re = that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","}) - } else { - re = that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - } - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, "删除成功") - }, - - "search": func(that *Context) { - - data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()}) - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - - page := ObjToInt(that.Req.FormValue("page")) - pageSize := ObjToInt(that.Req.FormValue("pageSize")) - - if page < 1 { - page = 1 - } - - if pageSize <= 0 { - pageSize = 20 - } - - count := that.Db.Count(that.RouterString[1], leftJoin, where) - reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1], leftJoin, columnStr, where) - - for _, v := range reData { - for k, _ := range v { - column := that.MakeCode.TableColumns[that.RouterString[1]][k] - if column == nil { - continue - } - - if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" { - parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)}) - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = "" - if parentC != nil { - v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value")) - } - } - - } - } - - that.Display(0, Map{"count": count, "data": reData}) - }, -} diff --git a/example/app/material_inout.go b/example/app/material_inout.go index a498647..709a636 100644 --- a/example/app/material_inout.go +++ b/example/app/material_inout.go @@ -170,7 +170,7 @@ var material_inoutCtr = Ctr{ if pageSize <= 0 { pageSize = 10 } - columnStr := "material_inout.id,material_inout.material_id,material_inout.sn,material.name,material_inout.img,material_inout.count,material_inout.saved,material_inout.admin_id,admin.name AS admin_name,material_inout.modify_time,material_inout.state" + columnStr := "material_inout.id,material_inout.material_id,material.name,material_inout.img,material_inout.count,material_inout.saved,material_inout.admin_id,admin.name AS admin_name,material_inout.modify_time,material_inout.state" leftJoin := Map{"[><]material": "material_inout.material_id=material.id", "[><]admin": "material_inout.admin_id=admin.id", } diff --git a/example/app/product.go b/example/app/product.go index f31726c..4f86a6a 100644 --- a/example/app/product.go +++ b/example/app/product.go @@ -127,7 +127,7 @@ var productCtr = Ctr{ } leftJoin := Map{"[><]admin": "product.admin_id=admin.id"} - columnStr := "product.id,product.sn,product.name,product.img,product.count,product.used,product.saved,product.spot_check_count,product.admin_id,admin.name AS admin_name,product.modify_time,product.state" + columnStr := "product.id,product.name,product.img,product.count,product.used,product.saved,product.spot_check_count,product.admin_id,admin.name AS admin_name,product.modify_time,product.state" where := Map{"ORDER": "modify_time DESC"} count := that.Db.Count("product", where) reData := that.Db.Page(page, pageSize). diff --git a/example/config/config.json b/example/config/config.json index 0e31e49..4afb2c1 100644 --- a/example/config/config.json +++ b/example/config/config.json @@ -42,7 +42,7 @@ "4": "数据处理异常", "5": "数据结果异常" }, - "mode": 2, + "mode": 0, "port": "8080", "sessionName": "HOTIME", "tpt": "tpt" diff --git a/example/config/configNote.json b/example/config/configNote.json index 61a3f09..4e76af7 100644 --- a/example/config/configNote.json +++ b/example/config/configNote.json @@ -59,7 +59,7 @@ }, "logFile": "无默认,非必须,如果需要存储日志文件时使用,保存格式为:a/b/c/20060102150405.txt,将生成:a/b/c/年月日时分秒.txt,按需设置", "logLevel": "默认0,必须,0关闭,1打印,日志等级", - "mode": "默认0,非必须,0生产模式,1,测试模式,2,开发模式,在开发模式下会显示更多的数据用于开发测试,并能够辅助研发,自动生成配置文件、代码等功能,web无缓存,数据库不启用缓存", + "mode": "默认0,非必须,0生产模式,1,测试模式,2开发模式,3内嵌代码模式,在开发模式下会显示更多的数据用于开发测试,并能够辅助研发,自动生成配置文件、代码等功能,web无缓存,数据库不启用缓存", "modeRouterStrict": "默认false,必须,路由严格模式false,为大小写忽略必须匹配,true必须大小写匹配", "port": "默认80,必须,web服务开启Http端口,0为不启用http服务,默认80", "sessionName": "默认HOTIME,必须,设置session的cookie名", diff --git a/example/main.go b/example/main.go index 62e4a1e..9a36ab6 100644 --- a/example/main.go +++ b/example/main.go @@ -5,11 +5,9 @@ import ( "../../hotime/common" "../dri/ddsms" "../dri/tencent" - "./admin" "./app" "encoding/base64" "fmt" - "io" "io/ioutil" "net" "os" @@ -26,20 +24,6 @@ func main() { //RESTfull接口适配 appIns.SetConnectListener(func(context *hotime.Context) bool { - if len(context.RouterString) > 1 && context.RouterString[0] == "admin" { - if context.RouterString[1] == "hotime" && context.RouterString[2] == "login" { - return true - } - if context.RouterString[1] == "hotime" && context.RouterString[2] == "logout" { - return true - } - - if context.Session("admin_id").Data == nil { - context.Display(2, "你还没有登录") - return false - } - } - //文件上传接口 if len(context.RouterString) == 1 && context.RouterString[0] == "ocr" && context.Req.Method == "POST" { @@ -148,110 +132,7 @@ func main() { context.Display(0, data) return false } - - //文件上传接口 - if len(context.RouterString) == 1 && context.RouterString[0] == "file" && context.Req.Method == "POST" { - - //读取网络文件 - fi, fheader, err := context.Req.FormFile("file") - if err != nil { - context.Display(3, err) - return false - - } - filePath := context.Config.GetString("filePath") - if filePath == "" { - filePath = "file/2006/01/02/" - } - - path := time.Now().Format(filePath) - e := os.MkdirAll(context.Config.GetString("tpt")+"/"+path, os.ModeDir) - if e != nil { - context.Display(3, e) - return false - } - filePath = path + common.Md5(common.ObjToStr(common.RandX(100000, 9999999))) + fheader.Filename[strings.LastIndex(fheader.Filename, "."):] - newFile, e := os.Create(context.Config.GetString("tpt") + "/" + filePath) - - if e != nil { - context.Display(3, e) - return false - } - - _, e = io.Copy(newFile, fi) - - if e != nil { - context.Display(3, e) - return false - } - - context.Display(0, filePath) - return false - } - - if len(context.RouterString) < 2 || len(context.RouterString) > 3 || - !(context.Router[context.RouterString[0]] != nil && - context.Router[context.RouterString[0]][context.RouterString[1]] != nil) { - return true - } - //排除无效操作 - if len(context.RouterString) == 2 && - context.Req.Method != "GET" && - context.Req.Method != "POST" { - return true - } - //列表检索 - if len(context.RouterString) == 2 && - context.Req.Method == "GET" { - if context.Router[context.RouterString[0]][context.RouterString[1]]["search"] == nil { - return true - } - context.Router[context.RouterString[0]][context.RouterString[1]]["search"](context) - } - //新建 - if len(context.RouterString) == 2 && - context.Req.Method == "POST" { - if context.Router[context.RouterString[0]][context.RouterString[1]]["add"] == nil { - return true - } - context.Router[context.RouterString[0]][context.RouterString[1]]["add"](context) - } - if len(context.RouterString) == 3 && - context.Req.Method == "POST" { - return true - } - //查询单条 - if len(context.RouterString) == 3 && - context.Req.Method == "GET" { - - if context.Router[context.RouterString[0]][context.RouterString[1]]["info"] == nil { - return true - } - - context.Router[context.RouterString[0]][context.RouterString[1]]["info"](context) - } - //更新 - if len(context.RouterString) == 3 && - context.Req.Method == "PUT" { - - if context.Router[context.RouterString[0]][context.RouterString[1]]["update"] == nil { - return true - } - - context.Router[context.RouterString[0]][context.RouterString[1]]["update"](context) - } - //移除 - if len(context.RouterString) == 3 && - context.Req.Method == "DELETE" { - - if context.Router[context.RouterString[0]][context.RouterString[1]]["remove"] == nil { - return true - } - - context.Router[context.RouterString[0]][context.RouterString[1]]["remove"](context) - } - context.View() - return false + return true }) //makeCode := code.MakeCode{} @@ -261,8 +142,7 @@ func main() { } appIns.Run(hotime.Router{ - "admin": admin.Project, - "app": app.Project, + "app": app.Project, }) } func Process(conn net.Conn, appIns *hotime.Application) { diff --git a/var.go b/var.go index 004900d..7c2b1b1 100644 --- a/var.go +++ b/var.go @@ -10,7 +10,7 @@ var App = map[string]*Application{} //整个项目 //var Db = HoTimeDB{} //数据库实例 var Config = Map{ - "mode": 2, //模式 0生产模式,1,测试模式,2,开发模式 + "mode": 3, //模式 0生产模式,1,测试模式,2,开发模式,3,内嵌代码模式 "codeConfig": Map{ "admin": "config/app.json", }, @@ -51,7 +51,7 @@ var ConfigNote = Map{ "logFile": "无默认,非必须,如果需要存储日志文件时使用,保存格式为:a/b/c/20060102150405.txt,将生成:a/b/c/年月日时分秒.txt,按需设置", "webConnectLogShow": "默认true,非必须,访问日志如果需要web访问链接、访问ip、访问时间打印,false为关闭true开启此功能", "webConnectLogFile": "无默认,非必须,webConnectLogShow开启之后才能使用,如果需要存储日志文件时使用,保存格式为:a/b/c/20060102150405.txt,将生成:a/b/c/年月日时分秒.txt,按需设置", - "mode": "默认0,非必须,0生产模式,1,测试模式,2,开发模式,在开发模式下会显示更多的数据用于开发测试,并能够辅助研发,自动生成配置文件、代码等功能,web无缓存,数据库不启用缓存", //debug 0关闭1开启 + "mode": "默认0,非必须,0生产模式,1,测试模式,2开发模式,3内嵌代码模式,在开发模式下会显示更多的数据用于开发测试,并能够辅助研发,自动生成配置文件、代码等功能,web无缓存,数据库不启用缓存", //debug 0关闭1开启 "codeConfig": Map{ "注释": "配置即启用,非必须,默认无", //"package":"默认admin,必须,mode模式为2时会自动生成包文件夹和代码文件",