Răsfoiți Sursa

保存素材库兼容内网客户

hsun 3 săptămâni în urmă
părinte
comite
60d631586b
2 a modificat fișierele cu 29 adăugiri și 2 ștergeri
  1. 9 2
      models/business_conf.go
  2. 20 0
      services/material/material.go

+ 9 - 2
models/business_conf.go

@@ -64,8 +64,9 @@ const (
 	KnowledgeArticleName                     = "KnowledgeArticleName"             // 原文库
 	BusinessConfEsWechatArticle              = "EsIndexNameWechatArticle"         // ES索引名称-微信文章
 	BusinessConfEsWechatArticleAbstract      = "EsIndexNameWechatArticleAbstract" // ES索引名称-微信文章摘要
-	BusinessConfIsOpenChartExpired     = "IsOpenChartExpired"     // 是否开启图表有效期鉴权/报告禁止复制
-	BusinessConfReportChartExpiredTime = "ReportChartExpiredTime" // 图表有效期鉴权时间,单位:分钟
+	BusinessConfIsOpenChartExpired           = "IsOpenChartExpired"               // 是否开启图表有效期鉴权/报告禁止复制
+	BusinessConfReportChartExpiredTime       = "ReportChartExpiredTime"           // 图表有效期鉴权时间,单位:分钟
+	BusinessConfOssUrlReplace                = "OssUrlReplace"                    // OSS地址替换-兼容内网客户用
 )
 
 const (
@@ -301,3 +302,9 @@ func InitBusinessConf() {
 	}
 
 }
+
+type OssUrlReplace struct {
+	IsReplace    bool   `description:"是否替换"`
+	OssUrlOrigin string `description:"被替换的资源地址"`
+	OssUrlNew    string `description:"新的资源地址"`
+}

+ 20 - 0
services/material/material.go

@@ -1,6 +1,7 @@
 package materialService
 
 import (
+	"encoding/json"
 	"eta/eta_api/models"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/models/data_manage/excel"
@@ -168,6 +169,25 @@ func AddToMaterial(req material.SaveAsMaterialReq, opUserId int, opUserName stri
 		return
 	}
 
+	// 兼容部分内网客户替换OSS地址
+	conf, e := models.GetBusinessConfByKey(models.BusinessConfOssUrlReplace)
+	if e != nil && !utils.IsErrNoRow(e) {
+		errMsg = "操作失败"
+		err = fmt.Errorf("获取内网配置失败, %v", e)
+		return
+	}
+	if conf != nil && conf.ConfVal != "" {
+		var urlReplace models.OssUrlReplace
+		if e := json.Unmarshal([]byte(conf.ConfVal), &urlReplace); e != nil {
+			errMsg = "操作失败"
+			err = fmt.Errorf("内网配置解析失败, %v", e)
+			return
+		}
+		if urlReplace.IsReplace && urlReplace.OssUrlOrigin != "" {
+			oldRsourceUrl = strings.ReplaceAll(oldRsourceUrl, urlReplace.OssUrlOrigin, urlReplace.OssUrlNew)
+		}
+	}
+
 	resourceUrl, err, errMsg := uploadToMaterial(oldRsourceUrl)
 	if err != nil {
 		return