package model import ( "os" "surveyService/util" "time" "gorm.io/gorm" ) const SurveyTableName = "survey" const ( SURVEY_STATUS_ENABLE = 1 // 可用 SURVEY_STATUS_DISABLE = 2 // 禁用 SURVEY_TYPE_NORMAL = 1 // 普通文件 SURVEY_TYPE_PHYSICAL = 2 // 定制体检 ) type Survey struct { ID int64 `gorm:"type:int(20);autoIncrement;comment:ID;" json:"id"` SN string `gorm:"type:varchar(255);comment:问卷编号;default:'';index;" json:"sn"` SurveyCode string `gorm:"type:varchar(255);comment:问卷编码;default:'';" json:"surveyCode"` Name string `gorm:"type:varchar(255);comment:问卷名称;default:'';" json:"name"` Cover string `gorm:"type:varchar(255);comment:封面;default:'';" json:"cover"` Status int `gorm:"type:int(11);comment:状态:1:可用,2:禁用;default:2;" json:"status"` Remark string `gorm:"type:mediumText;comment:备注;nullable;" json:"remark"` Type int64 `gorm:"type:int(11);comment:问卷类型:1:问卷,2:定制体检;default:1;" json:"type"` DeletedAt gorm.DeletedAt `gorm:"column:deleted_at" json:"-"` CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` } func (u *Survey) AfterCreate(tx *gorm.DB) (err error) { tx.Model(u).Update("sn", u.GetHashId(u.ID)) return } func (u *Survey) AfterFind(tx *gorm.DB) (err error) { return } func (u *Survey) GetHashId(id int64) string { return util.GetHashId(id, SurveyTableName) } func (u *Survey) GetRawId(sn string) int64 { rawId, _ := util.GetIdByHashId(sn, SurveyTableName) return rawId } func (u *Survey) TableName() string { dbPrefix := os.Getenv("DB_PREFIX") return dbPrefix + SurveyTableName }