فهرست منبع

fix:增加知识库撤销

zqbao 3 ماه پیش
والد
کامیت
bb222a61bb

+ 77 - 10
controllers/knowledge/resource.go

@@ -6,7 +6,8 @@ import (
 	"eta_gn/eta_api/models"
 	"eta_gn/eta_api/models/knowledge"
 	"eta_gn/eta_api/services"
-	knowledgeServ "eta_gn/eta_api/services/knowledge"
+	knowledgeSrv "eta_gn/eta_api/services/knowledge"
+	"eta_gn/eta_api/services/knowledge_approve"
 	"eta_gn/eta_api/utils"
 	"fmt"
 	"html"
@@ -389,7 +390,7 @@ func (this *ResourceController) Search() {
 			tagIdsInt = append(tagIdsInt, tagId)
 		}
 	}
-	listTmp, total, err := knowledgeServ.SearchKnowledgeResourceByEs(
+	listTmp, total, err := knowledgeSrv.SearchKnowledgeResourceByEs(
 		resourceType,
 		keyWord,
 		searchUserIds,
@@ -583,7 +584,7 @@ func (this *ResourceController) Add() {
 			return
 		}
 	}
-	item, err, errMsg := knowledgeServ.AddResource(&req, sysUser)
+	item, err, errMsg := knowledgeSrv.AddResource(&req, sysUser)
 	if err != nil {
 		br.Msg = "保存失败"
 		if errMsg != "" {
@@ -688,7 +689,7 @@ func (this *ResourceController) Edit() {
 	}
 
 	// 编辑事件信息
-	err, errMsg := knowledgeServ.EditResource(resourceInfo, req, sysUser)
+	err, errMsg := knowledgeSrv.EditResource(resourceInfo, req, sysUser)
 	if err != nil {
 		br.Msg = "保存失败"
 		if errMsg != "" {
@@ -1104,7 +1105,7 @@ func (this *ResourceController) Delete() {
 	}
 	go func() {
 		item.IsDelete = 1
-		er := knowledgeServ.EsAddOrEditKnowledgeResource(item)
+		er := knowledgeSrv.EsAddOrEditKnowledgeResource(item)
 		if er != nil {
 			utils.FileLog.Info("知识资源id:" + strconv.Itoa(req.KnowledgeResourceId) + ",删除事件同步es失败, Err: " + er.Error())
 		}
@@ -1151,7 +1152,7 @@ func (c *ResourceController) ImportData() {
 	defer os.Remove(path)
 	//}
 
-	successCount, failCount, err, errMsg := knowledgeServ.ImportResourceData(path, resourceType, sysUser)
+	successCount, failCount, err, errMsg := knowledgeSrv.ImportResourceData(path, resourceType, sysUser)
 	if err != nil {
 		br.Msg = errMsg
 		br.ErrMsg = err.Error()
@@ -1495,6 +1496,56 @@ func (this *ResourceController) TemplateDownload() {
 	br.Msg = "下载成功"
 }
 
+// cancel
+// @Title 设置知识库事件公开接口
+// @Description 设置知识库事件公开接口
+// @Param	request	body knowledge.AddReq true "type json string"
+// @Success 200 {object} knowledge.AddResp
+// @router /resource/cancel [post]
+func (this *ResourceController) Cancel() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请重新登录"
+		return
+	}
+	var req knowledge.PublicReq
+	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
+		br.Msg = "参数解析失败"
+		br.ErrMsg = "参数解析失败,Err:" + e.Error()
+		return
+	}
+
+	approveId, err := knowledge_approve.GetKnowledgeApproveIdByKnowledgeResourceId(req.KnowledgeResourceId)
+	if err != nil {
+		if utils.IsErrNoRow(err) {
+			br.Msg = "该知识库事件未发起审批"
+			return
+		}
+		br.Msg = "获取审批记录失败"
+		br.ErrMsg = "获取审批记录失败,Err:" + err.Error()
+		return
+	}
+
+	msg, err := knowledge_approve.KnowledgeResourceApproveCancel(approveId, sysUser.AdminId, sysUser.RealName)
+	if err != nil {
+		if msg == "" {
+			msg = "设置失败"
+		}
+		br.Msg = msg
+		br.ErrMsg = "设置失败,Err:" + err.Error()
+		return
+	}
+
+	br.Msg = "设置成功"
+	br.Ret = 200
+	br.Success = true
+}
+
 // Public
 // @Title 设置知识库事件公开接口
 // @Description 设置知识库事件公开接口
@@ -1518,11 +1569,27 @@ func (this *ResourceController) Public() {
 		br.ErrMsg = "参数解析失败,Err:" + e.Error()
 		return
 	}
-
-	msg, err := knowledgeServ.SetKnowledgeResourcePublic(req.KnowledgeResourceId)
+	obj := new(knowledge.KnowledgeResource)
+	obj, err := obj.GetById(req.KnowledgeResourceId)
+	if err != nil {
+		if utils.IsErrNoRow(err) {
+			br.Msg = "该知识库事件不存在"
+			return
+		}
+		br.Msg = "获取知识库事件失败"
+		br.ErrMsg = "获取知识库事件失败,Err:" + err.Error()
+		return
+	}
+	_, err = knowledge_approve.SubmitKnowledgeResourceApprove(obj.KnowledgeResourceId, obj.Title, obj.ClassifyId, sysUser.AdminId, sysUser.RealName)
+	if err != nil {
+		br.Msg = "设置公共失败"
+		br.ErrMsg = "设置公共失败,Err:" + err.Error()
+		return
+	}
+	msg, err := knowledgeSrv.SetKnowledgeResourcePublic(req.KnowledgeResourceId)
 	if err != nil {
 		if msg == "" {
-			msg = "设置失败"
+			msg = "设置公共失败"
 		}
 		br.Msg = msg
 		br.ErrMsg = "设置失败,Err:" + err.Error()
@@ -1549,7 +1616,7 @@ func (this *ResourceController) BiDashboardCacheResourceList() {
 
 	biDashboardDetailId, _ := this.GetInt("BiDashboardDetailId")
 
-	resp, msg, err := knowledgeServ.GetKnowledgeResourceTmpList(biDashboardDetailId, this.SysUser.AdminId)
+	resp, msg, err := knowledgeSrv.GetKnowledgeResourceTmpList(biDashboardDetailId, this.SysUser.AdminId)
 	if err != nil {
 		if msg == "" {
 			msg = "获取数据失败"

+ 6 - 0
models/knowledge_approve/knowledge_approve.go

@@ -195,3 +195,9 @@ func GetKnowledgeResourceApproveCountByState(state int) (count int, err error) {
 	err = db.Raw(sql, state).Scan(&count).Error
 	return
 }
+
+func GetKnowledgeApproveByKnowledgeId(knowledgeId int) (item *KnowledgeResourceApprove, err error) {
+	db := global.DmSQL["rddp"]
+	err = db.Where("knowledge_resource_id = ?", knowledgeId).Order("create_time DESC").First(&item).Error
+	return
+}

+ 9 - 0
routers/commentsRouter.go

@@ -5038,6 +5038,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta_gn/eta_api/controllers/knowledge:ResourceController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/knowledge:ResourceController"],
+        beego.ControllerComments{
+            Method: "Cancel",
+            Router: `/resource/cancel`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta_gn/eta_api/controllers/knowledge:ResourceController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/knowledge:ResourceController"],
         beego.ControllerComments{
             Method: "Delete",

+ 9 - 0
services/knowledge_approve/knowledge_approve.go

@@ -1155,3 +1155,12 @@ func CheckHasApprovingKnowledge() (ok bool, err error) {
 	}
 	return
 }
+
+func GetKnowledgeApproveIdByKnowledgeResourceId(knowledgeResourceId int) (approveId int, err error) {
+	approveItem, err := knowledge_approve.GetKnowledgeApproveByKnowledgeId(knowledgeResourceId)
+	if err != nil {
+		return
+	}
+	approveId = approveItem.KnowledgeResourceApproveId
+	return
+}