c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
1
2
3
|
package com.objecteye.service.impl;
import cn.hutool.core.date.DateUtil;
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
4
5
6
7
|
import com.objecteye.entity.FeatureResultMsg;
import com.objecteye.entity.PageResult;
import com.objecteye.entity.SyFeature;
import com.objecteye.entity.SyPersonnel;
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
8
9
|
import com.objecteye.service.DeployService;
import com.objecteye.service.FeatureService;
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
10
|
import org.springframework.beans.factory.annotation.Autowired;
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
11
12
13
|
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 服务实现层
*
* @author Administrator
*/
@Service
public class FeatureServiceImpl implements FeatureService {
@Autowired
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
31
32
33
|
private DeployService deployService;
@Autowired
private RedisTemplate redisTemplate;
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
34
35
|
@Autowired
private MongoTemplate mongoTemplate;
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
36
37
38
|
@Override
public List<SyFeature> findAll() {
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
39
|
return mongoTemplate.find(Query.query(Criteria.where("isDelete").is(0).and("isSingle").is(0)), SyFeature.class);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
40
41
42
43
44
45
46
|
}
/**
* 按分页查询
*/
@Override
public PageResult findPage(int pageNum, int pageSize) {
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
47
48
49
|
List<SyFeature> result = mongoTemplate.find(Query.query(Criteria.where("isDelete").is(0).and("isSingle").is(0))
.limit(pageSize).skip((pageNum - 1) * pageSize), SyFeature.class);
long count = mongoTemplate.count(Query.query(Criteria.where("isDelete").is(0).and("isSingle").is(0)), SyFeature.class);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
50
|
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
51
|
List<FeatureResultMsg> featureResultMsgs = new ArrayList<>();
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
52
53
54
55
56
57
58
|
for (SyFeature feature : result) {
FeatureResultMsg featureResultMsg = new FeatureResultMsg();
featureResultMsg.setId(feature.getId());
featureResultMsg.setName(feature.getName());
featureResultMsg.setCount(feature.getCount());
featureResultMsg.setCreateDate(feature.getCreateDate());
featureResultMsgs.add(featureResultMsg);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
59
|
}
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
60
|
return new PageResult<>((long) Math.ceil((double) count / pageSize), featureResultMsgs);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
61
62
63
64
|
}
/**
* 增加
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
65
66
|
*
* @return
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
67
68
|
*/
@Override
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
69
|
public String add(SyFeature feature) {
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
70
71
72
73
74
75
|
String strDate = DateUtil.now();
feature.setCount(0);
feature.setCreateDate(strDate);
feature.setUpdateDate(strDate);
feature.setIsDelete(0);
feature.setIsSingle(0);
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
76
77
|
feature = mongoTemplate.insert(feature);
return feature.getId();
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
78
79
80
81
82
|
}
/**
* 修改
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
83
84
|
*
* @return
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
85
86
|
*/
@Override
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
87
|
public String update(SyFeature feature) {
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
88
89
|
String now = DateUtil.now();
feature.setUpdateDate(now);
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
90
91
|
mongoTemplate.save(feature);
return feature.getId();
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
92
93
94
95
96
97
98
99
100
|
}
/**
* 根据ID获取实体
*
* @param id
* @return
*/
@Override
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
101
102
|
public SyFeature findOne(String id) {
return mongoTemplate.findOne(Query.query(Criteria.where("id").is(id)), SyFeature.class);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
103
104
105
106
|
}
/**
* 批量删除
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
107
108
|
*
* @param ids
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
109
110
|
*/
@Override
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
111
112
113
114
|
public void delete(String[] ids) {
for (String id : ids) {
List<String> deployList = deployService.getDeployListByLibAndDeployType(id, 2);
SyFeature syFeature = mongoTemplate.findOne(Query.query(Criteria.where("id").is(id)), SyFeature.class);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
115
|
syFeature.setIsDelete(1);
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
116
117
|
List<SyPersonnel> syPersonnels = mongoTemplate.find(Query.query(Criteria.where("fid").is(id)), SyPersonnel.class);
if (syPersonnels.size() > 0) {
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
118
119
|
for (SyPersonnel syPersonnel : syPersonnels) {
syPersonnel.setStatus(1);
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
120
|
mongoTemplate.save(syPersonnel);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
121
122
123
124
|
redisTemplate.opsForHash().delete("personUrl", syPersonnel.getId());
}
}
if (deployList != null && deployList.size() > 0) {
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
125
|
for (String deployId : deployList) {
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
126
127
|
String key = deployId + "|" + id;
redisTemplate.opsForHash().delete(key);
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
128
|
String[] deploy = {deployId};
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
129
130
131
|
deployService.delete(deploy);
}
}
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
132
|
mongoTemplate.save(syFeature);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
133
134
135
136
137
138
|
}
}
@Override
public PageResult findPage(SyFeature feature, int pageNum, int pageSize) {
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
139
|
Criteria criteria = Criteria.where("isDelete").is(0);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
140
141
|
if (feature != null) {
if (feature.getName() != null && feature.getName().length() > 0) {
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
142
|
criteria.and("name").regex(".*" + feature.getName() + ".*");
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
143
144
|
}
if (feature.getCreateDate() != null && feature.getCreateDate().length() > 0) {
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
145
|
criteria.and("createDate").regex(".*" + feature.getCreateDate() + ".*");
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
146
147
|
}
if (feature.getUpdateDate() != null && feature.getUpdateDate().length() > 0) {
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
148
|
criteria.and("updateDate").regex(".*" + feature.getUpdateDate() + ".*");
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
149
150
|
}
if (feature.getDescription() != null && feature.getDescription().length() > 0) {
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
151
|
criteria.and("description").regex(".*" + feature.getDescription() + ".*");
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
152
153
|
}
}
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
154
155
156
|
List<SyFeature> syFeatures = mongoTemplate.find(Query.query(criteria).limit(pageSize).skip((pageNum - 1) * pageSize), SyFeature.class);
long total = mongoTemplate.count(Query.query(criteria), SyFeature.class);
return new PageResult<>((long) Math.ceil((double) total / pageSize), syFeatures);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
157
158
159
160
161
162
163
|
}
/**
* @param feature
* @return
*/
@Override
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
164
165
166
|
public String updateCountById(SyFeature feature) {
mongoTemplate.save(feature);
return feature.getId();
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
167
168
169
170
171
172
|
}
@Override
public List<Map<String, String>> findAllName() {
List<Map<String, String>> list = new ArrayList<>();
List<SyFeature> syFeatures = findAll();
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
173
174
175
176
177
178
179
|
for (SyFeature feature : syFeatures) {
Map<String, String> map = new HashMap<>(16);
String name = feature.getName();
String id = feature.getId();
map.put("value", id + "");
map.put("name", name);
list.add(map);
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
180
|
}
|
40c853a1
Liu Haoyu
去掉MySQL相关内容, 去掉my...
|
181
|
return list;
|
c83b5b39
Liu Haoyu
项目创建, 集成spring-se...
|
182
183
|
}
}
|