CrosscrowdManagerResponse doAction(string siteId, Guid managerId, EnumConsumeSourceType mallDirectType, bool isClearCd) { var crowd = CrossCrowdManager.Instance.GetCurrent(siteId); if (crowd == null || crowd.Status != 1) { return(ResponseHelper.Create <CrosscrowdManagerResponse>(MessageCode.CrowdNoData)); } DateTime curTime = DateTime.Now; CrosscrowdManagerEntity crowdManager = InnerGetManager(siteId, managerId, crowd.Idx, curTime); if (isClearCd) { var cd = MatchCdHandler.GetCdSecondsInt(managerId, EnumMatchType.CrossCrowd); if (cd <= 0) { return(GetManagerInfo(siteId, managerId, crowd.Idx, DateTime.Now)); } crowdManager.ClearCdCount++; } else { if (crowdManager.Morale <= 0) { crowdManager.Morale = _initMorale; crowdManager.ResurrectionCount++; //crowdManager.NextMatchTime = ShareUtil.BaseTime; } else { return(ResponseHelper.Create <CrosscrowdManagerResponse>(MessageCode.CrowdHasMorale)); } } var mallDirect = new CrossMallDirectFrame(siteId, managerId, mallDirectType, 0);// crowdManager.ClearCdCount); var checkCode = mallDirect.Check(); if (checkCode != MessageCode.Success) { return(ResponseHelper.Create <CrosscrowdManagerResponse>(checkCode)); } crowdManager.UpdateTime = curTime; if (!CrosscrowdManagerMgr.Update(crowdManager)) { return(ResponseHelper.Create <CrosscrowdManagerResponse>(MessageCode.NbUpdateFail)); } MatchCdHandler.Delete(managerId, EnumMatchType.CrossCrowd); checkCode = mallDirect.Save(Guid.NewGuid().ToString()); if (checkCode != MessageCode.Success) { SystemlogMgr.Error("CrossCrowd-doaction", string.Format("action:{0}", mallDirectType.ToString())); } return(GetManagerInfo(siteId, managerId, crowd.Idx, DateTime.Now, mallDirect.RemainPoint, false)); }
public MessageCodeResponse BuyStamina(string siteId, Guid managerId) { var response1 = GetLadderManager(siteId, managerId); if (response1 == null) { return(ResponseHelper.InvalidParameter <MessageCodeResponse>()); } if (response1.Code != ShareUtil.SuccessCode) { return(ResponseHelper.Create <MessageCodeResponse>(response1.Code)); } var mallDirect = new CrossMallDirectFrame(siteId, managerId, EnumConsumeSourceType.CrossLadderStamina); var checkCode = mallDirect.Check(); if (checkCode != MessageCode.Success) { return(ResponseHelper.Create <MessageCodeResponse>(checkCode)); } var ladderManager = response1.Data; ladderManager.StaminaBuy = ladderManager.StaminaBuy + 1; ladderManager.Stamina = ladderManager.Stamina + 1; if (!CrossladderManagerMgr.Update(ladderManager)) { return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.NbUpdateFail)); } checkCode = mallDirect.Save(Guid.NewGuid().ToString()); if (checkCode != MessageCode.Success) { SystemlogMgr.Error("CrossLadder-BuyStamina fail", string.Format("ManagerId:{0}", managerId)); } return(ResponseHelper.CreateSuccess <MessageCodeResponse>()); }