package bizhi import ( orm "duoduo/database" "time" ) type ScoreLog struct { ID int64 `gorm:"column:id;type:bigint(20);primary_key" json:"id"` // 主键 OpenID string `gorm:"column:open_id;type:varchar(255)" json:"openId"` // open_id CreateTime string `gorm:"column:create_time;type:datetime" json:"createTime"` // 创建时间 Score int `gorm:"column:score;type:int(11)" json:"score"` // 积分 Des string `gorm:"column:des;type:varchar(255)" json:"des"` //描述 Type int `gorm:"column:type;type:int(11)" json:"type"` //1-新用户 2-签到领取积分 3-看广告获取积分 4-邀请好友奖励积分 5-其他 } type ScoreLogs struct { OpenID string `gorm:"column:open_id;type:varchar(255)" json:"openId"` // open_id CreateTime string `gorm:"column:create_time;type:datetime" json:"createTime"` // 创建时间 Score int `gorm:"column:score;type:int(11)" json:"score"` // 积分 Des string `gorm:"column:des;type:varchar(255)" json:"des"` //描述 Type int `gorm:"column:type;type:int(11)" json:"type"` //1-新用户 2-签到领取积分 3-看广告获取积分 4-邀请好友奖励积分 5-其他 } func (m *ScoreLog) TableName() string { return "score_log" } func (m *ScoreLog) ScoreLogList(pageSize int, pageIndex int) ([]ScoreLog, int, error) { var doc []ScoreLog table := orm.BzMysql.Table(m.TableName()) table = table.Where("open_id = ? ", m.OpenID) var count int if err := table.Select("id,open_id,score,DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%s') as create_time,des,type").Order("id desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Error; err != nil { return nil, 0, err } table.Count(&count) return doc, count, nil } func (m *ScoreLog) CheckScoreLog(num int) bool { var number int err := orm.BzMysql.Table(m.TableName()).Where("open_id = ? and type = ? and create_time >= ?", m.OpenID, m.Type, time.Now().Format("2006-01-02")).Count(&number).Error if err != nil { return false } if number >= num { return false } return true }