package adaptors import ( "encoding/json" "goInOut/consumers/HBJCAS/protoFiles_hb" "goInOut/models" "google.golang.org/protobuf/proto" "time" ) // Adaptor_AXYES_HBGL 统一采集软件数据 转换 湘潭健康监测平台 type Adaptor_AXYES_HBGL struct { //传感器code转换信息 GnssMap map[string]string RainMap map[string]string NBWYMap map[string]string DXSWMap map[string]string //一些必要信息 Info map[string]string } func (the Adaptor_AXYES_HBGL) Transform(rawMsg string) []NeedPush { esAggDateHistogram := models.EsThemeAggDateHistogram{} var needPush []NeedPush err := json.Unmarshal([]byte(rawMsg), &esAggDateHistogram) if err != nil { return nil } needPush = append(needPush, NeedPush{ Payload: the.EsAggTopToHBJCAS(esAggDateHistogram), }) return needPush } func (the Adaptor_AXYES_HBGL) EsAggTopToHBJCAS(esAgg models.EsThemeAggDateHistogram) (result []byte) { Atime := time.Now() QjComplexData := &protoFiles_hb.ComplexData{} dataDefinitionStatisticData := &protoFiles_hb.DataDefinition_StatisticData{ StatisticData: &protoFiles_hb.StatisticData{ MonitorType: protoFiles_hb.MonitoryType_INC, MonitorCode: 13000100001, EventTime: Atime.Add(-8 * time.Hour).UnixMilli(), Interval: 60 * 1000, DataBody: &protoFiles_hb.StatisticData_Inc{Inc: &protoFiles_hb.INCStatistic{ MaxAbsoluteValueX: 0, AvgValueX: 0, RootMeanSquareX: 0, MaxAbsoluteValueY: 0, AvgValueY: 0, RootMeanSquareY: 0, }}, }, } dataDefinition := &protoFiles_hb.DataDefinition{ DataType: protoFiles_hb.DataType_STATISTICS, UniqueCode: "130109", //乃积沟大桥 DataBody: dataDefinitionStatisticData, } QjComplexData.SensorData = append(QjComplexData.SensorData, dataDefinition) result, _ = proto.Marshal(QjComplexData) return result }