go_dreamfactory/modules/friend/api_cross_getreward.go
2023-06-06 15:05:31 +08:00

65 lines
1.6 KiB
Go

package friend
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
)
// 领取奖励
func (this *apiComp) GetrewardCheck(session comm.IUserSession, req *pb.FriendGetrewardReq) (errdata *pb.ErrorData) {
return
}
func (this *apiComp) Getreward(session comm.IUserSession, req *pb.FriendGetrewardReq) (errdata *pb.ErrorData) {
uid := session.GetUserId()
//获取玩家自己好友数据
self := this.module.modelFriend.GetFriend(uid)
if self == nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_FriendSelfNoData,
Title: pb.ErrorCode_FriendSelfNoData.ToString(),
}
return
}
if self.Received != 1 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_FriendNoreceived,
Title: pb.ErrorCode_FriendNoreceived.ToString(),
}
return
}
received := 2 //已领
update := map[string]interface{}{
"received": received,
}
if err := this.module.modelFriend.Change(self.Uid, update); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_FriendApplyError,
Title: pb.ErrorCode_FriendApplyError.ToString(),
}
this.module.Error("领奖",
log.Field{Key: "uid", Value: uid},
log.Field{Key: "err", Value: err.Error()},
)
return
}
globalConf := this.module.ModuleTools.GetGlobalConf()
if errdata = this.module.DispenseRes(session, globalConf.FriendPeize, true); errdata != nil {
this.module.Error("好友领奖励",
log.Field{Key: "uid", Value: uid},
log.Field{Key: "reward", Value: globalConf.FriendPeize},
)
return
}
rsp := &pb.FriendGetrewardResp{Received: int32(received)}
session.SendMsg(string(this.module.GetType()), "getreward", rsp)
return
}