ldap-1-backend/public/client/dingtalk/client.go

54 lines
3.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package dingtalk
import (
"github.com/eryajf/go-ldap-admin/config"
"github.com/eryajf/go-ldap-admin/public/common"
"github.com/zhaoyunxing92/dingtalk/v2"
)
func InitDingTalkClient() *dingtalk.DingTalk {
dingTalk, err := dingtalk.NewClient(config.Conf.DingTalk.AppKey, config.Conf.DingTalk.AppSecret)
if err != nil {
common.Log.Error("init dingding client failed, err:%v\n", err)
}
return dingTalk
}
// 部门结构体
type DingTalkDept struct {
Id int `json:"dept_id"` // 部门ID
Name string `json:"name"` // 部门名称拼音
Remark string `json:"remark"` // 部门中文名
ParentId int `json:"parent_id"` // 父部门ID
}
// DingTalkUser 部门用户详情
type DingTalkUser struct {
UserId string `json:"userid"`
UnionId string `json:"unionid"` // 员工在当前开发者企业账号范围内的唯一标识
Name string `json:"name"` // 员工名称
Avatar string `json:"avatar"` // 头像
StateCode string `json:"state_code"` // 国际电话区号
ManagerUserId string `json:"manager_userid"` // 员工的直属主管
Mobile string `json:"mobile"` // 手机号码
HideMobile bool `json:"hide_mobile"` // 是否号码隐藏
Telephone string `json:"telephone"` // 分机号
JobNumber string `json:"job_number"` // 员工工号
Title string `json:"title"` // 职位
WorkPlace string `json:"work_place"` // 办公地点
Remark string `json:"remark"` // 备注
LoginId string `json:"loginId"` // 专属帐号登录名
DeptIds []int `json:"dept_id_list"` // 所属部门ID列表
DeptOrder int `json:"dept_order"` // 员工在部门中的排序
Extension string `json:"extension"` // 员工在对应的部门中的排序
HiredDate int `json:"hired_date"` // 入职时间
Active bool `json:"active"` // 是否激活了钉钉
Admin bool `json:"admin"` //是否为企业的管理员:
Boss bool `json:"boss"` // 是否为企业的老板
ExclusiveAccount bool `json:"exclusive_account"` // 是否专属帐号
Leader bool `json:"leader"` // 是否是部门的主管
ExclusiveAccountType string `json:"exclusive_account_type"` //专属帐号类型sso企业自建专属帐号 dingtalk钉钉自建专属帐号
OrgEmail string `json:"org_email"` //员工的企业邮箱,如果员工的企业邮箱没有开通,返回信息中不包含该数据
Email string `json:"email"` //员工邮箱,企业内部应用如果没有返回该字段,需要检查当前应用通讯录权限中邮箱等个人信息权限是否开启,员工信息面板中有邮箱字段值才返回该字段,第三方企业应用不返回该参数
}