Просмотр исходного кода

Merge branch 'Develop' into 'Test'

Develop



See merge request !913

menduo 6 лет назад
Родитель
Сommit
f7f6fddadd

+ 3 - 3
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/models/Exam.java

@@ -60,13 +60,13 @@ public class Exam {
     private boolean isDeleted;
 
     @Column(name = "open_recommend")
-    private boolean openRecommend;
+    private int openRecommend;
 
-    public boolean isOpenRecommend() {
+    public int isOpenRecommend() {
         return openRecommend;
     }
 
-    public void setOpenRecommend(boolean openRecommend) {
+    public void setOpenRecommend(int openRecommend) {
         this.openRecommend = openRecommend;
     }
 

+ 2 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/fromDev/IndexService.java

@@ -9,5 +9,6 @@ public interface IndexService {
 
     String[] deSecret(String key);
 
-    String getEntranceJson(long taskId, long caseId, String caseName, String dockerImgName, boolean canSubmit,boolean monitor);
+    String getEntranceJson(long taskId, long caseId, String caseName, String dockerImgName,
+            boolean canSubmit,boolean monitor, boolean openRecommend);
 }

+ 2 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/fromDev/impl/IndexServiceImpl.java

@@ -54,7 +54,8 @@ public class IndexServiceImpl implements IndexService{
      * @return 加密过得extraCode
      */
     @Override
-    public String getEntranceJson(long taskId, long caseId, String caseName, String dockerImgName, boolean canSubmit, boolean monitor) {
+    public String getEntranceJson(long taskId, long caseId, String caseName, String
+            dockerImgName, boolean canSubmit, boolean monitor, boolean openRecommend) {
         JsonObject extraCode = new JsonObject();
 
         extraCode.addProperty("caseId",caseId);

+ 2 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/webIDE/WebIDEUrlService.java

@@ -4,7 +4,8 @@ package cn.iselab.mooctest.site.service.webIDE;
  * Created by major on 2018/3/28.
  */
 public interface WebIDEUrlService {
-    public String generateUrlForWebIDE(long userId, long examId, long targetId, long caseId, String caseName, Long answerWay);
+    public String generateUrlForWebIDE(long userId, long examId, long targetId, long caseId,
+            String caseName, Long answerWay, boolean openRecommend);
 
     public String generateUrlForWebIDE(long userId, long examId, long targetId, long caseId, String caseName, boolean canSubmit, boolean monitor);
 }

+ 6 - 3
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/webIDE/impl/WebIDEUrlServiceImpl.java

@@ -33,10 +33,12 @@ public class WebIDEUrlServiceImpl implements WebIDEUrlService {
 
 
     @Override
-    public String generateUrlForWebIDE(long userId, long examId, long targetId, long caseId, String caseName, Long answerWay){
+    public String generateUrlForWebIDE(long userId, long examId, long targetId, long caseId,
+            String caseName, Long answerWay, boolean openRecommend){
 
         String token = indexService.getSecret(userId, examId);
-        String extraCode = indexService.getEntranceJson(examId, caseId, caseName, dockerImageService.getImageName(caseId), true, false);
+        String extraCode = indexService.getEntranceJson(examId, caseId, caseName,
+                dockerImageService.getImageName(caseId), true, false, openRecommend);
         try {
             if (answerWay== AnswerWayConstants.JMETER) {
                 return generateUrlForWebIDEJmeter(token, extraCode);
@@ -55,7 +57,8 @@ public class WebIDEUrlServiceImpl implements WebIDEUrlService {
     public String generateUrlForWebIDE(long userId, long examId, long targetId, long caseId, String caseName, boolean canSubmit, boolean monitor) {
 
         String token = indexService.getSecret(userId, examId);
-        String extraCode = indexService.getEntranceJson(examId, caseId, caseName, dockerImageService.getImageName(caseId), canSubmit, monitor);
+        String extraCode = indexService.getEntranceJson(examId, caseId, caseName,
+                dockerImageService.getImageName(caseId), canSubmit, monitor,false);
         try {
             return generateUrlForWebIDE(token, extraCode);
         }catch (UnsupportedEncodingException e){

+ 2 - 2
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/wrapper/ExamVOWrapper.java

@@ -57,7 +57,7 @@ public class ExamVOWrapper extends BaseWrapper<ExamVO, Exam> {
         vo.setType(exam.getType());
         vo.setStatus(exam.getStatus());
         vo.setOwningParty(exam.getOwningParty());
-        vo.setOpenRecommend(exam.isOpenRecommend());
+        vo.setOpenRecommend(exam.isOpenRecommend() == 1);
         List<Group> groupList = groupService.getByExamId(vo.getId());
         wrapGroupInfo(vo, groupList);
         return vo;
@@ -157,7 +157,7 @@ public class ExamVOWrapper extends BaseWrapper<ExamVO, Exam> {
         exam.setType(vo.getType());
         exam.setStatus(vo.getStatus());
         exam.setOwningParty(vo.getOwningParty());
-        exam.setOpenRecommend(vo.isOpenRecommend());
+        exam.setOpenRecommend(vo.isOpenRecommend()?1:0);
 
         return exam;
     }

+ 4 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/CaseLogicImpl.java

@@ -357,7 +357,10 @@ public class CaseLogicImpl implements CaseLogic {
             }
             List<Integer> showTags=caseExtendsVO.getShowBtns();
             if (showTags.get(CaseBlockConstants.ONLINE)==1){
-                caseExtendsVO.setWebIDE(webIDEUrlService.generateUrlForWebIDE(userId,examId, caseExtends.getAppId(), caseid,caseExtends.getName(),caseExtendsVO.getAnswerWay()));
+                Exam exam = examService.getTask(examId);
+                caseExtendsVO.setWebIDE(webIDEUrlService.generateUrlForWebIDE(userId,examId,
+                        caseExtends.getAppId(), caseid,caseExtends.getName(),caseExtendsVO
+                                .getAnswerWay(),exam.isOpenRecommend()==1));
             }
             if (showTags.get(CaseBlockConstants.SECRET)==1){
                 caseExtendsVO.setSecret(indexService.getSecret(userId, examId));

+ 2 - 1
mooctest-site-server/src/test/java/cn/iselab/mooctest/site/web/logic/impl/CaseLogicImplTest.java

@@ -319,7 +319,8 @@ public class CaseLogicImplTest {
         exam2Case.setCaseBlock("[1,1,0,0,0,1,0]");
 
         when(indexService.getSecret(7L,1L)).thenReturn("secret");
-        when(webIDEUrlService.generateUrlForWebIDE(anyLong(),anyLong(),anyLong(),anyLong(),anyString(),anyLong())).thenReturn("webIDEUrl");
+        when(webIDEUrlService.generateUrlForWebIDE(anyLong(),anyLong(),anyLong(),anyLong(),
+                anyString(),anyLong(),anyBoolean())).thenReturn("webIDEUrl");
         when(submitRecordService.isSubmitted(anyLong(),anyLong(),anyLong(),anyString())).thenReturn(true);
         //action
         List<CaseExtendsVO> result = caseLogic.getCasesForExam(2L,1L,7L);