entity.go 959 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package domain
  2. import (
  3. "git.sxidc.com/go-tools/utils/strutils"
  4. )
  5. type Entity interface {
  6. Object
  7. DomainCNName() string
  8. GenerateID() error
  9. GetID() string
  10. CheckFieldID(domainCNName string) error
  11. IDColumnName() string
  12. ForCreate() error
  13. ForUpdate() error
  14. }
  15. type BaseEntity struct {
  16. ID string `sqlmapping:"column:id;key;" sqlresult:"column:id;"`
  17. }
  18. func (e *BaseEntity) DomainCNName() string {
  19. panic("领域实体没有实现DomainCNName接口")
  20. }
  21. func (e *BaseEntity) GenerateID() error {
  22. e.ID = strutils.SimpleUUID()
  23. return nil
  24. }
  25. func (e *BaseEntity) GetID() string {
  26. return e.ID
  27. }
  28. func (e *BaseEntity) CheckFieldID(domainCNName string) error {
  29. return CheckID(domainCNName, "ID", e.ID)
  30. }
  31. func (e *BaseEntity) IDColumnName() string {
  32. return ColumnID
  33. }
  34. func (e *BaseEntity) ForCreate() error {
  35. panic("领域实体没有实现ForCreate接口")
  36. }
  37. func (e *BaseEntity) ForUpdate() error {
  38. panic("领域实体没有实现ForUpdate接口")
  39. }