package com.yeshi.fanli.dao.taobao;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
|
import org.springframework.data.domain.Sort;
|
import org.springframework.data.mongodb.core.query.Criteria;
|
import org.springframework.data.mongodb.core.query.Query;
|
import org.springframework.stereotype.Repository;
|
|
import com.yeshi.fanli.dao.MongodbBaseDao;
|
import com.yeshi.fanli.entity.taobao.s618.SuperTaoBaoGoods;
|
|
@Repository
|
public class SuperTaoBaoGoodsDao extends MongodbBaseDao<SuperTaoBaoGoods> {
|
|
public List<SuperTaoBaoGoods> listByMaxAndMinFinalPrice(BigDecimal minPrice, BigDecimal maxPrice, int start,
|
int count) {
|
Query query = new Query();
|
Criteria ca = new Criteria();
|
ca.andOperator(Criteria.where("finalPrice").lt(maxPrice.multiply(new BigDecimal(100)).intValue()),
|
Criteria.where("finalPrice").gte(minPrice.multiply(new BigDecimal(100)).intValue()));
|
query.addCriteria(ca);
|
query.limit(count);
|
query.skip(start).with(new Sort(Sort.Direction.DESC, "goods.biz30day"));
|
return mongoTemplate.find(query, SuperTaoBaoGoods.class);
|
}
|
|
public long countByMaxAndMinFinalPrice(BigDecimal minPrice, BigDecimal maxPrice) {
|
Query query = new Query();
|
Criteria ca = new Criteria();
|
ca.andOperator(Criteria.where("finalPrice").lt(maxPrice.multiply(new BigDecimal(100)).intValue()),
|
Criteria.where("finalPrice").gte(minPrice.multiply(new BigDecimal(100)).intValue()));
|
query.addCriteria(ca);
|
return mongoTemplate.count(query, SuperTaoBaoGoods.class);
|
}
|
|
public void deleteByMaxTime(long timeStamp) {
|
Query query = new Query();
|
query.addCriteria(Criteria.where("updateTime").lt(timeStamp));
|
mongoTemplate.remove(query, SuperTaoBaoGoods.class);
|
}
|
|
}
|