Files
lone-services/services/sale/internal/logic/userIdentity.go
T
2026-09-02 09:47:34 +08:00

63 lines
1.7 KiB
Go

package logic
import (
"context"
"lone-services/pkg/rpcclient"
"lone-services/pkg/utils"
userpb "lone-services/rpc/user/pb"
"google.golang.org/grpc/status"
)
const saleClientCode = "sale_beauty"
func ensureSaleIdentity(ctx context.Context, userSvcName, mobile, password string) (*userpb.EnsureBizIdentityData, error) {
cli, err := rpcclient.Get(userSvcName)
if err != nil {
return nil, err
}
return userpb.NewUserClient(cli.Conn()).EnsureBizIdentity(ctx, &userpb.EnsureBizIdentityReq{
Mobile: mobile,
ClientCode: saleClientCode,
CredentialType: "password",
Secret: password,
})
}
func updateSaleUserMobile(ctx context.Context, userSvcName string, userId int64, mobile string) (*userpb.UpdateMobileData, error) {
cli, err := rpcclient.Get(userSvcName)
if err != nil {
return nil, err
}
return userpb.NewUserClient(cli.Conn()).UpdateMobile(ctx, &userpb.UpdateMobileReq{
UserId: userId,
Mobile: mobile,
})
}
func revokeSaleUserClient(ctx context.Context, userSvcName string, userId int64) (*userpb.RevokeBizClientData, error) {
cli, err := rpcclient.Get(userSvcName)
if err != nil {
return nil, err
}
return userpb.NewUserClient(cli.Conn()).RevokeBizClient(ctx, &userpb.RevokeBizClientReq{
UserId: userId,
ClientCode: saleClientCode,
})
}
func reopenSaleUserClient(ctx context.Context, userSvcName, mobile string) (*userpb.EnsureBizIdentityData, error) {
return ensureSaleIdentity(ctx, userSvcName, mobile, utils.StringEmpty)
}
func userRPCError(err error) (string, bool) {
if err == nil {
return utils.StringEmpty, false
}
if st, ok := status.FromError(err); ok {
return st.Message(), true
}
return err.Error(), true
}