互动
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.

37 lines
1.1 KiB

package models
import (
"fmt"
"github.com/ouxuanserver/osmanthuswine/src/core"
"github.com/pkg/errors"
"time"
)
const RealSignListTN = TableNamePrefix + "real_sign_list"
type RealSignList struct {
Id int64 `json:"id"`
ActivityId int64 `json:"activity_id"`
JsonList string `json:"json_list"`
UserId int64 `json:"user_id"`
IsDelete bool `json:"is_delete" xorm:"default(0)" description:"是否删除"`
CreatedAt time.Time `json:"created_at" xorm:"created" description:"创建时间"`
UpdatedAt time.Time `json:"updated_at" xorm:"updated" description:"更新时间"`
}
func (t *RealSignList) TableName() string {
return RealSignListTN
}
func (t *RealSignList) CheckSignIn(uid int64, aid int64) (bool, error) {
exist, err := core.GetXormAuto().Where("is_delete=0 and user_id=? and activity_id=?", uid, aid).Exist(t)
return exist, errors.WithStack(err)
}
// 可能使用模糊匹配
func (t *RealSignList) SignIn(uid, aid int64, ext string) (int64, error) {
t.UserId = uid
var sql = fmt.Sprintf("is_delete=0 and user_id=0 and activity_id=%d %s", aid, ext)
return core.GetXormAuto().Where(sql).Cols("user_id").Update(t)
}