فهرست منبع

添加事件方式二导入文件

xyxie 7 ماه پیش
والد
کامیت
b2cf32f846
2فایلهای تغییر یافته به همراه33 افزوده شده و 12 حذف شده
  1. 5 10
      models/knowledge/knowledge_resource.go
  2. 28 2
      services/knowledge/resource.go

+ 5 - 10
models/knowledge/knowledge_resource.go

@@ -37,6 +37,8 @@ type KnowledgeResource struct {
 	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"`
 }
 
 func (m *KnowledgeResource) TableName() string {
@@ -146,6 +148,7 @@ type AddReq struct {
 	TagId        int    `gorm:"column:tag_id;default:0;NOT NULL"`
 	StartTime    string `gorm:"column:start_time"`
 	EndTime      string `gorm:"column:end_time"`
+	FileUrl      string `gorm:"column:file_url"`
 }
 
 type AddResp struct {
@@ -164,16 +167,8 @@ func (m *KnowledgeResource) AddBatch(item []*KnowledgeResource) (err error) {
 }
 
 type EditReq struct {
-	KnowledgeResourceId int64  `description:"事件id"`
-	ResourceType        int    `gorm:"column:resource_type;"`
-	ClassifyId          int    `gorm:"column:classify_id"`
-	Title               string `gorm:"column:title;"`
-	State               int    `gorm:"column:state" description:"1:未发布;2:已发布;3-待提交;4-待审批;5-已驳回;6-已通过"`
-	Content             string `gorm:"column:content"`
-	SourceFrom          string `gorm:"column:source_from"`
-	TagId               int    `gorm:"column:tag_id;default:0;NOT NULL"`
-	StartTime           string `gorm:"column:start_time"`
-	EndTime             string `gorm:"column:end_time"`
+	KnowledgeResourceId int64 `description:"事件id"`
+	AddReq
 }
 
 type EditResp struct {

+ 28 - 2
services/knowledge/resource.go

@@ -35,6 +35,7 @@ func AddResource(req *knowledge.AddReq, sysUser *system.Admin) (item *knowledge.
 			return
 		}
 	}
+	isFile := 0
 	if req.Content != "" {
 		e := utils.ContentXssCheck(req.Content)
 		if e != nil {
@@ -56,6 +57,13 @@ func AddResource(req *knowledge.AddReq, sysUser *system.Admin) (item *knowledge.
 			//utils.SendEmail(utils.APPNAME+"失败提醒", "解析 ContentSub 失败,Err:"+err.Error(), utils.EmailSendToUsers)
 			return
 		}*/
+	} else {
+		if req.FileUrl == "" {
+			errMsg = "内容或文件不能为空"
+			err = fmt.Errorf("内容或文件不能为空")
+			return
+		}
+		isFile = 1
 	}
 
 	classifyObj := new(knowledge.KnowledgeClassify)
@@ -88,6 +96,8 @@ func AddResource(req *knowledge.AddReq, sysUser *system.Admin) (item *knowledge.
 	item.Content = html.EscapeString(req.Content)
 	timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
 	item.ResourceCode = utils.MD5(utils.CHART_PREFIX + "_" + timestamp)
+	item.IsFile = isFile
+	item.FileUrl = req.FileUrl
 	//todo 内容前5行
 	//item.ContentSub = html.EscapeString(contentSub)
 	if !startTime.IsZero() {
@@ -137,6 +147,19 @@ func EditResource(resourceInfo *knowledge.KnowledgeResource, req knowledge.EditR
 			return
 		}
 	}
+	if resourceInfo.IsFile == 0 {
+		if req.Content == "" {
+			errMsg = "内容不能为空"
+			err = fmt.Errorf("内容不能为空")
+			return
+		}
+	} else if resourceInfo.IsFile == 1 {
+		if req.FileUrl == "" {
+			errMsg = "文件地址不能为空"
+			err = fmt.Errorf("文件地址不能为空")
+			return
+		}
+	}
 	if req.Content != "" {
 		e := utils.ContentXssCheck(req.Content)
 		if e != nil {
@@ -182,18 +205,21 @@ func EditResource(resourceInfo *knowledge.KnowledgeResource, req knowledge.EditR
 	resourceInfo.SourceFrom = req.SourceFrom
 	resourceInfo.TagId = req.TagId
 	resourceInfo.Title = req.Title
-	resourceInfo.Content = html.EscapeString(req.Content)
+	if req.Content != "" {
+		resourceInfo.Content = html.EscapeString(req.Content)
+	}
 	if !startTime.IsZero() {
 		resourceInfo.StartTime = &startTime
 	}
 	if !endTime.IsZero() {
 		resourceInfo.EndTime = &endTime
 	}
+	resourceInfo.FileUrl = req.FileUrl
 	//resourceInfo.LastModifyAdminId = sysUser.AdminId
 	//resourceInfo.LastModifyAdminName = sysUser.RealName
 	resourceInfo.ModifyTime = time.Now()
 
-	updateCols := []string{"ClassifyId", "SourceFrom", "TagId", "Title", "Content", "StartTime", "EndTime", "ModifyTime"}
+	updateCols := []string{"ClassifyId", "SourceFrom", "TagId", "Title", "Content", "StartTime", "EndTime", "ModifyTime", "FileUrl"}
 
 	// 修改报告的基本信息,以及报告的授权用户
 	err = resourceInfo.Update(updateCols)