package friend import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "go_dreamfactory/utils" "google.golang.org/protobuf/proto" ) // 领取点赞奖励 func (this *apiComp) ZanreceiveCheck(session comm.IUserSession, req *pb.FriendZanreceiveReq) (code pb.ErrorCode) { if req.FriendId == "" { code = pb.ErrorCode_ReqParameterError } return } func (this *apiComp) Zanreceive(session comm.IUserSession, req *pb.FriendZanreceiveReq) (code pb.ErrorCode, data proto.Message) { if code = this.ZanreceiveCheck(session, req); code != pb.ErrorCode_Success { return } var ( self *pb.DBFriend err error ) self = this.moduleFriend.modelFriend.GetFriend(session.GetUserId()) if self == nil { code = pb.ErrorCode_FriendSelfNoData return } // 是否已领取点赞 if _, ok := utils.Find(self.ZanIds, req.FriendId); !ok { code = pb.ErrorCode_FriendZanreceived return } utils.DeleteString(self.ZanIds, req.FriendId) if err = this.moduleFriend.modelFriend.Change(req.FriendId, map[string]interface{}{ "zanIds": self.ZanIds, }); err != nil { code = pb.ErrorCode_DBError return } //设置友情值 ue, err := this.moduleFriend.ModuleUser.GetUserExpand(session.GetUserId()) if err != nil { code = pb.ErrorCode_DBError return } // 今日获赠的友情点是否达到上限 if ue.FriendPointID >= int32(this.moduleFriend.configure.GetGlobalConf().FriendMaxgetnum) { code = pb.ErrorCode_FriendPointLimit return } update := map[string]interface{}{ "friendPoint": ue.FriendPoint + 10, "friendPointID": ue.FriendPointID + 10, } if err := this.moduleFriend.ModuleUser.ChangeUserExpand(session.GetUserId(), update); err != nil { code = pb.ErrorCode_DBError return } if err := session.SendMsg(string(this.moduleFriend.GetType()), FriendSubTypeZanreceive, &pb.FriendZanreceiveResp{Flag: true}); err != nil { code = pb.ErrorCode_SystemError return } return }