From 5fe854a6db5c357e0d38b2c48bf7446b6a3e8a0f Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Fri, 23 Jul 2021 15:27:02 +0800 Subject: [PATCH] aa --- dao/dao.go | 8 +++----- services/order.go | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/dao/dao.go b/dao/dao.go index 5a45249..bbb699e 100644 --- a/dao/dao.go +++ b/dao/dao.go @@ -60,7 +60,7 @@ func Update(db *sqlx.DB, obj interface{}, fields ...string) (err error) { sql = strings.Builder{} sqlParams = []interface{}{} direct reflect.Value - fieldsMap = make(map[string]string) + fieldsMap = make(map[string]*struct{}) ) if stype.Kind() != reflect.Struct { direct = reflect.Indirect(value) @@ -74,12 +74,12 @@ func Update(db *sqlx.DB, obj interface{}, fields ...string) (err error) { fieldsStr := []string{} for _, v := range fields { fieldsStr = append(fieldsStr, v+"=?") - fieldsMap[v] = v + fieldsMap[v] = &struct{}{} } sql.WriteString(strings.Join(fieldsStr, ",")) sql.WriteString(" WHERE id = ?") for i := 1; i < stype.NumField(); i++ { - if fieldsMap[stype.Field(i).Tag.Get("json")] != "" { + if fieldsMap[stype.Field(i).Tag.Get("json")] != nil { if stype.Field(i).Type.String() == "*time.Time" { if direct.Field(i).Interface().(*time.Time) != nil { sqlParams = append(sqlParams, direct.Field(i).Interface()) @@ -96,8 +96,6 @@ func Update(db *sqlx.DB, obj interface{}, fields ...string) (err error) { } else { sqlParams = append(sqlParams, direct.Field(0).Int()) } - fmt.Println(sql.String()) - fmt.Println(sqlParams) _, err = db.DB.Exec(sql.String(), sqlParams...) return err } diff --git a/services/order.go b/services/order.go index 12bf163..5df2cb7 100644 --- a/services/order.go +++ b/services/order.go @@ -49,7 +49,7 @@ var ( if err == nil { order.PrepayID = result.PayInfo order.TransactionID = result.TrxID - err = dao.Update(db, order, "prepay_id", "transaction_id") + err = dao.Update(db, order, "transaction_id", "prepay_id") } return err },