Merge branch 'dev' into f66
# Conflicts: # modules/user/login_comp.go
This commit is contained in:
commit
6e9bad8887
@ -23,7 +23,7 @@ func (r *Robot) handleUserMsg(msg *pb.UserMessage) {
|
|||||||
log.Fatal("load user err")
|
log.Fatal("load user err")
|
||||||
}
|
}
|
||||||
|
|
||||||
if rsp.Data.UserData.UserId != 0 {
|
if rsp.Data.UserData.UserId != "" {
|
||||||
r.onUserLoaded()
|
r.onUserLoaded()
|
||||||
} else {
|
} else {
|
||||||
log.Debugf("%s不存在", r.Opts.Account)
|
log.Debugf("%s不存在", r.Opts.Account)
|
||||||
@ -35,5 +35,5 @@ func (r *Robot) handleUserMsg(msg *pb.UserMessage) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *Robot) CreateUser() {
|
func (r *Robot) CreateUser() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
15
comm/core.go
15
comm/core.go
@ -38,27 +38,16 @@ type ISC_GateRouteComp interface {
|
|||||||
//用户会话
|
//用户会话
|
||||||
type IUserSession interface {
|
type IUserSession interface {
|
||||||
GetSessionId() string
|
GetSessionId() string
|
||||||
GetUserId() uint32
|
GetUserId() string
|
||||||
GetIP() string
|
GetIP() string
|
||||||
GetGatewayServiceId() string
|
GetGatewayServiceId() string
|
||||||
Build(uid uint32) (err error)
|
Build(uid string) (err error)
|
||||||
UnBuild(ServiceMethod string, msg proto.Message) (err error)
|
UnBuild(ServiceMethod string, msg proto.Message) (err error)
|
||||||
SendMsg(mainType, subType string, code pb.ErrorCode, msg proto.Message) (err error)
|
SendMsg(mainType, subType string, code pb.ErrorCode, msg proto.Message) (err error)
|
||||||
Close() (err error)
|
Close() (err error)
|
||||||
ToString() string
|
ToString() string
|
||||||
}
|
}
|
||||||
|
|
||||||
//消息体
|
|
||||||
type MessageHead struct {
|
|
||||||
ServiceMethod string //服务名
|
|
||||||
}
|
|
||||||
|
|
||||||
//处理JSON消息
|
|
||||||
type Message struct {
|
|
||||||
Head *MessageHead
|
|
||||||
Data []byte
|
|
||||||
}
|
|
||||||
|
|
||||||
func ProtoDecode(msg *pb.UserMessage, req proto.Message) (ok bool) {
|
func ProtoDecode(msg *pb.UserMessage, req proto.Message) (ok bool) {
|
||||||
err := proto.Unmarshal(msg.Data, req)
|
err := proto.Unmarshal(msg.Data, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -10,7 +10,7 @@ import (
|
|||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewUserSession(service base.IRPCXService, ip, sessionId, gatewayServiceId string, uid uint32) IUserSession {
|
func NewUserSession(service base.IRPCXService, ip, sessionId, gatewayServiceId string, uid string) IUserSession {
|
||||||
return &UserSession{
|
return &UserSession{
|
||||||
IP: ip,
|
IP: ip,
|
||||||
SessionId: sessionId,
|
SessionId: sessionId,
|
||||||
@ -24,7 +24,7 @@ type UserSession struct {
|
|||||||
IP string
|
IP string
|
||||||
SessionId string
|
SessionId string
|
||||||
GatewayServiceId string //用户所在网关服务
|
GatewayServiceId string //用户所在网关服务
|
||||||
UserId uint32
|
UserId string
|
||||||
service base.IRPCXService
|
service base.IRPCXService
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ func (this *UserSession) GetSessionId() string {
|
|||||||
return this.SessionId
|
return this.SessionId
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *UserSession) GetUserId() uint32 {
|
func (this *UserSession) GetUserId() string {
|
||||||
return this.UserId
|
return this.UserId
|
||||||
}
|
}
|
||||||
func (this *UserSession) GetIP() string {
|
func (this *UserSession) GetIP() string {
|
||||||
@ -42,7 +42,7 @@ func (this *UserSession) GetGatewayServiceId() string {
|
|||||||
return this.GatewayServiceId
|
return this.GatewayServiceId
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *UserSession) Build(uid uint32) (err error) {
|
func (this *UserSession) Build(uid string) (err error) {
|
||||||
reply := &pb.RPCMessageReply{}
|
reply := &pb.RPCMessageReply{}
|
||||||
if err := this.service.RpcCallById(this.GatewayServiceId, string(Rpc_GatewayAgentBuild), context.Background(), &pb.AgentBuildReq{
|
if err := this.service.RpcCallById(this.GatewayServiceId, string(Rpc_GatewayAgentBuild), context.Background(), &pb.AgentBuildReq{
|
||||||
UserSessionId: this.SessionId,
|
UserSessionId: this.SessionId,
|
||||||
|
@ -19,7 +19,7 @@ func newAgent(gateway IGateway, conn *websocket.Conn) *Agent {
|
|||||||
gateway: gateway,
|
gateway: gateway,
|
||||||
wsConn: conn,
|
wsConn: conn,
|
||||||
sessionId: id.NewUUId(),
|
sessionId: id.NewUUId(),
|
||||||
uId: 0,
|
uId: "",
|
||||||
writeChan: make(chan *pb.UserMessage, 2),
|
writeChan: make(chan *pb.UserMessage, 2),
|
||||||
closeSignal: make(chan bool),
|
closeSignal: make(chan bool),
|
||||||
state: 1,
|
state: 1,
|
||||||
@ -35,7 +35,7 @@ type Agent struct {
|
|||||||
gateway IGateway
|
gateway IGateway
|
||||||
wsConn *websocket.Conn
|
wsConn *websocket.Conn
|
||||||
sessionId string
|
sessionId string
|
||||||
uId uint32
|
uId string
|
||||||
writeChan chan *pb.UserMessage
|
writeChan chan *pb.UserMessage
|
||||||
closeSignal chan bool
|
closeSignal chan bool
|
||||||
state int32 //状态 0 关闭 1 运行 2 关闭中
|
state int32 //状态 0 关闭 1 运行 2 关闭中
|
||||||
@ -100,16 +100,16 @@ func (this *Agent) SessionId() string {
|
|||||||
func (this *Agent) IP() string {
|
func (this *Agent) IP() string {
|
||||||
return this.wsConn.RemoteAddr().String()
|
return this.wsConn.RemoteAddr().String()
|
||||||
}
|
}
|
||||||
func (this *Agent) UserId() uint32 {
|
func (this *Agent) UserId() string {
|
||||||
return this.uId
|
return this.uId
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Agent) Build(uId uint32) {
|
func (this *Agent) Build(uId string) {
|
||||||
this.uId = uId
|
this.uId = uId
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Agent) UnBuild() {
|
func (this *Agent) UnBuild() {
|
||||||
this.uId = 0
|
this.uId = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Agent) WriteMsg(msg *pb.UserMessage) (err error) {
|
func (this *Agent) WriteMsg(msg *pb.UserMessage) (err error) {
|
||||||
|
@ -11,8 +11,8 @@ type (
|
|||||||
IAgent interface {
|
IAgent interface {
|
||||||
SessionId() string
|
SessionId() string
|
||||||
IP() string
|
IP() string
|
||||||
UserId() uint32
|
UserId() string
|
||||||
Build(uId uint32)
|
Build(uId string)
|
||||||
UnBuild()
|
UnBuild()
|
||||||
WriteMsg(msg *pb.UserMessage) (err error)
|
WriteMsg(msg *pb.UserMessage) (err error)
|
||||||
Close() //主动关闭接口
|
Close() //主动关闭接口
|
||||||
|
@ -41,7 +41,7 @@ func (this *Api_Comp) QueryUserPackReq(ctx context.Context, session comm.IUserSe
|
|||||||
defer func() {
|
defer func() {
|
||||||
session.SendMsg("pack", "queryuserpackresp", code, &pb.QueryUserPackResp{Items: items})
|
session.SendMsg("pack", "queryuserpackresp", code, &pb.QueryUserPackResp{Items: items})
|
||||||
}()
|
}()
|
||||||
if session.GetUserId() == 0 {
|
if session.GetUserId() == "" {
|
||||||
code = pb.ErrorCode_NoLogin
|
code = pb.ErrorCode_NoLogin
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -51,11 +51,11 @@ func (this *Api_Comp) QueryUserPackReq(ctx context.Context, session comm.IUserSe
|
|||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
items = make([]*pb.ItemAmount, 0, len(pack.Pack))
|
items = make([]*pb.ItemAmount, 0, len(pack.Pack))
|
||||||
for _, v := range pack.Pack {
|
// for _, v := range pack.Pack {
|
||||||
if v.Itype == req.IType {
|
// if v.Itype == req.IType {
|
||||||
items = append(items, &pb.ItemAmount{IsNew: v.IsNew, ItemId: v.ItemId, Amount: v.Amount})
|
// items = append(items, &pb.ItemAmount{IsNew: v.IsNew, ItemId: v.ItemId, Amount: v.Amount})
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -68,7 +68,7 @@ func (this *Api_Comp) UseItemReq(ctx context.Context, session comm.IUserSession,
|
|||||||
defer func() {
|
defer func() {
|
||||||
session.SendMsg(string(this.module.GetType()), UseItemResp, code, &pb.UseItemResp{})
|
session.SendMsg(string(this.module.GetType()), UseItemResp, code, &pb.UseItemResp{})
|
||||||
}()
|
}()
|
||||||
if session.GetUserId() == 0 {
|
if session.GetUserId() == "" {
|
||||||
code = pb.ErrorCode_NoLogin
|
code = pb.ErrorCode_NoLogin
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -84,7 +84,7 @@ func (this *Api_Comp) SellItemReq(ctx context.Context, session comm.IUserSession
|
|||||||
defer func() {
|
defer func() {
|
||||||
session.SendMsg(string(this.module.GetType()), SellItemResp, code, &pb.SellItemResp{})
|
session.SendMsg(string(this.module.GetType()), SellItemResp, code, &pb.SellItemResp{})
|
||||||
}()
|
}()
|
||||||
if session.GetUserId() == 0 {
|
if session.GetUserId() == "" {
|
||||||
code = pb.ErrorCode_NoLogin
|
code = pb.ErrorCode_NoLogin
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -100,7 +100,7 @@ type AgentMessage struct {
|
|||||||
|
|
||||||
Ip string `protobuf:"bytes,1,opt,name=Ip,proto3" json:"Ip,omitempty"`
|
Ip string `protobuf:"bytes,1,opt,name=Ip,proto3" json:"Ip,omitempty"`
|
||||||
UserSessionId string `protobuf:"bytes,2,opt,name=UserSessionId,proto3" json:"UserSessionId,omitempty"`
|
UserSessionId string `protobuf:"bytes,2,opt,name=UserSessionId,proto3" json:"UserSessionId,omitempty"`
|
||||||
UserId uint32 `protobuf:"varint,3,opt,name=UserId,proto3" json:"UserId,omitempty"`
|
UserId string `protobuf:"bytes,3,opt,name=UserId,proto3" json:"UserId,omitempty"`
|
||||||
GatewayServiceId string `protobuf:"bytes,4,opt,name=GatewayServiceId,proto3" json:"GatewayServiceId,omitempty"`
|
GatewayServiceId string `protobuf:"bytes,4,opt,name=GatewayServiceId,proto3" json:"GatewayServiceId,omitempty"`
|
||||||
Method string `protobuf:"bytes,5,opt,name=Method,proto3" json:"Method,omitempty"`
|
Method string `protobuf:"bytes,5,opt,name=Method,proto3" json:"Method,omitempty"`
|
||||||
Message []byte `protobuf:"bytes,6,opt,name=Message,proto3" json:"Message,omitempty"`
|
Message []byte `protobuf:"bytes,6,opt,name=Message,proto3" json:"Message,omitempty"`
|
||||||
@ -152,11 +152,11 @@ func (x *AgentMessage) GetUserSessionId() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *AgentMessage) GetUserId() uint32 {
|
func (x *AgentMessage) GetUserId() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.UserId
|
return x.UserId
|
||||||
}
|
}
|
||||||
return 0
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *AgentMessage) GetGatewayServiceId() string {
|
func (x *AgentMessage) GetGatewayServiceId() string {
|
||||||
@ -243,7 +243,7 @@ type AgentBuildReq struct {
|
|||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
UserSessionId string `protobuf:"bytes,1,opt,name=UserSessionId,proto3" json:"UserSessionId,omitempty"`
|
UserSessionId string `protobuf:"bytes,1,opt,name=UserSessionId,proto3" json:"UserSessionId,omitempty"`
|
||||||
UserId uint32 `protobuf:"varint,2,opt,name=UserId,proto3" json:"UserId,omitempty"`
|
UserId string `protobuf:"bytes,2,opt,name=UserId,proto3" json:"UserId,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *AgentBuildReq) Reset() {
|
func (x *AgentBuildReq) Reset() {
|
||||||
@ -285,11 +285,11 @@ func (x *AgentBuildReq) GetUserSessionId() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *AgentBuildReq) GetUserId() uint32 {
|
func (x *AgentBuildReq) GetUserId() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.UserId
|
return x.UserId
|
||||||
}
|
}
|
||||||
return 0
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
//用户代理解绑请求
|
//用户代理解绑请求
|
||||||
@ -621,7 +621,7 @@ var file_comm_proto_rawDesc = []byte{
|
|||||||
0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53,
|
0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53,
|
||||||
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
|
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
|
||||||
0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a,
|
0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a,
|
||||||
0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55,
|
0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55,
|
||||||
0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
||||||
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49,
|
0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49,
|
||||||
@ -636,7 +636,7 @@ var file_comm_proto_rawDesc = []byte{
|
|||||||
0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65,
|
0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65,
|
||||||
0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
|
0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
|
||||||
0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x0f, 0x41, 0x67, 0x65, 0x6e, 0x74,
|
0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x0f, 0x41, 0x67, 0x65, 0x6e, 0x74,
|
||||||
0x55, 0x6e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73,
|
0x55, 0x6e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73,
|
||||||
0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
|
@ -75,10 +75,9 @@ type GridData struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
IsNew bool `protobuf:"varint,1,opt,name=IsNew,proto3" json:"IsNew,omitempty"` //是否是新的
|
IsNew bool `protobuf:"varint,1,opt,name=IsNew,proto3" json:"IsNew,omitempty"` //是否是新的
|
||||||
ItemId uint32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //存放物品的Id
|
ItemId uint32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //存放物品的Id
|
||||||
Itype ItemType `protobuf:"varint,3,opt,name=Itype,proto3,enum=ItemType" json:"Itype,omitempty"` //物品类型
|
Amount uint32 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount,omitempty"` //存放物品的数量
|
||||||
Amount uint32 `protobuf:"varint,4,opt,name=Amount,proto3" json:"Amount,omitempty"` //存放物品的数量
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GridData) Reset() {
|
func (x *GridData) Reset() {
|
||||||
@ -127,13 +126,6 @@ func (x *GridData) GetItemId() uint32 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GridData) GetItype() ItemType {
|
|
||||||
if x != nil {
|
|
||||||
return x.Itype
|
|
||||||
}
|
|
||||||
return ItemType_Props
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *GridData) GetAmount() uint32 {
|
func (x *GridData) GetAmount() uint32 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Amount
|
return x.Amount
|
||||||
@ -147,8 +139,8 @@ type DB_UserPackData struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
UserId uint32 `protobuf:"varint,1,opt,name=UserId,proto3" json:"UserId,omitempty" bson:"_id"` //tags:{bson:"_id"}用户Id
|
UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty" bson:"_id"` //tags:{bson:"_id"}用户Id
|
||||||
Pack []*GridData `protobuf:"bytes,2,rep,name=Pack,proto3" json:"Pack,omitempty"` //背包列表
|
Pack []*GridData `protobuf:"bytes,2,rep,name=Pack,proto3" json:"Pack,omitempty"` //背包列表
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DB_UserPackData) Reset() {
|
func (x *DB_UserPackData) Reset() {
|
||||||
@ -183,11 +175,11 @@ func (*DB_UserPackData) Descriptor() ([]byte, []int) {
|
|||||||
return file_pack_db_proto_rawDescGZIP(), []int{1}
|
return file_pack_db_proto_rawDescGZIP(), []int{1}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DB_UserPackData) GetUserId() uint32 {
|
func (x *DB_UserPackData) GetUserId() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.UserId
|
return x.UserId
|
||||||
}
|
}
|
||||||
return 0
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DB_UserPackData) GetPack() []*GridData {
|
func (x *DB_UserPackData) GetPack() []*GridData {
|
||||||
@ -201,22 +193,20 @@ var File_pack_db_proto protoreflect.FileDescriptor
|
|||||||
|
|
||||||
var file_pack_db_proto_rawDesc = []byte{
|
var file_pack_db_proto_rawDesc = []byte{
|
||||||
0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
|
0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
|
||||||
0x71, 0x0a, 0x08, 0x47, 0x72, 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x49,
|
0x50, 0x0a, 0x08, 0x47, 0x72, 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x49,
|
||||||
0x73, 0x4e, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73, 0x4e, 0x65,
|
0x73, 0x4e, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73, 0x4e, 0x65,
|
||||||
0x77, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
|
0x77, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
0x0d, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x05, 0x49, 0x74, 0x79,
|
0x0d, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f,
|
||||||
0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x54,
|
0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
|
||||||
0x79, 0x70, 0x65, 0x52, 0x05, 0x49, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d,
|
0x74, 0x22, 0x48, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b,
|
||||||
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75,
|
0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01,
|
||||||
0x6e, 0x74, 0x22, 0x48, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x63,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x04,
|
||||||
0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18,
|
0x50, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x47, 0x72, 0x69,
|
||||||
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a,
|
0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x50, 0x61, 0x63, 0x6b, 0x2a, 0x2e, 0x0a, 0x08, 0x49,
|
||||||
0x04, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x47, 0x72,
|
0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x70, 0x73,
|
||||||
0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x50, 0x61, 0x63, 0x6b, 0x2a, 0x2e, 0x0a, 0x08,
|
0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x71, 0x75, 0x69, 0x70, 0x10, 0x02, 0x12, 0x0c, 0x0a,
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x70,
|
0x08, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x0c, 0x42, 0x06, 0x5a, 0x04, 0x2e,
|
||||||
0x73, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x71, 0x75, 0x69, 0x70, 0x10, 0x02, 0x12, 0x0c,
|
0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x0a, 0x08, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x0c, 0x42, 0x06, 0x5a, 0x04,
|
|
||||||
0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -239,13 +229,12 @@ var file_pack_db_proto_goTypes = []interface{}{
|
|||||||
(*DB_UserPackData)(nil), // 2: DB_UserPackData
|
(*DB_UserPackData)(nil), // 2: DB_UserPackData
|
||||||
}
|
}
|
||||||
var file_pack_db_proto_depIdxs = []int32{
|
var file_pack_db_proto_depIdxs = []int32{
|
||||||
0, // 0: GridData.Itype:type_name -> ItemType
|
1, // 0: DB_UserPackData.Pack:type_name -> GridData
|
||||||
1, // 1: DB_UserPackData.Pack:type_name -> GridData
|
1, // [1:1] is the sub-list for method output_type
|
||||||
2, // [2:2] is the sub-list for method output_type
|
1, // [1:1] is the sub-list for method input_type
|
||||||
2, // [2:2] is the sub-list for method input_type
|
1, // [1:1] is the sub-list for extension type_name
|
||||||
2, // [2:2] is the sub-list for extension type_name
|
1, // [1:1] is the sub-list for extension extendee
|
||||||
2, // [2:2] is the sub-list for extension extendee
|
0, // [0:1] is the sub-list for field type_name
|
||||||
0, // [0:2] is the sub-list for field type_name
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_pack_db_proto_init() }
|
func init() { file_pack_db_proto_init() }
|
||||||
|
@ -14,7 +14,7 @@ message UserMessage {
|
|||||||
message AgentMessage {
|
message AgentMessage {
|
||||||
string Ip = 1;
|
string Ip = 1;
|
||||||
string UserSessionId = 2;
|
string UserSessionId = 2;
|
||||||
uint32 UserId = 3;
|
string UserId = 3;
|
||||||
string GatewayServiceId = 4;
|
string GatewayServiceId = 4;
|
||||||
string Method = 5;
|
string Method = 5;
|
||||||
bytes Message = 6;
|
bytes Message = 6;
|
||||||
@ -29,7 +29,7 @@ message RPCMessageReply {
|
|||||||
//用户代理绑定Uid请求
|
//用户代理绑定Uid请求
|
||||||
message AgentBuildReq {
|
message AgentBuildReq {
|
||||||
string UserSessionId = 1;
|
string UserSessionId = 1;
|
||||||
uint32 UserId = 2;
|
string UserId = 2;
|
||||||
}
|
}
|
||||||
//用户代理解绑请求
|
//用户代理解绑请求
|
||||||
message AgentUnBuildReq {
|
message AgentUnBuildReq {
|
||||||
|
@ -11,12 +11,11 @@ enum ItemType {
|
|||||||
message GridData {
|
message GridData {
|
||||||
bool IsNew = 1; //是否是新的
|
bool IsNew = 1; //是否是新的
|
||||||
uint32 ItemId = 2; //存放物品的Id
|
uint32 ItemId = 2; //存放物品的Id
|
||||||
ItemType Itype = 3; //物品类型
|
uint32 Amount = 3; //存放物品的数量
|
||||||
uint32 Amount = 4; //存放物品的数量
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//用户背包
|
//用户背包
|
||||||
message DB_UserPackData {
|
message DB_UserPackData {
|
||||||
uint32 UserId = 1; //tags:{bson:"_id"}用户Id
|
string UserId = 1; //tags:{bson:"_id"}用户Id
|
||||||
repeated GridData Pack = 2; //背包列表
|
repeated GridData Pack = 2; //背包列表
|
||||||
}
|
}
|
@ -8,7 +8,7 @@ message Cache_UserData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message DB_UserData {
|
message DB_UserData {
|
||||||
uint32 UserId = 1; //tags:{bson:"_id"}动态Id
|
string UserId = 1; //tags:{bson:"_id"}动态Id
|
||||||
string account = 2;
|
string account = 2;
|
||||||
string NiceName = 3;
|
string NiceName = 3;
|
||||||
string Email = 4;
|
string Email = 4;
|
||||||
|
@ -88,7 +88,7 @@ type DB_UserData struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
UserId uint32 `protobuf:"varint,1,opt,name=UserId,proto3" json:"UserId,omitempty" bson:"_id"` //tags:{bson:"_id"}动态Id
|
UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty" bson:"_id"` //tags:{bson:"_id"}动态Id
|
||||||
Account string `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"`
|
Account string `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"`
|
||||||
NiceName string `protobuf:"bytes,3,opt,name=NiceName,proto3" json:"NiceName,omitempty"`
|
NiceName string `protobuf:"bytes,3,opt,name=NiceName,proto3" json:"NiceName,omitempty"`
|
||||||
Email string `protobuf:"bytes,4,opt,name=Email,proto3" json:"Email,omitempty"`
|
Email string `protobuf:"bytes,4,opt,name=Email,proto3" json:"Email,omitempty"`
|
||||||
@ -127,11 +127,11 @@ func (*DB_UserData) Descriptor() ([]byte, []int) {
|
|||||||
return file_user_db_proto_rawDescGZIP(), []int{1}
|
return file_user_db_proto_rawDescGZIP(), []int{1}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DB_UserData) GetUserId() uint32 {
|
func (x *DB_UserData) GetUserId() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.UserId
|
return x.UserId
|
||||||
}
|
}
|
||||||
return 0
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DB_UserData) GetAccount() string {
|
func (x *DB_UserData) GetAccount() string {
|
||||||
@ -176,7 +176,7 @@ var file_user_db_proto_rawDesc = []byte{
|
|||||||
0x2e, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x55, 0x73,
|
0x2e, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x55, 0x73,
|
||||||
0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x8d, 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x55, 0x73,
|
0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x8d, 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x55, 0x73,
|
||||||
0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64,
|
0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18,
|
||||||
0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x65,
|
0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x65,
|
||||||
0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x65,
|
0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x65,
|
||||||
|
6
sys/cache/pack.go
vendored
6
sys/cache/pack.go
vendored
@ -10,17 +10,17 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const ( //Redis
|
const ( //Redis
|
||||||
Redis_PackCache string = "pack:%d"
|
Redis_PackCache string = "pack:%s"
|
||||||
)
|
)
|
||||||
|
|
||||||
const ()
|
const ()
|
||||||
|
|
||||||
type IPack interface {
|
type IPack interface {
|
||||||
QueryUserPack(uId uint32) (pack *pb.DB_UserPackData, err error)
|
QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error)
|
||||||
}
|
}
|
||||||
|
|
||||||
///查询用户背包数据
|
///查询用户背包数据
|
||||||
func (this *Cache) QueryUserPack(uId uint32) (pack *pb.DB_UserPackData, err error) {
|
func (this *Cache) QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error) {
|
||||||
pack = &pb.DB_UserPackData{
|
pack = &pb.DB_UserPackData{
|
||||||
UserId: uId,
|
UserId: uId,
|
||||||
}
|
}
|
||||||
|
2
sys/cache/user.go
vendored
2
sys/cache/user.go
vendored
@ -6,7 +6,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const ( //Redis
|
const ( //Redis
|
||||||
Redis_UserCache string = "user:%d" //会话列表
|
Redis_UserCache string = "user:%s" //会话列表
|
||||||
)
|
)
|
||||||
|
|
||||||
type IUser interface {
|
type IUser interface {
|
||||||
|
3
sys/cache/user_test.go
vendored
3
sys/cache/user_test.go
vendored
@ -7,6 +7,7 @@ import (
|
|||||||
|
|
||||||
"github.com/liwei1dao/lego/sys/redis"
|
"github.com/liwei1dao/lego/sys/redis"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||||
)
|
)
|
||||||
|
|
||||||
var cache *Cache
|
var cache *Cache
|
||||||
@ -28,7 +29,7 @@ func TestUpdateUser(t *testing.T) {
|
|||||||
SessionId: "1",
|
SessionId: "1",
|
||||||
GatewayServiceId: "work",
|
GatewayServiceId: "work",
|
||||||
UserData: &pb.DB_UserData{
|
UserData: &pb.DB_UserData{
|
||||||
UserId: 1,
|
UserId: primitive.NewObjectID().Hex(),
|
||||||
Account: "aaa",
|
Account: "aaa",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,5 @@ func (this *DB) init() (err error) {
|
|||||||
); err != nil {
|
); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err = this.checkUserIdInit()
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -12,11 +12,11 @@ const ( //Redis
|
|||||||
)
|
)
|
||||||
|
|
||||||
type IPack interface {
|
type IPack interface {
|
||||||
QueryUserPack(uId uint32) (pack *pb.DB_UserPackData, err error)
|
QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error)
|
||||||
}
|
}
|
||||||
|
|
||||||
///查询用户背包数据
|
///查询用户背包数据
|
||||||
func (this *DB) QueryUserPack(uId uint32) (pack *pb.DB_UserPackData, err error) {
|
func (this *DB) QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error) {
|
||||||
pack = &pb.DB_UserPackData{}
|
pack = &pb.DB_UserPackData{}
|
||||||
err = this.mgo.FindOne(DB_PackTable, bson.M{"_id": uId}).Decode(pack)
|
err = this.mgo.FindOne(DB_PackTable, bson.M{"_id": uId}).Decode(pack)
|
||||||
return
|
return
|
||||||
|
@ -1,34 +1,25 @@
|
|||||||
package db
|
package db
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
"math/rand"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/liwei1dao/lego/core"
|
"github.com/liwei1dao/lego/core"
|
||||||
"github.com/liwei1dao/lego/sys/log"
|
|
||||||
"go.mongodb.org/mongo-driver/bson"
|
"go.mongodb.org/mongo-driver/bson"
|
||||||
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||||
"go.mongodb.org/mongo-driver/mongo/options"
|
"go.mongodb.org/mongo-driver/mongo/options"
|
||||||
)
|
)
|
||||||
|
|
||||||
const ( //Redis
|
const ( //Redis
|
||||||
DB_UserTable core.SqlTable = "user" //用户表
|
DB_UserTable core.SqlTable = "user" //用户表
|
||||||
DB_UserIdTable core.SqlTable = "userid" //用户id表
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type IUser interface {
|
type IUser interface {
|
||||||
User_FindUserByAccount(account string) (*pb.DB_UserData, error)
|
User_FindUserByAccount(account string) (*pb.DB_UserData, error)
|
||||||
User_FindUserById(id uint32) (*pb.DB_UserData, error)
|
User_FindUserById(id string) (*pb.DB_UserData, error)
|
||||||
User_CreateUser(user *pb.DB_UserData) error
|
User_CreateUser(user *pb.DB_UserData) error
|
||||||
User_UpdateUser(data *pb.DB_UserData) (err error)
|
User_UpdateUser(data *pb.DB_UserData) (err error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserId struct {
|
|
||||||
UserId uint32 `bson:"_id"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *DB) User_FindUserByAccount(account string) (*pb.DB_UserData, error) {
|
func (this *DB) User_FindUserByAccount(account string) (*pb.DB_UserData, error) {
|
||||||
filter := bson.D{
|
filter := bson.D{
|
||||||
{"account", account},
|
{"account", account},
|
||||||
@ -39,7 +30,7 @@ func (this *DB) User_FindUserByAccount(account string) (*pb.DB_UserData, error)
|
|||||||
return user, err
|
return user, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *DB) User_FindUserById(id uint32) (*pb.DB_UserData, error) {
|
func (this *DB) User_FindUserById(id string) (*pb.DB_UserData, error) {
|
||||||
filter := bson.D{
|
filter := bson.D{
|
||||||
{"_id", id},
|
{"_id", id},
|
||||||
}
|
}
|
||||||
@ -49,21 +40,15 @@ func (this *DB) User_FindUserById(id uint32) (*pb.DB_UserData, error) {
|
|||||||
return user, err
|
return user, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *DB) User_CreateUser(user *pb.DB_UserData) error {
|
func (this *DB) User_CreateUser(user *pb.DB_UserData) (err error) {
|
||||||
userId := &UserId{}
|
user.UserId = primitive.NewObjectID().Hex()
|
||||||
err := this.mgo.FindOneAndDelete(DB_UserIdTable, bson.M{}).Decode(userId)
|
|
||||||
if err != nil {
|
|
||||||
log.Errorf("find userId err :%v", err)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
user.UserId = userId.UserId
|
|
||||||
_, err = this.mgo.InsertOne(DB_UserTable, user)
|
_, err = this.mgo.InsertOne(DB_UserTable, user)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新用户数据到DB
|
//更新用户数据到DB
|
||||||
func (this *DB) User_UpdateUser(data *pb.DB_UserData) error {
|
func (this *DB) User_UpdateUser(data *pb.DB_UserData) (err error) {
|
||||||
err := this.mgo.FindOneAndUpdate(
|
err = this.mgo.FindOneAndUpdate(
|
||||||
DB_UserTable,
|
DB_UserTable,
|
||||||
bson.M{"_id": data.UserId},
|
bson.M{"_id": data.UserId},
|
||||||
bson.M{"$set": bson.M{
|
bson.M{"$set": bson.M{
|
||||||
@ -74,33 +59,3 @@ func (this *DB) User_UpdateUser(data *pb.DB_UserData) error {
|
|||||||
).Decode(data)
|
).Decode(data)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//校验数据库初始化工作是否完成
|
|
||||||
func (this *DB) checkUserIdInit() (err error) {
|
|
||||||
ctx, _ := context.WithTimeout(context.Background(), time.Second*60)
|
|
||||||
count, err := this.mgo.CountDocuments(DB_UserIdTable, bson.M{})
|
|
||||||
if err != nil || count == 0 {
|
|
||||||
//批量插入数据
|
|
||||||
leng := 1000000
|
|
||||||
cIds := make([]interface{}, leng)
|
|
||||||
for i, _ := range cIds {
|
|
||||||
cIds[i] = 1000000 + i
|
|
||||||
}
|
|
||||||
data := make([]interface{}, leng)
|
|
||||||
r := rand.New(rand.NewSource(time.Now().Unix()))
|
|
||||||
n := 0
|
|
||||||
for _, i := range r.Perm(leng) {
|
|
||||||
data[n] = bson.M{"_id": i}
|
|
||||||
n++
|
|
||||||
}
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
)
|
|
||||||
begin := time.Now()
|
|
||||||
if _, err = this.mgo.InsertManyByCtx(DB_UserIdTable, ctx, data); err != nil {
|
|
||||||
return fmt.Errorf("checkUserIdInit err=%s", err.Error())
|
|
||||||
}
|
|
||||||
log.Debugf("checkUserIdInit succ time consuming:%v", time.Now().Sub(begin))
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
@ -9,6 +9,7 @@ import (
|
|||||||
"github.com/liwei1dao/lego/sys/mgo"
|
"github.com/liwei1dao/lego/sys/mgo"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||||
)
|
)
|
||||||
|
|
||||||
var db *DB
|
var db *DB
|
||||||
@ -37,7 +38,7 @@ func TestCreate(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestFindOne(t *testing.T) {
|
func TestFindOne(t *testing.T) {
|
||||||
user, err := db.User_FindUserById(1)
|
user, err := db.User_FindUserById("")
|
||||||
require.Nil(t, err)
|
require.Nil(t, err)
|
||||||
assert.Equal(t, "legu1", user.Account)
|
assert.Equal(t, "legu1", user.Account)
|
||||||
|
|
||||||
@ -49,7 +50,7 @@ func TestFindOne(t *testing.T) {
|
|||||||
|
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
user := &pb.DB_UserData{
|
user := &pb.DB_UserData{
|
||||||
UserId: 10001,
|
UserId: primitive.NewObjectID().String(),
|
||||||
Email: "new@qq.com",
|
Email: "new@qq.com",
|
||||||
}
|
}
|
||||||
err := db.User_UpdateUser(user)
|
err := db.User_UpdateUser(user)
|
||||||
|
Loading…
Reference in New Issue
Block a user