예제 #1
0
        /// <summary>
        /// 是否购买该分析方案
        /// </summary>
        public bool QueryIsBuyAnalyzeScheme(string analyzeId, string userId)
        {
            var manager = new ExperterAnalyzeSchemeeManager();
            var old     = manager.QueryExperterAnalyzeTransaction(analyzeId, userId);

            if (old != null)
            {
                return(true);
            }
            return(false);
        }
예제 #2
0
        /// <summary>
        /// 修改买分析信息
        /// </summary>
        public void UpdateExperterAnalyzeScheme(ExperterAnalyzeUpdateInfo experter)
        {
            using (var biz = new GameBizBusinessManagement())
            {
                biz.BeginTran();

                var manager = new ExperterAnalyzeSchemeeManager();
                var entity  = manager.QueryExperterAnalyzeId(experter.AnalyzeId);
                if (entity == null)
                {
                    throw new Exception("修改信息未被查询到");
                }
                entity.DisposeOpinion = experter.DisposeOpinion;
                entity.DealWithType   = experter.DealWithType;
                manager.UpdateExperterAnalyzeScheme(entity);

                biz.CommitTran();
            }
        }
예제 #3
0
        /// <summary>
        /// 购买分析信息
        /// </summary>
        public void BuyExperterAnalyzeScheme(ExperterAnalyzeTransactionInfo experter, string password)
        {
            using (var biz = new GameBizBusinessManagement())
            {
                biz.BeginTran();

                var manager = new ExperterAnalyzeSchemeeManager();
                var old     = manager.QueryExperterAnalyzeTransaction(experter.AnalyzeId, experter.UserId);
                if (old != null)
                {
                    throw new Exception("您已购买该分析内容!");
                }

                //用户扣款
                var user = string.Format("用户:{0}购买专家:{1}分析方案{2},单价为:{3}", experter.UserId, experter.ExperterId, experter.AnalyzeId, experter.Price);
                BusinessHelper.Payout_To_End(BusinessHelper.FundCategory_BuyExpScheme, experter.UserId, Guid.NewGuid().ToString("N"), experter.Price, user, "BuyExperter", password);
                //专家收款
                var expt = string.Format("专家:{0}收取用户:{1}分析方案{2},单价为:{3}", experter.ExperterId, experter.UserId, experter.AnalyzeId, experter.Price);
                BusinessHelper.Payin_To_Balance(AccountType.Experts, BusinessHelper.FundCategory_BuyExpScheme, experter.ExperterId, Guid.NewGuid().ToString("N"), experter.Price, expt);

                var entity = new ExperterAnalyzeTransaction()
                {
                    UserId      = experter.UserId,
                    AnalyzeId   = experter.AnalyzeId,
                    ExperterId  = experter.ExperterId,
                    Price       = experter.Price,
                    CurrentTime = experter.CurrentTime,
                    CreateTime  = DateTime.Now,
                };
                manager.AddExperterAnalyzeTransaction(entity);

                //增加购买次数
                var anId = manager.QueryExperterAnalyzeId(experter.AnalyzeId);
                if (anId == null)
                {
                    throw new Exception("修改信息未被查询到");
                }
                anId.SellCount++;
                manager.UpdateExperterAnalyzeScheme(anId);

                biz.CommitTran();
            }
        }
예제 #4
0
        /// <summary>
        /// 查询专家推荐分析列表
        /// </summary>
        public ExperterAnalyzeSchemeInfoCollection QueryExperterAnalyzeSchemeList(string userId, int pageIndex, int pageSize, string currentTime = "")
        {
            var result     = new ExperterAnalyzeSchemeInfoCollection();
            var totalCount = 0;

            var manager     = new ExperterAnalyzeSchemeeManager();
            var analyzeList = manager.QueryExperterAnalyzeSchemeList(pageIndex, pageSize, out totalCount, currentTime);
            var buyArray    = manager.QueryUserBuyedAnalyze(userId, (from a in analyzeList select a.AnalyzeId).ToArray());

            foreach (var item in analyzeList)
            {
                if (buyArray.Contains(item.AnalyzeId))
                {
                    item.IsBuy = true;
                }
            }
            result.List.AddRange(analyzeList);
            result.TotalCount = totalCount;
            return(result);
        }
예제 #5
0
        /// <summary>
        /// 按分析ID查询分析详细
        /// </summary>
        public ExperterAnalyzeSchemeInfo QueryExperterAnalyzeId(string analyzeId)
        {
            var entity = new ExperterAnalyzeSchemeeManager().QueryExperterAnalyzeId(analyzeId);

            if (entity == null)
            {
                throw new LogicException(string.Format("查不到{0}分析信息", analyzeId));
            }
            return(new ExperterAnalyzeSchemeInfo()
            {
                AnalyzeId = entity.AnalyzeId,
                Content = entity.Content,
                DisposeOpinion = entity.DisposeOpinion,
                Title = entity.Title,
                UserId = entity.UserId,
                Source = entity.Source,
                Price = entity.Price,
                CurrentTime = entity.CurrentTime,
                DealWithType = entity.DealWithType,
                CreateTime = entity.CreateTime,
            });
        }
예제 #6
0
        /// <summary>
        /// 添加分析信息
        /// </summary>
        public void AddExperterAnalyzeScheme(ExperterAnalyzeSchemeInfo experter)
        {
            using (var biz = new GameBizBusinessManagement())
            {
                biz.BeginTran();
                var man1     = new ExperterManager();
                var zhuanjia = man1.QueryExperterById(experter.UserId);
                if (zhuanjia == null)
                {
                    throw new Exception("该用户不是名家,申请名家请联系在线客服!");
                }

                var exManager   = new ExperterSchemeManager();
                var schemeCount = exManager.QueryExperterCurrentTimeScheme(experter.UserId, DateTime.Now.ToString("yyyy-MM-dd"));
                if (schemeCount <= 0)
                {
                    throw new LogicException("每天至少发布一个推荐后才可以发布分析!");
                }

                var manager = new ExperterAnalyzeSchemeeManager();
                var entity  = new ExperterAnalyzeScheme()
                {
                    Title        = experter.Title,
                    Content      = experter.Content,
                    Price        = experter.Price,
                    SellCount    = 0,
                    DealWithType = DealWithType.NoneDealWith,
                    AnalyzeId    = BusinessHelper.GetAnalysisId(),
                    UserId       = experter.UserId,
                    CreateTime   = DateTime.Now,
                    CurrentTime  = DateTime.Now.ToString("yyyy-MM-dd"),
                };
                manager.AddExperterAnalyzeScheme(entity);
                biz.CommitTran();
            }
        }