| | |
| | | "gat1400Exchange/vo" |
| | | ) |
| | | |
| | | const ( |
| | | deviceTypeApe int = iota |
| | | deviceTypeCascade |
| | | deviceTypeSubPlatform |
| | | ) |
| | | |
| | | type ApeRepository struct { |
| | | } |
| | | |
| | |
| | | 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 { |
| | |
| | | CapDirection: 0, |
| | | MonitorDirection: "", |
| | | MonitorAreaDesc: "", |
| | | IsOnline: "2", |
| | | IsOnline: "1", |
| | | OwnerApsID: "", |
| | | UserID: "", |
| | | Password: "", |
| | |
| | | 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 |
| | | } |