|
@@ -133,28 +133,27 @@ func (c *Client) CreateInternalUser(p CreateUserParams) error {
|
|
|
return resp.err()
|
|
return resp.err()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-// CreateInternalUserSkipMobileConflict 创建用户;手机号冲突时去掉手机号重试(旧系统行为)。
|
|
|
|
|
-func (c *Client) CreateInternalUserSkipMobileConflict(p CreateUserParams) error {
|
|
|
|
|
- err := c.CreateInternalUser(p)
|
|
|
|
|
|
|
+// IsMobileBoundByOtherUser 创建用户时手机号已被其他契约锁账号占用。
|
|
|
|
|
+func IsMobileBoundByOtherUser(err error) bool {
|
|
|
if err == nil {
|
|
if err == nil {
|
|
|
- return nil
|
|
|
|
|
- }
|
|
|
|
|
- if p.Mobile != "" && strings.Contains(err.Error(), "手机号已被其他用户绑定") {
|
|
|
|
|
- p.Mobile = ""
|
|
|
|
|
- return c.CreateInternalUser(p)
|
|
|
|
|
|
|
+ return false
|
|
|
}
|
|
}
|
|
|
- return err
|
|
|
|
|
|
|
+ return strings.Contains(err.Error(), "手机号已被其他用户绑定")
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// UserSignSilentURL 获取个人签名静默授权页;authEnd 为空则默认 10 个月。
|
|
// UserSignSilentURL 获取个人签名静默授权页;authEnd 为空则默认 10 个月。
|
|
|
// applyCompany 传入当前体检机构(openCompanyId 通常等于 tenant_id),授权记录按机构维度拆分。
|
|
// applyCompany 传入当前体检机构(openCompanyId 通常等于 tenant_id),授权记录按机构维度拆分。
|
|
|
-func (c *Client) UserSignSilentURL(openUserID string, applyCompany ApplyCompanyParams, authEnd time.Time, completeToPage string) (string, error) {
|
|
|
|
|
|
|
+// authMobile 非空时一并传给契约锁;定位优先级为手机号高于 openUserId,避免复用无手机号的重复账号。
|
|
|
|
|
+func (c *Client) UserSignSilentURL(openUserID, authMobile string, applyCompany ApplyCompanyParams, authEnd time.Time, completeToPage string) (string, error) {
|
|
|
if authEnd.IsZero() {
|
|
if authEnd.IsZero() {
|
|
|
authEnd = time.Now().Add(DefaultPersonalAuthDuration)
|
|
authEnd = time.Now().Add(DefaultPersonalAuthDuration)
|
|
|
}
|
|
}
|
|
|
timeEditable := false
|
|
timeEditable := false
|
|
|
req := v2auth_request.V2AuthPersonalsignsilentUrlRequest{
|
|
req := v2auth_request.V2AuthPersonalsignsilentUrlRequest{
|
|
|
- AuthUser: &common.SilentUserRequest{OpenUserId: openUserID},
|
|
|
|
|
|
|
+ AuthUser: &common.SilentUserRequest{
|
|
|
|
|
+ OpenUserId: strings.TrimSpace(openUserID),
|
|
|
|
|
+ Mobile: strings.TrimSpace(authMobile),
|
|
|
|
|
+ },
|
|
|
AuthEndDate: authEnd.Format("2006-01-02"),
|
|
AuthEndDate: authEnd.Format("2006-01-02"),
|
|
|
AuthTimeModifiable: &timeEditable,
|
|
AuthTimeModifiable: &timeEditable,
|
|
|
AuthorizedMode: []string{"FACEAUTH", "PINAUTH"},
|
|
AuthorizedMode: []string{"FACEAUTH", "PINAUTH"},
|