wangwei 6 jaren geleden
bovenliggende
commit
722f25772e

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

@@ -2,6 +2,7 @@ package cn.com.qmth.examcloud.core.basic.api.controller;
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -141,7 +142,6 @@ public class CourseController extends ControllerSupport {
 	 *
 	 * @author WANGWEI
 	 * @param name
-	 * @param code
 	 * @param level
 	 * @param enable
 	 * @param specialtyId
@@ -150,7 +150,6 @@ public class CourseController extends ControllerSupport {
 	@ApiOperation(value = "查询课程")
 	@GetMapping("query")
 	public List<CourseEntity> query(@RequestParam(required = false) String name,
-			@RequestParam(required = false) String code,
 			@RequestParam(required = false) String level,
 			@RequestParam(required = false) Boolean enable,
 			@RequestParam(required = false) Long specialtyId) {
@@ -163,12 +162,11 @@ public class CourseController extends ControllerSupport {
 
 			predicates.add(cb.equal(root.get("rootOrgId"), rootOrgId));
 
-			if (StringUtils.isNotBlank(name)) {
-				predicates.add(cb.like(root.get("name"), toSqlSearchPattern(name)));
-			}
-			if (StringUtils.isNotBlank(code)) {
-				predicates.add(cb.like(root.get("code"), toSqlSearchPattern(code)));
-			}
+			Predicate pr1 = cb.like(root.get("name"), toSqlSearchPattern(name));
+			Predicate pr2 = cb.like(root.get("code"), toSqlSearchPattern(name));
+
+			predicates.add(cb.or(pr1, pr2));
+
 			if (StringUtils.isNotBlank(level)) {
 				predicates.add(cb.equal(root.get("level"), toSqlSearchPattern(level)));
 			}
@@ -191,14 +189,27 @@ public class CourseController extends ControllerSupport {
 			return cb.and(predicates.toArray(new Predicate[predicates.size()]));
 		};
 
-		// 过载保护
-		long total = courseRepo.count(specification);
-		if (total > 1000) {
-			List<CourseEntity> list = Lists.newArrayList();
-			return list;
+		PageRequest pageRequest = new PageRequest(0, 50, new Sort(Direction.DESC, "updateTime"));
+
+		Page<CourseEntity> page = courseRepo.findAll(specification, pageRequest);
+
+		Iterator<CourseEntity> iterator = page.iterator();
+		List<CourseEntity> list = Lists.newArrayList();
+
+		while (iterator.hasNext()) {
+			CourseEntity next = iterator.next();
+
+			CourseEntity bean = new CourseEntity();
+			bean.setCode(next.getCode());
+			bean.setEnable(next.getEnable());
+			bean.setId(next.getId());
+			bean.setLevel(next.getLevel());
+			bean.setName(next.getName());
+			bean.setRootOrgId(next.getRootOrgId());
+
+			list.add(bean);
 		}
 
-		List<CourseEntity> list = courseRepo.findAll(specification);
 		return list;
 	}
 

+ 19 - 8
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/OrgController.java

@@ -371,15 +371,26 @@ public class OrgController extends ControllerSupport {
 			return cb.and(predicates.toArray(new Predicate[predicates.size()]));
 		};
 
-		// 过载保护
-		long total = orgRepo.count(specification);
-		if (total > 1000) {
-			List<OrgEntity> list = Lists.newArrayList();
-			return list;
-		}
+		PageRequest pageRequest = new PageRequest(0, 50, new Sort(Direction.DESC, "updateTime"));
+		Page<OrgEntity> page = orgRepo.findAll(specification, pageRequest);
+		Iterator<OrgEntity> iterator = page.iterator();
+		List<OrgEntity> list = Lists.newArrayList();
+		while (iterator.hasNext()) {
+			OrgEntity next = iterator.next();
 
-		Sort sort = new Sort(Direction.DESC, "updateTime");
-		List<OrgEntity> list = orgRepo.findAll(specification, sort);
+			OrgEntity bean = new OrgEntity();
+			bean.setCode(next.getCode());
+			bean.setContacts(next.getContacts());
+			bean.setEnable(bean.getEnable());
+			bean.setId(next.getId());
+			bean.setName(next.getName());
+			bean.setParentId(next.getParentId());
+			bean.setRemark(next.getRemark());
+			bean.setRootId(next.getRootId());
+			bean.setTelephone(next.getTelephone());
+
+			list.add(bean);
+		}
 
 		return list;
 	}