feat(equalize): 添加目标曲线获取及缓存功能
- 新增CurveCache实现Redis曲线数据缓存与分布式锁机制,避免重复请求 - 增加CurveHandler支持目标曲线接口,通过EQ API获取并缓存曲线数据 - Config新增EqualizeConfig配置,支持环境变量动态配置 - Repository新增CurveRepository,按brand和name查询模型与目标曲线数据 - 路由更新,集成/getCurve接口处理目标曲线请求 - OTA模型字段优化,bool类型改为BoolInt,实现数据库int与JSON bool映射 - 统一响应格式,调整response包中OK和Fail函数消息字段命名 - 修改服务端配置默认DB IP,支持Equalize参数传递到路由层 - 新增CSV解析实现,从文件读取测量与目标曲线数据 - 修改OTA处理逻辑,修复定向升级判断bug - Java层新增EqualizeController和ModelService对应功能,保持客户端接口兼容与调用逻辑一致
This commit is contained in:
@@ -13,6 +13,7 @@ type Config struct {
|
||||
Database DatabaseConfig
|
||||
Meilisearch MeilisearchConfig
|
||||
Redis RedisConfig
|
||||
Equalize EqualizeConfig
|
||||
}
|
||||
|
||||
func Load() (*Config, error) {
|
||||
@@ -41,6 +42,8 @@ func Load() (*Config, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
eq := loadEqualize(env)
|
||||
|
||||
return &Config{
|
||||
Env: env,
|
||||
Host: getEnv("APP_HOST", "0.0.0.0"),
|
||||
@@ -48,6 +51,7 @@ func Load() (*Config, error) {
|
||||
Database: db,
|
||||
Meilisearch: ms,
|
||||
Redis: rd,
|
||||
Equalize: eq,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ func loadDatabase(env string) (DatabaseConfig, error) {
|
||||
}, nil
|
||||
default:
|
||||
return DatabaseConfig{
|
||||
Host: "localhost",
|
||||
Host: "192.168.9.137",
|
||||
Port: 3306,
|
||||
Name: "audio",
|
||||
User: "root",
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package config
|
||||
|
||||
import "os"
|
||||
|
||||
type EqualizeConfig struct {
|
||||
APIURL string
|
||||
MeasurementBasePath string
|
||||
TargetBasePath string
|
||||
}
|
||||
|
||||
func loadEqualize(env string) EqualizeConfig {
|
||||
if os.Getenv("EQ_API_URL") != "" {
|
||||
return EqualizeConfig{
|
||||
APIURL: os.Getenv("EQ_API_URL"),
|
||||
MeasurementBasePath: getEnv("MEASUREMENT_BASE_PATH", ""),
|
||||
TargetBasePath: getEnv("TARGET_BASE_PATH", ""),
|
||||
}
|
||||
}
|
||||
|
||||
switch env {
|
||||
case "production":
|
||||
return EqualizeConfig{
|
||||
APIURL: "https://autoeq.app/equalize",
|
||||
MeasurementBasePath: getEnv("MEASUREMENT_BASE_PATH", ""),
|
||||
TargetBasePath: getEnv("TARGET_BASE_PATH", ""),
|
||||
}
|
||||
default:
|
||||
return EqualizeConfig{
|
||||
APIURL: "https://autoeq.app/equalize",
|
||||
MeasurementBasePath: getEnv("MEASUREMENT_BASE_PATH", ""),
|
||||
TargetBasePath: getEnv("TARGET_BASE_PATH", ""),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,7 +28,7 @@ func loadRedis(env string) RedisConfig {
|
||||
}
|
||||
default:
|
||||
return RedisConfig{
|
||||
Host: "localhost",
|
||||
Host: "192.168.9.137",
|
||||
Port: 6379,
|
||||
Password: "",
|
||||
Database: 1,
|
||||
|
||||
Reference in New Issue
Block a user