Procházet zdrojové kódy

Merge branch 'bzq/knowledge_add_viewpoint_cf' of eta_gn_server/eta_api into debug

baoziqiang před 3 měsíci
rodič
revize
2e6fdba57e

+ 39 - 0
controllers/knowledge/resource.go

@@ -1445,6 +1445,45 @@ func (this *ResourceController) TemplateDownload() {
 	br.Msg = "下载成功"
 }
 
+// Public
+// @Title 设置知识库事件公开接口
+// @Description 设置知识库事件公开接口
+// @Param	request	body knowledge.AddReq true "type json string"
+// @Success 200 {object} knowledge.AddResp
+// @router /resource/public [post]
+func (this *ResourceController) Public() {
+	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
+	}
+
+	msg, err := knowledgeServ.SetKnowledgeResourcePublic(req.KnowledgeResourceId)
+	if err != nil {
+		if msg == "" {
+			msg = "设置失败"
+		}
+		br.Msg = msg
+		br.ErrMsg = "设置失败,Err:" + err.Error()
+		return
+	}
+
+	br.Msg = "设置成功"
+	br.Ret = 200
+	br.Success = true
+}
+
 // BiDashboardTmpResourceList
 // @Title 获取bi看报中的知识资源列表
 // @Description 获取bi看报中的知识资源列表

+ 1 - 0
controllers/ppt_report.go

@@ -382,6 +382,7 @@ func (this *PptV2Controller) CreateReport() {
 	// 新报告
 	newItem := new(models.PptV2)
 	newItem.Title = req.Title
+	newItem.Abstract = req.Abstract
 	newItem.AddType = req.AddType
 	newItem.ClassifyId = req.ClassifyId
 	newItem.CollaborateType = req.CollaborateType

+ 29 - 1
models/knowledge/knowledge_resource.go

@@ -22,6 +22,19 @@ const (
 	KnowledgeResourceTypeOpinion = 4
 )
 
+const (
+	// 未发布
+	KnowledgeResourceStateUnpublished = iota
+	// 已发布
+	KnowledgeResourceStatePublished
+	// 待审核
+	KnowledgeResourceStatePending
+	// 已驳回
+	KnowledgeResourceStateRejected
+	// 已通过
+	KnowledgeResourceStatePassed
+)
+
 type KnowledgeResource struct {
 	KnowledgeResourceId int        `gorm:"column:knowledge_resource_id;;primaryKey;autoIncrement"`
 	ResourceType        int        `gorm:"column:resource_type;"`
@@ -29,7 +42,7 @@ type KnowledgeResource struct {
 	Title               string     `gorm:"column:title;"`
 	CreateTime          time.Time  `gorm:"column:create_time" description:"创建时间"`
 	ModifyTime          time.Time  `gorm:"column:modify_time;autoUpdateTime" description:"修改时间"`
-	State               int        `gorm:"column:state" description:"0:未发布;1:已发布;"`
+	State               int        `gorm:"column:state" description:"状态:0:未发布;1:已发布;2:待审核;3:已驳回;4:已通过"`
 	Content             string     `gorm:"column:content"`
 	ResourceCode        string     `gorm:"column:resource_code"`
 	AdminId             int        `gorm:"column:admin_id" description:"创建者账号"`
@@ -84,6 +97,17 @@ func GetBatchKnowledgeResource(batchSize int, id int) (items []*KnowledgeResourc
 	return
 }
 
+func GetBatchKnowledgeResourceByCondition(condition string, pars []interface{}, batchSize int) (items []*KnowledgeResource, err error) {
+	sql := `SELECT * FROM knowledge_resource WHERE is_delete=0 `
+	if condition != "" {
+		sql += condition
+	}
+	pars = append(pars, batchSize)
+	sql += `ORDER BY knowledge_resource_id ASC LIMIT ?`
+	err = global.DmSQL["rddp"].Raw(sql, pars...).Find(&items).Error
+	return
+}
+
 func GetKnowledgeResourcePageList(condition string, pars []interface{}, startSize, pageSize int) (items []*KnowledgeResource, err error) {
 	sql := `SELECT * FROM knowledge_resource WHERE 1=1  AND is_delete=0 `
 	if condition != "" {
@@ -173,6 +197,10 @@ type AddResp struct {
 	ResourceCode        string `description:"事件code"`
 }
 
+type PublicReq struct {
+	KnowledgeResourceId int `description:"事件id"`
+}
+
 func (m *KnowledgeResource) Add(item *KnowledgeResource) (err error) {
 	err = global.DmSQL["rddp"].Create(item).Error
 	return

+ 2 - 0
models/ppt_v2.go

@@ -16,6 +16,7 @@ type PptV2 struct {
 	TemplateType           int       `gorm:"column:template_type" description:"模版类型"`
 	BackgroundImg          string    `gorm:"column:background_img" description:"现在实际存的封面图(前端改动太大,不知道该字段之前谁定义的)"`
 	Title                  string    `gorm:"column:title" description:"标题"`
+	Abstract               string    `gorm:"column:abstract" description:"摘要"`
 	ReportType             string    `gorm:"column:report_type" description:"报告类型"`
 	PptDate                string    `gorm:"column:ppt_date" description:"选择日期"`
 	Content                string    `gorm:"column:content" description:"ppt内容"`
@@ -484,6 +485,7 @@ type PptPageReportResp struct {
 type PptReportCreateReq struct {
 	Title              string `description:"标题"`
 	ClassifyId         int    `description:"分类ID"`
+	Abstract           string `description:"摘要"`
 	AddType            int    `description:"新增方式:1:新增报告,2:继承报告"`
 	InheritPptId       int    `description:"待继承的报告ID"`
 	CollaborateType    int    `description:"协作方式,1:个人,2:多人协作。默认:1"`

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 234 - 5733
routers/commentsRouter.go


+ 49 - 2
services/knowledge/resource.go

@@ -7,6 +7,7 @@ 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"
 	"html"
@@ -120,7 +121,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)
@@ -1030,7 +1031,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)
@@ -1061,6 +1062,52 @@ func addExcelResource(req *knowledge.AddReq, sysUser *system.Admin) (err error,
 	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
+}
+
 func GetKnowledgeResourceTmpList(dashboardDetailId, adminId int) (resp *knowledge.BiDashboardResourceAddResp, msg string, err error) {
 	if dashboardDetailId <= 0 {
 		data, er := utils.Rc.RedisBytes(utils.CACHE_KEY_BI_DASHBOARD_PREPARE_RESOURCE + strconv.Itoa(adminId))

+ 3 - 1
services/knowledge_approve/knowledge_approve_flow.go

@@ -51,9 +51,11 @@ func GetKnowledgeResourceApproveFlowList(condition string, pars []interface{}, s
 		if _, ok := classifyPathMap[classify.ClassifyId]; !ok {
 			classifyPathMap[classify.ClassifyId] = make(map[int]string)
 		}
+
+		currClassifyMap := classifyPathMap[classify.ClassifyId]
 		currClassify := classify
 		for i := classify.Level; i > 0; i-- {
-			classifyPathMap[currClassify.ClassifyId][currClassify.Level] = currClassify.ClassifyName
+			currClassifyMap[currClassify.Level] = currClassify.ClassifyName
 			if currClassify.ParentId == 0 {
 				break
 			}

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů