wangwei %!s(int64=6) %!d(string=hai) anos
pai
achega
2b69505008

+ 6 - 17
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/CourseController.java

@@ -35,7 +35,6 @@ import org.springframework.web.multipart.commons.CommonsMultipartFile;
 
 import com.google.common.collect.Lists;
 
-import cn.com.qmth.examcloud.commons.base.util.ErrorMsg;
 import cn.com.qmth.examcloud.commons.base.util.excel.ExcelError;
 import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
@@ -250,22 +249,12 @@ public class CourseController extends ControllerSupport {
 
 	@ApiOperation(value = "导入课程", notes = "导入")
 	@PostMapping("/import")
-	public ResponseEntity importCourse(HttpServletRequest request,
-			@RequestParam CommonsMultipartFile file) {
-		cn.com.qmth.examcloud.commons.web.security.bean.User accessUser = getAccessUser();
-		Long orgId = null;
-		if (accessUser != null) {
-			orgId = accessUser.getRootOrgId();
-		} else {
-			return new ResponseEntity(new ErrorMsg("用户token不存在或已失效"), HttpStatus.NOT_FOUND);
-		}
-		try {
-			List<ExcelError> errors = courseService.importCourse(orgId, file.getInputStream());
-			return new ResponseEntity(errors, HttpStatus.OK);
-		} catch (IOException e) {
-			e.printStackTrace();
-			return new ResponseEntity(HttpStatus.INTERNAL_SERVER_ERROR);
-		}
+	public List<ExcelError> importCourse(HttpServletRequest request,
+			@RequestParam CommonsMultipartFile file) throws IOException {
+		User accessUser = getAccessUser();
+		Long rootOrgId = accessUser.getRootOrgId();
+		List<ExcelError> errors = courseService.importCourse(rootOrgId, file.getInputStream());
+		return errors;
 	}
 
 	@ApiOperation(value = "下载导入模板", notes = "下载导入模板")

+ 11 - 13
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/FaceSetTokenController.java

@@ -9,33 +9,31 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import cn.com.qmth.examcloud.commons.base.util.ErrorMsg;
 import cn.com.qmth.examcloud.core.basic.service.impl.FaceSetTokenService;
 
 /**
- * @author  	chenken
- * @date    	2018年1月23日 上午11:21:39
- * @company 	QMTH
+ * @author chenken
+ * @date 2018年1月23日 上午11:21:39
+ * @company QMTH
  * @description FaceSetTokenApi.java
  */
 @RestController
 @RequestMapping("${$rmp.ctr.basic}/faceSet")
 public class FaceSetTokenController {
-	
+
 	@Autowired
 	private FaceSetTokenService faceSetTokenService;
-	
-	@ApiOperation(value="查询可用的faceSet",notes="查询可用的faceSet")
-    @GetMapping("/enableFaceSet")
-	public ResponseEntity<Object> getEnableFaceSet(){
-		try{
+
+	@ApiOperation(value = "查询可用的faceSet", notes = "查询可用的faceSet")
+	@GetMapping("/enableFaceSet")
+	public ResponseEntity<Object> getEnableFaceSet() {
+		try {
 			String faceSet = faceSetTokenService.getEnableFaceSet();
 			return new ResponseEntity<Object>(faceSet, HttpStatus.OK);
-		}catch(Exception e){
+		} catch (Exception e) {
 			e.printStackTrace();
 			return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
 		}
 	}
-	
-}
 
+}

+ 58 - 82
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/SpecialtyController.java

@@ -24,9 +24,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.commons.CommonsMultipartFile;
 
-import cn.com.qmth.examcloud.commons.base.util.ErrorMsg;
 import cn.com.qmth.examcloud.commons.base.util.excel.ExcelError;
-import cn.com.qmth.examcloud.commons.web.security.entity.AccessUser;
+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.dao.SpecialtyRepo;
 import cn.com.qmth.examcloud.core.basic.dao.entity.Specialty;
@@ -38,174 +37,151 @@ import io.swagger.annotations.ApiOperation;
 /**
  * @Description: 专业服务API
  * @author weiwenhai
- * @Date  2017年8月7号
+ * @Date 2017年8月7号
  */
 @RestController
 @RequestMapping("${$rmp.ctr.basic}/specialty")
-public class SpecialtyController extends ControllerSupport{
+public class SpecialtyController extends ControllerSupport {
 
 	@Autowired
 	SpecialtyService specialtyService;
-	
+
 	@Autowired
 	SpecialtyRepo specialtyRepo;
-	
+
 	/**
 	 * 带分页查询
+	 * 
 	 * @param specialty
 	 * @param curPage
 	 * @param pageSize
 	 * @param request
 	 * @return
 	 */
-	@ApiOperation(value="查询专业带分页", notes="查询专业带分页")
+	@ApiOperation(value = "查询专业带分页", notes = "查询专业带分页")
 	@GetMapping("/all/{curPage}/{pageSize}")
 	public ResponseEntity getAllOrg(@ModelAttribute Specialty specialty,
-									@RequestParam(required = false ) Long courseId,
-									@PathVariable Integer curPage,
-									@PathVariable Integer pageSize,
-									HttpServletRequest request){
+			@RequestParam(required = false) Long courseId, @PathVariable Integer curPage,
+			@PathVariable Integer pageSize, HttpServletRequest request) {
 		cn.com.qmth.examcloud.commons.web.security.bean.User accessUser = getAccessUser();
-		if(accessUser != null){
+		if (accessUser != null) {
 			specialty.setOrgId(accessUser.getRootOrgId());
-		}else {
+		} else {
 			return new ResponseEntity(HttpStatus.NOT_FOUND);
 		}
-		return new ResponseEntity(specialtyService.findAll(specialty,courseId, new PageRequest(curPage-1, pageSize)),HttpStatus.OK);
+		return new ResponseEntity(specialtyService.findAll(specialty, courseId,
+				new PageRequest(curPage - 1, pageSize)), HttpStatus.OK);
 	}
 
 	/**
 	 * 按code查询专业
+	 * 
 	 * @param orgId
 	 * @param code
 	 * @return
 	 */
-	@ApiOperation(value="按code查询专业",notes="按code查询专业")
+	@ApiOperation(value = "按code查询专业", notes = "按code查询专业")
 	@GetMapping
-	public ResponseEntity getAll(@RequestParam Long orgId, @RequestParam String code){
-		return new ResponseEntity(specialtyRepo.findByOrgIdAndCode(orgId,code),HttpStatus.OK);
+	public ResponseEntity getAll(@RequestParam Long orgId, @RequestParam String code) {
+		return new ResponseEntity(specialtyRepo.findByOrgIdAndCode(orgId, code), HttpStatus.OK);
 	}
-	
+
 	/**
 	 * 查询专业不带分页
+	 * 
 	 * @param specialty
 	 * @param request
 	 * @return
 	 */
-	@ApiOperation(value="查询专业不带分页",notes="查询专业不带分页")
+	@ApiOperation(value = "查询专业不带分页", notes = "查询专业不带分页")
 	@GetMapping("/all")
-	public ResponseEntity getAll(@ModelAttribute Specialty specialty,HttpServletRequest request){
+	public ResponseEntity getAll(@ModelAttribute Specialty specialty, HttpServletRequest request) {
 		cn.com.qmth.examcloud.commons.web.security.bean.User accessUser = getAccessUser();
-		if(accessUser != null){
+		if (accessUser != null) {
 			specialty.setOrgId(accessUser.getRootOrgId());
 		}
 		specialty.setEnable(true);
-		return new ResponseEntity(specialtyService.findAll(specialty),HttpStatus.OK);
+		return new ResponseEntity(specialtyService.findAll(specialty), HttpStatus.OK);
 	}
-	
+
 	/**
 	 * 新增专业
+	 * 
 	 * @param specialty
 	 * @param request
 	 * @return
 	 */
-	@ApiOperation(value="新增专业", notes="新增专业")
+	@ApiOperation(value = "新增专业", notes = "新增专业")
 	@PostMapping("/addSpecialty")
-	public ResponseEntity addSpecialty(@RequestBody Specialty specialty,HttpServletRequest request){
+	public void addSpecialty(@RequestBody Specialty specialty, HttpServletRequest request) {
 		specialty.setCreateTime(new Date());
-		cn.com.qmth.examcloud.commons.web.security.bean.User accessUser = getAccessUser();
-		if(accessUser != null){
-			specialty.setOrgId(accessUser.getRootOrgId());
-		}else {
-			return new ResponseEntity(HttpStatus.NOT_FOUND);
-		}
-		try{
-			specialtyService.save(specialty);
-			return new ResponseEntity(HttpStatus.CREATED);
-		} catch (Exception e) {
-			 e.printStackTrace();
-			 return new ResponseEntity(new ErrorMsg(e.getMessage()), HttpStatus.INTERNAL_SERVER_ERROR);
-		}
+		User accessUser = getAccessUser();
+		specialty.setOrgId(accessUser.getRootOrgId());
+		specialtyService.save(specialty);
 	}
-	
+
 	/**
 	 * 更新专业
+	 * 
 	 * @param specialty
 	 * @param request
 	 * @return
 	 */
-	@ApiOperation(value="更新专业",notes="更新专业")
+	@ApiOperation(value = "更新专业", notes = "更新专业")
 	@PutMapping("/updateSpecialty")
-	public ResponseEntity updateSpecialty(@RequestBody Specialty specialty,HttpServletRequest request){
-		cn.com.qmth.examcloud.commons.web.security.bean.User accessUser = getAccessUser();
-		if(accessUser != null){
-			specialty.setOrgId(accessUser.getRootOrgId());
-		}else {
-			return new ResponseEntity(HttpStatus.NOT_FOUND);
-		}
-		try{
-			specialtyService.updateSpecialty(specialty);
-			return new ResponseEntity(HttpStatus.OK);
-		} catch (Exception e) {
-			 e.printStackTrace();
-			 return new ResponseEntity(new ErrorMsg(e.getMessage()), HttpStatus.INTERNAL_SERVER_ERROR);
-		}
+	public void updateSpecialty(@RequestBody Specialty specialty, HttpServletRequest request) {
+		User accessUser = getAccessUser();
+		specialty.setOrgId(accessUser.getRootOrgId());
+		specialtyService.updateSpecialty(specialty);
 	}
-	
+
 	/**
 	 * 根据ID删除专业
+	 * 
 	 * @param ids
 	 * @return
 	 */
-	@ApiOperation(value="根据ID删除专业",notes="根据ID删除专业")
+	@ApiOperation(value = "根据ID删除专业", notes = "根据ID删除专业")
 	@DeleteMapping("/{ids}")
-	public ResponseEntity deleteSpecialtyIds(@PathVariable String ids){
+	public ResponseEntity deleteSpecialtyIds(@PathVariable String ids) {
 		specialtyService.deleteSpecialty(ids);
 		return new ResponseEntity(HttpStatus.OK);
 	}
-	
-	@ApiOperation(value="根据ID删除专业",notes="根据ID删除专业")
+
+	@ApiOperation(value = "根据ID删除专业", notes = "根据ID删除专业")
 	@DeleteMapping("/delete/{id}")
-	public ResponseEntity deleteSpecialtyId(@PathVariable String id){
+	public ResponseEntity deleteSpecialtyId(@PathVariable String id) {
 		specialtyRepo.delete(Long.parseLong(id));
 		return new ResponseEntity(HttpStatus.OK);
 	}
 
-	@ApiOperation(value="下载导入模板",notes = "下载导入模板")
+	@ApiOperation(value = "下载导入模板", notes = "下载导入模板")
 	@GetMapping("/download")
-	public void importFileTemplate(HttpServletResponse response){
-		List<SpecialtyDto> list= new ArrayList<SpecialtyDto>();
+	public void importFileTemplate(HttpServletResponse response) {
+		List<SpecialtyDto> list = new ArrayList<SpecialtyDto>();
 		ExportService.exportEXCEL("专业导入模板", SpecialtyDto.class, list, response);
 	}
 
-	@ApiOperation(value="导入",notes = "导入")
+	@ApiOperation(value = "导入", notes = "导入")
 	@PostMapping("/import")
-	public ResponseEntity importCourse(HttpServletRequest request,
-									   @RequestParam CommonsMultipartFile file){
+	public List<ExcelError> importCourse(HttpServletRequest request,
+			@RequestParam CommonsMultipartFile file) throws IOException {
 		cn.com.qmth.examcloud.commons.web.security.bean.User accessUser = getAccessUser();
-		Long orgId = null;
-		if(accessUser != null){
-			orgId = accessUser.getRootOrgId();
-		}else{
-			return new ResponseEntity(new ErrorMsg("用户token不存在或已失效"),HttpStatus.NOT_FOUND);
-		}
-		try {
-			List<ExcelError> errors = specialtyService.importSpecialty(orgId,file.getInputStream());
-			return new ResponseEntity(errors,HttpStatus.OK);
-		} catch (IOException e) {
-			e.printStackTrace();
-			return new ResponseEntity(HttpStatus.INTERNAL_SERVER_ERROR);
-		}
+		Long orgId = accessUser.getRootOrgId();
+
+		List<ExcelError> errors = specialtyService.importSpecialty(orgId, file.getInputStream());
+		return errors;
 	}
-	
+
 	/**
 	 * 导出专业
+	 * 
 	 * @param specialty
 	 * @param response
 	 */
-	@ApiOperation(value="导出专业", notes="导出专业")
+	@ApiOperation(value = "导出专业", notes = "导出专业")
 	@GetMapping("/export")
-	public void exportSpecialty(@ModelAttribute Specialty specialty,HttpServletResponse response){
+	public void exportSpecialty(@ModelAttribute Specialty specialty, HttpServletResponse response) {
 		List<SpecialtyDto> list = new ArrayList<SpecialtyDto>();
 		specialtyService.findAll(specialty).forEach(c -> {
 			list.add(new SpecialtyDto(c));

+ 0 - 15
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/StudentController.java

@@ -1,6 +1,5 @@
 package cn.com.qmth.examcloud.core.basic.api.controller;
 
-import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -23,7 +22,6 @@ import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -32,7 +30,6 @@ 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.util.ErrorMsg;
 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.dao.StudentRepo;
@@ -145,18 +142,6 @@ public class StudentController extends ControllerSupport {
 		return id;
 	}
 
-	@ApiOperation(value = "学生照片绑定", notes = "照片绑定")
-	@PostMapping("/photo")
-	public ResponseEntity photopBundled(@RequestParam Long orgId, @RequestParam File file) {
-		try {
-			List<ErrorMsg> errorMsgs = studentService.photopBundled(orgId, file);
-			return new ResponseEntity(errorMsgs, HttpStatus.OK);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return new ResponseEntity(HttpStatus.INTERNAL_SERVER_ERROR);
-		}
-	}
-
 	/**
 	 * 方法注释
 	 *

+ 3 - 4
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/StudentFaceInfoController.java

@@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import cn.com.qmth.examcloud.commons.base.exception.StatusException;
-import cn.com.qmth.examcloud.commons.base.util.ErrorMsg;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.core.basic.api.StudentFaceCloudService;
 import cn.com.qmth.examcloud.core.basic.api.request.SaveStudentFaceInfoReq;
@@ -62,18 +61,18 @@ public class StudentFaceInfoController extends ControllerSupport {
 
 	@ApiOperation(value = "按学号查询", notes = "查询")
 	@GetMapping("/studentCode")
-	public ResponseEntity findByStudentCode(@RequestParam Long orgId,
+	public StudentFaceInfo findByStudentCode(@RequestParam Long orgId,
 			@RequestParam String studentCode) {
 		Student student = studentRepo.findByStudentCodeAndRootOrgId(studentCode, orgId);
 		if (student == null) {
-			return new ResponseEntity(new ErrorMsg("该学生不存在"), HttpStatus.OK);
+			throw new StatusException("B-450121", "学生不存在");
 		}
 		StudentFaceInfo studentFaceInfo = studentFaceInfoRepo.findByStudentId(student.getId());
 		if (studentFaceInfo == null) {
 			studentFaceInfo = new StudentFaceInfo();
 			studentFaceInfo.setStudent(student);
 		}
-		return new ResponseEntity(studentFaceInfo, HttpStatus.OK);
+		return studentFaceInfo;
 	}
 
 	@ApiOperation(value = "按ID查询", notes = "ID查询")

+ 0 - 33
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/StudentServiceImpl.java

@@ -2,8 +2,6 @@ package cn.com.qmth.examcloud.core.basic.service.impl;
 
 import static org.springframework.data.domain.ExampleMatcher.GenericPropertyMatchers.contains;
 
-import java.io.File;
-import java.util.ArrayList;
 import java.util.List;
 
 import javax.transaction.Transactional;
@@ -17,7 +15,6 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 
 import cn.com.qmth.examcloud.commons.base.exception.StatusException;
-import cn.com.qmth.examcloud.commons.base.util.ErrorMsg;
 import cn.com.qmth.examcloud.commons.base.util.PropertiesUtil;
 import cn.com.qmth.examcloud.core.basic.base.constants.PropKeys;
 import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
@@ -80,36 +77,6 @@ public class StudentServiceImpl implements StudentService {
 		return studentRepo.findAll(studentExample);
 	}
 
-	/**
-	 * 绑定学生照片
-	 *
-	 * @return
-	 */
-	public List<ErrorMsg> photopBundled(Long rootOrgId, File directory) {
-		List<ErrorMsg> list = new ArrayList<ErrorMsg>();
-		if (directory.isDirectory()) {
-			for (File file : directory.listFiles()) {
-				if (!file.getName().endsWith(JPG)) {
-					list.add(new ErrorMsg(file.getName() + "格式错误,文件名格式必须是jpg(小写)"));
-				}
-				String fileName = file.getName().split(JPG)[0];
-				// 先查学号
-				Student student = studentRepo.findByStudentCodeAndRootOrgId(fileName, rootOrgId);
-				if (student == null) {// 学号不存在查身份证号
-					student = studentRepo.findByIdentityNumber(fileName);
-				}
-				if (student != null) {// 学生存在则绑定照片
-					student.setPhotoPath(student.getRootOrgId() + File.separator + "photo"
-							+ File.separator + fileName);
-					studentRepo.save(student);
-				}
-			}
-		} else {
-			list.add(new ErrorMsg("文件路径不正确"));
-		}
-		return list;
-	}
-
 	/*
 	 * 实现
 	 *