| | |
| | | "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 { |
| | |
| | | |
| | | 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 |
| | | } |