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 }