Parcourir la source

Merge branch 'master' into cuidi

cuidi il y a 1 an
Parent
commit
817ec46393
55 fichiers modifiés avec 171 ajouts et 85 suppressions
  1. 8 0
      common/src/main/java/com/koobietech/eas/common/exception/EasException.java
  2. 50 4
      common/src/main/java/com/koobietech/eas/common/result/JsonResult.java
  3. 4 0
      controller/pom.xml
  4. 18 1
      controller/src/main/java/com/koobietech/eas/config/ExceptionAdvice.java
  5. 33 2
      controller/src/main/java/com/koobietech/eas/controller/AdminLoginController.java
  6. 0 29
      controller/src/main/java/com/koobietech/eas/controller/EasUserController.java
  7. 3 3
      controller/src/main/resources/application-local.yaml
  8. 17 0
      controller/src/main/resources/application.yaml
  9. BIN
      controller/src/main/resources/images/jigsaw/bg1.png
  10. BIN
      controller/src/main/resources/images/jigsaw/bg10.png
  11. BIN
      controller/src/main/resources/images/jigsaw/bg11.png
  12. BIN
      controller/src/main/resources/images/jigsaw/bg12.png
  13. BIN
      controller/src/main/resources/images/jigsaw/bg13.png
  14. BIN
      controller/src/main/resources/images/jigsaw/bg14.png
  15. BIN
      controller/src/main/resources/images/jigsaw/bg15.png
  16. BIN
      controller/src/main/resources/images/jigsaw/bg16.png
  17. BIN
      controller/src/main/resources/images/jigsaw/bg17.png
  18. BIN
      controller/src/main/resources/images/jigsaw/bg18.png
  19. BIN
      controller/src/main/resources/images/jigsaw/bg19.png
  20. BIN
      controller/src/main/resources/images/jigsaw/bg2.png
  21. BIN
      controller/src/main/resources/images/jigsaw/bg20.png
  22. BIN
      controller/src/main/resources/images/jigsaw/bg3.png
  23. BIN
      controller/src/main/resources/images/jigsaw/bg4.png
  24. BIN
      controller/src/main/resources/images/jigsaw/bg5.png
  25. BIN
      controller/src/main/resources/images/jigsaw/bg6.png
  26. BIN
      controller/src/main/resources/images/jigsaw/bg7.png
  27. BIN
      controller/src/main/resources/images/jigsaw/bg8.png
  28. BIN
      controller/src/main/resources/images/jigsaw/bg9.png
  29. BIN
      controller/src/main/resources/images/pic-click/bg1.png
  30. BIN
      controller/src/main/resources/images/pic-click/bg10.png
  31. BIN
      controller/src/main/resources/images/pic-click/bg11.png
  32. BIN
      controller/src/main/resources/images/pic-click/bg12.png
  33. BIN
      controller/src/main/resources/images/pic-click/bg13.png
  34. BIN
      controller/src/main/resources/images/pic-click/bg14.png
  35. BIN
      controller/src/main/resources/images/pic-click/bg15.png
  36. BIN
      controller/src/main/resources/images/pic-click/bg16.png
  37. BIN
      controller/src/main/resources/images/pic-click/bg17.png
  38. BIN
      controller/src/main/resources/images/pic-click/bg18.png
  39. BIN
      controller/src/main/resources/images/pic-click/bg19.png
  40. BIN
      controller/src/main/resources/images/pic-click/bg2.png
  41. BIN
      controller/src/main/resources/images/pic-click/bg20.png
  42. BIN
      controller/src/main/resources/images/pic-click/bg3.png
  43. BIN
      controller/src/main/resources/images/pic-click/bg4.png
  44. BIN
      controller/src/main/resources/images/pic-click/bg5.png
  45. BIN
      controller/src/main/resources/images/pic-click/bg6.png
  46. BIN
      controller/src/main/resources/images/pic-click/bg7.png
  47. BIN
      controller/src/main/resources/images/pic-click/bg8.png
  48. BIN
      controller/src/main/resources/images/pic-click/bg9.png
  49. 6 0
      pom.xml
  50. 2 0
      security/src/main/java/com/koobietech/eas/security/filter/EasSecurityFilter.java
  51. 6 0
      service/pom.xml
  52. 4 0
      service/src/main/java/com/koobietech/eas/service/AdminLoginService.java
  53. 0 11
      service/src/main/java/com/koobietech/eas/service/DemoService.java
  54. 20 0
      service/src/main/java/com/koobietech/eas/service/impl/AdminLoginServiceImpl.java
  55. 0 35
      service/src/main/java/com/koobietech/eas/service/impl/DemoServiceImpl.java

+ 8 - 0
common/src/main/java/com/koobietech/eas/common/exception/EasException.java

@@ -25,4 +25,12 @@ public class EasException extends RuntimeException{
         this.msg = msg;
         this.code = code;
     }
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
 }

+ 50 - 4
common/src/main/java/com/koobietech/eas/common/result/JsonResult.java

@@ -7,6 +7,8 @@ public class JsonResult implements Serializable {
     private String msg = "";
     private Object data = null;
 
+    private Integer code = 200;
+
     /**
      * 成功
      * @return
@@ -18,6 +20,18 @@ public class JsonResult implements Serializable {
         return result;
     }
 
+    /**
+     * 成功
+     * @return
+     */
+    public static JsonResult data(Object data , String message, Integer code ){
+        JsonResult result = JsonResult.ok();
+        result.setData(data);
+        result.setMsg(message);
+        result.setCode(code);
+        return result;
+    }
+
     /**
      * 成功
      * @return
@@ -65,10 +79,11 @@ public class JsonResult implements Serializable {
      * 失败
      * @return
      */
-    public static JsonResult fail( Object data ){
+    public static JsonResult fail( int code){
         JsonResult result = new JsonResult();
         result.setStatus(false);
-        result.setData(data);
+        result.setCode(code);
+        result.setMsg("操作失败");
         return result;
     }
 
@@ -76,10 +91,9 @@ public class JsonResult implements Serializable {
      * 失败
      * @return
      */
-    public static JsonResult fail( Object data, String msg ){
+    public static JsonResult fail( Object data ){
         JsonResult result = new JsonResult();
         result.setStatus(false);
-        result.setMsg(msg);
         result.setData(data);
         return result;
     }
@@ -95,7 +109,39 @@ public class JsonResult implements Serializable {
         return result;
     }
 
+    /**
+     * 失败
+     * @return
+     */
+    public static JsonResult fail( String message, int code ){
+        JsonResult result = new JsonResult();
+        result.setStatus(false);
+        result.setCode(code);
+        result.setMsg(message);
+        return result;
+    }
 
+    /**
+     * 失败
+     * @return
+     */
+    public static JsonResult fail( Object data, String msg ){
+        JsonResult result = new JsonResult();
+        result.setStatus(false);
+        result.setMsg(msg);
+        result.setData(data);
+        return result;
+    }
+
+
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
     public boolean getStatus() {
         return status;
     }

+ 4 - 0
controller/pom.xml

@@ -14,6 +14,10 @@
     </parent>
 
     <dependencies>
+        <dependency>
+            <groupId>com.anji-plus</groupId>
+            <artifactId>spring-boot-starter-captcha</artifactId>
+        </dependency>
         <dependency>
             <groupId>cn.afterturn</groupId>
             <artifactId>easypoi-spring-boot-starter</artifactId>

+ 18 - 1
controller/src/main/java/com/koobietech/eas/config/ExceptionAdvice.java

@@ -1,5 +1,6 @@
 package com.koobietech.eas.config;
 
+import com.koobietech.eas.common.exception.EasException;
 import com.koobietech.eas.common.result.JsonResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -28,6 +29,22 @@ public class ExceptionAdvice {
             logger.error(element.toString());
         }
         logger.error("-------------");
-        return JsonResult.fail(e.getMessage());
+        return JsonResult.fail(e.getMessage(), 500);
+    }
+
+    @ResponseBody
+    @ResponseStatus(HttpStatus.OK)
+    @ExceptionHandler(EasException.class)
+    public JsonResult exceptionHandler(EasException e){
+        StackTraceElement[] stackTrace = e.getStackTrace();
+        e.printStackTrace();
+        logger.error("运行异常提醒:");
+        logger.error(e.getMessage());
+        logger.error("异常堆栈信息:");
+        for (StackTraceElement element : stackTrace) {
+            logger.error(element.toString());
+        }
+        logger.error("-------------");
+        return JsonResult.fail(e.getMessage(), e.getCode());
     }
 }

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

@@ -1,7 +1,11 @@
 package com.koobietech.eas.controller;
 
 
-import com.koobietech.eas.common.pojo.JwtUserDto;
+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.dto.LoginToken;
@@ -18,6 +22,10 @@ public class AdminLoginController {
     @Resource
     private AdminLoginService adminLoginService;
 
+    @Resource
+    private CaptchaService captchaService;
+
+
 
     @PostMapping("/adminLogin")
     @Operation(summary = "管理员登录",  description = "用户名和密码为请求载荷,若登录成功,返回两token")
@@ -29,11 +37,34 @@ public class AdminLoginController {
     }
 
     @PostMapping("/refreshToken")
-    @Operation(summary = "刷新token",  description = "当token过期,在请求头中携带refresh token,若刷新成功,返回新的token和refresh token")
+    @Operation(summary = "刷新token", description = "当token过期,在请求头中携带refresh token,若刷新成功,返回新的token和refresh token")
     public JsonResult refreshToken(@RequestHeader("Authorization") String refreshToken) {
         // 返回新的token和refresh token
         return JsonResult.data(adminLoginService.refreshToken(refreshToken));
     }
 
+    @PostMapping("/verify.get")
+    @Operation(summary = "获取验证码", description = "前端发起获取验证码请求,后端访问静态资源返回滑动图片")
+    public JsonResult get(@RequestBody CaptchaVO captchaVO) {
+        return  adminLoginService.verifyToJsonResult(captchaService.get(captchaVO)) ;
+    }
+
+    @PostMapping("/verify.check")
+    @Operation(summary = "核对验证码轨迹", description = "前端把用户的滑动轨迹转化成字符串传入后端,通过算法判断轨迹是否为真人")
+    public JsonResult check(@RequestBody CaptchaVO captchaVO) {
+        return adminLoginService.verifyToJsonResult(captchaService.check(captchaVO));
+    }
+
+    @PostMapping("/verify.judge")
+    @Operation(summary = "二次校验验证码", description = "校验滑动验证码结果,是否匹配上,传参:captchaVerification")
+    public JsonResult verify(@RequestBody CaptchaVO captchaVO) {
+        ResponseModel response = captchaService.verification(captchaVO);
+        if (!response.isSuccess()) {
+            throw new EasException( response.getRepMsg() , Integer.parseInt(response.getRepCode()));
+        }
+        return adminLoginService.verifyToJsonResult(response);
+    }
+
+
 
 }

+ 0 - 29
controller/src/main/java/com/koobietech/eas/controller/EasUserController.java

@@ -1,29 +0,0 @@
-package com.koobietech.eas.controller;
-
-import com.koobietech.eas.dao.dto.TestDto;
-import com.koobietech.eas.mbg.model.EasEduSubjects;
-import com.koobietech.eas.mbg.model.EasSysStudent;
-import com.koobietech.eas.service.DemoService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-@RestController
-@Tag(name = "用户控制器")
-public class EasUserController {
-
-    @Resource
-    DemoService demoService;
-
-    @PostMapping("/test")
-    @Operation(summary = "控制器测试用例" , description = "用于演示Swagger配置注解")
-    public List<EasSysStudent> test(@RequestBody EasEduSubjects easEduSubjects){
-        return demoService.test( easEduSubjects );
-    }
-
-
-
-}

+ 3 - 3
controller/src/main/resources/application-local.yaml

@@ -4,13 +4,13 @@ spring:
   datasource:
     url: jdbc:mysql://127.0.0.1:3306/eas?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=true&tinyInt1isBit=false
     username: root
-    password: 1234
+    password: 123456
     driver-class-name: com.mysql.cj.jdbc.Driver
   redis:
     host: localhost
-    database: 9
+    database: 15
     password:
-    port: 26379
+    port: 6379
   security:
     user:
       name: admin

+ 17 - 0
controller/src/main/resources/application.yaml

@@ -34,3 +34,20 @@ eas:
   jwt-secret-key: 123456
   jwt-expires-date: 1
   password-sign-key: eas-key-password
+aj:
+  captcha:
+    cache-type: local
+    type: default
+    water-mark: "\u7231\u6263\u9489"
+    slip-offset: 5
+    aes-status: true
+    interference-options: 2
+    font-style: 1
+    font-size: 25
+    history-data-clear-enable: false
+    req-frequency-limit-enable: false
+    req-get-lock-limit: 5
+    req-get-lock-seconds: 360
+    req-get-minute-limit: 30
+    req-check-minute-limit: 60
+    req-verify-minute-limit: 60

BIN
controller/src/main/resources/images/jigsaw/bg1.png


BIN
controller/src/main/resources/images/jigsaw/bg10.png


BIN
controller/src/main/resources/images/jigsaw/bg11.png


BIN
controller/src/main/resources/images/jigsaw/bg12.png


BIN
controller/src/main/resources/images/jigsaw/bg13.png


BIN
controller/src/main/resources/images/jigsaw/bg14.png


BIN
controller/src/main/resources/images/jigsaw/bg15.png


BIN
controller/src/main/resources/images/jigsaw/bg16.png


BIN
controller/src/main/resources/images/jigsaw/bg17.png


BIN
controller/src/main/resources/images/jigsaw/bg18.png


BIN
controller/src/main/resources/images/jigsaw/bg19.png


BIN
controller/src/main/resources/images/jigsaw/bg2.png


BIN
controller/src/main/resources/images/jigsaw/bg20.png


BIN
controller/src/main/resources/images/jigsaw/bg3.png


BIN
controller/src/main/resources/images/jigsaw/bg4.png


BIN
controller/src/main/resources/images/jigsaw/bg5.png


BIN
controller/src/main/resources/images/jigsaw/bg6.png


BIN
controller/src/main/resources/images/jigsaw/bg7.png


BIN
controller/src/main/resources/images/jigsaw/bg8.png


BIN
controller/src/main/resources/images/jigsaw/bg9.png


BIN
controller/src/main/resources/images/pic-click/bg1.png


BIN
controller/src/main/resources/images/pic-click/bg10.png


BIN
controller/src/main/resources/images/pic-click/bg11.png


BIN
controller/src/main/resources/images/pic-click/bg12.png


BIN
controller/src/main/resources/images/pic-click/bg13.png


BIN
controller/src/main/resources/images/pic-click/bg14.png


BIN
controller/src/main/resources/images/pic-click/bg15.png


BIN
controller/src/main/resources/images/pic-click/bg16.png


BIN
controller/src/main/resources/images/pic-click/bg17.png


BIN
controller/src/main/resources/images/pic-click/bg18.png


BIN
controller/src/main/resources/images/pic-click/bg19.png


BIN
controller/src/main/resources/images/pic-click/bg2.png


BIN
controller/src/main/resources/images/pic-click/bg20.png


BIN
controller/src/main/resources/images/pic-click/bg3.png


BIN
controller/src/main/resources/images/pic-click/bg4.png


BIN
controller/src/main/resources/images/pic-click/bg5.png


BIN
controller/src/main/resources/images/pic-click/bg6.png


BIN
controller/src/main/resources/images/pic-click/bg7.png


BIN
controller/src/main/resources/images/pic-click/bg8.png


BIN
controller/src/main/resources/images/pic-click/bg9.png


+ 6 - 0
pom.xml

@@ -36,9 +36,15 @@
         <easypoi.version>4.3.0</easypoi.version>
         <pagehelper.starter.version>1.3.1</pagehelper.starter.version>
         <maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
+        <captcha.version>1.3.0</captcha.version>
     </properties>
     <dependencyManagement>
         <dependencies>
+            <dependency>
+                <groupId>com.anji-plus</groupId>
+                <artifactId>spring-boot-starter-captcha</artifactId>
+                <version>${captcha.version}</version>
+            </dependency>
             <dependency>
                 <groupId>cn.afterturn</groupId>
                 <artifactId>easypoi-spring-boot-starter</artifactId>

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

@@ -69,6 +69,8 @@ public class EasSecurityFilter extends OncePerRequestFilter {
                 // 将身份验证令牌设置到当前的 SecurityContext 中
                 context.setAuthentication(authenticationToken);
             }
+            //放行
+            filterChain.doFilter(request, response);
         }
         filterChain.doFilter(request, response);
     }

+ 6 - 0
service/pom.xml

@@ -42,6 +42,12 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-security</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.anji-plus</groupId>
+            <artifactId>captcha</artifactId>
+            <version>1.3.0</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <parent>

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

@@ -1,5 +1,6 @@
 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;
@@ -10,5 +11,8 @@ public interface AdminLoginService {
 
     LoginToken refreshToken(String refreshToken);
 
+    //增加一个接口 把ResponseModel 里面的值赋值到JsonResult里面
+    JsonResult verifyToJsonResult(ResponseModel responseModel);
+
 
 }

+ 0 - 11
service/src/main/java/com/koobietech/eas/service/DemoService.java

@@ -1,11 +0,0 @@
-package com.koobietech.eas.service;
-
-import com.koobietech.eas.dao.dto.TestDto;
-import com.koobietech.eas.mbg.model.EasEduSubjects;
-import com.koobietech.eas.mbg.model.EasSysStudent;
-
-import java.util.List;
-
-public interface DemoService {
-    List test(EasEduSubjects dto);
-}

+ 20 - 0
service/src/main/java/com/koobietech/eas/service/impl/AdminLoginServiceImpl.java

@@ -1,8 +1,10 @@
 package com.koobietech.eas.service.impl;
 
+import com.anji.captcha.model.common.ResponseModel;
 import com.koobietech.eas.common.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;
@@ -19,6 +21,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Objects;
 import java.util.Optional;
 
 @Service
@@ -110,6 +113,23 @@ public class AdminLoginServiceImpl implements AdminLoginService {
     }
 
 
+    @Override
+    public JsonResult verifyToJsonResult(ResponseModel response) {
+        JsonResult result = new JsonResult();
+
+        if (response != null) {
+            result.setMsg(response.getRepMsg());
+            result.setStatus(response.isSuccess());
+            result.setData(response.getRepData());
+            result.setCode( Integer.parseInt(response.getRepCode()) );
+        }
+        else {
+            throw new EasException("ResponseModel参数为空!",9000);
+        }
+
+        return result;
+    }
+
 
 
     private EasSysUserinfo findAdminByUsername(String username, String password)  {

+ 0 - 35
service/src/main/java/com/koobietech/eas/service/impl/DemoServiceImpl.java

@@ -1,35 +0,0 @@
-package com.koobietech.eas.service.impl;
-
-import com.koobietech.eas.dao.dto.TestDto;
-import com.koobietech.eas.mbg.mapper.EasEduSubjectsMapper;
-import com.koobietech.eas.mbg.mapper.EasSysStudentMapper;
-import com.koobietech.eas.mbg.model.EasEduSubjects;
-import com.koobietech.eas.mbg.model.EasSysStudent;
-import com.koobietech.eas.mbg.model.EasSysStudentExample;
-import com.koobietech.eas.service.DemoService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.util.StringUtils;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.Objects;
-
-@Service
-public class DemoServiceImpl implements DemoService {
-
-    @Resource
-    EasSysStudentMapper easSysStudentMapper;
-
-    @Resource
-    EasEduSubjectsMapper easEduSubjectsMapper;
-
-    @Override
-    public List test(EasEduSubjects dto) {
-
-        easEduSubjectsMapper.insert(dto);
-
-        List list = easEduSubjectsMapper.selectByExample(null);
-        return list;
-    }
-}