Browse Source

add:从题库获取知识点

caozixuan 1 year ago
parent
commit
7cf3e8e461

+ 33 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/CourseWeightSettingStatusResult.java

@@ -0,0 +1,33 @@
+package com.qmth.distributed.print.business.bean.result;
+
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 课程权重设置情况dto
+ * @Author: CaoZixuan
+ * @Date: 2024-03-01
+ */
+public class CourseWeightSettingStatusResult {
+
+    @ApiModelProperty("曾经设置过情况,true:曾经设置过(编辑课程设置时警告提示),false:从未设置过(不需要提示)")
+    private Boolean everSettingStatus;
+
+    @ApiModelProperty("当前设置情况,true:当前课程设置过权重,权重设置界面需要展示两个表单,false:当前未设置权重,权重设置界面只展示1个表单")
+    private Boolean currentSettingStatus;
+
+    public Boolean getEverSettingStatus() {
+        return everSettingStatus;
+    }
+
+    public void setEverSettingStatus(Boolean everSettingStatus) {
+        this.everSettingStatus = everSettingStatus;
+    }
+
+    public Boolean getCurrentSettingStatus() {
+        return currentSettingStatus;
+    }
+
+    public void setCurrentSettingStatus(Boolean currentSettingStatus) {
+        this.currentSettingStatus = currentSettingStatus;
+    }
+}

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/CourseDimensionService.java

@@ -28,6 +28,15 @@ public interface CourseDimensionService extends IService<CourseDimension> {
     void importCourseDimension(SysUser requestUser, MultipartFile file, Long examId, String courseCode)
             throws IOException, NoSuchFieldException;
 
+    /**
+     * 同步题库课程知识点属性
+     *
+     * @param examId     考试id
+     * @param courseCode 课程编号
+     * @param userId     教师id
+     */
+    void syncTikuCourseProperties(Long examId, String courseCode, Long userId);
+
     /**
      * 自动生成课程一二级属性编号
      * <p>

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TeachCourseService.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.bean.result.CourseWeightSettingStatusResult;
 import com.qmth.distributed.print.business.bean.params.TeachCourseParams;
 import com.qmth.distributed.print.business.bean.params.TeacherTeamParam;
 import com.qmth.distributed.print.business.bean.result.DictionaryResult;
@@ -148,4 +149,14 @@ public interface TeachCourseService extends IService<TeachCourse> {
      * @param courseSettingTypeEnum 课程设置类型
      */
     void clearCourseSetting(Long teachCourseId, CourseSettingTypeEnum courseSettingTypeEnum);
+
+    /**
+     * 查询课程权重设置状态
+     *
+     * @param examId     考试id
+     * @param courseCode 课程编号
+     * @param userId     教师id
+     * @return 课程权重设置状态
+     */
+    CourseWeightSettingStatusResult findCourseWeightSettingStatus(Long examId, String courseCode, Long userId);
 }

+ 80 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CourseDimensionServiceImpl.java

@@ -14,10 +14,12 @@ import com.qmth.distributed.print.business.mapper.CourseDimensionMapper;
 import com.qmth.distributed.print.business.service.BasicExamService;
 import com.qmth.distributed.print.business.service.CourseDimensionService;
 import com.qmth.distributed.print.business.service.TeachCourseService;
+import com.qmth.teachcloud.common.bean.tiku.TikuCourseProperty;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicExam;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.kit.TikuUtils;
 import com.qmth.teachcloud.common.util.ExcelUtil;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -50,6 +52,9 @@ public class CourseDimensionServiceImpl extends ServiceImpl<CourseDimensionMappe
     @Resource
     BasicExamService basicExamService;
 
+    @Resource
+    TikuUtils tikuUtils;
+
     @Transactional
     @Override
     public void importCourseDimension(SysUser requestUser, MultipartFile file, Long examId, String courseCode)
@@ -82,7 +87,8 @@ public class CourseDimensionServiceImpl extends ServiceImpl<CourseDimensionMappe
 
                     // 行索引
                     Integer rowIndex = y + 1;
-                    CourseDimensionImportDto courseDimensionImportDto = (CourseDimensionImportDto) courseDimensionDtoList.get(y);
+                    CourseDimensionImportDto courseDimensionImportDto = (CourseDimensionImportDto) courseDimensionDtoList.get(
+                            y);
                     String excelCourseCode = StringUtils.trimToNull(courseDimensionImportDto.getCourseCode());
                     String excelCourseName = StringUtils.trimToNull(courseDimensionImportDto.getCourseName());
                     String firstDimensionName = StringUtils.trimToNull(courseDimensionImportDto.getFirstDimensionName());
@@ -165,6 +171,79 @@ public class CourseDimensionServiceImpl extends ServiceImpl<CourseDimensionMappe
         this.saveBatch(willSaveDimensions);
     }
 
+    @Override
+    public void syncTikuCourseProperties(Long examId, String courseCode, Long userId) {
+        TeachCourse teachCourse = teachCourseService.findByExamIdCourseCodeAndUserId(examId, courseCode, userId);
+        Long schoolId = teachCourse.getSchoolId();
+        Long teachCourseId = teachCourse.getId();
+        BasicExam basicExam = basicExamService.getById(examId);
+        if (Objects.isNull(basicExam)) {
+            throw ExceptionResultEnum.ERROR.exception("考试不存在");
+        }
+        Long semesterId = SystemConstant.convertIdToLong(basicExam.getSemesterId());
+
+        if (this.count(new QueryWrapper<CourseDimension>().lambda().eq(CourseDimension::getTeachCourseId, teachCourseId))
+                == 0) {
+            // 表里没有知识点记录,从题库获取
+            List<TikuCourseProperty> tikuDimensionList = tikuUtils.listCourseProperty(teachCourse.getSchoolId(),
+                    courseCode);
+            if (CollectionUtils.isNotEmpty(tikuDimensionList)) {
+                // 删除课程设置
+                teachCourseService.clearCourseSetting(teachCourseId, CourseSettingTypeEnum.COURSE_DIMENSION);
+
+                CourseDimension temp = new CourseDimension();
+                temp.setTeachCourseId(teachCourseId);
+                temp.setSchoolId(schoolId);
+                temp.setSemesterId(semesterId);
+                temp.setExamId(examId);
+                temp.setCourseCode(courseCode);
+                temp.setUserId(userId);
+                temp.setSource(CourseDimensionSourceEnum.UNION_QUESTION);
+                List<CourseDimension> willAddList = new ArrayList<>();
+
+                for (TikuCourseProperty first : tikuDimensionList) {
+                    Long fParentId = first.getParentId();
+                    if (fParentId > 0) {
+                        throw ExceptionResultEnum.ERROR.exception("题库一级知识点父id异常");
+                    }
+                    String fName = first.getName();
+                    String fCode = first.getCode();
+                    int fNumber = Integer.parseInt(first.getNumber());
+
+                    CourseDimension willAddFirst = new CourseDimension();
+                    BeanUtils.copyProperties(temp, willAddFirst);
+                    willAddFirst.setCode(fCode);
+                    willAddFirst.setName(fName);
+                    willAddFirst.setNumber(fNumber);
+                    willAddFirst.insertInfo(userId);
+                    willAddFirst.setParentId(0L);
+                    willAddList.add(willAddFirst);
+
+                    List<TikuCourseProperty> secondList = first.getPropertyList();
+                    for (TikuCourseProperty second : secondList) {
+                        Long sParentId = willAddFirst.getId();
+                        String sName = second.getName();
+                        String sCode = second.getCode();
+                        int sNumber = Integer.parseInt(second.getNumber());
+
+                        CourseDimension willAddSecond = new CourseDimension();
+                        BeanUtils.copyProperties(temp, willAddSecond);
+                        willAddSecond.setCode(sCode);
+                        willAddSecond.setName(sName);
+                        willAddSecond.setNumber(sNumber);
+                        willAddSecond.insertInfo(userId);
+                        willAddSecond.setParentId(sParentId);
+                        willAddList.add(willAddSecond);
+                    }
+                }
+                if (CollectionUtils.isNotEmpty(willAddList)) {
+                    this.saveBatch(willAddList);
+                }
+            }
+        }
+
+    }
+
     @Override
     public String autoCreateDimensionCode(Long examId, String courseCode, Long parentId) {
         // 一级属性

+ 14 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachCourseServiceImpl.java

@@ -10,10 +10,10 @@ import com.qmth.distributed.print.business.bean.dto.excel.TeachCourseDto;
 import com.qmth.distributed.print.business.bean.dto.excel.TeacherTeamDto;
 import com.qmth.distributed.print.business.bean.params.TeachCourseParams;
 import com.qmth.distributed.print.business.bean.params.TeacherTeamParam;
+import com.qmth.distributed.print.business.bean.result.CourseWeightSettingStatusResult;
 import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.TeachCourseResult;
 import com.qmth.distributed.print.business.entity.*;
-import com.qmth.distributed.print.business.enums.CourseEvaluationTypeEnum;
 import com.qmth.distributed.print.business.enums.CourseSettingTypeEnum;
 import com.qmth.distributed.print.business.mapper.TeachCourseMapper;
 import com.qmth.distributed.print.business.service.*;
@@ -432,4 +432,17 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
         // 删除权重设置
         courseWeightService.deleteCourseWeight(teachCourseId);
     }
+
+    @Override
+    public CourseWeightSettingStatusResult findCourseWeightSettingStatus(Long examId, String courseCode, Long userId) {
+        CourseWeightSettingStatusResult result = new CourseWeightSettingStatusResult();
+        TeachCourse teachCourse = this.findByExamIdCourseCodeAndUserId(examId, courseCode, userId);
+        Long teachCourseId = teachCourse.getId();
+        Boolean everSettingStatus = teachCourse.getWeightSetting();
+        Boolean currenSettingStatus = courseWeightService.count(
+                new QueryWrapper<CourseWeight>().lambda().eq(CourseWeight::getTeachCourseId, teachCourseId)) > 0;
+        result.setEverSettingStatus(everSettingStatus);
+        result.setCurrentSettingStatus(currenSettingStatus);
+        return result;
+    }
 }

+ 19 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/CourseDimensionController.java

@@ -0,0 +1,19 @@
+package com.qmth.distributed.print.api;
+
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description: 课程知识点管理
+ * @Author: CaoZixuan
+ * @Date: 2024-03-04
+ */
+@Api(tags = "课程知识点管理controller")
+@RestController
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_TEACH + "/course_dimension")
+public class CourseDimensionController {
+
+}

+ 10 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/CourseTargetController.java

@@ -51,6 +51,16 @@ public class CourseTargetController {
                 courseTargetService.findCourseTargetList(SystemConstant.convertIdToLong(examId), courseCode, requestUser.getId()));
     }
 
+    @ApiOperation(value = "课程目标管理-同步题库知识点")
+    @RequestMapping(value = "/dimension_sync_tiku", method = RequestMethod.POST)
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Result.class) })
+    public Result syncTikuDimension(@ApiParam(value = "学期id") @RequestParam(required = false) String examId,
+            @ApiParam(value = "考试id") @RequestParam(required = false) String courseCode) {
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        courseDimensionService.syncTikuCourseProperties(SystemConstant.convertIdToLong(examId), courseCode, requestUser.getId());
+        return ResultUtil.ok();
+    }
+
     @ApiOperation(value = "课程目标管理-导入课程知识点")
     @RequestMapping(value = "/dimension_import", method = RequestMethod.POST)
     @ApiResponses({ @ApiResponse(code = 200, message = "返回信息", response = Result.class) })

+ 37 - 24
distributed-print/src/main/java/com/qmth/distributed/print/api/TeachCourseController.java

@@ -39,23 +39,24 @@ import java.util.List;
 @Validated
 //@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
 public class TeachCourseController {
+
     @Resource
     private TeachCourseService teachCourseService;
 
     @ApiOperation(value = "教学课程-查询")
     @RequestMapping(value = "/page", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-//    @OperationLogDetail(detail = "根据查询条件课程名称[{{courseName}}]模糊查询教学课程,查询第[{{pageNumber}}]页,每页查[{{pageSize}}]个", operationType = OperationTypeEnum.SELECT, operationUnit = OperationUnitEnum.TEACH_COURSE,customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Result.class) })
+    //    @OperationLogDetail(detail = "根据查询条件课程名称[{{courseName}}]模糊查询教学课程,查询第[{{pageNumber}}]页,每页查[{{pageSize}}]个", operationType = OperationTypeEnum.SELECT, operationUnit = OperationUnitEnum.TEACH_COURSE,customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
     public Result findTeachCoursePage(@ApiParam(value = "课程名称(模糊查询)") @RequestParam(required = false) String courseName,
-                                      @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                                      @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+            @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+            @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         return ResultUtil.ok(teachCourseService.teachCoursePage(courseName, pageNumber, pageSize, requestUser.getId()));
     }
 
     @ApiOperation(value = "教学课程-手动添加课程")
     @RequestMapping(value = "/manual_create", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "创建成功", response = EditResult.class) })
     @OperationLogDetail(detail = "手动添加教学课程,参数[{{teachCourseParams}}]", customizedOperationType = CustomizedOperationTypeEnum.ADD)
     public Result manualCreate(@Valid @RequestBody TeachCourseParams teachCourseParams, BindingResult bindingResult) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
@@ -67,7 +68,7 @@ public class TeachCourseController {
 
     @ApiOperation(value = "教学课程-课程表选择教学课程")
     @RequestMapping(value = "/select_create", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "创建成功", response = EditResult.class) })
     @OperationLogDetail(detail = "从课程表选择并创建教学课程,参数[{{basicCourseIdList}}]", customizedOperationType = CustomizedOperationTypeEnum.ADD)
     public Result selectCreate(@ApiParam(value = "基础课程id", required = true) @RequestParam List<Long> basicCourseIdList) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
@@ -77,7 +78,7 @@ public class TeachCourseController {
 
     @ApiOperation(value = "教学课程-教学课程批量导入")
     @RequestMapping(value = "/import", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "创建成功", response = EditResult.class) })
     @OperationLogDetail(detail = "教学课程批量导入", customizedOperationType = CustomizedOperationTypeEnum.ADD)
     public Result importTeachCourse(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) throws IOException, NoSuchFieldException {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
@@ -87,7 +88,7 @@ public class TeachCourseController {
 
     @ApiOperation(value = "教学课程-查找基础课程")
     @RequestMapping(value = "/find_basic_course", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Result.class) })
     public Result findBasicCourse() {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         return ResultUtil.ok(teachCourseService.findBasicCourseByUser(requestUser));
@@ -95,7 +96,7 @@ public class TeachCourseController {
 
     @ApiOperation(value = "教学课程-批量删除")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "删除成功", response = EditResult.class) })
     @OperationLogDetail(detail = "用户根据教学课程id集合[{{idList}}]批量删除教学课程", level = LevelEnum.TERTIARY, operationType = OperationTypeEnum.DELETE, operationUnit = OperationUnitEnum.TEACH_COURSE, customizedOperationType = CustomizedOperationTypeEnum.DELETE)
     public Result deleteTeachCourse(@ApiParam(value = "选择的要删除的课程id集合", required = true) @RequestParam List<Long> idList) {
         teachCourseService.deleteTeachCourseBatch(idList);
@@ -104,7 +105,7 @@ public class TeachCourseController {
 
     @ApiOperation(value = "教师团队-手动添加教师")
     @RequestMapping(value = "/manual_create_teacher", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "创建成功", response = EditResult.class) })
     @OperationLogDetail(detail = "手动添加教师,参数[{{teacherTeamParam}}]", customizedOperationType = CustomizedOperationTypeEnum.ADD)
     public Result manualCreateTeacher(@Valid @RequestBody TeacherTeamParam teacherTeamParam, BindingResult bindingResult) throws IllegalAccessException {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
@@ -117,10 +118,9 @@ public class TeachCourseController {
 
     @ApiOperation(value = "教师团队-用户表选择教师")
     @RequestMapping(value = "/select_create_teacher", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "创建成功", response = EditResult.class) })
     @OperationLogDetail(detail = "从教师库选择并加入教师团队,参数[{{basicCourseIdList}}]", customizedOperationType = CustomizedOperationTypeEnum.ADD)
-    public Result selectCreate(@ApiParam(value = "基础课程id", required = true) @RequestParam Long basicCourseId,
-                               @ApiParam(value = "教师id集合", required = true) @RequestParam List<Long> userIdList) {
+    public Result selectCreate(@ApiParam(value = "基础课程id", required = true) @RequestParam Long basicCourseId, @ApiParam(value = "教师id集合", required = true) @RequestParam List<Long> userIdList) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         teachCourseService.selectCreateTeacher(basicCourseId, userIdList, requestUser);
         return ResultUtil.ok();
@@ -128,10 +128,10 @@ public class TeachCourseController {
 
     @ApiOperation(value = "教师团队-批量导入教师")
     @RequestMapping(value = "/import_teacher", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "创建成功", response = EditResult.class) })
     @OperationLogDetail(detail = "教学课程批量导入", customizedOperationType = CustomizedOperationTypeEnum.ADD)
-    public Result importTeacherTeam(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
-                                    @ApiParam(value = "基础课程", required = true) @RequestParam Long basicCourseId) throws IOException, NoSuchFieldException, IllegalAccessException {
+    public Result importTeacherTeam(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file, @ApiParam(value = "基础课程", required = true) @RequestParam Long basicCourseId)
+            throws IOException, NoSuchFieldException, IllegalAccessException {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         teachCourseService.importTeacherTeam(file, basicCourseId, requestUser);
         return ResultUtil.ok();
@@ -139,19 +139,32 @@ public class TeachCourseController {
 
     @ApiOperation(value = "教师团队-分页查询")
     @RequestMapping(value = "/teacher_team_page", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-//    @OperationLogDetail(detail = "根据查询条件课程名称[{{courseName}}]模糊查询教学课程,查询第[{{pageNumber}}]页,每页查[{{pageSize}}]个", operationType = OperationTypeEnum.SELECT, operationUnit = OperationUnitEnum.TEACH_COURSE,customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
-    public Result findTeachTeamPage(@ApiParam(value = "用户姓名工号(模糊查询)") @RequestParam(required = false) String userInfo,
-                                    @ApiParam(value = "基础课程id", required = true) @RequestParam String basicCourseId,
-                                    @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                                    @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        return ResultUtil.ok(teachCourseService.findTeacherTeamPage(userInfo, SystemConstant.convertIdToLong(basicCourseId), pageNumber, pageSize));
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Result.class) })
+    //    @OperationLogDetail(detail = "根据查询条件课程名称[{{courseName}}]模糊查询教学课程,查询第[{{pageNumber}}]页,每页查[{{pageSize}}]个", operationType = OperationTypeEnum.SELECT, operationUnit = OperationUnitEnum.TEACH_COURSE,customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
+    public Result findTeachTeamPage(@ApiParam(value = "用户姓名工号(模糊查询)") @RequestParam(required = false) String userInfo, @ApiParam(value = "基础课程id", required = true) @RequestParam String basicCourseId,
+            @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+            @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        return ResultUtil.ok(
+                teachCourseService.findTeacherTeamPage(userInfo, SystemConstant.convertIdToLong(basicCourseId),
+                        pageNumber, pageSize));
     }
 
     @ApiOperation(value = "教师团队-根据机构查询")
     @RequestMapping(value = "/find_teacher_by_org", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Result.class) })
     public Result findTeachCoursePage(@ApiParam(value = "课程名称(模糊查询)") @RequestParam(required = false) Long orgId) {
         return ResultUtil.ok(teachCourseService.findUserByOrgId(orgId));
     }
+
+    @ApiOperation(value = "教学课程-查询课程权重设置状态")
+    @RequestMapping(value = "/find_course_weight_setting_status", method = RequestMethod.POST)
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Result.class) })
+    public Result findCourseWeightSettingStatus(@ApiParam(value = "考试id") @RequestParam(required = false) String examId,
+            @ApiParam(value = "课程编号") @RequestParam(required = false) String courseCode) {
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        Long userId = requestUser.getId();
+        return ResultUtil.ok(
+                teachCourseService.findCourseWeightSettingStatus(SystemConstant.convertIdToLong(examId), courseCode,
+                        userId));
+    }
 }