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