entity.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package identity
  2. import (
  3. "git.sxidc.com/go-framework/baize/framework/core/domain/entity"
  4. "git.sxidc.com/go-tools/utils/strutils"
  5. "git.sxidc.com/service-supports/fserr"
  6. )
  7. const (
  8. ColumnName = "name"
  9. )
  10. const (
  11. fieldNameMaxLen = 128
  12. )
  13. type Entity struct {
  14. entity.Base
  15. Name string `sqlmapping:"column:name" sqlresult:"column:name"`
  16. StudentIDs []string `sqlmapping:"-" sqlresult:"-"`
  17. entity.TimeFields
  18. }
  19. func (e *Entity) DomainCNName() string {
  20. return "身份"
  21. }
  22. func (e *Entity) DomainCamelName() string {
  23. return "Identity"
  24. }
  25. func (e *Entity) CheckFieldID() error {
  26. return e.Base.CheckFieldID(e.DomainCNName())
  27. }
  28. func (e *Entity) ForCreate() error {
  29. err := e.CheckFieldID()
  30. if err != nil {
  31. return err
  32. }
  33. err = e.checkFieldName()
  34. if err != nil {
  35. return err
  36. }
  37. return nil
  38. }
  39. func (e *Entity) ForDelete() error {
  40. return e.CheckFieldID()
  41. }
  42. func (e *Entity) ForUpdate() error {
  43. err := e.CheckFieldID()
  44. if err != nil {
  45. return err
  46. }
  47. err = e.checkUpdateFields()
  48. if err != nil {
  49. return err
  50. }
  51. return nil
  52. }
  53. func (e *Entity) checkFieldName() error {
  54. if strutils.IsStringEmpty(e.Name) {
  55. return fserr.New(e.DomainCNName() + "名称为空")
  56. }
  57. if len(e.Name) > fieldNameMaxLen {
  58. return fserr.New(e.DomainCNName() + "名称超出限定长度")
  59. }
  60. return nil
  61. }
  62. func (e *Entity) checkUpdateFields() error {
  63. if strutils.AllBlank(e.Name) {
  64. return fserr.New(e.DomainCNName() + "没有传递需要更新的字段")
  65. }
  66. if strutils.IsStringNotEmpty(e.Name) && len(e.Name) > fieldNameMaxLen {
  67. return fserr.New(e.DomainCNName() + "名称超出限定长度")
  68. }
  69. return nil
  70. }