admin
2020-04-13 dd5b15229cb15459fa7c31ccea77dac28cbfafbd
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package com.yeshi.fanli.dao.taobao;
 
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.TLJBuyGoods;
 
@Repository
public class TLJBuyGoodsDao extends MongodbBaseDao<TLJBuyGoods> {
 
    public List<TLJBuyGoods> listByDayOrderByUpdateTime(String appKey, String day, int page, int pageSize) {
        Query query = new Query();
        Criteria ca = Criteria.where("day").is(day);
        if (appKey != null)
            ca = ca.and("appKey").is(appKey);
        query.addCriteria(ca);
        query.limit(pageSize);
        query.skip((page - 1) * pageSize).with(new Sort(Sort.Direction.DESC, "updateTime"));
        return mongoTemplate.find(query, TLJBuyGoods.class);
    }
 
    public long countByDayAndAppKey(String appKey, String day) {
        Query query = new Query();
        Criteria ca = Criteria.where("day").is(day);
        if (appKey != null)
            ca = ca.and("appKey").is(appKey);
        query.addCriteria(ca);
        return mongoTemplate.count(query, TLJBuyGoods.class);
    }
 
    public void deleteByGoodsId(Long goodsId) {
        Query query = new Query();
        Criteria ca = Criteria.where("goods.auctionId").is(goodsId);
        query.addCriteria(ca);
 
        List<TLJBuyGoods> list = mongoTemplate.find(query, TLJBuyGoods.class);
        if (list == null || list.size() == 0) {
            return;
        }
 
        for (TLJBuyGoods TLJBuyGoods : list) {
            mongoTemplate.remove(TLJBuyGoods);
        }
    }
 
    public List<TLJBuyGoods> listByAuctionId(Long auctionid) {
        Query query = new Query();
        Criteria ca = Criteria.where("goods.auctionId").is(auctionid);
        query.addCriteria(ca);
        return mongoTemplate.find(query, TLJBuyGoods.class);
    }
 
    /**
     * 根据商品ID删除
     * 
     * @param auctionId
     */
    public void deleteByAuctionId(Long auctionId) {
        Query query = new Query();
        Criteria ca = Criteria.where("goods.auctionId").is(auctionId);
        query.addCriteria(ca);
        mongoTemplate.findAndRemove(query, TLJBuyGoods.class);
    }
 
    /**
     * 减红包个数
     * 
     * @param id
     */
    public void subHongBaoCount(String id, int count) {
        Query query = new Query();
        query.addCriteria(Criteria.where("id").is(id).andOperator(Criteria.where("leftHongBaoCount").gt(count - 1)));
        org.springframework.data.mongodb.core.query.Update update = new org.springframework.data.mongodb.core.query.Update();
        update = update.inc("leftHongBaoCount", 0 - count);
        mongoTemplate.updateFirst(query, update, TLJBuyGoods.class);
    }
 
    public TLJBuyGoods selectByAuctionIdAndDay(Long auctionId, String day) {
        Query query = new Query();
        Criteria ca = Criteria.where("goods.auctionId").is(auctionId).and("day").is(day);
        query.addCriteria(ca);
        return mongoTemplate.findOne(query, TLJBuyGoods.class);
    }
 
}