From 15dc6df83a839f5913997e4e2a252a0714dc2978 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期四, 13 六月 2024 11:39:33 +0800
Subject: [PATCH] osd 添加上下行
---
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