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