yujian
2020-01-18 f4a0f2acc63d7785eab108419a4e16f5f688cb95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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);
    }
 
}