From 916ec7e066afda62eb93a5bbd70cbd841cddc683 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Thu, 22 Jan 2026 08:42:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=99=E8=82=B2=E8=B5=84=E6=BA=90=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../edu/web/resource/ExamPaperController.java | 16 ++--- .../resource/QuestionCoConvertor.java | 4 ++ .../query/resource/CurriculumQueryExe.java | 58 ++++++++++++++++-- .../query/resource/ExamPaperQueryExe.java | 22 +++++-- .../query/resource/TeacherQueryExe.java | 13 ++++ .../resource/VideoCoursewareQueryExe.java | 26 ++++++-- .../command/resource/CurriculumUpdateExe.java | 4 +- .../edu/command/resource/ExamPaperAddExe.java | 44 +++++++++++++ .../command/resource/ExamPaperRemoveExe.java | 4 +- .../command/resource/ExamPaperUpdateExe.java | 7 ++- .../resource/ExamPaperServiceImpl.java | 15 +++-- .../edu/api/resource/ExamPaperServiceI.java | 9 ++- .../clientobject/resource/CurriculumCO.java | 12 +++- .../resource/CurriculumChapterCO.java | 2 + .../clientobject/resource/ExamPaperCO.java | 3 +- .../resource/VideoCoursewareCO.java | 4 ++ .../resource/CurriculumUpdateStateCmd.java | 2 +- .../dto/resource/ExamPaperAddInheritCmd.java | 55 +++++++++++++++++ .../edu/dto/resource/ExamPaperPageQry.java | 5 ++ .../edu/dto/resource/ExamPaperRemoveCmd.java | 2 +- .../edu/dto/resource/ExamPaperUpdateCmd.java | 4 +- .../dto/resource/QuestionAddInheritCmd.java | 61 +++++++++++++++++++ .../edu/dto/resource/QuestionListQry.java | 7 +++ .../dataobject/VideoCoursewareDO.java | 3 + .../persistence/mapper/CurriculumMapper.java | 2 + .../impl/resource/CorpInfoRepositoryImpl.java | 9 +++ .../resource/CurriculumRepositoryImpl.java | 5 ++ .../VideoCoursewareRepositoryImpl.java | 9 +++ .../resource/CorpInfoRepository.java | 2 + .../resource/CurriculumRepository.java | 2 + .../resource/VideoCoursewareRepository.java | 2 + .../resources/mapper/CurriculumMapper.xml | 17 +++++- .../main/resources/mapper/ExamPaperMapper.xml | 6 ++ .../mapper/VideoCoursewareMapper.xml | 3 +- 34 files changed, 387 insertions(+), 52 deletions(-) create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperAddInheritCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionAddInheritCmd.java diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/resource/ExamPaperController.java b/web-adapter/src/main/java/com/zcloud/edu/web/resource/ExamPaperController.java index ba3164b..c17d184 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/resource/ExamPaperController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/resource/ExamPaperController.java @@ -5,10 +5,7 @@ import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; import com.zcloud.edu.api.resource.ExamPaperServiceI; -import com.zcloud.edu.dto.resource.ExamPaperAddCmd; -import com.zcloud.edu.dto.resource.ExamPaperPageQry; -import com.zcloud.edu.dto.resource.ExamPaperRemoveCmd; -import com.zcloud.edu.dto.resource.ExamPaperUpdateCmd; +import com.zcloud.edu.dto.resource.*; import com.zcloud.edu.dto.clientobject.resource.ExamPaperCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -32,9 +29,14 @@ public class ExamPaperController { @ApiOperation("新增试卷") @PostMapping("/save") - public SingleResponse add(@Validated ExamPaperAddCmd cmd) { + public SingleResponse add(@Validated @RequestBody ExamPaperAddCmd cmd) { return examPaperService.add(cmd); } + @ApiOperation("新增继承试卷") + @PostMapping("/saveInherit") + public SingleResponse saveInherit(@Validated @RequestBody ExamPaperAddInheritCmd cmd) { + return examPaperService.saveInherit(cmd); + } @ApiOperation("试卷分页") @PostMapping("/list") @@ -51,8 +53,8 @@ public class ExamPaperController { @ApiOperation("上架,下架") @PostMapping("/editSellFlag") - public SingleResponse editSellFlag(@Validated @RequestBody ExamPaperUpdateCmd examPaperUpdateCmd) { - examPaperService.editSellFlag(examPaperUpdateCmd); + public SingleResponse editSellFlag(@Validated @RequestBody ExamPaperUpdateSellFlagCmd examPaperUpdateSellFlagCmd) { + examPaperService.editSellFlag(examPaperUpdateSellFlagCmd); return SingleResponse.buildSuccess(); } diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/QuestionCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/QuestionCoConvertor.java index 3f2dcd1..a71e8bf 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/QuestionCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/QuestionCoConvertor.java @@ -1,6 +1,8 @@ package com.zcloud.edu.command.convertor.resource; +import com.zcloud.edu.domain.model.resource.QuestionE; import com.zcloud.edu.dto.clientobject.resource.QuestionCO; +import com.zcloud.edu.dto.resource.QuestionAddInheritCmd; import com.zcloud.edu.persistence.dataobject.QuestionDO; import org.mapstruct.Mapper; @@ -20,5 +22,7 @@ public interface QuestionCoConvertor { * @return */ List converDOsToCOs(List questionDOs); + + List converCmdsToEs(List questionList); } diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumQueryExe.java index 6dc269a..e10c97a 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumQueryExe.java @@ -1,19 +1,24 @@ package com.zcloud.edu.command.query.resource; +import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.edu.command.convertor.resource.CurriculumChapterCoConvertor; import com.zcloud.edu.command.convertor.resource.CurriculumCoConvertor; +import com.zcloud.edu.command.convertor.resource.VideoCoursewareCoConvertor; import com.zcloud.edu.domain.enums.CorpTypeEnum; +import com.zcloud.edu.dto.clientobject.resource.VideoCoursewareCO; import com.zcloud.edu.dto.resource.CurriculumPageQry; import com.zcloud.edu.dto.clientobject.resource.CurriculumCO; import com.zcloud.edu.dto.clientobject.resource.CurriculumChapterCO; import com.zcloud.edu.persistence.dataobject.CorpInfoDO; import com.zcloud.edu.persistence.dataobject.CurriculumChapterDO; import com.zcloud.edu.persistence.dataobject.CurriculumDO; +import com.zcloud.edu.persistence.dataobject.VideoCoursewareDO; import com.zcloud.edu.persistence.repository.resource.CorpInfoRepository; import com.zcloud.edu.persistence.repository.resource.CurriculumChapterRepository; import com.zcloud.edu.persistence.repository.resource.CurriculumRepository; +import com.zcloud.edu.persistence.repository.resource.VideoCoursewareRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.Tools; import lombok.AllArgsConstructor; @@ -22,6 +27,7 @@ import org.springframework.stereotype.Component; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.function.Function; import java.util.stream.Collectors; @@ -39,6 +45,8 @@ public class CurriculumQueryExe { private final CurriculumChapterRepository curriculumChapterRepository; private final CurriculumChapterCoConvertor curriculumChapterCoConvertor; private final CorpInfoRepository corpInfoRepository; + private final VideoCoursewareRepository videoCoursewareRepository; + private final VideoCoursewareCoConvertor videoCoursewareCoConvertor; /** * 分页 @@ -65,17 +73,24 @@ public class CurriculumQueryExe { return PageResponse.of(null, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } List examCenterCOS = curriculumCoConvertor.converDOsToCOs(pageResponse.getData()); - examCenterCOS.forEach(examCenterCO -> { - if(AuthContext.getUserId().equals(examCenterCO.getCreateId())){ - //是本人 - examCenterCO.setIsUserCreate(true); + examCenterCOS.forEach(videoCoursewareCO -> { + //如果是企业,可以看本企业下所有的,如果是个人,只能看个人的,判断登录的账号是企业主账号还是个人 + Boolean isCorpAccount = corpInfoRepository.checkCorp(); + // 企业账户:检查租户ID匹配 + if (isCorpAccount && AuthContext.getTenantId().equals(videoCoursewareCO.getTenantId())) { + videoCoursewareCO.setIsUserCreate(true); + return; + } + // 个人账户:检查创建者ID匹配 + if (!isCorpAccount && videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())) { + videoCoursewareCO.setIsUserCreate(true); } }); return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } public CurriculumCO getInfoById(Long id) { - CurriculumDO curriculumDO = curriculumRepository.getById(id); + CurriculumDO curriculumDO = curriculumRepository.getInfoById(id); if(curriculumDO == null){ return null; } @@ -84,9 +99,42 @@ public class CurriculumQueryExe { List curriculumChapterDOList = curriculumChapterRepository.getListByCurriculumId(curriculumCO.getCurriculumId()); List curriculumChapterCOList = curriculumChapterCoConvertor.converDOsToCOs(curriculumChapterDOList); + + + setVideoCoursewareInfo(curriculumChapterCOList); List treeList = Tools.buildEntityTree(curriculumChapterCOList, "curriculumChapterId", "parentId", "childCurriculumChapterCOList", "0"); curriculumCO.setCurriculumChapterCOList(treeList); return curriculumCO; } + private void setVideoCoursewareInfo(List chapterList) { + // 获取所有视频课件ID + List videoCoursewareIdList = chapterList.stream() + .map(CurriculumChapterCO::getVideoCoursewareId) + .filter(StringUtils::isNotEmpty) + .distinct() // 去重 + .collect(Collectors.toList()); + if (videoCoursewareIdList.isEmpty()) { + return; + } + + List videoCoursewareDOList = videoCoursewareRepository.getListByVideoIdList(videoCoursewareIdList); + if (videoCoursewareDOList == null || videoCoursewareDOList.isEmpty()) { + return; + } + + // 构建ID到对象的映射 + Map videoCoursewareMap = videoCoursewareCoConvertor.converDOsToCOs(videoCoursewareDOList) + .stream() + .filter(vco -> vco.getVideoCoursewareId() != null) + .collect(Collectors.toMap(VideoCoursewareCO::getVideoCoursewareId, Function.identity())); + + // 设置每个章节的视频课件信息 + chapterList.forEach(chapter -> { + String videoId = chapter.getVideoCoursewareId(); + if (StringUtils.isNotEmpty(videoId)) { + chapter.setVideoCoursewareCO(videoCoursewareMap.get(videoId)); + } + }); + } } diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/resource/ExamPaperQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/ExamPaperQueryExe.java index 41da9b0..c9d9ce8 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/resource/ExamPaperQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/ExamPaperQueryExe.java @@ -61,14 +61,24 @@ public class ExamPaperQueryExe { params.put("inCorpinfoId", inCorpinfoId); } PageResponse pageResponse = examPaperRepository.listPage(params); - List examCenterCOS = examPaperCoConvertor.converDOsToCOs(pageResponse.getData()); - examCenterCOS.forEach(examCenterCO -> { - if(AuthContext.getUserId().equals(examCenterCO.getCreateId())){ - //是本人 - examCenterCO.setIsUserCreate(true); + List videoCoursewareCOList = examPaperCoConvertor.converDOsToCOs(pageResponse.getData()); + videoCoursewareCOList.forEach(videoCoursewareCO -> { + //如果是企业,可以看本企业下所有的,如果是个人,只能看个人的,判断登录的账号是企业主账号还是个人 + Boolean isCorpAccount = corpInfoRepository.checkCorp(); + + // 企业账户:检查租户ID匹配 + if (isCorpAccount && AuthContext.getTenantId().equals(videoCoursewareCO.getTenantId())) { + videoCoursewareCO.setIsUserCreate(true); + return; } + + // 个人账户:检查创建者ID匹配 + if (!isCorpAccount && videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())) { + videoCoursewareCO.setIsUserCreate(true); + } + }); - return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + return PageResponse.of(videoCoursewareCOList, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } public ExamPaperCO getInfoById(Long id) { diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/resource/TeacherQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/TeacherQueryExe.java index 928a634..5b5e8c4 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/resource/TeacherQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/TeacherQueryExe.java @@ -2,13 +2,17 @@ package com.zcloud.edu.command.query.resource; import cn.hutool.core.bean.BeanUtil; import com.alibaba.cola.dto.MultiResponse; +import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.edu.command.convertor.resource.TeacherCoConvertor; +import com.zcloud.edu.domain.enums.CorpTypeEnum; import com.zcloud.edu.dto.resource.TeacherListQry; import com.zcloud.edu.dto.resource.TeacherPageQry; import com.zcloud.edu.dto.clientobject.resource.TeacherCO; import com.zcloud.edu.dto.clientobject.resource.TeacherCertificateCO; +import com.zcloud.edu.persistence.dataobject.CorpInfoDO; import com.zcloud.edu.persistence.dataobject.TeacherCertificateDO; import com.zcloud.edu.persistence.dataobject.TeacherDO; +import com.zcloud.edu.persistence.repository.resource.CorpInfoRepository; import com.zcloud.edu.persistence.repository.resource.TeacherCertificateRepository; import com.zcloud.edu.persistence.repository.resource.TeacherRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; @@ -18,8 +22,10 @@ import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.beans.BeanUtils; +import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** @@ -34,6 +40,7 @@ public class TeacherQueryExe { private final TeacherRepository teacherRepository; private final TeacherCoConvertor teacherCoConvertor; private final TeacherCertificateRepository teacherCertificateRepository; + private final CorpInfoRepository corpInfoRepository; /** * 分页 @@ -49,6 +56,12 @@ public class TeacherQueryExe { public MultiResponse execute(TeacherListQry qry) { Map params = PageQueryHelper.toHashMap(qry); + //判断企业是股份端还是企业端 + boolean supper = corpInfoRepository.isSupper(); + if(!supper){ + //不是股份端,显示 本企业的 + params.put("corpinfoId", AuthContext.getTenantId()); + } List list = teacherRepository.list(params); List examCenterCOS = teacherCoConvertor.converDOsToCOs(list); return MultiResponse.of(examCenterCOS); diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/resource/VideoCoursewareQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/VideoCoursewareQueryExe.java index bb42b79..9848ecd 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/resource/VideoCoursewareQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/VideoCoursewareQueryExe.java @@ -61,17 +61,31 @@ public class VideoCoursewareQueryExe { if(pageResponse.getData() == null){ return PageResponse.of(null, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } - List examCenterCOS = videoCoursewareCoConvertor.converDOsToCOs(pageResponse.getData()); - examCenterCOS.forEach(examCenterCO -> { - if(examCenterCO.getCreateId().equals(AuthContext.getUserId())){ - //是本人 - examCenterCO.setIsUserCreate(true); + List videoCoursewareCOList = videoCoursewareCoConvertor.converDOsToCOs(pageResponse.getData()); + videoCoursewareCOList.forEach(videoCoursewareCO -> { + //如果是企业,可以看本企业下所有的,如果是个人,只能看个人的,判断登录的账号是企业主账号还是个人 + Boolean isCorpAccount = corpInfoRepository.checkCorp(); + + // 企业账户:检查租户ID匹配 + if (isCorpAccount && AuthContext.getTenantId().equals(videoCoursewareCO.getTenantId())) { + videoCoursewareCO.setIsUserCreate(true); + return; + } + + // 个人账户:检查创建者ID匹配 + if (!isCorpAccount && videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())) { + videoCoursewareCO.setIsUserCreate(true); + return; + } + // 教师账户:检查用户ID匹配(允许编辑自己的课件) + if (AuthContext.getUserId().equals(videoCoursewareCO.getUserId())) { + videoCoursewareCO.setIsUserCreate(true); } }); - return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + return PageResponse.of(videoCoursewareCOList, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } public MultiResponse execute(VideoCoursewareListQry qry) { diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumUpdateExe.java index d81ace5..079c079 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumUpdateExe.java @@ -125,7 +125,7 @@ public class CurriculumUpdateExe { public void editState(CurriculumUpdateStateCmd cmd) { List errorList = new ArrayList<>(); - for (Long id : cmd.getId()) { + for (Long id : cmd.getIds()) { CurriculumDO curriculumDO = curriculumRepository.getById(id); //企业端禁用:所属单位为股份的不能禁用 //股份端禁用:所属单位为各企业的不能禁用 @@ -153,7 +153,7 @@ public class CurriculumUpdateExe { if(CollUtil.isNotEmpty(errorList)){ throw new BizException(errorList+"不能修改状态"); } - curriculumRepository.updateState(cmd.getId(), cmd.getSellFlag()); + curriculumRepository.updateState(cmd.getIds(), cmd.getSellFlag()); } } diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperAddExe.java index 9641fc7..09e6de0 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperAddExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperAddExe.java @@ -2,11 +2,14 @@ package com.zcloud.edu.command.resource; import cn.hutool.core.bean.BeanUtil; import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.command.convertor.resource.QuestionCoConvertor; import com.zcloud.edu.domain.enums.CoursewareTypeEnum; import com.zcloud.edu.domain.gateway.resource.ExamPaperGateway; import com.zcloud.edu.domain.model.resource.ExamPaperE; import com.zcloud.edu.domain.model.resource.QuestionE; import com.zcloud.edu.dto.resource.ExamPaperAddCmd; +import com.zcloud.edu.dto.resource.ExamPaperAddInheritCmd; +import com.zcloud.edu.dto.resource.QuestionAddInheritCmd; import com.zcloud.edu.persistence.dataobject.QuestionDO; import com.zcloud.edu.persistence.repository.resource.QuestionRepository; import lombok.AllArgsConstructor; @@ -29,6 +32,7 @@ import java.util.List; public class ExamPaperAddExe { private final ExamPaperGateway examPaperGateway; private final QuestionRepository questionRepository; + private final QuestionCoConvertor questionCoConvertor; @Transactional(rollbackFor = Exception.class) public boolean execute(ExamPaperAddCmd cmd) { @@ -65,5 +69,45 @@ public class ExamPaperAddExe { } return true; } + + public Boolean saveInherit(ExamPaperAddInheritCmd cmd) { + ExamPaperE examPaperE = new ExamPaperE(); + BeanUtils.copyProperties(cmd, examPaperE); + boolean res = false; + try { + res = examPaperGateway.add(examPaperE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("保存失败"); + } + + List questionList = cmd.getQuestionList(); + List questionES =questionCoConvertor.converCmdsToEs(questionList); + questionES.forEach(info->{ + info.setExamPaperId(examPaperE.getExamPaperId()); + }); + BigDecimal examScore = questionES.stream().map(QuestionE::getScore).reduce(BigDecimal.ZERO, BigDecimal::add); + //判断总分数量是否一致 + if (examScore.compareTo(examPaperE.getExamScore())!=0) { + throw new BizException("总分数和试题分数不一致"); + } + + // 批量插入 + boolean questionRes = false; + try { + questionRes = questionRepository.saveBatch(BeanUtil.copyToList(questionES, QuestionDO.class)); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!questionRes) { + throw new BizException("试题导入失败"); + } + return true; + + + + } } diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperRemoveExe.java index a16dd41..10bca97 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperRemoveExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperRemoveExe.java @@ -68,7 +68,7 @@ public class ExamPaperRemoveExe { @Transactional(rollbackFor = Exception.class) public boolean execute(ExamPaperRemoveCmd examPaperRemoveCmd) { - List examPaperDOList =examPaperRepository.getListByIdList(examPaperRemoveCmd.getId()); + List examPaperDOList =examPaperRepository.getListByIdList(examPaperRemoveCmd.getIds()); if(CollUtil.isEmpty(examPaperDOList)){ throw new RuntimeException("试卷不存在"); } @@ -100,7 +100,7 @@ public class ExamPaperRemoveExe { } - boolean res = examPaperGateway.deletedExamPaperByIds(examPaperRemoveCmd.getId()); + boolean res = examPaperGateway.deletedExamPaperByIds(examPaperRemoveCmd.getIds()); if (!res) { throw new BizException("删除失败"); } diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperUpdateExe.java index 34b496e..5424383 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperUpdateExe.java @@ -7,6 +7,7 @@ import com.zcloud.edu.domain.gateway.resource.ExamPaperGateway; import com.zcloud.edu.domain.model.resource.ExamPaperE; import com.zcloud.edu.domain.model.resource.QuestionE; import com.zcloud.edu.dto.resource.ExamPaperUpdateCmd; +import com.zcloud.edu.dto.resource.ExamPaperUpdateSellFlagCmd; import com.zcloud.edu.persistence.dataobject.ExamPaperDO; import com.zcloud.edu.persistence.dataobject.QuestionDO; import com.zcloud.edu.persistence.repository.resource.CorpInfoRepository; @@ -52,8 +53,8 @@ public class ExamPaperUpdateExe { } - public void editSellFlag(ExamPaperUpdateCmd examPaperUpdateCmd) { - ExamPaperDO examPaperDO = examPaperRepository.getById(examPaperUpdateCmd.getId()); + public void editSellFlag(ExamPaperUpdateSellFlagCmd examPaperUpdateSellFlagCmd) { + ExamPaperDO examPaperDO = examPaperRepository.getById(examPaperUpdateSellFlagCmd.getId()); //企业端禁用:所属单位为股份的不能禁用 //股份端禁用:所属单位为各企业的不能禁用 Boolean b = corpInfoRepository.checkSupper(examPaperDO.getCorpinfoId()); @@ -70,7 +71,7 @@ public class ExamPaperUpdateExe { } ExamPaperE examPaperE = new ExamPaperE(); - BeanUtils.copyProperties(examPaperUpdateCmd, examPaperE); + BeanUtils.copyProperties(examPaperUpdateSellFlagCmd, examPaperE); boolean res = examPaperGateway.update(examPaperE); } } diff --git a/web-app/src/main/java/com/zcloud/edu/service/resource/ExamPaperServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/resource/ExamPaperServiceImpl.java index 3696ec3..0a97b55 100644 --- a/web-app/src/main/java/com/zcloud/edu/service/resource/ExamPaperServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/edu/service/resource/ExamPaperServiceImpl.java @@ -7,10 +7,7 @@ import com.zcloud.edu.command.resource.ExamPaperAddExe; import com.zcloud.edu.command.resource.ExamPaperRemoveExe; import com.zcloud.edu.command.resource.ExamPaperUpdateExe; import com.zcloud.edu.command.query.resource.ExamPaperQueryExe; -import com.zcloud.edu.dto.resource.ExamPaperAddCmd; -import com.zcloud.edu.dto.resource.ExamPaperPageQry; -import com.zcloud.edu.dto.resource.ExamPaperRemoveCmd; -import com.zcloud.edu.dto.resource.ExamPaperUpdateCmd; +import com.zcloud.edu.dto.resource.*; import com.zcloud.edu.dto.clientobject.resource.ExamPaperCO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -64,8 +61,14 @@ public class ExamPaperServiceImpl implements ExamPaperServiceI { } @Override - public void editSellFlag(ExamPaperUpdateCmd examPaperUpdateCmd) { - examPaperUpdateExe.editSellFlag(examPaperUpdateCmd); + public void editSellFlag(ExamPaperUpdateSellFlagCmd examPaperUpdateSellFlagCmd) { + examPaperUpdateExe.editSellFlag(examPaperUpdateSellFlagCmd); + } + + @Override + public SingleResponse saveInherit(ExamPaperAddInheritCmd cmd) { + examPaperAddExe.saveInherit(cmd); + return SingleResponse.buildSuccess(); } } diff --git a/web-client/src/main/java/com/zcloud/edu/api/resource/ExamPaperServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/resource/ExamPaperServiceI.java index c99bae4..d522424 100644 --- a/web-client/src/main/java/com/zcloud/edu/api/resource/ExamPaperServiceI.java +++ b/web-client/src/main/java/com/zcloud/edu/api/resource/ExamPaperServiceI.java @@ -2,10 +2,7 @@ package com.zcloud.edu.api.resource; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; -import com.zcloud.edu.dto.resource.ExamPaperAddCmd; -import com.zcloud.edu.dto.resource.ExamPaperPageQry; -import com.zcloud.edu.dto.resource.ExamPaperRemoveCmd; -import com.zcloud.edu.dto.resource.ExamPaperUpdateCmd; +import com.zcloud.edu.dto.resource.*; import com.zcloud.edu.dto.clientobject.resource.ExamPaperCO; import org.springframework.web.multipart.MultipartFile; @@ -28,6 +25,8 @@ public interface ExamPaperServiceI { ExamPaperCO getInfoById(Long id); - void editSellFlag(ExamPaperUpdateCmd examPaperUpdateCmd); + void editSellFlag(ExamPaperUpdateSellFlagCmd examPaperUpdateSellFlagCmd); + + SingleResponse saveInherit(ExamPaperAddInheritCmd cmd); } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumCO.java index c189764..72779b8 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumCO.java @@ -1,8 +1,11 @@ package com.zcloud.edu.dto.clientobject.resource; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.List; @@ -51,14 +54,17 @@ public class CurriculumCO { @ApiModelProperty(value = "课件数量") private Integer chapterCount; - //总视频时长 - @ApiModelProperty(value = "总视频时长") - private Integer videoTime; @ApiModelProperty(value = "是否是当前用户创建的数据") private Boolean isUserCreate = false; @ApiModelProperty(value = "课程目录") private List curriculumChapterCOList; + @ApiModelProperty(value = "总视频时长") + private BigDecimal videoTotalTime; + private Long tenantId; + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumChapterCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumChapterCO.java index 2125ea8..90ebb3e 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumChapterCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumChapterCO.java @@ -35,6 +35,8 @@ public class CurriculumChapterCO { //上级ID @ApiModelProperty(value = "上级ID") private String parentId; + @ApiModelProperty(value = "课件信息") + private VideoCoursewareCO videoCoursewareCO; @ApiModelProperty(value = "子课程目录") private List childCurriculumChapterCOList; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/ExamPaperCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/ExamPaperCO.java index cd76340..51ce860 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/ExamPaperCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/ExamPaperCO.java @@ -68,6 +68,7 @@ public class ExamPaperCO { @ApiModelProperty(value = "是否是当前用户创建的数据") private Boolean isUserCreate = false; - // private List questionCOList; + + private Long tenantId; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/VideoCoursewareCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/VideoCoursewareCO.java index e416d2b..daf6380 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/VideoCoursewareCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/VideoCoursewareCO.java @@ -77,5 +77,9 @@ public class VideoCoursewareCO extends ClientObject { private LocalDateTime createTime; @ApiModelProperty(value = "习题数") private Integer questionCount; + + @ApiModelProperty(value = "用户id") + private Long userId; + private Long tenantId; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumUpdateStateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumUpdateStateCmd.java index 63c768f..5785bd7 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumUpdateStateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumUpdateStateCmd.java @@ -21,7 +21,7 @@ public class CurriculumUpdateStateCmd { @ApiModelProperty(value = "id", name = "id", required = true) @NotNull(message = "id不能为空") - private List id; + private List ids; @ApiModelProperty(value = "课程状态 1-上架 0-下架", name = "state", required = true) @NotNull(message = "课程状态不能为空") diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperAddInheritCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperAddInheritCmd.java new file mode 100644 index 0000000..b358b25 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperAddInheritCmd.java @@ -0,0 +1,55 @@ +package com.zcloud.edu.dto.resource; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.List; + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ExamPaperAddInheritCmd { + + + @ApiModelProperty(value = "试卷名称", name = "examName", required = true) + @NotEmpty(message = "试卷名称不能为空") + private String examName; + + @ApiModelProperty(value = "试卷总分数", name = "examScore", required = true) + @NotNull(message = "试卷总分数不能为空") + private BigDecimal examScore; + + @ApiModelProperty(value = "合格分数", name = "passScore", required = true) + @NotNull(message = "合格分数不能为空") + private BigDecimal passScore; + + @ApiModelProperty(value = "是否上架(0否 1是)", name = "sellFlag", required = true) + @NotNull(message = "是否上架(0否 1是)不能为空") + private Integer sellFlag; + + @ApiModelProperty(value = "考试时长(分钟)", name = "examTime", required = true) + @NotNull(message = "考试时长(分钟)不能为空") + private Integer examTime; + + @ApiModelProperty(value = "试卷类型 1-自建试卷 2-班级中自动生成试卷", name = "type", required = true) + @NotNull(message = "试卷类型 1-自建试卷 2-班级中自动生成试卷不能为空") + private Integer type; + + @ApiModelProperty(value = "试卷信息", name = "type", required = true) + @NotNull(message = "试卷能为空") + private List questionList; + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperPageQry.java index 900c0ba..acd3eeb 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperPageQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperPageQry.java @@ -26,6 +26,9 @@ public class ExamPaperPageQry extends PageQuery { * - `le`: 小于等于比较查询 * - `ne`: 不等比较查询,对应SQL的!=操作符 */ + @ApiModelProperty(value = "企业id") + private Long corpinfoId; + @ApiModelProperty(value = "试卷名称") private String examPaperName; @ApiModelProperty(value = "试卷总分数") @@ -40,5 +43,7 @@ public class ExamPaperPageQry extends PageQuery { //上传结束时间 @ApiModelProperty(value = "上传结束时间") private String uploadEndTime; + @ApiModelProperty(value = "试卷类型 1-自建试卷 2-班级中自动生成试卷") + private Integer type; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperRemoveCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperRemoveCmd.java index 9bc02ef..893ae3f 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperRemoveCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperRemoveCmd.java @@ -26,7 +26,7 @@ public class ExamPaperRemoveCmd { * - `ne`: 不等比较查询,对应SQL的!=操作符 */ @ApiModelProperty(value = "试卷id list") - private List id; + private List ids; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperUpdateCmd.java index d4d30bd..8320e67 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperUpdateCmd.java @@ -32,10 +32,10 @@ public class ExamPaperUpdateCmd extends Command { @NotEmpty(message = "试卷名称不能为空") private String examName; @ApiModelProperty(value = "试卷总分数", name = "examScore", required = true) - @NotEmpty(message = "试卷总分数不能为空") + @NotNull(message = "试卷总分数不能为空") private BigDecimal examScore; @ApiModelProperty(value = "合格分数", name = "passScore", required = true) - @NotEmpty(message = "合格分数不能为空") + @NotNull(message = "合格分数不能为空") private BigDecimal passScore; @ApiModelProperty(value = "是否上架(0否 1是)", name = "sellFlag", required = true) @NotNull(message = "是否上架(0否 1是)不能为空") diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionAddInheritCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionAddInheritCmd.java new file mode 100644 index 0000000..7006f7a --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionAddInheritCmd.java @@ -0,0 +1,61 @@ +package com.zcloud.edu.dto.resource; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-11-27 14:06:10 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class QuestionAddInheritCmd { + + + @ApiModelProperty(value = "试题类型(1单选题、2多选题、3判断题)", name = "questionType", required = true) + @NotNull(message = "试题类型(单选题、多选题、判断题)不能为空") + private Integer questionType; + + @ApiModelProperty(value = "题干", name = "questionDry", required = true) + @NotEmpty(message = "题干不能为空") + private String questionDry; + + @ApiModelProperty(value = "选项A", name = "optionA", required = true) + private String optionA; + + @ApiModelProperty(value = "选项B", name = "optionB", required = true) + private String optionB; + + @ApiModelProperty(value = "选项C", name = "optionC", required = true) + private String optionC; + + @ApiModelProperty(value = "选项D", name = "optionD", required = true) + private String optionD; + + @ApiModelProperty(value = "答案", name = "answer", required = true) + @NotEmpty(message = "答案不能为空") + private String answer; + + @ApiModelProperty(value = "课件类型(1:视频课件、2:试卷习题)", name = "coursewareType", required = true) + @NotNull(message = "课件类型(1:视频课件、2:试卷习题)不能为空") + private Integer coursewareType; + + @ApiModelProperty(value = "答案解析", name = "descr") + private String descr; + + @ApiModelProperty(value = "分值", name = "score") + private BigDecimal score; + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionListQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionListQry.java index 6a38cb9..311f55c 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionListQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionListQry.java @@ -26,6 +26,13 @@ public class QuestionListQry extends PageQuery { */ @ApiModelProperty(value = "企业id", name = "eqCorpinfoId", required = true) private String eqCorpinfoId; + + @ApiModelProperty(value = "视频课件id、2:试卷习题)", name = "eqVideoCoursewareId", required = true) + private String eqVideoCoursewareId; + + @ApiModelProperty(value = "试卷id", name = "eqExamPaperId", required = true) + private String eqExamPaperId; + @ApiModelProperty(value = "试题类型(1单选题、2多选题、3判断题)") private Integer eqQuestionType; //题干 diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/VideoCoursewareDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/VideoCoursewareDO.java index a196ba1..59639f0 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/VideoCoursewareDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/VideoCoursewareDO.java @@ -68,6 +68,9 @@ public class VideoCoursewareDO extends BaseDO { @ApiModelProperty(value = "习题数") @TableField(exist = false) private Integer questionCount; + @ApiModelProperty(value = "用户id") + @TableField(exist = false) + private Long userId; public VideoCoursewareDO(String videoCoursewareId) { this.videoCoursewareId = videoCoursewareId; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CurriculumMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CurriculumMapper.java index 3c19354..077ce90 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CurriculumMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CurriculumMapper.java @@ -18,5 +18,7 @@ import java.util.Map; public interface CurriculumMapper extends BaseMapper { IPage getListPage(IPage iPage, Map params); + + CurriculumDO getInfoById(Long id); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CorpInfoRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CorpInfoRepositoryImpl.java index 5d1c484..08150b8 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CorpInfoRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CorpInfoRepositoryImpl.java @@ -82,5 +82,14 @@ public class CorpInfoRepositoryImpl extends BaseRepositoryImpl getListByVideoIdList(List videoCoursewareIdList) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("video_courseware_id", videoCoursewareIdList); + queryWrapper.eq("state", 1); + + return list(queryWrapper); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CorpInfoRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CorpInfoRepository.java index b130581..542340f 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CorpInfoRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CorpInfoRepository.java @@ -25,5 +25,7 @@ public interface CorpInfoRepository extends BaseRepository { boolean isSupper(); Boolean checkSupper(Long corpinfoId); + + Boolean checkCorp(); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CurriculumRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CurriculumRepository.java index 3a4e448..901fa1c 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CurriculumRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CurriculumRepository.java @@ -20,5 +20,7 @@ public interface CurriculumRepository extends BaseRepository { Long getListByTraingId(String trainingTypeId); boolean updateState(@NotNull(message = "id不能为空") List id, @NotNull(message = "课程状态不能为空") Integer sellFlag); + + CurriculumDO getInfoById(Long id); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/VideoCoursewareRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/VideoCoursewareRepository.java index 46bb5d0..e73c457 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/VideoCoursewareRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/VideoCoursewareRepository.java @@ -30,5 +30,7 @@ public interface VideoCoursewareRepository extends BaseRepository videoCoursewareIds); + + List getListByVideoIdList(List videoCoursewareIdList); } diff --git a/web-infrastructure/src/main/resources/mapper/CurriculumMapper.xml b/web-infrastructure/src/main/resources/mapper/CurriculumMapper.xml index a67438f..ce4c028 100644 --- a/web-infrastructure/src/main/resources/mapper/CurriculumMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/CurriculumMapper.xml @@ -14,7 +14,7 @@ left join corp_info corp on c.corpinfo_id = corp.id left join training_type tt on c.training_type_id = tt.training_type_id and tt.delete_enum = 'FALSE' left join curriculum_chapter cc - on c.curriculum_id = cc.curriculum_id and cc.delete_enum = 'FALSE' and cc.parent_id != '0' + on c.curriculum_id = cc.curriculum_id and cc.delete_enum = 'FALSE' and cc.video_courseware_id is not null left join video_courseware vc on cc.video_courseware_id = vc.video_courseware_id and vc.delete_enum = 'FALSE' and vc.state = 1 where c.delete_enum = 'FALSE' @@ -46,5 +46,20 @@ group by c.id order by c.create_time asc + + diff --git a/web-infrastructure/src/main/resources/mapper/ExamPaperMapper.xml b/web-infrastructure/src/main/resources/mapper/ExamPaperMapper.xml index 8cb98e4..1897242 100644 --- a/web-infrastructure/src/main/resources/mapper/ExamPaperMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/ExamPaperMapper.xml @@ -14,6 +14,9 @@ #{corpinfoId} + + AND ep.corpinfo_id = #{params.corpinfoId} + AND ep.exam_name LIKE CONCAT('%',#{params.examPaperName},'%') @@ -26,6 +29,9 @@ AND ep.sell_flag = #{params.sellFlag} + + AND ep.type = #{params.type} + and DATE(ep.create_time) =]]> #{params.uploadStartTime} diff --git a/web-infrastructure/src/main/resources/mapper/VideoCoursewareMapper.xml b/web-infrastructure/src/main/resources/mapper/VideoCoursewareMapper.xml index ff6bc89..9c64e03 100644 --- a/web-infrastructure/src/main/resources/mapper/VideoCoursewareMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/VideoCoursewareMapper.xml @@ -26,7 +26,8 @@ u.name as teacherName, c.corp_name as corpName, count(q.id) as questionCount, - c.type as corpType + c.type as corpType, + u.id as userId from video_courseware a left join training_type b on a.training_type_id = b.training_type_id and b.delete_enum = 'FALSE' left join teacher t on a.teacher_id = t.teacher_id and t.delete_enum = 'FALSE'