Files
bj_power/bj_power_mes/internal/logic/attachment.go
T

40 lines
1.2 KiB
Go
Raw Normal View History

package logic
import (
"context"
"bj_power_mes/ent"
"bj_power_mes/ent/attachment"
)
// AddAttachment 新增附件记录
func (s *Service) AddAttachment(ctx context.Context, bizType, bizId, fileName, filePath string, fileSize int, uploader string) (*ent.Attachment, error) {
return s.ctx.EntClient.Attachment.Create().
SetBizType(bizType).SetBizId(bizId).SetFileName(fileName).
SetFilePath(filePath).SetFileSize(fileSize).SetUploader(uploader).Save(ctx)
}
// ListAttachments 按业务类型/ID 查询附件
func (s *Service) ListAttachments(ctx context.Context, bizType, bizId string) ([]*ent.Attachment, error) {
q := s.ctx.EntClient.Attachment.Query()
if bizType != "" {
q = q.Where(attachment.BizType(bizType))
}
if bizId != "" {
q = q.Where(attachment.BizId(bizId))
}
return q.Order(ent.Desc(attachment.FieldCreatedAt), ent.Desc(attachment.FieldID)).All(ctx)
}
// DeleteAttachment 删除附件记录并返回记录(供删除物理文件)
func (s *Service) DeleteAttachment(ctx context.Context, id int) (*ent.Attachment, error) {
att, err := s.ctx.EntClient.Attachment.Get(ctx, id)
if err != nil {
return nil, err
}
if err := s.ctx.EntClient.Attachment.DeleteOneID(id).Exec(ctx); err != nil {
return nil, err
}
return att, nil
}