ziwen 1 year ago
parent
commit
7a92afecbf
4 changed files with 186 additions and 61 deletions
  1. 29 10
      controllers/report.go
  2. 113 43
      controllers/resource.go
  3. 14 0
      controllers/sys_role.go
  4. 30 8
      services/video.go

+ 29 - 10
controllers/report.go

@@ -789,12 +789,23 @@ func (this *ReportController) Upload() {
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
 		return
 	}
-	//上传到阿里云
-	resourceUrl, err := services.UploadAliyun(fileName, fpath)
-	if err != nil {
-		br.Msg = "文件上传失败"
-		br.ErrMsg = "文件上传失败,Err:" + err.Error()
-		return
+
+	resourceUrl := ``
+	//上传到阿里云 和 minio
+	if utils.ObjectStorageClient == "minio" {
+		resourceUrl, err = services.UploadImgToMinIo(fileName, fpath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
+	} else {
+		resourceUrl, err = services.UploadAliyunV2(fileName, fpath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
 	}
 
 	defer func() {
@@ -1017,10 +1028,18 @@ func (this *ReportUploadCommonController) UploadImg() {
 	if err != nil {
 		return
 	}
-	//上传到阿里云
-	resourceUrl, err := services.UploadAliyun(fileName, fpath)
-	if err != nil {
-		return
+	resourceUrl := ``
+	//上传到阿里云 和 minio
+	if utils.ObjectStorageClient == "minio" {
+		resourceUrl, err = services.UploadImgToMinIo(fileName, fpath)
+		if err != nil {
+			return
+		}
+	} else {
+		resourceUrl, err = services.UploadAliyunV2(fileName, fpath)
+		if err != nil {
+			return
+		}
 	}
 
 	defer func() {

+ 113 - 43
controllers/resource.go

@@ -60,12 +60,22 @@ func (this *ResourceController) Upload() {
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
 		return
 	}
-	//上传到阿里云
-	resourceUrl, err := services.UploadAliyun(fileName, fpath)
-	if err != nil {
-		br.Msg = "文件上传失败"
-		br.ErrMsg = "文件上传失败,Err:" + err.Error()
-		return
+	resourceUrl := ``
+	//上传到阿里云 和 minio
+	if utils.ObjectStorageClient == "minio" {
+		resourceUrl, err = services.UploadImgToMinIo(fileName, fpath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
+	} else {
+		resourceUrl, err = services.UploadAliyunV2(fileName, fpath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
 	}
 
 	defer func() {
@@ -231,16 +241,28 @@ func (this *ResourceController) VideoUpload() {
 
 	savePath := utils.Upload_Audio_Dir + time.Now().Format("200601/20060102/")
 	savePath += fileName
-	//上传到阿里云
-	err = services.UploadVideoAliyun(fileName, fpath, savePath)
-	if err != nil {
-		br.Msg = "文件上传失败"
-		br.ErrMsg = "文件上传失败,Err:" + err.Error()
-		return
+
+	//上传到阿里云 和 minio
+	resourceUrl := ``
+	if utils.ObjectStorageClient == "minio" {
+		err = services.UploadVideoToMinIo(fileName, fpath, savePath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
+		resourceUrl = utils.MinIoImghost + savePath
+	} else {
+		err = services.UploadVideoAliyun(fileName, fpath, savePath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
+		resourceUrl = utils.Imghost + savePath
 	}
 	utils.FileLog.Info("%s:", time.Now().Format(utils.FormatDateTime))
 	utils.FileLog.Info("end update oss ")
-	resourceUrl := utils.Imghost + savePath
 
 	item := new(models.Resource)
 	item.ResourceUrl = resourceUrl
@@ -396,16 +418,27 @@ func (this *ResourceController) VoiceUpload() {
 
 	savePath := utils.Upload_Audio_Dir + time.Now().Format("200601/20060102/")
 	savePath += fileName
-	//上传到阿里云
-	err = services.UploadVideoAliyun(fileName, fpath, savePath)
-	if err != nil {
-		br.Msg = "文件上传失败"
-		br.ErrMsg = "文件上传失败,Err:" + err.Error()
-		return
+	//上传到阿里云 和 minio
+	resourceUrl := ``
+	if utils.ObjectStorageClient == "minio" {
+		err = services.UploadVideoToMinIo(fileName, fpath, savePath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
+		resourceUrl = utils.MinIoImghost + savePath
+	} else {
+		err = services.UploadVideoAliyun(fileName, fpath, savePath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
+		resourceUrl = utils.Imghost + savePath
 	}
 	utils.FileLog.Info(fmt.Sprintf("%s:", time.Now().Format(utils.FormatDateTime)))
 	utils.FileLog.Info("end update oss ")
-	resourceUrl := utils.Imghost + savePath
 
 	item := new(models.Resource)
 	item.ResourceUrl = resourceUrl
@@ -548,18 +581,29 @@ func (this *ResourceController) UploadImageBase64() {
 	hzUploadDir := "static/images/"
 	savePath := hzUploadDir + time.Now().Format("200601/20060102/")
 	savePath += fileName
-	//上传到阿里云
-	err = services.UploadFileToAliyun(fileName, fpath, savePath)
-	if err != nil {
-		br.Msg = "文件上传失败"
-		br.ErrMsg = "文件上传失败,Err:" + err.Error()
-		return
+
+	//上传到阿里云 和 minio
+	resourceUrl := ``
+	if utils.ObjectStorageClient == "minio" {
+		err = services.UploadFileToMinIo(fileName, fpath, savePath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
+		resourceUrl = utils.MinIoImghost + savePath
+	} else {
+		err = services.UploadFileToAliyun(fileName, fpath, savePath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
+		resourceUrl = utils.Imghost + savePath
 	}
 	utils.FileLog.Info("%s:", time.Now().Format(utils.FormatDateTime))
 	utils.FileLog.Info("end update oss ")
 
-	resourceUrl := utils.Imghost + savePath
-
 	item := new(models.Resource)
 	item.ResourceUrl = resourceUrl
 	item.ResourceType = 1
@@ -679,12 +723,22 @@ func (this *ResourceController) UploadV2() {
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
 		return
 	}
-	//上传到阿里云
-	resourceUrl, err := services.UploadAliyun(fileName, fpath)
-	if err != nil {
-		br.Msg = "文件上传失败"
-		br.ErrMsg = "文件上传失败,Err:" + err.Error()
-		return
+	resourceUrl := ``
+	//上传到阿里云 和 minio
+	if utils.ObjectStorageClient == "minio" {
+		resourceUrl, err = services.UploadImgToMinIo(fileName, fpath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
+	} else {
+		resourceUrl, err = services.UploadAliyunV2(fileName, fpath)
+		if err != nil {
+			br.Msg = "文件上传失败"
+			br.ErrMsg = "文件上传失败,Err:" + err.Error()
+			return
+		}
 	}
 
 	defer func() {
@@ -722,16 +776,32 @@ func (this *ResourceController) OssSTSToken() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-	resp, err := services.GetOssSTSToken()
-	if err != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取STSToken失败, Err: " + err.Error()
-		return
+
+	source, _ := this.GetInt("StorageSource")
+
+	if source == utils.STORAGESOURCE_OSS {
+		resp, err := services.GetOssSTSToken()
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取STSToken失败, Err: " + err.Error()
+			return
+		}
+		br.Data = resp
+		br.Msg = "获取成功"
+		br.Ret = 200
+		br.Success = true
+	} else if source == utils.STORAGESOURCE_MINIO {
+		resp, err := services.GetMinIOSTSToken()
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取STSToken失败, Err: " + err.Error()
+			return
+		}
+		br.Data = resp
+		br.Msg = "获取成功"
+		br.Ret = 200
+		br.Success = true
 	}
-	br.Msg = "获取成功"
-	br.Ret = 200
-	br.Success = true
-	br.Data = resp
 }
 
 // WechatWarning 小程序前端预警提示

+ 14 - 0
controllers/sys_role.go

@@ -2,6 +2,7 @@ package controllers
 
 import (
 	"eta/eta_mobile/models"
+	"eta/eta_mobile/models/company"
 	"eta/eta_mobile/models/system"
 	"eta/eta_mobile/utils"
 )
@@ -106,6 +107,19 @@ func (this *SysRoleController) SystemConfig() {
 	}
 	list = append(list, osc)
 
+	// 获取审批流设置
+	confKey := "approval_flow"
+	confTmp, e := company.GetConfigDetailByCode(confKey)
+	if e != nil {
+		br.Msg = "获取审批流配置失败"
+		br.ErrMsg = "获取审批流配置失败, Err: " + e.Error()
+		return
+	}
+	list = append(list, system.BusinessConf{
+		ConfKey: "ApprovalFlow",
+		ConfVal: confTmp.ConfigValue,
+	})
+
 	br.Data = list
 	br.Ret = 200
 	br.Success = true

+ 30 - 8
services/video.go

@@ -97,10 +97,21 @@ func CreateVideo(report *models.ReportDetail) (err error) {
 		}
 		time.Sleep(5 * time.Second)
 	}
-	uploadUrl, err := UploadAudioAliyun(saveName, savePath)
-	if err != nil {
-		err = errors.New("UploadAudioAliyun Err:" + err.Error())
-		return
+
+	uploadUrl := ``
+	//上传到阿里云 和 minio
+	if utils.ObjectStorageClient == "minio" {
+		uploadUrl, err = UploadAudioToMinIo(saveName, savePath)
+		if err != nil {
+			err = errors.New("UploadAudioAliyun Err:" + err.Error())
+			return
+		}
+	} else {
+		uploadUrl, err = UploadAudioAliyun(saveName, savePath)
+		if err != nil {
+			err = errors.New("UploadAudioAliyun Err:" + err.Error())
+			return
+		}
 	}
 
 	fileBody, err := ioutil.ReadFile(savePath)
@@ -288,10 +299,21 @@ func CreateReportVideo(reportTitle, reportContent, reportTime string) (uploadUrl
 		}
 		time.Sleep(5 * time.Second)
 	}
-	uploadUrl, err = UploadAudioAliyun(saveName, savePath)
-	if err != nil {
-		err = errors.New("UploadAudioAliyun Err:" + err.Error())
-		return
+
+
+	//上传到阿里云 和 minio
+	if utils.ObjectStorageClient == "minio" {
+		uploadUrl, err = UploadAudioToMinIo(saveName, savePath)
+		if err != nil {
+			err = errors.New("UploadAudioAliyun Err:" + err.Error())
+			return
+		}
+	} else {
+		uploadUrl, err = UploadAudioAliyun(saveName, savePath)
+		if err != nil {
+			err = errors.New("UploadAudioAliyun Err:" + err.Error())
+			return
+		}
 	}
 
 	fileBody, err := ioutil.ReadFile(savePath)