| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- package student
- import (
- "git.sxidc.com/go-framework/baize/convenient/domain/query_rule"
- "git.sxidc.com/go-framework/baize/framework/core/domain"
- "git.sxidc.com/go-framework/baize/framework/core/domain/entity"
- "git.sxidc.com/go-framework/baize/framework/core/tag/check"
- "git.sxidc.com/go-tools/utils/strutils"
- "github.com/pkg/errors"
- )
- const (
- FieldName = "Name"
- )
- var (
- ColumnName = domain.ColumnName(FieldName)
- )
- var fieldMap = map[string]string{
- FieldName: "学生姓名",
- }
- type Entity struct {
- entity.Base
- Name string `sqlmapping:"column:name" sqlresult:"column:name" check:"required,lte=128" rule:"column:name"`
- FamilyID string `sqlmapping:"column:family_id" sqlresult:"column:family_id" check:"required,len=32"`
- ClassID string `sqlmapping:"column:class_id" sqlresult:"column:class_id" check:"required,len=32"`
- IdentityIDs []string `sqlmapping:"-" sqlresult:"-"`
- HobbyIDs []string `sqlmapping:"-" sqlresult:"-"`
- entity.TimeFields
- }
- func RegisterQueryRule() error {
- return query_rule.RegisterQueryRuleDefinitionByEntity(query_rule.RegisterQueryRuleDefinitionsByEntityItem{
- Entity: &Entity{},
- FieldMap: fieldMap,
- })
- }
- func (e *Entity) DomainCNName() string {
- return "学生"
- }
- func (e *Entity) DomainCamelName() string {
- return "Student"
- }
- func (e *Entity) ForCreate() error {
- checkResult := check.Struct(e, fieldMap)
- err := entity.CheckFieldIDResult(checkResult)
- if err != nil {
- return err
- }
- err = domain.CheckField(checkResult, e.DomainCNName(), FieldName)
- if err != nil {
- return err
- }
- return nil
- }
- func (e *Entity) ForDelete() error {
- checkResult := check.Struct(e, fieldMap)
- err := entity.CheckFieldIDResult(checkResult)
- if err != nil {
- return err
- }
- return nil
- }
- func (e *Entity) ForUpdate() error {
- checkResult := check.Struct(e, fieldMap)
- err := entity.CheckFieldIDResult(checkResult)
- if err != nil {
- return err
- }
- err = e.checkUpdateFields(checkResult)
- if err != nil {
- return err
- }
- return nil
- }
- func (e *Entity) checkUpdateFields(checkResult check.Result) error {
- if strutils.AllBlank(e.Name) {
- return errors.New(e.DomainCNName() + "没有传递需要更新的字段")
- }
- if strutils.IsStringNotEmpty(e.Name) {
- err := domain.CheckField(checkResult, e.DomainCNName(), FieldName)
- if err != nil {
- return err
- }
- }
- return nil
- }
- func (e *Entity) FormQueryRuleParams() map[string]any {
- ruleParams := make(map[string]any)
- if strutils.IsStringNotEmpty(e.Name) {
- ruleParams[ColumnName] = e.Name
- }
- return ruleParams
- }
|