Blame view

src/main/java/com/objecteye/service/impl/FeatureServiceImpl.java 6.3 KB
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
      }
  }