From 4ca3791590a7bf50222aa5f80e53edf04739108a Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 22 十月 2024 17:20:23 +0800 Subject: [PATCH] fix 1400 post floor farmat --- repository/apeRepo.go | 85 +++++++++++++++++++++++++++++++++++------- 1 files changed, 70 insertions(+), 15 deletions(-) diff --git a/repository/apeRepo.go b/repository/apeRepo.go index 379ec9a..e296d68 100644 --- a/repository/apeRepo.go +++ b/repository/apeRepo.go @@ -7,6 +7,12 @@ "gat1400Exchange/vo" ) +const ( + deviceTypeApe int = iota + deviceTypeCascade + deviceTypeSubPlatform +) + type ApeRepository struct { } @@ -14,15 +20,18 @@ return ApeRepository{} } -func (a *ApeRepository) Keepalive(id string) error { - var ape models.Ape - - // 璁惧瀛樺湪 - if err := ape.FindById(id); err != nil { - return nil +func (a *ApeRepository) Keepalive(id string, devType int) { + switch devType { + case deviceTypeApe: + var m models.Ape + m.Keepalive(id) + case deviceTypeCascade: + var m models.Cascade + m.Keepalive(id) + case deviceTypeSubPlatform: + var m models.SubPlatform + m.Keepalive(id) } - - return ape.Keepalive() } func (a *ApeRepository) Create(id string) error { @@ -51,7 +60,7 @@ CapDirection: 0, MonitorDirection: "", MonitorAreaDesc: "", - IsOnline: "2", + IsOnline: "1", OwnerApsID: "", UserID: "", Password: "", @@ -67,16 +76,62 @@ return ape.FindAll() } -func (a *ApeRepository) Update(req *vo.Ape) error { +func (a *ApeRepository) Save(fromId string, req *vo.Ape) error { var ape models.Ape + _ = ape.FindById(req.ApeID) - err := ape.FindById(req.ApeID) - if err != nil { - return err - } - + ape.Id = req.ApeID ape.Name = req.Name + ape.FromId = fromId ape.Ext = *req return ape.Save() } + +func (a *ApeRepository) HandleNotification(fromId string, apes []vo.Ape) { + for _, a := range apes { + var ape models.Ape + + err := ape.FindById(a.ApeID) + if err == nil { + ape.Ext = a + } else { + ape = models.Ape{ + Id: a.ApeID, + Name: a.Name, + FromId: fromId, + HeartbeatTime: "", + Ext: a, + } + } + + ape.Save() + } +} + +func (a *ApeRepository) CollectDeviceType() map[string]int { + var ret = make(map[string]int, 0) + + var ap models.Ape + if list, err := ap.FindAll(); err == nil { + for _, item := range list { + ret[item.Id] = deviceTypeApe + } + } + + var ca models.Cascade + if list, err := ca.FindAll(); err == nil { + for _, item := range list { + ret[item.Id] = deviceTypeCascade + } + } + + var su models.SubPlatform + if list, err := su.FindAll(); err == nil { + for _, item := range list { + ret[item.Id] = deviceTypeSubPlatform + } + } + + return ret +} -- Gitblit v1.8.0