| | |
| | | |
| | | import ( |
| | | "apsClient/pkg/snowflake" |
| | | "encoding/json" |
| | | "github.com/jinzhu/gorm" |
| | | "strconv" |
| | | "time" |
| | | ) |
| | | |
| | | type CommonModel struct { |
| | | ID uint `gorm:"primary_key;autoIncrement:false"` |
| | | ID uint `gorm:"primary_key;autoIncrement:false" json:"-"` |
| | | IDStr string `json:"ID" gorm:"-"` |
| | | CreatedAt time.Time |
| | | UpdatedAt time.Time |
| | | DeletedAt *time.Time `sql:"index"` |
| | |
| | | c.ID = uint(id) |
| | | } |
| | | } |
| | | func (c CommonModel) UnmarshalJSON(b []byte) (err error) { |
| | | id, err := strconv.ParseUint(c.IDStr, 10, 64) |
| | | if err != nil { |
| | | return err |
| | | } |
| | | c.ID = uint(id) |
| | | return |
| | | } |
| | | |
| | | func (c CommonModel) MarshalJSON() ([]byte, error) { |
| | | c.IDStr = strconv.FormatUint(uint64(c.ID), 10) |
| | | return json.Marshal(c) |
| | | } |