/// <summary> /// 发表回复 /// </summary> /// <param name="replyInfo"></param> /// <returns></returns> public static bool CreateProductReviewReply(Product_ReplyDetail replyInfo, int SoSysNo) { string cacheKey = CommonFacade.GenerateKey("CreateProductReviewReply", replyInfo.Customer.SysNo.ToString(), replyInfo.ReviewSysNo.ToString()); DateTime now = DateTime.Now; int nowTimePoint = now.Hour * 3600 + now.Minute * 60 + now.Second; if (HttpRuntime.Cache[cacheKey] != null) { int preTimePoint = (int)HttpRuntime.Cache[cacheKey]; if (nowTimePoint - preTimePoint < 60) { throw new BusinessException("很抱歉,您发表评论的频率过快,请稍后再试。"); } } else { HttpRuntime.Cache.Insert(cacheKey, 0, null, DateTime.Now.AddSeconds(CacheTime.Shortest), Cache.NoSlidingExpiration); } bool result = ReviewDA.CreateProductReviewReply(replyInfo); //确认不需要发邮件 //if (result) //{ // SendMailReviewReply(replyInfo, SoSysNo); //} if (result) { now = DateTime.Now; nowTimePoint = now.Hour * 3600 + now.Minute * 60 + now.Second; HttpRuntime.Cache[cacheKey] = nowTimePoint; } return(result); }
/// <summary> /// 查询用户可以评论的订单商品列表 /// </summary> /// <param name="customerSysNo"></param> /// <param name="pageInfo"></param> /// <returns></returns> public static QueryResult <Product_NoReviewOrderMaster> QueryCustomerNoReviewOrderProducts(int customerSysNo, int pageIndex, int pageSize) { if (pageIndex < 0) { pageIndex = 0; } return(ReviewDA.QueryCustomerNoReviewOrderProducts(customerSysNo, pageIndex, pageSize)); }
/// <summary> /// 用户对评论投票 /// </summary> /// <param name="customerSysNo"></param> /// <param name="reviewSysNo"></param> /// <param name="isUsefull"></param> /// <returns></returns> public static bool UpdateReviewVote(int customerSysNo, int reviewSysNo, int isUsefull) { bool success = ReviewDA.CheckCustomerCanReviewVote(reviewSysNo, customerSysNo, ConstValue.LanguageCode, ConstValue.CompanyCode, ConstValue.StoreCompanyCode); if (success) { ReviewDA.UpdateProductReviewVote(reviewSysNo, customerSysNo, isUsefull, ConstValue.LanguageCode, ConstValue.CompanyCode, ConstValue.StoreCompanyCode); return(true); } return(false); }
/// <summary> /// 15天检查 /// </summary> /// <param name="productSysNo"></param> /// <param name="customerSysNo"></param> public static void CheckCreateReviewByDays(int productSysNo, int customerSysNo) { DateTime resutl = ReviewDA.CheckCreateReviewByDays(productSysNo, customerSysNo); DateTime now = DateTime.Now; if (resutl != null) { if (resutl.AddDays(15) > now) { throw new BusinessException("15天内购买同一商品仅可发表一次!"); } } }
// POST api/Review public bool Post([FromBody] Review review) { bool result = false; if (review != null) { Review reviewbo = new ReviewDA().GetByMovieId(review.movieId); if (reviewbo.id == 1) { result = new ReviewDA().Insert(review); } else { result = new ReviewDA().Update(review); } } return(result); }
/// <summary> /// 获取评论详情 /// </summary> /// <param name="queryInfo"></param> /// <returns></returns> public static Product_ReviewDetail GetProductReviewInfo(Product_ReviewQueryInfo queryInfo) { Product_ReviewDetail productReviewDetail = ReviewDA.GetProductReviewInfo(queryInfo); if (productReviewDetail != null) { productReviewDetail.Cons = CommonFacade.SetCannotOnlineWordsMask(productReviewDetail.Cons); productReviewDetail.Prons = CommonFacade.SetCannotOnlineWordsMask(productReviewDetail.Prons); productReviewDetail.Service = CommonFacade.SetCannotOnlineWordsMask(productReviewDetail.Service); if (productReviewDetail.ReplieList != null) { foreach (var reply in productReviewDetail.ReplieList) { reply.Content = CommonFacade.SetCannotOnlineWordsMask(reply.Content); } } } return(productReviewDetail); }
public static List <UICustomerReviewInfo> GetLatestReviewInfos(int pageSize) { var result = ReviewDA.GetHomePageHotReview(pageSize); if (result.Count < pageSize) { //补位 var otherGoodReviewList = ReviewDA.GetGoodReview(pageSize); foreach (var item in otherGoodReviewList) { if (result.Count < pageSize && !result.Exists(review => review.SysNo == item.SysNo)) { result.Add(item); } } } return(result.OrderByDescending(item => item.InDate).ToList()); }
public static QueryResponseDTO <bool> AlterReviewInfo(ReviewDTO dto) { if (string.IsNullOrEmpty(dto.ActionType)) { switch (dto.ActionType.ToUpper()) { case VOTE: return(ReviewDA.AlterReviewVote(dto)); case PASS: return(ReviewDA.PassReviewInfo(dto)); case REPLAY: return(ReviewDA.AlterReviewReplay(dto)); default: return(null); } } return(null); }
/// <summary> /// 获取评论列表 /// </summary> /// <param name="queryInfo"></param> /// <returns></returns> public static Product_ReviewList GetProductReviewListByProductGroupSysNoForProduct(Product_ReviewQueryInfo queryInfo) { Product_ReviewList productReviewList = ReviewDA.GetProductReviewListByProductGroupSysNoForProduct(queryInfo); if (productReviewList != null && productReviewList.ProductReviewDetailList != null) { foreach (var productReviewDetail in productReviewList.ProductReviewDetailList) { productReviewDetail.Cons = CommonFacade.SetCannotOnlineWordsMask(productReviewDetail.Cons); productReviewDetail.Prons = CommonFacade.SetCannotOnlineWordsMask(productReviewDetail.Prons); productReviewDetail.Service = CommonFacade.SetCannotOnlineWordsMask(productReviewDetail.Service); if (productReviewDetail.ReplieList != null) { foreach (var reply in productReviewDetail.ReplieList) { reply.Content = CommonFacade.SetCannotOnlineWordsMask(reply.Content); } } } } return(productReviewList); }
/// <summary> /// 检查是否可以发表评论 /// </summary> /// <param name="productCode"></param> /// <param name="customerSysno"></param> /// <param name="soSysno"></param> /// <param name="reviewType"></param> /// <returns></returns> public static bool CheckProductRemark(string productCode, int customerSysno, int soSysno, int reviewType) { return(ReviewDA.CheckProductRemark(productCode, customerSysno, soSysno, reviewType)); }
/// <summary> /// 得到用户评论评分 /// </summary> /// <param name="productCode"></param> /// <returns></returns> public static Product_ReviewMaster GetProductReviewMaster(int productSysNo) { return(ReviewDA.GetProductReviewMaster(productSysNo)); }
/// <summary> /// 发表回复权限 /// </summary> /// <param name="customerSysNo"></param> /// <param name="reviewSysNo"></param> /// <returns></returns> public static Product_ReplyAuthorityInfo GetReplyAuthorityInfo(int customerSysNo, int reviewSysNo) { return(ReviewDA.GetReplyAuthorityInfo(customerSysNo, reviewSysNo)); }
/// <summary> /// 检查订单是否发表过几次评论,若已发表1次以上,则不能再发表 /// </summary> /// <param name="sosysno"></param> /// <param name="productSysNo"></param> /// <returns>0从来就没有评论过;1评论了一次,还可以评论一次;2不能在进行评论</returns> public static int CheckReviewedBySoSysNo(int sosysno, int productSysNo) { return(ReviewDA.CheckReviewedBySoSysNo(sosysno, productSysNo)); }
// GET api/Reviews/5 public Review Get(int id) { Review review = new ReviewDA().GetByMovieId(id); return(review); }
public static QueryResponseDTO <bool> DeleteReviewInfo(ReviewDTO dto) { return(ReviewDA.DeleteReviewInfo(dto)); }
public static QueryResponseDTO <bool> AddReviewInfo(ReviewDTO dto) { return(ReviewDA.AddReviewInfo(dto)); }
/// <summary> /// 发表评论 /// </summary> /// <param name="reviewInfo"></param> /// <returns></returns> public static bool CreateProductReview(Product_ReviewDetail reviewInfo) { string cacheKey = CommonFacade.GenerateKey("CreateProductReview", reviewInfo.CustomerInfo.SysNo.ToString(), reviewInfo.ProductSysNo.ToString()); DateTime now = DateTime.Now; int nowTimePoint = now.Hour * 3600 + now.Minute * 60 + now.Second; if (HttpRuntime.Cache[cacheKey] != null) { int preTimePoint = (int)HttpRuntime.Cache[cacheKey]; if (nowTimePoint - preTimePoint < 60) { throw new BusinessException("很抱歉,您发表评论的频率过快,请稍后再试。"); } } else { HttpRuntime.Cache.Insert(cacheKey, 0, null, DateTime.Now.AddSeconds(CacheTime.Shortest), Cache.NoSlidingExpiration); } bool result = false; #region 二期修改不用此方法 ////根据用户customer以及商品编号获取订单编号以及商品code //List<Product_TempSOinfo> tempsoinfo = ReviewDA.GetSoSysNoAndProductCode(reviewInfo.CustomerInfo.SysNo, reviewInfo.ProductSysNo); //if (tempsoinfo != null && tempsoinfo.Count > 0) //{ // CreateReviewPreCheck(reviewInfo); // ReviewScoreCalculator(reviewInfo); // //取消15天的检查 // //CheckCreateReviewByDays(reviewInfo.ProductSysNo, reviewInfo.CustomerInfo.SysNo); // //检查当前订单号是否已评论 // if (reviewInfo.SOSysno != null && reviewInfo.SOSysno > 0) // { // Product_TempSOinfo temp = tempsoinfo.SingleOrDefault(p => p.SOSysNo == reviewInfo.SOSysno); // if (temp != null) // { // bool isReview = ReviewDA.CheckReviewBySoSysNo(reviewInfo.SOSysno); // if (isReview) // { // throw new BusinessException("当前订单已经参与过评论!"); // } // } // else // { // throw new BusinessException("须购买过此商品且订单已完成才能发表评论!"); // } // } // else // { // reviewInfo.SOSysno = tempsoinfo[0].SOSysNo; // } // //reviewInfo.SOSysno = tempsoinfo.SOSysNo; // result = ReviewDA.CreateProductReview(reviewInfo); //} //else //{ // throw new BusinessException("须购买过此商品且订单已完成才能发表评论!"); //} #endregion //根据用户customer以及商品编号获取-----该用户所有订单编号以及商品code List <Product_TempSOinfo> tempsoinfo = ReviewDA.GetCustomerSoSysNoAndProductCode(reviewInfo.CustomerInfo.SysNo, reviewInfo.ProductSysNo); if (tempsoinfo != null && tempsoinfo.Count > 0) { CreateReviewPreCheck(reviewInfo); ReviewScoreCalculator(reviewInfo); Product_TempSOinfo temp = tempsoinfo.SingleOrDefault(p => p.SOSysNo == reviewInfo.SOSysno); if (temp != null) { //检查当前订单号是否已经完成两次评论 int num = ReviewDA.CheckReviewedBySoSysNo(temp.SOSysNo, reviewInfo.ProductSysNo); if (num > 1) { throw new BusinessException("当前订单已经参与过两次评论!"); } else { result = ReviewDA.CreateProductReview(reviewInfo); } } else { throw new BusinessException("须购买过此商品且订单已完成才能发表评论!"); } } else { throw new BusinessException("须购买过此商品且订单已完成才能发表评论!"); } if (result) { now = DateTime.Now; nowTimePoint = now.Hour * 3600 + now.Minute * 60 + now.Second; HttpRuntime.Cache[cacheKey] = nowTimePoint; } return(result); }
public static QueryResponseDTO <List <ReviewModel> > GetReviewInfo(ReviewDTO dto) { return(ReviewDA.GetReviewInfo(dto)); }