From 30e3c5e878ed305a49e48a06f947c818933c5e3b Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 06 Feb 2018 17:13:02 +0800
Subject: [PATCH] 地图相关
---
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 54 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
index f366b38..509b9d3 100644
--- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
@@ -1,28 +1,31 @@
package com.moral.service.impl;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
import javax.annotation.Resource;
import com.github.pagehelper.PageHelper;
import com.moral.common.bean.Constants;
import com.moral.common.bean.PageBean;
-import com.moral.common.util.ExampleUtil;
-import com.moral.common.util.MyBatisBaseMapUtil;
+import com.moral.common.util.*;
import org.springframework.stereotype.Service;
-import com.moral.common.util.ValidateUtil;
import com.moral.entity.MonitorPoint;
import com.moral.mapper.MonitorPointMapper;
import com.moral.service.MonitorPointService;
import tk.mybatis.mapper.entity.Example;
+import tk.mybatis.mapper.entity.Example.Criteria;
@Service
public class MonitorPointServiceImpl implements MonitorPointService {
@Resource
private MonitorPointMapper monitorPointMapper;
+ @Resource
+ RedisUtils redisUtils;
private static Class ENTITY_CLASS = MonitorPoint.class;
@Override
public List<MonitorPoint> getMonitorPointsByAreaName(Map<String, Object> parameters) {
@@ -31,7 +34,26 @@
}
@Override
public List<MonitorPoint> queryWithStateByMap(Map<String, Object> params){
- return monitorPointMapper.selectWithStateByMap(params);
+ List<MonitorPoint> monitorPointList = monitorPointMapper.selectByMap(params);
+ for(MonitorPoint monitorPoint:monitorPointList){
+ Integer state = getStateFromRedis(monitorPoint.getId());
+ monitorPoint.setState(state);
+ }
+ return monitorPointList;
+ }
+ private Integer getStateFromRedis(Integer monitorPointId){
+ StringBuilder key = new StringBuilder();
+ key.append("state_").append(monitorPointId).append("_*");
+ List<Map> stateList = redisUtils.getList(key.toString(),Map.class);
+ int state = -1;
+ if(stateList!=null){
+ for (Map deviceState:stateList){
+ int s = Integer.parseInt(deviceState.get("state").toString());
+ state = s>state&&s<4?s:state;
+ }
+ }
+ state = state==-1?4:state;
+ return state;
}
@Override
public PageBean queryByPageBean(PageBean pageBean) {
@@ -87,4 +109,32 @@
}
}
+ @Override
+ public List<MonitorPoint> getMonitorPointsByName(String name) {
+ Example example = new Example(MonitorPoint.class);
+ Criteria criteria = example.createCriteria();
+
+ criteria.andEqualTo("isDelete", Constants.IS_DELETE_FALSE).andLike("name", "%" + name + "%");
+ example.or().andEqualTo("isDelete", Constants.IS_DELETE_FALSE).andCondition("getPY(name) like ", "%" + name + "%");
+
+ List<MonitorPoint> monitorPoints = monitorPointMapper.selectByExample(example);
+ return monitorPoints;
+ }
+
+ /**
+ *
+ * @param idList
+ * @return {id:,state:}
+ */
+ @Override
+ public List<Map<String, String>> queryMonitroPointsState(List<Integer> idList) {
+ List<Map<String, String>> list = idList.stream().map( id -> {
+ Integer state = getStateFromRedis(id);
+ Map<String,String> stateMap = new HashMap<>();
+ stateMap.put("id",id.toString());
+ stateMap.put("state",state.toString());
+ return stateMap;
+ }).collect(Collectors.toList());
+ return list;
+ }
}
--
Gitblit v1.8.0