Browse Source

Merge branch 'pool/400' into debug

Roc 1 week ago
parent
commit
9925564722

+ 1 - 0
go.mod

@@ -26,6 +26,7 @@ require (
 	github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.641
 	github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ses v1.0.641
 	golang.org/x/image v0.2.0
+	golang.org/x/net v0.0.0-20221014081412-f15817d10f9b
 	gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
 	gorm.io/driver/mysql v1.4.4
 	gorm.io/gorm v1.24.2

+ 8 - 0
init_serve/mysql.go

@@ -6,6 +6,7 @@ import (
 	"gorm.io/gorm"
 	"gorm.io/gorm/logger"
 	"hongze/hongze_yb_en_api/global"
+	"hongze/hongze_yb_en_api/models/business_conf"
 	"io"
 	"log"
 	"os"
@@ -70,4 +71,11 @@ func Mysql() {
 
 	//全局赋值数据库链接
 	global.MYSQL = mysqlMap
+
+	// 初始化后的操作
+	afterInitDb()
+}
+
+func afterInitDb() {
+	business_conf.InitBusinessConf()
 }

+ 43 - 15
models/business_conf/business_conf.go

@@ -2,10 +2,16 @@ package business_conf
 
 import (
 	"hongze/hongze_yb_en_api/global"
+	"hongze/hongze_yb_en_api/utils"
 	"html"
+	"strconv"
 	"time"
 )
 
+var (
+	BusinessConfMap map[string]string
+)
+
 type BusinessConf struct {
 	Id         int       `gorm:"primaryKey;column:id" json:"id"`
 	ConfKey    string    `gorm:"column:conf_key" json:"conf_key"`                      // 配置Key
@@ -21,21 +27,22 @@ func (c *BusinessConf) TableName() string {
 }
 
 const (
-	BusinessConfDisclaimer           = "Disclaimer"
-	BusinessConfH5ShareName          = "H5ShareName"
-	BusinessConfH5ShareEnName        = "H5ShareEnName"
-	BusinessConfH5ReportShareImg     = "H5ReportShareImg"
-	BusinessConfWatermarkChart       = "WatermarkChart"
-	BusinessConfWatermarkReport      = "WatermarkReport"
-	BusinessConfWxAppId              = "WxAppId"
-	BusinessConfWxAppSecret          = "WxAppSecret"
-	BusinessConfReportViewUrl        = "ReportViewUrl"
-	BusinessConfReport2ImgUrl        = "Report2ImgUrl"
-	BusinessConfReportLogo           = "ReportLogo"           // 报告logo
-	BusinessConfReportCenterLogoShow = "ReportCenterLogoShow" // 报告logo
-	BusinessConfReportEnLogoShow     = "ReportEnLogoShow"     // 报告logo
-	BusinessConfDisclaimerEn         = "DisclaimerEn"         // 英文免责声明
-	BusinessConfIsOpenChartExpired   = "IsOpenChartExpired"   // 图表是否鉴权
+	BusinessConfDisclaimer             = "Disclaimer"
+	BusinessConfH5ShareName            = "H5ShareName"
+	BusinessConfH5ShareEnName          = "H5ShareEnName"
+	BusinessConfH5ReportShareImg       = "H5ReportShareImg"
+	BusinessConfWatermarkChart         = "WatermarkChart"
+	BusinessConfWatermarkReport        = "WatermarkReport"
+	BusinessConfWxAppId                = "WxAppId"
+	BusinessConfWxAppSecret            = "WxAppSecret"
+	BusinessConfReportViewUrl          = "ReportViewUrl"
+	BusinessConfReport2ImgUrl          = "Report2ImgUrl"
+	BusinessConfReportLogo             = "ReportLogo"             // 报告logo
+	BusinessConfReportCenterLogoShow   = "ReportCenterLogoShow"   // 报告logo
+	BusinessConfReportEnLogoShow       = "ReportEnLogoShow"       // 报告logo
+	BusinessConfDisclaimerEn           = "DisclaimerEn"           // 英文免责声明
+	BusinessConfIsOpenChartExpired     = "IsOpenChartExpired"     // 图表是否鉴权
+	BusinessConfReportChartExpiredTime = "ReportChartExpiredTime" // 图表有效期鉴权时间,单位:分钟
 )
 
 func (c *BusinessConf) GetList(condition string, pars []interface{}) (list []*BusinessConf, err error) {
@@ -62,3 +69,24 @@ func (c *BusinessConf) GetBusinessConf() (list map[string]string, err error) {
 	}
 	return
 }
+
+func InitBusinessConf() {
+	obj := &BusinessConf{}
+	var e error
+	BusinessConfMap, e = obj.GetBusinessConf()
+	if e != nil {
+		return
+	}
+
+	// 图表有效期的过期时间
+	if BusinessConfMap[BusinessConfReportChartExpiredTime] != "" {
+		reportChartExpiredTime, _ := strconv.Atoi(BusinessConfMap[BusinessConfReportChartExpiredTime])
+		if reportChartExpiredTime <= 0 {
+			reportChartExpiredTime = 30
+		}
+		utils.BusinessConfReportChartExpiredTime = time.Duration(reportChartExpiredTime) * time.Minute
+	} else {
+		utils.BusinessConfReportChartExpiredTime = 30 * time.Minute
+	}
+
+}

+ 4 - 5
services/english_report/report_handle.go

@@ -111,7 +111,7 @@ func linkAddToken(link string, tokenMap map[string]string) string {
 		}
 	}
 
-	token, err := GeneralChartToken(showType, code, 30*time.Minute)
+	token, err := GeneralChartToken(showType, code)
 	if err != nil {
 		return link
 	}
@@ -155,14 +155,13 @@ func linkDelToken(link string) string {
 // @datetime 2025-01-07 10:41:36
 // @param showType string
 // @param uniqueCode string
-// @param expireTime time.Duration
 // @return token string
 // @return err error
-func GeneralChartToken(showType, uniqueCode string, expireTime time.Duration) (token string, err error) {
+func GeneralChartToken(showType, uniqueCode string) (token string, err error) {
 	// 缓存key
 	token = utils.MD5(fmt.Sprint(showType+`:`, uniqueCode, time.Now().UnixNano()/1e6))
 	key := fmt.Sprint(utils.CACHE_CHART_AUTH, token)
-	err = global.Redis.SetEX(context.TODO(), key, uniqueCode, expireTime).Err()
+	err = global.Redis.SetEX(context.TODO(), key, uniqueCode, utils.BusinessConfReportChartExpiredTime).Err()
 
 	return
 }
@@ -223,7 +222,7 @@ func processMap(data map[string]interface{}, opType string, tokenMap map[string]
 				if !utils.InArrayByStr([]string{`sheet`, `chart`}, contentSourceType) {
 					continue
 				}
-				
+
 				newContent := v
 				// 处理链接
 				switch opType {

+ 5 - 0
utils/business_conf.go

@@ -0,0 +1,5 @@
+package utils
+
+import "time"
+
+var BusinessConfReportChartExpiredTime time.Duration //图表有效期鉴权时间,单位:分钟