package entity import ( "time" "gopkg.in/guregu/null.v3" "xiaoniaokuaiyan.com/xiaoniao/cerror" "xiaoniaokuaiyan.com/xiaoniao/constants" ) type Fcode struct { Id int `db:"id"` TypeId int `db:"type_id"` CodeStr string `db:"code_str"` TicketValue int `db:"ticket_value"` UseMaxValue int `db:"use_max_value"` UseNum int `db:"use_num"` AlreadyUseNum int `db:"already_use_num"` Deadline string `db:"deadline"` TicketDeadline string `db:"ticket_deadline"` CreatedAt string `db:"createdAt"` Remark null.String `db:"remark" json:"remark"` BindProducts null.String `db:"bind_products"` Usefor null.String `db:"usefor" json:"usefor"` TicketValidDays null.Int `db:"ticket_valid_days" json:"ticket_valid_days"` } func (codeItem *Fcode) Valid() cerror.CError { deadline, _ := time.Parse("2006-01-02", codeItem.Deadline) if deadline.Before(time.Now().AddDate(0, 0, -1)) { return cerror.New(constants.ERRORCODE_FCODE_EXPIRED, "code has expired|"+codeItem.Deadline) } if codeItem.AlreadyUseNum >= codeItem.UseNum { return cerror.New(constants.ERRORCODE_FCODE_UPEXCEED, "码的使用次数已达到上限") } return nil }