value_object.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. FieldRule = "Rule"
  11. )
  12. var (
  13. ColumnScope = domain.ColumnName(FieldScope)
  14. ColumnDomainName = "domain_name"
  15. ColumnRule = domain.ColumnName(FieldRule)
  16. )
  17. var fieldMap = map[string]string{
  18. FieldScope: "范围",
  19. FieldDomainName: "领域名",
  20. FieldRule: "规则",
  21. }
  22. type ValueObject struct {
  23. value_object.Base
  24. Scope string `sqlmapping:"column:scope;key;notUpdate;" sqlresult:"column:scope;" check:"required,lte=256"`
  25. RuleDomainName string `sqlmapping:"column:domain_name;key;notUpdate;" sqlresult:"column:domain_name;" check:"required,lte=256"`
  26. Rule string `sqlmapping:"column:rule;notUpdate;" sqlresult:"column:rule;" check:"required"`
  27. }
  28. func (valueObject *ValueObject) DomainCNName() string {
  29. return "查询规则"
  30. }
  31. func (valueObject *ValueObject) DomainCamelName() string {
  32. return "QueryRule"
  33. }
  34. func (valueObject *ValueObject) CheckKeyFields() error {
  35. checkResult := check.Struct(valueObject, fieldMap)
  36. err := domain.CheckField(checkResult, valueObject.DomainCNName(), FieldScope)
  37. if err != nil {
  38. return err
  39. }
  40. err = domain.CheckField(checkResult, valueObject.DomainCNName(), FieldDomainName)
  41. if err != nil {
  42. return err
  43. }
  44. return nil
  45. }
  46. func (valueObject *ValueObject) ForCreate() error {
  47. checkResult := check.Struct(valueObject, fieldMap)
  48. err := domain.CheckField(checkResult, valueObject.DomainCNName(), FieldScope)
  49. if err != nil {
  50. return err
  51. }
  52. err = domain.CheckField(checkResult, valueObject.DomainCNName(), FieldDomainName)
  53. if err != nil {
  54. return err
  55. }
  56. err = domain.CheckField(checkResult, valueObject.DomainCNName(), FieldRule)
  57. if err != nil {
  58. return err
  59. }
  60. err = Lint(valueObject.Rule)
  61. if err != nil {
  62. return err
  63. }
  64. return nil
  65. }