WANG 6 anni fa
parent
commit
db28ec1d55

+ 124 - 120
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/ExamOuterServiceProvider.java

@@ -1,120 +1,124 @@
-package cn.com.qmth.examcloud.exchange.outer.api.provider;
-
-import java.util.Date;
-
-import org.springframework.beans.factory.annotation.Autowired;
-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 cn.com.qmth.examcloud.commons.base.exception.StatusException;
-import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
-import cn.com.qmth.examcloud.commons.web.support.StatusResponse;
-import cn.com.qmth.examcloud.examwork.api.ExamCloudService;
-import cn.com.qmth.examcloud.examwork.api.bean.ExamBean;
-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.examwork.api.response.SaveExamResp;
-import cn.com.qmth.examcloud.exchange.outer.api.ExamOuterService;
-import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetExamReq;
-import cn.com.qmth.examcloud.exchange.outer.api.request.OuterSaveExamReq;
-import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetExamResp;
-import cn.com.qmth.examcloud.exchange.outer.api.response.OuterSaveExamResp;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-
-/**
- * 考试服务
- *
- * @author WANGWEI
- * @date 2018年7月2日
- * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
- */
-@Api(value = "考试服务")
-@RestController
-@RequestMapping("${$rmp.cloud.exchange.outer}/exam")
-public class ExamOuterServiceProvider extends ControllerSupport implements ExamOuterService {
-
-	private static final long serialVersionUID = 4007321110021402052L;
-
-	@Autowired
-	ExamCloudService examCloudService;
-
-	@ApiOperation(value = "保存考试信息", httpMethod = "POST")
-	@ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterSaveExamResp.class),
-			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
-	@PostMapping("saveExam")
-	@Override
-	public OuterSaveExamResp saveExam(
-			@RequestBody @ApiParam(required = true) OuterSaveExamReq req) {
-
-		if (!getSecurityRootOrgId().equals(req.getRootOrgId())) {
-			throw new StatusException("EX-1000001", "rootOrgId is wrong");
-		}
-
-		Date beginTime = req.getBeginTime();
-		Integer duration = req.getDuration();
-		Date endTime = req.getEndTime();
-		String examType = req.getExamType();
-		String name = req.getName();
-		String remark = req.getRemark();
-		Long rootOrgId = req.getRootOrgId();
-		Long examTimes = req.getExamTimes();
-
-		SaveExamReq saveExamReq = new SaveExamReq();
-		saveExamReq.setBeginTime(beginTime);
-		saveExamReq.setDuration(duration);
-		saveExamReq.setEndTime(endTime);
-		saveExamReq.setExamType(examType);
-		saveExamReq.setName(name);
-		saveExamReq.setRemark(remark);
-		saveExamReq.setRootOrgId(rootOrgId);
-		saveExamReq.setExamTimes(examTimes);
-
-		SaveExamResp r = examCloudService.saveExam(saveExamReq);
-
-		OuterSaveExamResp resp = new OuterSaveExamResp();
-		resp.setExamId(r.getExamId());
-		return resp;
-	}
-
-	@ApiOperation(value = "查询考试信息", httpMethod = "POST")
-	@ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetExamResp.class),
-			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
-	@PostMapping("getExam")
-	@Override
-	public OuterGetExamResp getExam(@RequestBody @ApiParam(required = true) OuterGetExamReq req) {
-		Long id = req.getId();
-		String name = req.getName();
-		Long orgId = req.getOrgId();
-		Long rootOrgId = req.getRootOrgId();
-
-		GetExamReq getExamReq = new GetExamReq();
-		getExamReq.setId(id);
-		getExamReq.setName(name);
-		getExamReq.setOrgId(orgId);
-		getExamReq.setRootOrgId(rootOrgId);
-		GetExamResp r = examCloudService.getExam(getExamReq);
-		ExamBean e = r.getExamBean();
-
-		OuterGetExamResp resp = new OuterGetExamResp();
-		resp.setBeginTime(e.getBeginTime());
-		resp.setDuration(e.getDuration());
-		resp.setEnable(e.getEnable());
-		resp.setEndTime(e.getEndTime());
-		resp.setExamTimes(e.getExamTimes());
-		resp.setExamType(e.getExamType());
-		resp.setId(e.getId());
-		resp.setName(e.getName());
-		resp.setRemark(e.getRemark());
-		resp.setRootOrgId(e.getRootOrgId());
-
-		return resp;
-	}
-
-}
+package cn.com.qmth.examcloud.exchange.outer.api.provider;
+
+import java.util.Date;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+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 cn.com.qmth.examcloud.commons.base.exception.StatusException;
+import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
+import cn.com.qmth.examcloud.commons.web.support.StatusResponse;
+import cn.com.qmth.examcloud.examwork.api.ExamCloudService;
+import cn.com.qmth.examcloud.examwork.api.bean.ExamBean;
+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.examwork.api.response.SaveExamResp;
+import cn.com.qmth.examcloud.exchange.outer.api.ExamOuterService;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetExamReq;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterSaveExamReq;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetExamResp;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterSaveExamResp;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+/**
+ * 考试服务
+ *
+ * @author WANGWEI
+ * @date 2018年7月2日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+@Api(value = "考试服务")
+@RestController
+@RequestMapping("${$rmp.cloud.exchange.outer}/exam")
+public class ExamOuterServiceProvider extends ControllerSupport implements ExamOuterService {
+
+	private static final long serialVersionUID = 4007321110021402052L;
+
+	@Autowired
+	ExamCloudService examCloudService;
+
+	@ApiOperation(value = "保存考试信息", httpMethod = "POST")
+	@ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterSaveExamResp.class),
+			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
+	@PostMapping("saveExam")
+	@Override
+	public OuterSaveExamResp saveExam(
+			@RequestBody @ApiParam(required = true) OuterSaveExamReq req) {
+
+		if (!getSecurityRootOrgId().equals(req.getRootOrgId())) {
+			throw new StatusException("EX-1000001", "rootOrgId is wrong");
+		}
+
+		Date beginTime = req.getBeginTime();
+		Integer duration = req.getDuration();
+		Date endTime = req.getEndTime();
+		String examType = req.getExamType();
+		String name = req.getName();
+		String remark = req.getRemark();
+		Long rootOrgId = req.getRootOrgId();
+		Long examTimes = req.getExamTimes();
+		Map<String, String> properties = req.getProperties();
+
+		SaveExamReq saveExamReq = new SaveExamReq();
+		saveExamReq.setBeginTime(beginTime);
+		saveExamReq.setDuration(duration);
+		saveExamReq.setEndTime(endTime);
+		saveExamReq.setExamType(examType);
+		saveExamReq.setName(name);
+		saveExamReq.setRemark(remark);
+		saveExamReq.setRootOrgId(rootOrgId);
+		saveExamReq.setExamTimes(examTimes);
+
+		saveExamReq.setProperties(properties);
+
+		SaveExamResp r = examCloudService.saveExam(saveExamReq);
+
+		OuterSaveExamResp resp = new OuterSaveExamResp();
+		resp.setExamId(r.getExamId());
+		return resp;
+	}
+
+	@ApiOperation(value = "查询考试信息", httpMethod = "POST")
+	@ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetExamResp.class),
+			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
+	@PostMapping("getExam")
+	@Override
+	public OuterGetExamResp getExam(@RequestBody @ApiParam(required = true) OuterGetExamReq req) {
+		Long id = req.getId();
+		String name = req.getName();
+		Long orgId = req.getOrgId();
+		Long rootOrgId = req.getRootOrgId();
+
+		GetExamReq getExamReq = new GetExamReq();
+		getExamReq.setId(id);
+		getExamReq.setName(name);
+		getExamReq.setOrgId(orgId);
+		getExamReq.setRootOrgId(rootOrgId);
+		GetExamResp r = examCloudService.getExam(getExamReq);
+		ExamBean e = r.getExamBean();
+
+		OuterGetExamResp resp = new OuterGetExamResp();
+		resp.setBeginTime(e.getBeginTime());
+		resp.setDuration(e.getDuration());
+		resp.setEnable(e.getEnable());
+		resp.setEndTime(e.getEndTime());
+		resp.setExamTimes(e.getExamTimes());
+		resp.setExamType(e.getExamType());
+		resp.setId(e.getId());
+		resp.setName(e.getName());
+		resp.setRemark(e.getRemark());
+		resp.setRootOrgId(e.getRootOrgId());
+
+		return resp;
+	}
+
+}

+ 119 - 107
examcloud-exchange-outer-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterSaveExamReq.java

@@ -1,107 +1,119 @@
-package cn.com.qmth.examcloud.exchange.outer.api.request;
-
-import java.util.Date;
-
-import cn.com.qmth.examcloud.commons.web.cloud.api.BaseRequest;
-import io.swagger.annotations.ApiModelProperty;
-
-/**
- * 类注释
- *
- * @author WANGWEI
- * @date 2018年11月16日
- * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
- */
-public class OuterSaveExamReq extends BaseRequest {
-
-	private static final long serialVersionUID = 8298816850875139485L;
-
-	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
-	private Long rootOrgId;
-
-	@ApiModelProperty(value = " 考试批次开始时间", example = "2018-10-10 08:00:00", required = true)
-	private Date beginTime;
-
-	@ApiModelProperty(value = " 考试批次结束时间", example = "2018-10-10 08:00:00", required = true)
-	private Date endTime;
-
-	@ApiModelProperty(value = "考试名称", example = "2018年6月期末考试", required = true)
-	private String name;
-
-	@ApiModelProperty(value = " 考试类型(ONLINE:网考;TRADITION:传统;OFFLINE:离线;PRACTICE:练习;PRINT_EXAM:PRINT_EXAM.)", example = "ONLINE", required = true)
-	private String examType;
-
-	@ApiModelProperty(value = "考试时长(单位:分钟)", example = "120", required = true)
-	private Integer duration;
-
-	@ApiModelProperty(value = "考试备注", example = "xxx", required = true)
-	private String remark;
-
-	@ApiModelProperty(value = "考试次数", example = "2", required = true)
-	private Long examTimes;
-
-	public Long getRootOrgId() {
-		return rootOrgId;
-	}
-
-	public void setRootOrgId(Long rootOrgId) {
-		this.rootOrgId = rootOrgId;
-	}
-
-	public Date getBeginTime() {
-		return beginTime;
-	}
-
-	public void setBeginTime(Date beginTime) {
-		this.beginTime = beginTime;
-	}
-
-	public Date getEndTime() {
-		return endTime;
-	}
-
-	public void setEndTime(Date endTime) {
-		this.endTime = endTime;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public String getExamType() {
-		return examType;
-	}
-
-	public void setExamType(String examType) {
-		this.examType = examType;
-	}
-
-	public Integer getDuration() {
-		return duration;
-	}
-
-	public void setDuration(Integer duration) {
-		this.duration = duration;
-	}
-
-	public String getRemark() {
-		return remark;
-	}
-
-	public void setRemark(String remark) {
-		this.remark = remark;
-	}
-
-	public Long getExamTimes() {
-		return examTimes;
-	}
-
-	public void setExamTimes(Long examTimes) {
-		this.examTimes = examTimes;
-	}
-
-}
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import java.util.Date;
+import java.util.Map;
+
+import cn.com.qmth.examcloud.commons.web.cloud.api.BaseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年11月16日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterSaveExamReq extends BaseRequest {
+
+	private static final long serialVersionUID = 8298816850875139485L;
+
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = " 考试批次开始时间", example = "2018-10-10 08:00:00", required = true)
+	private Date beginTime;
+
+	@ApiModelProperty(value = " 考试批次结束时间", example = "2018-10-10 08:00:00", required = true)
+	private Date endTime;
+
+	@ApiModelProperty(value = "考试名称", example = "2018年6月期末考试", required = true)
+	private String name;
+
+	@ApiModelProperty(value = " 考试类型(ONLINE:网考;TRADITION:传统;OFFLINE:离线;PRACTICE:练习;PRINT_EXAM:PRINT_EXAM.)", example = "ONLINE", required = true)
+	private String examType;
+
+	@ApiModelProperty(value = "考试时长(单位:分钟)", example = "120", required = true)
+	private Integer duration;
+
+	@ApiModelProperty(value = "考试备注", example = "xxx", required = true)
+	private String remark;
+
+	@ApiModelProperty(value = "考试次数", example = "2", required = true)
+	private Long examTimes;
+
+	@ApiModelProperty(value = "扩展属性", example = "{\"IS_FACE_ENABLE\":\"false\"}", required = true)
+	private Map<String, String> properties;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Date getBeginTime() {
+		return beginTime;
+	}
+
+	public void setBeginTime(Date beginTime) {
+		this.beginTime = beginTime;
+	}
+
+	public Date getEndTime() {
+		return endTime;
+	}
+
+	public void setEndTime(Date endTime) {
+		this.endTime = endTime;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getExamType() {
+		return examType;
+	}
+
+	public void setExamType(String examType) {
+		this.examType = examType;
+	}
+
+	public Integer getDuration() {
+		return duration;
+	}
+
+	public void setDuration(Integer duration) {
+		this.duration = duration;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public Long getExamTimes() {
+		return examTimes;
+	}
+
+	public void setExamTimes(Long examTimes) {
+		this.examTimes = examTimes;
+	}
+
+	public Map<String, String> getProperties() {
+		return properties;
+	}
+
+	public void setProperties(Map<String, String> properties) {
+		this.properties = properties;
+	}
+
+}