go_dreamfactory/modules/reputation/api_reset.go
2023-06-06 11:08:14 +08:00

48 lines
1.1 KiB
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 {
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 {
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 {
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
}