package api import ( "enterprise/common/model" "github.com/smbrave/goutil" "github.com/spf13/cast" "time" ) type BaseRequest struct { Page int `form:"page"` Size int `form:"size"` } func (b *BaseRequest) Default() { if b.Page <= 0 { b.Page = 1 } if b.Size <= 0 { b.Size = 10 } } type ListCheckin struct { BaseRequest Username string `form:"username"` StartDay string `form:"start_day"` EndDay string `form:"end_day"` } type SyncCheckin struct { StartDay string `json:"start_day"` EndDay string `json:"end_day"` } type Checkin struct { Id string `json:"id"` Username string `json:"username"` Day string `json:"day"` Month string `json:"month"` Exception string `json:"exception"` Rawdata string `json:"rawdata"` StartTime string `json:"start_time"` EndTime string `json:"end_time"` Duration string `json:"duration"` CreateTime string `json:"create_time"` } func (c *Checkin) From(m *model.Checkin) { c.Id = cast.ToString(m.Id) c.Username = m.Username c.Day = m.Day c.Month = m.Month c.StartTime = goutil.TimeToDateTime(m.StartTime) c.EndTime = goutil.TimeToDateTime(m.EndTime) c.CreateTime = goutil.TimeToDateTime(m.CreateTime) if m.EndTime > 0 && m.StartTime > 0 && m.EndTime > m.StartTime { c.Duration = (time.Duration(m.EndTime-m.StartTime) * time.Second).String() } c.Exception = m.Exception c.Rawdata = m.Rawdata }