Procházet zdrojové kódy

删除不必要的类

4228306 před 5 roky
rodič
revize
6634f44e8c
44 změnil soubory, kde provedl 121 přidání a 248 odebrání
  1. 0 2
      doc/a.html
  2. 0 0
      doc/deploy.md
  3. 0 0
      doc/formula_generate.html
  4. 2 0
      doc/formula_test.html
  5. 5 5
      src/main/java/edu/math/diagnosis/cache/DbCacheFactory.java
  6. 0 19
      src/main/java/edu/math/diagnosis/config/AjaxAuthenticationEntryPoint.java
  7. 0 14
      src/main/java/edu/math/diagnosis/config/AjaxRequestMatcher.java
  8. 0 28
      src/main/java/edu/math/diagnosis/config/ConfigConstants.java
  9. 0 31
      src/main/java/edu/math/diagnosis/config/CsrfHeaderFilter.java
  10. 1 1
      src/main/java/edu/math/diagnosis/config/DiagnosisConfig.java
  11. 1 1
      src/main/java/edu/math/diagnosis/config/LoginSuccessHandler.java
  12. 0 21
      src/main/java/edu/math/diagnosis/config/LogoutHandler.java
  13. 0 18
      src/main/java/edu/math/diagnosis/config/Md5PasswordEncoder.java
  14. 2 2
      src/main/java/edu/math/diagnosis/config/StartUpWork.java
  15. 1 1
      src/main/java/edu/math/diagnosis/config/Swagger2Config.java
  16. 0 17
      src/main/java/edu/math/diagnosis/config/WebAuthenticationProvider.java
  17. 35 16
      src/main/java/edu/math/diagnosis/config/WebSecurityConfig.java
  18. 2 2
      src/main/java/edu/math/diagnosis/controller/CommitController.java
  19. 1 1
      src/main/java/edu/math/diagnosis/controller/ExcelController.java
  20. 2 2
      src/main/java/edu/math/diagnosis/controller/PaperCommitController.java
  21. 1 1
      src/main/java/edu/math/diagnosis/controller/PaperController.java
  22. 2 2
      src/main/java/edu/math/diagnosis/controller/PaperResultController.java
  23. 10 10
      src/main/java/edu/math/diagnosis/controller/ReportController.java
  24. 1 1
      src/main/java/edu/math/diagnosis/dao/AbilityScoreRepo.java
  25. 2 2
      src/main/java/edu/math/diagnosis/dao/PaperCommitRepo.java
  26. 1 1
      src/main/java/edu/math/diagnosis/dao/PaperResultRepo.java
  27. 1 1
      src/main/java/edu/math/diagnosis/dao/SubjectAbilityRepo.java
  28. 1 1
      src/main/java/edu/math/diagnosis/dao/SubjectKnowledgeRepo.java
  29. 0 1
      src/main/java/edu/math/diagnosis/dao/UserRepo.java
  30. 2 1
      src/main/java/edu/math/diagnosis/entity/AbilityScore.java
  31. 2 1
      src/main/java/edu/math/diagnosis/entity/PaperResult.java
  32. 1 1
      src/main/java/edu/math/diagnosis/entity/Question.java
  33. 1 1
      src/main/java/edu/math/diagnosis/entity/Role.java
  34. 2 1
      src/main/java/edu/math/diagnosis/entity/SubjectKnowledge.java
  35. 1 1
      src/main/java/edu/math/diagnosis/service/FileService.java
  36. 2 2
      src/main/java/edu/math/diagnosis/service/KnowledgeService.java
  37. 1 1
      src/main/java/edu/math/diagnosis/service/PaperResultService.java
  38. 12 12
      src/main/java/edu/math/diagnosis/service/PaperService.java
  39. 2 2
      src/main/java/edu/math/diagnosis/service/SubjectAbilityService.java
  40. 2 2
      src/main/java/edu/math/diagnosis/service/UserService.java
  41. 2 2
      src/main/java/edu/math/diagnosis/util/ReflectorUtil.java
  42. 2 2
      src/main/java/edu/math/diagnosis/word/FormulaService.java
  43. 9 9
      src/main/java/edu/math/diagnosis/word/KnowledgeUtil.java
  44. 9 9
      src/main/java/edu/math/diagnosis/word/WordService.java

+ 0 - 2
doc/a.html

@@ -1,2 +0,0 @@
-<!DOCTYPE html>
-<html><head><meta charset="utf-8"><style>p{margin-top:0pt;margin-bottom:1pt;}p.a{text-align:justified;}span.a{font-family:'Times New Roman';}p.a3{text-align:left;}span.Char{font-family:'Times New Roman';}span.a4{font-size:10.0pt;}span.a5{font-size:9.0pt;}span.Char0{font-family:'Times New Roman';font-size:9.0pt;}</style></head><body><div style="width:595.3pt;margin-bottom:72.0pt;margin-top:72.0pt;margin-left:90.0pt;margin-right:90.0pt;"><p>【题干】</p><p>如图所示的程序框图运行的结果 <span id="_GoBack"/><img src="\image1.jpeg" style="width:415.3pt;height:259.59497pt;"/>为()</p><p><br/></p><p>A、1</p><p>B、2</p><p>C、3</p><p>D、4</p><p>【答案】</p><p>B</p><p>【分析】</p><p>集合的交集是取两者共有的数</p><p>【解答】</p><p>2个集合中都有2</p><p>【点评】</p><p>这道题考的是集合的基础知识</p></div></body></html>

+ 0 - 0
doc/Jenkins.txt → doc/deploy.md


+ 0 - 0
doc/result.html → doc/formula_generate.html


+ 2 - 0
doc/formula_test.html

@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8"><style>p{margin-top:0pt;margin-bottom:1pt;}p.a{text-align:justify;}span.a{font-family:'Times New Roman';}p.a3{text-align:left;}span.Char{font-family:'Times New Roman';}span.a4{font-size:10.0pt;}span.a5{font-size:9.0pt;}span.Char0{font-family:'Times New Roman';font-size:9.0pt;}</style></head><body><div style="width:595.3pt;margin-bottom:72.0pt;margin-top:72.0pt;margin-left:90.0pt;margin-right:90.0pt;"><p>【题干】</p><p>如图所示的程序框图运行的结果 <span id="_GoBack"/><img src="\image1.jpeg" style="width:415.3pt;height:259.59497pt;"/>为()</p><p><br/></p><p>A、1</p><p>B、2</p><p>C、3</p><p>D、4</p><p>【答案】</p><p>B</p><p>【分析】</p><p>集合的交集是取两者共有的数</p><p>【解答】</p><p>2个集合中都有2</p><p>【点评】</p><p>这道题考的是集合的基础知识</p></div></body></html>

+ 5 - 5
src/main/java/edu/math/diagnosis/cache/DbCacheFactory.java

@@ -11,7 +11,7 @@ public enum DbCacheFactory {
     /**
      *
      */
-    INSTACE;
+    INSTANCE;
     private final ConcurrentMap<String, DbCache> dataLoaderMap = new ConcurrentHashMap<String, DbCache>();
 
     DbCacheFactory() {
@@ -47,15 +47,15 @@ public enum DbCacheFactory {
     }
 
     @SuppressWarnings("unchecked")
-    public <T> T getCache(Class<T> claes) {
-        if (claes == null) {
+    public <T> T getCache(Class<T> clazz) {
+        if (clazz == null) {
             return null;
         }
-        DbCache cache = dataLoaderMap.get(claes.getName());
+        DbCache cache = dataLoaderMap.get(clazz.getName());
         if (cache != null) {
             return (T) cache;
         } else {
-            System.out.println(String.format("Get cache fail,class:%s", claes.getName()));
+            System.out.println(String.format("Get cache fail,class:%s", clazz.getName()));
             return null;
         }
     }

+ 0 - 19
src/main/java/edu/math/diagnosis/config/AjaxAuthenticationEntryPoint.java

@@ -1,19 +0,0 @@
-package edu.math.diagnosis.config;
-
-import org.springframework.security.core.AuthenticationException;
-import org.springframework.security.web.AuthenticationEntryPoint;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-public class AjaxAuthenticationEntryPoint implements AuthenticationEntryPoint {
-
-    @Override
-    public void commence(HttpServletRequest request, HttpServletResponse response,
-                         AuthenticationException authException) throws IOException, ServletException {
-        response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
-    }
-
-}

+ 0 - 14
src/main/java/edu/math/diagnosis/config/AjaxRequestMatcher.java

@@ -1,14 +0,0 @@
-package edu.math.diagnosis.config;
-
-import org.springframework.security.web.util.matcher.RequestMatcher;
-
-import javax.servlet.http.HttpServletRequest;
-
-public class AjaxRequestMatcher implements RequestMatcher {
-    @Override
-    public boolean matches(HttpServletRequest request) {
-        return "XMLHttpRequest".equals(request.getHeader("X-Requested-With")) ||
-                request.getHeader("Accept") != null &&
-                        request.getHeader("Accept").contains("application/json");
-    }
-}

+ 0 - 28
src/main/java/edu/math/diagnosis/config/ConfigConstants.java

@@ -1,28 +0,0 @@
-package edu.math.diagnosis.config;
-
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-
-import java.util.Arrays;
-import java.util.List;
-
-public class ConfigConstants {
-    public final static String ENTER_EXAM_AUTHORITY = "ENTER_EXAM";
-    public final static String REG_EXAM_AUTHORITY = "REG_EXAM";
-    public final static String HIS_RESULT_AUTHORITY = "HIS_RESULT";
-    public final static String USER_INFO_AUTHORITY = "USER_INFO";
-    public final static String IMPROVE_SCORE_AUTHORITY = "IMPROVE_SCORE";
-    public final static String PAPER_EDIT_AUTHORITY = "PAPER_EDIT";
-    public final static String REPORT_VIEW_AUTHORITY = "REPORT_VIEW";
-
-    public final static List<String> USER_AUTHORITY = Arrays.asList(ENTER_EXAM_AUTHORITY, REG_EXAM_AUTHORITY,
-            HIS_RESULT_AUTHORITY, USER_INFO_AUTHORITY, IMPROVE_SCORE_AUTHORITY);
-    public final static List<String> ADMIN_AUTHORITY = Arrays.asList(ENTER_EXAM_AUTHORITY, REG_EXAM_AUTHORITY,
-            HIS_RESULT_AUTHORITY, USER_INFO_AUTHORITY, IMPROVE_SCORE_AUTHORITY, PAPER_EDIT_AUTHORITY, REPORT_VIEW_AUTHORITY);
-
-    public final static SimpleGrantedAuthority ROLE_ADMIN = new SimpleGrantedAuthority("ROLE_ADMIN");
-    public final static SimpleGrantedAuthority ROLE_USER = new SimpleGrantedAuthority("ROLE_USER");
-    public final static SimpleGrantedAuthority ROLE_GUEST = new SimpleGrantedAuthority("ROLE_GUEST");
-
-    public final static String ROLE_ADMIN_STRING = "ROLE_ADMIN";
-    public final static String ROLE_USER_STRING = "ROLE_USER";
-}

+ 0 - 31
src/main/java/edu/math/diagnosis/config/CsrfHeaderFilter.java

@@ -1,31 +0,0 @@
-package edu.math.diagnosis.config;
-
-import org.springframework.security.web.csrf.CsrfToken;
-import org.springframework.web.filter.OncePerRequestFilter;
-import org.springframework.web.util.WebUtils;
-
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-public class CsrfHeaderFilter extends OncePerRequestFilter {
-    @Override
-    protected void doFilterInternal(HttpServletRequest request,
-                                    HttpServletResponse response, FilterChain filterChain)
-            throws ServletException, IOException {
-        CsrfToken csrf = (CsrfToken) request.getAttribute(CsrfToken.class.getName());
-        if (csrf != null) {
-            Cookie cookie = WebUtils.getCookie(request, "XSRF-TOKEN");
-            String token = csrf.getToken();
-            if (cookie == null || token != null && !token.equals(cookie.getValue())) {
-                cookie = new Cookie("XSRF-TOKEN", token);
-                cookie.setPath("/");
-                response.addCookie(cookie);
-            }
-        }
-        filterChain.doFilter(request, response);
-    }
-}

+ 1 - 1
src/main/java/edu/math/diagnosis/config/DiagnosisConfig.java

@@ -46,7 +46,7 @@ public class DiagnosisConfig {
                 logger.info("file {},mkdir {},create {}", file.getPath() + file.getName(), make, create);
             }
         } catch (Exception e) {
-            logger.error("项目环境文件夹无法创建", e);
+            logger.error("unable to create temp dir", e);
         }
     }
 

+ 1 - 1
src/main/java/edu/math/diagnosis/config/LoginSuccessHandler.java

@@ -48,7 +48,7 @@ public class LoginSuccessHandler extends SavedRequestAwareAuthenticationSuccessH
         response.setContentType("application/json");
 
         if (userType.equals(loginFrom)) {
-            System.out.println("登录通过");
+            logger.debug("登录通过");
             response.getWriter().println("{\"ok\":\"1\",\"msg\":\"登录成功\"}");
         } else {
             throw new BadCredentialsException(msg);

+ 0 - 21
src/main/java/edu/math/diagnosis/config/LogoutHandler.java

@@ -1,21 +0,0 @@
-package edu.math.diagnosis.config;
-
-import org.springframework.security.core.Authentication;
-import org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-public class LogoutHandler implements LogoutSuccessHandler {
-
-    @Override
-    public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
-            throws IOException, ServletException {
-        // TODO Auto-generated method stub
-        response.setCharacterEncoding("UTF-8");
-        response.setContentType("application/json");
-        response.getWriter().println("{\"ok\":\"1\",\"msg\":\"注销成功\"}");
-    }
-}

+ 0 - 18
src/main/java/edu/math/diagnosis/config/Md5PasswordEncoder.java

@@ -1,18 +0,0 @@
-package edu.math.diagnosis.config;
-
-import edu.math.diagnosis.util.MD5Util;
-import org.springframework.security.crypto.password.PasswordEncoder;
-
-public class Md5PasswordEncoder implements PasswordEncoder {
-
-    @Override
-    public String encode(CharSequence rawPassword) {
-        return MD5Util.INSTANCE.md5((String) rawPassword);
-    }
-
-    @Override
-    public boolean matches(CharSequence rawPassword, String encodedPassword) {
-        return encodedPassword.equals(MD5Util.INSTANCE.md5((String) rawPassword));
-    }
-
-}

+ 2 - 2
src/main/java/edu/math/diagnosis/config/StartUpWork.java

@@ -24,9 +24,9 @@ public class StartUpWork implements ApplicationRunner, ApplicationContextAware {
 
     @Override
     public void run(ApplicationArguments applicationArguments) throws Exception {
-        DbCacheFactory.INSTACE.flushAll();
+        DbCacheFactory.INSTANCE.flushAll();
         ScheduledExecutorService scheduledExecutorService = new ScheduledThreadPoolExecutor(1, new CustomizableThreadFactory("sche"));
-        scheduledExecutorService.scheduleAtFixedRate(DbCacheFactory.INSTACE::flushAll, 1, 1, TimeUnit.HOURS);
+        scheduledExecutorService.scheduleAtFixedRate(DbCacheFactory.INSTANCE::flushAll, 1, 1, TimeUnit.HOURS);
     }
 
     @Override

+ 1 - 1
src/main/java/edu/math/diagnosis/config/Swagger2Config.java

@@ -37,7 +37,7 @@ public class Swagger2Config {
     private ApiInfo apiInfo() {
         return new ApiInfoBuilder()
                 //自定义信息可按需求填写
-                .title("Spring Boot中使用Swagger构建RESTful APIs")
+                .title("Spring Boot中使用Swagger构建restful apis")
                 .description("对接")
                 .version("1.0")
                 .build();

+ 0 - 17
src/main/java/edu/math/diagnosis/config/WebAuthenticationProvider.java

@@ -1,17 +0,0 @@
-package edu.math.diagnosis.config;
-
-import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
-import org.springframework.security.core.userdetails.UserDetailsService;
-import org.springframework.security.crypto.password.PasswordEncoder;
-
-public class WebAuthenticationProvider extends DaoAuthenticationProvider {
-
-    public WebAuthenticationProvider() {
-        super();
-    }
-
-    public WebAuthenticationProvider(UserDetailsService userDetailsService, PasswordEncoder passwordEncoder) {
-        setUserDetailsService(userDetailsService);
-        setPasswordEncoder(passwordEncoder);
-    }
-}

+ 35 - 16
src/main/java/edu/math/diagnosis/config/WebSecurityConfig.java

@@ -3,6 +3,7 @@ package edu.math.diagnosis.config;
 import edu.math.diagnosis.entity.UserInfo;
 import edu.math.diagnosis.model.AuthUser;
 import edu.math.diagnosis.service.UserService;
+import edu.math.diagnosis.util.MD5Util;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -15,11 +16,14 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
 import org.springframework.security.core.userdetails.UserDetailsService;
 import org.springframework.security.core.userdetails.UsernameNotFoundException;
 import org.springframework.security.crypto.password.PasswordEncoder;
+import org.springframework.security.web.AuthenticationEntryPoint;
 import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
+import org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
 import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
+import org.springframework.security.web.util.matcher.RequestMatcher;
 
 import javax.annotation.Resource;
-import java.util.Arrays;
+import javax.servlet.http.HttpServletResponse;
 
 /**
  * @AUTHOR: DaiFengWen
@@ -67,18 +71,38 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
 //    }
 
     @Bean
-    LogoutHandler logoutHandler() {
-        return new LogoutHandler();
+    LogoutSuccessHandler logoutSuccessHandler() {
+        return (req, rep, authentication) -> {
+            rep.setCharacterEncoding("UTF-8");
+            rep.setContentType("application/json");
+            rep.getWriter().println("{\"ok\":\"1\",\"msg\":\"注销成功\"}");
+        };
+    }
+
+    @Bean
+    AuthenticationEntryPoint authenticationEntryPoint() {
+        return (request, response, e) -> response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
     }
 
     @Bean
-    AjaxAuthenticationEntryPoint ajaxAuthenticationEntryPoint() {
-        return new AjaxAuthenticationEntryPoint();
+    RequestMatcher requestMatcher() {
+        return request -> "XMLHttpRequest".equals(request.getHeader("X-Requested-With")) ||
+                request.getHeader("Accept") != null && request.getHeader("Accept").contains("application/json");
     }
 
     @Bean
     PasswordEncoder passwordEncoder() {
-        return new Md5PasswordEncoder();
+        return new PasswordEncoder() {
+            @Override
+            public String encode(CharSequence rawPassword) {
+                return MD5Util.INSTANCE.md5((String) rawPassword);
+            }
+
+            @Override
+            public boolean matches(CharSequence rawPassword, String encodedPassword) {
+                return encodedPassword.equals(MD5Util.INSTANCE.md5((String) rawPassword));
+            }
+        };
     }
 
 //    @Bean
@@ -92,12 +116,6 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
     }
 
 
-    /**
-     * If subclassed this will potentially override subclass configure(HttpSecurity)
-     *
-     * @param http
-     * @throws Exception
-     */
     @Override
     protected void configure(HttpSecurity http) throws Exception {
         http.csrf().disable();
@@ -115,22 +133,23 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
         http.logout()
                 // .logoutSuccessHandler(erebusLogoutSuccessHandler)
                 .logoutUrl(logoutUrl).logoutRequestMatcher(new AntPathRequestMatcher(logoutUrl)).deleteCookies("JSESSIONID")
-                .logoutSuccessHandler(logoutHandler());
+                .logoutSuccessHandler(logoutSuccessHandler());
         http.sessionManagement().invalidSessionUrl(loginPage);
 
 //        http.authenticationProvider(new WebAuthenticationProvider());
 
 //        http.userDetailsService(userDetailsService());
 
-        http.exceptionHandling().defaultAuthenticationEntryPointFor(ajaxAuthenticationEntryPoint(), new AjaxRequestMatcher());
+        http.exceptionHandling().defaultAuthenticationEntryPointFor(authenticationEntryPoint(), requestMatcher());
         super.configure(http);
     }
 
     @Override
-    public void configure(WebSecurity web) throws Exception {
+    public void configure(WebSecurity web) {
         web.ignoring().antMatchers("/resources/**", "/static/**", "/**.js");
         web.ignoring().antMatchers(uploadProperties.getUploadPattern());
-        web.ignoring().antMatchers("/**/*.js", "/lang/*.json", "/**/*.css", "/**/*.map", "/**/*.png", "/**/*.jpg","/**/*.woff","/**/*.ttf","/*.ico");
+        web.ignoring().antMatchers("/**/*.js", "/lang/*.json", "/**/*.css", "/**/*.map", "/**/*.png",
+                "/**/*.jpg", "/**/*.woff", "/**/*.ttf", "/*.ico");
         web.ignoring().antMatchers(permitUrls);
         web.ignoring().antMatchers("/open/**");
         web.ignoring().antMatchers("/v2/api-docs",//swagger api json

+ 2 - 2
src/main/java/edu/math/diagnosis/controller/CommitController.java

@@ -35,8 +35,8 @@ public class CommitController {
     @Resource
     UserRepo userRepo;
 
-    private final OptionCache OptionCache = DbCacheFactory.INSTACE.getCache(OptionCache.class);
-    private final QuestionCache QuestionCache = DbCacheFactory.INSTACE.getCache(QuestionCache.class);
+    private final OptionCache OptionCache = DbCacheFactory.INSTANCE.getCache(OptionCache.class);
+    private final QuestionCache QuestionCache = DbCacheFactory.INSTANCE.getCache(QuestionCache.class);
 
     @RequestMapping(value = "/paper", method = RequestMethod.POST)
     public ResponseMessage commitPaper(@RequestBody Paper paper) {

+ 1 - 1
src/main/java/edu/math/diagnosis/controller/ExcelController.java

@@ -29,7 +29,7 @@ public class ExcelController {
                                   @RequestParam(defaultValue = "6Y") String grade,
                                   @RequestBody MultipartFile file) throws Exception {
         byte[] data = file.getBytes();
-        List<SubjectKnowledge> list = KnowledgeUtil.getFromExcel(subjectId,grade,data);
+        List<SubjectKnowledge> list = KnowledgeUtil.getFromExcel(subjectId, grade, data);
         knowledgeService.addAll(list);
         return Result.ok(list);
     }

+ 2 - 2
src/main/java/edu/math/diagnosis/controller/PaperCommitController.java

@@ -27,8 +27,8 @@ public class PaperCommitController {
     }
 
     @GetMapping("hasCommit")
-    public Result hasCommit(Long pid,Long uid){
-        return commitService.hasCommit(pid,uid);
+    public Result hasCommit(Long pid, Long uid) {
+        return commitService.hasCommit(pid, uid);
     }
 
     @ApiOperation(value = "获取某学生所有做过的试卷")

+ 1 - 1
src/main/java/edu/math/diagnosis/controller/PaperController.java

@@ -75,7 +75,7 @@ public class PaperController {
         paperService.delete(id);
     }
 
-//    @PreAuthorize("hasRole('ROLE_ADMIN')")
+    //    @PreAuthorize("hasRole('ROLE_ADMIN')")
     @ApiOperation(value = "上传试卷")
     @PostMapping("uploadPaper")
     @ApiImplicitParam(name = "templateId", value = "试卷模板Id 默认1")

+ 2 - 2
src/main/java/edu/math/diagnosis/controller/PaperResultController.java

@@ -26,9 +26,9 @@ public class PaperResultController {
     private PaperService paperService;
 
     @GetMapping("/rebuild")
-    public Result rebuild(Long commitId){
+    public Result rebuild(Long commitId) {
         PaperCommit commit = paperCommitRepo.getOne(commitId);
         Paper paper = paperService.getOnePaper(commit.getPid());
-        return paperResultService.parseResult(commit,paper);
+        return paperResultService.parseResult(commit, paper);
     }
 }

+ 10 - 10
src/main/java/edu/math/diagnosis/controller/ReportController.java

@@ -32,31 +32,31 @@ public class ReportController {
     private PaperResultService paperResultService;
 
     @GetMapping("generate")
-    public Result generateAll(){
+    public Result generateAll() {
         return Result.fail("not implements");
     }
 
     @GetMapping("generateKnowledge")
-    public Result generateKnowledge(Long uid,Long pid){
+    public Result generateKnowledge(Long uid, Long pid) {
 
         return Result.fail("not implements");
     }
 
     @GetMapping("userInfo")
-    public Result userInfo(Long uid,Long pid){
+    public Result userInfo(Long uid, Long pid) {
         UserInfo info = userService.getSimpleUser(uid);
         Paper paper = paperService.getOnePaper(pid);
-        List<PaperResult> paperResults = paperResultService.findByUidAndPid(String.valueOf(pid),String.valueOf(uid));
-        if(CommonUtil.isEmpty(paperResults)){
+        List<PaperResult> paperResults = paperResultService.findByUidAndPid(String.valueOf(pid), String.valueOf(uid));
+        if (CommonUtil.isEmpty(paperResults)) {
             return Result.fail("未找到提交的试卷");
         }
         PaperResult paperResult = paperResults.get(0);
-        Map<String,Object> result = new HashMap<>();
-        result.put("name",info.getName());
-        result.put("grade",paper.getGrade());
+        Map<String, Object> result = new HashMap<>();
+        result.put("name", info.getName());
+        result.put("grade", paper.getGrade());
         result.put("subject", Constants.SUBJECT_MAS);
-        result.put("diagnosisTime",paperResult.getCreatetime());
-        result.put("code",paperResult.getCode());
+        result.put("diagnosisTime", paperResult.getCreatetime());
+        result.put("code", paperResult.getCode());
         return Result.ok(result);
 
     }

+ 1 - 1
src/main/java/edu/math/diagnosis/dao/AbilityScoreRepo.java

@@ -3,5 +3,5 @@ package edu.math.diagnosis.dao;
 import edu.math.diagnosis.entity.AbilityScore;
 import org.springframework.data.jpa.repository.JpaRepository;
 
-public interface AbilityScoreRepo extends JpaRepository<AbilityScore,Long> {
+public interface AbilityScoreRepo extends JpaRepository<AbilityScore, Long> {
 }

+ 2 - 2
src/main/java/edu/math/diagnosis/dao/PaperCommitRepo.java

@@ -12,11 +12,11 @@ import java.util.List;
  */
 public interface PaperCommitRepo extends JpaRepository<PaperCommit, Long> {
 
-    List<PaperCommit> findByPidOrNameContaining(Long pid,String name);
+    List<PaperCommit> findByPidOrNameContaining(Long pid, String name);
 
     List<PaperCommit> findByNameContaining(String name);
 
     List<PaperCommit> findByPid(Long pid);
 
-    boolean existsByPidAndUid(Long pid,Long uid);
+    boolean existsByPidAndUid(Long pid, Long uid);
 }

+ 1 - 1
src/main/java/edu/math/diagnosis/dao/PaperResultRepo.java

@@ -14,6 +14,6 @@ import java.util.List;
 @Repository
 public interface PaperResultRepo extends JpaRepository<PaperResult, Long> {
 
-    List<PaperResult> findByPidAndUid(String pid,String uid);
+    List<PaperResult> findByPidAndUid(String pid, String uid);
 
 }

+ 1 - 1
src/main/java/edu/math/diagnosis/dao/SubjectAbilityRepo.java

@@ -5,6 +5,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
 
 import java.util.List;
 
-public interface SubjectAbilityRepo extends JpaRepository<SubjectAbility,Long> {
+public interface SubjectAbilityRepo extends JpaRepository<SubjectAbility, Long> {
     List<SubjectAbility> findAllBySubjectId(String subjectId);
 }

+ 1 - 1
src/main/java/edu/math/diagnosis/dao/SubjectKnowledgeRepo.java

@@ -3,5 +3,5 @@ package edu.math.diagnosis.dao;
 import edu.math.diagnosis.entity.SubjectKnowledge;
 import org.springframework.data.jpa.repository.JpaRepository;
 
-public interface SubjectKnowledgeRepo extends JpaRepository<SubjectKnowledge,Long> {
+public interface SubjectKnowledgeRepo extends JpaRepository<SubjectKnowledge, Long> {
 }

+ 0 - 1
src/main/java/edu/math/diagnosis/dao/UserRepo.java

@@ -14,7 +14,6 @@ public interface UserRepo extends JpaRepository<UserInfo, Long> {
     UserInfo findByPhone(String phone);
 
 
-
     int countByPhone(String phone);
 
     int countByUsername(String username);

+ 2 - 1
src/main/java/edu/math/diagnosis/entity/AbilityScore.java

@@ -40,7 +40,8 @@ public class AbilityScore {
     @Column(nullable = false)
     private Date createtime;
 
-    public AbilityScore(){}
+    public AbilityScore() {
+    }
 
     public AbilityScore(String abilityCode, String grade, String subjectId, Long pid, Long qid, Double score) {
         this.abilityCode = abilityCode;

+ 2 - 1
src/main/java/edu/math/diagnosis/entity/PaperResult.java

@@ -61,7 +61,8 @@ public class PaperResult {
 //    @Transient
 //    private List<AbilityScore> scores;
 
-    public PaperResult(){}
+    public PaperResult() {
+    }
 
     public Long getId() {
         return id;

+ 1 - 1
src/main/java/edu/math/diagnosis/entity/Question.java

@@ -106,7 +106,7 @@ public class Question {
     private List<QuestionOption> options;
     @Transient
     private List<AbilityScore> scores;
-//    @Transient
+    //    @Transient
     private String answer;
     @Transient
     private Integer usetime;

+ 1 - 1
src/main/java/edu/math/diagnosis/entity/Role.java

@@ -12,7 +12,7 @@ public class Role {
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Long id;
-    @Column(unique = true,nullable = false)
+    @Column(unique = true, nullable = false)
     private String name;
     //预留
     private String type;

+ 2 - 1
src/main/java/edu/math/diagnosis/entity/SubjectKnowledge.java

@@ -27,7 +27,8 @@ public class SubjectKnowledge {
 
     private String abilityCodes;
 
-    public SubjectKnowledge(){}
+    public SubjectKnowledge() {
+    }
 
     public SubjectKnowledge(String subjectId, String grade, String chapter, String code, String content, String abilityCodes) {
         this.subjectId = subjectId;

+ 1 - 1
src/main/java/edu/math/diagnosis/service/FileService.java

@@ -61,7 +61,7 @@ public class FileService {
     }
 
     public ResponseEntity<byte[]> download(String filename) throws Exception {
-        byte[] body = download(properties.getUploadLocation() , filename);
+        byte[] body = download(properties.getUploadLocation(), filename);
         HttpHeaders headers = new HttpHeaders();
         headers.add("Cache-Control", "no-cache, no-store, must-revalidate");
         headers.add("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode(filename, "UTF-8"));

+ 2 - 2
src/main/java/edu/math/diagnosis/service/KnowledgeService.java

@@ -13,11 +13,11 @@ public class KnowledgeService {
     @Resource
     private SubjectKnowledgeRepo subjectKnowledgeRepo;
 
-    public SubjectKnowledge add(SubjectKnowledge knowledge){
+    public SubjectKnowledge add(SubjectKnowledge knowledge) {
         return subjectKnowledgeRepo.save(knowledge);
     }
 
-    public List<SubjectKnowledge> addAll(List<SubjectKnowledge> list){
+    public List<SubjectKnowledge> addAll(List<SubjectKnowledge> list) {
         return subjectKnowledgeRepo.saveAll(list);
     }
 }

+ 1 - 1
src/main/java/edu/math/diagnosis/service/PaperResultService.java

@@ -71,7 +71,7 @@ public class PaperResultService {
         result.setJsonScore(ObjectUtil.object2Json(pData));
         //转换分数为百分制
         double totalScore = paper.getTotalScore();
-        double s = Double.parseDouble(NumberUtil.formatDouble(score[0] * 100 /totalScore));
+        double s = Double.parseDouble(NumberUtil.formatDouble(score[0] * 100 / totalScore));
         result.setScore(totalScore == 0 ? score[0] : s);
         result.setTotalScore(totalScore);
         paperResultRepo.save(result);

+ 12 - 12
src/main/java/edu/math/diagnosis/service/PaperService.java

@@ -112,7 +112,7 @@ public class PaperService {
         for (Question question : questions) {
             List<QuestionOption> options = optionRepo.findByQid(question.getId());
 //            for (QuestionOption option : options) {
-                //todo 判断是否考生,如是  将答案设为null
+            //todo 判断是否考生,如是  将答案设为null
 //               option.setCorrect(null);
 //                option.setUpdatetime(null);
 //                option.setCreatetime(null);
@@ -145,21 +145,21 @@ public class PaperService {
             return Result.fail("保存失败,请重试");
         }
         //init json score
-        Map<String,Double> data = new HashMap<>();
+        Map<String, Double> data = new HashMap<>();
         List<SubjectAbility> abilities = subjectAbilityService.list(String.valueOf(paper.getSubjectId()));
         //初始化数据
-        abilities.forEach(a->data.put(a.getCode(),0d));
+        abilities.forEach(a -> data.put(a.getCode(), 0d));
         data.put("A0", 0d);
         double totalScore = 0;
         for (Question question : save.getQuestions()) {
             question.setPid(save.getId());
             //保存问题
             questionService.addQuestion(question);
-            for (AbilityScore score:question.getScores()) {
-                Double d = data.getOrDefault(score.getAbilityCode(),0d);
-                d+=score.getScore();
-                totalScore +=score.getScore();
-                data.put(score.getAbilityCode(),d);
+            for (AbilityScore score : question.getScores()) {
+                Double d = data.getOrDefault(score.getAbilityCode(), 0d);
+                d += score.getScore();
+                totalScore += score.getScore();
+                data.put(score.getAbilityCode(), d);
                 score.setGrade(paper.getGrade());
                 score.setPid(save.getId());
                 score.setQid(question.getId());
@@ -317,7 +317,7 @@ public class PaperService {
 //            Section current = ss.stream().filter(section -> s.contains(section.getNumber().toString())).findFirst().orElse(null);
             Section current = sectionMap.get(s);
             Map<String, List<XWPFParagraph>> questions = initQuestions(current, questionPattern, ps);
-            List<Question> list = parseQuestions(questions, current, template, topic,abilities);
+            List<Question> list = parseQuestions(questions, current, template, topic, abilities);
             qs.put(s, list);
         });
         List<Question> list = new ArrayList<>();
@@ -349,7 +349,7 @@ public class PaperService {
         paper.setName(sb.toString());
     }
 
-    private List<Question> parseQuestions(Map<String, List<XWPFParagraph>> questions, Section section, PaperTemplate template, Map<String, String> topic,List<String> abilities) {
+    private List<Question> parseQuestions(Map<String, List<XWPFParagraph>> questions, Section section, PaperTemplate template, Map<String, String> topic, List<String> abilities) {
         List<Question> list = new ArrayList<>();
         //问题合集
         Pattern pattern = Pattern.compile("\\d+");
@@ -358,7 +358,7 @@ public class PaperService {
             if (k.matches(template.getQuestion()) && matcher.find()) {
                 String number = matcher.group();
                 Question question = questionService.initQuestion(section.getNumber(), Integer.valueOf(number));
-                wordService.parseQuestion(question, v, topic, template,abilities);
+                wordService.parseQuestion(question, v, topic, template, abilities);
                 list.add(question);
             }
         });
@@ -388,7 +388,7 @@ public class PaperService {
 
     private Paper init(PaperVo paperVo, String url) {
         Paper paper = ObjectUtil.convert(paperVo, Paper.class);
-        if(paper != null) {
+        if (paper != null) {
             paper.setDocxUrl(url);
         }
         return paper;

+ 2 - 2
src/main/java/edu/math/diagnosis/service/SubjectAbilityService.java

@@ -13,11 +13,11 @@ public class SubjectAbilityService {
     @Resource
     private SubjectAbilityRepo subjectAbilityRepo;
 
-    public SubjectAbility add(SubjectAbility ability){
+    public SubjectAbility add(SubjectAbility ability) {
         return subjectAbilityRepo.save(ability);
     }
 
-    public List<SubjectAbility> list(String subjectId){
+    public List<SubjectAbility> list(String subjectId) {
         return subjectAbilityRepo.findAllBySubjectId(subjectId);
     }
 }

+ 2 - 2
src/main/java/edu/math/diagnosis/service/UserService.java

@@ -84,7 +84,7 @@ public class UserService {
         return userRepo.countByUsername(username) == 0;
     }
 
-    public UserInfo getSimpleUser(Long id){
-       return userRepo.getOne(id);
+    public UserInfo getSimpleUser(Long id) {
+        return userRepo.getOne(id);
     }
 }

+ 2 - 2
src/main/java/edu/math/diagnosis/util/ReflectorUtil.java

@@ -111,8 +111,8 @@ public class ReflectorUtil {
      *
      * @param packageName 包名
      * @param packagePath 包路径
-     * @param recursive 是否递归
-     * @param classes 类名
+     * @param recursive   是否递归
+     * @param classes     类名
      */
     public static void findAndAddClassesInPackageByFile(String packageName,
                                                         String packagePath, final boolean recursive, Set<Class<?>> classes) {

+ 2 - 2
src/main/java/edu/math/diagnosis/word/FormulaService.java

@@ -130,7 +130,7 @@ public class FormulaService {
 
         //creating a sample HTML file
         String encoding = "UTF-8";
-        FileOutputStream fos = new FileOutputStream("result.html");
+        FileOutputStream fos = new FileOutputStream("formula_generate.html");
         OutputStreamWriter writer = new OutputStreamWriter(fos, encoding);
         writer.write("<!DOCTYPE html>\n");
         writer.write("<html lang=\"en\">");
@@ -159,7 +159,7 @@ public class FormulaService {
         writer.write("</html>");
         writer.close();
 
-//        Desktop.getDesktop().browse(new File("result.html").toURI());
+//        Desktop.getDesktop().browse(new File("formula_generate.html").toURI());
 
     }
 

+ 9 - 9
src/main/java/edu/math/diagnosis/word/KnowledgeUtil.java

@@ -17,10 +17,10 @@ public class KnowledgeUtil {
     public static final int START_COLUMN = 2;
     public static final int END_COLUMN = 100;
 
-    public static List<SubjectKnowledge> getFromExcel(String subjectId,String grade,byte[] data) throws Exception{
+    public static List<SubjectKnowledge> getFromExcel(String subjectId, String grade, byte[] data) throws Exception {
         XSSFWorkbook book = new XSSFWorkbook(new ByteArrayInputStream(data));
         XSSFSheet sheet = book.getSheetAt(1);
-        String[] codes = {"A1","A2","A3","A4","A5","A6"};
+        String[] codes = {"A1", "A2", "A3", "A4", "A5", "A6"};
         List<SubjectKnowledge> result = new ArrayList<>();
         for (int numRow = 2; numRow <= sheet.getLastRowNum(); numRow++) {
             XSSFRow xRow = sheet.getRow(numRow);
@@ -30,19 +30,19 @@ public class KnowledgeUtil {
 //                System.out.print(cell+ " ");
 //            }
             String code = xRow.getCell(2).toString();
-            String chapter = code.replaceAll("[a-z]","");
+            String chapter = code.replaceAll("[a-z]", "");
             StringBuilder abilityCodes = new StringBuilder();
             String content = xRow.getCell(3).toString();
-            for (int i = 4;i<=9;i++){
-                double d = xRow.getCell(i) == null ? 0:xRow.getCell(i).getNumericCellValue();
-                if (d == 1){
-                    abilityCodes.append(codes[i-4]).append(",");
+            for (int i = 4; i <= 9; i++) {
+                double d = xRow.getCell(i) == null ? 0 : xRow.getCell(i).getNumericCellValue();
+                if (d == 1) {
+                    abilityCodes.append(codes[i - 4]).append(",");
                 }
             }
-            if(StringUtils.isNotBlank(abilityCodes.toString())){
+            if (StringUtils.isNotBlank(abilityCodes.toString())) {
                 abilityCodes.deleteCharAt(abilityCodes.lastIndexOf(","));
             }
-            SubjectKnowledge k = new SubjectKnowledge(subjectId,grade,chapter,code,content,abilityCodes.toString());
+            SubjectKnowledge k = new SubjectKnowledge(subjectId, grade, chapter, code, content, abilityCodes.toString());
             result.add(k);
             System.out.println(k);
         }

+ 9 - 9
src/main/java/edu/math/diagnosis/word/WordService.java

@@ -70,18 +70,18 @@ public class WordService {
         parseQuestion(q, group.get(topic.get(Constants.TOPIC_QUESTION)), template.getOptionPattern());
         parseAnswer(q, group.get(topic.get(Constants.TOPIC_ANSWER)));
         parseTag(q, group.get(topic.get(Constants.TOPIC_TAG)));
-        parseAbility(q, group.get(topic.get(Constants.TOPIC_ABILITY)),abilities);
+        parseAbility(q, group.get(topic.get(Constants.TOPIC_ABILITY)), abilities);
         logger.info("parse question finish,pid={},section={},number={}", q.getPid(), q.getSection(), q.getNumber());
         return q;
     }
 
     private void parseQuestion(Question q, Map<String, List<XWPFParagraph>> group) {
         logger.info("parsing question,pid={},section={},number={}", q.getPid(), q.getSection(), q.getNumber());
-        String[] a = {"A1","A2","A3","A4","A5"};
+        String[] a = {"A1", "A2", "A3", "A4", "A5"};
         parseQuestion(q, group.get(Constants.TOPIC_QUESTION), "^[A-Z]\\.(.*)");
         parseAnswer(q, group.get(Constants.TOPIC_ANSWER));
         parseTag(q, group.get(Constants.TOPIC_TAG));
-        parseAbility(q, group.get(Constants.TOPIC_ABILITY),Arrays.asList(a));
+        parseAbility(q, group.get(Constants.TOPIC_ABILITY), Arrays.asList(a));
         parseCollect(q, group.get(Constants.TOPIC_EVALUATE_CORRECT));
         parseWrong(q, group.get(Constants.TOPIC_EVALUATE_WRONG));
         logger.info("parse question finish,pid={},section={},number={}", q.getPid(), q.getSection(), q.getNumber());
@@ -143,21 +143,21 @@ public class WordService {
         ps.stream().filter(p -> StringUtils.isNotBlank(p.getText())).forEach(p -> question.setTag(p.getText()));
     }
 
-    private void parseAbility(Question question, List<XWPFParagraph> ps,List<String> abilities) {
+    private void parseAbility(Question question, List<XWPFParagraph> ps, List<String> abilities) {
         List<AbilityScore> list = new ArrayList<>();
-        Map<String,Double> json = new HashMap<>();
+        Map<String, Double> json = new HashMap<>();
         //先手动设置1分
-        json.put("A0",1d);
-        AbilityScore a0 = new AbilityScore("A0","","",question.getPid(),0L,0d);
+        json.put("A0", 1d);
+        AbilityScore a0 = new AbilityScore("A0", "", "", question.getPid(), 0L, 0d);
         list.add(a0);
         for (XWPFParagraph p : ps) {
             String text = p.getText();
             String[] ss = text.split("=");
             String abilityCode = ss[0];
             double score = Double.parseDouble(ss[1]);
-            AbilityScore s = new AbilityScore(abilityCode,"","",question.getPid(),0L,score);
+            AbilityScore s = new AbilityScore(abilityCode, "", "", question.getPid(), 0L, score);
             list.add(s);
-            json.put(abilityCode,score);
+            json.put(abilityCode, score);
 //            abilities.stream().filter(text::equalsIgnoreCase)
 //            if (text.contains(Constants.TOPIC_ABILITY_CALC)) {
 //                question.setCalculation(score);