Browse Source

完成基本增删改查定义

yjp 1 year ago
parent
commit
ed3d3cc012

+ 12 - 0
convenient/data_containers/auth/user.yaml

@@ -20,6 +20,18 @@ spec:
         type: "varchar(512)"
         comment: 密码
         not_null: true
+      - name: name
+        type: "varchar(256)"
+        comment: 姓名
+        not_null: true
+      - name: phone
+        type: "varchar(128)"
+        comment: 手机号
+        not_null: true
+      - name: email
+        type: "varchar(512)"
+        comment: 邮箱
+        not_null: true
       - name: last_login_time
         type: "timestamp with time zone"
         comment: 最近登录时间

+ 4 - 0
convenient/domain/auth/auth.go

@@ -21,6 +21,10 @@ func (simple *Simple) bind(binder *binding.Binder) {
 	(&role.Simple{Schema: simple.Schema}).Bind(binder)
 	(&user.Simple{Schema: simple.Schema}).Bind(binder)
 	(&relations.Simple{Schema: simple.Schema}).Bind(binder)
+
+	// TODO Challenge
+
+	// TODO 生成Token
 }
 
 func BindAuth(binder *binding.Binder, simple *Simple) {

+ 1 - 0
convenient/domain/auth/middleware.go

@@ -7,6 +7,7 @@ import (
 
 func Authentication(i *infrastructure.Infrastructure) api.Handler {
 	return func(c *api.Context) {
+		// TODO 中间件
 		//dbExecutor := i.DBExecutor()
 		c.Next()
 	}

+ 1 - 0
convenient/domain/auth/user/api.go

@@ -12,6 +12,7 @@ type Simple struct {
 }
 
 func (simple *Simple) Bind(binder *binding.Binder) {
+	// TODO 定制需要加密的字段逻辑,Name赋值默认值
 	entity_crud.BindSimple(binder, &entity_crud.Simple[Info]{
 		Entity:             &Entity{},
 		Schema:             simple.Schema,

+ 32 - 1
convenient/domain/auth/user/entity.go

@@ -43,7 +43,7 @@ type Entity struct {
 	Name          string    `sqlmapping:"column:name" sqlresult:"column:name" check:"lte=256"`
 	Phone         string    `sqlmapping:"column:phone" sqlresult:"column:phone" check:"lte=128"`
 	Email         string    `sqlmapping:"column:email" sqlresult:"column:email" check:"lte=512"`
-	Token         string    `sqlmapping:"column:token" sqlresult:"column:token"`
+	Token         string    `sqlmapping:"column:token;notUpdate" sqlresult:"column:token"`
 	LastLoginTime time.Time `sqlmapping:"column:last_login_time;notUpdate" sqlresult:"column:last_login_time" check:"required,timezero"`
 
 	RoleIDs []string
@@ -77,6 +77,11 @@ func (e *Entity) ForCreate() error {
 		return err
 	}
 
+	err = domain.CheckField(checkResult, e.DomainCNName(), FieldName)
+	if err != nil {
+		return err
+	}
+
 	err = domain.CheckField(checkResult, e.DomainCNName(), FieldLastLoginTime)
 	if err != nil {
 		return err
@@ -104,6 +109,11 @@ func (e *Entity) ForUpdate() error {
 		return err
 	}
 
+	err = e.checkUpdateFields(checkResult)
+	if err != nil {
+		return err
+	}
+
 	return nil
 }
 
@@ -119,5 +129,26 @@ func (e *Entity) checkUpdateFields(checkResult check.Result) error {
 		}
 	}
 
+	if strutils.IsStringNotEmpty(e.Name) {
+		err := domain.CheckField(checkResult, e.DomainCNName(), FieldName)
+		if err != nil {
+			return err
+		}
+	}
+
+	if strutils.IsStringNotEmpty(e.Phone) {
+		err := domain.CheckField(checkResult, e.DomainCNName(), FieldPhone)
+		if err != nil {
+			return err
+		}
+	}
+
+	if strutils.IsStringNotEmpty(e.Email) {
+		err := domain.CheckField(checkResult, e.DomainCNName(), FieldEmail)
+		if err != nil {
+			return err
+		}
+	}
+
 	return nil
 }