package FileRelateDao import ( "dsSzxy/Utils/CommonUtil" "dsSzxy/Utils/ConfigUtil" "dsSzxy/Utils/DbUtil" "dsSzxy/models" "fmt" "github.com/xormplus/builder" "net/url" "time" ) var db = DbUtil.Engine /** 功能:生成下载地址带中文名 */ func GetFileDownLoadUrl(key string, originName string) string { infix := "?response-content-disposition=attachment%3BfileName%2A%3DUTF-8%27%27" downloadUrl := ConfigUtil.MinioDownloadPrefix + ConfigUtil.MinioBucket + "/" + key + infix + url.QueryEscape(url.QueryEscape(originName)) return downloadUrl } //文件记录 func FileRecord(fileName string, indentityId int32, personId int32, targetGroupId int32, tIdentityId int32, tPersonId int32, systemId int32, fileSize int32, extName string) { var model models.TZhxyFile model.FileId = CommonUtil.GetUUID() model.FileName = fileName model.FileSize = fileSize model.BaseId = "-1" model.BUse = 1 model.ExtName = extName model.SystemId = systemId model.TargetGroupId = targetGroupId model.TargetIdentityId = tIdentityId model.TargetPersonId = tPersonId model.UploadIndentityId = indentityId model.UploadPersonId = personId model.UploadTime = time.Now() c, err := GetFileTypeByExtName(extName) if err == nil { model.TypeId = int32(c) } else { model.TypeId = 0 } _, err = db.Insert(model) if err != nil { fmt.Println(err) return } } //修改文件名称 func FileUpdate(fileId string, fileName string) { var myBuilder = builder.Dialect(builder.MYSQL).Update(builder.Eq{"file_name": fileName}). From(`t_zhxy_file`).Where(builder.Eq{"file_id": fileId}) sql, _ := myBuilder.ToBoundSQL() db.SQL(sql).Execute() } /** 功能:获取文件扩展名对应的类型ID */ func GetFileTypeByExtName(extName string) (int64, error) { var myBuilder = builder.Dialect(builder.MYSQL).Select(`type_id`). From(`t_zhxy_file_type_ext`).Where(builder.Eq{"ext_name": extName}) sql, _ := myBuilder.ToBoundSQL() res, _ := db.SQL(sql).Query().List() if len(res) == 0 { return 0, nil } return res[0]["type_id"].(int64), nil }