package class import ( "git.sxidc.com/go-framework/baize/domain" "git.sxidc.com/go-tools/utils/strutils" "git.sxidc.com/service-supports/fserr" ) const ( TableName = "test.classes" ) const ( ColumnName = "name" ColumnStudentNum = "student_num" ) const ( domainCNName = "班级" ) const ( fieldNameMaxLen = 128 ) type Entity struct { domain.BaseEntity Name string `sqlmapping:"column:name" sqlresult:"column:name"` StudentNum int `sqlmapping:"column:student_num;updateClear;" sqlresult:"column:student_num"` domain.TimeFields } func (e *Entity) DomainCNName() string { return domainCNName } func (e *Entity) ForCreate() error { err := e.CheckFieldID() if err != nil { return err } err = e.checkFieldName() if err != nil { return err } return nil } func (e *Entity) ForUpdate() error { err := e.CheckFieldID() if err != nil { return err } err = e.checkUpdateFields() if err != nil { return err } return nil } func (e *Entity) checkFieldName() error { if strutils.IsStringEmpty(e.Name) { return fserr.New(domainCNName + "名称为空") } if len(e.Name) > fieldNameMaxLen { return fserr.New(domainCNName + "名称超出限定长度") } return nil } func (e *Entity) checkUpdateFields() error { if strutils.AllBlank(e.Name) { return fserr.New(domainCNName + "没有传递需要更新的字段") } if strutils.IsStringNotEmpty(e.Name) && len(e.Name) > fieldNameMaxLen { return fserr.New(domainCNName + "名称超出限定长度") } return nil }