LingxinMeng hai 11 meses
pai
achega
506f92162a

+ 1 - 1
aarch64/pji/common/config/c_cloud.go

@@ -142,12 +142,12 @@ func InitCloudConfig() {
 	}
 
 	for {
-		time.Sleep(time.Duration(2) * time.Second)
 		OssMutex.Lock()
 		err := OssBucket.GetObjectToFile(cloudConfigObjectKey, LocalConfig.CloudConfigLocalPath)
 		OssMutex.Unlock()
 		if err != nil {
 			c_log.GlobalLogger.Error("下载 OSS 上的配置文件 "+cloudConfigObjectKey+" 失败,请尽快在 OSS 上传配置文件。", err)
+			time.Sleep(time.Duration(2) * time.Second)
 			continue
 		}
 		break

+ 24 - 3
aarch64/pjisuv/common/config/c_cloud.go

@@ -75,10 +75,20 @@ func InitCloudConfig() {
 	c_log.GlobalLogger.Info("初始化OSS配置文件 - 开始。")
 	// 获取文件的目录
 	_ = util.CreateParentDir(LocalConfig.CloudConfigLocalPath)
-	// 3 获取 yaml 字符串
-	var content []byte
+	// 3 ------- 获取 yaml 字符串 -------
 	cloudConfigObjectKey := LocalConfig.OssBasePrefix + LocalConfig.EquipmentNo + "/" + LocalConfig.CloudConfigFilename
 	// todo 等待时间同步
+	// 判断文件是否存在。如果不存在则使用默认的
+	isExist, err := OssBucket.IsObjectExist(cloudConfigObjectKey)
+	if err != nil {
+		c_log.GlobalLogger.Errorf("判断配置文件是否存在失败,错误信息为:%v", err)
+	}
+	if isExist {
+		c_log.GlobalLogger.Info("使用机器人自定义配置文件:", cloudConfigObjectKey)
+	} else {
+		cloudConfigObjectKey = LocalConfig.OssBasePrefix + LocalConfig.CloudConfigFilename // 默认配置文件路径
+		c_log.GlobalLogger.Info("使用机器人默认配置文件:", cloudConfigObjectKey)
+	}
 	for {
 		OssMutex.Lock()
 		err := OssBucket.GetObjectToFile(cloudConfigObjectKey, LocalConfig.CloudConfigLocalPath)
@@ -133,8 +143,19 @@ func refreshCloudConfig() {
 	// 3 ------- 获取 yaml 字符串 -------
 	var content []byte
 	cloudConfigObjectKey := LocalConfig.OssBasePrefix + LocalConfig.EquipmentNo + "/" + LocalConfig.CloudConfigFilename
+	// 判断文件是否存在。如果不存在则使用默认的
+	isExist, err := OssBucket.IsObjectExist(cloudConfigObjectKey)
+	if err != nil {
+		c_log.GlobalLogger.Errorf("判断配置文件是否存在失败,错误信息为:%v", err)
+	}
+	if isExist {
+		c_log.GlobalLogger.Info("使用机器人自定义配置文件:", cloudConfigObjectKey)
+	} else {
+		cloudConfigObjectKey = LocalConfig.OssBasePrefix + LocalConfig.CloudConfigFilename // 默认配置文件路径
+		c_log.GlobalLogger.Info("使用机器人默认配置文件:", cloudConfigObjectKey)
+	}
 	OssMutex.Lock()
-	err := OssBucket.GetObjectToFile(cloudConfigObjectKey, LocalConfig.CloudConfigLocalPath)
+	err = OssBucket.GetObjectToFile(cloudConfigObjectKey, LocalConfig.CloudConfigLocalPath)
 	OssMutex.Unlock()
 	if err != nil {
 		c_log.GlobalLogger.Error("下载oss上的配置文件"+cloudConfigObjectKey+"失败。", err)