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