Merge pull request #269 from eryajf:fix_leaveUser
fix: 修复同步用户时处理离职用户的异常
This commit is contained in:
commit
ae087f2b38
|
@ -16,7 +16,7 @@ import (
|
|||
type DingTalkLogic struct {
|
||||
}
|
||||
|
||||
//通过钉钉获取部门信息
|
||||
// 通过钉钉获取部门信息
|
||||
func (d *DingTalkLogic) SyncDingTalkDepts(c *gin.Context, req interface{}) (data interface{}, rspError interface{}) {
|
||||
// 1.获取所有部门
|
||||
deptSource, err := dingtalk.GetAllDepts()
|
||||
|
@ -78,7 +78,7 @@ func (d DingTalkLogic) AddDepts(group *model.Group) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
//根据现有数据库同步到的部门信息,开启用户同步
|
||||
// 根据现有数据库同步到的部门信息,开启用户同步
|
||||
func (d DingTalkLogic) SyncDingTalkUsers(c *gin.Context, req interface{}) (data interface{}, rspError interface{}) {
|
||||
// 1.获取钉钉用户列表
|
||||
staffSource, err := dingtalk.GetAllUsers()
|
||||
|
@ -111,7 +111,11 @@ func (d DingTalkLogic) SyncDingTalkUsers(c *gin.Context, req interface{}) (data
|
|||
}
|
||||
// 4.遍历id,开始处理
|
||||
for _, uid := range userIds {
|
||||
if isql.User.Exist(tools.H{"source_user_id": fmt.Sprintf("%s_%s", config.Conf.DingTalk.Flag, uid)}) {
|
||||
if isql.User.Exist(
|
||||
tools.H{
|
||||
"source_user_id": fmt.Sprintf("%s_%s", config.Conf.DingTalk.Flag, uid),
|
||||
"status": 1, //只处理1在职的
|
||||
}) {
|
||||
user := new(model.User)
|
||||
err = isql.User.Find(tools.H{"source_user_id": fmt.Sprintf("%s_%s", config.Conf.DingTalk.Flag, uid)}, user)
|
||||
if err != nil {
|
||||
|
|
|
@ -107,7 +107,11 @@ func (d FeiShuLogic) SyncFeiShuUsers(c *gin.Context, req interface{}) (data inte
|
|||
}
|
||||
// 4.遍历id,开始处理
|
||||
for _, uid := range userIds {
|
||||
if isql.User.Exist(tools.H{"source_user_id": fmt.Sprintf("%s_%s", config.Conf.FeiShu.Flag, uid)}) {
|
||||
if isql.User.Exist(
|
||||
tools.H{
|
||||
"status": 1, //只处理1在职的
|
||||
"source_user_id": fmt.Sprintf("%s_%s", config.Conf.FeiShu.Flag, uid),
|
||||
}) {
|
||||
user := new(model.User)
|
||||
err = isql.User.Find(tools.H{"source_union_id": fmt.Sprintf("%s_%s", config.Conf.FeiShu.Flag, uid)}, user)
|
||||
if err != nil {
|
||||
|
|
|
@ -17,7 +17,7 @@ import (
|
|||
type WeComLogic struct {
|
||||
}
|
||||
|
||||
//通过企业微信获取部门信息
|
||||
// 通过企业微信获取部门信息
|
||||
func (d *WeComLogic) SyncWeComDepts(c *gin.Context, req interface{}) (data interface{}, rspError interface{}) {
|
||||
// 1.获取所有部门
|
||||
deptSource, err := wechat.GetAllDepts()
|
||||
|
@ -80,7 +80,7 @@ func (d WeComLogic) AddDepts(group *model.Group) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
//根据现有数据库同步到的部门信息,开启用户同步
|
||||
// 根据现有数据库同步到的部门信息,开启用户同步
|
||||
func (d WeComLogic) SyncWeComUsers(c *gin.Context, req interface{}) (data interface{}, rspError interface{}) {
|
||||
// 1.获取企业微信用户列表
|
||||
staffSource, err := wechat.GetAllUsers()
|
||||
|
@ -126,7 +126,7 @@ func (d WeComLogic) SyncWeComUsers(c *gin.Context, req interface{}) (data interf
|
|||
// 4.遍历id,开始处理
|
||||
for _, userTmp := range res {
|
||||
user := new(model.User)
|
||||
err = isql.User.Find(tools.H{"source_user_id": userTmp.SourceUserId}, user)
|
||||
err = isql.User.Find(tools.H{"source_user_id": userTmp.SourceUserId, "status": 1}, user)
|
||||
if err != nil {
|
||||
return nil, tools.NewMySqlError(fmt.Errorf("在MySQL查询用户失败: " + err.Error()))
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue