utils.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package entity
  2. import (
  3. "git.sxidc.com/go-tools/utils/strutils"
  4. "git.sxidc.com/go-tools/utils/template"
  5. "git.sxidc.com/service-supports/fserr"
  6. "github.com/iancoleman/strcase"
  7. )
  8. func TableName(schema string, e Entity) string {
  9. if strutils.IsStringNotEmpty(e.DBSchema()) {
  10. schema = e.DBSchema()
  11. }
  12. if strutils.IsStringEmpty(schema) {
  13. return template.Plural(strcase.ToSnake(template.Id(e.DomainCamelName())))
  14. } else {
  15. return schema + "." + template.Plural(strcase.ToSnake(template.Id(e.DomainCamelName())))
  16. }
  17. }
  18. func RelativeDomainPath(e Entity) string {
  19. return "/" + strcase.ToLowerCamel(template.Id(e.DomainCamelName()))
  20. }
  21. func SnakeDomainName(e Entity) string {
  22. return strcase.ToSnake(template.Id(e.DomainCamelName()))
  23. }
  24. const (
  25. fieldIDLen = 32
  26. )
  27. func CheckID(domainCNName string, fieldCNName string, id string) error {
  28. if strutils.IsStringEmpty(id) {
  29. return fserr.New(domainCNName + fieldCNName + "为空")
  30. }
  31. if len(id) != fieldIDLen {
  32. return fserr.New(domainCNName + fieldCNName + "长度不正确")
  33. }
  34. return nil
  35. }