Merge branch 'master' into new-beego-path

This commit is contained in:
roberChen
2021-03-25 11:49:39 +08:00
17 changed files with 443 additions and 136 deletions

View File

@@ -19,6 +19,8 @@ var (
ErrorMemberPasswordError = errors.New("用户密码错误")
//ErrorMemberAuthMethodInvalid 不支持此认证方式
ErrMemberAuthMethodInvalid = errors.New("不支持此认证方式")
//ErrHTTPServerFail
ErrHTTPServerFail = errors.New("系统内部异常")
//ErrLDAPConnect 无法连接到LDAP服务器
ErrLDAPConnect = errors.New("无法连接到LDAP服务器")
//ErrLDAPFirstBind 第一次LDAP绑定失败

View File

@@ -105,6 +105,17 @@ func (m *Member) Login(account string, password string) (*Member, error) {
return member, ErrorMemberPasswordError
}
// TmpLogin 用于钉钉临时登录
func (m *Member) TmpLogin(account string) (*Member, error) {
o := orm.NewOrm()
member := &Member{}
err := o.Raw("select * from md_members where account = ? and status = 0 limit 1;", account).QueryRow(member)
if err != nil {
return member, ErrorMemberPasswordError
}
return member, nil
}
//ldapLogin 通过LDAP登陆
func (m *Member) ldapLogin(account string, password string) (*Member, error) {
if web.AppConfig.DefaultBool("ldap_enable", false) {
@@ -187,14 +198,14 @@ func (m *Member) httpLogin(account, password string) (*Member, error) {
resp, err := http.PostForm(urlStr, val)
if err != nil {
logs.Error("通过接口登录失败 -> ", urlStr, account, err)
return nil, err
return nil, ErrHTTPServerFail
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
logs.Error("读取接口返回值失败 -> ", urlStr, account, err)
return nil, err
return nil, ErrHTTPServerFail
}
logs.Info("HTTP 登录接口返回数据 ->", string(body))
@@ -202,7 +213,7 @@ func (m *Member) httpLogin(account, password string) (*Member, error) {
if err := json.Unmarshal(body, &result); err != nil {
logs.Error("解析接口返回值失败 -> ", urlStr, account, string(body))
return nil, errors.New("解析接口返回值失败")
return nil, ErrHTTPServerFail
}
if code, ok := result["errcode"]; !ok || code.(float64) != 200 {
@@ -210,7 +221,7 @@ func (m *Member) httpLogin(account, password string) (*Member, error) {
if msg, ok := result["message"]; ok {
return nil, errors.New(msg.(string))
}
return nil, errors.New("接口返回值格式不正确")
return nil, ErrHTTPServerFail
}
if m.MemberId <= 0 {
member := NewMember()

View File

@@ -205,16 +205,16 @@ func (m *TeamMember) FindNotJoinMemberByAccount(teamId int, account string, limi
}
o := orm.NewOrm()
sql := `select member.member_id,member.account,team.team_member_id
sql := `select member.member_id,member.account,member.real_name,team.team_member_id
from md_members as member
left join md_team_member as team on team.team_id = ? and member.member_id = team.member_id
where member.account like ? AND team_member_id IS NULL
where member.account like ? or member.real_name like ? AND team_member_id IS NULL
order by member.member_id desc
limit ?;`
members := make([]*Member, 0)
_, err := o.Raw(sql, teamId, "%"+account+"%", limit).QueryRows(&members)
_, err := o.Raw(sql, teamId, "%"+account+"%", "%"+account+"%", limit).QueryRows(&members)
if err != nil {
logs.Error("查询团队用户时出错 ->", err)
@@ -227,7 +227,7 @@ limit ?;`
for _, member := range members {
item := KeyValueItem{}
item.Id = member.MemberId
item.Text = member.Account
item.Text = member.Account + "[" + member.RealName + "]"
items = append(items, item)
}
result.Result = items