package smithy import ( "errors" "go_dreamfactory/comm" "go_dreamfactory/pb" ) // 图鉴任务奖励领取 func (this *apiComp) TaskAwardCheck(session comm.IUserSession, req *pb.SmithyTaskAwardReq) (code pb.ErrorCode) { if req.TaskId == 0 { return pb.ErrorCode_ReqParameterError } return } func (this *apiComp) TaskAward(session comm.IUserSession, req *pb.SmithyTaskAwardReq) (code pb.ErrorCode, data *pb.ErrorData) { if code = this.TaskAwardCheck(session, req); code != pb.ErrorCode_Success { return } if err := this.module.modelTask.updateTaskRecord(session.GetUserId(), req.TaskId); err != nil { var errCustom = new(comm.CustomError) if errors.As(err, &errCustom) { code = errCustom.Code } else { code = pb.ErrorCode_DBError } return } resp := &pb.SmithyTaskAwardResp{ TaskId: req.TaskId, } if conf := this.module.configure.GetSmithyTask(req.TaskId); conf == nil { code = pb.ErrorCode_ConfigNoFound return } else { if code = this.module.DispenseRes(session, conf.Reword, true); code != pb.ErrorCode_Success { return } } session.SendMsg(string(this.module.GetType()), "taskaward", resp) return }