Exemple #1
0
        /// <summary>
        /// 下架
        /// </summary>
        /// <param name="managerId"></param>
        /// <param name="transferId"></param>
        /// <param name="zoneName"></param>
        /// <returns></returns>
        public MessageCodeResponse SoldOut(Guid managerId, Guid transferId, string zoneName)
        {
            MessageCodeResponse response = new MessageCodeResponse();

            try
            {
                if (!IsOpen(managerId, zoneName))
                {
                    return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.TransferNotOpen));
                }
                var info = GetInfo(transferId);
                if (info == null || info.Status == 1)
                {
                    return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.ItemSoldOut));
                }
                if (info.Status == 2)
                {
                    return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.ItemHaveSellOut));
                }
                if (info.SellId != managerId)
                {
                    return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.NotSoldOutAuthority));
                }
                info.Status     = 1;
                info.UpdateTime = DateTime.Now;
                if (!TransferMainMgr.Delete(transferId))
                {
                    return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.NbUpdateFail));
                }
                Remove(transferId);
                var mail = new MailBuilder(managerId, info.ItemCode, info.ItemName, EnumMailType.TransferSoldOut);
                if (!mail.Save(info.SellZoneName))
                {
                    SystemlogMgr.Error("邮件发送失败",
                                       "邮件发送失败,ManagerId:" + info.SellId + ",ZoneName:" + info.SellZoneName + ",ItemCode:" +
                                       info.ItemCode);
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("下架", ex);
                response.Code = (int)MessageCode.NbParameterError;
            }
            return(response);
        }
Exemple #2
0
 /// <summary>
 /// 分享游戏任务
 /// </summary>
 /// <param name="managerId"></param>
 /// <returns></returns>
 public MessageCodeResponse ShareTask(Guid managerId)
 {
     try
     {
         var manager = ManagerCore.Instance.GetManager(managerId);
         if (manager == null)
         {
             return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.NbParameterError));
         }
         TaskHandler.Instance.Share(managerId);
         var response = new MessageCodeResponse();
         response.Code = (int)MessageCode.Success;
         return(response);
     }
     catch (Exception ex)
     {
         SystemlogMgr.Error("分享游戏", ex);
         return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.NbParameterError));
     }
 }
        public void Dispatch(string action)
        {
            //校验,如有接口不需校验,需加在下面
            if (false)
            {
                if (ValidatorAccountOnly() == false)
                {
                    return;
                }
            }
            else
            {
                if (Validator() == false)
                {
                    return;
                }
            }
            switch (action)
            {
            case "gmi":
                var gmi = reader.LadderGetManagerInfo(ShareUtil.ZoneName, UserAccount.ManagerId);
                OutputHelper.Output(gmi);
                break;

            case "at":
                //检查时间
                if (DateTime.Now >= ConvertToDateTime(3600) &&
                    DateTime.Now < ConvertToDateTime(28800))
                {
                    var response1 = new MessageCodeResponse()
                    {
                        Code = (int)MessageCode.LadderClose
                    };
                    OutputHelper.Output(response1);
                }
                else
                {
                    var at = reader.LadderAttend(ShareUtil.ZoneName, UserAccount.ManagerId);
                    OutputHelper.Output(at);
                }
                break;

            case "ht":
                var ht = reader.LadderHeart(ShareUtil.ZoneName, UserAccount.ManagerId);
                OutputHelper.Output(ht);
                break;

            case "lv":
                var lv = reader.LadderLeave(ShareUtil.ZoneName, UserAccount.ManagerId);
                OutputHelper.Output(lv);
                break;

            case "getmatchlist":
                var gml = reader.LadderGetMatchList(UserAccount.ManagerId);
                OutputHelper.Output(gml);
                break;

            case "getmatch":
                var matchId = GetParamGuid("matchid");
                if (!CheckParam(matchId))
                {
                    return;
                }
                var gmh = reader.LadderGetMatch(UserAccount.ManagerId, matchId);
                OutputHelper.Output(gmh);
                break;

            case "e":
                var exchangeKey = GetParamInt("ei");
                if (!CheckParam(exchangeKey))
                {
                    return;
                }
                var e = reader.LadderExchange(ShareUtil.ZoneName, UserAccount.ManagerId, exchangeKey);
                OutputHelper.Output(e);
                break;

            case "mq":
                var mq = reader.LadderGetMatchMarqueeResponse(ShareUtil.ZoneName);
                OutputHelper.Output(mq);
                break;

            case "bm":
                var bm = reader.LadderBuyStamina(ShareUtil.ZoneName, UserAccount.ManagerId);
                OutputHelper.Output(bm);
                break;

            case "hi":
                var hi = reader.LadderGetHookInfoResponse(UserAccount.ManagerId);
                OutputHelper.Output(hi);
                break;

            case "hst":
                int maxTimes = GetParamInt("mt");
                int minScore = GetParamInt("mins");
                int maxScore = GetParamInt("maxs");
                int winTimes = GetParamInt("wt");

                var hst = reader.LadderStartHook(ShareUtil.ZoneName, UserAccount.ManagerId, maxTimes, minScore, maxScore, winTimes);
                OutputHelper.Output(hst);
                break;

            case "hsp":
                var hsp = reader.LadderStopHook(ShareUtil.ZoneName, UserAccount.ManagerId);
                OutputHelper.Output(hsp);
                break;

            default:
                OutputHelper.OutputBadRequest();
                return;
            }
        }