admin
This commit is contained in:
@@ -4,6 +4,8 @@ import (
|
||||
"lone-services/pkg/utils"
|
||||
)
|
||||
|
||||
const WsCode = "ws-code"
|
||||
|
||||
type Group struct {
|
||||
Id int64 `gorm:"column:id;type:int;not null;autoIncrement" json:"id"`
|
||||
HostUserId int64 `gorm:"column:host_user_id;type:int;default:NULL" json:"host_user_id"` // 设备所有者ID
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"lone-services/pkg/utils"
|
||||
"lone-services/rpc/percutaneous/pb"
|
||||
"lone-services/services/percutaneous/internal/dao"
|
||||
"lone-services/services/percutaneous/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type GetWsCodeLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
BaseLogic
|
||||
}
|
||||
|
||||
func NewGetWsCodeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetWsCodeLogic {
|
||||
return &GetWsCodeLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetWsCodeLogic) GetWsCode(in *percutaneous.GetWsCodeRequest) (*percutaneous.Response, error) {
|
||||
adminInfo := utils.GetUserFromCtx(l.ctx)
|
||||
if adminInfo.ID < utils.NumberOne {
|
||||
return l.fail(utils.ErrorNoLoginInfo)
|
||||
}
|
||||
|
||||
Type := "app"
|
||||
if in.Type == utils.NumberOne {
|
||||
Type = "operation"
|
||||
}
|
||||
|
||||
key := utils.MD5Encrypt(fmt.Sprintf("%d%s%s", adminInfo.ID, dao.WsCode, Type))
|
||||
|
||||
return l.ok(key)
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"lone-services/pkg/utils"
|
||||
pkgws "lone-services/pkg/ws"
|
||||
|
||||
"lone-services/rpc/percutaneous/pb"
|
||||
"lone-services/services/percutaneous/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type SetPositionLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
BaseLogic
|
||||
}
|
||||
|
||||
func NewSetPositionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SetPositionLogic {
|
||||
return &SetPositionLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
// 使用指南
|
||||
func (l *SetPositionLogic) SetPosition(in *percutaneous.SetPositionRequest) (*percutaneous.Response, error) {
|
||||
adminInfo := utils.GetUserFromCtx(l.ctx)
|
||||
if adminInfo.ID < utils.NumberOne {
|
||||
return l.fail(utils.ErrorNoLoginInfo)
|
||||
}
|
||||
|
||||
if _, err := pkgws.GetSession(l.ctx, in.SessionId); err != nil {
|
||||
l.Errorf("set position session: %v", err)
|
||||
return l.fail(utils.ErrorQRcodeExp)
|
||||
}
|
||||
|
||||
data := map[string]int{"ws_type": pkgws.WsTypeScan}
|
||||
if err := pkgws.Publish(l.ctx, in.SessionId, pkgws.Success(data)); err != nil {
|
||||
l.Errorf("qrcode scan publish: %v", err)
|
||||
}
|
||||
|
||||
return &percutaneous.Response{}, nil
|
||||
}
|
||||
@@ -53,6 +53,17 @@ func (s *PercutaneousServer) UserItems(ctx context.Context, in *percutaneous.Use
|
||||
return l.UserItems(in)
|
||||
}
|
||||
|
||||
// 使用指南
|
||||
func (s *PercutaneousServer) SetPosition(ctx context.Context, in *percutaneous.SetPositionRequest) (*percutaneous.Response, error) {
|
||||
l := logic.NewSetPositionLogic(ctx, s.svcCtx)
|
||||
return l.SetPosition(in)
|
||||
}
|
||||
|
||||
func (s *PercutaneousServer) GetWsCode(ctx context.Context, in *percutaneous.GetWsCodeRequest) (*percutaneous.Response, error) {
|
||||
l := logic.NewGetWsCodeLogic(ctx, s.svcCtx)
|
||||
return l.GetWsCode(in)
|
||||
}
|
||||
|
||||
// 添加用户
|
||||
func (s *PercutaneousServer) WsAddUserStream(stream percutaneous.Percutaneous_WsAddUserStreamServer) error {
|
||||
l := logic.NewWsAddUserStreamLogic(stream.Context(), s.svcCtx)
|
||||
|
||||
@@ -14,17 +14,19 @@ import (
|
||||
)
|
||||
|
||||
type (
|
||||
AddUserQRRequest = percutaneous.AddUserQRRequest
|
||||
AddUserRequest = percutaneous.AddUserRequest
|
||||
EmptyRequest = percutaneous.EmptyRequest
|
||||
LoginQRRequest = percutaneous.LoginQRRequest
|
||||
Response = percutaneous.Response
|
||||
UseRequest = percutaneous.UseRequest
|
||||
UsedLogRequest = percutaneous.UsedLogRequest
|
||||
UserItemsRequest = percutaneous.UserItemsRequest
|
||||
WifiCheckRequest = percutaneous.WifiCheckRequest
|
||||
WifiSetRequest = percutaneous.WifiSetRequest
|
||||
WsStreamRequest = percutaneous.WsStreamRequest
|
||||
AddUserQRRequest = percutaneous.AddUserQRRequest
|
||||
AddUserRequest = percutaneous.AddUserRequest
|
||||
EmptyRequest = percutaneous.EmptyRequest
|
||||
GetWsCodeRequest = percutaneous.GetWsCodeRequest
|
||||
LoginQRRequest = percutaneous.LoginQRRequest
|
||||
Response = percutaneous.Response
|
||||
SetPositionRequest = percutaneous.SetPositionRequest
|
||||
UseRequest = percutaneous.UseRequest
|
||||
UsedLogRequest = percutaneous.UsedLogRequest
|
||||
UserItemsRequest = percutaneous.UserItemsRequest
|
||||
WifiCheckRequest = percutaneous.WifiCheckRequest
|
||||
WifiSetRequest = percutaneous.WifiSetRequest
|
||||
WsStreamRequest = percutaneous.WsStreamRequest
|
||||
|
||||
Percutaneous interface {
|
||||
WifiCheck(ctx context.Context, in *WifiCheckRequest, opts ...grpc.CallOption) (*Response, error)
|
||||
@@ -33,6 +35,9 @@ type (
|
||||
UsedLog(ctx context.Context, in *UsedLogRequest, opts ...grpc.CallOption) (*Response, error)
|
||||
AddUser(ctx context.Context, in *AddUserRequest, opts ...grpc.CallOption) (*Response, error)
|
||||
UserItems(ctx context.Context, in *UserItemsRequest, opts ...grpc.CallOption) (*Response, error)
|
||||
// 使用指南
|
||||
SetPosition(ctx context.Context, in *SetPositionRequest, opts ...grpc.CallOption) (*Response, error)
|
||||
GetWsCode(ctx context.Context, in *GetWsCodeRequest, opts ...grpc.CallOption) (*Response, error)
|
||||
// 添加用户
|
||||
WsAddUserStream(ctx context.Context, opts ...grpc.CallOption) (percutaneous.Percutaneous_WsAddUserStreamClient, error)
|
||||
}
|
||||
@@ -78,6 +83,17 @@ func (m *defaultPercutaneous) UserItems(ctx context.Context, in *UserItemsReques
|
||||
return client.UserItems(ctx, in, opts...)
|
||||
}
|
||||
|
||||
// 使用指南
|
||||
func (m *defaultPercutaneous) SetPosition(ctx context.Context, in *SetPositionRequest, opts ...grpc.CallOption) (*Response, error) {
|
||||
client := percutaneous.NewPercutaneousClient(m.cli.Conn())
|
||||
return client.SetPosition(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (m *defaultPercutaneous) GetWsCode(ctx context.Context, in *GetWsCodeRequest, opts ...grpc.CallOption) (*Response, error) {
|
||||
client := percutaneous.NewPercutaneousClient(m.cli.Conn())
|
||||
return client.GetWsCode(ctx, in, opts...)
|
||||
}
|
||||
|
||||
// 添加用户
|
||||
func (m *defaultPercutaneous) WsAddUserStream(ctx context.Context, opts ...grpc.CallOption) (percutaneous.Percutaneous_WsAddUserStreamClient, error) {
|
||||
client := percutaneous.NewPercutaneousClient(m.cli.Conn())
|
||||
|
||||
Reference in New Issue
Block a user