admin
2020-10-22 cba071db4529097598095e2971949dfd109f12b9
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
45
46
47
48
49
50
51
52
53
package com.yeshi.buwan.dao.juhe.iqiyi;
 
import com.yeshi.buwan.dao.base.MongodbBaseDao;
import com.yeshi.buwan.iqiyi.entity.IqiyiAlbum2;
import com.yeshi.buwan.iqiyi.entity.IqiyiVideoInfo;
import com.yeshi.buwan.util.StringUtil;
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 java.util.ArrayList;
import java.util.List;
 
@Repository
public class IqiyiAlbum2Dao extends MongodbBaseDao<IqiyiAlbum2> {
 
    //根据专辑ID查询
    public List<IqiyiAlbum2> listByAid(long aid, int sortName, int start, int count) {
        Query query = new Query();
        query.addCriteria(Criteria.where("featureAlbumId").is(aid).andOperator(Criteria.where("contentType").is(1)));
        query.skip(start);
        query.limit(count);
        List<Sort.Order> orders = new ArrayList<>();
        if (IqiyiAlbum2.SORT_ORDER == sortName)
            orders.add(new Sort.Order(Sort.Direction.ASC, "order"));
        else
            orders.add(new Sort.Order(Sort.Direction.DESC, "period"));
        query.with(new Sort(orders));
        return findList(query);
    }
 
    public List<IqiyiAlbum2> listByChannelId(int channelId, Long albumId, Integer contentType, int start, int count) {
        Query query = new Query();
        List<Criteria> andCriteria = new ArrayList<>();
        Criteria criteria = Criteria.where("channelId").is(channelId);
        andCriteria.add(criteria);
        if (albumId != null) {
            andCriteria.add(Criteria.where("featureAlbumId").is(albumId));
        }
        if (contentType != null) {
            andCriteria.add(Criteria.where("contentType").is(contentType));
        }
        Criteria[] wheres = new Criteria[andCriteria.size()];
        andCriteria.toArray(wheres);
        query.addCriteria(new Criteria().andOperator(wheres));
        query.skip(start);
        query.limit(count);
        return findList(query);
    }
 
 
}