| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- package family
- import (
- "git.sxidc.com/go-framework/baize/framework/core/domain/entity"
- "git.sxidc.com/go-tools/utils/strutils"
- "git.sxidc.com/service-supports/fserr"
- )
- const (
- ColumnFather = "father"
- ColumnMother = "mother"
- )
- const (
- fieldFatherMaxLen = 128
- fieldMotherMaxLen = 128
- )
- type Entity struct {
- entity.Base
- Father string `sqlmapping:"column:father" sqlresult:"column:father"`
- Mother string `sqlmapping:"column:mother" sqlresult:"column:mother"`
- StudentID string `sqlmapping:"column:student_id" sqlresult:"column:student_id"`
- entity.TimeFields
- }
- func (e *Entity) DomainCNName() string {
- return "家庭"
- }
- func (e *Entity) DomainCamelName() string {
- return "Family"
- }
- func (e *Entity) CheckFieldID() error {
- return e.Base.CheckFieldID(e.DomainCNName())
- }
- func (e *Entity) ForCreate() error {
- err := e.CheckFieldID()
- if err != nil {
- return err
- }
- err = e.checkFieldFather()
- if err != nil {
- return err
- }
- return nil
- }
- func (e *Entity) ForDelete() error {
- return e.CheckFieldID()
- }
- 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) checkFieldFather() error {
- if strutils.IsStringEmpty(e.Father) {
- return fserr.New(e.DomainCNName() + "父亲姓名为空")
- }
- if len(e.Father) > fieldFatherMaxLen {
- return fserr.New(e.DomainCNName() + "父亲姓名超出限定长度")
- }
- return nil
- }
- func (e *Entity) checkFieldMother() error {
- if strutils.IsStringEmpty(e.Mother) {
- return fserr.New(e.DomainCNName() + "母亲姓名为空")
- }
- if len(e.Mother) > fieldMotherMaxLen {
- return fserr.New(e.DomainCNName() + "母亲姓名超出限定长度")
- }
- return nil
- }
- func (e *Entity) checkUpdateFields() error {
- if strutils.AllBlank(e.Father, e.Mother) {
- return fserr.New(e.DomainCNName() + "没有传递需要更新的字段")
- }
- if strutils.IsStringNotEmpty(e.Father) && len(e.Father) > fieldFatherMaxLen {
- return fserr.New(e.DomainCNName() + "父亲姓名超出限定长度")
- }
- if strutils.IsStringNotEmpty(e.Mother) && len(e.Mother) > fieldMotherMaxLen {
- return fserr.New(e.DomainCNName() + "母亲姓名超出限定长度")
- }
- return nil
- }
|