数据层接口修改
This commit is contained in:
parent
6149c29e86
commit
67190818ae
@ -30,7 +30,7 @@ func (r *Robot) handleFriendMsg(msg *pb.UserMessage) {
|
||||
|
||||
//好友列表
|
||||
func (r *Robot) FriendList() {
|
||||
req := &pb.FriendListReq{}
|
||||
req := &pb.Friend_List_Req{}
|
||||
head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_List}
|
||||
defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req)
|
||||
err := r.SendToClient(head, req)
|
||||
@ -40,7 +40,7 @@ func (r *Robot) FriendList() {
|
||||
}
|
||||
|
||||
func (r *Robot) handleFriendList(msg *pb.UserMessage) {
|
||||
rsp := &pb.FriendListRsp{}
|
||||
rsp := &pb.Friend_List_Rsp{}
|
||||
if !comm.ProtoDecode(msg, rsp) {
|
||||
return
|
||||
}
|
||||
@ -49,7 +49,7 @@ func (r *Robot) handleFriendList(msg *pb.UserMessage) {
|
||||
|
||||
//好友搜索
|
||||
func (r *Robot) FriendSearch(nickName string) {
|
||||
req := &pb.FriendSearchReq{
|
||||
req := &pb.Friend_Search_Req{
|
||||
NickName: nickName,
|
||||
}
|
||||
head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_Search}
|
||||
@ -61,7 +61,7 @@ func (r *Robot) FriendSearch(nickName string) {
|
||||
}
|
||||
|
||||
func (r *Robot) handleFriendSearch(msg *pb.UserMessage) {
|
||||
rsp := &pb.FriendSearchRsp{}
|
||||
rsp := &pb.Friend_Search_Rsp{}
|
||||
if !comm.ProtoDecode(msg, rsp) {
|
||||
return
|
||||
}
|
||||
@ -70,7 +70,7 @@ func (r *Robot) handleFriendSearch(msg *pb.UserMessage) {
|
||||
|
||||
//好友申请
|
||||
func (r *Robot) FriendApply(friendId string) {
|
||||
req := &pb.FriendApplyReq{
|
||||
req := &pb.Friend_Apply_Req{
|
||||
FriendId: friendId,
|
||||
}
|
||||
head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_Apply}
|
||||
@ -82,7 +82,7 @@ func (r *Robot) FriendApply(friendId string) {
|
||||
}
|
||||
|
||||
func (r *Robot) handleFriendApply(msg *pb.UserMessage) {
|
||||
rsp := &pb.FriendApplyRsp{}
|
||||
rsp := &pb.Friend_Apply_Rsp{}
|
||||
if !comm.ProtoDecode(msg, rsp) {
|
||||
return
|
||||
}
|
||||
@ -91,7 +91,7 @@ func (r *Robot) handleFriendApply(msg *pb.UserMessage) {
|
||||
|
||||
//申请列表
|
||||
func (r *Robot) FriendApplyList() {
|
||||
req := &pb.FriendApplyListReq{}
|
||||
req := &pb.Friend_ApplyList_Req{}
|
||||
head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_ApplyList}
|
||||
defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req)
|
||||
err := r.SendToClient(head, req)
|
||||
@ -101,7 +101,7 @@ func (r *Robot) FriendApplyList() {
|
||||
}
|
||||
|
||||
func (r *Robot) handleFriendApplyList(msg *pb.UserMessage) {
|
||||
rsp := &pb.FriendApplyListRsp{}
|
||||
rsp := &pb.Friend_ApplyList_Rsp{}
|
||||
if !comm.ProtoDecode(msg, rsp) {
|
||||
return
|
||||
}
|
||||
@ -110,7 +110,7 @@ func (r *Robot) handleFriendApplyList(msg *pb.UserMessage) {
|
||||
|
||||
//同意
|
||||
func (r *Robot) FriendAgree(friendIds []string) {
|
||||
req := &pb.FriendAgreeReq{
|
||||
req := &pb.Friend_Agree_Req{
|
||||
FriendIds: friendIds,
|
||||
}
|
||||
head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_Agree}
|
||||
@ -122,7 +122,7 @@ func (r *Robot) FriendAgree(friendIds []string) {
|
||||
}
|
||||
|
||||
func (r *Robot) handleFriendAgree(msg *pb.UserMessage) {
|
||||
rsp := &pb.FriendAgreeRsp{}
|
||||
rsp := &pb.Friend_Agree_Rsp{}
|
||||
if !comm.ProtoDecode(msg, rsp) {
|
||||
return
|
||||
}
|
||||
@ -131,7 +131,7 @@ func (r *Robot) handleFriendAgree(msg *pb.UserMessage) {
|
||||
|
||||
//拒绝
|
||||
func (r *Robot) FriendRefuse(friendIds []string) {
|
||||
req := &pb.FriendRefuseReq{
|
||||
req := &pb.Friend_Refuse_Req{
|
||||
FriendIds: friendIds,
|
||||
}
|
||||
head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_Refuse}
|
||||
@ -143,7 +143,7 @@ func (r *Robot) FriendRefuse(friendIds []string) {
|
||||
}
|
||||
|
||||
func (r *Robot) handleFriendRefuse(msg *pb.UserMessage) {
|
||||
rsp := &pb.FriendRefuseRsp{}
|
||||
rsp := &pb.Friend_Refuse_Rsp{}
|
||||
if !comm.ProtoDecode(msg, rsp) {
|
||||
return
|
||||
}
|
||||
@ -152,7 +152,7 @@ func (r *Robot) handleFriendRefuse(msg *pb.UserMessage) {
|
||||
|
||||
//黑名单列表
|
||||
func (r *Robot) FriendBlacklist() {
|
||||
req := &pb.FriendBlackListReq{}
|
||||
req := &pb.Friend_BlackList_Req{}
|
||||
head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_Blacklist}
|
||||
defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req)
|
||||
err := r.SendToClient(head, req)
|
||||
@ -162,7 +162,7 @@ func (r *Robot) FriendBlacklist() {
|
||||
}
|
||||
|
||||
func (r *Robot) handleFriendBlacklist(msg *pb.UserMessage) {
|
||||
rsp := &pb.FriendBlackListRsp{}
|
||||
rsp := &pb.Friend_BlackList_Rsp{}
|
||||
if !comm.ProtoDecode(msg, rsp) {
|
||||
return
|
||||
}
|
||||
@ -171,7 +171,7 @@ func (r *Robot) handleFriendBlacklist(msg *pb.UserMessage) {
|
||||
|
||||
//添加黑名单
|
||||
func (r *Robot) FriendAddBlack() {
|
||||
req := &pb.FriendBlackAddReq{}
|
||||
req := &pb.Friend_BlackAdd_Req{}
|
||||
head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_AddBlack}
|
||||
defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req)
|
||||
err := r.SendToClient(head, req)
|
||||
@ -181,7 +181,7 @@ func (r *Robot) FriendAddBlack() {
|
||||
}
|
||||
|
||||
func (r *Robot) handleFriendAddBlack(msg *pb.UserMessage) {
|
||||
rsp := &pb.FriendBlackAddRsp{}
|
||||
rsp := &pb.Friend_BlackAdd_Rsp{}
|
||||
if !comm.ProtoDecode(msg, rsp) {
|
||||
return
|
||||
}
|
||||
@ -190,7 +190,7 @@ func (r *Robot) handleFriendAddBlack(msg *pb.UserMessage) {
|
||||
|
||||
//删除黑名单
|
||||
func (r *Robot) FriendDelBlack(friendId string) {
|
||||
req := &pb.FriendDelBlackReq{
|
||||
req := &pb.Friend_DelBlack_Req{
|
||||
FriendId: friendId,
|
||||
}
|
||||
head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_DelBlack}
|
||||
@ -202,7 +202,7 @@ func (r *Robot) FriendDelBlack(friendId string) {
|
||||
}
|
||||
|
||||
func (r *Robot) handleFriendDelBlack(msg *pb.UserMessage) {
|
||||
rsp := &pb.FriendDelBlackRsp{}
|
||||
rsp := &pb.Friend_DelBlack_Rsp{}
|
||||
if !comm.ProtoDecode(msg, rsp) {
|
||||
return
|
||||
}
|
||||
|
@ -49,5 +49,5 @@ func (r *Robot) AccountLogin() {
|
||||
log.Fatalf("send err:%v", err)
|
||||
}
|
||||
|
||||
log.Printf("account:[%s] login...", r.opts.Account)
|
||||
log.Printf("区服:[%d] 账号:[%s] login...", r.opts.ServerId, r.opts.Account)
|
||||
}
|
||||
|
@ -41,6 +41,9 @@ func (r *Robot) Run() {
|
||||
if r.opts.Create { //创建新用户
|
||||
r.AccountRegister(r.opts.Account, int32(r.opts.ServerId))
|
||||
} else {
|
||||
if r.opts.Account == "" {
|
||||
log.Fatal("WARNNING: account is required !!!")
|
||||
}
|
||||
r.AccountLogin()
|
||||
}
|
||||
|
||||
|
@ -159,9 +159,14 @@ func Test_Redis_Type(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
type TestAny struct {
|
||||
SubName string `json:"subname"`
|
||||
Age int32 `json:"age"`
|
||||
}
|
||||
type TestData struct {
|
||||
Name string `json:"name"`
|
||||
Agr int `json:"agr"`
|
||||
Sub *TestAny `json:"sub"`
|
||||
}
|
||||
|
||||
func Test_Redis_Encoder_Struct(t *testing.T) {
|
||||
@ -177,15 +182,20 @@ func Test_Redis_Encoder_int(t *testing.T) {
|
||||
}
|
||||
|
||||
func Test_Redis_Encoder_Hash(t *testing.T) {
|
||||
// err := redis.HMSet("test:1003", &TestData{Name: "liwei1dao", Agr: 12})
|
||||
// err := redis.HMSet("test:1005", &TestData{Name: "liwei1dao", Agr: 12, Sub: &TestAny{SubName: "test", Age: 20}})
|
||||
// fmt.Printf("err:%v\n", err)
|
||||
data := &TestData{}
|
||||
err := redis.HGetAll("test:1003", data)
|
||||
fmt.Printf("data:%v err:%v\n", data, err)
|
||||
|
||||
// name := ""
|
||||
// err := redis.HGet("test:1003", "Name", &name)
|
||||
// fmt.Printf("name:%v err:%v", name, err)
|
||||
// data := &TestData{}
|
||||
// err = redis.HGetAll("test:1005", data)
|
||||
// fmt.Printf("data:%v err:%v\n", data, err)
|
||||
|
||||
// redis.HSet("test:1003", "Name", "eeee")
|
||||
name := ""
|
||||
err := redis.HGet("test:1003", "Name", &name)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
fmt.Println(name)
|
||||
|
||||
// data1 := map[string]*TestData{"li_1": {Name: "liwei2dao", Agr: 56}, "li_2": {Name: "liwei3dao", Agr: 78}}
|
||||
// err := redis.HMSet("test:1004", data1)
|
||||
|
@ -6,23 +6,23 @@ import (
|
||||
"go_dreamfactory/utils"
|
||||
)
|
||||
|
||||
func (this *ApiComp) Addblack_Check(session comm.IUserSession, req *pb.FriendBlackAddReq) (result map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *ApiComp) Addblack_Check(session comm.IUserSession, req *pb.Friend_BlackAdd_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
//加入黑名单
|
||||
func (this *ApiComp) Addblack(session comm.IUserSession, chk map[string]interface{}, req *pb.FriendBlackAddReq) (err error) {
|
||||
func (this *ApiComp) Addblack(session comm.IUserSession, chk map[string]interface{}, req *pb.Friend_BlackAdd_Req) (err error) {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
self *pb.DB_FriendData
|
||||
target *pb.DB_FriendData
|
||||
rsp *pb.FriendBlackAddRsp
|
||||
rsp *pb.Friend_BlackAdd_Rsp
|
||||
blackNumMax = 50 //TODO 从配置中读取
|
||||
)
|
||||
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
rsp = &pb.FriendBlackAddRsp{
|
||||
rsp = &pb.Friend_BlackAdd_Rsp{
|
||||
FriendId: req.FriendId,
|
||||
UserId: session.GetUserId(),
|
||||
}
|
||||
@ -64,6 +64,10 @@ func (this *ApiComp) Addblack(session comm.IUserSession, chk map[string]interfac
|
||||
self.BlackIds = append(self.BlackIds, req.FriendId)
|
||||
|
||||
//更新黑名单
|
||||
this.module.model_friend.SetObj(self.UserId, self, false, true)
|
||||
err = this.module.model_friend.SetObj(self.UserId, self)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ import (
|
||||
"go_dreamfactory/utils"
|
||||
)
|
||||
|
||||
func (this *ApiComp) Agree_Check(session comm.IUserSession, req *pb.FriendAgreeReq) (chk map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *ApiComp) Agree_Check(session comm.IUserSession, req *pb.Friend_Agree_Req) (chk map[string]interface{}, code comm.ErrorCode) {
|
||||
chk = make(map[string]interface{})
|
||||
var err error
|
||||
self := &pb.DB_FriendData{UserId: session.GetUserId()}
|
||||
@ -14,7 +14,7 @@ func (this *ApiComp) Agree_Check(session comm.IUserSession, req *pb.FriendAgreeR
|
||||
//获取玩家自己好友数据
|
||||
err = this.module.model_friend.GetObj(session.GetUserId(), self)
|
||||
if self == nil || err != nil {
|
||||
code = pb.ErrorCode_FriendSelfNoData
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_FriendSelfNoData}
|
||||
return
|
||||
}
|
||||
|
||||
@ -34,16 +34,16 @@ func (this *ApiComp) Agree_Check(session comm.IUserSession, req *pb.FriendAgreeR
|
||||
}
|
||||
|
||||
//单个/批量同意
|
||||
func (this *ApiComp) Agree(session comm.IUserSession, chk map[string]interface{}, req *pb.FriendAgreeReq) (code pb.ErrorCode) {
|
||||
func (this *ApiComp) Agree(session comm.IUserSession, chk map[string]interface{}, req *pb.Friend_Agree_Req) (code pb.ErrorCode) {
|
||||
var (
|
||||
self *pb.DB_FriendData
|
||||
rsp *pb.FriendAgreeRsp
|
||||
rsp *pb.Friend_Agree_Rsp
|
||||
optNum int32
|
||||
)
|
||||
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
rsp = &pb.FriendAgreeRsp{
|
||||
rsp = &pb.Friend_Agree_Rsp{
|
||||
Num: optNum,
|
||||
}
|
||||
}
|
||||
@ -80,7 +80,7 @@ func (this *ApiComp) Agree(session comm.IUserSession, chk map[string]interface{}
|
||||
}
|
||||
target.FriendIds = append(target.FriendIds, self.UserId)
|
||||
}
|
||||
err = this.module.model_friend.SetObj(target.UserId, target, false, true)
|
||||
err = this.module.model_friend.SetObj(target.UserId, target)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
}
|
||||
@ -91,7 +91,7 @@ func (this *ApiComp) Agree(session comm.IUserSession, chk map[string]interface{}
|
||||
}
|
||||
|
||||
//更新
|
||||
err := this.module.model_friend.SetObj(self.UserId, self, false, true)
|
||||
err := this.module.model_friend.SetObj(self.UserId, self)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"go_dreamfactory/utils"
|
||||
)
|
||||
|
||||
func (this *ApiComp) Apply_Check(session comm.IUserSession, req *pb.FriendApplyReq) (chk map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *ApiComp) Apply_Check(session comm.IUserSession, req *pb.Friend_Apply_Req) (chk map[string]interface{}, code comm.ErrorCode) {
|
||||
chk = make(map[string]interface{})
|
||||
var err error
|
||||
self := &pb.DB_FriendData{UserId: session.GetUserId()}
|
||||
@ -16,20 +16,20 @@ func (this *ApiComp) Apply_Check(session comm.IUserSession, req *pb.FriendApplyR
|
||||
//获取玩家自己好友数据
|
||||
err = this.module.model_friend.GetObj(session.GetUserId(), self)
|
||||
if self == nil || err != nil {
|
||||
code = pb.ErrorCode_FriendSelfNoData
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_FriendSelfNoData}
|
||||
return
|
||||
}
|
||||
|
||||
//获取好友数据
|
||||
err = this.module.model_friend.GetObj(req.FriendId, target)
|
||||
if target == nil || err != nil {
|
||||
code = pb.ErrorCode_FriendTargetNoData
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_FriendTargetNoData}
|
||||
return
|
||||
}
|
||||
|
||||
//判断是否是自己
|
||||
if req.FriendId == session.GetUserId() {
|
||||
code = pb.ErrorCode_FriendNotSelf
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_FriendNotSelf}
|
||||
return
|
||||
}
|
||||
|
||||
@ -38,38 +38,38 @@ func (this *ApiComp) Apply_Check(session comm.IUserSession, req *pb.FriendApplyR
|
||||
var max int = 50
|
||||
total := len(self.FriendIds)
|
||||
if total >= max {
|
||||
code = pb.ErrorCode_FriendSelfMax
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_FriendSelfMax}
|
||||
return
|
||||
}
|
||||
|
||||
//判断对方是否也超过最大好友数量
|
||||
ttotal := len(target.FriendIds)
|
||||
if ttotal >= max {
|
||||
code = pb.ErrorCode_FriendTargetMax
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_FriendTargetMax}
|
||||
return
|
||||
}
|
||||
|
||||
//判断是否是好友
|
||||
if _, ok := utils.Find(self.FriendIds, req.FriendId); ok {
|
||||
code = pb.ErrorCode_FriendYet
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_FriendYet}
|
||||
return
|
||||
}
|
||||
|
||||
//判断自己是否在目标用户的申请列表中
|
||||
if _, ok := utils.Find(target.ApplyIds, self.UserId); ok {
|
||||
code = pb.ErrorCode_FriendApplyYet
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_FriendApplyYet}
|
||||
return
|
||||
}
|
||||
|
||||
//判断目标用户是否在黑名单中
|
||||
if _, ok := utils.Find(self.BlackIds, req.FriendId); ok {
|
||||
code = pb.ErrorCode_FriendSelfBlackYet
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_FriendSelfBlackYet}
|
||||
return
|
||||
}
|
||||
|
||||
//判断是否在对方的黑名单中
|
||||
if _, ok := utils.Find(target.BlackIds, self.UserId); ok {
|
||||
code = pb.ErrorCode_FriendTargetBlackYet
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_FriendTargetBlackYet}
|
||||
return
|
||||
}
|
||||
|
||||
@ -79,10 +79,10 @@ func (this *ApiComp) Apply_Check(session comm.IUserSession, req *pb.FriendApplyR
|
||||
}
|
||||
|
||||
//好友申请
|
||||
func (this *ApiComp) Apply(session comm.IUserSession, chk map[string]interface{}, req *pb.FriendApplyReq) (code pb.ErrorCode) {
|
||||
func (this *ApiComp) Apply(session comm.IUserSession, chk map[string]interface{}, req *pb.Friend_Apply_Req) (code pb.ErrorCode) {
|
||||
var (
|
||||
target *pb.DB_FriendData
|
||||
rsp *pb.FriendApplyRsp
|
||||
rsp *pb.Friend_Apply_Rsp
|
||||
)
|
||||
|
||||
defer func() {
|
||||
@ -91,7 +91,7 @@ func (this *ApiComp) Apply(session comm.IUserSession, chk map[string]interface{}
|
||||
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
rsp = &pb.FriendApplyRsp{
|
||||
rsp = &pb.Friend_Apply_Rsp{
|
||||
UserId: session.GetUserId(),
|
||||
FriendId: req.FriendId,
|
||||
}
|
||||
@ -112,8 +112,7 @@ func (this *ApiComp) Apply(session comm.IUserSession, chk map[string]interface{}
|
||||
}
|
||||
target.ApplyIds = append(target.ApplyIds, session.GetUserId())
|
||||
|
||||
err := this.module.model_friend.SetObj(req.FriendId, target, false, true)
|
||||
|
||||
err := this.module.model_friend.SetObj(req.FriendId, target)
|
||||
if err != nil {
|
||||
log.Errorf("firend Apply err:%v", err)
|
||||
code = pb.ErrorCode_FriendApplyError
|
||||
|
@ -5,21 +5,21 @@ import (
|
||||
"go_dreamfactory/pb"
|
||||
)
|
||||
|
||||
func (this *ApiComp) ApplyList_Check(session comm.IUserSession, req *pb.FriendApplyListReq) (chk map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *ApiComp) ApplyList_Check(session comm.IUserSession, req *pb.Friend_ApplyList_Req) (chk map[string]interface{}, code comm.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
//申请列表
|
||||
func (this *ApiComp) ApplyList(session comm.IUserSession, chk map[string]interface{}, req *pb.FriendApplyListReq) (code pb.ErrorCode) {
|
||||
func (this *ApiComp) ApplyList(session comm.IUserSession, chk map[string]interface{}, req *pb.Friend_ApplyList_Req) (code pb.ErrorCode) {
|
||||
var (
|
||||
self *pb.DB_FriendData
|
||||
rsp *pb.FriendApplyListRsp
|
||||
rsp *pb.Friend_ApplyList_Rsp
|
||||
list []*pb.FriendBase
|
||||
)
|
||||
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
rsp = &pb.FriendApplyListRsp{
|
||||
rsp = &pb.Friend_ApplyList_Rsp{
|
||||
List: list,
|
||||
}
|
||||
}
|
||||
|
@ -5,21 +5,21 @@ import (
|
||||
"go_dreamfactory/pb"
|
||||
)
|
||||
|
||||
func (this *ApiComp) Blacklist_Check(session comm.IUserSession, req *pb.FriendBlackListReq) (chk map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *ApiComp) Blacklist_Check(session comm.IUserSession, req *pb.Friend_BlackList_Req) (chk map[string]interface{}, code comm.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
//黑名单
|
||||
func (this *ApiComp) Blacklist(session comm.IUserSession, chk map[string]interface{}, req *pb.FriendBlackListReq) (code pb.ErrorCode) {
|
||||
func (this *ApiComp) Blacklist(session comm.IUserSession, chk map[string]interface{}, req *pb.Friend_BlackList_Req) (code pb.ErrorCode) {
|
||||
var (
|
||||
self *pb.DB_FriendData
|
||||
rsp *pb.FriendBlackListRsp
|
||||
rsp *pb.Friend_BlackList_Rsp
|
||||
list []*pb.FriendBase
|
||||
)
|
||||
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
rsp = &pb.FriendBlackListRsp{
|
||||
rsp = &pb.Friend_BlackList_Rsp{
|
||||
Friends: list,
|
||||
}
|
||||
}
|
||||
|
@ -5,11 +5,11 @@ import (
|
||||
"go_dreamfactory/pb"
|
||||
)
|
||||
|
||||
func (this *ApiComp) Del_Check(session comm.IUserSession, req *pb.FriendDelReq) (chk map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *ApiComp) Del_Check(session comm.IUserSession, req *pb.Friend_Del_Req) (chk map[string]interface{}, code comm.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
//删除好友
|
||||
func (this *ApiComp) Del(session comm.IUserSession, chk map[string]interface{}, req *pb.FriendDelReq) error {
|
||||
func (this *ApiComp) Del(session comm.IUserSession, chk map[string]interface{}, req *pb.Friend_Del_Req) error {
|
||||
return nil
|
||||
}
|
||||
|
@ -6,19 +6,19 @@ import (
|
||||
"go_dreamfactory/utils"
|
||||
)
|
||||
|
||||
func (this *ApiComp) Delblack_Check(session comm.IUserSession, req *pb.FriendDelBlackReq) (chk map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *ApiComp) Delblack_Check(session comm.IUserSession, req *pb.Friend_DelBlack_Req) (chk map[string]interface{}, code comm.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
//删除黑名单
|
||||
func (this *ApiComp) Delblack(session comm.IUserSession, chk map[string]interface{}, req *pb.FriendDelBlackReq) (code pb.ErrorCode) {
|
||||
func (this *ApiComp) Delblack(session comm.IUserSession, chk map[string]interface{}, req *pb.Friend_DelBlack_Req) (code pb.ErrorCode) {
|
||||
var (
|
||||
self *pb.DB_FriendData
|
||||
rsp *pb.FriendDelBlackRsp
|
||||
rsp *pb.Friend_DelBlack_Rsp
|
||||
)
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
rsp = &pb.FriendDelBlackRsp{
|
||||
rsp = &pb.Friend_DelBlack_Rsp{
|
||||
FriendId: req.FriendId,
|
||||
UserId: session.GetUserId(),
|
||||
}
|
||||
@ -34,7 +34,7 @@ func (this *ApiComp) Delblack(session comm.IUserSession, chk map[string]interfac
|
||||
//从黑名单列表中删除目标
|
||||
self.BlackIds = utils.DeleteString(self.BlackIds, req.FriendId)
|
||||
//更新黑名单
|
||||
err = this.module.model_friend.SetObj(self.UserId, self, false, true)
|
||||
err = this.module.model_friend.SetObj(self.UserId, self)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
|
@ -5,21 +5,21 @@ import (
|
||||
"go_dreamfactory/pb"
|
||||
)
|
||||
|
||||
func (this *ApiComp) List_Check(session comm.IUserSession, req *pb.FriendListReq) (chk map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *ApiComp) List_Check(session comm.IUserSession, req *pb.Friend_List_Req) (chk map[string]interface{}, code comm.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
//好友列表
|
||||
func (this *ApiComp) List(session comm.IUserSession, chk map[string]interface{}, req *pb.FriendListReq) (code pb.ErrorCode) {
|
||||
func (this *ApiComp) List(session comm.IUserSession, chk map[string]interface{}, req *pb.Friend_List_Req) (code pb.ErrorCode) {
|
||||
var (
|
||||
self *pb.DB_FriendData
|
||||
rsp *pb.FriendListRsp
|
||||
rsp *pb.Friend_List_Rsp
|
||||
list []*pb.FriendBase
|
||||
)
|
||||
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
rsp = &pb.FriendListRsp{
|
||||
rsp = &pb.Friend_List_Rsp{
|
||||
List: list,
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ import (
|
||||
"go_dreamfactory/utils"
|
||||
)
|
||||
|
||||
func (this *ApiComp) Refuse_Check(session comm.IUserSession, req *pb.FriendRefuseReq) (chk map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *ApiComp) Refuse_Check(session comm.IUserSession, req *pb.Friend_Refuse_Req) (chk map[string]interface{}, code comm.ErrorCode) {
|
||||
chk = make(map[string]interface{})
|
||||
var err error
|
||||
self := &pb.DB_FriendData{UserId: session.GetUserId()}
|
||||
@ -14,7 +14,7 @@ func (this *ApiComp) Refuse_Check(session comm.IUserSession, req *pb.FriendRefus
|
||||
//获取玩家自己好友数据
|
||||
err = this.module.model_friend.GetObj(session.GetUserId(), self)
|
||||
if self == nil || err != nil {
|
||||
code = pb.ErrorCode_FriendSelfNoData
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_FriendSelfNoData}
|
||||
return
|
||||
}
|
||||
|
||||
@ -33,19 +33,18 @@ func (this *ApiComp) Refuse_Check(session comm.IUserSession, req *pb.FriendRefus
|
||||
}
|
||||
|
||||
//单个/批量拒绝
|
||||
func (this *ApiComp) Refuse(session comm.IUserSession, chk map[string]interface{}, req *pb.FriendRefuseReq) (code pb.ErrorCode) {
|
||||
func (this *ApiComp) Refuse(session comm.IUserSession, chk map[string]interface{}, req *pb.Friend_Refuse_Req) (code pb.ErrorCode) {
|
||||
//将申请人从申请列表中删除
|
||||
var (
|
||||
self *pb.DB_FriendData
|
||||
rsp *pb.FriendAgreeRsp
|
||||
rsp *pb.Friend_Refuse_Rsp
|
||||
optNum int32
|
||||
)
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
rsp = &pb.FriendAgreeRsp{
|
||||
rsp = &pb.Friend_Refuse_Rsp{
|
||||
Num: optNum,
|
||||
}
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), Friend_SubType_Refuse, rsp)
|
||||
}()
|
||||
|
||||
@ -63,7 +62,7 @@ func (this *ApiComp) Refuse(session comm.IUserSession, chk map[string]interface{
|
||||
}
|
||||
//更新
|
||||
if optNum > 0 {
|
||||
err := this.module.model_friend.SetObj(self.UserId, self, false, true)
|
||||
err := this.module.model_friend.SetObj(self.UserId, self)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
|
@ -5,19 +5,19 @@ import (
|
||||
"go_dreamfactory/pb"
|
||||
)
|
||||
|
||||
func (this *ApiComp) Search_Check(session comm.IUserSession, req *pb.FriendSearchReq) (chk map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *ApiComp) Search_Check(session comm.IUserSession, req *pb.Friend_Search_Req) (chk map[string]interface{}, code comm.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
//搜索
|
||||
func (this *ApiComp) Search(session comm.IUserSession, chk map[string]interface{}, req *pb.FriendSearchReq) (code pb.ErrorCode) {
|
||||
func (this *ApiComp) Search(session comm.IUserSession, chk map[string]interface{}, req *pb.Friend_Search_Req) (code pb.ErrorCode) {
|
||||
var (
|
||||
rsp *pb.FriendSearchRsp
|
||||
rsp *pb.Friend_Search_Rsp
|
||||
friend *pb.FriendBase
|
||||
)
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
rsp = &pb.FriendSearchRsp{
|
||||
rsp = &pb.Friend_Search_Rsp{
|
||||
Friend: friend,
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *Api_Comp) DelUserMailReq_Check(session comm.IUserSession, req *pb.Mail_DelMail_Req) (result map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *Api_Comp) DelUserMailReq_Check(session comm.IUserSession, req *pb.Mail_DelMail_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,6 @@ import (
|
||||
"go_dreamfactory/lego/sys/redis"
|
||||
"go_dreamfactory/sys/cache"
|
||||
"go_dreamfactory/sys/db"
|
||||
"reflect"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
@ -100,21 +99,30 @@ func (this *Model_Comp) UpdateModelLogs(table string, uID string, where bson.M,
|
||||
}
|
||||
|
||||
//设置缓存JSON格式数据
|
||||
func (this *Model_Comp) SetObj(uid string, data proto.Message, isnew, islog bool) error {
|
||||
//data 值允许protobuf格式的对象
|
||||
// attrs 操作可选项目 eg.传入WithDisabledMgoLog() 表示关闭日志,否则开启;WithND() 传入表示插入操作,不传表示更新,前提不能传入传入WithDisabledMgoLog()
|
||||
func (this *Model_Comp) SetObj(uid string, data proto.Message, attrs ...*cache.OperationAttr) error {
|
||||
err := this.Redis.Set(fmt.Sprintf("%s:%s", this.TableName, uid), data, 0)
|
||||
if err != nil {
|
||||
log.Errorf("set err:%v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
if islog {
|
||||
if isnew {
|
||||
return this.InsertModelLogs(this.TableName, uid, data)
|
||||
} else {
|
||||
return this.UpdateModelLogs(this.TableName, uid, bson.M{"uid": uid}, data)
|
||||
return this.logOpt(uid, data, attrs...)
|
||||
}
|
||||
|
||||
//cache hashmap data参数 允许map或protobuf
|
||||
//eg.map[string]*TestData{"li_1": {Name: "liwei2dao", Agr: 56}, "li_2": {Name: "liwei3dao", Agr: 78}}
|
||||
//or &TestData{Name: "liwei1dao", Agr: 12, Sub: &TestAny{SubName: "test", Age: 20}}
|
||||
// attrs 操作可选项目 eg.传入WithDisabledMgoLog() 表示关闭日志,否则开启;WithND() 传入表示插入操作,不传表示更新,前提不能传入传入WithDisabledMgoLog()
|
||||
func (this *Model_Comp) SetHM(uid string, data interface{}, attrs ...*cache.OperationAttr) error {
|
||||
err := this.Redis.HMSet(fmt.Sprintf("%s:%s", this.TableName, uid), data)
|
||||
if err != nil {
|
||||
log.Errorf("HMSet err: %v", err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
||||
return this.logOpt(uid, data, attrs...)
|
||||
}
|
||||
|
||||
//更新缓存字段
|
||||
@ -152,7 +160,7 @@ func (this *Model_Comp) GetObj(uid string, v proto.Message) error {
|
||||
return err
|
||||
}
|
||||
//set cache
|
||||
return this.SetObj(uid, v, true, false)
|
||||
return this.SetObj(uid, v, cache.WithND())
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -163,11 +171,12 @@ func (this *Model_Comp) GetObj(uid string, v proto.Message) error {
|
||||
}
|
||||
|
||||
//获取对象数据
|
||||
func (this *Model_Comp) Get(uid string, v reflect.Type, fields ...string) ([]interface{}, error) {
|
||||
return this.Redis.HMGet(fmt.Sprintf("%s:%s", this.TableName, uid), v, fields...)
|
||||
//data
|
||||
func (this *Model_Comp) GetAll(uid string, data interface{}) error {
|
||||
return this.Redis.HGetAll(fmt.Sprintf("%s:%s", this.TableName, uid), data)
|
||||
}
|
||||
|
||||
//获取字段数据
|
||||
//获取字段数据 缓存存储的数据为hashmap时
|
||||
func (this *Model_Comp) GetField(uid string, field string, v interface{}) error {
|
||||
return this.Redis.HGet(fmt.Sprintf("%s:%s", this.TableName, uid), field, v)
|
||||
}
|
||||
@ -182,3 +191,17 @@ func (this *Model_Comp) Del(uid string) error {
|
||||
|
||||
return this.DeleteModelLogs(this.TableName, uid, bson.M{"_id": uid})
|
||||
}
|
||||
|
||||
//日志操作可选项
|
||||
func (this *Model_Comp) logOpt(uid string, data interface{}, attrs ...*cache.OperationAttr) error {
|
||||
ret := cache.OperationAttrs(attrs).Find(cache.ATTR_MGOLOG).Unwrap_Or(nil)
|
||||
if ret == nil {
|
||||
ir := cache.OperationAttrs(attrs).Find(cache.ATTR_INSERT).Unwrap_Or(nil)
|
||||
if ir != nil && ir.(bool) {
|
||||
return this.UpdateModelLogs(this.TableName, uid, bson.M{"uid": uid}, data)
|
||||
} else {
|
||||
return this.InsertModelLogs(this.TableName, uid, data)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -4,10 +4,11 @@ import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/sys/event"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/cache"
|
||||
"go_dreamfactory/utils"
|
||||
)
|
||||
|
||||
func (this *Api_Comp) Create_Check(session comm.IUserSession, req *pb.UserCreateReq) (result map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *Api_Comp) Create_Check(session comm.IUserSession, req *pb.UserCreateReq) (result map[string]interface{}, code comm.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
@ -31,7 +32,7 @@ func (this *Api_Comp) Create(session comm.IUserSession, result map[string]interf
|
||||
return
|
||||
}
|
||||
self.Name = req.NickName
|
||||
err = this.module.modelUser.SetObj(session.GetUserId(), self, false, true)
|
||||
err = this.module.modelUser.SetObj(session.GetUserId(), self, cache.WithND())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
|
@ -6,6 +6,7 @@ import (
|
||||
"go_dreamfactory/lego/sys/event"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/cache"
|
||||
"go_dreamfactory/utils"
|
||||
"time"
|
||||
|
||||
@ -35,7 +36,7 @@ func decodeUserData(base64Str string) *pb.DB_UserData {
|
||||
}
|
||||
|
||||
//参数校验
|
||||
func (this *Api_Comp) Login_Check(session comm.IUserSession, req *pb.UserLoginReq) (result map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *Api_Comp) Login_Check(session comm.IUserSession, req *pb.UserLoginReq) (result map[string]interface{}, code comm.ErrorCode) {
|
||||
result = map[string]interface{}{}
|
||||
return
|
||||
}
|
||||
@ -93,12 +94,12 @@ func (this *Api_Comp) Login(session comm.IUserSession, result map[string]interfa
|
||||
SessionId: cache_user.SessionId,
|
||||
GatewayServiceId: cache_user.GatewayServiceId,
|
||||
}
|
||||
err = this.module.modelSession.SetObj(cache_user.Uid, data, true, true)
|
||||
err = this.module.modelSession.SetObj(cache_user.Uid, data)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
err = this.module.modelUser.SetObj(cache_user.Uid, user, true, true)
|
||||
err = this.module.modelUser.SetObj(cache_user.Uid, user, cache.WithND())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
@ -114,13 +115,13 @@ func (this *Api_Comp) Login(session comm.IUserSession, result map[string]interfa
|
||||
// "sessionId": cache_user.SessionId,
|
||||
// "gatewayServiceId": cache_user.GatewayServiceId,
|
||||
// }
|
||||
err = this.module.modelSession.SetObj(db_user.Uid, data, false, false)
|
||||
err = this.module.modelSession.SetObj(db_user.Uid, data)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
|
||||
err = this.module.modelUser.SetObj(db_user.Uid, db_user, false, true)
|
||||
err = this.module.modelUser.SetObj(db_user.Uid, db_user)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
|
@ -6,13 +6,13 @@ import (
|
||||
"go_dreamfactory/pb"
|
||||
)
|
||||
|
||||
func (this *Api_Comp) Logout_Check(session comm.IUserSession, req *pb.UserLoginReq) (result map[string]interface{}, code pb.ErrorCode) {
|
||||
func (this *Api_Comp) Logout_Check(session comm.IUserSession, req *pb.UserLoginReq) (result map[string]interface{}, code comm.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
//注销
|
||||
func (this *Api_Comp) Logout(session comm.IUserSession, result map[string]interface{}, rsp *pb.UserLoginReq) error {
|
||||
func (this *Api_Comp) Logout(session comm.IUserSession, result map[string]interface{}, rsp *pb.UserLoginReq) (code pb.ErrorCode) {
|
||||
log.Debugf("User - Logout: session:%v rsp:%v", session.ToString(), rsp)
|
||||
|
||||
return nil
|
||||
return
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,134 +2,107 @@ syntax = "proto3";
|
||||
option go_package = ".;pb";
|
||||
|
||||
message FriendBase {
|
||||
string userId = 1; //ID
|
||||
string userId = 1; // ID
|
||||
string NickName = 2; //昵称
|
||||
int32 level = 3; //等级
|
||||
int32 avatar = 4; //头像
|
||||
int64 strength = 5; //战力
|
||||
int32 serverId = 6;//服务编号
|
||||
int64 offlineTime =7;//最近一次下线时间 0在线
|
||||
int32 serverId = 6; //服务编号
|
||||
int64 offlineTime = 7; //最近一次下线时间 0在线
|
||||
}
|
||||
|
||||
//好友列表
|
||||
message FriendListReq{
|
||||
message Friend_List_Req {}
|
||||
|
||||
}
|
||||
|
||||
message FriendListRsp{
|
||||
repeated FriendBase list = 1;
|
||||
}
|
||||
message Friend_List_Rsp { repeated FriendBase list = 1; }
|
||||
|
||||
//申请好友
|
||||
message FriendApplyReq{
|
||||
message Friend_Apply_Req {
|
||||
string friendId = 1; //好友ID
|
||||
}
|
||||
message FriendApplyRsp{
|
||||
message Friend_Apply_Rsp {
|
||||
string userId = 1; //用户ID
|
||||
string friendId =2;//好友ID
|
||||
string friendId = 2; //好友ID
|
||||
}
|
||||
|
||||
//删除好友
|
||||
message FriendDelReq{
|
||||
string friendId = 1;//好友ID
|
||||
|
||||
message Friend_Del_Req {
|
||||
string friendId = 1; //好友ID
|
||||
}
|
||||
|
||||
message FriendDelRsp{
|
||||
string friendId = 1;//好友ID
|
||||
message Friend_Del_Rsp {
|
||||
string friendId = 1; //好友ID
|
||||
string userId = 2; //用户ID
|
||||
}
|
||||
|
||||
//同意
|
||||
message FriendAgreeReq{
|
||||
message Friend_Agree_Req {
|
||||
repeated string friendIds = 1; //被同意的用户
|
||||
}
|
||||
message FriendAgreeRsp{
|
||||
int32 Num = 1;//操作的数量
|
||||
message Friend_Agree_Rsp {
|
||||
int32 Num = 1; //操作的数量
|
||||
}
|
||||
|
||||
//拒绝
|
||||
message FriendRefuseReq{
|
||||
message Friend_Refuse_Req {
|
||||
repeated string friendIds = 1; //被拒绝的用户
|
||||
}
|
||||
message FriendRefuseRsp{
|
||||
int32 Num = 1;//操作的数量
|
||||
message Friend_Refuse_Rsp {
|
||||
int32 Num = 1; //操作的数量
|
||||
}
|
||||
|
||||
|
||||
//好友申请列表
|
||||
message FriendApplyListReq{
|
||||
|
||||
}
|
||||
message FriendApplyListRsp{
|
||||
repeated FriendBase list = 1;
|
||||
}
|
||||
message Friend_ApplyList_Req {}
|
||||
message Friend_ApplyList_Rsp { repeated FriendBase list = 1; }
|
||||
|
||||
//好友搜索
|
||||
message FriendSearchReq{
|
||||
message Friend_Search_Req {
|
||||
string nickName = 1; //好友昵称
|
||||
}
|
||||
|
||||
message FriendSearchRsp{
|
||||
FriendBase friend = 1;
|
||||
}
|
||||
message Friend_Search_Rsp { FriendBase friend = 1; }
|
||||
|
||||
//黑名单
|
||||
message FriendBlackListReq{
|
||||
message Friend_BlackList_Req {}
|
||||
|
||||
}
|
||||
|
||||
message FriendBlackListRsp{
|
||||
repeated FriendBase friends = 1;
|
||||
}
|
||||
message Friend_BlackList_Rsp { repeated FriendBase friends = 1; }
|
||||
|
||||
//添加黑名单
|
||||
message FriendBlackAddReq{
|
||||
string friendId = 1;
|
||||
}
|
||||
message Friend_BlackAdd_Req { string friendId = 1; }
|
||||
|
||||
message FriendBlackAddRsp{
|
||||
message Friend_BlackAdd_Rsp {
|
||||
string friendId = 1;
|
||||
string userId = 2;
|
||||
}
|
||||
|
||||
//删除黑名单
|
||||
message FriendDelBlackReq{
|
||||
string friendId = 1;
|
||||
}
|
||||
message Friend_DelBlack_Req { string friendId = 1; }
|
||||
|
||||
message FriendDelBlackRsp{
|
||||
message Friend_DelBlack_Rsp {
|
||||
string friendId = 1;
|
||||
string userId = 2;
|
||||
}
|
||||
|
||||
//接收
|
||||
message FriendReceiveReq{
|
||||
string friendId = 1;
|
||||
}
|
||||
message Friend_Receive_Req { string friendId = 1; }
|
||||
|
||||
message FriendReceiveRsp{
|
||||
message Friend_Receive_Rsp {
|
||||
string friendId = 1;
|
||||
string userId = 2;
|
||||
}
|
||||
|
||||
//赠送
|
||||
message FriendGiveReq{
|
||||
string friendId = 1;
|
||||
}
|
||||
message Friend_Give_Req { string friendId = 1; }
|
||||
|
||||
message FriendGiveRsp{
|
||||
message Friend_Give_Rsp {
|
||||
string friendId = 1;
|
||||
string userId = 2;
|
||||
}
|
||||
|
||||
|
||||
//好友数量
|
||||
message FriendTotalReq{
|
||||
string friendId = 1;
|
||||
}
|
||||
message Friend_Total_Req { string friendId = 1; }
|
||||
|
||||
message FriendTotalRsp{
|
||||
message Friend_Total_Rsp {
|
||||
string friendId = 1;
|
||||
int32 total = 2; //好友数量
|
||||
}
|
@ -159,7 +159,7 @@ func (this *SComp_GateRouteComp) ReceiveMsg(ctx context.Context, args *pb.AgentM
|
||||
}
|
||||
result := returnValues[0].Interface().(map[string]interface{})
|
||||
returnValues = msghandle.fn.Func.Call([]reflect.Value{msghandle.rcvr, reflect.ValueOf(session), reflect.ValueOf(result), reflect.ValueOf(msg)})
|
||||
errcode := pb.ErrorCode(returnValues[1].Int())
|
||||
errcode := pb.ErrorCode(returnValues[0].Int())
|
||||
if errcode != pb.ErrorCode_Success {
|
||||
log.Errorf("HandleUserMsg:%s msg:%v code:%d", args.Method, msg, code)
|
||||
reply.Code = errcode
|
||||
|
17
sys/cache/interfaceResult.go
vendored
Normal file
17
sys/cache/interfaceResult.go
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
package cache
|
||||
|
||||
type InterfaceResult struct {
|
||||
Result interface{}
|
||||
Err error
|
||||
}
|
||||
|
||||
func NewInterfaceResult(result interface{}, err error) *InterfaceResult {
|
||||
return &InterfaceResult{Result: result, Err: err}
|
||||
}
|
||||
|
||||
func (ths *InterfaceResult) Unwrap_Or(v interface{}) interface{} {
|
||||
if ths.Err != nil {
|
||||
return v
|
||||
}
|
||||
return ths.Result
|
||||
}
|
47
sys/cache/optionAttr.go
vendored
Normal file
47
sys/cache/optionAttr.go
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
package cache
|
||||
|
||||
import "fmt"
|
||||
|
||||
const (
|
||||
ATTR_MGOLOG = "mgolog"
|
||||
ATTR_INSERT = "insert"
|
||||
|
||||
OpenMgoLog = false //true表示不禁用Mgolog,即不传入WithDisabledMgoLog()时也表示禁用
|
||||
)
|
||||
|
||||
type empty struct {
|
||||
}
|
||||
|
||||
type OperationAttr struct {
|
||||
Name string
|
||||
Value interface{}
|
||||
}
|
||||
|
||||
type OperationAttrs []*OperationAttr
|
||||
|
||||
func (this OperationAttrs) Find(name string) *InterfaceResult {
|
||||
for _, v := range this {
|
||||
if v.Name == name {
|
||||
return NewInterfaceResult(v.Value, nil)
|
||||
}
|
||||
}
|
||||
|
||||
if OpenMgoLog {
|
||||
return NewInterfaceResult(ATTR_MGOLOG, nil)
|
||||
}
|
||||
return NewInterfaceResult(nil, fmt.Errorf("Operationattrs not found err: %v", name))
|
||||
}
|
||||
|
||||
func WithDisabledMgoLog() *OperationAttr {
|
||||
return &OperationAttr{
|
||||
Name: ATTR_MGOLOG,
|
||||
Value: empty{},
|
||||
}
|
||||
}
|
||||
|
||||
func WithND() *OperationAttr {
|
||||
return &OperationAttr{
|
||||
Name: ATTR_INSERT,
|
||||
Value: true,
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user