|
@@ -59,8 +59,23 @@ func init() {
|
|
|
v["delete"] = false
|
|
|
pid := Mgo.Save("versioninfo", v)
|
|
|
s_field := qu.ObjToString(v["s_field"])
|
|
|
+ //克隆属性配置
|
|
|
copyFieldRules(vid, pid, s_field, s_pversionid, s_username)
|
|
|
}
|
|
|
+ //克隆分包属性
|
|
|
+ list2, _ := Mgo.Find("pkg_info", `{"vid":"`+s_pversionid+`","delete":false}`, nil, nil, false, -1, -1)
|
|
|
+ for _, v := range *list2 {
|
|
|
+ delete(v, "_id")
|
|
|
+ v["l_createtime"] = time.Now().Unix()
|
|
|
+ v["s_username"] = sessions.Default(c).Get("username")
|
|
|
+ v["l_lasttime"] = time.Now().Unix()
|
|
|
+ v["vid"] = vid
|
|
|
+ v["delete"] = false
|
|
|
+ pid := Mgo.Save("pkg_info", v)
|
|
|
+ s_field := qu.ObjToString(v["s_field"])
|
|
|
+ //克隆属性配置
|
|
|
+ copyPkgRules(vid, pid, s_field, s_pversionid, s_username)
|
|
|
+ }
|
|
|
}
|
|
|
c.JSON(200, gin.H{"rep": true})
|
|
|
}
|
|
@@ -95,11 +110,16 @@ func init() {
|
|
|
//b := Mgo.Del("version", `{"_id":"`+_id+`"}`)
|
|
|
//级联删除
|
|
|
//刪除属性配置
|
|
|
+ //删除分包配置
|
|
|
//删除逻辑
|
|
|
//删除属性配置中的前置规则
|
|
|
//删除属性配置中的抽取规则
|
|
|
//删除属性配置中的后置规则
|
|
|
+
|
|
|
+ //刪除属性配置
|
|
|
go DelVersionInfo(_id)
|
|
|
+ //删除分包配置
|
|
|
+ go DelPkgInfo(_id)
|
|
|
//删除版本的通用前置规则
|
|
|
go DelRulePre(s_version)
|
|
|
//删除版本的通用后置规则
|
|
@@ -166,7 +186,7 @@ func init() {
|
|
|
Admin.GET("/version/pkginfo", func(c *gin.Context) {
|
|
|
vid := c.Query("vid")
|
|
|
c.HTML(
|
|
|
- http.StatusOK, "pkginfo.html",
|
|
|
+ http.StatusOK, "pkg_info.html",
|
|
|
gin.H{"vid": vid},
|
|
|
)
|
|
|
})
|
|
@@ -195,7 +215,8 @@ func init() {
|
|
|
pid := Mgo.Save("pkg_info", data)
|
|
|
fromvid, _ := data["s_pversionid"].(string)
|
|
|
if fromvid != "" {
|
|
|
- copyFieldRules(vid, pid, s_field, fromvid, sessions.Default(c).Get("username").(string))
|
|
|
+ //克隆分包属性
|
|
|
+ copyPkgRules(vid, pid, s_field, fromvid, sessions.Default(c).Get("username").(string))
|
|
|
}
|
|
|
c.JSON(200, gin.H{"rep": true})
|
|
|
}
|
|
@@ -207,6 +228,14 @@ func init() {
|
|
|
b := Mgo.UpdateById("pkg_info", _id, `{"$set":{"isuse":`+isuse+`}}`)
|
|
|
c.JSON(200, gin.H{"rep": b})
|
|
|
})
|
|
|
+ Admin.POST("/version/pkginfodel", func(c *gin.Context) {
|
|
|
+ _id, _ := c.GetPostForm("_id")
|
|
|
+ b := Mgo.UpdateById("pkg_info", _id, `{"$set":{"delete":true}}`)
|
|
|
+ v, _ := Mgo.FindById("pkg_info", _id, `{"vid":1}`)
|
|
|
+ go DelPkgLogic(qu.ObjToString((*v)["vid"]), _id)
|
|
|
+ //b := Mgo.Del("versioninfo", `{"_id":"`+_id+`"}`)
|
|
|
+ c.JSON(200, gin.H{"rep": b})
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
//克隆版本通用属性
|
|
@@ -265,61 +294,97 @@ func copyComRules(version, pvid, s_username string) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+func copyPkgRules(vid, pid, s_field, oldvid, s_username string) {
|
|
|
+ tmp, _ := Mgo.FindOne("pkg_info", `{"vid":"`+oldvid+`","s_field":"`+s_field+`","delete":false}`)
|
|
|
+ oldpid := qu.BsonIdToSId((*tmp)["_id"])
|
|
|
+ //克隆逻辑列表
|
|
|
+ logicList, _ := Mgo.Find("pkg_logic", `{"vid":"`+oldvid+`","pid":"`+oldpid+`","delete":false}`, `{"_id":1}`, nil, false, -1, -1)
|
|
|
+ for _, logic := range *logicList {
|
|
|
+ if len(logic) > 0 {
|
|
|
+ oldsid := qu.BsonIdToSId(logic["_id"])
|
|
|
+ delete(logic, "_id")
|
|
|
+ logic["vid"] = vid
|
|
|
+ logic["pid"] = pid
|
|
|
+ logic["l_createtime"] = time.Now().Unix()
|
|
|
+ logic["l_lasttime"] = time.Now().Unix()
|
|
|
+ logic["s_username"] = s_username
|
|
|
+ sid := Mgo.Save("pkg_logic", logic)
|
|
|
+ //克隆过滤规则
|
|
|
+ blist, _ := Mgo.Find("pkg_logicback", `{"sid":"`+oldsid+`","delete":false}`, `{"_id":1}`, nil, false, -1, -1)
|
|
|
+ for _, v := range *blist {
|
|
|
+ delete(v, "_id")
|
|
|
+ v["vid"] = vid
|
|
|
+ v["pid"] = pid
|
|
|
+ v["sid"] = sid
|
|
|
+ v["s_code"] = util.GetSyncIndex(getCode(v["s_code"].(string)))
|
|
|
+ v["s_username"] = s_username
|
|
|
+ v["l_createtime"] = time.Now().Unix()
|
|
|
+ v["l_lasttime"] = time.Now().Unix()
|
|
|
+ Mgo.Save("pkg_logicback", v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
//克隆版本Field
|
|
|
func copyFieldRules(vid, pid, s_field, oldvid, s_username string) {
|
|
|
tmp, _ := Mgo.FindOne("versioninfo", `{"vid":"`+oldvid+`","s_field":"`+s_field+`","delete":false}`)
|
|
|
oldpid := qu.BsonIdToSId((*tmp)["_id"])
|
|
|
//克隆逻辑列表
|
|
|
- logic, _ := Mgo.FindOne("rule_logic", `{"vid":"`+oldvid+`","pid":"`+oldpid+`","delete":false}`)
|
|
|
- if len(*logic) > 0 {
|
|
|
- oldsid := qu.BsonIdToSId((*logic)["_id"])
|
|
|
- delete(*logic, "_id")
|
|
|
- (*logic)["vid"] = vid
|
|
|
- (*logic)["pid"] = pid
|
|
|
- (*logic)["l_createtime"] = time.Now().Unix()
|
|
|
- (*logic)["l_lasttime"] = time.Now().Unix()
|
|
|
- (*logic)["s_username"] = s_username
|
|
|
- sid := Mgo.Save("rule_logic", logic)
|
|
|
- //克隆前置规则
|
|
|
- plist, _ := Mgo.Find("rule_logicpre", `{"sid":"`+oldsid+`","delete":false}`, nil, nil, false, -1, -1)
|
|
|
- for _, v := range *plist {
|
|
|
- delete(v, "_id")
|
|
|
- v["vid"] = vid
|
|
|
- v["pid"] = pid
|
|
|
- v["sid"] = sid
|
|
|
- v["s_code"] = util.GetSyncIndex(getCode(v["s_code"].(string)))
|
|
|
- v["s_username"] = s_username
|
|
|
- v["l_createtime"] = time.Now().Unix()
|
|
|
- v["l_lasttime"] = time.Now().Unix()
|
|
|
- Mgo.Save("rule_logicpre", v)
|
|
|
- }
|
|
|
- //克隆抽取规则
|
|
|
- elist, _ := Mgo.Find("rule_logicore", `{"sid":"`+oldsid+`","delete":false}`, nil, nil, false, -1, -1)
|
|
|
- for _, v := range *elist {
|
|
|
- delete(v, "_id")
|
|
|
- v["vid"] = vid
|
|
|
- v["pid"] = pid
|
|
|
- v["sid"] = sid
|
|
|
- v["s_code"] = util.GetSyncIndex(getCode(v["s_code"].(string)))
|
|
|
- v["s_username"] = s_username
|
|
|
- v["l_createtime"] = time.Now().Unix()
|
|
|
- v["l_lasttime"] = time.Now().Unix()
|
|
|
- Mgo.Save("rule_logicore", v)
|
|
|
- }
|
|
|
- //克隆过滤规则
|
|
|
- blist, _ := Mgo.Find("rule_logicback", `{"sid":"`+oldsid+`","delete":false}`, nil, nil, false, -1, -1)
|
|
|
- for _, v := range *blist {
|
|
|
- delete(v, "_id")
|
|
|
- v["vid"] = vid
|
|
|
- v["pid"] = pid
|
|
|
- v["sid"] = sid
|
|
|
- v["s_code"] = util.GetSyncIndex(getCode(v["s_code"].(string)))
|
|
|
- v["s_username"] = s_username
|
|
|
- v["l_createtime"] = time.Now().Unix()
|
|
|
- v["l_lasttime"] = time.Now().Unix()
|
|
|
- Mgo.Save("rule_logicback", v)
|
|
|
+ logicList, _ := Mgo.Find("rule_logic", `{"vid":"`+oldvid+`","pid":"`+oldpid+`","delete":false}`, `{"_id":1}`, nil, false, -1, -1)
|
|
|
+ for _, logic := range *logicList {
|
|
|
+ if len(logic) > 0 {
|
|
|
+ oldsid := qu.BsonIdToSId(logic["_id"])
|
|
|
+ delete(logic, "_id")
|
|
|
+ logic["vid"] = vid
|
|
|
+ logic["pid"] = pid
|
|
|
+ logic["l_createtime"] = time.Now().Unix()
|
|
|
+ logic["l_lasttime"] = time.Now().Unix()
|
|
|
+ logic["s_username"] = s_username
|
|
|
+ sid := Mgo.Save("rule_logic", logic)
|
|
|
+ //克隆前置规则
|
|
|
+ plist, _ := Mgo.Find("rule_logicpre", `{"sid":"`+oldsid+`","delete":false}`, nil, nil, false, -1, -1)
|
|
|
+ for _, v := range *plist {
|
|
|
+ delete(v, "_id")
|
|
|
+ v["vid"] = vid
|
|
|
+ v["pid"] = pid
|
|
|
+ v["sid"] = sid
|
|
|
+ v["s_code"] = util.GetSyncIndex(getCode(v["s_code"].(string)))
|
|
|
+ v["s_username"] = s_username
|
|
|
+ v["l_createtime"] = time.Now().Unix()
|
|
|
+ v["l_lasttime"] = time.Now().Unix()
|
|
|
+ Mgo.Save("rule_logicpre", v)
|
|
|
+ }
|
|
|
+ //克隆抽取规则
|
|
|
+ elist, _ := Mgo.Find("rule_logicore", `{"sid":"`+oldsid+`","delete":false}`, nil, nil, false, -1, -1)
|
|
|
+ for _, v := range *elist {
|
|
|
+ delete(v, "_id")
|
|
|
+ v["vid"] = vid
|
|
|
+ v["pid"] = pid
|
|
|
+ v["sid"] = sid
|
|
|
+ v["s_code"] = util.GetSyncIndex(getCode(v["s_code"].(string)))
|
|
|
+ v["s_username"] = s_username
|
|
|
+ v["l_createtime"] = time.Now().Unix()
|
|
|
+ v["l_lasttime"] = time.Now().Unix()
|
|
|
+ Mgo.Save("rule_logicore", v)
|
|
|
+ }
|
|
|
+ //克隆过滤规则
|
|
|
+ blist, _ := Mgo.Find("rule_logicback", `{"sid":"`+oldsid+`","delete":false}`, nil, nil, false, -1, -1)
|
|
|
+ for _, v := range *blist {
|
|
|
+ delete(v, "_id")
|
|
|
+ v["vid"] = vid
|
|
|
+ v["pid"] = pid
|
|
|
+ v["sid"] = sid
|
|
|
+ v["s_code"] = util.GetSyncIndex(getCode(v["s_code"].(string)))
|
|
|
+ v["s_username"] = s_username
|
|
|
+ v["l_createtime"] = time.Now().Unix()
|
|
|
+ v["l_lasttime"] = time.Now().Unix()
|
|
|
+ Mgo.Save("rule_logicback", v)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//获取代码
|