merchant.active.group.buy.project.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package shanghu
  2. import (
  3. orm "duoduo/database"
  4. "time"
  5. )
  6. type MerchantActiveGroupByProject struct {
  7. ID int64 `gorm:"column:id;type:bigint(20);primary_key;AUTO_INCREMENT" json:"id"`
  8. MerchantOpenID string `gorm:"column:merchant_open_id;type:varchar(255)" json:"merchant_open_id"` // Open id
  9. GroupBuyID int64 `gorm:"column:group_buy_id;type:bigint(20)" json:"group_buy_id"` // 关联活动
  10. ProjectName string `gorm:"column:project_name;type:varchar(255)" json:"project_name"` // 项目名
  11. CancelNum int `gorm:"column:cancel_num;type:int(11)" json:"cancel_num"` // 核销数量
  12. CreateBy int64 `gorm:"column:create_by;type:bigint(20)" json:"create_by"` // 创建者
  13. UpdateBy int64 `gorm:"column:update_by;type:bigint(20)" json:"update_by"` // 更新者
  14. CreatedAt time.Time `gorm:"column:created_at;type:datetime(3)" json:"created_at"` // 创建时间
  15. UpdatedAt time.Time `gorm:"column:updated_at;type:datetime(3)" json:"updated_at"` // 最后更新时间
  16. DeletedAt time.Time `gorm:"column:deleted_at;type:datetime(3);default:null" json:"deleted_at"` // 删除时间
  17. }
  18. func (m *MerchantActiveGroupByProject) TableName() string {
  19. return "merchant_active_group_by_project"
  20. }
  21. func (u *MerchantActiveGroupByProject) Create() (MerchantActiveGroupByProject, error) {
  22. var doc MerchantActiveGroupByProject
  23. var err error
  24. doc = *u
  25. err = orm.ShMysql.Table(u.TableName()).Create(&doc).Error
  26. if err != nil {
  27. return doc, err
  28. }
  29. return doc, nil
  30. }
  31. // 中奖商品列表
  32. func (m *MerchantActiveGroupByProject) GetGroupBuyProjectList() ([]MerchantActiveGroupByProject, int, error) {
  33. var doc []MerchantActiveGroupByProject
  34. table := orm.ShMysql.Table(m.TableName())
  35. table = table.Where("group_buy_id = ? ", m.GroupBuyID)
  36. var count int
  37. if err := table.Select("*").Order("id desc").Find(&doc).Error; err != nil {
  38. return nil, 0, err
  39. }
  40. table.Count(&count)
  41. return doc, count, nil
  42. }
  43. func (m *MerchantActiveGroupByProject) GetMerchantActiveGroupBuyProjectByID() (MerchantActiveGroupByProject, error) {
  44. var doc MerchantActiveGroupByProject
  45. table := orm.ShMysql.Table(m.TableName())
  46. table = table.Where("id = ? ", m.ID)
  47. if err := table.Select("*").First(&doc).Error; err != nil {
  48. return doc, err
  49. }
  50. return doc, nil
  51. }