diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index 9953227a1..42ae68820 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -2,11 +2,13 @@ package utils import ( "fmt" + "github.com/jinzhu/copier" "reflect" ) // copy a by b b->a func CopyStructFields(a interface{}, b interface{}, fields ...string) (err error) { + copier.Copy(&a, &b) at := reflect.TypeOf(a) av := reflect.ValueOf(a) bt := reflect.TypeOf(b) @@ -34,6 +36,7 @@ func CopyStructFields(a interface{}, b interface{}, fields ...string) (err error for i := 0; i < len(_fields); i++ { name := _fields[i] + f := av.Elem().FieldByName(name) bValue := bv.FieldByName(name)