From c68a2d376f67d60277001e3f748fbd71c5201af3 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 08 十二月 2023 17:02:12 +0800 Subject: [PATCH] debug --- model/model.go | 33 ++++++++++++++------------------- 1 files changed, 14 insertions(+), 19 deletions(-) diff --git a/model/model.go b/model/model.go index 533c35d..aa1f864 100644 --- a/model/model.go +++ b/model/model.go @@ -8,9 +8,10 @@ "time" ) +type BigID uint + type CommonModel struct { - ID uint `gorm:"primary_key" json:"-"` - IDStr string `json:"ID" gorm:"-"` + ID BigID `gorm:"primary_key"` CreatedAt time.Time UpdatedAt time.Time DeletedAt *time.Time `sql:"index"` @@ -23,32 +24,26 @@ // 澶勭悊 ID 涓鸿礋鏁扮殑鎯呭喌锛堝彲閫夛級 id = snowflake.GenerateID() } - c.ID = uint(id) + c.ID = BigID(id) } } -func (c *CommonModel) UnmarshalJSON(b []byte) error { - var data map[string]interface{} - if err := json.Unmarshal(b, &data); err != nil { +func (id *BigID) UnmarshalJSON(b []byte) error { + var idString string + if err := json.Unmarshal(b, &idString); err != nil { return err } - if idStr, ok := data["ID"].(string); ok { - id, err := strconv.ParseUint(idStr, 10, 64) - if err != nil { - return err - } - c.ID = uint(id) - c.IDStr = idStr + idValue, err := strconv.ParseUint(idString, 10, 64) + if err != nil { + return err } + *id = BigID(idValue) return nil } -func (c *CommonModel) MarshalJSON() ([]byte, error) { - if c.ID != 0 && c.IDStr == "" { - c.IDStr = strconv.FormatUint(uint64(c.ID), 10) - } - - return json.Marshal(c) +func (id *BigID) MarshalJSON() ([]byte, error) { + idString := strconv.FormatUint(uint64(*id), 10) + return []byte(idString), nil } -- Gitblit v1.8.0