2022-01-05 16:09:55 +08:00
|
|
|
package tenant
|
|
|
|
|
|
|
|
import (
|
|
|
|
"SciencesServer/app/api/admin/model"
|
|
|
|
model2 "SciencesServer/app/common/model"
|
|
|
|
"SciencesServer/app/session"
|
|
|
|
"errors"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Member 人员信息
|
|
|
|
type Member struct {
|
|
|
|
session *session.Admin
|
|
|
|
}
|
|
|
|
|
|
|
|
type MemberHandle func(session *session.Admin) *Member
|
|
|
|
|
|
|
|
type (
|
|
|
|
// MemberInfo 人员信息
|
|
|
|
MemberInfo struct {
|
|
|
|
ID string `json:"id"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
Account string `json:"account"`
|
|
|
|
Mobile string `json:"mobile"`
|
|
|
|
}
|
|
|
|
// MemberParams 人员参数信息
|
|
|
|
MemberParams struct {
|
|
|
|
Mobile, Password string
|
|
|
|
}
|
|
|
|
)
|
|
|
|
|
|
|
|
// Instance 人员信息
|
|
|
|
func (c *Member) Instance(tenantID uint64) (*MemberInfo, error) {
|
|
|
|
mSysUser := model.NewSysUser()
|
|
|
|
|
|
|
|
isExist, err := model2.FirstField(mSysUser.SysUser, []string{"id", "name", "account", "mobile"},
|
|
|
|
model2.NewWhere("tenant_id", tenantID),
|
|
|
|
model2.NewWhere("is_admin", model2.SysUserAdministratorForAdmin))
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
out := new(MemberInfo)
|
|
|
|
|
|
|
|
if !isExist {
|
|
|
|
goto RETURNS
|
|
|
|
}
|
|
|
|
out.ID = mSysUser.GetEncodeID()
|
|
|
|
out.Name = mSysUser.Name
|
|
|
|
out.Account = mSysUser.Account
|
|
|
|
out.Mobile = mSysUser.Mobile
|
|
|
|
RETURNS:
|
|
|
|
return out, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// Form 数据操作
|
|
|
|
func (c *Member) Form(tenantID uint64, params *MemberParams) error {
|
|
|
|
mSysUser := model.NewSysUser()
|
|
|
|
|
|
|
|
isExist, err := model2.FirstField(mSysUser.SysUser, []string{"id", "name", "account", "mobile"},
|
|
|
|
model2.NewWhere("tenant_id", tenantID),
|
|
|
|
model2.NewWhere("is_admin", model2.SysUserAdministratorForAdmin))
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
} else if isExist {
|
|
|
|
return errors.New("操作错误,当前平台已存在管理员")
|
|
|
|
}
|
|
|
|
mSysUser.TenantID = tenantID
|
|
|
|
mSysUser.Account = params.Mobile
|
2022-01-06 22:02:09 +08:00
|
|
|
mSysUser.Name = params.Mobile
|
2022-01-05 16:09:55 +08:00
|
|
|
mSysUser.Mobile = params.Mobile
|
|
|
|
mSysUser.Password = params.Password
|
|
|
|
mSysUser.IsAdmin = model2.SysUserAdministratorForAdmin
|
2022-01-06 22:02:09 +08:00
|
|
|
mSysUser.Remark = "子平台管理员"
|
2022-01-05 16:09:55 +08:00
|
|
|
|
|
|
|
return model2.Create(mSysUser.SysUser)
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewMember() MemberHandle {
|
|
|
|
return func(session *session.Admin) *Member {
|
|
|
|
return &Member{session: session}
|
|
|
|
}
|
|
|
|
}
|