63 lines
1.7 KiB
Go
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.InternalCreateData, error) {
|
|
cli, err := rpcclient.Get(userSvcName)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return userpb.NewUserClient(cli.Conn()).InternalCreate(ctx, &userpb.InternalCreateReq{
|
|
Mobile: mobile,
|
|
ClientCode: []string{saleClientCode},
|
|
CredentialType: []string{"password"},
|
|
Secret: password,
|
|
})
|
|
}
|
|
|
|
func updateSaleUserMobile(ctx context.Context, userSvcName string, userId int64, mobile string) (*userpb.InternalUpdateMobileData, error) {
|
|
cli, err := rpcclient.Get(userSvcName)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return userpb.NewUserClient(cli.Conn()).InternalUpdateMobile(ctx, &userpb.InternalUpdateMobileReq{
|
|
UserId: userId,
|
|
Mobile: mobile,
|
|
})
|
|
}
|
|
|
|
func revokeSaleUserClient(ctx context.Context, userSvcName string, userId int64) (*userpb.InternalRevokeBizClientData, error) {
|
|
cli, err := rpcclient.Get(userSvcName)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return userpb.NewUserClient(cli.Conn()).InternalRevokeBizClient(ctx, &userpb.InternalRevokeBizClientReq{
|
|
UserId: userId,
|
|
ClientCode: saleClientCode,
|
|
})
|
|
}
|
|
|
|
func reopenSaleUserClient(ctx context.Context, userSvcName, mobile string) (*userpb.InternalCreateData, 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
|
|
}
|