wangwei há 7 anos atrás
pai
commit
efb88bd0a4

+ 64 - 31
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/swufe/ExamController.java

@@ -1,57 +1,90 @@
 package cn.com.qmth.examcloud.exchange.outer.api.provider.swufe;
 
-import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
 
-import io.swagger.annotations.ApiOperation;
+import javax.servlet.http.HttpServletRequest;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.google.common.collect.Maps;
+
+import cn.com.qmth.examcloud.commons.base.util.DateUtil;
+import cn.com.qmth.examcloud.commons.base.util.DateUtil.DatePatterns;
 import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
-import cn.com.qmth.examcloud.exchange.base.exception.SaveExamException;
-import cn.com.qmth.examcloud.exchange.base.response.FailureBaseResponse;
-import cn.com.qmth.examcloud.exchange.base.response.SuccessBaseResponse;
+import cn.com.qmth.examcloud.examwork.api.ExamCloudService;
+import cn.com.qmth.examcloud.examwork.api.request.GetExamReq;
+import cn.com.qmth.examcloud.examwork.api.request.SaveExamReq;
+import cn.com.qmth.examcloud.examwork.api.response.GetExamResp;
 import cn.com.qmth.examcloud.exchange.dao.bean.ExamReq;
-import cn.com.qmth.examcloud.exchange.dao.bean.OutletExam;
-import cn.com.qmth.examcloud.exchange.outer.service.ExamService;
+import io.swagger.annotations.ApiOperation;
 
 /**
- * @author  	chenken
- * @date    	2018年5月7日 下午3:20:33
- * @company 	QMTH
+ * @author chenken
+ * @date 2018年5月7日 下午3:20:33
+ * @company QMTH
  * @description ExamController.java
  */
 @RestController
 @RequestMapping("${$rmp.cloud.exchange.outer}/exam")
-public class ExamController  extends ControllerSupport{
-	
-    @Autowired
-    private ExamService examService;
-	
+public class ExamController extends ControllerSupport {
+
+	@Autowired
+	ExamCloudService examCloudService;
+
 	@ApiOperation(value = "创建考试")
 	@PostMapping
-	public ResponseEntity<?> createExam(@RequestBody ExamReq examReq,HttpServletRequest request){
+	public Map<String, Object> createExam(@RequestBody ExamReq examReq,
+			HttpServletRequest request) {
+		tranTimes(examReq);
 		User accessUser = getAccessUser();
-		if(accessUser == null){
-			return new ResponseEntity<FailureBaseResponse>(new FailureBaseResponse("请先登录"), HttpStatus.INTERNAL_SERVER_ERROR);
+		Long rootOrgId = accessUser.getRootOrgId();
+
+		SaveExamReq saveExamReq = new SaveExamReq();
+		saveExamReq.setBeginTime(DateUtil.parse(examReq.getBeginTime(), DatePatterns.ISO));
+		saveExamReq.setDuration(examReq.getDuration());
+		saveExamReq.setEndTime(DateUtil.parse(examReq.getEndTime(), DatePatterns.ISO));
+		saveExamReq.setExamType(examReq.getExamType());
+		saveExamReq.setName(examReq.getName());
+		saveExamReq.setRootOrgId(rootOrgId);
+		examCloudService.saveExam(saveExamReq);
+
+		GetExamReq req = new GetExamReq();
+		req.setName(examReq.getName());
+		req.setRootOrgId(rootOrgId);
+		GetExamResp resp = examCloudService.getExam(req);
+
+		Map<String, Object> map = Maps.newHashMap();
+		map.put("examId", resp.getId());
+		return map;
+
+	}
+
+	/**
+	 * 方法注释
+	 *
+	 * @author WANGWEI
+	 * @param examStudentImportDTO
+	 */
+	private void tranTimes(ExamReq exam) {
+		String beginTime = exam.getBeginTime();
+		if (StringUtils.isNotBlank(beginTime)) {
+			beginTime = StringUtils.replace(beginTime, ".000Z", "");
+			beginTime = StringUtils.replace(beginTime, "T", " ");
+			exam.setBeginTime(beginTime);
 		}
-		try {
-			OutletExam exam = examService.createExam(examReq, accessUser.getUserToken(), accessUser.getRootOrgId());
-			return new ResponseEntity<SuccessBaseResponse>(new SuccessBaseResponse("执行成功",exam), HttpStatus.OK);
-		}catch(SaveExamException e){
-			e.printStackTrace();
-			return new ResponseEntity<FailureBaseResponse>(new FailureBaseResponse(e.getMessage()), HttpStatus.INTERNAL_SERVER_ERROR);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return new ResponseEntity<FailureBaseResponse>(new FailureBaseResponse("创建失败"), HttpStatus.INTERNAL_SERVER_ERROR);
+
+		String endTime = exam.getEndTime();
+		if (StringUtils.isNotBlank(endTime)) {
+			endTime = StringUtils.replace(endTime, ".000Z", "");
+			endTime = StringUtils.replace(endTime, "T", " ");
+			exam.setEndTime(endTime);
 		}
 	}
-	
-}
 
+}

+ 2 - 7
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/swufe/StudentInfoController.java

@@ -13,7 +13,6 @@ import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import cn.com.qmth.examcloud.common.dto.core.enums.CourseLevel;
-import cn.com.qmth.examcloud.commons.base.exception.StatusException;
 import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.core.basic.api.StudentCloudService;
@@ -60,12 +59,8 @@ public class StudentInfoController extends ControllerSupport {
 			GetExamReq req = new GetExamReq();
 			req.setName(cur.getExamName());
 			req.setRootOrgId(rootOrgId);
-			GetExamResp resp = null;
-			try {
-				resp = examCloudService.getExam(req);
-			} catch (StatusException e) {
-				throw e;
-			}
+			GetExamResp resp = examCloudService.getExam(req);
+
 			Long examId = resp.getId();
 			String examName = resp.getName();
 

+ 20 - 15
examcloud-exchange-outer-dao/src/main/java/cn/com/qmth/examcloud/exchange/dao/bean/ExamReq.java

@@ -1,41 +1,47 @@
 package cn.com.qmth.examcloud.exchange.dao.bean;
 
-import java.util.Date;
-
+import cn.com.qmth.examcloud.commons.web.cloud.api.JsonSerializable;
 
 /**
- * @author  	chenken
- * @date    	2018年5月2日 下午3:44:54
- * @company 	QMTH
+ * @author chenken
+ * @date 2018年5月2日 下午3:44:54
+ * @company QMTH
  * @description ExamReq.java
  */
-public class ExamReq{
+public class ExamReq implements JsonSerializable {
+
+	private static final long serialVersionUID = -4675668482972680269L;
 
 	/**
 	 * 机构ID
 	 */
 	private Long rootOrgId;
+
 	/**
 	 * 考试名称
 	 */
 	private String name;
+
 	/**
 	 * 考试类型
 	 */
 	private String examType;
+
 	/**
 	 * 考试开始时间
 	 */
-	private Date beginTime;
+	private String beginTime;
+
 	/**
 	 * 考试结束时间
 	 */
-	private Date endTime;
+	private String endTime;
+
 	/**
 	 * 考试时长(分钟)
 	 */
 	private Integer duration;
-	
+
 	public Long getRootOrgId() {
 		return rootOrgId;
 	}
@@ -60,19 +66,19 @@ public class ExamReq{
 		this.examType = examType;
 	}
 
-	public Date getBeginTime() {
+	public String getBeginTime() {
 		return beginTime;
 	}
 
-	public void setBeginTime(Date beginTime) {
+	public void setBeginTime(String beginTime) {
 		this.beginTime = beginTime;
 	}
 
-	public Date getEndTime() {
+	public String getEndTime() {
 		return endTime;
 	}
 
-	public void setEndTime(Date endTime) {
+	public void setEndTime(String endTime) {
 		this.endTime = endTime;
 	}
 
@@ -83,6 +89,5 @@ public class ExamReq{
 	public void setDuration(Integer duration) {
 		this.duration = duration;
 	}
-	
-}
 
+}