Browse Source

删除版本,级联删除绑定在版本上的内容

unknown 6 years ago
parent
commit
606d08fe22
3 changed files with 70 additions and 4 deletions
  1. 48 0
      src/jy/admin/rule.go
  2. 19 1
      src/jy/admin/version.go
  3. 3 3
      src/web/templates/admin/version.html

+ 48 - 0
src/jy/admin/rule.go

@@ -5,6 +5,7 @@ import (
 	"fmt"
 	. "jy/mongodbutil"
 	"jy/util"
+	qu "qfw/util"
 	"time"
 
 	"github.com/gin-contrib/sessions"
@@ -60,6 +61,9 @@ func init() {
 		_id, _ := c.GetPostForm("_id")
 		//b := Mgo.Del("rule_logic", `{"_id":"`+_id+`"}`)
 		b := Mgo.UpdateById("rule_logic", _id, `{"$set":{"delete":true}}`)
+		go DelLogicPre(_id)
+		go DelLogicCore(_id)
+		go DelLogicBack(_id)
 		c.JSON(200, gin.H{"rep": b})
 	})
 
@@ -369,3 +373,47 @@ func RuleLogicCoreUse(c *gin.Context) {
 	b := Mgo.UpdateById("rule_logicore", _id, `{"$set":{"isuse":`+isuse+`}}`)
 	c.JSON(200, gin.H{"rep": b})
 }
+
+func DelVersionInfo(vid string) { //刪除属性配置
+	vInfo, _ := Mgo.Find("versioninfo", `{"vid":"`+vid+`","delete":false}`, nil, `{"_id":1}`, false, -1, -1)
+	Mgo.Update("versioninfo", `{"vid":"`+vid+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
+	for _, v := range *vInfo {
+		DelLogic(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)
+	for _, l := range *logic {
+		DelLogicPre(qu.BsonIdToSId(l["_id"]))
+		DelLogicCore(qu.BsonIdToSId(l["_id"]))
+		DelLogicBack(qu.BsonIdToSId(l["_id"]))
+	}
+}
+func DelLogicPre(sid string) { //删除属性配置中的前置规则
+	Mgo.Update("rule_logicpre", `{"sid":"`+sid+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
+}
+func DelLogicCore(sid string) { //删除属性配置中的抽取规则
+	Mgo.Update("rule_logicore", `{"sid":"`+sid+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
+}
+func DelLogicBack(sid string) { //删除属性配置中的后置规则
+	Mgo.Update("rule_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)
+}
+
+func DelRuleBack(s_version string) { //删除通用后置过滤
+	Mgo.Update("rule_back", `{"s_version":"`+s_version+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
+}
+func DelTag(s_version string) {
+	tag, _ := Mgo.Find("tag", `{"s_version":"`+s_version+`","delete":false}`, nil, `{"_id":1}`, false, -1, -1)
+	Mgo.Update("tag", `{"s_version":"`+s_version+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
+	for _, t := range *tag {
+		s_parentid := qu.BsonIdToSId(t["_id"])
+		Mgo.Update("tagdetailinfo", `{"s_version":"`+s_version+`","s_parentid":"`+s_parentid+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
+	}
+}
+func DelCleanUp(s_version string) {
+	Mgo.Update("cleanup", `{"s_version":"`+s_version+`","delete":false}`, `{"$set":{"delete":true}}`, false, true)
+}

+ 19 - 1
src/jy/admin/version.go

@@ -88,10 +88,26 @@ func init() {
 		b := Mgo.UpdateById("version", _id, set)
 		c.JSON(200, gin.H{"rep": b})
 	})
-	Admin.POST("/version/del", func(c *gin.Context) {
+	Admin.POST("/version/del", func(c *gin.Context) { //删除版本
 		_id, _ := c.GetPostForm("_id")
+		s_version, _ := c.GetPostForm("version")
 		b := Mgo.UpdateById("version", _id, `{"$set":{"delete":true}}`)
 		//b := Mgo.Del("version", `{"_id":"`+_id+`"}`)
+		//级联删除
+		//刪除属性配置
+		//删除逻辑
+		//删除属性配置中的前置规则
+		//删除属性配置中的抽取规则
+		//删除属性配置中的后置规则
+		go DelVersionInfo(_id)
+		//删除版本的通用前置规则
+		go DelRulePre(s_version)
+		//删除版本的通用后置规则
+		go DelRuleBack(s_version)
+		//删除标签库
+		go DelTag(s_version)
+		//删除版本的通用前置规则
+		go DelCleanUp(s_version)
 		c.JSON(200, gin.H{"rep": b})
 	})
 	Admin.GET("/version/info", func(c *gin.Context) {
@@ -142,6 +158,8 @@ func init() {
 	Admin.POST("/version/infodel", func(c *gin.Context) {
 		_id, _ := c.GetPostForm("_id")
 		b := Mgo.UpdateById("versioninfo", _id, `{"$set":{"delete":true}}`)
+		v, _ := Mgo.FindById("versioninfo", _id, `{"vid":1}`)
+		go DelLogic(qu.ObjToString((*v)["vid"]), _id)
 		//b := Mgo.Del("versioninfo", `{"_id":"`+_id+`"}`)
 		c.JSON(200, gin.H{"rep": b})
 	})

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

@@ -88,7 +88,7 @@ $(function () {
 			{ "data":"_id",render:function(val,a,row){
 				return '<a class="btn btn-sm btn-success" href="/admin/version/info?vid='+val+'" >属性配置</a>'+
 					'&nbsp;&nbsp;<a class="btn btn-sm btn-primary opr" opr="edit">编&nbsp;&nbsp;辑</a>'+
-					'&nbsp;&nbsp;<a class="btn btn-sm btn-danger" href="#" onclick="del(\''+val+'\')">删&nbsp;&nbsp;除</a>'
+					'&nbsp;&nbsp;<a class="btn btn-sm btn-danger" href="#" onclick="del(\''+val+'\',\''+row["version"]+'\')">删&nbsp;&nbsp;除</a>'
 			}}
        	]
 	});
@@ -177,12 +177,12 @@ function use(_id,isuse){
 		})
 	});
 }
-function del(_id){
+function del(_id,version){
 	showConfirm("确定删除?", function() {
 		$.ajax({
 			url:"/admin/version/del",
 			type:"post",
-			data:{"_id":_id},
+			data:{"_id":_id,"version":version},
 			success:function(r){
 				if(r.rep){				
 					window.location.href="/admin/version"