Browse Source

晨周报保存日志

hsun 1 year ago
parent
commit
e1c3135ad3
3 changed files with 62 additions and 1 deletions
  1. 8 0
      controllers/report.go
  2. 21 1
      models/report.go
  3. 33 0
      services/report.go

+ 8 - 0
controllers/report.go

@@ -1220,6 +1220,9 @@ func (this *ReportController) AddDayWeekReport() {
 		go models.ModifyReportCode(reportId, reportCode)
 	}
 
+	// 备份关键数据
+	go services.SaveReportLogs(item, chapterList, sysUser.AdminId, sysUser.RealName)
+
 	resp := new(models.AddResp)
 	resp.ReportId = reportId
 	resp.ReportCode = reportCode
@@ -1607,6 +1610,11 @@ func (this *ReportController) EditDayWeekChapter() {
 		return
 	}
 
+	// 备份关键数据
+	chapters := make([]*models.ReportChapter, 0)
+	chapters = append(chapters, reportChapterInfo)
+	go services.SaveReportLogs(nil, chapters, sysUser.AdminId, sysUser.RealName)
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "保存成功"

+ 21 - 1
models/report.go

@@ -418,6 +418,24 @@ func AddReportSaveLog(reportId, adminId int, content, contentSub, adminName stri
 	return
 }
 
+func MultiAddReportChaptersSaveLog(items []*ReportChapter, adminId int, adminRealName string) (err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	p, err := o.Raw(`INSERT INTO report_save_log(report_id, report_chapter_id, content, content_sub, admin_id, admin_name) VALUES (?,?,?,?,?,?)`).Prepare()
+	if err != nil {
+		return
+	}
+	defer func() {
+		_ = p.Close()
+	}()
+	for _, v := range items {
+		_, err = p.Exec(v.ReportId, v.ReportChapterId, v.Content, v.ContentSub, adminId, adminRealName)
+		if err != nil {
+			return
+		}
+	}
+	return
+}
+
 type SaveReportContentResp struct {
 	ReportId int `description:"报告id"`
 }
@@ -485,9 +503,11 @@ func AddReportAndChapter(reportItem *Report, chapterItemList []*ReportChapter) (
 	if len(chapterItemList) > 0 {
 		for _, chapterItem := range chapterItemList {
 			chapterItem.ReportId = int(reportId)
-			if _, tmpErr := to.Insert(chapterItem); tmpErr != nil {
+			cpId, tmpErr := to.Insert(chapterItem)
+			if tmpErr != nil {
 				return
 			}
+			chapterItem.ReportChapterId = int(cpId)
 		}
 	}
 

+ 33 - 0
services/report.go

@@ -120,6 +120,9 @@ func PublishDayWeekReport(reportId int) (tips string, err error) {
 	go func() {
 		_ = UpdateReportEs(report.Id, 2)
 	}()
+
+	// 发布时备份内容
+	go SaveReportLogs(report, chapters, report.AdminId, report.AdminRealName)
 	return
 }
 
@@ -699,3 +702,33 @@ func UpdateReportEditMark(reportId, nowUserId, status int, nowUserName string) (
 	}
 	return
 }
+
+// SaveReportLogs 记录报告日志
+func SaveReportLogs(item *models.Report, chapters []*models.ReportChapter, adminId int, adminRealName string) {
+	if item == nil && len(chapters) == 0 {
+		return
+	}
+	var err error
+	defer func() {
+		if err != nil {
+			tips := fmt.Sprintf("报告日志记录, SaveReportLogs error: %s", err.Error())
+			go alarm_msg.SendAlarmMsg(tips, 2)
+		}
+	}()
+
+	if item != nil {
+		e := models.AddReportSaveLog(item.Id, item.AdminId, item.Content, item.ContentSub, item.AdminRealName)
+		if e != nil {
+			err = fmt.Errorf("AddReportSaveLog: %s", e.Error())
+			return
+		}
+	}
+	if len(chapters) > 0 {
+		e := models.MultiAddReportChaptersSaveLog(chapters, adminId, adminRealName)
+		if e != nil {
+			err = fmt.Errorf("MultiAddReportChaptersSaveLog: %s", e.Error())
+			return
+		}
+	}
+	return
+}