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