WANG 6 роки тому
батько
коміт
39178d6ab1

+ 33 - 4
examcloud-core-examwork-api-provider/src/main/java/cn/com/qmth/examcloud/core/examwork/api/controller/ExamController.java

@@ -230,10 +230,11 @@ public class ExamController extends ControllerSupport {
 	 */
 	@ApiOperation(value = "分页查询考试批次")
 	@GetMapping("queryPage/{curPage}/{pageSize}")
-	public Page<ExamEntity> queryPage(@PathVariable Integer curPage, @PathVariable Integer pageSize,
-			@RequestParam(required = false) String name,
+	public PageInfo<ExamDomain> queryPage(@PathVariable Integer curPage,
+			@PathVariable Integer pageSize, @RequestParam(required = false) String name,
 			@RequestParam(required = false) String examType,
-			@RequestParam(required = false) Boolean enable) {
+			@RequestParam(required = false) Boolean enable,
+			@RequestParam(required = false) String propertyKeys) {
 
 		User accessUser = getAccessUser();
 
@@ -257,7 +258,35 @@ public class ExamController extends ControllerSupport {
 				new Sort(Direction.DESC, "updateTime"));
 
 		Page<ExamEntity> page = examRepo.findAll(specification, pageRequest);
-		return page;
+
+		Iterator<ExamEntity> iterator = page.iterator();
+		List<ExamDomain> list = Lists.newArrayList();
+
+		List<String> propertyKeyList = null;
+		if (StringUtils.isNotBlank(propertyKeys)) {
+			propertyKeyList = RegExpUtil.findAll(propertyKeys, "\\w+");
+		}
+
+		while (iterator.hasNext()) {
+			ExamEntity next = iterator.next();
+			ExamDomain bean = new ExamDomain();
+			list.add(bean);
+
+			bean.setId(next.getId());
+			bean.setName(next.getName());
+			bean.setEnable(next.getEnable());
+			bean.setRootOrgId(next.getRootOrgId());
+			bean.setBeginTime(next.getBeginTime());
+			bean.setEndTime(next.getEndTime());
+
+			if (CollectionUtils.isNotEmpty(propertyKeyList)) {
+				Map<String, String> properties = getProperties(bean.getId(), propertyKeyList);
+				bean.setProperties(properties);
+			}
+		}
+
+		PageInfo<ExamDomain> ret = new PageInfo<ExamDomain>(page, list);
+		return ret;
 	}
 
 	/**