yujian
2020-04-02 0ec22dcf4fd9c4496e6f681e7fab89f56c6e4e8a
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package com.yeshi.fanli.dao.dynamic;
 
import java.util.List;
 
import javax.annotation.Resource;
 
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Repository;
 
import com.yeshi.fanli.entity.dynamic.InviteMaterial;
 
@Repository
public class InviteMaterialDao {
 
    @Resource
    private MongoTemplate mongoTemplate;
 
    /**
     * 新增
     * 
     * @param record
     */
    public void insert(InviteMaterial record) {
        if (record == null) {
            return;
        }
        mongoTemplate.insert(record);
    }
 
    /**
     * 更新状态
     * 
     * @param record
     */
    public void updateState(int state, String id) {
        Query query = new Query();
        query.addCriteria(Criteria.where("id").is(id));
        Update update = Update.update("state", state);
        mongoTemplate.updateMulti(query, update, InviteMaterial.class);
    }
 
    /**
     * 更新信息
     * 
     * @param record
     */
    public void update(InviteMaterial record) {
        if (record == null) {
            return;
        }
        Query query = new Query();
        query.addCriteria(Criteria.where("id").is(record.getId()));
        Update update = Update.update("picture", record.getPicture()).set("text", record.getText()).set("state",
                record.getState());
        mongoTemplate.updateMulti(query, update, InviteMaterial.class);
    }
 
    /**
     * 根据id查询数据
     * 
     * @param id
     * @return
     */
    public InviteMaterial getById(String id) {
        Query query = new Query();
        query.addCriteria(Criteria.where("id").is(id));
        return mongoTemplate.findOne(query, InviteMaterial.class);
    }
 
    /**
     * 删除
     * 
     * @param id
     * @return
     */
    public void deleteById(String id) {
        InviteMaterial info = getById(id);
        if (info == null) {
            return;
        }
        mongoTemplate.remove(info);
    }
 
    /**
     * 查询所有数据
     * 
     * @param clazz
     * @return
     */
    public List<InviteMaterial> query(int start, int count) {
        Query query = new Query();
        // 分页
        query.skip(start).limit(count);
        List<InviteMaterial> list = mongoTemplate.find(query, InviteMaterial.class);
        return list;
    }
 
    public long count() {
        Query query = new Query();
        return mongoTemplate.count(query, InviteMaterial.class);
    }
 
    /**
     * 根据状态查询
     * @param state
     * @return
     */
    public List<InviteMaterial> queryByState(int state) {
        Query query = new Query();
        query.addCriteria(Criteria.where("state").is(state));
        List<InviteMaterial> list = mongoTemplate.find(query, InviteMaterial.class);
        return list;
    }
    
    
    
    /**
     * 查询所有数据
     * 
     * @param clazz
     * @return
     */
    public List<InviteMaterial> queryAll() {
        return (List<InviteMaterial>) mongoTemplate.findAll(InviteMaterial.class);
    }
 
}