增加stream插件消息处理逻辑和example
This commit is contained in:
parent
8e2b1452b3
commit
851bc54daf
|
|
@ -25,12 +25,12 @@ func (req *PluginMessage) ParseData(model interface{}) (err error) {
|
||||||
if !ok {
|
if !ok {
|
||||||
return errors.New(fmt.Sprintf("invalid data: %v", req.Data))
|
return errors.New(fmt.Sprintf("invalid data: %v", req.Data))
|
||||||
}
|
}
|
||||||
stValue := reflect.ValueOf(model).Elem()
|
pValue := reflect.ValueOf(model).Elem()
|
||||||
sType := stValue.Type()
|
pType := pValue.Type()
|
||||||
for i := 0; i < sType.NumField(); i++ {
|
for i := 0; i < pType.NumField(); i++ {
|
||||||
field := sType.Field(i)
|
field := pType.Field(i)
|
||||||
if value, ok := m[field.Name]; ok {
|
if value, ok := m[field.Name]; ok {
|
||||||
stValue.Field(i).Set(reflect.ValueOf(value))
|
pValue.Field(i).Set(reflect.ValueOf(value))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue