package worldtask import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" "google.golang.org/protobuf/proto" ) func (this *apiComp) ChapterrewardCheck(session comm.IUserSession, req *pb.WorldtaskChapterrewardReq) (code pb.ErrorCode) { if req.GroupId <= 0 { code = pb.ErrorCode_ReqParameterError } return } func (this *apiComp) Chapterreward(session comm.IUserSession, req *pb.WorldtaskChapterrewardReq) (code pb.ErrorCode, data proto.Message) { if code = this.ChapterrewardCheck(session, req); code != pb.ErrorCode_Success { return } uid := session.GetUserId() rsp := &pb.WorldtaskChapterrewardResp{} myWorldtask, err := this.module.modelWorldtask.getWorldtask(uid) if err != nil { this.module.Error("获取玩家世界任务失败", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}) code = pb.ErrorCode_DBError return } if stats, ok := myWorldtask.Chapters[req.GroupId]; !ok { code = pb.ErrorCode_WorldtaskChapterUnFinished return } else { if stats == 2 { code = pb.ErrorCode_WorldtaskChapterReceived return } } gwa, err := this.module.configure.getWorldAllCfg() if err != nil || gwa == nil { code = pb.ErrorCode_ConfigNoFound return } rewardCnf := gwa.GetDataMap()[req.GroupId] if rewardCnf == nil { code = pb.ErrorCode_ConfigNoFound return } this.module.DispenseRes(session, rewardCnf.Reword, true) session.SendMsg(string(this.module.GetType()), "chapterreward", rsp) return }