Bläddra i källkod

整理了一下代码

wuweihao 5 år sedan
förälder
incheckning
e70ee451c1
39 ändrade filer med 152 tillägg och 305 borttagningar
  1. 1 1
      xiaoan-application/src/main/resources/application.properties
  2. 3 0
      xiaoan-common/src/main/java/com/xiaoan/common/constant/MsgCode.java
  3. 3 3
      xiaoan-common/src/main/java/com/xiaoan/common/util/PasswordUtils.java
  4. 1 5
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/CameraDetailRepository.java
  5. 1 1
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/CameraRepository.java
  6. 1 4
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/DepartmentRepository.java
  7. 1 1
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/IBaseRepository.java
  8. 1 3
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/IssueRepository.java
  9. 1 3
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/LogRepository.java
  10. 12 5
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/ResourceRepository.java
  11. 4 3
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/RoleRepository.java
  12. 1 8
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/SceneRepository.java
  13. 1 5
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/UserRepository.java
  14. 0 1
      xiaoan-domain/src/main/java/com/xiaoan/domain/dto/request/RoleRequest.java
  15. 2 7
      xiaoan-service/src/main/java/com/xiaoan/service/BaseServiceImpl.java
  16. 4 0
      xiaoan-service/src/main/java/com/xiaoan/service/backend/ResourceService.java
  17. 2 0
      xiaoan-service/src/main/java/com/xiaoan/service/backend/RoleService.java
  18. 2 2
      xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/CameraDetailServiceImpl.java
  19. 2 2
      xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/CameraServiceImpl.java
  20. 2 6
      xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/DepartmentServiceImpl.java
  21. 2 6
      xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/IssueServiceImpl.java
  22. 2 2
      xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/LogServiceImpl.java
  23. 46 9
      xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/ResourceServiceImpl.java
  24. 7 3
      xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/RoleServiceImpl.java
  25. 2 2
      xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/SceneServiceImpl.java
  26. 5 8
      xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/UserServiceImpl.java
  27. 0 5
      xiaoan-web/src/main/java/com/xiaoan/web/aop/WebLogAspect.java
  28. 0 2
      xiaoan-web/src/main/java/com/xiaoan/web/backend/BaseController.java
  29. 1 1
      xiaoan-web/src/main/java/com/xiaoan/web/backend/DepartmentController.java
  30. 1 14
      xiaoan-web/src/main/java/com/xiaoan/web/backend/IssueController.java
  31. 1 3
      xiaoan-web/src/main/java/com/xiaoan/web/backend/LogController.java
  32. 3 4
      xiaoan-web/src/main/java/com/xiaoan/web/backend/PersonalCenterController.java
  33. 1 1
      xiaoan-web/src/main/java/com/xiaoan/web/backend/ResourceController.java
  34. 4 3
      xiaoan-web/src/main/java/com/xiaoan/web/backend/RoleController.java
  35. 3 3
      xiaoan-web/src/main/java/com/xiaoan/web/backend/SceneController.java
  36. 1 1
      xiaoan-web/src/main/java/com/xiaoan/web/backend/StatisticsController.java
  37. 28 38
      xiaoan-web/src/main/java/com/xiaoan/web/backend/UserController.java
  38. 0 139
      xiaoan-web/src/main/java/com/xiaoan/web/shiro/JWTUtil.java
  39. 0 1
      xiaoan-web/src/main/java/com/xiaoan/web/shiro/MyRealm.java

+ 1 - 1
xiaoan-application/src/main/resources/application.properties

@@ -1,6 +1,6 @@
 server.port=8011
 
-spring.profiles.active=uat
+spring.profiles.active=dev
 
 #mybatis
 #mybatis.mapper-locations=classpath:mapper/*.xml

+ 3 - 0
xiaoan-common/src/main/java/com/xiaoan/common/constant/MsgCode.java

@@ -36,6 +36,9 @@ public class MsgCode {
     public static final int e_ADMIN_4100 = 4100;
     public static final String msg_ADMIN_4100 = "角色不存在";
 
+    public static final int e_ADMIN_4101 = 4101;
+    public static final String msg_ADMIN_4101 = "管理员账户不能修改";
+
     //42XX 资源模块
     public static final int e_ADMIN_4200 = 4200;
     public static final String msg_ADMIN_4200 = "资源不存在";

+ 3 - 3
xiaoan-common/src/main/java/com/xiaoan/common/util/PasswordUtils.java

@@ -167,9 +167,9 @@ public class PasswordUtils {
     }
 
     public static void main(String[] args) {
-
-        String userName = "15999999999";
-        String password = "123456";
+        // 13138102395 13112311178
+        String userName = "13112311178";
+        String password = "Aa11111111";
 
         try {
             byte[] salt = PasswordUtils.getStaticSalt();

+ 1 - 5
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/CameraDetailRepository.java

@@ -1,20 +1,16 @@
 package com.xiaoan.dao.backend;
 
 import com.xiaoan.domain.backend.CameraDetailEntity;
-import com.xiaoan.domain.backend.CameraEntity;
 import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
-
 
 /**
  * Created by Hb_zzZ on 2020/2/27.
  */
 @Mapper
 @Component
-public interface CameraDetailRepository extends IBaseRepository<CameraDetailEntity, Long> {
+public interface CameraDetailRepository extends IBaseMapper<CameraDetailEntity, Long> {
 
 
 

+ 1 - 1
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/CameraRepository.java

@@ -14,7 +14,7 @@ import java.util.List;
  */
 @Mapper
 @Component
-public interface CameraRepository extends IBaseRepository<CameraEntity, Long> {
+public interface CameraRepository extends IBaseMapper<CameraEntity, Long> {
 
     @Select(value = "select * from t_camera where wifi_name = #{code} and rec_status = 'A' ")
     CameraEntity findByWifiName(String code);

+ 1 - 4
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/DepartmentRepository.java

@@ -3,10 +3,7 @@ package com.xiaoan.dao.backend;
 import com.xiaoan.domain.backend.DepartmentEntity;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
 
 
 /**
@@ -14,7 +11,7 @@ import org.springframework.transaction.annotation.Transactional;
  */
 @Mapper
 @Component
-public interface DepartmentRepository extends IBaseRepository<DepartmentEntity, Long> {
+public interface DepartmentRepository extends IBaseMapper<DepartmentEntity, Long> {
 
     @Select(value = "select * from tb_department d where d.name = #{name}")
     DepartmentEntity findByName(String name);

+ 1 - 1
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/IBaseRepository.java

@@ -12,7 +12,7 @@ import java.io.Serializable;
  * Created by owen on 2020/2/18 0018 11:27
  */
 
-public interface IBaseRepository<T extends BaseModel, ID extends Serializable> extends BaseMapper<T>,
+public interface IBaseMapper<T extends BaseModel, ID extends Serializable> extends BaseMapper<T>,
         ConditionMapper<T>,
         IdsMapper<T>,
         InsertListMapper<T> {

+ 1 - 3
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/IssueRepository.java

@@ -1,9 +1,7 @@
 package com.xiaoan.dao.backend;
 
 import com.xiaoan.domain.backend.IssueEntity;
-import com.xiaoan.domain.backend.LogEntity;
 import com.xiaoan.domain.dto.response.IssueResponse;
-import com.xiaoan.domain.dto.response.LogResponse;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Component;
@@ -16,7 +14,7 @@ import java.util.List;
  */
 @Mapper
 @Component
-public interface IssueRepository extends IBaseRepository<IssueEntity, Long> {
+public interface IssueRepository extends IBaseMapper<IssueEntity, Long> {
 
     /**
      * 关联查询

+ 1 - 3
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/LogRepository.java

@@ -3,7 +3,6 @@ package com.xiaoan.dao.backend;
 import com.xiaoan.common.model.PageDto;
 //import com.xiaoan.dao.backend.provider.LogProvider;
 import com.xiaoan.dao.backend.provider.LogProvider;
-import com.xiaoan.dao.backend.provider.SceneProvider;
 import com.xiaoan.domain.backend.LogEntity;
 import com.xiaoan.domain.dto.response.LogResponse;
 import org.apache.ibatis.annotations.Mapper;
@@ -11,7 +10,6 @@ import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.SelectProvider;
 import org.springframework.stereotype.Component;
 
-import java.util.Date;
 import java.util.List;
 
 
@@ -20,7 +18,7 @@ import java.util.List;
  */
 @Mapper
 @Component
-public interface LogRepository extends IBaseRepository<LogEntity, Long> {
+public interface LogRepository extends IBaseMapper<LogEntity, Long> {
 
     /**
      * 关联查询

+ 12 - 5
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/ResourceRepository.java

@@ -12,7 +12,7 @@ import java.util.List;
  */
 @Mapper
 @Component
-public interface ResourceRepository extends IBaseRepository<ResourceEntity, Long> {
+public interface ResourceMapper extends IBaseMapper<ResourceEntity, Long> {
 
     @Select(value = "select * from tb_role_resource z left join tb_resource r ON z.resource_id = r.id where z.role_id= #{roleId}")
     List<ResourceEntity> findRoleResourceByRoleId(Long roleId);
@@ -20,12 +20,19 @@ public interface ResourceRepository extends IBaseRepository<ResourceEntity, Long
 
     /**
      * 根据用户id查询权限
+     * 没有left ,直接用join,就不会前后表关联了
      */
-    @Select(value = "select b.id, b.name, b.parent_id, b.resource_type from " +
+    @Select(value = "select b.id, b.name, b.parent_id, b.resource_type, b.resource_key from " +
             "((tb_user u left join tb_user_role ur on u.id = ur.user_id) " +
-            "left join tb_role r on r.id = ur.role_id) " +
-            "left join tb_role_resource a on r.id = a.role_id " +
-            "left join tb_resource b on b.id = a.resource_id WHERE u.id = #{userId}")
+            " join tb_role r on r.id = ur.role_id) " +
+            " join tb_role_resource a on r.id = a.role_id " +
+            " join tb_resource b on b.id = a.resource_id WHERE u.id = #{userId}")
     List<ResourceEntity> findResourceByUserId(Long userId);
 
+    /** 根据角色id查询权限 */
+    @Select(value = "select b.id, b.name, b.parent_id, b.resource_type, b.resource_key from " +
+            " tb_role r join tb_role_resource a on r.id = a.role_id " +
+            " join tb_resource b on b.id = a.resource_id WHERE r.id = #{roleId}")
+    List<ResourceEntity> findResourceByRoleId(Long roleId);
+
 }

+ 4 - 3
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/RoleRepository.java

@@ -2,11 +2,9 @@ package com.xiaoan.dao.backend;
 
 import com.xiaoan.domain.backend.ResourceEntity;
 import com.xiaoan.domain.backend.RoleEntity;
-import com.xiaoan.domain.dto.response.ResourceResponse;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigInteger;
 import java.util.List;
@@ -17,7 +15,7 @@ import java.util.Set;
  */
 @Component
 @Mapper
-public interface RoleRepository extends IBaseRepository<RoleEntity, Long> {
+public interface RoleRepository extends IBaseMapper<RoleEntity, Long> {
 
 
     @Select(value = "insert into tb_role_resource (role_id, resource_id) values (#{roleId}, #{resourceId});")
@@ -31,4 +29,7 @@ public interface RoleRepository extends IBaseRepository<RoleEntity, Long> {
 
     @Select(value = "select * from tb_role_resource z left join tb_resource r ON z.resource_id = r.id where z.role_id= #{roleId}")
     List<ResourceEntity> findDetailRoleResourceByRoleId(Long roleId);
+
+    @Select(value = "select z.role_key from tb_user_role ur left join tb_role z on z.id = ur.role_id where ur.user_id = #{userId}")
+    Set<String> findRoleByUserId(Long userId);
 }

+ 1 - 8
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/SceneRepository.java

@@ -1,29 +1,22 @@
 package com.xiaoan.dao.backend;
 
 import com.xiaoan.dao.backend.provider.SceneProvider;
-import com.xiaoan.dao.backend.provider.UserProvider;
 import com.xiaoan.domain.backend.SceneProEntity;
-import com.xiaoan.domain.backend.UserEntity;
 import com.xiaoan.domain.dto.request.SceneProRequest;
-import com.xiaoan.domain.dto.response.LogResponse;
 import com.xiaoan.domain.dto.response.SceneResponse;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.SelectProvider;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Component;
 
-import java.util.Date;
 import java.util.List;
-import java.util.Map;
 
 /**
  * Created by Hb_zzZ on 2020/3/2.
  */
 @Component
 @Mapper
-public interface SceneRepository extends IBaseRepository<SceneProEntity, Long> {
+public interface SceneRepository extends IBaseMapper<SceneProEntity, Long> {
 
 
 

+ 1 - 5
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/UserRepository.java

@@ -6,14 +6,10 @@ import com.xiaoan.domain.dto.response.UserResponse;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.SelectProvider;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigInteger;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 /**
@@ -21,7 +17,7 @@ import java.util.Set;
  */
 @Component
 @Mapper
-public interface UserRepository extends IBaseRepository<UserEntity, Long> {
+public interface UserRepository extends IBaseMapper<UserEntity, Long> {
 
     /**
      * 没有实体类,直接用用原生sql插入数据

+ 0 - 1
xiaoan-domain/src/main/java/com/xiaoan/domain/dto/request/RoleRequest.java

@@ -19,7 +19,6 @@ public class RoleRequest {
     // 描述
     private String roleDesc;
 
-    @NotNull
     private String roleKey;
 
     // 资源id

+ 2 - 7
xiaoan-service/src/main/java/com/xiaoan/service/BaseServiceImpl.java

@@ -3,11 +3,7 @@ package com.xiaoan.service;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.xiaoan.common.model.BaseModel;
-import com.xiaoan.dao.backend.IBaseRepository;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.domain.Sort;
+import com.xiaoan.dao.backend.IBaseMapper;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 import tk.mybatis.mapper.entity.Condition;
@@ -16,7 +12,6 @@ import java.io.Serializable;
 import java.lang.reflect.ParameterizedType;
 import java.util.Date;
 import java.util.List;
-import java.util.Optional;
 
 /**
  * Created by owen on 2020/2/18 0018 11:22
@@ -24,7 +19,7 @@ import java.util.Optional;
 @Transactional
 public abstract class BaseServiceImpl<T extends BaseModel, ID extends Serializable> implements IBaseService<T, ID> {
 
-    public abstract IBaseRepository<T, ID> getBaseMapper();
+    public abstract IBaseMapper<T, ID> getBaseMapper();
 
     private Class<T> entityClass;
 

+ 4 - 0
xiaoan-service/src/main/java/com/xiaoan/service/backend/ResourceService.java

@@ -18,12 +18,16 @@ public interface ResourceService extends IBaseService<ResourceEntity, Long> {
 
     List<ResourceTree> getResourcesTreeByRolePermission(Long roleId) throws Exception;
 
+    List<ResourceTree> getResourcesAllByRolePermission(Long roleId) throws Exception;
+
     List<ResourceTree> getTree() throws Exception;
 
     List<ResourceEntity> getResourcesByUserPermission(UserEntity userEntity);
 
     List<ResourceEntity> findResourceByUserId(Long userId);
 
+    List<ResourceEntity> findResourceByRoleId(Long roleId);
+
     List<ResourceTree> getResourcesAllByUserPermission(UserEntity userEntity);
 
 }

+ 2 - 0
xiaoan-service/src/main/java/com/xiaoan/service/backend/RoleService.java

@@ -21,4 +21,6 @@ public interface RoleService extends IBaseService<RoleEntity, Long> {
     Set<BigInteger> findRoleResourceByRoleId(Long id);
 
     List<ResourceEntity> findDetailRoleResourceByRoleId(Long roleId);
+
+    Set<String> findRoleByUserId(Long id);
 }

+ 2 - 2
xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/CameraDetailServiceImpl.java

@@ -1,7 +1,7 @@
 package com.xiaoan.service.backend.impl;
 
 import com.xiaoan.dao.backend.CameraDetailRepository;
-import com.xiaoan.dao.backend.IBaseRepository;
+import com.xiaoan.dao.backend.IBaseMapper;
 import com.xiaoan.domain.backend.CameraDetailEntity;
 import com.xiaoan.service.BaseServiceImpl;
 import com.xiaoan.service.backend.CameraDetailService;
@@ -21,7 +21,7 @@ public class CameraDetailServiceImpl extends BaseServiceImpl<CameraDetailEntity,
     private CameraDetailRepository entityMapper;
 
     @Override
-    public IBaseRepository<CameraDetailEntity, Long> getBaseMapper() {
+    public IBaseMapper<CameraDetailEntity, Long> getBaseMapper() {
         return this.entityMapper;
     }
 

+ 2 - 2
xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/CameraServiceImpl.java

@@ -3,7 +3,7 @@ package com.xiaoan.service.backend.impl;
 import com.github.pagehelper.PageHelper;
 import com.xiaoan.common.model.PageDto;
 import com.xiaoan.dao.backend.CameraRepository;
-import com.xiaoan.dao.backend.IBaseRepository;
+import com.xiaoan.dao.backend.IBaseMapper;
 import com.xiaoan.domain.backend.CameraEntity;
 import com.xiaoan.domain.dto.response.CameraResponse;
 import com.xiaoan.service.BaseServiceImpl;
@@ -25,7 +25,7 @@ public class CameraServiceImpl extends BaseServiceImpl<CameraEntity, Long> imple
     private CameraRepository entityMapper;
 
     @Override
-    public IBaseRepository<CameraEntity, Long> getBaseMapper() {
+    public IBaseMapper<CameraEntity, Long> getBaseMapper() {
         return this.entityMapper;
     }
 

+ 2 - 6
xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/DepartmentServiceImpl.java

@@ -1,15 +1,11 @@
 package com.xiaoan.service.backend.impl;
 
 import com.xiaoan.dao.backend.DepartmentRepository;
-import com.xiaoan.dao.backend.IBaseRepository;
+import com.xiaoan.dao.backend.IBaseMapper;
 import com.xiaoan.domain.backend.DepartmentEntity;
-import com.xiaoan.domain.dto.request.DepartmentRequest;
 import com.xiaoan.service.BaseServiceImpl;
 import com.xiaoan.service.backend.DepartmentService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -24,7 +20,7 @@ public class DepartmentServiceImpl extends BaseServiceImpl<DepartmentEntity, Lon
     private DepartmentRepository departmentRepository;
 
     @Override
-    public IBaseRepository<DepartmentEntity, Long> getBaseMapper() {
+    public IBaseMapper<DepartmentEntity, Long> getBaseMapper() {
         return this.departmentRepository;
     }
 

+ 2 - 6
xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/IssueServiceImpl.java

@@ -1,15 +1,11 @@
 package com.xiaoan.service.backend.impl;
 
-import com.xiaoan.dao.backend.IBaseRepository;
+import com.xiaoan.dao.backend.IBaseMapper;
 import com.xiaoan.dao.backend.IssueRepository;
-import com.xiaoan.dao.backend.LogRepository;
 import com.xiaoan.domain.backend.IssueEntity;
-import com.xiaoan.domain.backend.LogEntity;
 import com.xiaoan.domain.dto.response.IssueResponse;
-import com.xiaoan.domain.dto.response.LogResponse;
 import com.xiaoan.service.BaseServiceImpl;
 import com.xiaoan.service.backend.IssueService;
-import com.xiaoan.service.backend.LogService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -27,7 +23,7 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueEntity, Long> impleme
     private IssueRepository entityMapper;
 
     @Override
-    public IBaseRepository<IssueEntity, Long> getBaseMapper() {
+    public IBaseMapper<IssueEntity, Long> getBaseMapper() {
         return this.entityMapper;
     }
 

+ 2 - 2
xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/LogServiceImpl.java

@@ -2,7 +2,7 @@ package com.xiaoan.service.backend.impl;
 
 import com.github.pagehelper.PageHelper;
 import com.xiaoan.common.model.PageDto;
-import com.xiaoan.dao.backend.IBaseRepository;
+import com.xiaoan.dao.backend.IBaseMapper;
 import com.xiaoan.dao.backend.LogRepository;
 import com.xiaoan.domain.backend.LogEntity;
 import com.xiaoan.domain.dto.response.LogResponse;
@@ -25,7 +25,7 @@ public class LogServiceImpl extends BaseServiceImpl<LogEntity, Long> implements
     private LogRepository entityMapper;
 
     @Override
-    public IBaseRepository<LogEntity, Long> getBaseMapper() {
+    public IBaseMapper<LogEntity, Long> getBaseMapper() {
         return this.entityMapper;
     }
 

+ 46 - 9
xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/ResourceServiceImpl.java

@@ -1,7 +1,7 @@
 package com.xiaoan.service.backend.impl;
 
-import com.xiaoan.dao.backend.IBaseRepository;
-import com.xiaoan.dao.backend.ResourceRepository;
+import com.xiaoan.dao.backend.IBaseMapper;
+import com.xiaoan.dao.backend.ResourceMapper;
 import com.xiaoan.dao.backend.RoleRepository;
 import com.xiaoan.dao.backend.UserRepository;
 import com.xiaoan.domain.backend.ResourceEntity;
@@ -26,7 +26,7 @@ import java.util.*;
 public class ResourceServiceImpl extends BaseServiceImpl<ResourceEntity, Long> implements ResourceService {
 
     @Autowired
-    private ResourceRepository resourceRepository;
+    private ResourceMapper resourceMapper;
 
     @Autowired
     private UserRepository userRepository;
@@ -37,8 +37,8 @@ public class ResourceServiceImpl extends BaseServiceImpl<ResourceEntity, Long> i
 
 
     @Override
-    public IBaseRepository<ResourceEntity, Long> getBaseMapper() {
-        return this.resourceRepository;
+    public IBaseMapper<ResourceEntity, Long> getBaseMapper() {
+        return this.resourceMapper;
     }
 
     /**
@@ -87,14 +87,14 @@ public class ResourceServiceImpl extends BaseServiceImpl<ResourceEntity, Long> i
 
     @Override
     public List<ResourceTree> getResourcesTreeByRolePermission(Long roleId) throws Exception {
-        List<ResourceEntity> resources = resourceRepository.findRoleResourceByRoleId(roleId);
+        List<ResourceEntity> resources = resourceMapper.findRoleResourceByRoleId(roleId);
         ResourceTreeUtil tree = new ResourceTreeUtil(resources);
         return tree.buildTree();
     }
 
     @Override
     public List<ResourceTree> getTree() throws Exception {
-        List<ResourceEntity> resourceEntities = resourceRepository.selectAll();
+        List<ResourceEntity> resourceEntities = resourceMapper.selectAll();
         ResourceTreeUtil tree = new ResourceTreeUtil(resourceEntities);
         return tree.buildTree();
     }
@@ -158,10 +158,47 @@ public class ResourceServiceImpl extends BaseServiceImpl<ResourceEntity, Long> i
     }
 
 
+    /**
+     * 根据角色id获取权限
+     *
+     * 会把所有权限都会列出来的,通过Authority判断是否有权限
+     */
+    @Override
+    public List<ResourceTree> getResourcesAllByRolePermission(Long roleId) {
+        // 资源Mapper
+        HashMap<Long, ResourceEntity> allResourceMapper = getAllResourceMapper();
+
+        // 设置用户权限
+        List<ResourceEntity> resourcePer = findResourceByRoleId(roleId);
+        for (ResourceEntity i: resourcePer) {
+            Long id = i.getId();
+            ResourceEntity resourceEntity = allResourceMapper.get(id);
+            resourceEntity.setAuthority(true);
+            allResourceMapper.put(id, resourceEntity);
+        }
+
+        // 获取用户菜单
+        List<ResourceEntity> permission = new ArrayList<>();
+
+        for (Map.Entry<Long, ResourceEntity> entry : allResourceMapper.entrySet()) {
+            permission.add(entry.getValue());
+        }
+
+        ResourceTreeUtil tree = new ResourceTreeUtil(permission);
+        return tree.buildTree();
+
+    }
+
+
 
     @Override
     public List<ResourceEntity> findResourceByUserId(Long userId) {
-        return resourceRepository.findResourceByUserId(userId);
+        return resourceMapper.findResourceByUserId(userId);
+    }
+
+    @Override
+    public List<ResourceEntity> findResourceByRoleId(Long roleId) {
+        return resourceMapper.findResourceByRoleId(roleId);
     }
 
 
@@ -171,7 +208,7 @@ public class ResourceServiceImpl extends BaseServiceImpl<ResourceEntity, Long> i
      */
     private HashMap<Long, ResourceEntity> getAllResourceMapper(){
         // 查找所有resources
-        List<ResourceEntity> resourceEntityAll = resourceRepository.selectAll();
+        List<ResourceEntity> resourceEntityAll = resourceMapper.selectAll();
         // 资源Mapper
         HashMap<Long, ResourceEntity> resourceMapper = new HashMap<>();
         for (ResourceEntity i : resourceEntityAll) {

+ 7 - 3
xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/RoleServiceImpl.java

@@ -1,10 +1,9 @@
 package com.xiaoan.service.backend.impl;
 
-import com.xiaoan.dao.backend.IBaseRepository;
+import com.xiaoan.dao.backend.IBaseMapper;
 import com.xiaoan.dao.backend.RoleRepository;
 import com.xiaoan.domain.backend.ResourceEntity;
 import com.xiaoan.domain.backend.RoleEntity;
-import com.xiaoan.domain.dto.response.ResourceResponse;
 import com.xiaoan.service.BaseServiceImpl;
 import com.xiaoan.service.backend.RoleService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,7 +26,7 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleEntity, Long> implement
     private RoleRepository roleRepository;
 
     @Override
-    public IBaseRepository<RoleEntity, Long> getBaseMapper() {
+    public IBaseMapper<RoleEntity, Long> getBaseMapper() {
         return this.roleRepository;
     }
 
@@ -52,5 +51,10 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleEntity, Long> implement
         return roleRepository.findDetailRoleResourceByRoleId(roleId);
     }
 
+    @Override
+    public Set<String> findRoleByUserId(Long userId) {
+        return roleRepository.findRoleByUserId(userId);
+    }
+
 
 }

+ 2 - 2
xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/SceneServiceImpl.java

@@ -1,7 +1,7 @@
 package com.xiaoan.service.backend.impl;
 
 import com.github.pagehelper.PageHelper;
-import com.xiaoan.dao.backend.IBaseRepository;
+import com.xiaoan.dao.backend.IBaseMapper;
 import com.xiaoan.dao.backend.SceneRepository;
 import com.xiaoan.domain.backend.SceneProEntity;
 import com.xiaoan.domain.dto.request.SceneProRequest;
@@ -25,7 +25,7 @@ public class SceneServiceImpl extends BaseServiceImpl<SceneProEntity, Long> impl
     private SceneRepository sceneRepository;
 
     @Override
-    public IBaseRepository<SceneProEntity, Long> getBaseMapper() {
+    public IBaseMapper<SceneProEntity, Long> getBaseMapper() {
         return this.sceneRepository;
     }
 

+ 5 - 8
xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/UserServiceImpl.java

@@ -2,23 +2,18 @@ package com.xiaoan.service.backend.impl;
 
 import com.github.pagehelper.PageHelper;
 import com.xiaoan.common.model.PageDto;
-import com.xiaoan.dao.backend.IBaseRepository;
+import com.xiaoan.dao.backend.IBaseMapper;
 import com.xiaoan.dao.backend.UserRepository;
 import com.xiaoan.domain.backend.UserEntity;
-import com.xiaoan.domain.dto.request.UserRequest;
 import com.xiaoan.domain.dto.response.UserResponse;
 import com.xiaoan.service.BaseServiceImpl;
 import com.xiaoan.service.backend.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigInteger;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 
@@ -27,13 +22,15 @@ import java.util.Set;
  */
 @Service
 @Transactional
-public class UserServiceImpl extends BaseServiceImpl<UserEntity, Long> implements UserService {
+public class
+
+UserServiceImpl extends BaseServiceImpl<UserEntity, Long> implements UserService {
 
     @Autowired
     private UserRepository userRepository;
 
     @Override
-    public IBaseRepository<UserEntity, Long> getBaseMapper() {
+    public IBaseMapper<UserEntity, Long> getBaseMapper() {
         return this.userRepository;
     }
 

+ 0 - 5
xiaoan-web/src/main/java/com/xiaoan/web/aop/WebLogAspect.java

@@ -2,7 +2,6 @@ package com.xiaoan.web.aop;
 
 import com.xiaoan.domain.backend.LogEntity;
 import com.xiaoan.service.backend.LogService;
-import com.xiaoan.web.shiro.JWTUtil;
 import com.xiaoan.web.shiro.JwtUtil2;
 import lombok.extern.slf4j.Slf4j;
 import org.aspectj.lang.JoinPoint;
@@ -11,9 +10,6 @@ import org.aspectj.lang.annotation.Before;
 import org.aspectj.lang.annotation.Pointcut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-import org.springframework.web.context.request.RequestAttributes;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 import java.lang.reflect.Method;
@@ -45,7 +41,6 @@ public class WebLogAspect {
         String token = request.getHeader("Authorization");
         Long userId = null;
         if (token != null) {
-//             userId = JWTUtil.getUserId(token);
              userId = JwtUtil2.getUserId(token);
         }
 

+ 0 - 2
xiaoan-web/src/main/java/com/xiaoan/web/backend/BaseController.java

@@ -2,7 +2,6 @@ package com.xiaoan.web.backend;
 
 import com.xiaoan.domain.backend.LogEntity;
 import com.xiaoan.service.backend.LogService;
-import com.xiaoan.web.shiro.JWTUtil;
 import com.xiaoan.web.shiro.JwtUtil2;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -21,7 +20,6 @@ public class BaseController {
 
     String getTokenUserName(){
         String token = request.getHeader("Authorization");
-//        return JWTUtil.getUsername(token);
         return JwtUtil2.getUsername(token);
     }
 

+ 1 - 1
xiaoan-web/src/main/java/com/xiaoan/web/backend/DepartmentController.java

@@ -30,7 +30,7 @@ import java.util.List;
  *
  * 需要admin权限
  */
-@Api(tags = "DepartmentController", description = "后台部门管理")
+@Api(tags = "后台部门管理", value = "DepartmentController")
 @RestController
 @RequestMapping("api/manage/department")
 @Transactional

+ 1 - 14
xiaoan-web/src/main/java/com/xiaoan/web/backend/IssueController.java

@@ -8,17 +8,12 @@ import com.xiaoan.common.util.ResultJson;
 import com.xiaoan.domain.backend.IssueEntity;
 import com.xiaoan.domain.dto.request.IssueRequest;
 import com.xiaoan.domain.dto.response.IssueResponse;
-import com.xiaoan.domain.dto.response.LogResponse;
 import com.xiaoan.service.backend.IssueService;
-import com.xiaoan.service.backend.LogService;
 import com.xiaoan.web.aop.WebControllerLog;
-import com.xiaoan.web.shiro.JWTUtil;
 import com.xiaoan.web.shiro.JwtUtil2;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.apache.shiro.authz.annotation.RequiresRoles;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -31,7 +26,7 @@ import java.util.List;
 /**
  * Created by owen on 2020/2/18 0018 12:17
  */
-@Api(tags = "IssueController", description = "后台问题反馈")
+@Api(tags = "后台问题反馈", value = "IssueController")
 @RestController
 @RequestMapping("api/manage/issue")
 @Transactional
@@ -53,14 +48,6 @@ public class IssueController extends BaseController {
 
         PageHelper.startPage(param.getPageNum(), param.getPageSize());
         List<IssueResponse> list = issueService.search(param.getSearchKey());
-//        List userRole = JWTUtil.getUserRole(getToken());
-//        if (userRole.contains("admin")) {
-//            list = issueService.search(param.getItemName());
-//        } else {
-//            Long userId = JWTUtil.getUserId(getToken());
-//            list = issueService.search(param.getItemName(), userId);
-//        }
-
 
         PageInfo<IssueResponse> pageInfo = new PageInfo<>(list);
         return new ResultJson(MsgCode.SUCCESS_CODE, pageInfo);

+ 1 - 3
xiaoan-web/src/main/java/com/xiaoan/web/backend/LogController.java

@@ -7,11 +7,9 @@ import com.xiaoan.common.util.ResultJson;
 import com.xiaoan.domain.dto.response.LogResponse;
 import com.xiaoan.service.backend.LogService;
 import com.xiaoan.web.aop.WebControllerLog;
-import com.xiaoan.web.shiro.JWTUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.apache.shiro.authz.annotation.RequiresRoles;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
@@ -26,7 +24,7 @@ import java.util.List;
  * 只有管理员才看日志
  */
 //@RequiresRoles("admin")
-@Api(tags = "LogController", description = "后台操作日志")
+@Api(tags = "后台操作日志", value = "LogController")
 @RestController
 @RequestMapping("api/manage/log")
 @Transactional

+ 3 - 4
xiaoan-web/src/main/java/com/xiaoan/web/backend/PersonalCenterController.java

@@ -13,7 +13,6 @@ import com.xiaoan.domain.dto.response.CameraResponse;
 import com.xiaoan.domain.dto.response.SceneResponse;
 import com.xiaoan.service.backend.*;
 import com.xiaoan.web.aop.WebControllerLog;
-import com.xiaoan.web.shiro.JWTUtil;
 import com.xiaoan.web.shiro.JwtUtil2;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -30,7 +29,7 @@ import java.util.List;
  * Created by Hb_zzZ on 2020/3/2.
  */
 
-@Api(tags = "PersonalCenterController", description = "后台个人中心")
+@Api(tags = "后台个人中心", value = "PersonalCenterController")
 @RestController
 @RequestMapping("api/manage/center")
 @Transactional
@@ -58,7 +57,7 @@ public class PersonalCenterController extends BaseController {
         if (userRole.contains("admin")) {
             list = sceneService.findAllBySearchKey(param, null);
         } else {
-            Long userId = JWTUtil.getUserId(getToken());
+            Long userId = JwtUtil2.getUserId(getToken());
             list = sceneService.findAllBySearchKey(param, userId);
         }
 
@@ -115,7 +114,7 @@ public class PersonalCenterController extends BaseController {
         if (userRole.contains("admin")) {
             list = cameraService.findAllBySearchKey(param, null);
         } else {
-            Long userId = JWTUtil.getUserId(getToken());
+            Long userId = JwtUtil2.getUserId(getToken());
             list = cameraService.findAllBySearchKey(param, userId);
         }
 

+ 1 - 1
xiaoan-web/src/main/java/com/xiaoan/web/backend/ResourceController.java

@@ -25,7 +25,7 @@ import java.util.List;
  *
  * 这一块的数据添加应该给开发者用,而不是给管理人员用
  */
-@Api(tags = "ResourceController", description = "后台资源管理")
+@Api(tags = "后台资源管理", value = "ResourceController")
 @RestController
 @RequestMapping("api/manage/resource")
 @RequiresRoles("admin") //需要admin角色才可以访问此controller

+ 4 - 3
xiaoan-web/src/main/java/com/xiaoan/web/backend/RoleController.java

@@ -39,11 +39,11 @@ import java.util.List;
  * 需要admin权限
  */
 @Log4j2
-@Api(tags = "RoleController", description = "后台角色管理")
+@Api(tags = "后台角色管理", value = "RoleController")
 @RestController
 @RequestMapping("api/manage/role")
 @Transactional
-//@RequiresRoles("admin") //需要admin角色才可以访问此controller
+@RequiresRoles("admin") //需要admin角色才可以访问此controller
 public class RoleController extends BaseController {
 
     @Autowired
@@ -90,7 +90,8 @@ public class RoleController extends BaseController {
 
         HashMap<Object, Object> resultMap = new HashMap<>();
 
-        List<ResourceTree> permission = resourceService.getResourcesTreeByRolePermission(id);
+//        List<ResourceTree> permission = resourceService.getResourcesTreeByRolePermission(id);
+        List<ResourceTree> permission = resourceService.getResourcesAllByRolePermission(id);
 
         resultMap.put("role", roleEntity);
         resultMap.put("permission", permission);

+ 3 - 3
xiaoan-web/src/main/java/com/xiaoan/web/backend/SceneController.java

@@ -7,7 +7,6 @@ import com.xiaoan.domain.dto.request.SceneProRequest;
 import com.xiaoan.domain.dto.response.SceneResponse;
 import com.xiaoan.service.backend.SceneService;
 import com.xiaoan.web.aop.WebControllerLog;
-import com.xiaoan.web.shiro.JWTUtil;
 import com.xiaoan.web.shiro.JwtUtil2;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -22,7 +21,8 @@ import java.util.List;
  * Created by Hb_zzZ on 2020/3/2.
  */
 
-@Api(tags = "SceneController", description = "后台场景管理")
+@Api(tags = "后台场景管理", value = "SceneController")
+
 @RestController
 @RequestMapping("api/manage/scene")
 @Transactional
@@ -48,7 +48,7 @@ public class SceneController extends BaseController {
         if (userRole.contains("admin")) {
             list = sceneService.findAllBySearchKey(param, null);
         } else {
-            Long userId = JWTUtil.getUserId(getToken());
+            Long userId = JwtUtil2.getUserId(getToken());
             list = sceneService.findAllBySearchKey(param, userId);
         }
 

+ 1 - 1
xiaoan-web/src/main/java/com/xiaoan/web/backend/StatisticsController.java

@@ -26,7 +26,7 @@ import java.util.HashMap;
  * 需要admin权限
  */
 @Log4j2
-@Api(tags = "StatisticsController", description = "后台数据统计")
+@Api(tags = "后台数据统计", value = "StatisticsController")
 @RestController
 @RequestMapping("api/manage/statistics")
 @Transactional

+ 28 - 38
xiaoan-web/src/main/java/com/xiaoan/web/backend/UserController.java

@@ -1,10 +1,7 @@
 package com.xiaoan.web.backend;
 
-import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
 import com.github.pagehelper.PageInfo;
 import com.xiaoan.common.constant.MsgCode;
-import com.xiaoan.common.exception.BaseRuntimeException;
 import com.xiaoan.common.model.PageDto;
 import com.xiaoan.common.util.PasswordUtils;
 import com.xiaoan.common.util.RegexpUtils;
@@ -12,23 +9,19 @@ import com.xiaoan.common.util.ResultJson;
 import com.xiaoan.domain.dto.request.UserRequest;
 import com.xiaoan.domain.backend.UserEntity;
 import com.xiaoan.domain.dto.response.UserResponse;
+import com.xiaoan.service.backend.RoleService;
 import com.xiaoan.service.backend.UserService;
 import com.xiaoan.web.aop.WebControllerLog;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import lombok.Data;
 import lombok.extern.log4j.Log4j2;
-import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresRoles;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
-import tk.mybatis.mapper.entity.Condition;
 
-import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.util.*;
 
@@ -37,7 +30,7 @@ import java.util.*;
  * Created by owen on 2020/2/18 0018 12:17
  */
 @Log4j2
-@Api(tags = "UserController", description = "后台用户管理")
+@Api(tags = "后台用户管理", value = "UserController")
 @RestController
 @RequestMapping("api/manage/user")
 @Transactional
@@ -46,6 +39,9 @@ public class UserController extends BaseController {
     @Autowired
     private UserService userService;
 
+    @Autowired
+    private RoleService roleService;
+
     @RequiresRoles(value = {"admin"}, logical = Logical.OR)
     @WebControllerLog(description = "用户管理-查看用户列表/搜索")
     @ApiOperation("分页获取用户列表")
@@ -101,32 +97,6 @@ public class UserController extends BaseController {
             n = userService.update(entity);
         }
 
-
-
-//        UserEntity entity = userService.findById(param.getId());
-//        if (entity == null ){
-//            entity = userService.findByUserName(param.getUserName());
-//            if (entity != null) {
-//                return new ResultJson(MsgCode.ERROR_CODE, "用户名已存在");
-//            }
-//
-//            entity = new UserEntity();
-//            param.setId(null);
-//
-//            BeanUtils.copyProperties(param, entity);
-//            entity.setPassword(PasswordUtils.encrypt(param.getUserName(), "123456", PasswordUtils.getStaticSalt()));
-//
-//            n = userService.save(entity);
-//        } else {
-//            // 每次修改,删除用户角色表信息,重新添加
-//            userService.deleteUserRole(param.getId());
-//
-//            BeanUtils.copyProperties(param, entity);
-//            entity.setUpdateTime(new Date());
-//            n = userService.update(entity);
-//        }
-
-
         if (n >= 0) {
             if (param.getRoleId() != null) {
                 // 一个用户只有一个角色
@@ -141,15 +111,35 @@ public class UserController extends BaseController {
     @ApiOperation("删除用户")
     @GetMapping("delete/{id}")
     public ResultJson delete(@PathVariable Long id){
+
+        // 管理员不能删除自己的账号
+        Set<String> roles = roleService.findRoleByUserId(id);
+
+        if (roles.contains("admin")) {
+            log.error("管理员账户不能删除: {}", id);
+            return new ResultJson(MsgCode.e_ADMIN_4101, MsgCode.msg_ADMIN_4101);
+        }
+
         userService.deleteById(id);
         return new ResultJson(MsgCode.SUCCESS_CODE, MsgCode.msg_SUCCESS);
     }
 
     @RequiresRoles(value = {"admin"}, logical = Logical.OR)
     @ApiOperation("删除多用户")
-    @GetMapping("delete/all/{id}")
-    public ResultJson deleteAll(@PathVariable String id){
-        userService.deleteByIds(id);
+    @GetMapping("delete/all/{ids}")
+    public ResultJson deleteAll(@PathVariable String ids){
+
+        // 管理员账户不能删除
+        String[] split = ids.split(",");
+        for (String s : split) {
+            Set<String> roles = roleService.findRoleByUserId(Long.valueOf(s));
+            if (roles.contains("admin")) {
+                log.info("管理员账户不能删除: {}", s);
+                return new ResultJson(MsgCode.e_ADMIN_4101, MsgCode.msg_ADMIN_4101);
+            }
+        }
+
+        userService.deleteByIds(ids);
         return new ResultJson(MsgCode.SUCCESS_CODE, MsgCode.msg_SUCCESS);
     }
 

+ 0 - 139
xiaoan-web/src/main/java/com/xiaoan/web/shiro/JWTUtil.java

@@ -1,139 +0,0 @@
-package com.xiaoan.web.shiro;
-
-import com.alibaba.fastjson.JSON;
-import com.auth0.jwt.JWT;
-import com.auth0.jwt.JWTVerifier;
-import com.auth0.jwt.algorithms.Algorithm;
-import com.auth0.jwt.exceptions.JWTDecodeException;
-import com.auth0.jwt.interfaces.DecodedJWT;
-import lombok.extern.log4j.Log4j2;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-@Log4j2
-public class JWTUtil {
-
-    // 过期时间24小时 ,测试时10天,上线要改回来
-    private static final long EXPIRE_TIME = 10*24*60*60*1000;
-
-
-    /**
-     * 校验token是否正确
-     * @param token 密钥
-     * @param secret 用户的密码
-     * @return 是否正确
-     */
-    public static boolean verify(String token, String username, String secret) {
-        try {
-            Algorithm algorithm = Algorithm.HMAC256(secret);
-            JWTVerifier verifier = JWT.require(algorithm)
-                    .withClaim("username", username)
-                    .build();
-            DecodedJWT jwt = verifier.verify(token);
-            return true;
-        } catch (Exception e) {
-            e.getMessage();
-            log.error(e.getMessage());
-            return false;
-        }
-    }
-
-    /**
-     * 获得token中的信息无需secret解密也能获得
-     * @return token中包含的用户名
-     */
-    public static String getUsername(String token) {
-        try {
-            DecodedJWT jwt = JWT.decode(token);
-            return jwt.getClaim("username").asString();
-        } catch (JWTDecodeException e) {
-            return null;
-        }
-    }
-
-    /**
-     * 生成签名,5min后过期
-//     * @param username 用户名
-     * @param secret 用户的密码
-     * @return 加密的token
-     */
-//    public static String sign(String username, String secret) {
-//        try {
-//            Date date = new Date(System.currentTimeMillis()+EXPIRE_TIME);
-//            Algorithm algorithm = Algorithm.HMAC256(secret);
-//            // 附带username信息
-//            return JWT.create()
-//                    .withClaim("username", username)
-//                    .withExpiresAt(date)
-//                    .sign(algorithm);
-//        } catch (UnsupportedEncodingException e) {
-//            return null;
-//        }
-//    }
-
-    public static String sign(Map<String, Object> payload, String secret) {
-        try {
-            Date date = new Date(System.currentTimeMillis()+EXPIRE_TIME);
-            Algorithm algorithm = Algorithm.HMAC256(secret);
-
-            // 附带username信息
-            return JWT.create()
-                    .withClaim("payload", JSON.toJSONString(payload))
-                    .withClaim("userName", payload.get("userName").toString())
-                    .withExpiresAt(date)
-                    .sign(algorithm);
-
-        } catch (UnsupportedEncodingException e) {
-            return null;
-        }
-    }
-
-    /**
-     * 获得token中的信息无需secret解密也能获得
-     * @return token中包含的用户名、id
-     */
-    public static Map getTokenUserInfo(String token) {
-        try {
-            DecodedJWT jwt = JWT.decode(token);
-            String payload = jwt.getClaim("payload").asString();
-
-            return (Map) JSON.parse(payload);
-        } catch (JWTDecodeException e) {
-            return null;
-        }
-    }
-
-
-    /**
-     * 获取用户名
-     * @param token
-     * @return
-     */
-    public static String getUserName(String token) {
-        Map info = getTokenUserInfo(token);
-        return (String)info.get("userName");
-    }
-
-    /**
-     * 获取用户角色
-     * @param token
-     * @return
-     */
-    public static List getUserRole(String token) {
-        Map info = getTokenUserInfo(token);
-        return (List)info.get("role");
-    }
-
-    /**
-     * 获取用户id
-     * @param token
-     * @return
-     */
-    public static Long getUserId(String token) {
-        Map info = getTokenUserInfo(token);
-        return  Long.valueOf(info.get("id").toString());
-    }
-}

+ 0 - 1
xiaoan-web/src/main/java/com/xiaoan/web/shiro/MyRealm.java

@@ -61,7 +61,6 @@ public class MyRealm extends AuthorizingRealm {
      */
     @Override
     protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
-//        String username = JWTUtil.getUsername(principals.toString());
         String username = JwtUtil2.getUsername(principals.toString());
 
         UserEntity dbUserEntity = userService.findByUserName(username);