Files
smartmate/backend/cmd/taskclassforum/main.go
2026-05-04 20:38:49 +08:00

39 lines
1.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package main
import (
"log"
"github.com/LoveLosita/smartflow/backend/bootstrap"
legacydao "github.com/LoveLosita/smartflow/backend/dao"
"github.com/LoveLosita/smartflow/backend/services/taskclassforum/adapter"
forumdao "github.com/LoveLosita/smartflow/backend/services/taskclassforum/dao"
forumrpc "github.com/LoveLosita/smartflow/backend/services/taskclassforum/rpc"
forumsv "github.com/LoveLosita/smartflow/backend/services/taskclassforum/sv"
"github.com/spf13/viper"
)
func main() {
if err := bootstrap.LoadConfig(); err != nil {
log.Fatalf("failed to load config: %v", err)
}
db, err := forumdao.OpenDBFromConfig()
if err != nil {
log.Fatalf("failed to connect taskclassforum database: %v", err)
}
// 1. 复用同一个 DB 句柄装配 legacy TaskClass DAO避免本轮抢改 task-class 模块。
// 2. 计划广场只通过快照端口读取和创建 TaskClass不直接写 schedule。
// 3. 后续 task-class 独立成服务后,只替换这里的 adapter 注入点。
taskClassPort := adapter.NewLegacyTaskClassAdapter(legacydao.NewTaskClassDAO(db))
svc := forumsv.New(forumsv.Options{
DB: db,
TaskClassPort: taskClassPort,
})
forumrpc.Start(forumrpc.ServerOptions{
ListenOn: viper.GetString("taskclassforum.rpc.listenOn"),
Timeout: viper.GetDuration("taskclassforum.rpc.timeout"),
Service: svc,
})
}