package com.hongqiang.shop.modules.content.dao;
import java.util.List;
import org.springframework.data.repository.CrudRepository;
import com.hongqiang.shop.common.base.persistence.BaseDao;
import com.hongqiang.shop.common.base.persistence.Page;
import com.hongqiang.shop.common.utils.Filter;
import com.hongqiang.shop.common.utils.Order;
import com.hongqiang.shop.common.utils.Pageable;
import com.hongqiang.shop.modules.entity.Member;
import com.hongqiang.shop.modules.entity.Product;
import com.hongqiang.shop.modules.entity.Review;
public interface ReviewDao extends ReviewDaoCustom, CrudRepository<Review, Long> {
}
/**
* DAO自定义接口
*
* @author Jack
*
*/
interface ReviewDaoCustom extends BaseDao<Review,Long> {
public List<Review> findList(Member member, Product product, Review.Type type, Boolean isShow, Integer count, List<Filter> filters, List<Order> orders);
public Page<Review> findPage(Member member, Product product, Review.Type type, Boolean isShow, Pageable pageable);
public Long count(Member member, Product product, Review.Type type, Boolean isShow);
public boolean isReviewed(Member member, Product product);
public long calculateTotalScore(Product paramProduct);
public long calculateScoreCount(Product paramProduct);
}