فهرست منبع

Merge branch 'wheng' of wuheng/eas-system into master

wuheng 1 سال پیش
والد
کامیت
87f1d880d5
22فایلهای تغییر یافته به همراه107 افزوده شده و 96 حذف شده
  1. 0 1
      common/src/main/java/com/koobietech/eas/common/pojo/JwtUserDto.java
  2. 1 1
      common/src/main/java/com/koobietech/eas/common/utils/JwtManager.java
  3. 46 2
      common/src/main/java/com/koobietech/eas/common/utils/SecurityUtils.java
  4. 1 2
      controller/src/main/java/com/koobietech/eas/controller/AdminLoginController.java
  5. 0 23
      controller/src/test/java/com/koobietech/eas/controller/ControllerApplicationTests.java
  6. 0 6
      dao/src/main/java/com/koobietech/eas/dao/attendancePojo.java
  7. 1 1
      dao/src/main/java/com/koobietech/eas/dao/constant/UserType.java
  8. 1 1
      dao/src/main/java/com/koobietech/eas/dao/login/pojo/Department.java
  9. 1 1
      dao/src/main/java/com/koobietech/eas/dao/login/pojo/Permission.java
  10. 6 2
      dao/src/main/java/com/koobietech/eas/dao/login/pojo/UserDetail.java
  11. 6 3
      dao/src/main/java/com/koobietech/eas/dao/mapper/AdminLoginMapper.java
  12. 1 1
      dao/src/main/java/com/koobietech/eas/dao/pojo/AdminPojo.java
  13. 1 4
      dao/src/main/java/com/koobietech/eas/dao/pojo/EasArcTlsAttendancePojo.java
  14. 1 1
      dao/src/main/java/com/koobietech/eas/dao/pojo/EasArcTlsScoresPojo.java
  15. 6 6
      dao/src/main/resources/com/koobietech/eas/dao/mapper/AdminLoginMapper.xml
  16. 2 2
      security/src/main/java/com/koobietech/eas/security/filter/EasSecurityFilter.java
  17. 2 2
      service/src/main/java/com/koobietech/eas/service/AdminLoginService.java
  18. 1 1
      service/src/main/java/com/koobietech/eas/service/LoginRedisService.java
  19. 26 27
      service/src/main/java/com/koobietech/eas/service/impl/AdminLoginServiceImpl.java
  20. 2 2
      service/src/main/java/com/koobietech/eas/service/impl/EasArcTlsAttendanceServiceImpl.java
  21. 1 4
      service/src/main/java/com/koobietech/eas/service/impl/EasArcTlsScoresServiceImpl.java
  22. 1 3
      service/src/main/java/com/koobietech/eas/service/impl/LoginRedisServiceImpl.java

+ 0 - 1
common/src/main/java/com/koobietech/eas/common/pojo/JwtUserDto.java

@@ -1,6 +1,5 @@
 package com.koobietech.eas.common.pojo;
 
-import com.koobietech.eas.common.constant.UserType;
 import lombok.Data;
 
 @Data

+ 1 - 1
common/src/main/java/com/koobietech/eas/common/utils/JwtManager.java

@@ -5,7 +5,7 @@ import com.auth0.jwt.algorithms.Algorithm;
 import com.auth0.jwt.exceptions.JWTVerificationException;
 import com.auth0.jwt.interfaces.DecodedJWT;
 import com.auth0.jwt.interfaces.JWTVerifier;
-import com.koobietech.eas.common.constant.UserType;
+import com.koobietech.eas.dao.constant.UserType;
 import com.koobietech.eas.common.exception.EasException;
 import com.koobietech.eas.common.pojo.JwtUserDto;
 import org.springframework.beans.factory.annotation.Value;

+ 46 - 2
common/src/main/java/com/koobietech/eas/common/utils/SecurityUtils.java

@@ -1,6 +1,7 @@
 package com.koobietech.eas.common.utils;
 
-import com.koobietech.eas.dao.adminLoginPojo.UserDetail;
+import com.koobietech.eas.dao.constant.UserType;
+import com.koobietech.eas.dao.login.pojo.UserDetail;
 import org.springframework.security.core.context.SecurityContextHolder;
 
 import java.util.Objects;
@@ -10,6 +11,10 @@ import java.util.Objects;
  */
 public class SecurityUtils {
 
+    /**
+     * 取登录名
+     * @return
+     */
     public static String getLoginUserName() {
         UserDetail principal = getPrincipal();
         if (Objects.nonNull(principal)) {
@@ -18,14 +23,53 @@ public class SecurityUtils {
         return "anonymousUser";
     }
 
+    /**
+     * 取用户ID
+     * @return
+     */
     public static Long getLoginUid() {
         UserDetail principal = getPrincipal();
         if (Objects.nonNull(principal)) {
-            return principal.getId();
+            if ( !isStudentUser() ) {
+                return principal.getId();
+            }
+        }
+        return 0L;
+    }
+
+    /**
+     * 判断是否是学员
+     * @return
+     */
+    public static boolean isStudentUser() {
+        boolean isStudent = false;
+        UserDetail principal = getPrincipal();
+        if (Objects.nonNull(principal)) {
+            if ( principal.getUserType().equals(UserType.MEMBER) ) {
+                isStudent = true;
+            }
+        }
+        return isStudent;
+    }
+
+    /**
+     * 取学员登录ID
+     * @return
+     */
+    public static Long getLoginSid() {
+        UserDetail principal = getPrincipal();
+        if (Objects.nonNull(principal)) {
+            if ( isStudentUser() ) {
+                return principal.getId();
+            }
         }
         return 0L;
     }
 
+    /**
+     * 是否登录
+     * @return
+     */
     public static boolean isLogged() {
         UserDetail principal = getPrincipal();
         return Objects.nonNull(principal);

+ 1 - 2
controller/src/main/java/com/koobietech/eas/controller/AdminLoginController.java

@@ -1,13 +1,12 @@
 package com.koobietech.eas.controller;
 
 
-import com.anji.captcha.model.common.RepCodeEnum;
 import com.anji.captcha.model.common.ResponseModel;
 import com.anji.captcha.model.vo.CaptchaVO;
 import com.anji.captcha.service.CaptchaService;
 import com.koobietech.eas.common.exception.EasException;
 import com.koobietech.eas.common.result.JsonResult;
-import com.koobietech.eas.dao.Pojo.AdminPojo;
+import com.koobietech.eas.dao.pojo.AdminPojo;
 import com.koobietech.eas.dao.dto.LoginToken;
 import com.koobietech.eas.service.AdminLoginService;
 import io.swagger.v3.oas.annotations.Operation;

+ 0 - 23
controller/src/test/java/com/koobietech/eas/controller/ControllerApplicationTests.java

@@ -1,32 +1,9 @@
 package com.koobietech.eas.controller;
 
-import cn.afterturn.easypoi.excel.ExcelExportUtil;
-import cn.afterturn.easypoi.excel.ExcelImportUtil;
-import cn.afterturn.easypoi.excel.entity.ExportParams;
-import cn.afterturn.easypoi.excel.entity.ImportParams;
-import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
-import cn.afterturn.easypoi.handler.inter.IReadHandler;
-import cn.afterturn.easypoi.handler.inter.IWriter;
-import com.koobietech.eas.common.constant.UserType;
-import com.koobietech.eas.common.pojo.JwtUserDto;
-import com.koobietech.eas.common.service.RedisService;
-import com.koobietech.eas.common.utils.JwtManager;
-import com.koobietech.eas.common.utils.PasswordManager;
-import com.koobietech.eas.common.utils.StudentArchiveGenerator;
-import com.koobietech.eas.mbg.model.EasArcTlsScores;
-import com.koobietech.eas.mbg.model.EasSysLogs;
-import org.apache.poi.ss.usermodel.Workbook;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.test.context.SpringBootTest;
 
-import javax.annotation.Resource;
-import java.io.*;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-
 
 @SpringBootTest
 class ControllerApplicationTests {

+ 0 - 6
dao/src/main/java/com/koobietech/eas/dao/attendancePojo.java

@@ -1,6 +0,0 @@
-package com.koobietech.eas.dao;
-
-public class attendancePojo {
-    private String student_name;
-
-}

+ 1 - 1
common/src/main/java/com/koobietech/eas/common/constant/UserType.java → dao/src/main/java/com/koobietech/eas/dao/constant/UserType.java

@@ -1,4 +1,4 @@
-package com.koobietech.eas.common.constant;
+package com.koobietech.eas.dao.constant;
 
 public enum UserType {
     TEACHER, MEMBER, ADMIN

+ 1 - 1
dao/src/main/java/com/koobietech/eas/dao/adminLoginPojo/Department.java → dao/src/main/java/com/koobietech/eas/dao/login/pojo/Department.java

@@ -1,4 +1,4 @@
-package com.koobietech.eas.dao.adminLoginPojo;
+package com.koobietech.eas.dao.login.pojo;
 
 import lombok.Data;
 import java.util.Date;

+ 1 - 1
dao/src/main/java/com/koobietech/eas/dao/adminLoginPojo/Permission.java → dao/src/main/java/com/koobietech/eas/dao/login/pojo/Permission.java

@@ -1,4 +1,4 @@
-package com.koobietech.eas.dao.adminLoginPojo;
+package com.koobietech.eas.dao.login.pojo;
 
 import lombok.Data;
 import java.util.Date;

+ 6 - 2
dao/src/main/java/com/koobietech/eas/dao/adminLoginPojo/UserDetail.java → dao/src/main/java/com/koobietech/eas/dao/login/pojo/UserDetail.java

@@ -1,15 +1,19 @@
-package com.koobietech.eas.dao.adminLoginPojo;
+package com.koobietech.eas.dao.login.pojo;
 
+import com.koobietech.eas.dao.constant.UserType;
 import lombok.Data;
 
 import java.util.List;
-
+/**
+ * @author lc
+ */
 @Data
 public class UserDetail {
     private Long id;
     private String username;
     private String phone;
     private String email;
+    private UserType userType;
     private List<Permission> permissions;
     private List<Department> departments;
 

+ 6 - 3
dao/src/main/java/com/koobietech/eas/dao/mapper/AdminLoginMapper.java

@@ -1,11 +1,14 @@
 package com.koobietech.eas.dao.mapper;
 
-import com.koobietech.eas.dao.adminLoginPojo.Department;
-import com.koobietech.eas.dao.adminLoginPojo.Permission;
-import com.koobietech.eas.dao.adminLoginPojo.UserDetail;
+import com.koobietech.eas.dao.login.pojo.Department;
+import com.koobietech.eas.dao.login.pojo.Permission;
+import com.koobietech.eas.dao.login.pojo.UserDetail;
 
 import java.util.List;
 
+/**
+ * @author lc
+ */
 public interface AdminLoginMapper {
     List<Permission> getUserPermissionsById(Long adminId);
 

+ 1 - 1
dao/src/main/java/com/koobietech/eas/dao/Pojo/AdminPojo.java → dao/src/main/java/com/koobietech/eas/dao/pojo/AdminPojo.java

@@ -1,4 +1,4 @@
-package com.koobietech.eas.dao.Pojo;
+package com.koobietech.eas.dao.pojo;
 
 import lombok.Data;
 

+ 1 - 4
dao/src/main/java/com/koobietech/eas/dao/Pojo/EasArcTlsAttendancePojo.java → dao/src/main/java/com/koobietech/eas/dao/pojo/EasArcTlsAttendancePojo.java

@@ -1,12 +1,9 @@
-package com.koobietech.eas.dao.Pojo;
+package com.koobietech.eas.dao.pojo;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.io.Serializable;
-import java.math.BigDecimal;
 import java.util.Date;
 
 /**

+ 1 - 1
dao/src/main/java/com/koobietech/eas/dao/Pojo/EasArcTlsScoresPojo.java → dao/src/main/java/com/koobietech/eas/dao/pojo/EasArcTlsScoresPojo.java

@@ -1,4 +1,4 @@
-package com.koobietech.eas.dao.Pojo;
+package com.koobietech.eas.dao.pojo;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
 import lombok.Data;

+ 6 - 6
dao/src/main/resources/com/koobietech/eas/dao/mapper/AdminLoginMapper.xml

@@ -1,7 +1,7 @@
 <?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.koobietech.eas.dao.mapper.AdminLoginMapper">
-    <resultMap id="permissionResultMap" type="com.koobietech.eas.dao.adminLoginPojo.Permission">
+    <resultMap id="permissionResultMap" type="com.koobietech.eas.dao.login.pojo.Permission">
         <!-- 映射查询结果到实体类属性 -->
         <id column="id" property="id"/>
         <result column="name" property="name"/>
@@ -12,7 +12,7 @@
         <result column="description" property="description"/>
     </resultMap>
 
-    <resultMap id="departmentResultMap" type="com.koobietech.eas.dao.adminLoginPojo.Department">
+    <resultMap id="departmentResultMap" type="com.koobietech.eas.dao.login.pojo.Department">
         <!-- 映射查询结果到实体类属性 -->
         <id column="id" property="id"/>
         <result column="depname" property="depname"/>
@@ -25,7 +25,7 @@
         <result column="create_uid" property="createUid"/>
     </resultMap>
 
-    <resultMap id="userDetailResultMap" type="com.koobietech.eas.dao.adminLoginPojo.UserDetail">
+    <resultMap id="userDetailResultMap" type="com.koobietech.eas.dao.login.pojo.UserDetail">
         <!-- 映射查询结果到实体类属性 -->
         <result column="id" property="id"/>
         <result column="username" property="username"/>
@@ -36,18 +36,18 @@
 
 
 
-<!--    <resultMap id="userDetailResultMap" type="com.koobietech.eas.dao.adminLoginPojo.UserDetail">-->
+<!--    <resultMap id="userDetailResultMap" type="UserDetail">-->
 <!--        &lt;!&ndash; 映射查询结果到实体类属性 &ndash;&gt;-->
 <!--        <result column="id" property="id" />-->
 <!--        <result column="username" property="username" />-->
 <!--        <result column="phone" property="phone" />-->
 <!--        <result column="email" property="email" />-->
-<!--        <collection property="departments" ofType="com.koobietech.eas.dao.adminLoginPojo.Department">-->
+<!--        <collection property="departments" ofType="Department">-->
 <!--            <id column="dep_id" property="id" />-->
 <!--            <result column="depname" property="depname" />-->
 <!--            &lt;!&ndash; 其他部门属性的映射 &ndash;&gt;-->
 <!--        </collection>-->
-<!--        <collection property="permissions" ofType="com.koobietech.eas.dao.adminLoginPojo.Permission">-->
+<!--        <collection property="permissions" ofType="Permission">-->
 <!--            <id column="per_id" property="id" />-->
 <!--            <result column="name" property="name" />-->
 <!--            &lt;!&ndash; 其他权限属性的映射 &ndash;&gt;-->

+ 2 - 2
security/src/main/java/com/koobietech/eas/security/filter/EasSecurityFilter.java

@@ -3,8 +3,8 @@ package com.koobietech.eas.security.filter;
 import com.koobietech.eas.common.exception.EasException;
 import com.koobietech.eas.common.pojo.JwtUserDto;
 import com.koobietech.eas.common.utils.JwtManager;
-import com.koobietech.eas.dao.adminLoginPojo.Permission;
-import com.koobietech.eas.dao.adminLoginPojo.UserDetail;
+import com.koobietech.eas.dao.login.pojo.Permission;
+import com.koobietech.eas.dao.login.pojo.UserDetail;
 import com.koobietech.eas.service.LoginRedisService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

+ 2 - 2
service/src/main/java/com/koobietech/eas/service/AdminLoginService.java

@@ -2,8 +2,8 @@ package com.koobietech.eas.service;
 
 import com.anji.captcha.model.common.ResponseModel;
 import com.koobietech.eas.common.result.JsonResult;
-import com.koobietech.eas.dao.Pojo.AdminPojo;
-import com.koobietech.eas.dao.adminLoginPojo.UserDetail;
+import com.koobietech.eas.dao.pojo.AdminPojo;
+import com.koobietech.eas.dao.login.pojo.UserDetail;
 import com.koobietech.eas.dao.dto.LoginToken;
 
 public interface AdminLoginService {

+ 1 - 1
service/src/main/java/com/koobietech/eas/service/LoginRedisService.java

@@ -1,7 +1,7 @@
 package com.koobietech.eas.service;
 
 import com.koobietech.eas.common.pojo.JwtUserDto;
-import com.koobietech.eas.dao.adminLoginPojo.UserDetail;
+import com.koobietech.eas.dao.login.pojo.UserDetail;
 
 
 public interface LoginRedisService {

+ 26 - 27
service/src/main/java/com/koobietech/eas/service/impl/AdminLoginServiceImpl.java

@@ -1,14 +1,14 @@
 package com.koobietech.eas.service.impl;
 
 import com.anji.captcha.model.common.ResponseModel;
-import com.koobietech.eas.common.constant.UserType;
+import com.koobietech.eas.dao.constant.UserType;
 import com.koobietech.eas.common.exception.EasException;
 import com.koobietech.eas.common.pojo.JwtUserDto;
 import com.koobietech.eas.common.result.JsonResult;
 import com.koobietech.eas.common.utils.JwtManager;
 import com.koobietech.eas.common.utils.PasswordManager;
-import com.koobietech.eas.dao.Pojo.AdminPojo;
-import com.koobietech.eas.dao.adminLoginPojo.UserDetail;
+import com.koobietech.eas.dao.pojo.AdminPojo;
+import com.koobietech.eas.dao.login.pojo.UserDetail;
 import com.koobietech.eas.dao.dto.LoginToken;
 import com.koobietech.eas.dao.mapper.AdminLoginMapper;
 import com.koobietech.eas.mbg.mapper.EasSysUserinfoMapper;
@@ -21,7 +21,6 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.List;
-import java.util.Objects;
 import java.util.Optional;
 
 @Service
@@ -63,29 +62,29 @@ public class AdminLoginServiceImpl implements AdminLoginService {
         userDetailInRedis.setPermissions(adminLoginMapper.getUserPermissionsById(id));
         System.out.println("接收后" + userDetailInRedis);
 
-            // 先调用自定义sql查询用户详细信息、部门信息 和 权限信息
-            UserType userType = UserType.TEACHER;
-            if (userDetailInRedis.getUsername().equals("admin")) {
-                userType = UserType.ADMIN;
-            }
-
-            // 生成token
-            JwtUserDto jwtUserDto = new JwtUserDto(userDetailInRedis.getUsername(), userDetailInRedis.getId(), userType);
-            String token = jwtManager.createJwt(jwtUserDto, token_expires);
-            String refreshToken = jwtManager.createJwt(jwtUserDto, refreshToken_expires);
-            System.out.println("token:" + token);
-            System.out.println("refreshToken:" + refreshToken);
-
-            // 生成redis key
-            String redisTokenKey = loginRedisService.createJwtTokenKey(jwtUserDto);
-            String redisRefreshTokenKey = loginRedisService.createJwtRefreshTokenKey(jwtUserDto);
-
-            // 将token存入redis
-            loginRedisService.loginSaveCache(redisTokenKey, userDetailInRedis, token_expires);
-            loginRedisService.loginSaveCache(redisRefreshTokenKey, userDetailInRedis, refreshToken_expires);
-
-            // 登录成功
-            return new LoginToken(token, refreshToken);
+        // 先调用自定义sql查询用户详细信息、部门信息 和 权限信息
+        UserType userType = UserType.TEACHER;
+        if (userDetailInRedis.getUsername().equals("admin")) {
+            userType = UserType.ADMIN;
+        }
+        userDetailInRedis.setUserType(userType);
+        // 生成token
+        JwtUserDto jwtUserDto = new JwtUserDto(userDetailInRedis.getUsername(), userDetailInRedis.getId(), userType);
+        String token = jwtManager.createJwt(jwtUserDto, token_expires);
+        String refreshToken = jwtManager.createJwt(jwtUserDto, refreshToken_expires);
+        System.out.println("token:" + token);
+        System.out.println("refreshToken:" + refreshToken);
+
+        // 生成redis key
+        String redisTokenKey = loginRedisService.createJwtTokenKey(jwtUserDto);
+        String redisRefreshTokenKey = loginRedisService.createJwtRefreshTokenKey(jwtUserDto);
+
+        // 将token存入redis
+        loginRedisService.loginSaveCache(redisTokenKey, userDetailInRedis, token_expires);
+        loginRedisService.loginSaveCache(redisRefreshTokenKey, userDetailInRedis, refreshToken_expires);
+
+        // 登录成功
+        return new LoginToken(token, refreshToken);
     }
 
     @Override

+ 2 - 2
service/src/main/java/com/koobietech/eas/service/impl/EasArcTlsAttendanceServiceImpl.java

@@ -7,8 +7,8 @@ import com.koobietech.eas.common.constant.FileType;
 import com.koobietech.eas.common.exception.EasException;
 import com.koobietech.eas.common.result.PageData;
 import com.koobietech.eas.common.utils.SecurityUtils;
-import com.koobietech.eas.dao.Pojo.EasArcTlsAttendancePojo;
-import com.koobietech.eas.dao.Pojo.EasArcTlsScoresPojo;
+import com.koobietech.eas.dao.pojo.EasArcTlsAttendancePojo;
+import com.koobietech.eas.dao.pojo.EasArcTlsScoresPojo;
 import com.koobietech.eas.dao.dto.ArchivesDto;
 import com.koobietech.eas.mbg.mapper.*;
 import com.koobietech.eas.mbg.model.*;

+ 1 - 4
service/src/main/java/com/koobietech/eas/service/impl/EasArcTlsScoresServiceImpl.java

@@ -4,15 +4,12 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
 import cn.afterturn.easypoi.excel.ExcelImportUtil;
 import cn.afterturn.easypoi.excel.entity.ExportParams;
 import cn.afterturn.easypoi.excel.entity.ImportParams;
-import cn.afterturn.easypoi.handler.inter.IExcelExportServer;
 import cn.hutool.core.bean.BeanUtil;
 import com.koobietech.eas.common.constant.FileType;
 import com.koobietech.eas.common.exception.EasException;
 import com.koobietech.eas.common.result.PageData;
-import com.koobietech.eas.common.utils.FileManager;
 import com.koobietech.eas.common.utils.SecurityUtils;
-import com.koobietech.eas.common.utils.StudentArchiveGenerator;
-import com.koobietech.eas.dao.Pojo.EasArcTlsScoresPojo;
+import com.koobietech.eas.dao.pojo.EasArcTlsScoresPojo;
 import com.koobietech.eas.dao.dto.ArchivesDto;
 import com.koobietech.eas.mbg.mapper.EasArcArchivesMapper;
 import com.koobietech.eas.mbg.mapper.EasArcTlsScoresMapper;

+ 1 - 3
service/src/main/java/com/koobietech/eas/service/impl/LoginRedisServiceImpl.java

@@ -3,10 +3,8 @@ package com.koobietech.eas.service.impl;
 import com.koobietech.eas.common.exception.EasException;
 import com.koobietech.eas.common.pojo.JwtUserDto;
 import com.koobietech.eas.common.service.RedisService;
-import com.koobietech.eas.dao.adminLoginPojo.UserDetail;
+import com.koobietech.eas.dao.login.pojo.UserDetail;
 import com.koobietech.eas.service.LoginRedisService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;