diff --git a/example/admin/ctg_order_date.go b/example/admin/ctg_order_date.go new file mode 100644 index 0000000..13ad965 --- /dev/null +++ b/example/admin/ctg_order_date.go @@ -0,0 +1,160 @@ +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/matter.go b/example/admin/matter.go new file mode 100644 index 0000000..140e54a --- /dev/null +++ b/example/admin/matter.go @@ -0,0 +1,160 @@ +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 new file mode 100644 index 0000000..4304c81 --- /dev/null +++ b/example/admin/matter_order.go @@ -0,0 +1,160 @@ +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 new file mode 100644 index 0000000..2209c57 --- /dev/null +++ b/example/admin/order.go @@ -0,0 +1,160 @@ +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/app/material.go b/example/app/material.go index 865cead..474871c 100644 --- a/example/app/material.go +++ b/example/app/material.go @@ -161,7 +161,7 @@ var materialCtr = Ctr{ } qrcode := data.GetSlice("qrcode") for k, _ := range qrcode { - v := texts.GetString(k) + v := qrcode.GetString(k) if len(v) < 4 { continue } diff --git a/example/myhs.exe b/example/myhs.exe index cce0860..d1cc3c2 100644 Binary files a/example/myhs.exe and b/example/myhs.exe differ