entity.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package configuration
  2. import (
  3. "git.sxidc.com/go-tools/utils/strutils"
  4. "git.sxidc.com/service-supports/fserr"
  5. )
  6. const (
  7. TableName = "test.configurations"
  8. )
  9. const (
  10. ColumnGroup = "group"
  11. ColumnValue = "value"
  12. )
  13. const (
  14. domainCNName = "配置"
  15. )
  16. const (
  17. fieldGroupMaxLen = 256
  18. fieldValueMaxLen = 256
  19. )
  20. type Entity struct {
  21. Group string `sqlmapping:"column:group;key;notUpdate;" sqlresult:"column:group;"`
  22. Value string `sqlmapping:"column:value;notUpdate;" sqlresult:"column:value;"`
  23. }
  24. func (e *Entity) DomainCNName() string {
  25. return domainCNName
  26. }
  27. func (e *Entity) CheckKeyFields() error {
  28. return e.checkFieldGroup()
  29. }
  30. func (e *Entity) ForCreate() error {
  31. err := e.checkFieldGroup()
  32. if err != nil {
  33. return err
  34. }
  35. err = e.checkFieldValue()
  36. if err != nil {
  37. return err
  38. }
  39. return nil
  40. }
  41. func (e *Entity) checkFieldGroup() error {
  42. if strutils.IsStringEmpty(e.Group) {
  43. return fserr.New(domainCNName + "组为空")
  44. }
  45. if len(e.Group) > fieldGroupMaxLen {
  46. return fserr.New(domainCNName + "组超出限定长度")
  47. }
  48. return nil
  49. }
  50. func (e *Entity) checkFieldValue() error {
  51. if strutils.IsStringEmpty(e.Value) {
  52. return fserr.New(domainCNName + "值为空")
  53. }
  54. if len([]byte(e.Value)) > fieldValueMaxLen {
  55. return fserr.New(domainCNName + "值超出限定长度")
  56. }
  57. return nil
  58. }