From 3be7bd55ff0a4ab2ed25b46cdfd1dede92300ea3 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 26 Aug 2021 11:15:29 +0800
Subject: [PATCH] kafa数据从redis获取型号,当前组织下走航车设备列表

---
 screen-api/src/main/java/com/moral/api/controller/MenuController.java                    |   12 -
 screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java                 |    3 
 screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java                      |    9 
 screen-manage/src/main/java/com/moral/api/service/impl/HistoryMinutelyServiceImpl.java   |   16 +
 screen-api/src/main/java/com/moral/api/mapper/SpecialDeviceHistoryMapper.java            |   16 ++
 screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java                |   28 ---
 screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java            |    7 
 screen-manage/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java     |   12 +
 screen-api/src/main/java/com/moral/api/controller/LoginController.java                   |    6 
 screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java                 |   26 +--
 screen-api/src/main/java/com/moral/api/entity/SpecialDeviceHistory.java                  |   83 +++++++++++
 screen-api/src/main/resources/mapper/SpecialDeviceHistoryMapper.xml                      |   19 ++
 screen-api/src/main/java/com/moral/api/service/impl/UserLogServiceImpl.java              |    9 -
 screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java              |   14 -
 screen-api/src/main/java/com/moral/api/service/UserService.java                          |    4 
 screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceHistoryServiceImpl.java |   20 ++
 screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java            |   13 -
 screen-api/src/main/java/com/moral/api/controller/SpecialDeviceController.java           |   10 +
 screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java        |   45 ++----
 screen-common/src/main/java/com/moral/constant/Constants.java                            |    9 +
 screen-api/src/main/java/com/moral/api/service/SpecialDeviceHistoryService.java          |   16 ++
 21 files changed, 252 insertions(+), 125 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/LoginController.java b/screen-api/src/main/java/com/moral/api/controller/LoginController.java
index ea704fe..3486170 100644
--- a/screen-api/src/main/java/com/moral/api/controller/LoginController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/LoginController.java
@@ -7,7 +7,6 @@
 import lombok.extern.slf4j.Slf4j;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
@@ -61,9 +60,8 @@
             @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
     })
     @RequestMapping(value = "getUserInfo", method = RequestMethod.POST)
-    public ResultMessage getUserInfo(HttpServletRequest request) {
-        String token = request.getHeader("token");
-        Map<String, Object> result = userService.getUserInfo(token);
+    public ResultMessage getUserInfo() {
+        Map<String, Object> result = userService.getCurrentUserInfo();
         return ResultMessage.ok(result);
     }
 
diff --git a/screen-api/src/main/java/com/moral/api/controller/MenuController.java b/screen-api/src/main/java/com/moral/api/controller/MenuController.java
index 7ae682a..2e2eaf0 100644
--- a/screen-api/src/main/java/com/moral/api/controller/MenuController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/MenuController.java
@@ -9,8 +9,6 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletRequest;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -55,9 +53,8 @@
             @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
     })
     @RequestMapping(value = "menu-list", method = RequestMethod.POST)
-    public ResultMessage selectMenus(HttpServletRequest request) {
-        String token = request.getHeader("token");
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+    public ResultMessage selectMenus() {
+        Map<String, Object> currentUserInfo = (Map<String, Object>)TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
         List<Menu> menus = menuService.getMenuList((Integer) orgInfo.get("id"));
         return ResultMessage.ok(menus);
@@ -68,9 +65,8 @@
             @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
     })
     @RequestMapping(value = "select", method = RequestMethod.GET)
-    public ResultMessage select(HttpServletRequest request) {
-        String token = request.getHeader("token");
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+    public ResultMessage select() {
+        Map<String, Object> currentUserInfo = (Map<String, Object>)TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
         Map<String, Object> result = menuService.selectMenusByOrgId((Integer) orgInfo.get("id"));
         return ResultMessage.ok(result);
diff --git a/screen-api/src/main/java/com/moral/api/controller/SpecialDeviceController.java b/screen-api/src/main/java/com/moral/api/controller/SpecialDeviceController.java
index 7a83ed6..784d432 100644
--- a/screen-api/src/main/java/com/moral/api/controller/SpecialDeviceController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/SpecialDeviceController.java
@@ -33,6 +33,16 @@
     private SpecialDeviceService specialDeviceService;
 
     /**
+     * @return ������������������������������������
+     */
+    @GetMapping("getCarsByOrg")
+    @ApiOperation(value = "������������������������������������������", notes = "���������������")
+    public ResultMessage getCarsInfo() {
+        List<Map<String, Object>> response = specialDeviceService.getCarsInfo();
+        return ResultMessage.ok(response);
+    }
+
+    /**
      * @param request ������������
      * @return ������������������������������������
      */
diff --git a/screen-api/src/main/java/com/moral/api/entity/SpecialDeviceHistory.java b/screen-api/src/main/java/com/moral/api/entity/SpecialDeviceHistory.java
new file mode 100644
index 0000000..3a80119
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/entity/SpecialDeviceHistory.java
@@ -0,0 +1,83 @@
+package com.moral.api.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author moral
+ * @since 2021-08-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SpecialDeviceHistory extends Model<SpecialDeviceHistory> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * ������������
+     */
+    private String name;
+
+    /**
+     * ������mac���
+     */
+    private String mac;
+
+    /**
+     * ���������id���������������������������������manage_account
+     */
+    private String operateIds;
+
+    /**
+     * ������������id
+     */
+    private Integer organizationId;
+
+    /**
+     * ������������id
+     */
+    private Integer deviceVersionId;
+
+    /**
+     * ���������������������������������������
+     */
+    private String specialType;
+
+    /**
+     * ������������
+     */
+    private Date createTime;
+
+    /**
+     * ������������
+     */
+    private Date updateTime;
+
+    /**
+     * ������������,0���������������1���������
+     */
+    private String isDelete;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
diff --git a/screen-api/src/main/java/com/moral/api/mapper/SpecialDeviceHistoryMapper.java b/screen-api/src/main/java/com/moral/api/mapper/SpecialDeviceHistoryMapper.java
new file mode 100644
index 0000000..4aaab5e
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/mapper/SpecialDeviceHistoryMapper.java
@@ -0,0 +1,16 @@
+package com.moral.api.mapper;
+
+import com.moral.api.entity.SpecialDeviceHistory;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper ������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-08-26
+ */
+public interface SpecialDeviceHistoryMapper extends BaseMapper<SpecialDeviceHistory> {
+
+}
diff --git a/screen-api/src/main/java/com/moral/api/service/SpecialDeviceHistoryService.java b/screen-api/src/main/java/com/moral/api/service/SpecialDeviceHistoryService.java
new file mode 100644
index 0000000..8c06c1f
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/service/SpecialDeviceHistoryService.java
@@ -0,0 +1,16 @@
+package com.moral.api.service;
+
+import com.moral.api.entity.SpecialDeviceHistory;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  ���������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-08-26
+ */
+public interface SpecialDeviceHistoryService extends IService<SpecialDeviceHistory> {
+
+}
diff --git a/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java b/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java
index c88087b..ea3f8da 100644
--- a/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java
+++ b/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java
@@ -16,6 +16,9 @@
  */
 public interface SpecialDeviceService extends IService<SpecialDevice> {
 
+    //���������������������������������������������
+    List<Map<String, Object>> getCarsInfo();
+
     //���������������
     List<Map<String, Object>> carTrajectory(Map<String, Object> params);
 
diff --git a/screen-api/src/main/java/com/moral/api/service/UserService.java b/screen-api/src/main/java/com/moral/api/service/UserService.java
index 90e5581..4b11228 100644
--- a/screen-api/src/main/java/com/moral/api/service/UserService.java
+++ b/screen-api/src/main/java/com/moral/api/service/UserService.java
@@ -23,8 +23,8 @@
     //������
     Map<String, Object> login(Map<String, Object> parameters);
 
-    //������token������������������
-    Map<String,Object> getUserInfo(String token);
+    //������������������������
+    Map<String,Object> getCurrentUserInfo();
 
     //������������
     Map<String, Object> getMenus(Map<String, Object> parameters);
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
index ec6709b..afb4821 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
@@ -52,12 +52,9 @@
     @Override
     @Transactional
     public void allotMenus(Map<String, Object> parameters) {
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
-        String token = request.getHeader("token");
-
         Integer groupId = Integer.parseInt(parameters.get("groupId").toString());
         List<Integer> menuIds = (ArrayList) parameters.get("menuIds");
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
         UpdateWrapper<GroupMenu> deleteWrapper = new UpdateWrapper<>();
         deleteWrapper.eq("group_id", groupId).eq("channel_key", Constants.WEB_CHANNEL);
@@ -78,7 +75,7 @@
         //������
         String groupName = groupMapper.selectById((Integer) parameters.get("groupId")).getGroupName();
         String content = "���������" + groupName + "������������������" + menus;
-        operationLogUtils.insertLog(request, content, Constants.UPDATE_OPERATE_TYPE);
+        operationLogUtils.insertLog(content, Constants.UPDATE_OPERATE_TYPE);
     }
 
     @Override
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java
index 254c76f..20bb680 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java
@@ -2,9 +2,7 @@
 
 
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -25,10 +23,6 @@
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-import javax.servlet.http.HttpServletRequest;
 
 /**
  * <p>
@@ -55,11 +49,8 @@
 
     @Override
     public Map<String, Object> addGroup(Group group) {
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
-        String token = request.getHeader("token");
-
         Map<String, Object> result = new HashMap<>();
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
         Integer orgId = (Integer) orgInfo.get("id");
         QueryWrapper<Group> queryWrapper = new QueryWrapper<>();
@@ -76,7 +67,7 @@
 
         //������
         String content = "���������������" + group.getGroupName();
-        operationLogUtils.insertLog(request, content, Constants.INSERT_OPERATE_TYPE);
+        operationLogUtils.insertLog(content, Constants.INSERT_OPERATE_TYPE);
         return result;
     }
 
@@ -95,19 +86,15 @@
         deleteUserGroupWrapper.eq("group_id", id);
         userGroupMapper.delete(deleteUserGroupWrapper);
         //������
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
         String content = "���������������" + groupMapper.selectById(id).getGroupName();
-        operationLogUtils.insertLog(request, content, Constants.DELETE_OPERATE_TYPE);
+        operationLogUtils.insertLog(content, Constants.DELETE_OPERATE_TYPE);
     }
 
     @Override
     public Map<String, Object> updateGroup(Group group) {
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
-        String token = request.getHeader("token");
-
         String before = groupMapper.selectById(group.getId()).getGroupName();
         Map<String, Object> result = new HashMap<>();
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
         Integer orgId = (Integer) orgInfo.get("id");
         QueryWrapper<Group> queryWrapper = new QueryWrapper<>();
@@ -124,16 +111,13 @@
         groupMapper.updateById(group);
         //������
         String content = "���������������" + before + "=>" + group.getGroupName();
-        operationLogUtils.insertLog(request, content, Constants.UPDATE_OPERATE_TYPE);
+        operationLogUtils.insertLog(content, Constants.UPDATE_OPERATE_TYPE);
         return result;
     }
 
     @Override
     public Page<Group> selectGroups(Map<String, Object> parameters) {
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
-        String token = request.getHeader("token");
-
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
         Integer orgId = (Integer) orgInfo.get("id");
         QueryWrapper<Group> queryWrapper = new QueryWrapper<>();
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceHistoryServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceHistoryServiceImpl.java
new file mode 100644
index 0000000..dcdef9b
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceHistoryServiceImpl.java
@@ -0,0 +1,20 @@
+package com.moral.api.service.impl;
+
+import com.moral.api.entity.SpecialDeviceHistory;
+import com.moral.api.mapper.SpecialDeviceHistoryMapper;
+import com.moral.api.service.SpecialDeviceHistoryService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  ���������������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-08-26
+ */
+@Service
+public class SpecialDeviceHistoryServiceImpl extends ServiceImpl<SpecialDeviceHistoryMapper, SpecialDeviceHistory> implements SpecialDeviceHistoryService {
+
+}
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
index 7e5d8c1..4ff6a07 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -2,33 +2,24 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.moral.api.entity.HistorySecondSpecial;
-import com.moral.api.entity.Sensor;
 import com.moral.api.entity.SpecialDevice;
-import com.moral.api.entity.SysDictData;
+import com.moral.api.entity.SpecialDeviceHistory;
 import com.moral.api.mapper.HistorySecondSpecialMapper;
 import com.moral.api.mapper.SpecialDeviceMapper;
-import com.moral.api.service.HistorySecondSpecialService;
-import com.moral.api.service.SensorService;
+import com.moral.api.service.SpecialDeviceHistoryService;
 import com.moral.api.service.SpecialDeviceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.moral.api.service.SysDictDataService;
 import com.moral.constant.Constants;
-import com.moral.constant.RedisConstants;
-import com.moral.util.DateUtils;
 import com.moral.util.GeodesyUtils;
 import com.moral.util.TokenUtils;
 
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -45,29 +36,27 @@
     private HistorySecondSpecialMapper historySecondSpecialMapper;
 
     @Autowired
-    private SensorService sensorService;
-
-    @Autowired
-    private SysDictDataService sysDictDataService;
-
-    @Autowired
-    private RedisTemplate redisTemplate;
+    private SpecialDeviceHistoryService specialDeviceHistoryService;
 
     private final static Double dis = 50d;
 
     @Override
+    public List<Map<String, Object>> getCarsInfo() {
+        //������������������������
+        Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
+        Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization");
+        Integer orgId = (Integer) orgInfo.get("id");
+        QueryWrapper<SpecialDeviceHistory> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("mac", "name")
+                .eq("organization_id", orgId)
+                .eq("special_type", Constants.SPECIAL_DEVICE_CAR)
+                .eq("is_delete", Constants.NOT_DELETE);
+        return specialDeviceHistoryService.listMaps(queryWrapper);
+    }
+
+    @Override
     public List<Map<String, Object>> carTrajectory(Map<String, Object> params) {
         params.put("dateFormat", "%Y-%m-%d %H:%i:%s");
-
-        //���������������������
-        /*QueryWrapper<Sensor> queryWrapper = new QueryWrapper<>();
-        queryWrapper.select("default_unit_key").eq("code", sensorCode);
-        String defaultUnitKey = sensorService.getOne(queryWrapper).getDefaultUnitKey();
-        QueryWrapper<SysDictData> sysDictDataQueryWrapper = new QueryWrapper<>();
-        sysDictDataQueryWrapper.select("dataValue").eq("dict_type_id", 14).eq("dataKey", defaultUnitKey);
-        String sensorUnit = sysDictDataService.getOne(sysDictDataQueryWrapper).getDataValue();
-
-        params.put("sensorUnit", sensorUnit);*/
         Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization");
         Integer orgId = (Integer) orgInfo.get("id");
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java
index e6039cc..a4007ee 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java
@@ -1,9 +1,6 @@
 package com.moral.api.service.impl;
 
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.moral.api.entity.UserGroup;
@@ -20,10 +17,6 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-import javax.servlet.http.HttpServletRequest;
 
 /**
  * <p>
@@ -51,11 +44,9 @@
     @Override
     @Transactional
     public void allotGroups(Map<String, Object> parameters) {
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
-        String token = request.getHeader("token");
         Object o = parameters.get("groupId");
         Integer userId = Integer.parseInt(parameters.get("userId").toString());
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
 
         UpdateWrapper<UserGroup> deleteWrapper = new UpdateWrapper<>();
@@ -74,7 +65,7 @@
             //������
             String account = userMapper.selectById((Integer) parameters.get("userId")).getAccount();
             String content = "������������" + account + "���������������" + groupName;
-            operationLogUtils.insertLog(request, content, Constants.UPDATE_OPERATE_TYPE);
+            operationLogUtils.insertLog(content, Constants.UPDATE_OPERATE_TYPE);
         }
     }
 }
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserLogServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserLogServiceImpl.java
index cb0a8ee..a0fc827 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/UserLogServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/UserLogServiceImpl.java
@@ -10,14 +10,9 @@
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
 
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
-
-import javax.servlet.http.HttpServletRequest;
 
 /**
  * <p>
@@ -35,9 +30,7 @@
 
     @Override
     public Page<UserLog> selectLogs(Map<String, Object> parameters) {
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
-        String token = request.getHeader("token");
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
         Object orgId = orgInfo.get("id");
         QueryWrapper<UserLog> queryWrapper = new QueryWrapper<>();
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
index 87ca042..161de75 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
@@ -175,8 +175,8 @@
     }
 
     @Override
-    public Map<String, Object> getUserInfo(String token) {
-        Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+    public Map<String, Object> getCurrentUserInfo() {
+        Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         return userInfo;
     }
 
@@ -240,11 +240,9 @@
     @Override
     @Transactional
     public Map<String, Object> addUser(User user) {
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
-        String token = request.getHeader("token");
 
         Map<String, Object> result = new HashMap<>();
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo();
 
         QueryWrapper<User> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("account", user.getAccount()).eq("is_delete", Constants.NOT_DELETE);
@@ -306,7 +304,7 @@
         userMapper.insert(user);
         //������
         String content = "������������������" + user.getAccount();
-        operationLogUtils.insertLog(request, content, Constants.INSERT_OPERATE_TYPE);
+        operationLogUtils.insertLog(content, Constants.INSERT_OPERATE_TYPE);
         return result;
     }
 
@@ -328,21 +326,17 @@
             TokenUtils.destoryToken(userId.toString(), token);
         }
         //������
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
         String content = "������������������" + user.getAccount();
-        operationLogUtils.insertLog(request, content, Constants.DELETE_OPERATE_TYPE);
+        operationLogUtils.insertLog(content, Constants.DELETE_OPERATE_TYPE);
     }
 
     @Override
     @Transactional
     public Map<String, Object> updateUser(User user) {
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
-        String token = request.getHeader("token");
-
         Map<String, Object> result = new HashMap<>();
         //���������������
         Map<String, Object> update = JSONObject.parseObject(JSON.toJSONString(user), Map.class);
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         User beforeUser = userMapper.selectById(user.getId());
         Map<String, Object> before = JSONObject.parseObject(JSON.toJSONString(beforeUser), Map.class);
         /*String account = beforeUser.getAccount();
@@ -423,16 +417,14 @@
                 content.append(key).append(":").append(beforeValue).append("=>").append(afterValue).append(";");
             }
         }
-        operationLogUtils.insertLog(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
+        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+        operationLogUtils.insertLog(content.toString(), Constants.UPDATE_OPERATE_TYPE);
         return result;
     }
 
     @Override
     public Page<User> selectUsers(Map<String, Object> parameters) {
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
-        String token = request.getHeader("token");
-
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
         QueryWrapper<User> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("organization_id", orgInfo.get("id"))
diff --git a/screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java b/screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java
index 9f9468c..f03cc16 100644
--- a/screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java
+++ b/screen-api/src/main/java/com/moral/api/utils/OperationLogUtils.java
@@ -3,12 +3,15 @@
 import lombok.extern.slf4j.Slf4j;
 
 import java.util.Map;
+import java.util.Objects;
 
 import javax.servlet.http.HttpServletRequest;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import com.moral.api.entity.UserLog;
 import com.moral.api.service.UserLogService;
@@ -23,9 +26,9 @@
     private UserLogService userLogService;
 
     @Transactional
-    public void insertLog(HttpServletRequest request, String content, String type) {
-        String token = request.getHeader("token");
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
+    public void insertLog(String content, String type) {
+        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         UserLog userLog = new UserLog();
         userLog.setType(type);
         userLog.setIp(WebUtils.getIpAddr(request));
diff --git a/screen-api/src/main/resources/mapper/SpecialDeviceHistoryMapper.xml b/screen-api/src/main/resources/mapper/SpecialDeviceHistoryMapper.xml
new file mode 100644
index 0000000..a2b05bb
--- /dev/null
+++ b/screen-api/src/main/resources/mapper/SpecialDeviceHistoryMapper.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.api.mapper.SpecialDeviceHistoryMapper">
+
+    <!-- ������������������������ -->
+    <resultMap id="BaseResultMap" type="com.moral.api.entity.SpecialDeviceHistory">
+        <id column="id" property="id"/>
+        <result column="name" property="name"/>
+        <result column="mac" property="mac"/>
+        <result column="operate_ids" property="operateIds"/>
+        <result column="organization_id" property="organizationId"/>
+        <result column="device_version_id" property="deviceVersionId"/>
+        <result column="special_type" property="specialType"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="is_delete" property="isDelete"/>
+    </resultMap>
+
+</mapper>
\ No newline at end of file
diff --git a/screen-common/src/main/java/com/moral/constant/Constants.java b/screen-common/src/main/java/com/moral/constant/Constants.java
index fc89082..9222de0 100644
--- a/screen-common/src/main/java/com/moral/constant/Constants.java
+++ b/screen-common/src/main/java/com/moral/constant/Constants.java
@@ -209,5 +209,14 @@
      * */
     public static final String SENSOR_CODE_SPECIAL_BATCH = "a00000";
 
+    /*
+     * ������������������������������
+     * */
+    public static final String SPECIAL_DEVICE_CAR = "0";
 
+    /*
+     * ������������������������������
+     * */
+    public static final String SPECIAL_DEVICE_UAV = "1";
+    
 }
diff --git a/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java b/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java
index 04e47cb..fceb385 100644
--- a/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java
+++ b/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java
@@ -51,8 +51,7 @@
             Map<String, Object> data = JSON.parseObject(msg, Map.class);
             Object mac = data.get("mac");
             Object time = data.get("DataTime");
-            Object ver = data.get("ver");
-            if (ObjectUtils.isEmpty(ver) || ObjectUtils.isEmpty(time) || ObjectUtils.isEmpty(mac)) {
+            if (ObjectUtils.isEmpty(time) || ObjectUtils.isEmpty(mac)) {
                 log.warn("some properties is null, param{}", msg);
                 ack.acknowledge();
                 return;
@@ -91,8 +90,7 @@
             Map<String, Object> data = JSON.parseObject(msg, Map.class);
             Object mac = data.get("mac");
             Object time = data.get("DataTime");
-            Object ver = data.get("ver");
-            if (ObjectUtils.isEmpty(ver) || ObjectUtils.isEmpty(time) || ObjectUtils.isEmpty(mac)) {
+            if (ObjectUtils.isEmpty(time) || ObjectUtils.isEmpty(mac)) {
                 log.warn("some properties is null, param{}", msg);
                 ack.acknowledge();
                 return;
@@ -131,15 +129,13 @@
             Map<String, Object> data = JSON.parseObject(msg, Map.class);
             Object mac = data.get("mac");
             Object time = data.get("DataTime");
-            Object ver = data.get("ver");
-            if (ObjectUtils.isEmpty(ver) || ObjectUtils.isEmpty(time) || ObjectUtils.isEmpty(mac)) {
+            if (ObjectUtils.isEmpty(time) || ObjectUtils.isEmpty(mac)) {
                 log.warn("some properties is null, param{}", msg);
                 return;
             }
             //������������
             data.remove("time");
             data.remove("entryTime");
-            data.remove("ver");
 
             //������������
             data = deviceService.adjustDeviceData(data);
@@ -160,8 +156,7 @@
             Map<String, Object> data = JSON.parseObject(msg, Map.class);
             Object mac = data.get("mac");
             Object time = data.get("DataTime");
-            Object ver = data.get("ver");
-            if (ObjectUtils.isEmpty(ver) || ObjectUtils.isEmpty(time) || ObjectUtils.isEmpty(mac)) {
+            if (ObjectUtils.isEmpty(time) || ObjectUtils.isEmpty(mac)) {
                 log.warn("some properties is null, param{}", msg);
                 ack.acknowledge();
                 return;
@@ -170,7 +165,6 @@
             //������������
             data.remove("time");
             data.remove("entryTime");
-            data.remove("ver");
 
             historySecondSpecialService.insertHistorySecond(data);
             ack.acknowledge();
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
index e555273..9d18e07 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
@@ -7,9 +7,11 @@
 import com.moral.api.service.HistoryHourlyService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.constant.Constants;
+import com.moral.constant.RedisConstants;
 import com.moral.util.DateUtils;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -34,13 +36,19 @@
     @Autowired
     private DeviceService deviceService;
 
+    @Autowired
+    private RedisTemplate redisTemplate;
+
     @Override
     @Transactional
     public void insertHistoryHourly(Map<String, Object> data) {
-        Integer version = (Integer) data.remove("ver");
-        Map<String, Object> dataAdjust = new HashMap<>(data);
         String mac = data.remove("mac").toString();
+        //������mac������������
+        Map<String, Object> deviceInfo = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DEVICE, mac);
+        Map<String, Object> versionInfo = (Map<String, Object>) deviceInfo.get("version");
+        Integer version = (Integer) versionInfo.get("id");
 
+        Map<String, Object> dataAdjust = new HashMap<>(data);
         Date time = DateUtils.getDate((String) data.remove("DataTime"), DateUtils.yyyyMMddHHmmss_EN);
 
         Map<String, Object> result = new HashMap<>();
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/HistoryMinutelyServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/HistoryMinutelyServiceImpl.java
index 4481338..51167ed 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/HistoryMinutelyServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/HistoryMinutelyServiceImpl.java
@@ -1,6 +1,7 @@
 package com.moral.api.service.impl;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -13,6 +14,7 @@
 import com.moral.api.service.DeviceService;
 import com.moral.api.service.HistoryMinutelyService;
 import com.moral.constant.Constants;
+import com.moral.constant.RedisConstants;
 import com.moral.util.DateUtils;
 
 @Service
@@ -24,18 +26,22 @@
     @Autowired
     private DeviceService deviceService;
 
+    @Autowired
+    private RedisTemplate redisTemplate;
+
     @Override
     @Transactional
     public void insertHistoryMinutely(Map<String, Object> data) {
         Map<String, Object> result = new HashMap<>();
-        Object ver = data.remove("ver");
-
         Map<String, Object> dataAdjust = new HashMap<>(data);
-
-        Object mac = data.remove("mac");
+        String mac = data.remove("mac").toString();
+        //������mac������������
+        Map<String, Object> deviceInfo = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DEVICE, mac);
+        Map<String, Object> versionInfo = (Map<String, Object>) deviceInfo.get("version");
+        Integer version = (Integer) versionInfo.get("id");
 
         result.put("mac", mac);
-        result.put("version", ver);
+        result.put("version", version);
 
         Date time = DateUtils.getDate((String) data.remove("DataTime"), DateUtils.yyyyMMddHHmmss_EN);
         result.put("time", time);

--
Gitblit v1.8.0