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