Parcourir la source

MOD: get and create case logic

‘e il y a 8 ans
Parent
commit
3be877f6c0

+ 2 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/CaseController.java

@@ -10,6 +10,7 @@ import cn.iselab.mooctest.site.dao.fromKibug.CaseFromKibugDao;
 import cn.iselab.mooctest.site.models.App;
 import cn.iselab.mooctest.site.models.Case;
 import cn.iselab.mooctest.site.models.CaseExtends;
+import cn.iselab.mooctest.site.models.Exam2Paper;
 import cn.iselab.mooctest.site.models.fromKibug.Application;
 import cn.iselab.mooctest.site.models.fromKibug.CaseFromKibug;
 import cn.iselab.mooctest.site.util.http.RequestUtils;
@@ -83,7 +84,7 @@ public class CaseController extends BaseController {
     }
 
     @RequestMapping(value = UrlConstants.API + "case", method = RequestMethod.POST)
-    public CaseExtendsVO createCase(@RequestBody CaseExtendsVO caseExtendsVO){
+    public CaseExtendsVO createCase(@RequestBody CaseExtendsVO caseExtendsVO) throws Exception{
         return caseLogic.create(caseExtendsVO);
     }
 

+ 1 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/CaseLogic.java

@@ -30,5 +30,5 @@ public interface CaseLogic {
 
     CaseExtendsVO delete(Long caseExtendsId);
 
-    CaseExtendsVO getCaseExtends(Long caseId);
+    CaseExtendsVO getCaseExtends(Long caseId) throws Exception;
 }

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

@@ -2,10 +2,7 @@ package cn.iselab.mooctest.site.web.logic.impl;
 
 import cn.iselab.mooctest.site.common.constant.SubsiteConstants;
 import cn.iselab.mooctest.site.data.CaseBlock;
-import cn.iselab.mooctest.site.models.App;
-import cn.iselab.mooctest.site.models.Case;
-import cn.iselab.mooctest.site.models.CaseExtends;
-import cn.iselab.mooctest.site.models.Manager;
+import cn.iselab.mooctest.site.models.*;
 import cn.iselab.mooctest.site.models.fromKibug.Application;
 import cn.iselab.mooctest.site.service.*;
 import cn.iselab.mooctest.site.service.common.SubsiteService;
@@ -40,6 +37,9 @@ public class CaseLogicImpl implements CaseLogic {
     private CaseVOWrapper caseVOWrapper;
 
     @Autowired
+    private TargetService targetService;
+
+    @Autowired
     private AppVOWrapper appVOWrapper;
 
     @Autowired
@@ -129,8 +129,13 @@ public class CaseLogicImpl implements CaseLogic {
         caseExtends.setCreateTime(new Timestamp(System.currentTimeMillis()));
         caseExtends.setOwnerId(caseExtendsVO.getManagerId());
         caseExtends.setAppId(caseExtendsVO.getTargetId());
-        Application application = applicationService.getApplicaitonByUploaderCaseId(caseExtendsVO.getTargetId());
-        caseExtends.setTargetId(application.getId());
+        if(caseExtendsVO.getSubsiteId()==SubsiteConstants.KIKBUG_SUBSITE_ID){
+            Application application = applicationService.getApplicaitonByUploaderCaseId(caseExtendsVO.getTargetId());
+            caseExtends.setTargetId(application.getId());
+        }else if(caseExtendsVO.getSubsiteId() == SubsiteConstants.DEV_SUBSITE_ID || caseExtends.getSubsiteId() == SubsiteConstants.DEVELOP_SUBSITE_ID){
+            DevTarget devTarget = targetService.findDevByUpLoadCaseId(caseExtendsVO.getTargetId());
+            caseExtends.setTargetId(devTarget.getId());
+        }
         return Converter.convert(CaseExtendsVO.class,caseService.save(caseExtends));
     }
 
@@ -158,24 +163,21 @@ public class CaseLogicImpl implements CaseLogic {
     }
 
     @Override
-    public CaseExtendsVO getCaseExtends(Long caseId) {
+    public CaseExtendsVO getCaseExtends(Long caseId) throws Exception{
         CaseExtends caseExtends = caseService.getCaseExtendsById(caseId);
         if(caseExtends==null)
             throw new IllegalArgumentException();
-        App app;
-        if(caseExtends.getTargetId()==null){
-            app=new App();
-            app.setName("未选择");
-        }else{
-            app=appService.getAppById(caseExtends.getTargetId());
-            if(app == null){
-                app=new App();
-                app.setName("未选择");
-            }
-        }
 
         CaseExtendsVO re=Converter.convert(CaseExtendsVO.class, caseExtends);
-        re.setTargetName(app.getName());
+
+        if(caseExtends.getSubsiteId() == SubsiteConstants.KIKBUG_SUBSITE_ID || caseExtends.getSubsiteId() == SubsiteConstants.KIJAM_SUBSITE_ID){
+            Application application = applicationService.getAppById(caseExtends.getTargetId());
+            re.setTargetName(application.getName());
+        }else if(caseExtends.getSubsiteId() == SubsiteConstants.DEV_SUBSITE_ID || caseExtends.getSubsiteId() == SubsiteConstants.DEVELOP_SUBSITE_ID){
+            App app = appService.getAppById(caseExtends.getAppId());
+            re.setTargetName(app.getName());
+        }
+
         return re;
     }
 

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

@@ -77,7 +77,7 @@ public class CaseLogicImplTest {
     }
 
     @Test
-    public void should_useCaseServiceSave_when_givenCaseExtendsVO(){
+    public void should_useCaseServiceSave_when_givenCaseExtendsVO() throws Exception{
         //arrange
         CaseExtends caseExtends=new CaseExtends();
         short platform=5;