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 (
"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
}

View File

@ -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"` // 状态