Example #1
0
        public int GetDirectPoint(EnumConsumeSourceType consumeSourceType, int usedCount = 0)
        {
            var entity = GetDirectEntity((int)consumeSourceType, usedCount);

            if (entity != null)
            {
                return(entity.Point);
            }
            return(0);
        }
Example #2
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));
        }
Example #3
0
 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);
     }
 }
Example #4
0
        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);
                }
            }
        }
Example #5
0
 public ConfigMalldirectEntity GetDirectEntity(EnumConsumeSourceType consumeSourceType, int usedCount = 0)
 {
     return(GetDirectEntity((int)consumeSourceType, usedCount));
 }
Example #6
0
 /// <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));
 }
Example #7
0
        /// <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));
        }
Example #8
0
        /// <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));
        }