go_dreamfactory/modules/reputation/api_reset.go
2023-06-06 09:52:44 +08:00

41 lines
954 B
Go

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 {
code = pb.ErrorCode_ReqParameterError
}
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 {
code = pb.ErrorCode_DataNotFound
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 {
code = pb.ErrorCode_DBError
return
}
rsp := &pb.ReputationTalentresetResp{}
session.SendMsg(string(this.module.GetType()), "reset", rsp)
return
}