#!/bin/bash

echo "=== 修复服务配置文件中的硬编码问题 ==="

SERVICES_DIR="d:/FzxBDSH/services"

# 修复所有服务的配置文件
for service in $(ls -d "$SERVICES_DIR"/*/); do
    config_file="$service/src/main/resources/application.yml"
    
    if [ -f "$config_file" ]; then
        echo "修复: $config_file"
        
        # 替换数据库地址为环境变量
        sed -i 's/jdbc:mariadb:\/\/fzx-local-mariadb:3306/jdbc:mariadb:\/\/${DB_HOST:mariadb}:3306/g' "$config_file"
        
        # 替换Redis地址为环境变量
        sed -i 's/host: ${SPRING_REDIS_HOST:fzx-local-redis}/host: ${SPRING_REDIS_HOST:mariadb}/g' "$config_file"
        
        # 确保数据库密码使用环境变量
        sed -i 's/password: ${SPRING_DATASOURCE_PASSWORD:}/password: ${SPRING_DATASOURCE_PASSWORD:fzx@2024!dev}/g' "$config_file"
        
        # 确保Redis密码使用环境变量
        sed -i 's/password: ${SPRING_REDIS_PASSWORD:}/password: ${SPRING_REDIS_PASSWORD:fzx@2024!dev}/g' "$config_file"
        
        echo "   ✓ 已修复"
    fi
done

echo ""
echo "=== 配置修复完成 ==="
echo "现在可以使用环境变量 DB_HOST 来指定数据库地址"
echo "默认值为 mariadb，本地开发时可以设置为 fzx-local-mariadb"