unknown hace 6 años
padre
commit
4fbd7baa13

+ 36 - 1
src/jy/admin/rule.go

@@ -76,6 +76,12 @@ func init() {
 	})
 	Admin.POST("/pkglogic/data", PkgLogicData)
 	Admin.POST("/pkglogic/save", PkgLogicSave)
+	Admin.POST("/pkgrulelogic/del", func(c *gin.Context) {
+		_id, _ := c.GetPostForm("_id")
+		b := Mgo.UpdateById("pkg_logic", _id, `{"$set":{"delete":true}}`)
+		go DelPkgLogicBack(_id)
+		c.JSON(200, gin.H{"rep": b})
+	})
 	Admin.POST("/pkglogic/use", PkgLogicUse)
 
 	Admin.GET("/logicpre", func(c *gin.Context) {
@@ -122,6 +128,8 @@ func init() {
 	})
 	Admin.POST("/pkglogicback/data", PkgLogicBackData)
 	Admin.POST("/pkglogicback/save", PkgLogicBackSave)
+	Admin.POST("/pkglogicback/del", PkgRuleLogicBackDel)
+
 	//ruletag
 	//	Admin.GET("/ruletag", func(c *gin.Context) {
 	//		version := c.Query("version")
@@ -407,10 +415,15 @@ func PkgLogicBackSave(c *gin.Context) {
 }
 func RuleLogicBackDel(c *gin.Context) {
 	_id, _ := c.GetPostForm("_id")
-	//b := Mgo.Del("rule_logicback", `{"_id":"`+_id+`"}`)
 	b := Mgo.UpdateById("rule_logicback", _id, `{"$set":{"delete":true}}`)
 	c.JSON(200, gin.H{"rep": b})
 }
+
+func PkgRuleLogicBackDel(c *gin.Context) {
+	_id, _ := c.GetPostForm("_id")
+	b := Mgo.UpdateById("pkg_logicback", _id, `{"$set":{"delete":true}}`)
+	c.JSON(200, gin.H{"rep": b})
+}
 func RuleLogicCoreData(c *gin.Context) {
 	vid, _ := c.GetPostForm("vid")
 	pid, _ := c.GetPostForm("pid")
@@ -463,6 +476,15 @@ func DelVersionInfo(vid string) { //刪除属性配置
 		DelLogic(vid, qu.BsonIdToSId((v)["_id"]))
 	}
 }
+
+func DelPkgInfo(vid string) { //刪除分包配置
+	vInfo, _ := Mgo.Find("pkg_info", `{"vid":"`+vid+`","delete":false}`, nil, `{"_id":1}`, false, -1, -1)
+	Mgo.Update("pkg_info", `{"vid":"`+vid+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
+	for _, v := range *vInfo {
+		DelPkgLogic(vid, qu.BsonIdToSId((v)["_id"]))
+	}
+}
+
 func DelLogic(vid, pid string) { //删除逻辑
 	logic, _ := Mgo.Find("rule_logic", `{"vid":"`+vid+`","pid":"`+pid+`","delete":false}`, nil, `{"_id":1}`, false, -1, -1)
 	Mgo.Update("rule_logic", `{"vid":"`+vid+`","pid":"`+pid+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
@@ -472,6 +494,15 @@ func DelLogic(vid, pid string) { //删除逻辑
 		DelLogicBack(qu.BsonIdToSId(l["_id"]))
 	}
 }
+
+func DelPkgLogic(vid, pid string) { //删除分包逻辑
+	logic, _ := Mgo.Find("pkg_logic", `{"vid":"`+vid+`","pid":"`+pid+`","delete":false}`, nil, `{"_id":1}`, false, -1, -1)
+	Mgo.Update("pkg_logic", `{"vid":"`+vid+`","pid":"`+pid+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
+	for _, l := range *logic {
+		DelPkgLogicBack(qu.BsonIdToSId(l["_id"]))
+	}
+}
+
 func DelLogicPre(sid string) { //删除属性配置中的前置规则
 	Mgo.Update("rule_logicpre", `{"sid":"`+sid+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
 }
@@ -481,6 +512,10 @@ func DelLogicCore(sid string) { //删除属性配置中的抽取规则
 func DelLogicBack(sid string) { //删除属性配置中的后置规则
 	Mgo.Update("rule_logicback", `{"sid":"`+sid+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
 }
+func DelPkgLogicBack(sid string) { //删除分包属性配置中的后置规则
+	Mgo.Update("pkg_logicback", `{"sid":"`+sid+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
+}
+
 func DelRulePre(s_version string) { //删除通用前置过滤
 	Mgo.Update("rule_pre", `{"s_version":"`+s_version+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
 }

+ 115 - 50
src/jy/admin/version.go

@@ -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)
+			}
 		}
 	}
+
 }
 
 //获取代码

+ 1 - 1
src/web/templates/admin/pkginfo.html → src/web/templates/admin/pkg_info.html

@@ -181,7 +181,7 @@ function use(_id,isuse){
 function del(_id){
 	showConfirm("确定删除?", function() {
 		$.ajax({
-			url:"/admin/version/infodel",
+			url:"/admin/version/pkginfodel",
 			type:"post",
 			data:{"_id":_id},
 			success:function(r){

+ 2 - 2
src/web/templates/admin/pkg_logicbacklist.html

@@ -213,12 +213,12 @@ $(function () {
 function del(_id){
 	showConfirm("确定删除?", function() {
 		$.ajax({
-			url:"/admin/logicback/del",
+			url:"/admin/pkglogicback/del",
 			type:"post",
 			data:{"_id":_id},
 			success:function(r){
 				if(r.rep){				
-					window.location.href="/admin/logicback?vid={{.vid}}&pid={{.pid}}&sid={{.sid}}"
+					window.location.href="/admin/pkglogicback?vid={{.vid}}&pid={{.pid}}&sid={{.sid}}"
 				}else{
 					showTip("删除失败", 1000);
 				}

+ 2 - 2
src/web/templates/admin/pkg_logiclist.html

@@ -160,12 +160,12 @@ $(function () {
 function del(_id){
 	showConfirm("确定删除?", function() {
 		$.ajax({
-			url:"/admin/rulelogic/del",
+			url:"/admin/pkgrulelogic/del",
 			type:"post",
 			data:{"_id":_id},
 			success:function(r){
 				if(r.rep){				
-					window.location.href="/admin/rulelogic?vid={{.vid}}&pid={{.pid}}";
+					window.location.href="/admin/pkglogic?vid={{.vid}}&pid={{.pid}}";
 				}else{
 					showTip("删除失败", 1000);
 				}

+ 1 - 1
src/web/templates/admin/version.html

@@ -76,7 +76,7 @@ $(function () {
 				}
 				return tmp
 			}},
-			{ "data":"_id","width":"30%",render:function(val,a,row){
+			{ "data":"_id","width":"28%",render:function(val,a,row){
 				tmp = '<div class="btn-group">'+
 					'<a class="btn btn-sm btn-primary" href="/admin/rulepre?version='+row.version+'">前置规则</a>'+
 					'<a class="btn btn-sm btn-info" href="/admin/ruleback?version='+row.version+'">后置规则</a>'+