score_log.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package bizhi
  2. import (
  3. orm "duoduo/database"
  4. "time"
  5. )
  6. type ScoreLog struct {
  7. ID int64 `gorm:"column:id;type:bigint(20);primary_key" json:"id"` // 主键
  8. OpenID string `gorm:"column:open_id;type:varchar(255)" json:"openId"` // open_id
  9. CreateTime string `gorm:"column:create_time;type:datetime" json:"createTime"` // 创建时间
  10. Score int `gorm:"column:score;type:int(11)" json:"score"` // 积分
  11. Des string `gorm:"column:des;type:varchar(255)" json:"des"` //描述
  12. Type int `gorm:"column:type;type:int(11)" json:"type"` //1-新用户 2-签到领取积分 3-看广告获取积分 4-邀请好友奖励积分 5-其他
  13. }
  14. type ScoreLogs struct {
  15. OpenID string `gorm:"column:open_id;type:varchar(255)" json:"openId"` // open_id
  16. CreateTime string `gorm:"column:create_time;type:datetime" json:"createTime"` // 创建时间
  17. Score int `gorm:"column:score;type:int(11)" json:"score"` // 积分
  18. Des string `gorm:"column:des;type:varchar(255)" json:"des"` //描述
  19. Type int `gorm:"column:type;type:int(11)" json:"type"` //1-新用户 2-签到领取积分 3-看广告获取积分 4-邀请好友奖励积分 5-其他
  20. }
  21. func (m *ScoreLog) TableName() string {
  22. return "score_log"
  23. }
  24. func (m *ScoreLog) ScoreLogList(pageSize int, pageIndex int) ([]ScoreLog, int, error) {
  25. var doc []ScoreLog
  26. table := orm.BzMysql.Table(m.TableName())
  27. table = table.Where("open_id = ? ", m.OpenID)
  28. var count int
  29. 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 {
  30. return nil, 0, err
  31. }
  32. table.Count(&count)
  33. return doc, count, nil
  34. }
  35. func (m *ScoreLog) CheckScoreLog(num int) bool {
  36. var number int
  37. 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
  38. if err != nil {
  39. return false
  40. }
  41. if number >= num {
  42. return false
  43. }
  44. return true
  45. }