From 1220eb55f2f82c0e830403e50ed0eee770fb1c07 Mon Sep 17 00:00:00 2001 From: truthhun <1272881215@qq.com> Date: Mon, 20 Nov 2023 10:57:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/util.go | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/model/util.go b/model/util.go index c9d36d0..fc3aafb 100644 --- a/model/util.go +++ b/model/util.go @@ -445,10 +445,26 @@ func (m *DBModel) reconvertDocument(doc *Document, ext string) { } // 4. 更新数据库表的预览后缀 - err := m.db.Model(doc).Updates(map[string]interface{}{ - "preview_ext": ext, - "enable_gzip": false, - }).Error + // 查询同一hash的文档 + var ( + attachemnts []Attachment + err error + data = map[string]interface{}{ + "preview_ext": ext, + "enable_gzip": false, + } + ) + + m.db.Select("id", "type_id").Where("hash = ? and `type` = ?", attachment.Hash, AttachmentTypeDocument).Find(&attachemnts) + if len(attachemnts) > 0 { + var ids []int64 + for _, attachemnt := range attachemnts { + ids = append(ids, attachemnt.TypeId) + } + err = m.db.Model(&Document{}).Where("id IN (?)", ids).Updates(data).Error + } else { + err = m.db.Model(doc).Updates(data).Error + } if err != nil { m.logger.Error("reconvertDocument", zap.String("msg", "更新文档预览文件后缀失败"), zap.String("document", doc.Title+doc.Ext), zap.Error(err)) return