package reputation import ( "go_dreamfactory/comm" "go_dreamfactory/pb" ) func (this *apiComp) ResetCheck(session comm.IUserSession, req *pb.ReputationTalentresetReq) (errdata *pb.ErrorData) { if req.RaceType < 1 && req.RaceType > 4 { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } } return } func (this *apiComp) Reset(session comm.IUserSession, req *pb.ReputationTalentresetReq) (errdata *pb.ErrorData) { uid := session.GetUserId() reputation := this.module.modelReputation.getDBReputation(uid) if reputation == nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DataNotFound, Title: pb.ErrorCode_DataNotFound.ToString(), } return } if v, ok := reputation.Camps[req.RaceType]; ok { v.Nodes = []*pb.TalentNode{} } update := map[string]interface{}{ "camps": reputation.Camps, } if err := this.module.modelReputation.Change(uid, update); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } rsp := &pb.ReputationTalentresetResp{} session.SendMsg(string(this.module.GetType()), "reset", rsp) return }