| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package domain
- import (
- "git.sxidc.com/go-tools/utils/strutils"
- "git.sxidc.com/service-supports/fserr"
- )
- type Entity interface {
- Object
- DomainCNName() string
- GenerateID() error
- GetID() string
- CheckFieldID() error
- IDColumnName() string
- ForCreate() error
- ForDelete() error
- ForUpdate() error
- }
- type BaseEntity struct {
- ID string `sqlmapping:"column:id;key;" sqlresult:"column:id;"`
- }
- func (e *BaseEntity) DomainCNName() string {
- panic("领域实体没有实现DomainCNName接口")
- }
- func (e *BaseEntity) GenerateID() error {
- e.ID = strutils.SimpleUUID()
- return nil
- }
- func (e *BaseEntity) GetID() string {
- return e.ID
- }
- func (e *BaseEntity) CheckFieldID() error {
- if strutils.IsStringEmpty(e.ID) {
- return fserr.New(e.DomainCNName() + "ID为空")
- }
- if len([]byte(e.ID)) != FieldIDLen {
- return fserr.New(e.DomainCNName() + "ID长度不正确")
- }
- return nil
- }
- func (e *BaseEntity) IDColumnName() string {
- return ColumnID
- }
- func (e *BaseEntity) ForCreate() error {
- panic("领域实体没有实现ForCreate接口")
- }
- func (e *BaseEntity) ForDelete() error {
- panic("领域实体没有实现ForDelete接口")
- }
- func (e *BaseEntity) ForUpdate() error {
- panic("领域实体没有实现ForUpdate接口")
- }
|