package friend import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" "go_dreamfactory/utils" ) // 好友审核-拒绝 func (this *apiComp) RefuseCheck(session comm.IUserSession, req *pb.FriendRefuseReq) (errdata *pb.ErrorData) { if len(req.FriendIds) == 0 { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } this.module.Error("参数错误", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "params", Value: req.String()}) } return } // 单个/批量拒绝 func (this *apiComp) Refuse(session comm.IUserSession, req *pb.FriendRefuseReq) (errdata *pb.ErrorData) { if errdata = this.RefuseCheck(session, req); errdata != nil { return } uid := session.GetUserId() //将申请人从申请列表中删除 var ( self *pb.DBFriend optNum int32 err error ) //获取玩家自己好友数据 self, err = this.module.modelFriend.GetFriend(uid) if err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_FriendSelfNoData, Title: pb.ErrorCode_FriendSelfNoData.ToString(), } return } //拒绝的Ids refuseIds := []string{} for _, friendId := range req.FriendIds { if _, ok := utils.Find(self.ApplyIds, friendId); ok { refuseIds = append(refuseIds, friendId) } } //将申请人从申请列表中删除 for _, userId := range refuseIds { self.ApplyIds = utils.Deletex(self.ApplyIds, userId) optNum++ } //更新 if optNum > 0 { if err := this.module.modelFriend.Change(self.Uid, map[string]interface{}{ "applyIds": self.ApplyIds, }); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } this.module.Error("好友审批拒绝", log.Field{Key: "uid", Value: uid}, log.Field{Key: "params", Value: req}, log.Field{Key: "err", Value: err.Error()}, ) return } } resp := &pb.FriendRefuseResp{ Num: optNum, } session.SendMsg(string(this.module.GetType()), FriendSubTypeRefuse, resp) return }