From 66ab6b7d3ac3e7a50a8a0c1506ea5448ea8d8eee Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Fri, 21 May 2021 13:38:26 +0800
Subject: [PATCH] screen-manage                       对后台用户进行修改和删除时,销毁其token

---
 screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java            |   13 ++++++
 screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java         |   21 ++++++++++
 screen-manage/src/main/java/com/moral/api/controller/VersionController.java            |    6 +++
 screen-common/src/main/java/com/moral/util/TokenUtils.java                             |   48 +++++++++++++++++++++++-
 screen-manage/src/main/java/com/moral/api/pojo/form/version/VersionSensorUnitForm.java |    4 +
 screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java                |   10 +++++
 screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java   |    4 ++
 7 files changed, 101 insertions(+), 5 deletions(-)

diff --git a/screen-common/src/main/java/com/moral/util/TokenUtils.java b/screen-common/src/main/java/com/moral/util/TokenUtils.java
index 9bc1d5e..16f19ad 100644
--- a/screen-common/src/main/java/com/moral/util/TokenUtils.java
+++ b/screen-common/src/main/java/com/moral/util/TokenUtils.java
@@ -10,8 +10,11 @@
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 import org.springframework.util.ObjectUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -78,7 +81,7 @@
     /**
      * @Description: ������token
      * @Param: [type, token] type��� ���������������manage  ���������������api
-     * @return: java.util.Map<java.lang.String                               ,                               java.lang.Object>
+     * @return: java.util.Map<java.lang.String                                                                                                                               ,                                                                                                                               java.lang.Object>
      * @Author: ���������
      * @Date: 2021/3/10
      */
@@ -105,7 +108,7 @@
     /**
      * @Description: ������token������������������
      * @Param: [token]
-     * @return: java.util.Map<java.lang.String                               ,                               java.lang.Object>
+     * @return: java.util.Map<java.lang.String                                                                                                                               ,                                                                                                                               java.lang.Object>
      * @Author: ���������
      * @Date: 2021/3/11
      */
@@ -129,6 +132,7 @@
         redisTemplate.opsForHash().delete("user_token", uid);
     }
 
+
     /**
      * @Description: ������token
      * @Param: [token]
@@ -141,6 +145,34 @@
     }
 
     /**
+     * @Description: ���������������������token
+     * @Param: []
+     * @return: void
+     * @Author: ���������
+     * @Date: 2021/5/21
+     */
+    public static void destoryToken() {
+        destoryToken(getCurrentToken());
+    }
+
+    public static void destoryToken(Integer id) {
+        String token = getTokenById(id);
+        destoryToken(token,String.valueOf(id));
+    }
+
+    /**
+     * @Description: ������id������token
+     * @Param: []
+     * @return: java.lang.String
+     * @Author: ���������
+     * @Date: 2021/5/21
+     */
+    public static String getTokenById(Integer id) {
+         return (String)redisTemplate.opsForHash().get("user_token", String.valueOf(id));
+    }
+
+
+    /**
      * @Description: ������TOKEN������Id
      * @Param: [token]
      * @return: void
@@ -152,6 +184,18 @@
         return string[0];
     }
 
+    /**
+     * @Description: ���������������������token
+     * @Param: []
+     * @return: java.lang.String
+     * @Author: ���������
+     * @Date: 2021/5/21
+     */
+    public static String getCurrentToken() {
+        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+        return request.getHeader("token");
+    }
+
 
     /**
      * @Description: token������
diff --git a/screen-manage/src/main/java/com/moral/api/controller/VersionController.java b/screen-manage/src/main/java/com/moral/api/controller/VersionController.java
index 4360ff1..c5e4db8 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/VersionController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/VersionController.java
@@ -12,6 +12,7 @@
 import com.moral.api.service.VersionService;
 import com.moral.constant.ResponseCodeEnum;
 import com.moral.constant.ResultMessage;
+import com.moral.util.TokenUtils;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -104,5 +105,10 @@
         return new ResultMessage(dto.getCode(), dto.getMsg(), null);
     }
 
+    @GetMapping("test")
+    public ResultMessage test(){
+        System.out.println(TokenUtils.getCurrentToken());
+        return null;
+    }
 
 }
diff --git a/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java b/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java
index 402f9cf..a4432ec 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java
@@ -45,6 +45,16 @@
      */
     private String unitKey;
 
+    /*
+    * ���������
+    * */
+    private Integer maxValue;
+
+    /*
+    * ���������
+    * */
+    private Integer minValue;
+
     /**
      * ������������
      */
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/version/VersionSensorUnitForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/version/VersionSensorUnitForm.java
index df0508c..654ecb7 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/form/version/VersionSensorUnitForm.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/version/VersionSensorUnitForm.java
@@ -16,10 +16,12 @@
 @Data
 public class VersionSensorUnitForm {
 
+    private Integer versionId;
+
     private List<VersionSensorUnit> sensorUnits;
 
     public boolean valid(){
-        if(sensorUnits==null)
+        if(sensorUnits==null||ObjectUtils.isEmpty(versionId))
             return false;
         return true;
     }
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
index f01c6b1..2076867 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
@@ -326,6 +326,8 @@
         UpdateWrapper<ManageAccountRole> deleteManageAccountRoleWrapper = new UpdateWrapper<>();
         deleteManageAccountRoleWrapper.set("is_delete", Constants.DELETE).eq("account_id", manageAccount.getId());
         manageAccountRoleMapper.update(null, deleteManageAccountRoleWrapper);
+        //������token
+        TokenUtils.destoryToken(accountId);
         //������������������
         accountDTO.setCode(ResponseCodeEnum.SUCCESS.getCode());
         accountDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -395,6 +397,8 @@
                 manageAccountRoleMapper.insert(manageAccountRole);
             }
         }
+        //������token
+        TokenUtils.destoryToken(manageAccount.getId());
         //������������������
         accountDTO.setCode(ResponseCodeEnum.SUCCESS.getCode());
         accountDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java
index 76c4316..8155f11 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java
@@ -5,6 +5,7 @@
 import com.moral.api.config.mybatis.wrapper.NullFilterWrapper;
 import com.moral.api.entity.Group;
 import com.moral.api.entity.Menu;
+import com.moral.api.mapper.GroupMenuMapper;
 import com.moral.api.mapper.MenuMapper;
 import com.moral.api.pojo.dto.menu.MenuDTO;
 import com.moral.api.pojo.dto.menu.MenuQueryDTO;
@@ -44,6 +45,8 @@
     MenuMapper menuMapper;
     @Autowired
     GroupService groupService;
+    @Autowired
+    GroupMenuMapper groupMenuMapper;
 
     @Override
     public MenuQueryDTO queryAllMenus() {
@@ -131,6 +134,7 @@
     }
 
     @Override
+    @Transactional
     public MenuDTO deleteMenu(MenuDeleteForm form) {
         //������������������
         MenuDTO dto = new MenuDTO();
@@ -154,7 +158,14 @@
         //������������
         existMenu.setIsDelete(Constants.DELETE);
         menuMapper.updateById(existMenu);
-
+        //���������������������������������������������
+        UpdateWrapper deleteGroupMenuWrapper = new UpdateWrapper();
+        List<Integer> allMenuIds = new ArrayList<>();
+        allMenuIds.add(id);
+        allMenuIds.addAll(childrenIds);
+        deleteGroupMenuWrapper.in("menu_id",allMenuIds);
+        deleteGroupMenuWrapper.set("is_delete",Constants.DELETE);
+        groupMenuMapper.update(null,deleteGroupMenuWrapper);
         //������������������
         dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java
index d306c56..dd7f7b1 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java
@@ -180,7 +180,26 @@
     }
 
     @Override
+    @Transactional
     public VersionDTO updateSensorUnits(VersionSensorUnitForm form) {
-        return null;
+        //������������������
+        VersionDTO dto = new VersionDTO();
+        //������
+        List<VersionSensorUnit> sensorUnits = form.getSensorUnits();
+        Integer versionId = form.getVersionId();
+        //������������������������������������
+        UpdateWrapper deleteWrapper = new UpdateWrapper();
+        deleteWrapper.eq("version_id",versionId);
+        deleteWrapper.set("is_delete",Constants.DELETE);
+        versionSensorUnitMapper.update(null,deleteWrapper);
+        //���������������������������������
+        for (VersionSensorUnit sensorUnit : sensorUnits) {
+            sensorUnit.setVersionId(versionId);
+            versionSensorUnitMapper.insert(sensorUnit);
+        }
+        //������������������
+        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+        return dto;
     }
 }

--
Gitblit v1.8.0