Przeglądaj źródła

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

baoziqiang 2 miesięcy temu
rodzic
commit
fd2b884d75

+ 44 - 1
controllers/knowledge/resource.go

@@ -44,6 +44,7 @@ type ResourceController struct {
 // @Param   IncludeFile   query   string  true       "是否包含文件, no:不包含"
 // @Param   SourceFrom   query   string  true       "来源, 用英文逗号分隔"
 // @Param   IsShowMe   query   string  true       "只看我, false:全部, true:只看我"
+// @Param   IsShowPulic   query   string  true       "只看我, false:全部, true:只看发布"
 // @Success 200 {object} knowledge.KnowledgeResourceListResp
 // @router /resource/list [get]
 func (this *ResourceController) List() {
@@ -70,6 +71,8 @@ func (this *ResourceController) List() {
 
 	IsShowMe, _ := this.GetBool("IsShowMe")
 
+	isShowPulic, _ := this.GetBool("IsShowPulic")
+
 	var startSize int
 	if pageSize <= 0 {
 		pageSize = utils.PageSize20
@@ -94,6 +97,11 @@ func (this *ResourceController) List() {
 		pars = append(pars, this.SysUser.AdminId)
 	}
 
+	if isShowPulic {
+		condition += ` AND state = ? `
+		pars = append(pars, knowledge.KnowledgeResourceStatePassed)
+	}
+
 	if keyWord != "" {
 		//按照空格划分为关键词数组
 		keyWordArr := strings.Split(keyWord, " ")
@@ -742,10 +750,45 @@ func (this *ResourceController) Detail() {
 		br.Msg = "事件类型错误"
 		return
 	}
+	knowledgeItem := new(knowledge.KnowledgeResourceDetail)
+	var urls []string
+	if item.IsFile == 1 {
+		if item.FileUrl == "" {
+			fileObj := new(knowledge.KnowledgeResourceFile)
+			fileItem, err := fileObj.GetByResourceId(item.KnowledgeResourceId)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取失败,Err:" + err.Error()
+				return
+			}
+			for _, v := range fileItem {
+				urls = append(urls, v.FileUrl)
+			}
+		} else {
+			urls = append(urls, item.FileUrl)
+		}
+	}
 	item.Content = html.UnescapeString(item.Content)
+	knowledgeItem.KnowledgeResourceId = item.KnowledgeResourceId
+	knowledgeItem.ResourceType = item.ResourceType
+	knowledgeItem.ClassifyId = item.ClassifyId
+	knowledgeItem.Title = item.Title
+	knowledgeItem.CreateTime = item.CreateTime
+	knowledgeItem.ModifyTime = item.ModifyTime
+	knowledgeItem.State = item.State
+	knowledgeItem.Content = item.Content
+	knowledgeItem.ResourceCode = item.ResourceCode
+	knowledgeItem.AdminId = item.AdminId
+	knowledgeItem.AdminRealName = item.AdminRealName
+	knowledgeItem.SourceFrom = item.SourceFrom
+	knowledgeItem.TagId = item.TagId
+	knowledgeItem.StartTime = item.StartTime
+	knowledgeItem.EndTime = item.EndTime
+	knowledgeItem.IsFile = item.IsFile
+	knowledgeItem.FileUrl = urls
 
 	resp := &knowledge.KnowledgeResourceDetailView{
-		KnowledgeResource: item,
+		KnowledgeResourceDetail: knowledgeItem,
 	}
 	br.Ret = 200
 	br.Success = true

+ 21 - 1
models/knowledge/knowledge_resource.go

@@ -35,6 +35,26 @@ const (
 	KnowledgeResourceStatePassed
 )
 
+type KnowledgeResourceDetail struct {
+	KnowledgeResourceId int        `gorm:"column:knowledge_resource_id;;primaryKey;autoIncrement"`
+	ResourceType        int        `gorm:"column:resource_type;"`
+	ClassifyId          int        `gorm:"column:classify_id"`
+	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:已发布;2:待审核;3:已驳回;4:已通过"`
+	Content             string     `gorm:"column:content"`
+	ResourceCode        string     `gorm:"column:resource_code"`
+	AdminId             int        `gorm:"column:admin_id" description:"创建者账号"`
+	AdminRealName       string     `gorm:"column:admin_real_name" description:"创建者姓名"`
+	SourceFrom          string     `gorm:"column:source_from"`
+	TagId               int        `gorm:"column:tag_id;default:0;NOT NULL"`
+	StartTime           *time.Time `gorm:"column:start_time"`
+	EndTime             *time.Time `gorm:"column:end_time"`
+	IsFile              int        `gorm:"column:is_file;default:0;NOT NULL"`
+	FileUrl             []string   `gorm:"column:file_url"`
+}
+
 type KnowledgeResource struct {
 	KnowledgeResourceId int        `gorm:"column:knowledge_resource_id;;primaryKey;autoIncrement"`
 	ResourceType        int        `gorm:"column:resource_type;"`
@@ -288,7 +308,7 @@ func (m *KnowledgeResource) GetSourceFrom(keyword string, resourceType int) (ite
 }
 
 type KnowledgeResourceDetailView struct {
-	*KnowledgeResource
+	*KnowledgeResourceDetail
 }
 
 type ResourceImportData struct {

+ 19 - 0
models/knowledge/knowledge_resource_file.go

@@ -0,0 +1,19 @@
+package knowledge
+
+import "eta_gn/eta_api/global"
+
+type KnowledgeResourceFile struct {
+	KnowledgeResourceFileId int    `gorm:"column:knowledge_resource_file_id;primaryKey;autoIncrement"`
+	KnowledgeResourceId     int    `gorm:"column:knowledge_resource_id"`
+	FileUrl                 string `gorm:"column:file_url"`
+}
+
+func (k KnowledgeResourceFile) TableName() string {
+	return "knowledge_resource_file"
+}
+
+func (k *KnowledgeResourceFile) GetByResourceId(id int) (item []*KnowledgeResourceFile, err error) {
+	sql := "SELECT * FROM knowledge_resource_file WHERE knowledge_resource_id =?"
+	err = global.DmSQL["rddp"].Raw(sql, id).Find(&item).Error
+	return
+}