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