851348ed5c
CI / changes (push) Successful in 37s
CI / ad (push) Successful in 1s
CI / admin (push) Successful in 0s
CI / bff (push) Successful in 23s
CI / chore (push) Successful in 0s
CI / equipment (push) Successful in 0s
CI / express (push) Successful in 1s
CI / factory (push) Successful in 0s
CI / message (push) Successful in 0s
CI / order (push) Successful in 1s
CI / payment (push) Successful in 33s
CI / product (push) Successful in 0s
CI / record (push) Successful in 0s
CI / sale (push) Successful in 0s
CI / support (push) Successful in 0s
CI / task (push) Successful in 0s
CI / user (push) Successful in 18s
CI / wecom (push) Successful in 0s
36 lines
921 B
Go
36 lines
921 B
Go
package logic
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"lone-services/pkg/utils"
|
|
userpb "lone-services/rpc/user/pb"
|
|
"lone-services/services/payment/internal/svc"
|
|
)
|
|
|
|
func loadOpenID(ctx context.Context, userSvcName string, userID int64) (string, error) {
|
|
if userSvcName == utils.StringEmpty {
|
|
return utils.StringEmpty, fmt.Errorf("user service not configured")
|
|
}
|
|
if userID < utils.NumberOne {
|
|
return utils.StringEmpty, fmt.Errorf("invalid user id")
|
|
}
|
|
|
|
cli, err := svc.GetRpcClient(userSvcName)
|
|
if err != nil {
|
|
return utils.StringEmpty, err
|
|
}
|
|
info, err := userpb.NewUserClient(cli.Conn()).InternalGetUserInfo(ctx, &userpb.InternalGetUserInfoReq{
|
|
UserId: userID,
|
|
CredentialType: "openid",
|
|
})
|
|
if err != nil {
|
|
return utils.StringEmpty, err
|
|
}
|
|
if info == nil || info.Identifier == utils.StringEmpty {
|
|
return utils.StringEmpty, fmt.Errorf("openid credential not found")
|
|
}
|
|
return info.Identifier, nil
|
|
}
|