Эх сурвалжийг харах

字典管理-课程管理

caozixuan 3 жил өмнө
parent
commit
066affd8e3

+ 10 - 9
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCourseController.java

@@ -81,7 +81,7 @@ public class BasicCourseController {
     public Result query(@RequestParam(value = "param", required = false) String param,
                         @RequestParam(value = "printPlanId", required = false) List<String> printPlanId,
                         @RequestParam(value = "teachingRoomId", required = false) Long teachingRoomId) {
-        if (Objects.isNull(printPlanId)){
+        if (Objects.isNull(printPlanId)) {
             printPlanId = new ArrayList<>();
         }
         List<Long> printPlanIdList = printPlanId.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList());
@@ -125,9 +125,10 @@ public class BasicCourseController {
     public Result findBasicCampusList(@ApiParam(value = "课程名称(模糊查询)") @RequestParam(required = false) String courseName,
                                       @ApiParam(value = "创建时间(起始位置)") @RequestParam(required = false) String startCreateTime,
                                       @ApiParam(value = "创建时间(终止位置)") @RequestParam(required = false) String endCreateTime,
+                                      @ApiParam(value = "状态") @RequestParam(required = false) Boolean enable,
                                       @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
                                       @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
-        return ResultUtil.ok(basicCourseService.basicCoursePage(courseName, SystemConstant.convertIdToLong(startCreateTime),SystemConstant.convertIdToLong(endCreateTime),pageNumber,pageSize));
+        return ResultUtil.ok(basicCourseService.basicCoursePage(courseName, SystemConstant.convertIdToLong(startCreateTime), SystemConstant.convertIdToLong(endCreateTime), enable, pageNumber, pageSize));
     }
 
     @ApiOperation(value = "课程管理-新增/编辑")
@@ -138,18 +139,18 @@ public class BasicCourseController {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        return ResultUtil.ok(basicCourseService.saveBasicCourse(basicCourseParams,sysUser));
+        return ResultUtil.ok(basicCourseService.saveBasicCourse(basicCourseParams, sysUser));
     }
 
-    @ApiOperation(value = "课程管理-批量删除(逻辑)")
-    @RequestMapping(value = "/delete_batch", method = RequestMethod.POST)
+    @ApiOperation(value = "课程管理-批量启用/禁用")
+    @RequestMapping(value = "/enable", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
-    public Result deleteBasicCampus(@ApiParam(value = "选择的要删除的课程id集合",required = true) @RequestParam List<Long> idList,
+    public Result deleteBasicCampus(@ApiParam(value = "选择的要删除的课程id集合", required = true) @RequestParam List<Long> idList,
                                     @ApiParam(value = "启用/禁用(默认禁用)") @RequestParam(required = false) Boolean enable) {
-        if (Objects.isNull(enable)){
+        if (Objects.isNull(enable)) {
             enable = false;
         }
-        return ResultUtil.ok(basicCourseService.removeBasicCourseBatch(idList,enable));
+        return ResultUtil.ok(basicCourseService.removeBasicCourseBatch(idList, enable));
     }
 
     @ApiOperation(value = "课程基本信息管理-批量导入(异步)")
@@ -158,7 +159,7 @@ public class BasicCourseController {
     public Result basicCourseImportAsync(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) throws Exception {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Map<String, Object> map = printCommonService.saveTask(file, TaskTypeEnum.COURSE_IMPORT);
-        map.put(SystemConstant.SYS_USER,sysUser);
+        map.put(SystemConstant.SYS_USER, sysUser);
 
         asyncCourseDataImportService.importTask(map);
         TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;

+ 10 - 9
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCourseMapper.java

@@ -26,26 +26,27 @@ public interface BasicCourseMapper extends BaseMapper<BasicCourse> {
 
     IPage<BasicCourse> listPage(Page<BasicCourse> page, @Param("schoolId") Long schoolId, @Param("code") String code, @Param("name") String name);
 
-    List<CourseInfoDto> findByUserLoginNameAndRealName(@Param("loginName")String loginName, @Param("realName") String realName);
+    List<CourseInfoDto> findByUserLoginNameAndRealName(@Param("loginName") String loginName, @Param("realName") String realName);
 
     /**
      * 查询课程字典
-     * @param iPage 分页参数
-     * @param courseName 课程名称(模糊查询)
+     *
+     * @param iPage           分页参数
+     * @param courseName      课程名称(模糊查询)
      * @param startCreateTime 课程创建时间(起始值)
-     * @param endCreateTime 课程创建时间(终止值)
-     * @param schoolId 学校id
-     * @param orgIds 权限机构组
+     * @param endCreateTime   课程创建时间(终止值)
+     * @param enable          状态
+     * @param schoolId        学校id
+     * @param orgIds          权限机构组
      * @return 结果
      */
     IPage<BasicCourseResult> findBasicCoursePage(@Param("iPage") Page<BasicCourseResult> iPage,
                                                  @Param("courseName") String courseName,
                                                  @Param("startCreateTime") Long startCreateTime,
                                                  @Param("endCreateTime") Long endCreateTime,
+                                                 @Param("enable") Boolean enable,
                                                  @Param("schoolId") Long schoolId,
                                                  @Param("orgIds") Set<Long> orgIds);
 
-    List<Map<String,Object>> findExamTaskByCourseCode(@Param("schoolId") Long schoolId,@Param("courseCodeSet") Set<String> courseCodeSet);
-
-
+    List<Map<String, Object>> findExamTaskByCourseCode(@Param("schoolId") Long schoolId, @Param("courseCodeSet") Set<String> courseCodeSet);
 }

+ 19 - 13
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicCourseService.java

@@ -26,17 +26,19 @@ public interface BasicCourseService extends IService<BasicCourse> {
 
     /**
      * 校验课程信息
-     * @param schoolId 学校id
+     *
+     * @param schoolId   学校id
      * @param courseCode 课程代码
      * @param courseName 课程名称
-     * @param userId 当前用户id
+     * @param userId     当前用户id
      */
-    void verifyCourseInfo(Long schoolId,String courseCode,String courseName,Long userId);
+    void verifyCourseInfo(Long schoolId, String courseCode, String courseName, Long userId);
 
     /**
      * 根据用户登录名和真实名称查找其可命的课程
+     *
      * @param loginName 登录名
-     * @param realName 真实名
+     * @param realName  真实名
      * @return 课程集合
      */
     List<CourseInfoDto> findByUserLoginNameAndRealName(String loginName, String realName);
@@ -45,27 +47,31 @@ public interface BasicCourseService extends IService<BasicCourse> {
 
     /**
      * 创建课程
-     * @param schoolId 学校id
+     *
+     * @param schoolId   学校id
      * @param courseCode 课程编号
      * @param courseName 课程名称
      */
-    void createCourse(Long schoolId,String courseCode,String courseName);
+    void createCourse(Long schoolId, String courseCode, String courseName);
 
     // dev_2.2.0
 
     /**
      * 查询课程信息-分页查询
-     * @param courseName 课程名称(模糊查询)
+     *
+     * @param courseName      课程名称(模糊查询)
      * @param startCreateTime 课程创建时间(起始)
-     * @param endCreateTime 课程创建时间(终止)
-     * @param pageNumber 分页页码
-     * @param pageSize 分页容量
+     * @param endCreateTime   课程创建时间(终止)
+     * @param enable          状态
+     * @param pageNumber      分页页码
+     * @param pageSize        分页容量
      * @return 查询结果
      */
-    IPage<BasicCourseResult> basicCoursePage(String courseName, Long startCreateTime, Long endCreateTime, int pageNumber, int pageSize);
+    IPage<BasicCourseResult> basicCoursePage(String courseName, Long startCreateTime, Long endCreateTime, Boolean enable, int pageNumber, int pageSize);
 
     /**
      * 新增/编辑 课程基础信息
+     *
      * @param basicCourseParams 基础课程信息参数
      * @return 新增或编辑的课程id
      */
@@ -73,11 +79,12 @@ public interface BasicCourseService extends IService<BasicCourse> {
 
     /**
      * 批量删除课程基本信息(逻辑)
+     *
      * @param idList 要删除的课程主键集合
      * @param enable 启用/禁用标志
      * @return 是否删除成功
      */
-    Boolean removeBasicCourseBatch(List<Long> idList,Boolean enable);
+    Boolean removeBasicCourseBatch(List<Long> idList, Boolean enable);
 
     /**
      * 执行批量导入课程逻辑
@@ -89,7 +96,6 @@ public interface BasicCourseService extends IService<BasicCourse> {
     Map<String, Object> executeBasicCourseImportLogic(List<LinkedMultiValueMap<Integer, Object>> finalList, Map<String, Object> map);
 
     /**
-     *
      * @param schoolId
      * @param courseCode
      * @return

+ 11 - 11
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -60,7 +60,7 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
     @Override
     public void verifyCourseInfo(Long schoolId, String courseCode, String courseName, Long userId) {
         QueryWrapper<BasicCourse> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId).eq(BasicCourse::getCode, courseCode).eq(BasicCourse::getEnable,true);
+        queryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId).eq(BasicCourse::getCode, courseCode).eq(BasicCourse::getEnable, true);
 
         BasicCourse tmp = this.getOne(queryWrapper);
         if (tmp != null) {
@@ -118,11 +118,11 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
     }
 
     @Override
-    public IPage<BasicCourseResult> basicCoursePage(String courseName, Long startCreateTime, Long endCreateTime, int pageNumber, int pageSize) {
+    public IPage<BasicCourseResult> basicCoursePage(String courseName, Long startCreateTime, Long endCreateTime, Boolean enable, int pageNumber, int pageSize) {
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         courseName = SystemConstant.translateSpecificSign(courseName);
-        IPage<BasicCourseResult> iPage = basicCourseMapper.findBasicCoursePage(new Page<>(pageNumber, pageSize), courseName, startCreateTime, endCreateTime, schoolId, orgIds);
+        IPage<BasicCourseResult> iPage = basicCourseMapper.findBasicCoursePage(new Page<>(pageNumber, pageSize), courseName, startCreateTime, endCreateTime, enable, schoolId, orgIds);
         List<BasicCourseResult> list = iPage.getRecords();
         for (BasicCourseResult basicCourseResult : list) {
             String clazzIds = basicCourseResult.getClazzIds();
@@ -153,36 +153,36 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public Boolean removeBasicCourseBatch(List<Long> idList,Boolean enable) {
+    public Boolean removeBasicCourseBatch(List<Long> idList, Boolean enable) {
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
         if (idList.size() == 0) {
             throw ExceptionResultEnum.ERROR.exception("请选择要目标");
         }
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        if (!enable){
+        if (!enable) {
             // 批量禁用判断
             // 业务判断
             Set<String> courseCodeSet = idList.stream().map(e -> {
                 BasicCourse basicCourse = this.getById(e);
-                if (Objects.isNull(basicCourse)){
+                if (Objects.isNull(basicCourse)) {
                     throw ExceptionResultEnum.ERROR.exception("未找到课程");
                 }
                 return basicCourse.getCode();
             }).collect(Collectors.toSet());
-            List<Map<String,Object>> mapList = basicCourseMapper.findExamTaskByCourseCode(schoolId,courseCodeSet);
-            if (mapList.size() > 0){
+            List<Map<String, Object>> mapList = basicCourseMapper.findExamTaskByCourseCode(schoolId, courseCodeSet);
+            if (mapList.size() > 0) {
                 StringBuilder courseNames = new StringBuilder();
                 for (Map<String, Object> map : mapList) {
                     courseNames.append(map.get("courseName")).append(",");
                 }
-                throw ExceptionResultEnum.ERROR.exception("【课程】 : " + courseNames.substring(0,courseNames.length() - 1) + " 已经生成了命题任务,不允许禁用");
+                throw ExceptionResultEnum.ERROR.exception("【课程】 : " + courseNames.substring(0, courseNames.length() - 1) + " 已经生成了命题任务,不允许禁用");
             }
         }
         // 课程批量启用禁用
         basicUserCourseService.update(new UpdateWrapper<BasicUserCourse>().lambda()
                 .in(BasicUserCourse::getCourseId, idList)
-                .eq(BasicUserCourse::getSchoolId,sysUser.getSchoolId())
-                .set(BasicUserCourse::getEnable,enable)
+                .eq(BasicUserCourse::getSchoolId, sysUser.getSchoolId())
+                .set(BasicUserCourse::getEnable, enable)
                 .set(BasicUserCourse::getUpdateId, sysUser.getId()));
 
         UpdateWrapper<BasicCourse> updateWrapper = new UpdateWrapper<>();

+ 3 - 0
teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml

@@ -90,6 +90,9 @@
             <if test="endCreateTime != null and endCreateTime > 0">
                 AND #{endCreateTime} >= bc.create_time
             </if>
+            <if test="enable != null">
+                AND bc.enable = #{enable}
+            </if>
             <if test="schoolId != null and schoolId > 0">
                 and bc.school_id = #{schoolId}
             </if>