互动
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.8 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. package models
  2. import (
  3. "fmt"
  4. "github.com/ouxuanserver/osmanthuswine/src/core"
  5. "time"
  6. )
  7. const CustomerOrderOptionTableName = TableNamePrefix + "customer_order_option"
  8. type CustomerOrderOption struct {
  9. Id int64 `json:"id" xorm:"not null pk INT(11)"`
  10. ActivityId int64 `json:"activity_id" xorm:"not null default 0 comment('互动id') INT(11)"`
  11. SettingBox string `json:"setting_box" xorm:"not null comment('json格式 选中的表单项') TEXT"`
  12. SelfBox string `json:"self_box" xorm:"not null comment('json格式 邀请函选中的表单项') TEXT"`
  13. Status int `json:"status" xorm:"not null default 0 comment('订单活动的开启1|关闭0') TINYINT(1)"`
  14. PostFeeType int `json:"post_fee_type" xorm:"not null default 0 comment('直播订单运费设置0包邮1货到付款2收费') TINYINT(1)"`
  15. PostFee float64 `json:"post_fee" xorm:"not null default 0.00 comment('直播订单运费') DECIMAL(18)"`
  16. IsDelete int `json:"-" xorm:"not null default 0 comment('删除') TINYINT(1)"`
  17. CreatedAt time.Time `json:"-" xorm:"created"`
  18. UpdatedAt time.Time `json:"-" xorm:"updated"`
  19. }
  20. func (t *CustomerOrderOption) TableName() string {
  21. return CustomerOrderOptionTableName
  22. }
  23. func (t *CustomerOrderOption) AliasName(n string) string {
  24. return fmt.Sprintf("%s as %s", t.TableName(), n)
  25. }
  26. func (t *CustomerOrderOption) GetByActivityId(aid int64) (bool, error) {
  27. return core.GetXormAuto().Where("is_delete=0 and activity_id=?", aid).Get(t)
  28. }
  29. func (t *CustomerOrderOption) GetOpen(aid int64) (bool, error) {
  30. return core.GetXormAuto().Where("is_delete=0 and activity_id=? and status=?", aid, 1).
  31. Desc("created_at").Get(t)
  32. }
  33. func (t *CustomerOrderOption) Switch(aid int64, status int) (int64, error) {
  34. t.Status = status
  35. return core.GetXormAuto().Where("is_delete=0 and activity_id=?", aid).Cols("status").Update(t)
  36. }