|
@@ -1,12 +1,17 @@
|
|
package cn.com.qmth.examcloud.exchange.outer.api.provider;
|
|
package cn.com.qmth.examcloud.exchange.outer.api.provider;
|
|
|
|
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
|
|
|
+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.UrlUtil;
|
|
import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
|
|
import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
|
|
import cn.com.qmth.examcloud.core.basic.api.StudentCloudService;
|
|
import cn.com.qmth.examcloud.core.basic.api.StudentCloudService;
|
|
import cn.com.qmth.examcloud.core.basic.api.request.InsertOrUpdateStudentReq;
|
|
import cn.com.qmth.examcloud.core.basic.api.request.InsertOrUpdateStudentReq;
|
|
|
|
+import cn.com.qmth.examcloud.core.basic.api.response.InsertOrUpdateStudentResp;
|
|
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.request.SaveStudentReq;
|
|
import cn.com.qmth.examcloud.exchange.outer.api.request.SaveStudentReq;
|
|
import cn.com.qmth.examcloud.exchange.outer.api.response.SaveStudentResp;
|
|
import cn.com.qmth.examcloud.exchange.outer.api.response.SaveStudentResp;
|
|
@@ -34,10 +39,24 @@ public class StudentOuterServiceProvider extends ControllerSupport implements St
|
|
@PostMapping("saveStudent")
|
|
@PostMapping("saveStudent")
|
|
@Override
|
|
@Override
|
|
public SaveStudentResp saveStudent(@RequestBody SaveStudentReq req) {
|
|
public SaveStudentResp saveStudent(@RequestBody SaveStudentReq req) {
|
|
-
|
|
|
|
|
|
+ String identityNumber = req.getIdentityNumber();
|
|
|
|
+ Long rootOrgId = req.getRootOrgId();
|
|
|
|
+
|
|
String photoPath = req.getPhotoPath();
|
|
String photoPath = req.getPhotoPath();
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(photoPath)) {
|
|
|
|
+ if (photoPath.startsWith("http")) {
|
|
|
|
+ byte[] bs = HttpClientUtil.get(photoPath);
|
|
|
|
+
|
|
|
|
+ int lastIndexOf = photoPath.lastIndexOf(".");
|
|
|
|
+ if (0 > lastIndexOf) {
|
|
|
|
+ throw new StatusException("EX-100002",
|
|
|
|
+ "photoPath is not end with photo file suffix.");
|
|
|
|
+ }
|
|
|
|
+ String fileSuffix = photoPath.substring(lastIndexOf);
|
|
|
|
+ photoPath = upyunService.saveStudentPhoto(UrlUtil.encode(identityNumber), rootOrgId,
|
|
|
|
+ fileSuffix, bs);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
InsertOrUpdateStudentReq request = new InsertOrUpdateStudentReq();
|
|
InsertOrUpdateStudentReq request = new InsertOrUpdateStudentReq();
|
|
request.setIdentityNumber(req.getIdentityNumber());
|
|
request.setIdentityNumber(req.getIdentityNumber());
|
|
@@ -49,11 +68,15 @@ 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());
|
|
|
|
+ request.setPhotoPath(photoPath);
|
|
|
|
|
|
- request.setPhotoPath("");
|
|
|
|
-
|
|
|
|
- studentCloudService.insertOrUpdateStudent(request);
|
|
|
|
- return null;
|
|
|
|
|
|
+ InsertOrUpdateStudentResp response = studentCloudService.insertOrUpdateStudent(request);
|
|
|
|
+ SaveStudentResp resp = new SaveStudentResp();
|
|
|
|
+ resp.setOrgId(response.getOrgId());
|
|
|
|
+ resp.setOrgName(response.getOrgName());
|
|
|
|
+ resp.setRootOrgId(response.getRootOrgId());
|
|
|
|
+ resp.setStudentId(response.getStudentId());
|
|
|
|
+ return resp;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|