fix:解决因username为空导致同步失败,解决departments字段长度问题 (#200)

This commit is contained in:
xiaowu 2023-04-25 19:35:53 +08:00 committed by GitHub
parent cbca69dc49
commit 718e02369a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 4 deletions

View File

@ -2,7 +2,6 @@ package logic
import ( import (
"fmt" "fmt"
"github.com/eryajf/go-ldap-admin/config" "github.com/eryajf/go-ldap-admin/config"
"github.com/eryajf/go-ldap-admin/model" "github.com/eryajf/go-ldap-admin/model"
"github.com/eryajf/go-ldap-admin/public/common" "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) 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{} u := &model.User{}
for system, remote := range fieldRelation { for system, remote := range fieldRelation {
switch system { switch system {
@ -310,8 +316,10 @@ func ConvertUserData(flag string, remoteData []map[string]interface{}) (users []
if err != nil { if err != nil {
return nil, err return nil, err
} }
user.DepartmentId = tools.SliceToString(groupIds, ",") if user != nil {
users = append(users, user) user.DepartmentId = tools.SliceToString(groupIds, ",")
users = append(users, user)
}
} }
return return
} }

View File

@ -13,7 +13,7 @@ type User struct {
Mobile string `gorm:"type:varchar(15);not null;unique;comment:'手机号'" json:"mobile"` // 手机号 Mobile string `gorm:"type:varchar(15);not null;unique;comment:'手机号'" json:"mobile"` // 手机号
Avatar string `gorm:"type:varchar(255);comment:'头像'" json:"avatar"` // 头像 Avatar string `gorm:"type:varchar(255);comment:'头像'" json:"avatar"` // 头像
PostalAddress string `gorm:"type:varchar(255);comment:'地址'" json:"postalAddress"` // 地址 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"` // 职位 Position string `gorm:"type:varchar(128);comment:'职位'" json:"position"` // 职位
Introduction string `gorm:"type:varchar(255);comment:'个人简介'" json:"introduction"` // 个人简介 Introduction string `gorm:"type:varchar(255);comment:'个人简介'" json:"introduction"` // 个人简介
Status uint `gorm:"type:tinyint(1);default:1;comment:'状态:1在职, 2离职'" json:"status"` // 状态 Status uint `gorm:"type:tinyint(1);default:1;comment:'状态:1在职, 2离职'" json:"status"` // 状态