diff --git a/code/config.go b/code/config.go index d0088c8..9843395 100644 --- a/code/config.go +++ b/code/config.go @@ -8,6 +8,7 @@ var Config = Map{ "name": "HoTimeDashBoard", "id": "2f92h3herh23rh2y8", "label": "HoTime管理平台", + "menus": []Map{ {"label": "平台首页", "name": "HelloWorld", "icon": "el-icon-s-home"}, //{"label": "测试表格", "table": "table", "icon": "el-icon-suitcase"}, @@ -56,6 +57,7 @@ var ColumnNameType = []ColumnShow{ //通用 {"idcard", false, true, true, false, "", false}, {"id", true, false, true, false, "", true}, + {"parent_id", true, true, true, false, "", true}, //"sn"{true,true,true,""}, {"status", true, true, true, false, "select", false}, {"state", false, true, true, false, "select", false}, diff --git a/code/makecode.go b/code/makecode.go index 1ef615a..9354c4b 100644 --- a/code/makecode.go +++ b/code/makecode.go @@ -496,12 +496,46 @@ func (that *MakeCode) Db2JSON(name string, path string, db *db.HoTimeDB) { os.Exit(-1) } -func (that *MakeCode) Info(table string) string { +func (that *MakeCode) Info(table string, userData Map, db *db.HoTimeDB) (string, Map) { reStr := "" + data := Map{} + var ruleData Map for _, v := range that.TableColumns[table] { if v == nil { continue } + //准备加入索引权限 + if v.GetString("link") != "" && + userData != nil && + that.TableColumns[v.GetString("link")]["parent_id"] != nil { + //初始化ruleData + if ruleData == nil { + ruleData = Map{} + for _, v := range that.TableColumns["admin"] { + if v.GetString("link") != "" && + v.GetString("name") != "parent_id" && + userData.Get(v.GetString("name")) != nil { + ruleData[v.GetString("link")] = userData.Get(v.GetString("name")) + } + } + } + if ruleData[v.GetString("link")] != nil { + + if v.GetString("name") == "parent_id" { + data["index[~]"] = "," + ruleData.GetString(v.GetString("link")) + "," + + } else { + idMap := db.Select(v.GetString("link"), "id", Map{"index[~]": ruleData.GetCeilInt(v.GetString("link"))}) + ids := Slice{ruleData.GetCeilInt(v.GetString("link"))} + for _, v := range idMap { + ids = append(ids, v.GetCeilInt("id")) + } + data[v.GetString("name")] = ids + } + + } + } + if v.Get("info") == nil || v.GetBool("info") { reStr += "`" + v.GetString("name") + "`," } @@ -509,13 +543,17 @@ func (that *MakeCode) Info(table string) string { if len(reStr) != 0 { reStr = reStr[:len(reStr)-1] } - return reStr + return reStr, data } func (that *MakeCode) Add(table string, req *http.Request) Map { data := Map{} for _, v := range that.TableColumns[table] { //不可使用,未在前端展示,但在内存中保持有 if v.GetBool("notUse") { + if v.GetString("type") == "index" && that.TableColumns[table]["parent_id"] != nil { + data[v.GetString("name")] = Slice{} + } + continue } if v.Get("add") == nil || v.GetBool("add") { @@ -554,8 +592,12 @@ func (that *MakeCode) Edit(table string, req *http.Request) Map { for _, v := range that.TableColumns[table] { //不可使用,未在前端展示,但在内存中保持有 if v.GetBool("notUse") { + if v.GetString("type") == "index" && that.TableColumns[table]["parent_id"] != nil { + data[v.GetString("name")] = Slice{} + } continue } + if v.Get("edit") == nil || v.GetBool("edit") { reqValue := req.FormValue(v.GetString("name")) if reqValue == "" || reqValue == "null" { @@ -578,19 +620,40 @@ func (that *MakeCode) Edit(table string, req *http.Request) Map { return data } +func (that *MakeCode) Delete(table string, req *http.Request) Map { + data := Map{} + for _, v := range that.TableColumns[table] { + //不可使用,未在前端展示,但在内存中保持有 + if v.GetBool("notUse") { + if v.GetString("type") == "index" && that.TableColumns[table]["parent_id"] != nil { + data[v.GetString("name")] = Slice{} + } + continue + } -func (that *MakeCode) Search(table string, req *http.Request, db *db.HoTimeDB) (string, Map, Map) { + } + + if len(data) == 0 { + return nil + } + + return data +} + +func (that *MakeCode) Search(table string, userData Map, req *http.Request, db *db.HoTimeDB) (string, Map, Map) { reStr := "" leftJoin := Map{} data := Map{} keyword := Map{} daterange := Map{} sort := Map{} + var ruleData Map keywordStr := req.FormValue("keyword") for _, v := range that.TableColumns[table] { //不可使用,未在前端展示,但在内存中保持有 if v.GetBool("notUse") { + continue } if v["list"] != false { @@ -605,12 +668,44 @@ func (that *MakeCode) Search(table string, req *http.Request, db *db.HoTimeDB) ( leftJoin["[>]"+v.GetString("link")] = table + "." + v.GetString("name") + "=" + v.GetString("link") + ".id" - //准备加入索引 } else { reStr += table + "." + v.GetString("name") + "," } + //准备加入索引权限 + if v.GetString("link") != "" && + userData != nil && + that.TableColumns[v.GetString("link")]["parent_id"] != nil { + //初始化ruleData + if ruleData == nil { + ruleData = Map{} + for _, v := range that.TableColumns["admin"] { + if v.GetString("link") != "" && + v.GetString("name") != "parent_id" && + userData.Get(v.GetString("name")) != nil { + ruleData[v.GetString("link")] = userData.Get(v.GetString("name")) + } + } + } + if ruleData[v.GetString("link")] != nil { + + if v.GetString("name") == "parent_id" { + data[table+".index[~]"] = "," + ruleData.GetString(v.GetString("link")) + "," + + } else { + idMap := db.Select(v.GetString("link"), "id", Map{"index[~]": ruleData.GetCeilInt(v.GetString("link"))}) + ids := Slice{ruleData.GetCeilInt(v.GetString("link"))} + for _, v := range idMap { + ids = append(ids, v.GetCeilInt("id")) + } + data[table+"."+v.GetString("name")] = ids + } + + } + + } + if keywordStr != "" { if v.GetString("type") == "text" { keyword[table+"."+v.GetString("name")+"[~]"] = keywordStr @@ -672,7 +767,8 @@ func (that *MakeCode) Search(table string, req *http.Request, db *db.HoTimeDB) ( if searchItemName == "parent_id" { parentID := ObjToInt(req.FormValue("parent_id")) if parentID == 0 { - data["OR"] = Map{table + ".parent_id[#]": 0, table + ".parent_id": nil} + parentID = userData.GetCeilInt(table + "_id") + data["OR"] = Map{table + ".id": parentID, table + ".parent_id": nil} } else { data[table+".parent_id"] = parentID } diff --git a/code/template.go b/code/template.go index 05a6de0..23a4b1b 100644 --- a/code/template.go +++ b/code/template.go @@ -36,21 +36,28 @@ var Project = Proj{ this.Display(0, "退出登录成功") }, "info": func(that *Context) { - re := that.Db.Get("admin", that.MakeCode.Info("admin"), Map{"id": that.Session("admin_id").ToCeilInt()}) - + 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"), column.GetString("value"), Map{"id": v}) + re[column.GetString("link")] = that.Db.Get(column.GetString("link"),"id," +column.GetString("value"), Map{"id": v}) } } @@ -64,11 +71,24 @@ var CtrTpt = `package {{name}} import ( . "../../../hotime" . "../../../hotime/common" + "strings" ) var {{table}}Ctr = Ctr{ "info": func(that *Context) { - re := that.Db.Get(that.RouterString[1], that.MakeCode.Info(that.RouterString[1]), Map{"id": that.RouterString[2]}) + 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, "找不到对应信息") @@ -76,13 +96,12 @@ var {{table}}Ctr = Ctr{ } for k, v := range re { - - column:=that.MakeCode.TableColumns[that.RouterString[1]][k] - if column==nil{ + 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"), column.GetString("value"), Map{"id": v}) + 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}) } } @@ -94,12 +113,20 @@ var {{table}}Ctr = Ctr{ 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.GetSlice("index") != nil { + 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}) + } that.Display(0, re) }, @@ -109,6 +136,22 @@ var {{table}}Ctr = Ctr{ that.Display(3, "没有找到要更新的数据") return } + + //索引管理,便于检索以及权限 + if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil { + 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 { @@ -119,54 +162,66 @@ var {{table}}Ctr = Ctr{ that.Display(0, re) }, "remove": func(that *Context) { - re := that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) + 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, re) + 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], that.Req,that.Db) - page:=ObjToInt(that.Req.FormValue("page")) - pageSize:=ObjToInt(that.Req.FormValue("pageSize")) + columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db) - if page<1{ - page=1 + page := ObjToInt(that.Req.FormValue("page")) + pageSize := ObjToInt(that.Req.FormValue("pageSize")) + + if page < 1 { + page = 1 } - if pageSize<=0{ - pageSize=20 + if pageSize <= 0 { + pageSize = 20 } - count:=that.Db.Count(that.RouterString[1],leftJoin,where) + count := that.Db.Count(that.RouterString[1], leftJoin, where) reData := that.Db.Page(page, pageSize). - PageSelect(that.RouterString[1],leftJoin,columnStr, where) - + 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{ + column := that.MakeCode.TableColumns[that.RouterString[1]][k] + if column == nil { continue } - if column["list"]!=false&&column["name"]=="parent_id"&&column.GetString("link")!=""{ + 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")) + 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}) + + that.Display(0, Map{"count": count, "data": reData}) }, } ` diff --git a/example/admin/admin.go b/example/admin/admin.go deleted file mode 100644 index 769b776..0000000 --- a/example/admin/admin.go +++ /dev/null @@ -1,107 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" -) - -var adminCtr = Ctr{ - "info": func(that *Context) { - re := that.Db.Get(that.RouterString[1], that.MakeCode.Info(that.RouterString[1]), Map{"id": that.RouterString[2]}) - - 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"), 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 - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - 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) { - re := that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, re) - }, - "search": func(that *Context) { - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], 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/cached.go b/example/admin/cached.go deleted file mode 100644 index 99aaccc..0000000 --- a/example/admin/cached.go +++ /dev/null @@ -1,107 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" -) - -var cachedCtr = Ctr{ - "info": func(that *Context) { - re := that.Db.Get(that.RouterString[1], that.MakeCode.Info(that.RouterString[1]), Map{"id": that.RouterString[2]}) - - 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"), 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 - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - 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) { - re := that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, re) - }, - "search": func(that *Context) { - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], 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 46e82c6..0000000 --- a/example/admin/category.go +++ /dev/null @@ -1,107 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" -) - -var categoryCtr = Ctr{ - "info": func(that *Context) { - re := that.Db.Get(that.RouterString[1], that.MakeCode.Info(that.RouterString[1]), Map{"id": that.RouterString[2]}) - - 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"), 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 - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - 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) { - re := that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, re) - }, - "search": func(that *Context) { - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], 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 0e58a9c..0000000 --- a/example/admin/ctg_order_date.go +++ /dev/null @@ -1,107 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" -) - -var ctg_order_dateCtr = Ctr{ - "info": func(that *Context) { - re := that.Db.Get(that.RouterString[1], that.MakeCode.Info(that.RouterString[1]), Map{"id": that.RouterString[2]}) - - 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"), 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 - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - 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) { - re := that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, re) - }, - "search": func(that *Context) { - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], 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 892b5e7..0000000 --- a/example/admin/init.go +++ /dev/null @@ -1,65 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" -) - -var ID = "7d33119d7fef7daa5b9be2e1c75e5392" - -// Project 管理端项目 -var Project = Proj{ - //"user": UserCtr, - "admin": adminCtr, - "category": categoryCtr, - "ctg_order_date": ctg_order_dateCtr, - "order": orderCtr, - "org": orgCtr, - "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{"name": 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) { - re := that.Db.Get("admin", that.MakeCode.Info("admin"), Map{"id": that.Session("admin_id").ToCeilInt()}) - - 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"), column.GetString("value"), Map{"id": v}) - } - } - - that.Display(0, re) - }, - }, -} diff --git a/example/admin/order.go b/example/admin/order.go deleted file mode 100644 index 4f8bdaa..0000000 --- a/example/admin/order.go +++ /dev/null @@ -1,107 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" -) - -var orderCtr = Ctr{ - "info": func(that *Context) { - re := that.Db.Get(that.RouterString[1], that.MakeCode.Info(that.RouterString[1]), Map{"id": that.RouterString[2]}) - - 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"), 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 - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - 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) { - re := that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, re) - }, - "search": func(that *Context) { - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], 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 6111eca..0000000 --- a/example/admin/org.go +++ /dev/null @@ -1,107 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" -) - -var orgCtr = Ctr{ - "info": func(that *Context) { - re := that.Db.Get(that.RouterString[1], that.MakeCode.Info(that.RouterString[1]), Map{"id": that.RouterString[2]}) - - 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"), 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 - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - 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) { - re := that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, re) - }, - "search": func(that *Context) { - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], 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 b2e31cb..0000000 --- a/example/admin/role.go +++ /dev/null @@ -1,107 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" -) - -var roleCtr = Ctr{ - "info": func(that *Context) { - re := that.Db.Get(that.RouterString[1], that.MakeCode.Info(that.RouterString[1]), Map{"id": that.RouterString[2]}) - - 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"), 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 - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - 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) { - re := that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, re) - }, - "search": func(that *Context) { - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], 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 1918b28..0000000 --- a/example/admin/user.go +++ /dev/null @@ -1,107 +0,0 @@ -package admin - -import ( - . "../../../hotime" - . "../../../hotime/common" -) - -var userCtr = Ctr{ - "info": func(that *Context) { - re := that.Db.Get(that.RouterString[1], that.MakeCode.Info(that.RouterString[1]), Map{"id": that.RouterString[2]}) - - 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"), 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 - } - - that.Display(0, re) - }, - "update": func(that *Context) { - inData := that.MakeCode.Edit(that.RouterString[1], that.Req) - if inData == nil { - that.Display(3, "没有找到要更新的数据") - return - } - 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) { - re := that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]}) - - if re == 0 { - that.Display(4, "删除数据失败") - return - } - that.Display(0, re) - }, - "search": func(that *Context) { - - columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], 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/bzyy.exe b/example/bzyy.exe index 31c4466..13771bd 100644 Binary files a/example/bzyy.exe and b/example/bzyy.exe differ