Explorar o código

修改成熟领域的

yjp hai 1 ano
pai
achega
c0db1db5e6

+ 4 - 4
convenient/domain/configuration/api.go

@@ -26,7 +26,7 @@ type Simple struct {
 func (simple *Simple) bind(binder *binding.Binder) {
 	options := simple.options
 
-	configurationTableName := domain.TableName(simple.Schema, &Entity{})
+	configurationTableName := domain.TableName(simple.Schema, &ValueObject{})
 	valueObjectOptions := []any{value_object_crud.WithDisableQuery[any]()}
 
 	if options.disableCreate {
@@ -38,7 +38,7 @@ func (simple *Simple) bind(binder *binding.Binder) {
 	}
 
 	value_object_crud.BindSimple(binder, &value_object_crud.Simple[any]{
-		ValueObject:    &Entity{},
+		ValueObject:    &ValueObject{},
 		Schema:         simple.Schema,
 		CreateJsonBody: &AddConfigurationJsonBody{},
 		DeleteJsonBody: &RemoveConfigurationJsonBody{},
@@ -49,11 +49,11 @@ func (simple *Simple) bind(binder *binding.Binder) {
 			Path:             "/configuration/values",
 			SendResponseFunc: response.SendMapResponse,
 			RequestParams:    &GetConfigurationValuesQueryParams{},
-			Objects:          []domain.Object{&Entity{}},
+			Objects:          []domain.Object{&ValueObject{}},
 			ServiceFunc: func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (map[string]any, error) {
 				dbExecutor := i.DBExecutor()
 
-				e, ok := objects[0].(*Entity)
+				e, ok := objects[0].(*ValueObject)
 				if !ok {
 					return map[string]any{
 						"values": make([]string, 0),

+ 0 - 103
convenient/domain/configuration/entity.go

@@ -1,103 +0,0 @@
-package configuration
-
-import (
-	"git.sxidc.com/go-framework/baize/framework/core/domain/value_object"
-	"git.sxidc.com/go-tools/utils/strutils"
-	"github.com/pkg/errors"
-)
-
-const (
-	ColumnScope = "scope"
-	ColumnGroup = "group"
-	ColumnValue = "value"
-)
-
-const (
-	fieldScopeMaxLen = 256
-	fieldGroupMaxLen = 256
-	fieldValueMaxLen = 256
-)
-
-type Entity struct {
-	value_object.Base
-	Scope string `sqlmapping:"column:scope;key;notUpdate;" sqlresult:"column:group;"`
-	Group string `sqlmapping:"column:group;key;notUpdate;" sqlresult:"column:group;"`
-	Value string `sqlmapping:"column:value;notUpdate;" sqlresult:"column:value;"`
-}
-
-func (e *Entity) DomainCNName() string {
-	return "配置"
-}
-
-func (e *Entity) DomainCamelName() string {
-	return "Configuration"
-}
-
-func (e *Entity) CheckKeyFields() error {
-	err := e.checkFieldScope()
-	if err != nil {
-		return err
-	}
-
-	err = e.checkFieldGroup()
-	if err != nil {
-		return err
-	}
-
-	return nil
-}
-
-func (e *Entity) ForCreate() error {
-	err := e.checkFieldScope()
-	if err != nil {
-		return err
-	}
-
-	err = e.checkFieldGroup()
-	if err != nil {
-		return err
-	}
-
-	err = e.checkFieldValue()
-	if err != nil {
-		return err
-	}
-
-	return nil
-}
-
-func (e *Entity) checkFieldScope() error {
-	if strutils.IsStringEmpty(e.Scope) {
-		return errors.New(e.DomainCNName() + "范围为空")
-	}
-
-	if len(e.Scope) > fieldScopeMaxLen {
-		return errors.New(e.DomainCNName() + "范围超出限定长度")
-	}
-
-	return nil
-}
-
-func (e *Entity) checkFieldGroup() error {
-	if strutils.IsStringEmpty(e.Group) {
-		return errors.New(e.DomainCNName() + "组为空")
-	}
-
-	if len(e.Group) > fieldGroupMaxLen {
-		return errors.New(e.DomainCNName() + "组超出限定长度")
-	}
-
-	return nil
-}
-
-func (e *Entity) checkFieldValue() error {
-	if strutils.IsStringEmpty(e.Value) {
-		return errors.New(e.DomainCNName() + "值为空")
-	}
-
-	if len(e.Value) > fieldValueMaxLen {
-		return errors.New(e.DomainCNName() + "值超出限定长度")
-	}
-
-	return nil
-}

+ 77 - 0
convenient/domain/configuration/value_object.go

@@ -0,0 +1,77 @@
+package configuration
+
+import (
+	"git.sxidc.com/go-framework/baize/framework/core/domain"
+	"git.sxidc.com/go-framework/baize/framework/core/domain/value_object"
+	"git.sxidc.com/go-framework/baize/framework/core/tag/check"
+)
+
+const (
+	FieldScope = "Scope"
+	FieldGroup = "Group"
+	FieldValue = "Value"
+)
+
+var (
+	ColumnScope = domain.ColumnName(FieldScope)
+	ColumnGroup = domain.ColumnName(FieldGroup)
+	ColumnValue = domain.ColumnName(FieldValue)
+)
+
+var fieldMap = map[string]string{
+	FieldScope: "范围",
+	FieldGroup: "组",
+	FieldValue: "值",
+}
+
+type ValueObject struct {
+	value_object.Base
+	Scope string `sqlmapping:"column:scope;key;notUpdate;" sqlresult:"column:group;" check:"required,lte=256"`
+	Group string `sqlmapping:"column:group;key;notUpdate;" sqlresult:"column:group;" check:"required,lte=256"`
+	Value string `sqlmapping:"column:value;notUpdate;" sqlresult:"column:value;" check:"required,lte=256"`
+}
+
+func (valueObject *ValueObject) DomainCNName() string {
+	return "配置"
+}
+
+func (valueObject *ValueObject) DomainCamelName() string {
+	return "Configuration"
+}
+
+func (valueObject *ValueObject) CheckKeyFields() error {
+	checkResult := check.Struct(valueObject, fieldMap)
+
+	err := domain.CheckField(checkResult, valueObject.DomainCNName(), FieldScope)
+	if err != nil {
+		return err
+	}
+
+	err = domain.CheckField(checkResult, valueObject.DomainCNName(), FieldGroup)
+	if err != nil {
+		return err
+	}
+
+	return nil
+}
+
+func (valueObject *ValueObject) ForCreate() error {
+	checkResult := check.Struct(valueObject, fieldMap)
+
+	err := domain.CheckField(checkResult, valueObject.DomainCNName(), FieldScope)
+	if err != nil {
+		return err
+	}
+
+	err = domain.CheckField(checkResult, valueObject.DomainCNName(), FieldGroup)
+	if err != nil {
+		return err
+	}
+
+	err = domain.CheckField(checkResult, valueObject.DomainCNName(), FieldValue)
+	if err != nil {
+		return err
+	}
+
+	return nil
+}

+ 0 - 89
convenient/domain/sql_executor/entity.go

@@ -1,89 +0,0 @@
-package sql_executor
-
-import (
-	"git.sxidc.com/go-framework/baize/framework/core/domain/value_object"
-	"git.sxidc.com/go-tools/utils/strutils"
-	"github.com/pkg/errors"
-	"time"
-)
-
-const (
-	ColumnSql          = "sql"
-	ColumnExecutorID   = "executor_id"
-	ColumnExecutorName = "executor_name"
-	ColumnExecutedTime = "executed_time"
-)
-
-const (
-	fieldExecutorIDLen      = 32
-	fieldExecutorNameMaxLen = 256
-)
-
-type SqlExecuteLog struct {
-	value_object.Base
-	Sql          string    `sqlmapping:"column:sql;" sqlresult:"column:sql;"`
-	ExecutorID   string    `sqlmapping:"column:executor_id;" sqlresult:"column:executor_id;"`
-	ExecutorName string    `sqlmapping:"column:executor_name;" sqlresult:"column:executor_name;"`
-	ExecutedTime time.Time `sqlmapping:"column:executed_time;" sqlresult:"column:executed_time;"`
-}
-
-func (e *SqlExecuteLog) DomainCNName() string {
-	return "SQL日志"
-}
-
-func (e *SqlExecuteLog) DomainCamelName() string {
-	return "SqlExecuteLog"
-}
-
-func (e *SqlExecuteLog) ForCreate() error {
-	err := e.checkFieldSql()
-	if err != nil {
-		return err
-	}
-
-	err = e.checkFieldExecutorID()
-	if err != nil {
-		return err
-	}
-
-	err = e.checkFieldExecutorName()
-	if err != nil {
-		return err
-	}
-
-	e.ExecutedTime = time.Now().Local()
-
-	return nil
-}
-
-func (e *SqlExecuteLog) checkFieldSql() error {
-	if strutils.IsStringEmpty(e.Sql) {
-		return errors.New(e.DomainCNName() + "sql为空")
-	}
-
-	return nil
-}
-
-func (e *SqlExecuteLog) checkFieldExecutorID() error {
-	if strutils.IsStringEmpty(e.ExecutorID) {
-		return errors.New(e.DomainCNName() + "执行人ID为空")
-	}
-
-	if len(e.ExecutorID) != fieldExecutorIDLen {
-		return errors.New(e.DomainCNName() + "执行人ID长度不正确")
-	}
-
-	return nil
-}
-
-func (e *SqlExecuteLog) checkFieldExecutorName() error {
-	if strutils.IsStringEmpty(e.ExecutorName) {
-		return errors.New(e.DomainCNName() + "执行人姓名为空")
-	}
-
-	if len(e.ExecutorName) > fieldExecutorNameMaxLen {
-		return errors.New(e.DomainCNName() + "执行人姓名超出限定长度")
-	}
-
-	return nil
-}

+ 68 - 0
convenient/domain/sql_executor/value_object.go

@@ -0,0 +1,68 @@
+package sql_executor
+
+import (
+	"git.sxidc.com/go-framework/baize/framework/core/domain"
+	"git.sxidc.com/go-framework/baize/framework/core/domain/value_object"
+	"git.sxidc.com/go-framework/baize/framework/core/tag/check"
+	"time"
+)
+
+const (
+	FieldSql          = "Sql"
+	FieldExecutorID   = "ExecutorID"
+	FieldExecutorName = "ExecutorName"
+	FieldExecutedTime = "ExecutedTime"
+)
+
+var (
+	ColumnSql          = domain.ColumnName(FieldSql)
+	ColumnExecutorID   = domain.ColumnName(FieldExecutorID)
+	ColumnExecutorName = domain.ColumnName(FieldExecutorName)
+	ColumnExecutedTime = domain.ColumnName(FieldExecutedTime)
+)
+
+var fieldMap = map[string]string{
+	FieldSql:          "SQL语句",
+	FieldExecutorID:   "执行者ID",
+	FieldExecutorName: "执行者姓名",
+	FieldExecutedTime: "执行时间",
+}
+
+type SqlExecuteLog struct {
+	value_object.Base
+	Sql          string    `sqlmapping:"column:sql;" sqlresult:"column:sql;" check:"required"`
+	ExecutorID   string    `sqlmapping:"column:executor_id;" sqlresult:"column:executor_id;" check:"required,len=32"`
+	ExecutorName string    `sqlmapping:"column:executor_name;" sqlresult:"column:executor_name;" check:"required,lte=256"`
+	ExecutedTime time.Time `sqlmapping:"column:executed_time;" sqlresult:"column:executed_time;"`
+}
+
+func (sqlExecuteLog *SqlExecuteLog) DomainCNName() string {
+	return "SQL日志"
+}
+
+func (sqlExecuteLog *SqlExecuteLog) DomainCamelName() string {
+	return "SqlExecuteLog"
+}
+
+func (sqlExecuteLog *SqlExecuteLog) ForCreate() error {
+	checkResult := check.Struct(sqlExecuteLog, fieldMap)
+
+	err := domain.CheckField(checkResult, sqlExecuteLog.DomainCNName(), FieldSql)
+	if err != nil {
+		return err
+	}
+
+	err = domain.CheckField(checkResult, sqlExecuteLog.DomainCNName(), FieldExecutorID)
+	if err != nil {
+		return err
+	}
+
+	err = domain.CheckField(checkResult, sqlExecuteLog.DomainCNName(), FieldExecutorName)
+	if err != nil {
+		return err
+	}
+
+	sqlExecuteLog.ExecutedTime = time.Now().Local()
+
+	return nil
+}