|
@@ -2,6 +2,7 @@ package cn.com.qmth.examcloud.exchange.outer.api.provider;
|
|
|
|
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
|
|
+import java.util.List;
|
|
|
|
|
|
import org.apache.commons.io.FileUtils;
|
|
import org.apache.commons.io.FileUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -12,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
+import com.google.common.collect.Lists;
|
|
|
|
+
|
|
import cn.com.qmth.examcloud.commons.base.exception.StatusException;
|
|
import cn.com.qmth.examcloud.commons.base.exception.StatusException;
|
|
import cn.com.qmth.examcloud.commons.base.util.HttpClientUtil;
|
|
import cn.com.qmth.examcloud.commons.base.util.HttpClientUtil;
|
|
import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
|
|
import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
|
|
@@ -20,7 +23,12 @@ import cn.com.qmth.examcloud.core.basic.api.StudentCloudService;
|
|
import cn.com.qmth.examcloud.core.basic.api.request.SaveStudentReq;
|
|
import cn.com.qmth.examcloud.core.basic.api.request.SaveStudentReq;
|
|
import cn.com.qmth.examcloud.core.basic.api.response.SaveStudentResp;
|
|
import cn.com.qmth.examcloud.core.basic.api.response.SaveStudentResp;
|
|
import cn.com.qmth.examcloud.exchange.outer.api.StudentOuterService;
|
|
import cn.com.qmth.examcloud.exchange.outer.api.StudentOuterService;
|
|
|
|
+import cn.com.qmth.examcloud.exchange.outer.api.bean.Student4BatchBean;
|
|
|
|
+import cn.com.qmth.examcloud.exchange.outer.api.bean.StudentStatus4BatchBean;
|
|
|
|
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterBatchSaveStudentReq;
|
|
import cn.com.qmth.examcloud.exchange.outer.api.request.OuterSaveStudentReq;
|
|
import cn.com.qmth.examcloud.exchange.outer.api.request.OuterSaveStudentReq;
|
|
|
|
+import cn.com.qmth.examcloud.exchange.outer.api.response.BatchOuterSaveExamStudentResp;
|
|
|
|
+import cn.com.qmth.examcloud.exchange.outer.api.response.BatchOuterSaveStudentResp;
|
|
import cn.com.qmth.examcloud.exchange.outer.api.response.OuterSaveStudentResp;
|
|
import cn.com.qmth.examcloud.exchange.outer.api.response.OuterSaveStudentResp;
|
|
import cn.com.qmth.examcloud.exchange.outer.service.FaceService;
|
|
import cn.com.qmth.examcloud.exchange.outer.service.FaceService;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
@@ -68,8 +76,6 @@ public class StudentOuterServiceProvider extends ControllerSupport implements St
|
|
throw new StatusException("EX-1000001", "rootOrgId is wrong");
|
|
throw new StatusException("EX-1000001", "rootOrgId is wrong");
|
|
}
|
|
}
|
|
|
|
|
|
- String identityNumber = req.getIdentityNumber();
|
|
|
|
-
|
|
|
|
SaveStudentReq request = new SaveStudentReq();
|
|
SaveStudentReq request = new SaveStudentReq();
|
|
request.setIdentityNumber(req.getIdentityNumber());
|
|
request.setIdentityNumber(req.getIdentityNumber());
|
|
request.setName(req.getName());
|
|
request.setName(req.getName());
|
|
@@ -80,10 +86,32 @@ public class StudentOuterServiceProvider extends ControllerSupport implements St
|
|
request.setRemark(req.getRemark());
|
|
request.setRemark(req.getRemark());
|
|
request.setRootOrgId(req.getRootOrgId());
|
|
request.setRootOrgId(req.getRootOrgId());
|
|
request.setStudentCode(req.getStudentCode());
|
|
request.setStudentCode(req.getStudentCode());
|
|
|
|
+
|
|
|
|
+ return processOuterSaveStudentReq(request,req.getPhotoUrl(),req.getOperator());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private OuterSaveStudentResp processOuterSaveStudentReq(SaveStudentReq saveStudentReq,String photoUrl,String operator){
|
|
|
|
+
|
|
|
|
+ SaveStudentResp response = studentCloudService.saveStudent(saveStudentReq);
|
|
|
|
|
|
- SaveStudentResp response = studentCloudService.saveStudent(request);
|
|
|
|
|
|
+ processPhotoUrl(saveStudentReq,photoUrl,operator);
|
|
|
|
|
|
- String photoUrl = req.getPhotoUrl();
|
|
|
|
|
|
+ OuterSaveStudentResp resp = new OuterSaveStudentResp();
|
|
|
|
+ resp.setOrgId(response.getOrgId());
|
|
|
|
+ resp.setOrgName(response.getOrgName());
|
|
|
|
+ resp.setRootOrgId(response.getRootOrgId());
|
|
|
|
+ resp.setStudentId(response.getStudentId());
|
|
|
|
+ return resp;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 处理照片
|
|
|
|
+ * @param req
|
|
|
|
+ */
|
|
|
|
+ private void processPhotoUrl(SaveStudentReq request,String photoUrl,String operator){
|
|
|
|
+ Long rootOrgId = request.getRootOrgId();
|
|
|
|
+ String identityNumber = request.getIdentityNumber();
|
|
|
|
+
|
|
if (StringUtils.isNotBlank(photoUrl)) {
|
|
if (StringUtils.isNotBlank(photoUrl)) {
|
|
byte[] bs = HttpClientUtil.get(photoUrl);
|
|
byte[] bs = HttpClientUtil.get(photoUrl);
|
|
|
|
|
|
@@ -110,8 +138,7 @@ public class StudentOuterServiceProvider extends ControllerSupport implements St
|
|
}
|
|
}
|
|
|
|
|
|
try {
|
|
try {
|
|
- faceService.processFace(rootOrgId, identityNumber, fileSuffix, temp,
|
|
|
|
- req.getOperator());
|
|
|
|
|
|
+ faceService.processFace(rootOrgId, identityNumber, fileSuffix, temp,operator);
|
|
} finally {
|
|
} finally {
|
|
try {
|
|
try {
|
|
FileUtils.forceDelete(temp);
|
|
FileUtils.forceDelete(temp);
|
|
@@ -120,13 +147,55 @@ public class StudentOuterServiceProvider extends ControllerSupport implements St
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- OuterSaveStudentResp resp = new OuterSaveStudentResp();
|
|
|
|
- resp.setOrgId(response.getOrgId());
|
|
|
|
- resp.setOrgName(response.getOrgName());
|
|
|
|
- resp.setRootOrgId(response.getRootOrgId());
|
|
|
|
- resp.setStudentId(response.getStudentId());
|
|
|
|
- return resp;
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @ApiOperation(value = "批量保存学生信息", httpMethod = "POST")
|
|
|
|
+ @ApiResponses({
|
|
|
|
+ @ApiResponse(code = 200, message = "成功", response = BatchOuterSaveStudentResp.class),
|
|
|
|
+ @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
|
|
|
|
+ @PostMapping("batchSaveStudent")
|
|
|
|
+ @Override
|
|
|
|
+ public BatchOuterSaveStudentResp batchSaveStudent(@RequestBody @ApiParam(required = true) OuterBatchSaveStudentReq outerBatchSaveStudentReq) {
|
|
|
|
+ if (!getSecurityRootOrgId().equals(outerBatchSaveStudentReq.getRootOrgId())) {
|
|
|
|
+ throw new StatusException("EX-1000001", "rootOrgId is wrong");
|
|
|
|
+ }
|
|
|
|
+ List<Student4BatchBean> studentList = outerBatchSaveStudentReq.getStudentList();
|
|
|
|
+
|
|
|
|
+ List<StudentStatus4BatchBean> successList = Lists.newArrayList();
|
|
|
|
+ List<StudentStatus4BatchBean> failureList = Lists.newArrayList();
|
|
|
|
+
|
|
|
|
+ for(Student4BatchBean req:studentList){
|
|
|
|
+ SaveStudentReq request = new SaveStudentReq();
|
|
|
|
+ request.setIdentityNumber(req.getIdentityNumber());
|
|
|
|
+ request.setName(req.getName());
|
|
|
|
+ request.setOrgCode(req.getOrgCode());
|
|
|
|
+ request.setOrgId(req.getOrgId());
|
|
|
|
+ request.setOrgName(req.getOrgName());
|
|
|
|
+ request.setPhoneNumber(req.getPhoneNumber());
|
|
|
|
+ request.setRemark(req.getRemark());
|
|
|
|
+ request.setRootOrgId(req.getRootOrgId());
|
|
|
|
+ request.setStudentCode(req.getStudentCode());
|
|
|
|
+
|
|
|
|
+ try{
|
|
|
|
+ OuterSaveStudentResp outerSaveStudentResp = processOuterSaveStudentReq(request,req.getPhotoUrl(),req.getOperator());
|
|
|
|
+ StudentStatus4BatchBean studentStatus4BatchBeanSuccess = new StudentStatus4BatchBean();
|
|
|
|
+ studentStatus4BatchBeanSuccess.setStudentId(outerSaveStudentResp.getStudentId());
|
|
|
|
+ studentStatus4BatchBeanSuccess.setIdentityNumber(req.getIdentityNumber());
|
|
|
|
+ studentStatus4BatchBeanSuccess.setName(req.getName());
|
|
|
|
+ studentStatus4BatchBeanSuccess.setStudentCode(req.getStudentCode());
|
|
|
|
+ successList.add(studentStatus4BatchBeanSuccess);
|
|
|
|
+ }catch(Exception e){
|
|
|
|
+ StudentStatus4BatchBean studentStatus4BatchBeanfailure = new StudentStatus4BatchBean();
|
|
|
|
+ studentStatus4BatchBeanfailure.setIdentityNumber(req.getIdentityNumber());
|
|
|
|
+ studentStatus4BatchBeanfailure.setName(req.getName());
|
|
|
|
+ studentStatus4BatchBeanfailure.setStudentCode(req.getStudentCode());
|
|
|
|
+ failureList.add(studentStatus4BatchBeanfailure);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ BatchOuterSaveStudentResp resq = new BatchOuterSaveStudentResp();
|
|
|
|
+ resq.setSuccessList(successList);
|
|
|
|
+ resq.setFailureList(failureList);
|
|
|
|
+ return resq;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|