|
@@ -64,7 +64,7 @@ func init() {
|
|
|
if s_pversionid != "" {
|
|
|
copyComRules(version, s_pversionid, s_username, false)
|
|
|
if iscopysite {
|
|
|
- scopySites(version,s_pversionid,s_username , true)
|
|
|
+ scopySites(version, s_pversionid, s_username, true, vid)
|
|
|
}
|
|
|
}
|
|
|
if iscopyfiled {
|
|
@@ -80,9 +80,6 @@ func init() {
|
|
|
s_field := qu.ObjToString(v["s_field"])
|
|
|
//克隆属性配置
|
|
|
copyFieldRules(vid, pid, s_field, s_pversionid, s_username, false)
|
|
|
- if iscopysite {
|
|
|
- copyFieldRules(vid, pid, s_field, s_pversionid, s_username, true)
|
|
|
- }
|
|
|
}
|
|
|
//克隆分包属性
|
|
|
list2, _ := Mgo.Find("pkg_info", `{"vid":"`+s_pversionid+`","delete":false}`, nil, nil, false, -1, -1)
|
|
@@ -137,23 +134,26 @@ func init() {
|
|
|
//删除属性配置中的前置规则
|
|
|
//删除属性配置中的抽取规则
|
|
|
//删除属性配置中的后置规则
|
|
|
-
|
|
|
//刪除属性配置
|
|
|
- go DelVersionInfo(_id,false)
|
|
|
- go DelVersionInfo(_id,true)//站点
|
|
|
+ go DelVersionInfo(_id, false)
|
|
|
+ go DelVersionInfo(_id, true)
|
|
|
+ //站点删除
|
|
|
+ go func(_id string) {
|
|
|
+ Mgo.Del("site_management",bson.M{"vid":_id})
|
|
|
+ }(_id)
|
|
|
//删除分包配置
|
|
|
go DelPkgInfo(_id)
|
|
|
//删除版本的通用前置规则
|
|
|
go DelRulePre(s_version)
|
|
|
//删除版本的通用后置规则
|
|
|
- go DelRuleBack(s_version,false)
|
|
|
- go DelRuleBack(s_version,true)
|
|
|
+ go DelRuleBack(s_version, false)
|
|
|
+ go DelRuleBack(s_version, true)
|
|
|
//删除标签库
|
|
|
- go DelTag(s_version,false)
|
|
|
- go DelTag(s_version,true)
|
|
|
+ go DelTag(s_version, false)
|
|
|
+ go DelTag(s_version, true)
|
|
|
//删除版本的通用前置规则
|
|
|
- go DelCleanUp(s_version,false)
|
|
|
- go DelCleanUp(s_version,true)
|
|
|
+ go DelCleanUp(s_version, false)
|
|
|
+ go DelCleanUp(s_version, true)
|
|
|
c.JSON(200, gin.H{"rep": b})
|
|
|
})
|
|
|
Admin.GET("/version/info", func(c *gin.Context) {
|
|
@@ -504,20 +504,19 @@ func init() {
|
|
|
func copyComRules(version, pvid, s_username string, isSite bool) {
|
|
|
var versiondb, rule_predb, rule_backdb, tagdb, tagdetailinfodb, cleanupdb string
|
|
|
if isSite {
|
|
|
- versiondb = "site_version"
|
|
|
rule_predb = "site_rule_pre"
|
|
|
rule_backdb = "site_rule_back"
|
|
|
tagdb = "site_tag"
|
|
|
tagdetailinfodb = "site_tagdetailinfo"
|
|
|
cleanupdb = "site_cleanup"
|
|
|
} else {
|
|
|
- versiondb = "version"
|
|
|
rule_predb = "rule_pre"
|
|
|
rule_backdb = "rule_back"
|
|
|
tagdb = "tag"
|
|
|
tagdetailinfodb = "tagdetailinfo"
|
|
|
cleanupdb = "cleanup"
|
|
|
}
|
|
|
+ versiondb = "version"
|
|
|
tmp, _ := Mgo.FindById(versiondb, pvid, nil)
|
|
|
oldversion := (*tmp)["version"].(string)
|
|
|
//克隆前置规则
|
|
@@ -607,6 +606,7 @@ func copyPkgRules(vid, pid, s_field, oldvid, s_username string) {
|
|
|
|
|
|
//克隆版本Field
|
|
|
func copyFieldRules(vid, pid, s_field, oldvid, s_username string, isSite bool) {
|
|
|
+ log.Println(vid, pid, s_field, oldvid, s_username)
|
|
|
var versioninfo, rule_logic, rule_logicpre, rule_logicore, rule_logicback string
|
|
|
if isSite {
|
|
|
versioninfo = "site_versioninfo"
|
|
@@ -698,8 +698,38 @@ func copyClearRuleLogic(vid, pid, s_field, oldvid, s_username string) {
|
|
|
}
|
|
|
|
|
|
//站点克隆
|
|
|
-func scopySites(version, pvid, s_username string, isSite bool) {
|
|
|
- copyComRules(version, pvid, s_username, true)
|
|
|
+func scopySites(version, pvid, s_username string, isSite bool, newVersionId string) {
|
|
|
+ log.Println(version, pvid, s_username, isSite, newVersionId)
|
|
|
+ //站点克隆
|
|
|
+ sites, _ := Mgo.Find("site_management", bson.M{"vid": pvid}, nil, bson.M{}, false, -1, -1)
|
|
|
+ for _, v := range *sites {
|
|
|
+ oldSiteID := v["_id"].(bson.ObjectId).Hex()
|
|
|
+ delete(v, "_id")
|
|
|
+ v["vid"] = newVersionId
|
|
|
+ v["version"] = version
|
|
|
+ //存储站点克隆
|
|
|
+ newSiteId := Mgo.Save("site_management", v)
|
|
|
+ //属性克隆
|
|
|
+ infos, _ := Mgo.Find("site_versioninfo", bson.M{"vid": pvid, "pid": oldSiteID}, nil, bson.M{}, false, -1, -1)
|
|
|
+ for _, vv := range *infos {
|
|
|
+ delete(vv, "_id")
|
|
|
+ vv["l_createtime"] = time.Now().Unix()
|
|
|
+ vv["s_username"] = s_username
|
|
|
+ vv["l_lasttime"] = time.Now().Unix()
|
|
|
+ vv["vid"] = newVersionId
|
|
|
+ vv["delete"] = false
|
|
|
+ vv["pid"] = newSiteId
|
|
|
+ pid := Mgo.Save("site_versioninfo", vv)
|
|
|
+ s_field := qu.ObjToString(vv["s_field"])
|
|
|
+ //克隆属性配置
|
|
|
+ if isSite {
|
|
|
+ copyFieldRules(newVersionId, pid, s_field, pvid, s_username, true)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ //后置规则克隆
|
|
|
+ copyComRules(version,pvid,s_username,true)
|
|
|
}
|
|
|
|
|
|
//获取代码
|