package activity import ( "fmt" "go_dreamfactory/comm" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" ) //参数校验 func (this *apiComp) TurntableRewardCheck(session comm.IUserSession, req *pb.ActivityTurntableRewardReq) (errdata *pb.ErrorData) { if req.Oid == "" { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } } return } // 大转盘抽奖 func (this *apiComp) TurntableReward(session comm.IUserSession, req *pb.ActivityTurntableRewardReq) (errdata *pb.ErrorData) { if errdata = this.TurntableRewardCheck(session, req); errdata != nil { return } var ( activity *pb.DBHuodong // 活动数据 err error atno []*pb.UserAtno ) key := fmt.Sprintf("%s:%s", session.GetUserId(), req.Oid) data, err := this.module.modelhdData.getHddataByOid(session.GetUserId(), key) if err == nil { if activity, err = this.module.modelhdList.getHdListByHdId(req.Oid); err == nil { curTime := configure.Now().Unix() if activity.Stime > curTime || curTime > activity.Etime { //不在活动时间范围内 errdata = &pb.ErrorData{ Code: pb.ErrorCode_ActivityNotIntime, Title: pb.ErrorCode_ActivityNotIntime.ToString(), } return } } else { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ActivityInvalid, Title: pb.ErrorCode_ActivityInvalid.ToString(), } return } } else { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), } return } // 发奖 update := make(map[string]interface{}) update["gotarr"] = data.Gotarr this.module.modelhdData.ModifyActivityList(session.GetUserId(), data.Id, update) session.SendMsg(string(this.module.GetType()), "turntablereward", &pb.ActivityTurntableRewardResp{ Data: data, Atno: atno, }) return }