|
|
package models
import ( "github.com/ouxuanserver/osmanthuswine/src/core" "time" )
const SignHistoryTN = TableNamePrefix + "sign_history"
//签到历史表
type SignHistory struct { Id int64 `json:"id" xorm:"pk autoincr comment('主键') INT(11)"` AreaId int64 `json:"area_id" xorm:"not null default 0 comment('地区id') INT(11)"` ActivityId int64 `json:"activity_id" xorm:"not null default 0 comment('主活动id') INT(11)"` RehearsalId int64 `json:"rehearsal_id" xorm:"not null default 0 comment('彩排id/ 0正式') INT(11)"` SignRuleId int64 `json:"sign_rule_id" xorm:"not null default 0 comment('sign_up表id') INT(11)"` Type int `json:"type" xorm:"not null default 0 comment('普通签到') TINYINT(1)"` UserId int64 `json:"user_id" xorm:"not null default 0 comment('用户表id') TINYINT(11)"` SignMethod int `json:"sign_method" xorm:"not null default 0 comment('1扫码签到2实名签到3人脸签到') TINYINT(1)"` Content string `json:"content" xorm:"json comment('提交审核的内容') TEXT"` Nickname string `json:"nickname" xorm:"not null default('') comment('微信昵称') VARCHAR(128)"` Status int64 `json:"status" xorm:"not null default 0 comment('是否通过审核[0未通过审核1申请审核2通过审核]') TINYINT(1)"` IsDelete bool `json:"is_delete" xorm:"not null default(0) comment('删除') TINYINT(1)"` CreatedAt time.Time `json:"created_at" xorm:"not null created comment('创建时间') DATETIME"` UpdatedAt time.Time `json:"updated_at" xorm:"not null updated comment('更新时间') DATETIME"` }
func (t *SignHistory) TableName() string { return SignHistoryTN }
func (t *SignHistory) GetByUserId(aid, uid, rid, arid int64) (bool, error) { return core.GetXormAuto().Where("is_delete=0 and activity_id=? and user_id=? and "+ "rehearsal_id=? and area_id=?", aid, uid, rid, arid).Get(t) }
func (t *SignHistory) Count(signUpId, activityId, rehearsalId interface{}) (int64, error) { // 签到人数
return core.GetXormAuto().Where("is_delete=0 and sign_rule_id=? and rehearsal_id=? and activity_id=? and status=2", signUpId, rehearsalId, activityId).Count(t) }
func (t *SignHistory) UpdateById(ids interface{}, fields ...string) (err error) { if len(fields) > 0 { _, err = core.GetXormAuto().In("id", ids).Cols(fields...).Update(t) } else { _, err = core.GetXormAuto().In("id", ids).AllCols().Update(t) } return err } func (t *SignHistory) Insert() error { _, err := core.GetXormAuto().InsertOne(t) return err }
func GetApplyRealSigns(aid interface{}, rid interface{}) ([]*SignHistory, error) { results := make([]*SignHistory, 0) err := core.GetXormAuto().Where("is_delete=0 and activity_id=? and rehearsal_id=? and status=1", aid, rid).Asc("updated_at").Find(&results) return results, err }
|