diff --git a/const.go b/const.go index 7754fa0..8b0fd3f 100644 --- a/const.go +++ b/const.go @@ -1,3 +1,3 @@ package dorm -const Version = "1.0.42" +const Version = "1.0.43" diff --git a/go.mod b/go.mod index c85cae5..bb397e0 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( go.mongodb.org/mongo-driver v1.10.2 gorm.io/driver/mysql v1.3.6 gorm.io/driver/postgres v1.3.10 - gorm.io/gorm v1.23.9 + gorm.io/gorm v1.23.10 xorm.io/xorm v1.3.2 ) @@ -70,7 +70,7 @@ require ( github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect golang.org/x/crypto v0.0.0-20220919173607-35f4265a4bc0 // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.0.0-20220920203100-d0c6ba3f52d9 // indirect + golang.org/x/net v0.0.0-20220921203646-d300de134e69 // indirect golang.org/x/sync v0.0.0-20220907140024-f12130a52804 // indirect golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8 // indirect golang.org/x/text v0.3.7 // indirect diff --git a/go.sum b/go.sum index 2756726..b70a96e 100644 --- a/go.sum +++ b/go.sum @@ -600,8 +600,8 @@ golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220920203100-d0c6ba3f52d9 h1:asZqf0wXastQr+DudYagQS8uBO8bHKeYD1vbAvGmFL8= -golang.org/x/net v0.0.0-20220920203100-d0c6ba3f52d9/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220921203646-d300de134e69 h1:hUJpGDpnfwdJW8iNypFjmSY0sCBEL+spFTZ2eO+Sfps= +golang.org/x/net v0.0.0-20220921203646-d300de134e69/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -741,8 +741,8 @@ gorm.io/driver/postgres v1.3.10 h1:Fsd+pQpFMGlGxxVMUPJhNo8gG8B1lKtk8QQ4/VZZAJw= gorm.io/driver/postgres v1.3.10/go.mod h1:whNfh5WhhHs96honoLjBAMwJGYEuA3m1hvgUbNXhPCw= gorm.io/gorm v1.23.7/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= -gorm.io/gorm v1.23.9 h1:NSHG021i+MCznokeXR3udGaNyFyBQJW8MbjrJMVCfGw= -gorm.io/gorm v1.23.9/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= +gorm.io/gorm v1.23.10 h1:4Ne9ZbzID9GUxRkllxN4WjJKpsHx8YbKvekVdgyWh24= +gorm.io/gorm v1.23.10/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/mongo_time.go b/mongo_time.go index 6331c35..393e9e9 100644 --- a/mongo_time.go +++ b/mongo_time.go @@ -14,8 +14,9 @@ type BsonTime time.Time func (bt BsonTime) MarshalJSON() ([]byte, error) { b := make([]byte, 0) - + b = append(b, '"') b = append(b, gotime.SetCurrent(time.Time(bt)).Bson()...) + b = append(b, '"') return b, nil } @@ -28,20 +29,22 @@ func (bt *BsonTime) UnmarshalJSON(data []byte) (err error) { } bsonTime := gotime.SetCurrentParse(string(data)) - *bt = BsonTime(bsonTime.Time) return nil } +// Time 转时间 func (bt BsonTime) Time() time.Time { return gotime.SetCurrent(time.Time(bt)).Time } +// Format 转时间字符串 func (bt BsonTime) Format() string { return gotime.SetCurrent(time.Time(bt)).Format() } +// TimePro 转时间操作 func (bt BsonTime) TimePro() gotime.Pro { return gotime.SetCurrent(time.Time(bt)) } @@ -68,17 +71,14 @@ func (bt BsonTime) Value() string { // MarshalBSONValue 实现bson序列化 func (bt BsonTime) MarshalBSONValue() (bsontype.Type, []byte, error) { - //log.Println("MarshalBSONValue") - targetTime := gotime.SetCurrent(time.Time(bt)).Bson() - return bson.MarshalValue(targetTime) + return bson.MarshalValue(gotime.SetCurrent(time.Time(bt)).Bson()) } // UnmarshalBSONValue 实现bson反序列化 -func (bt *BsonTime) UnmarshalBSONValue(t2 bsontype.Type, data []byte) error { - //log.Println("UnmarshalBSONValue") +func (bt *BsonTime) UnmarshalBSONValue(t bsontype.Type, data []byte) error { t1 := gotime.SetCurrentParse(string(data)) //if string(data) == "" { - // return errors.New(fmt.Sprintf("%s, %s, %s", "读取数据失败:", t2, data)) + // return errors.New(fmt.Sprintf("%s, %s, %s", "读取数据失败:", t, data)) //} *bt = BsonTime(t1.Time) return nil