From 718e02369abffc1c8e9786b9509263a9ae5b013c Mon Sep 17 00:00:00 2001 From: xiaowu <44340137+wang-xiaowu@users.noreply.github.com> Date: Tue, 25 Apr 2023 19:35:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=A7=A3=E5=86=B3=E5=9B=A0username?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E5=AF=BC=E8=87=B4=E5=90=8C=E6=AD=A5=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=EF=BC=8C=E8=A7=A3=E5=86=B3departments=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E9=95=BF=E5=BA=A6=E9=97=AE=E9=A2=98=20(#200)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/a_logic.go | 14 +++++++++++--- model/user.go | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) 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"` // 状态