开始新增代码生成配置2.0功能,配置文件格式规定完成
This commit is contained in:
+101
-5
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user