entity.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package configuration
  2. import (
  3. "git.sxidc.com/go-tools/utils/strutils"
  4. "git.sxidc.com/service-supports/fserr"
  5. )
  6. const (
  7. ColumnScope = "scope"
  8. ColumnGroup = "group"
  9. ColumnValue = "value"
  10. )
  11. const (
  12. tableName = "configurations"
  13. )
  14. const (
  15. fieldScopeMaxLen = 256
  16. fieldGroupMaxLen = 256
  17. fieldValueMaxLen = 256
  18. )
  19. type Entity struct {
  20. Scope string `sqlmapping:"column:scope;key;notUpdate;" sqlresult:"column:group;"`
  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 "配置"
  26. }
  27. func (e *Entity) CheckKeyFields() error {
  28. err := e.checkFieldScope()
  29. if err != nil {
  30. return err
  31. }
  32. err = e.checkFieldGroup()
  33. if err != nil {
  34. return err
  35. }
  36. return nil
  37. }
  38. func (e *Entity) ForCreate() error {
  39. err := e.checkFieldScope()
  40. if err != nil {
  41. return err
  42. }
  43. err = e.checkFieldGroup()
  44. if err != nil {
  45. return err
  46. }
  47. err = e.checkFieldValue()
  48. if err != nil {
  49. return err
  50. }
  51. return nil
  52. }
  53. func (e *Entity) checkFieldScope() error {
  54. if strutils.IsStringEmpty(e.Scope) {
  55. return fserr.New(e.DomainCNName() + "范围为空")
  56. }
  57. if len(e.Scope) > fieldScopeMaxLen {
  58. return fserr.New(e.DomainCNName() + "范围超出限定长度")
  59. }
  60. return nil
  61. }
  62. func (e *Entity) checkFieldGroup() error {
  63. if strutils.IsStringEmpty(e.Group) {
  64. return fserr.New(e.DomainCNName() + "组为空")
  65. }
  66. if len(e.Group) > fieldGroupMaxLen {
  67. return fserr.New(e.DomainCNName() + "组超出限定长度")
  68. }
  69. return nil
  70. }
  71. func (e *Entity) checkFieldValue() error {
  72. if strutils.IsStringEmpty(e.Value) {
  73. return fserr.New(e.DomainCNName() + "值为空")
  74. }
  75. if len(e.Value) > fieldValueMaxLen {
  76. return fserr.New(e.DomainCNName() + "值超出限定长度")
  77. }
  78. return nil
  79. }