| 123456789101112131415161718192021222324252627282930313233343536 |
- package initialize
- import (
- "go.uber.org/zap"
- "wails-app/internal/dao"
- "wails-app/internal/global"
- parkingService "wails-app/internal/service/parking"
- "wails-app/internal/service/uhf"
- )
- // InitGateController 根据配置初始化真实设备或模拟道闸控制器。
- func InitGateController() {
- if global.GVA_CONFIG.System.GateSimulator {
- parkingService.SetGateController(parkingService.NewSimulatedGateController())
- global.GVA_LOG.Warn("道闸模拟模式已启用,不会发送真实设备指令")
- return
- }
- InitUHFDevices()
- }
- func InitUHFDevices() {
- var devices []dao.UHFReader
- // 从数据库查询所有激活的设备
- if err := global.GVA_DB.Where("is_active = ?", true).Find(&devices).Error; err != nil {
- return
- }
- // 逐个启动设备处理协程
- for _, d := range devices {
- go func(device dao.UHFReader) {
- if err := uhf.StartDeviceHandler(&device); err != nil {
- global.GVA_LOG.Error("启动设备失败", zap.String("code", device.DeviceCode), zap.Error(err))
- }
- }(d)
- }
- }
|