/// <summary> /// 获取商品评价 /// </summary> /// <param name="productSysNo">商品系统编号</param> /// <param name="pager">分页参数</param> /// <param name="isShare">是否是晒单</param> /// <param name="socreRange">操作数据类型</param> /// <returns></returns> /// <remarks>2013-08-12 邵斌 创建</remarks> public void GetProductComment(int productSysNo, ref Pager <CBFeProductComment> pager, bool isShare, int[] socreRange) { var filter = new ParaFeProductCommentFilter { ProductSysNo = productSysNo }; //是否是查找晒单数据,如果不是将对查找的分值范围进行限定 if (!isShare) { filter.IsShare = -1; filter.StartSocre = socreRange[0]; filter.EndSocre = socreRange[1]; } else { filter.IsShare = (int)ForeStatus.是否晒单.是; filter.StartSocre = 0; //评分开始区间 filter.EndSocre = 5; //评分结束区间 } Hyt.DataAccess.Web.IFeProductCommentDao.Instance.GetProductComment(filter, ref pager); }
/// <summary> /// 获取商品评价 /// </summary> /// <param name="filter">商品系统编号</param> /// <param name="pager">分页参数</param> /// <returns></returns> /// <remarks>2013-08-12 邵斌 创建</remarks> public abstract void GetProductComment(ParaFeProductCommentFilter filter, ref Pager <CBFeProductComment> pager);
/// <summary> /// 获取商品评价 /// </summary> /// <param name="filter">商品系统编号</param> /// <param name="pager">分页参数</param> /// <returns></returns> /// <remarks>2013-08-12 邵斌 创建</remarks> public override void GetProductComment(ParaFeProductCommentFilter filter, ref Pager <CBFeProductComment> pager) { #region 测试SQL 获取商品评论 /* * select * fc.*,cr.account as Account,cr.nickname as Name,cr.mobilephonenumber as MobilePhoneNumber,crl.sysno as levelSysno,crl.levelname as levelname * from * FeProductComment fc * left join CrCustomer cr on cr.sysno = fc.customersysno * inner join Crcustomerlevel crl on cr.levelsysno = crl.sysno * where * fc.productsysno=1 and fc.commentstatus = 20 */ #endregion using (var context = Context.UseSharedConnection(true)) { IList <CBFeProductComment> list = context.Select <CBFeProductComment>("fc.*,cr.account as Account,cr.nickname as Name,cr.mobilephonenumber as MobilePhoneNumber,cr.headimage as HeadImage,crl.sysno as levelSysno,crl.levelname as levelname") .From("FeProductComment fc left join CrCustomer cr on cr.sysno = fc.customersysno inner join Crcustomerlevel crl on cr.levelsysno = crl.sysno") .Where("fc.productsysno=@0 and (fc.commentstatus = @1 or (@IsShare>-1 and sharestatus = @sharestatus)) and (@2 = -1 or fc.IsShare = @3) and (fc.score > (@4-1) and fc.score <(@5+1))") .OrderBy("istop desc, fc.CommentTime desc") .Parameter("0", filter.ProductSysNo) .Parameter("1", (int)ForeStatus.商品评论状态.已审) .Parameter("IsShare", filter.IsShare) .Parameter("sharestatus", (int)ForeStatus.商品晒单状态.已审) .Parameter("2", filter.IsShare) .Parameter("3", filter.IsShare) .Parameter("4", filter.StartSocre) .Parameter("5", filter.EndSocre) .Paging(pager.CurrentPage, pager.PageSize) .QueryMany(); foreach (var cbFeProductComment in list) { #region 测试SQL 获取评论回复 /* * select * fcr.*,cr.account as Account,cr.nickname as Name,cr.mobilephonenumber as MobilePhoneNumber,cr.headimage as HeadImage, * from * FeProductCommentReply fcr * left join CrCustomer cr on cr.sysno = fcr.customersysno * where * fcr.commentsysno = 1 and fcr.Status=20 */ #endregion //评论回复 cbFeProductComment.Reply = context.Sql(@" select fcr.*,cr.account as Account,cr.nickname as Name,cr.mobilephonenumber as MobilePhoneNumber,cr.headimage as HeadImage from FeProductCommentReply fcr left join CrCustomer cr on cr.sysno = fcr.customersysno where fcr.commentsysno = @0 and fcr.Status = @1 ", cbFeProductComment.SysNo, (int)ForeStatus.商品评论回复状态.已审).QueryMany <CBFeProductCommentReply>(); #region 测试SQL 获取评论晒单图片 /* * select * fci.* * from * FeProductCommentImage fci * where * fci.commentsysno = 1 and and fci.Status= 20 */ #endregion //商品晒单 cbFeProductComment.ShowMyProductImage = context.Sql(@" select fci.* from FeProductCommentImage fci where fci.commentsysno = @0 and fci.Status = @1 ", cbFeProductComment.SysNo, (int)ForeStatus.晒单图片状态.已审).QueryMany <FeProductCommentImage>(); } pager.Rows = list; //统计记录数 pager.TotalRows = context.Sql(@"select count(fc.sysno) as countRow from FeProductComment fc left join CrCustomer cr on cr.sysno = fc.customersysno inner join Crcustomerlevel crl on cr.levelsysno = crl.sysno where fc.productsysno=@0 and (fc.commentstatus = @1 or (@IsShare>-1 and sharestatus = @sharestatus)) and fc.IsShare>@2 and (@3<0 or fc.score between @4 and @5) order by fc.CommentTime desc") .Parameter("0", filter.ProductSysNo) .Parameter("1", (int)ForeStatus.商品评论状态.已审) .Parameter("IsShare", filter.IsShare) .Parameter("sharestatus", (int)ForeStatus.商品晒单状态.已审) .Parameter("2", filter.IsShare - 1) .Parameter("3", filter.IsShare) .Parameter("4", filter.StartSocre) .Parameter("5", filter.EndSocre) .QuerySingle <int>(); } }