|
@@ -6,13 +6,15 @@ import (
|
|
|
"eta_gn/eta_api/models/system"
|
|
|
"eta_gn/eta_api/services"
|
|
|
"eta_gn/eta_api/services/alarm_msg"
|
|
|
+ "eta_gn/eta_api/services/knowledge_approve"
|
|
|
"eta_gn/eta_api/utils"
|
|
|
"fmt"
|
|
|
- "github.com/tealeg/xlsx"
|
|
|
"html"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
+
|
|
|
+ "github.com/tealeg/xlsx"
|
|
|
)
|
|
|
|
|
|
func AddResource(req *knowledge.AddReq, sysUser *system.Admin) (item *knowledge.KnowledgeResource, err error, errMsg string) {
|
|
@@ -116,7 +118,7 @@ func AddResource(req *knowledge.AddReq, sysUser *system.Admin) (item *knowledge.
|
|
|
item.SourceFrom = req.SourceFrom
|
|
|
item.ResourceType = req.ResourceType
|
|
|
item.Title = req.Title
|
|
|
- item.State = 1
|
|
|
+ item.State = knowledge.KnowledgeResourceStateUnpublished
|
|
|
item.Content = html.EscapeString(req.Content)
|
|
|
timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
|
item.ResourceCode = utils.MD5(utils.CHART_PREFIX + "_" + timestamp)
|
|
@@ -1023,7 +1025,7 @@ func addExcelResource(req *knowledge.AddReq, sysUser *system.Admin) (err error,
|
|
|
item.SourceFrom = req.SourceFrom
|
|
|
item.ResourceType = req.ResourceType
|
|
|
item.Title = req.Title
|
|
|
- item.State = 1
|
|
|
+ item.State = knowledge.KnowledgeResourceStateUnpublished
|
|
|
item.Content = html.EscapeString(req.Content)
|
|
|
timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
|
item.ResourceCode = utils.MD5(utils.CHART_PREFIX + "_" + timestamp)
|
|
@@ -1053,3 +1055,49 @@ func addExcelResource(req *knowledge.AddReq, sysUser *system.Admin) (err error,
|
|
|
//todo 是否需要保存到es中
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+func SetKnowledgeResourcePublic(knowledgeId int) (errMsg string, err error) {
|
|
|
+ obj := new(knowledge.KnowledgeResource)
|
|
|
+ obj, err = obj.GetById(knowledgeId)
|
|
|
+ if err != nil {
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
+ errMsg = "资源不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ errMsg = "获取资源失败"
|
|
|
+ err = fmt.Errorf("获取资源失败,Err:%v", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if !(obj.State == knowledge.KnowledgeResourceStateUnpublished || obj.State == knowledge.KnowledgeResourceStateRejected) {
|
|
|
+ errMsg = "不能重复设置公共"
|
|
|
+ err = fmt.Errorf("不能重复设置公共")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if obj.ResourceType != knowledge.KnowledgeResourceTypeOpinion {
|
|
|
+ errMsg = "非法操作"
|
|
|
+ err = fmt.Errorf("非法操作")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ ok, err := knowledge_approve.CheckKnowledgeOpenApprove(obj.ClassifyId)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "分类校验失败"
|
|
|
+ err = fmt.Errorf("分类校验失败,Err:%v", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if !ok {
|
|
|
+ errMsg = "分类未开启审批流"
|
|
|
+ err = fmt.Errorf("分类未开启审批流")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ obj.State = knowledge.KnowledgeResourceStatePending
|
|
|
+ obj.ModifyTime = time.Now()
|
|
|
+ err = obj.Update([]string{"state", "modify_time"})
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "设置失败"
|
|
|
+ err = fmt.Errorf("设置失败,Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|