public int GetDirectPoint(EnumConsumeSourceType consumeSourceType, int usedCount = 0) { var entity = GetDirectEntity((int)consumeSourceType, usedCount); if (entity != null) { return(entity.Point); } return(0); }
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 MallDirectFrame(Guid managerId, string account, EnumConsumeSourceType consumeSourceType, int usedCount = 0) { _managerId = managerId; _account = account; _configMalldirectEntity = CacheFactory.MallCache.GetDirectEntity(consumeSourceType, usedCount); if (_configMalldirectEntity == null) { string msg = "can't find mall direct config,consumeSourceType:" + consumeSourceType + ",usedCount:" + usedCount; LogHelper.Insert(msg, LogType.Info); throw new Exception(msg); } }
public CrossMallDirectFrame(string siteId, Guid managerId, EnumConsumeSourceType consumeSourceType, int usedCount = 0) { _siteId = siteId; var manager = NbManagerMgr.GetById(managerId, siteId); if (manager != null) { _managerId = managerId; _account = manager.Account; _configMalldirectEntity = CacheFactory.MallCache.GetDirectEntity(consumeSourceType, usedCount); if (_configMalldirectEntity == null) { string msg = "can't find mall direct config,consumeSourceType:" + consumeSourceType + ",usedCount:" + usedCount; LogHelper.Insert(msg, LogType.Info); throw new Exception(msg); } } }
public ConfigMalldirectEntity GetDirectEntity(EnumConsumeSourceType consumeSourceType, int usedCount = 0) { return(GetDirectEntity((int)consumeSourceType, usedCount)); }
/// <summary> /// 消费点券,除商城外 /// </summary> /// <param name="account"></param> /// <param name="managerId"></param> /// <param name="sourceType">源类型</param> /// <param name="orderId">订单id,需唯一</param> /// <param name="consumePoint">消费点券数量</param> /// <param name="trans"></param> /// <returns></returns> public MessageCode ConsumePointForGamble(string account, Guid managerId, EnumConsumeSourceType sourceType, string orderId, int consumePoint, DbTransaction trans = null) { return(ConsumePointForGamble(account, managerId, (int)sourceType, orderId, consumePoint, trans)); }
/// <summary> /// 扣除绑定点券 /// </summary> /// <param name="managerId"></param> /// <param name="bindPoint"></param> /// <param name="consumeId"></param> /// <param name="type"></param> /// <param name="trans"></param> /// <returns></returns> public MessageCode ConsumeBindPoint(Guid managerId, int bindPoint, Guid consumeId, EnumConsumeSourceType type, DbTransaction trans = null) { string account = ""; var manager = ManagerCore.Instance.GetManager(managerId); if (manager == null) { return(MessageCode.NbParameterError); } account = manager.Account; return(ConsumeBindPoint(account, managerId, (int)type, consumeId.ToString(), bindPoint, trans)); }
/// <summary> /// 扣除点卷 /// </summary> /// <param name="managerId">经理ID</param> /// <param name="gambelPoint">扣除点卷数</param> /// <param name="gambleId">订单ID</param> /// <param name="type">扣除点卷类型</param> /// <param name="trans"></param> /// <returns></returns> public MessageCode GambleConsume(Guid managerId, int gambelPoint, Guid gambleId, EnumConsumeSourceType type, DbTransaction trans = null) { string account = ""; var manager = ManagerCore.Instance.GetManager(managerId); if (manager == null) { return(MessageCode.NbParameterError); } account = manager.Account; return(ConsumePointForGamble(account, managerId, type, gambleId.ToString(), gambelPoint, trans)); }