package task import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "google.golang.org/protobuf/proto" ) //活跃度领取 func (this *apiComp) ActiveReceiveCheck(session comm.IUserSession, req *pb.TaskActiveReceiveReq) (code pb.ErrorCode) { if req.Id == "" { code = pb.ErrorCode_TaskIdEmpty } else if req.TaskTag == 0 { code = pb.ErrorCode_TaskTagEmpty } return } func (this *apiComp) ActiveReceive(session comm.IUserSession, req *pb.TaskActiveReceiveReq) (code pb.ErrorCode, data proto.Message) { if code = this.ActiveReceiveCheck(session, req); code != pb.ErrorCode_Success { return } resp := &pb.TaskActiveReceiveResp{ TaskTag: req.TaskTag, Id: req.Id, } defer func() { err := session.SendMsg(string(this.moduleTask.GetType()), TaskSubTypeActiveReceive, resp) if err != nil { code = pb.ErrorCode_SystemError } // utils.TraceFunc(session.GetUserId(), string(this.moduleTask.GetType()), TaskSubTypeActiveReceive, req, resp) }() ua := this.moduleTask.modelTaskActive.getUserActive(session.GetUserId(), req.Id, comm.TaskTag(req.TaskTag)) if ua == nil { code = pb.ErrorCode_TaskActiveNofound return } conf := this.moduleTask.configure.getTaskActiveById(ua.RId) if conf == nil { code = pb.ErrorCode_ConfigNoFound return } code = this.moduleTask.modelTaskActive.receiveHandle(session.GetUserId(), req.Id, conf, ua, comm.TaskTag(req.TaskTag)) if code != pb.ErrorCode_Success { return } //派发奖励 code = this.moduleTask.DispenseRes(session, conf.Reword, true) return }