Browse Source

重构权限

宋悦 8 năm trước cách đây
mục cha
commit
1da5ceedc8

+ 3 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/service/ExportPaperService.java

@@ -185,7 +185,7 @@ public class ExportPaperService {
     private void setAnswerWord(List<PaperDetailUnit> paperDetailUnits) throws Exception{
         for (PaperDetailUnit paperDetailUnit : paperDetailUnits) {
             if(paperDetailUnit==null||paperDetailUnit.getQuestion()==null){
-                break;
+                continue;
             }
             String optionOrder = paperDetailUnit.getOptionOrder();
             Question question = paperDetailUnit.getQuestion();
@@ -205,6 +205,8 @@ public class ExportPaperService {
                             setAnswerWordUnit(subQuestion, "");
                         }
                         index++;
+                    }else{
+                        subQuestion.setQuesAnswerWord(getSubjectAnswer(subQuestion.getQuesAnswerWord()));
                     }
                 }
             }else{

+ 2 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/service/PaperService.java

@@ -115,6 +115,7 @@ public class PaperService {
         if(StringUtils.isNotBlank(paperSearchInfo.getCourseNo())){
         	query.addCriteria(Criteria.where("courseNo").is(paperSearchInfo.getCourseNo()));
         }
+        query.addCriteria(Criteria.where("orgId").is(paperSearchInfo.getOrgId()));
         long count = this.mongoTemplate.count(query, Paper.class);
         query.with(new Sort(new Order(Direction.DESC,"createTime")));
         query.limit(pageSize);
@@ -223,6 +224,7 @@ public class PaperService {
         if(StringUtils.isNotBlank(paperSearchInfo.getCourseNo())){
         	query.addCriteria(Criteria.where("courseNo").is(paperSearchInfo.getCourseNo()));
         }
+        query.addCriteria(Criteria.where("orgId").is(paperSearchInfo.getOrgId()));
         long count = this.mongoTemplate.count(query, Paper.class);
         query.with(new Sort(new Order(Direction.DESC,"createTime")));
         query.limit(pageSize);

+ 4 - 2
cqb-paper/src/main/java/com/qmth/cqb/paper/web/PaperController.java

@@ -115,8 +115,10 @@ public class PaperController {
     @ApiOperation(value = "查询所有导入试卷", notes = "查询所有导入试卷")
     @Uac(roles={RoleMeta.QUESTION_ADMIN,RoleMeta.SUPER_ADMIN},policy=UacPolicy.IN)
     @GetMapping(value = "/importPaper/{curPage}/{pageSize}")
-    public ResponseEntity getImportPapers(HttpServletRequest request, @ModelAttribute PaperSearchInfo paperSearchInfo,
-            @PathVariable int curPage, @PathVariable int pageSize) {
+    public ResponseEntity getImportPapers(HttpServletRequest request,
+                                          @ModelAttribute PaperSearchInfo paperSearchInfo,
+                                          @PathVariable int curPage,
+                                          @PathVariable int pageSize) {
         AccessUser user = (AccessUser) request.getAttribute("accessUser");
         paperSearchInfo.setOrgId(user.getRootOrgId().toString());
         return new ResponseEntity(paperService.getImportPapers(paperSearchInfo, curPage, pageSize), HttpStatus.OK);

+ 5 - 0
cqb-starter/pom.xml

@@ -73,6 +73,11 @@
             <artifactId>spring-boot-starter-log4j2</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>

+ 7 - 1
cqb-starter/src/main/java/com/qmth/cqb/AccessControlConfig.java

@@ -2,7 +2,10 @@ package com.qmth.cqb;
 
 
 import cn.com.qmth.examcloud.common.uac.AccessCtrlInterceptor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.servlet.config.annotation.CorsRegistry;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@@ -15,9 +18,12 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
 //@Profile("prod")
 public class AccessControlConfig extends WebMvcConfigurerAdapter {
 
+    @Autowired
+    RedisTemplate redisTemplate;
 
+    @Bean
     public AccessCtrlInterceptor getInterceptor() {
-        return new AccessCtrlInterceptor();
+        return new AccessCtrlInterceptor(redisTemplate);
     }
 
     @Override

+ 4 - 1
cqb-starter/src/main/resources/application-prod.properties

@@ -2,4 +2,7 @@
 spring.data.mongodb.uri=mongodb://root:Qmth87863577@dds-wz93958e4b3d8b142.mongodb.rds.aliyuncs.com:3717/?authSource=admin&authMechanism=SCRAM-SHA-1
 spring.data.mongodb.database=comm-ques-bank
 spring.data.mongodb.grid-fs-database=comm-ques-bank
-eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
+eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
+
+spring.redis.host=127.0.0.1
+spring.redis.port=6379

+ 4 - 1
cqb-starter/src/main/resources/application-test.properties

@@ -1,3 +1,6 @@
 spring.data.mongodb.uri=mongodb://192.168.1.74:27017/comm-ques-bank
 spring.data.mongodb.grid-fs-database=comm-ques-bank
-eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
+eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
+
+spring.redis.host=127.0.0.1
+spring.redis.port=6379

+ 1 - 1
cqb-starter/src/test/java/com/qmth/cqb/AppTest.java

@@ -216,7 +216,7 @@ public class AppTest {
     @Test
     public void testExport()throws Exception{
         long startTime = System.currentTimeMillis();    //获取开始时间
-        exportPaperService.exportPaper("58d2249dcca40392c5782322");
+        exportPaperService.exportPaper("590ae38edd8e85f0bab928c2");
         long endTime = System.currentTimeMillis();    //获取结束时间
         System.out.println("程序运行时间:" + (endTime - startTime)/1000 + "s");    //输出程序运行时间
     }