| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 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
- CheckID(errCode int) error
- IDColumnName() string
- }
- 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) CheckID(errCode int) error {
- if strutils.IsStringEmpty(e.ID) {
- return fserr.WithCode(nil, errCode, fserr.MsgOption(e.DomainCNName()+"ID为空"))
- }
- if len([]byte(e.ID)) != FieldIDLen {
- return fserr.WithCode(nil, errCode, fserr.MsgOption(e.DomainCNName()+"ID长度不正确"))
- }
- return nil
- }
- func (e *BaseEntity) IDColumnName() string {
- return ColumnID
- }
|