oamreport.go 1000 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // 监控对象
  2. // 秒寻科技
  3. // zt 2024-09-17
  4. package oam
  5. import (
  6. "fmt"
  7. "ipsomc/module/ps/psmodel"
  8. "ipsomc/public"
  9. )
  10. type OamReport struct {
  11. }
  12. const (
  13. ORDER_REPORT_UDP_HEART = 0x0201 //udp心跳
  14. )
  15. // 设备上报参数
  16. // dataModel:基站基本参数模型
  17. // wCommand:监控命令
  18. // dataList:数据队列
  19. // wLen:队列长度
  20. func (obj *OamReport) OamReportCmd(stHeadModel *psmodel.PS_HEAD_T, wCommand uint16, dataList []byte, wLen uint16) error {
  21. switch wCommand {
  22. case ORDER_REPORT_UDP_HEART:
  23. var modeHeart public.HeartMapValue
  24. heartIdStr := fmt.Sprintf("%08X", stHeadModel.StVpHead.ProjectID) + "-" + fmt.Sprintf("%08X", stHeadModel.StVpHead.DeviceID)
  25. _, exist := public.Gpub_mapHeart[heartIdStr]
  26. if !exist {
  27. modeHeart.ProjectID = stHeadModel.StVpHead.ProjectID
  28. modeHeart.BtsID = stHeadModel.StVpHead.DeviceID
  29. public.Gpub_mutex.Lock()
  30. public.Gpub_mapHeart[heartIdStr] = modeHeart //在线
  31. public.Gpub_mutex.Unlock()
  32. }
  33. default:
  34. break
  35. }
  36. return nil
  37. }