diff --git a/logic/a_logic.go b/logic/a_logic.go index 853b781..4a6c5cc 100644 --- a/logic/a_logic.go +++ b/logic/a_logic.go @@ -2,7 +2,6 @@ package logic import ( "fmt" - "github.com/eryajf/go-ldap-admin/config" "github.com/eryajf/go-ldap-admin/model" "github.com/eryajf/go-ldap-admin/public/common" @@ -255,6 +254,13 @@ func BuildUserData(flag string, remoteData map[string]interface{}) (*model.User, return nil, tools.NewOperationError(err) } + // 校验username是否为空,username为必填项 + name := gjson.Get(string(output), fieldRelation["username"]).String() + if len(name) == 0 { + common.Log.Warnf("%s 该用户未填写username", output) + return nil, nil + } + u := &model.User{} for system, remote := range fieldRelation { switch system { @@ -310,8 +316,10 @@ func ConvertUserData(flag string, remoteData []map[string]interface{}) (users [] if err != nil { return nil, err } - user.DepartmentId = tools.SliceToString(groupIds, ",") - users = append(users, user) + if user != nil { + user.DepartmentId = tools.SliceToString(groupIds, ",") + users = append(users, user) + } } return } diff --git a/model/user.go b/model/user.go index 891d9a2..73c2d9f 100644 --- a/model/user.go +++ b/model/user.go @@ -13,7 +13,7 @@ type User struct { Mobile string `gorm:"type:varchar(15);not null;unique;comment:'手机号'" json:"mobile"` // 手机号 Avatar string `gorm:"type:varchar(255);comment:'头像'" json:"avatar"` // 头像 PostalAddress string `gorm:"type:varchar(255);comment:'地址'" json:"postalAddress"` // 地址 - Departments string `gorm:"type:varchar(128);comment:'部门'" json:"departments"` // 部门 + Departments string `gorm:"type:varchar(512);comment:'部门'" json:"departments"` // 部门 Position string `gorm:"type:varchar(128);comment:'职位'" json:"position"` // 职位 Introduction string `gorm:"type:varchar(255);comment:'个人简介'" json:"introduction"` // 个人简介 Status uint `gorm:"type:tinyint(1);default:1;comment:'状态:1在职, 2离职'" json:"status"` // 状态