|
@@ -1399,6 +1399,7 @@ public class ExamController extends ControllerSupport {
|
|
return map;
|
|
return map;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "ip限制分页",notes = "ip限制分页")
|
|
@GetMapping("ipLimited/page/{curPage}/{pageSize}")
|
|
@GetMapping("ipLimited/page/{curPage}/{pageSize}")
|
|
public PageInfo<ExamIpLimitDomain> ipLimited(@PathVariable Integer curPage, @PathVariable Integer pageSize,
|
|
public PageInfo<ExamIpLimitDomain> ipLimited(@PathVariable Integer curPage, @PathVariable Integer pageSize,
|
|
Long examId, Integer limitType, String ip) {
|
|
Long examId, Integer limitType, String ip) {
|
|
@@ -1416,23 +1417,61 @@ public class ExamController extends ControllerSupport {
|
|
return pageInfo;
|
|
return pageInfo;
|
|
}
|
|
}
|
|
|
|
|
|
- @PostMapping("ipLimited")
|
|
|
|
- public void save(@RequestBody ExamIpLimitEntity entity) {
|
|
|
|
- examIpLimitRepo.save(entity);
|
|
|
|
|
|
+ @ApiOperation(value = "保存ip限制信息",notes = "保存ip限制")
|
|
|
|
+ @PostMapping("ipLimited/{ids}")
|
|
|
|
+ public void save(@PathVariable String ids, @RequestBody ExamIpLimitEntity entity) {
|
|
|
|
+
|
|
|
|
+ //ids不为空,说明是批量设置限制类型
|
|
|
|
+ if (StringUtils.isNotBlank(ids)) {
|
|
|
|
+ List<Long> ipIds = getIdsByPath(ids);
|
|
|
|
+ if(entity.getLimitType()!=null){
|
|
|
|
+ examIpLimitRepo.updateLimitType(entity.getLimitType(),entity.getExamId(),ipIds);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ Long id = entity.getId();
|
|
|
|
+ Date now = new Date();
|
|
|
|
+ //新增
|
|
|
|
+ if (id==null) {
|
|
|
|
+ entity.setCreationTime(now);
|
|
|
|
+ examIpLimitRepo.save(entity);
|
|
|
|
+ } else {
|
|
|
|
+ //更新
|
|
|
|
+ Optional<ExamIpLimitEntity> byId = examIpLimitRepo.findById(id);
|
|
|
|
+ if (byId.isPresent()){
|
|
|
|
+ ExamIpLimitEntity ipLimitEntity = byId.get();
|
|
|
|
+ if(StringUtils.isNotBlank(entity.getIp())){
|
|
|
|
+ ipLimitEntity.setIp(entity.getIp());
|
|
|
|
+ }
|
|
|
|
+ if(entity.getLimitType()!=null){
|
|
|
|
+ ipLimitEntity.setLimitType(entity.getLimitType());
|
|
|
|
+ }
|
|
|
|
+ ipLimitEntity.setUpdateTime(now);
|
|
|
|
+ examIpLimitRepo.save(ipLimitEntity);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "根据主键删除ip限制",notes = "删除ip限制")
|
|
@DeleteMapping("ipLimited/{ids}")
|
|
@DeleteMapping("ipLimited/{ids}")
|
|
public void delete(@PathVariable String ids) {
|
|
public void delete(@PathVariable String ids) {
|
|
- List<Long> ipIds = Stream.of(ids.split(",")).map(s -> Long.parseLong(s.trim()))
|
|
|
|
|
|
+ examIpLimitRepo.deleteByIds(getIdsByPath(ids));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private List<Long> getIdsByPath(String ids) {
|
|
|
|
+ return Stream.of(ids.split(",")).map(s -> Long.parseLong(s.trim()))
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
- examIpLimitRepo.deleteByIds(ipIds);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "根据考试id批量删除ip限制",notes = "删除ip限制")
|
|
@DeleteMapping("ipLimited/all/{examId}")
|
|
@DeleteMapping("ipLimited/all/{examId}")
|
|
public void delete(@PathVariable Long examId) {
|
|
public void delete(@PathVariable Long examId) {
|
|
examIpLimitRepo.deleteAllByExamId(examId);
|
|
examIpLimitRepo.deleteAllByExamId(examId);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "查询整体控制和学习中心控制",notes = "查询控制")
|
|
@GetMapping("ipLimited/property/{examId}")
|
|
@GetMapping("ipLimited/property/{examId}")
|
|
public Map<String,Boolean> ipLimitedProperty(@PathVariable Long examId) {
|
|
public Map<String,Boolean> ipLimitedProperty(@PathVariable Long examId) {
|
|
Map<String,Boolean> map = new HashMap<>();
|
|
Map<String,Boolean> map = new HashMap<>();
|
|
@@ -1441,6 +1480,7 @@ public class ExamController extends ControllerSupport {
|
|
return map;
|
|
return map;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "修改整体控制和学习中心控制",notes = "修改控制")
|
|
@PutMapping("ipLimited/property/{examId}")
|
|
@PutMapping("ipLimited/property/{examId}")
|
|
public void ipLimitedProperty(@PathVariable Long examId, @RequestBody Map<String,Boolean> map) {
|
|
public void ipLimitedProperty(@PathVariable Long examId, @RequestBody Map<String,Boolean> map) {
|
|
updateExamProperty(examId,49,map.get("totalLimit"));
|
|
updateExamProperty(examId,49,map.get("totalLimit"));
|
|
@@ -1453,6 +1493,13 @@ public class ExamController extends ControllerSupport {
|
|
jdbcTemplate.update(valueSql);
|
|
jdbcTemplate.update(valueSql);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "下载ip限制导入模板", notes = "下载导入模板")
|
|
|
|
+ @GetMapping("ipLimited/downloadTemplate")
|
|
|
|
+ public void downloadTemplate() {
|
|
|
|
+ String resoucePath = PathUtil.getResoucePath("templates/ipLimitImportTemplate.xlsx");
|
|
|
|
+ exportFile("ip限制导入模板.xlsx", new File(resoucePath));
|
|
|
|
+ }
|
|
|
|
+
|
|
@ApiOperation(value = "导入考试ip限制", notes = "导入")
|
|
@ApiOperation(value = "导入考试ip限制", notes = "导入")
|
|
@PostMapping("ipLimited/import")
|
|
@PostMapping("ipLimited/import")
|
|
public Map<String, Object> importExamIpLimit(@RequestParam Long examId,
|
|
public Map<String, Object> importExamIpLimit(@RequestParam Long examId,
|
|
@@ -1542,7 +1589,7 @@ public class ExamController extends ControllerSupport {
|
|
return map;
|
|
return map;
|
|
}
|
|
}
|
|
|
|
|
|
- @ApiOperation(value = "导出Ip限制")
|
|
|
|
|
|
+ @ApiOperation(value = "导出Ip限制",notes = "导出Ip限制")
|
|
@GetMapping("ipLimited/export")
|
|
@GetMapping("ipLimited/export")
|
|
public void export(Long examId, Integer limitType, String ip) {
|
|
public void export(Long examId, Integer limitType, String ip) {
|
|
Specification<ExamIpLimitEntity> spec = (root, query, cb) -> {
|
|
Specification<ExamIpLimitEntity> spec = (root, query, cb) -> {
|
|
@@ -1599,6 +1646,7 @@ public class ExamController extends ControllerSupport {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "检查是否Ip限制",notes = "检查是否Ip限制")
|
|
@GetMapping("ipLimited/{examId}")
|
|
@GetMapping("ipLimited/{examId}")
|
|
public boolean ipLimited(HttpServletRequest request, @PathVariable Long examId) {
|
|
public boolean ipLimited(HttpServletRequest request, @PathVariable Long examId) {
|
|
//是否开启Ip限制
|
|
//是否开启Ip限制
|