value_object.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package query_rule
  2. import (
  3. "git.sxidc.com/go-framework/baize/framework/core/domain"
  4. "git.sxidc.com/go-framework/baize/framework/core/domain/value_object"
  5. "git.sxidc.com/go-framework/baize/framework/core/tag/check"
  6. )
  7. const (
  8. FieldScope = "Scope"
  9. FieldDomainName = "DomainName"
  10. FieldDomainCNName = "DomainCNName"
  11. FieldRule = "Rule"
  12. )
  13. var (
  14. ColumnScope = domain.ColumnName(FieldScope)
  15. ColumnDomainName = "domain_name"
  16. ColumnDomainCNName = "domain_cn_name"
  17. ColumnRule = domain.ColumnName(FieldRule)
  18. )
  19. var fieldMap = map[string]string{
  20. FieldScope: "范围",
  21. FieldDomainName: "领域名",
  22. FieldDomainCNName: "领域中文名",
  23. FieldRule: "规则",
  24. }
  25. type ValueObject struct {
  26. value_object.Base
  27. Scope string `sqlmapping:"column:scope;key;notUpdate;" sqlresult:"column:scope;" check:"required,lte=256"`
  28. RuleDomainName string `sqlmapping:"column:domain_name;key;notUpdate;" sqlresult:"column:domain_name;" check:"required,lte=256"`
  29. RuleDomainCNName string `sqlmapping:"column:domain_cn_name;key;notUpdate;" sqlresult:"column:domain_cn_name;" check:"required,lte=256"`
  30. Rule string `sqlmapping:"column:rule;notUpdate;" sqlresult:"column:rule;" check:"required"`
  31. }
  32. func (valueObject *ValueObject) DomainCNName() string {
  33. return "查询规则"
  34. }
  35. func (valueObject *ValueObject) DomainCamelName() string {
  36. return "QueryRule"
  37. }
  38. func (valueObject *ValueObject) CheckKeyFields() error {
  39. checkResult := check.Struct(valueObject, fieldMap)
  40. err := domain.CheckField(checkResult, valueObject.DomainCNName(), FieldScope)
  41. if err != nil {
  42. return err
  43. }
  44. err = domain.CheckField(checkResult, valueObject.DomainCNName(), FieldDomainName)
  45. if err != nil {
  46. return err
  47. }
  48. return nil
  49. }
  50. func (valueObject *ValueObject) ForCreate() error {
  51. checkResult := check.Struct(valueObject, fieldMap)
  52. err := domain.CheckField(checkResult, valueObject.DomainCNName(), FieldScope)
  53. if err != nil {
  54. return err
  55. }
  56. err = domain.CheckField(checkResult, valueObject.DomainCNName(), FieldDomainName)
  57. if err != nil {
  58. return err
  59. }
  60. err = domain.CheckField(checkResult, valueObject.DomainCNName(), FieldDomainCNName)
  61. if err != nil {
  62. return err
  63. }
  64. err = domain.CheckField(checkResult, valueObject.DomainCNName(), FieldRule)
  65. if err != nil {
  66. return err
  67. }
  68. err = Lint(valueObject.Rule)
  69. if err != nil {
  70. return err
  71. }
  72. return nil
  73. }