/// <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); }
/// <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; } }