| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- package com.ruoyi.web.controller.learn;
- import com.alibaba.fastjson2.JSONObject;
- import com.ruoyi.common.annotation.Anonymous;
- import com.ruoyi.common.core.controller.BaseController;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.common.core.domain.AjaxResult2;
- import com.ruoyi.common.enums.ExamType;
- import com.ruoyi.dz.domain.DzControl;
- import com.ruoyi.dz.domain.DzSubject;
- import com.ruoyi.dz.service.IDzControlService;
- import com.ruoyi.dz.service.IDzSubjectService;
- import com.ruoyi.ie.service.IAMarjorPlanService;
- import com.ruoyi.learn.domain.TestPaperVO;
- import com.ruoyi.web.service.LearnTeacherService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.util.CollectionUtils;
- import org.springframework.web.bind.annotation.*;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.List;
- import java.util.stream.Collectors;
- @RestController
- @RequestMapping("/learn/teaching")
- @Api(tags = "后台-学习 - 老师业务")
- public class LearnTeacherController extends BaseController {
- private final IDzControlService dzControlService;
- private final IDzSubjectService dzSubjectService;
- private final LearnTeacherService learnTeacherService;
- public LearnTeacherController(IDzControlService dzControlService, IDzSubjectService dzSubjectService, LearnTeacherService learnTeacherService) {
- this.dzControlService = dzControlService;
- this.dzSubjectService = dzSubjectService;
- this.learnTeacherService = learnTeacherService;
- }
- /**
- -- 1. 查询考试批次(假设每个老师自已控制)
- -- 2. 查询班老师班级列表
- -- 3. 查询定向院校列表
- -- 5. 查询定向院校专业组
- -- 6. 查询科目(分是否定向)
- -- 7. 查询知识点(分是否定向)
- -- 8. 查询单个定向时知识点树
- -- 9. 设置题型数量(预置题型要求,或人工指定,不指定时平均分配, 题型是针对院校的)
- */
- @GetMapping(value = "provinces")
- @Anonymous
- @ApiOperation("省份列表")
- public AjaxResult provinces()
- {
- DzControl cond = new DzControl();
- cond.setIsValid(1);
- return AjaxResult.success(dzControlService.selectDzControlList(cond).stream().map(t -> {
- JSONObject o = new JSONObject();
- o.put("dictValue", t.getLocation());
- o.put("dictLabel", t.getLocation());
- return o;
- }).collect(Collectors.toList()));
- }
- @GetMapping(value = "examTypes")
- @Anonymous
- @ApiOperation("考生类型列表")
- public AjaxResult examTypes(@RequestParam String location)
- {
- DzControl cond = new DzControl();
- cond.setIsValid(1);
- cond.setLocation(location);
- List<DzControl> list = dzControlService.selectDzControlList(cond);
- String examTypes;
- if(CollectionUtils.isEmpty(list) || StringUtils.isBlank(examTypes = list.get(0).getExamTypes())) {
- return AjaxResult.success(Collections.emptyList());
- }
- return AjaxResult.success(Arrays.stream(examTypes.split(",")).map(t -> {
- JSONObject o = new JSONObject();
- o.put("dictValue", t);
- o.put("dictLabel", ExamType.valueOf(t).title());
- return o;
- }).collect(Collectors.toList()));
- }
- @GetMapping("/classes")
- @ApiOperation("2. 班级列表")
- public AjaxResult classes()
- {
- return AjaxResult.success(learnTeacherService.getClasses(getUserId()));
- }
- @GetMapping("/universities")
- @ApiOperation("院校列表")
- public AjaxResult universities(@ApiParam("批次ID") Long batchId)
- {
- return AjaxResult.success(learnTeacherService.selectUniversityList(getUserId(), batchId));
- }
- @GetMapping("/majors")
- @ApiOperation("专业列表")
- public AjaxResult majors(@ApiParam("省份") String location, @ApiParam("考生类型") ExamType examType, @ApiParam("批次ID") Long batchId, @RequestParam(required = false) @ApiParam("院校列表") Long universityId)
- {
- DzControl control = dzControlService.selectDzControl(location, examType);
- return AjaxResult.success(learnTeacherService.selectMajorList(universityId, control.getPlanYear(), batchId));
- }
- @GetMapping("/subjects")
- @ApiOperation("科目列表")
- public AjaxResult2<List<DzSubject>> subjects(@RequestParam(required = false) @ApiParam("院校列表") Long universityId)
- {
- DzSubject sCond = new DzSubject();
- List<DzSubject> list = dzSubjectService.selectDzSubjectList(sCond);
- return AjaxResult2.success(list);
- }
- @GetMapping("/knowledges")
- @ApiOperation("知识点列表")
- public AjaxResult knowledges(@ApiParam("科目ID") Long subjectId, @RequestParam(required = false) @ApiParam("专业计划ID") Long[] majorPlanIds)
- {
- return AjaxResult.success(learnTeacherService.getKnowledgeTree(subjectId, majorPlanIds));
- }
- @PreAuthorize("@ss.hasPermi('learn:test_paper:add')")
- @PostMapping("/build")
- @ApiOperation("批量组卷")
- public AjaxResult batchBuild(@RequestBody TestPaperVO.TestPapersBuildReq req)
- {
- return toAjax(true);
- }
- @PreAuthorize("@ss.hasPermi('learn:test_paper:query')")
- @GetMapping("/publish")
- @ApiOperation("批量发布查询")
- public AjaxResult batchQuery(@RequestBody TestPaperVO.TestPapersQueryReq req)
- {
- return AjaxResult.success(true);
- }
- @PreAuthorize("@ss.hasPermi('learn:test_paper:add')")
- @PostMapping("/publish/papers")
- @ApiOperation("批量发布生成")
- public AjaxResult publishBatch(@RequestBody TestPaperVO.TestPapersPublishReq req)
- {
- return toAjax(true);
- }
- @PreAuthorize("@ss.hasPermi('learn:test_paper:add')")
- @PostMapping("/publish/paper")
- @ApiOperation("批量发布生成")
- public AjaxResult publishSingle(@RequestBody TestPaperVO.TestPaperPublishReq req)
- {
- return toAjax(true);
- }
- }
|