From 44f82ebddb6067914e653582a966f8566f8b8765 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Tue, 13 Jan 2026 13:38:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=B9=E8=AE=AD=E8=B5=84=E6=BA=90=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- start/src/main/resources/nacos.yml | 6 +- .../resource/CurriculumChapterController.java | 82 +++++++ .../web/resource/CurriculumController.java | 84 +++++++ .../edu/web/resource/ExamPaperController.java | 87 +++++++ .../{ => resource}/QuestionController.java | 38 +-- .../TeacherCertificateController.java | 26 +- .../web/{ => resource}/TeacherController.java | 21 +- .../TrainingTypeController.java | 30 ++- .../VideoCoursewareController.java | 23 +- .../zcloud/edu/command/QuestionUpdateExe.java | 35 --- .../edu/command/TrainingTypeRemoveExe.java | 44 ---- .../edu/command/VideoCoursewareUpdateExe.java | 45 ---- .../CurriculumChapterCoConvertor.java | 32 +++ .../resource/CurriculumCoConvertor.java | 26 ++ .../resource/ExamPaperCoConvertor.java | 24 ++ .../{ => resource}/QuestionCoConvertor.java | 4 +- .../TeacherCertificateCoConvertor.java | 4 +- .../{ => resource}/TeacherCoConvertor.java | 4 +- .../TrainingTypeCoConvertor.java | 4 +- .../VideoCoursewareCoConvertor.java | 4 +- .../query/VideoCoursewareQueryExe.java | 60 ----- .../resource/CurriculumChapterQueryExe.java | 42 ++++ .../query/resource/CurriculumQueryExe.java | 92 +++++++ .../query/resource/ExamPaperQueryExe.java | 88 +++++++ .../{ => resource}/QuestionQueryExe.java | 12 +- .../TeacherCertificateQueryExe.java | 12 +- .../query/{ => resource}/TeacherQueryExe.java | 24 +- .../{ => resource}/TrainingTypeQueryExe.java | 12 +- .../resource/VideoCoursewareQueryExe.java | 95 ++++++++ .../command/resource/CurriculumAddExe.java | 103 ++++++++ .../resource/CurriculumChapterAddExe.java | 40 +++ .../CurriculumChapterRemoveExe.java} | 16 +- .../resource/CurriculumChapterUpdateExe.java | 34 +++ .../command/resource/CurriculumRemoveExe.java | 71 ++++++ .../command/resource/CurriculumUpdateExe.java | 109 +++++++++ .../edu/command/resource/ExamPaperAddExe.java | 69 ++++++ .../command/resource/ExamPaperRemoveExe.java | 95 ++++++++ .../command/resource/ExamPaperUpdateExe.java | 98 ++++++++ .../{ => resource}/QuestionAddExe.java | 15 +- .../{ => resource}/QuestionRemoveExe.java | 5 +- .../command/resource/QuestionUpdateExe.java | 80 ++++++ .../command/{ => resource}/TeacherAddExe.java | 13 +- .../TeacherCertificateAddExe.java | 20 +- .../TeacherCertificateRemoveExe.java | 4 +- .../TeacherCertificateUpdateExe.java | 8 +- .../{ => resource}/TeacherRemoveExe.java | 12 +- .../{ => resource}/TeacherUpdateExe.java | 10 +- .../{ => resource}/TrainingTypeAddExe.java | 10 +- .../resource/TrainingTypeRemoveExe.java | 62 +++++ .../{ => resource}/TrainingTypeUpdateExe.java | 10 +- .../{ => resource}/VideoCoursewareAddExe.java | 10 +- .../resource/VideoCoursewareRemoveExe.java | 78 ++++++ .../resource/VideoCoursewareUpdateExe.java | 93 +++++++ .../CurriculumChapterServiceImpl.java | 59 +++++ .../resource/CurriculumServiceImpl.java | 70 ++++++ .../resource/ExamPaperServiceImpl.java | 71 ++++++ .../{ => resource}/QuestionServiceImpl.java | 28 ++- .../TeacherCertificateServiceImpl.java | 22 +- .../{ => resource}/TeacherServiceImpl.java | 18 +- .../TrainingTypeServiceImpl.java | 22 +- .../VideoCoursewareServiceImpl.java | 18 +- .../resource/CurriculumChapterServiceI.java | 27 +++ .../edu/api/resource/CurriculumServiceI.java | 32 +++ .../edu/api/resource/ExamPaperServiceI.java | 33 +++ .../api/{ => resource}/QuestionServiceI.java | 15 +- .../TeacherCertificateServiceI.java | 12 +- .../api/{ => resource}/TeacherServiceI.java | 6 +- .../{ => resource}/TrainingTypeServiceI.java | 12 +- .../VideoCoursewareServiceI.java | 6 +- .../com/zcloud/edu/dto/TeacherPageQry.java | 43 ---- .../java/com/zcloud/edu/dto/UserAddCmd.java | 181 -------------- .../clientobject/resource/CurriculumCO.java | 64 +++++ .../resource/CurriculumChapterCO.java | 42 ++++ .../clientobject/resource/ExamPaperCO.java | 71 ++++++ .../{ => resource}/QuestionCO.java | 13 +- .../{ => resource}/TeacherCO.java | 40 +-- .../{ => resource}/TeacherCertificateCO.java | 6 +- .../{ => resource}/TrainingTypeCO.java | 2 +- .../{ => resource}/VideoCoursewareCO.java | 55 ++--- .../edu/dto/resource/CurriculumAddCmd.java | 53 ++++ .../dto/resource/CurriculumChapterAddCmd.java | 39 +++ .../resource/CurriculumChapterPageQry.java | 28 +++ .../resource/CurriculumChapterUpdateCmd.java | 49 ++++ .../edu/dto/resource/CurriculumPageQry.java | 44 ++++ .../edu/dto/resource/CurriculumUpdateCmd.java | 49 ++++ .../resource/CurriculumUpdateStateCmd.java | 31 +++ .../edu/dto/resource/ExamPaperAddCmd.java | 53 ++++ .../edu/dto/resource/ExamPaperPageQry.java | 42 ++++ .../ExamPaperRemoveCmd.java} | 21 +- .../edu/dto/resource/ExamPaperUpdateCmd.java | 50 ++++ .../resource/ExamPaperUpdateSellFlagCmd.java | 29 +++ .../dto/{ => resource}/QuestionAddCmd.java | 5 +- .../dto/{ => resource}/QuestionListQry.java | 6 +- .../dto/{ => resource}/QuestionPageQry.java | 4 +- .../dto/{ => resource}/QuestionRemoveCmd.java | 2 +- .../dto/{ => resource}/QuestionUpdateCmd.java | 7 +- .../edu/dto/{ => resource}/TeacherAddCmd.java | 4 +- .../TeacherCertificateAddCmd.java | 2 +- .../TeacherCertificateListQry.java | 2 +- .../TeacherCertificatePageQry.java | 2 +- .../TeacherCertificateRemoveCmd.java | 2 +- .../TeacherCertificateUpdateCmd.java | 2 +- .../TeacherPageQry.java} | 16 +- .../dto/{ => resource}/TeacherRemoveCmd.java | 2 +- .../dto/{ => resource}/TeacherUpdateCmd.java | 2 +- .../{ => resource}/TeacherUpdateStateCmd.java | 5 +- .../{ => resource}/TrainingTypeAddCmd.java | 2 +- .../{ => resource}/TrainingTypeListQry.java | 2 +- .../{ => resource}/TrainingTypePageQry.java | 2 +- .../{ => resource}/TrainingTypeRemoveCmd.java | 2 +- .../{ => resource}/TrainingTypeUpdateCmd.java | 2 +- .../zcloud/edu/dto/resource/UserAddCmd.java | 24 ++ .../{ => resource}/VideoCoursewareAddCmd.java | 26 +- .../VideoCoursewareListQry.java | 7 +- .../dto/resource/VideoCoursewarePageQry.java | 45 ++++ .../VideoCoursewareRemoveCmd.java | 2 +- .../VideoCoursewareUpdateCmd.java | 24 +- .../VideoCoursewareUpdateStateCmd.java | 3 +- .../edu/domain/enums/CatalogueLevelEnum.java | 21 ++ .../edu/domain/enums/CommonFlagEnum.java | 17 ++ .../zcloud/edu/domain/enums/CorpTypeEnum.java | 66 +++++ .../edu/domain/enums/CoursewareTypeEnum.java | 22 ++ .../domain/enums/CurriculumSellFlagEnum.java | 25 ++ .../zcloud/edu/domain/enums/UserTypeEnum.java | 30 +++ .../domain/enums/VideoCoursewareState.java | 24 ++ .../resource/CurriculumChapterGateway.java | 31 +++ .../gateway/resource/CurriculumGateway.java | 30 +++ .../gateway/resource/ExamPaperGateway.java | 32 +++ .../{ => resource}/QuestionGateway.java | 4 +- .../TeacherCertificateGateway.java | 4 +- .../{ => resource}/TeacherGateway.java | 4 +- .../{ => resource}/TrainingTypeGateway.java | 4 +- .../VideoCoursewareGateway.java | 4 +- .../com/zcloud/edu/domain/model/UserAddE.java | 178 -------------- .../model/resource/CurriculumChapterE.java | 74 ++++++ .../domain/model/resource/CurriculumE.java | 72 ++++++ .../edu/domain/model/resource/ExamPaperE.java | 59 +++++ .../model/{ => resource}/QuestionE.java | 75 ++++-- .../{ => resource}/TeacherCertificateE.java | 2 +- .../domain/model/{ => resource}/TeacherE.java | 28 +-- .../model/{ => resource}/TrainingTypeE.java | 4 +- .../edu/domain/model/resource/UserAddE.java | 26 ++ .../{ => resource}/VideoCoursewareE.java | 17 +- .../CurriculumChapterGatewayImpl.java | 61 +++++ .../resource/CurriculumGatewayImpl.java | 59 +++++ .../resource/ExamPaperGatewayImpl.java | 59 +++++ .../{ => resource}/QuestionGatewayImpl.java | 18 +- .../TeacherCertificateGatewayImpl.java | 9 +- .../{ => resource}/TeacherGatewayImpl.java | 9 +- .../TrainingTypeGatewayImpl.java | 8 +- .../VideoCoursewareGatewayImpl.java | 48 +--- .../persistence/dataobject/CorpInfoDO.java | 229 ++++++++++++++++++ .../dataobject/CurriculumChapterDO.java | 48 ++++ .../persistence/dataobject/CurriculumDO.java | 72 ++++++ .../persistence/dataobject/ExamPaperDO.java | 62 +++++ .../persistence/dataobject/QuestionDO.java | 8 +- .../dataobject/TeacherCertificateDO.java | 4 +- .../edu/persistence/dataobject/TeacherDO.java | 21 +- .../dataobject/VideoCoursewareDO.java | 36 +-- .../persistence/mapper/CorpInfoMapper.java | 17 ++ .../mapper/CurriculumChapterMapper.java | 17 ++ .../persistence/mapper/CurriculumMapper.java | 22 ++ .../persistence/mapper/ExamPaperMapper.java | 23 ++ .../edu/persistence/mapper/TeacherMapper.java | 3 +- .../mapper/VideoCoursewareMapper.java | 5 +- .../impl/TeacherRepositoryImpl.java | 93 ------- .../impl/resource/CorpInfoRepositoryImpl.java | 86 +++++++ .../CurriculumChapterRepositoryImpl.java | 61 +++++ .../resource/CurriculumRepositoryImpl.java | 55 +++++ .../resource/ExamPaperRepositoryImpl.java | 55 +++++ .../QuestionRepositoryImpl.java | 51 +++- .../TeacherCertificateRepositoryImpl.java | 12 +- .../impl/resource/TeacherRepositoryImpl.java | 56 +++++ .../TrainingTypeRepositoryImpl.java | 5 +- .../VideoCoursewareRepositoryImpl.java | 25 +- .../resource/CorpInfoRepository.java | 29 +++ .../resource/CurriculumChapterRepository.java | 25 ++ .../resource/CurriculumRepository.java | 24 ++ .../resource/ExamPaperRepository.java | 25 ++ .../{ => resource}/QuestionRepository.java | 14 +- .../TeacherCertificateRepository.java | 5 +- .../{ => resource}/TeacherRepository.java | 2 +- .../TrainingTypeRepository.java | 2 +- .../VideoCoursewareRepository.java | 4 +- .../mapper/CurriculumChapterMapper.xml | 7 + .../resources/mapper/CurriculumMapper.xml | 50 ++++ .../main/resources/mapper/ExamPaperMapper.xml | 48 ++++ .../main/resources/mapper/TeacherMapper.xml | 48 ++-- .../mapper/VideoCoursewareMapper.xml | 89 ++++--- 189 files changed, 5012 insertions(+), 1335 deletions(-) create mode 100644 web-adapter/src/main/java/com/zcloud/edu/web/resource/CurriculumChapterController.java create mode 100644 web-adapter/src/main/java/com/zcloud/edu/web/resource/CurriculumController.java create mode 100644 web-adapter/src/main/java/com/zcloud/edu/web/resource/ExamPaperController.java rename web-adapter/src/main/java/com/zcloud/edu/web/{ => resource}/QuestionController.java (71%) rename web-adapter/src/main/java/com/zcloud/edu/web/{ => resource}/TeacherCertificateController.java (79%) rename web-adapter/src/main/java/com/zcloud/edu/web/{ => resource}/TeacherController.java (83%) rename web-adapter/src/main/java/com/zcloud/edu/web/{ => resource}/TrainingTypeController.java (77%) rename web-adapter/src/main/java/com/zcloud/edu/web/{ => resource}/VideoCoursewareController.java (82%) delete mode 100644 web-app/src/main/java/com/zcloud/edu/command/QuestionUpdateExe.java delete mode 100644 web-app/src/main/java/com/zcloud/edu/command/TrainingTypeRemoveExe.java delete mode 100644 web-app/src/main/java/com/zcloud/edu/command/VideoCoursewareUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/convertor/resource/CurriculumChapterCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/convertor/resource/CurriculumCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/convertor/resource/ExamPaperCoConvertor.java rename web-app/src/main/java/com/zcloud/edu/command/convertor/{ => resource}/QuestionCoConvertor.java (77%) rename web-app/src/main/java/com/zcloud/edu/command/convertor/{ => resource}/TeacherCertificateCoConvertor.java (78%) rename web-app/src/main/java/com/zcloud/edu/command/convertor/{ => resource}/TeacherCoConvertor.java (77%) rename web-app/src/main/java/com/zcloud/edu/command/convertor/{ => resource}/TrainingTypeCoConvertor.java (77%) rename web-app/src/main/java/com/zcloud/edu/command/convertor/{ => resource}/VideoCoursewareCoConvertor.java (78%) delete mode 100644 web-app/src/main/java/com/zcloud/edu/command/query/VideoCoursewareQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumChapterQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/query/resource/ExamPaperQueryExe.java rename web-app/src/main/java/com/zcloud/edu/command/query/{ => resource}/QuestionQueryExe.java (83%) rename web-app/src/main/java/com/zcloud/edu/command/query/{ => resource}/TeacherCertificateQueryExe.java (83%) rename web-app/src/main/java/com/zcloud/edu/command/query/{ => resource}/TeacherQueryExe.java (76%) rename web-app/src/main/java/com/zcloud/edu/command/query/{ => resource}/TrainingTypeQueryExe.java (83%) create mode 100644 web-app/src/main/java/com/zcloud/edu/command/query/resource/VideoCoursewareQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumChapterAddExe.java rename web-app/src/main/java/com/zcloud/edu/command/{VideoCoursewareRemoveExe.java => resource/CurriculumChapterRemoveExe.java} (60%) create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumChapterUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperUpdateExe.java rename web-app/src/main/java/com/zcloud/edu/command/{ => resource}/QuestionAddExe.java (77%) rename web-app/src/main/java/com/zcloud/edu/command/{ => resource}/QuestionRemoveExe.java (89%) create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/QuestionUpdateExe.java rename web-app/src/main/java/com/zcloud/edu/command/{ => resource}/TeacherAddExe.java (79%) rename web-app/src/main/java/com/zcloud/edu/command/{ => resource}/TeacherCertificateAddExe.java (55%) rename web-app/src/main/java/com/zcloud/edu/command/{ => resource}/TeacherCertificateRemoveExe.java (89%) rename web-app/src/main/java/com/zcloud/edu/command/{ => resource}/TeacherCertificateUpdateExe.java (78%) rename web-app/src/main/java/com/zcloud/edu/command/{ => resource}/TeacherRemoveExe.java (87%) rename web-app/src/main/java/com/zcloud/edu/command/{ => resource}/TeacherUpdateExe.java (80%) rename web-app/src/main/java/com/zcloud/edu/command/{ => resource}/TrainingTypeAddExe.java (81%) create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/TrainingTypeRemoveExe.java rename web-app/src/main/java/com/zcloud/edu/command/{ => resource}/TrainingTypeUpdateExe.java (79%) rename web-app/src/main/java/com/zcloud/edu/command/{ => resource}/VideoCoursewareAddExe.java (80%) create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/VideoCoursewareRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/resource/VideoCoursewareUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/service/resource/CurriculumChapterServiceImpl.java create mode 100644 web-app/src/main/java/com/zcloud/edu/service/resource/CurriculumServiceImpl.java create mode 100644 web-app/src/main/java/com/zcloud/edu/service/resource/ExamPaperServiceImpl.java rename web-app/src/main/java/com/zcloud/edu/service/{ => resource}/QuestionServiceImpl.java (68%) rename web-app/src/main/java/com/zcloud/edu/service/{ => resource}/TeacherCertificateServiceImpl.java (70%) rename web-app/src/main/java/com/zcloud/edu/service/{ => resource}/TeacherServiceImpl.java (76%) rename web-app/src/main/java/com/zcloud/edu/service/{ => resource}/TrainingTypeServiceImpl.java (70%) rename web-app/src/main/java/com/zcloud/edu/service/{ => resource}/VideoCoursewareServiceImpl.java (76%) create mode 100644 web-client/src/main/java/com/zcloud/edu/api/resource/CurriculumChapterServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/edu/api/resource/CurriculumServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/edu/api/resource/ExamPaperServiceI.java rename web-client/src/main/java/com/zcloud/edu/api/{ => resource}/QuestionServiceI.java (63%) rename web-client/src/main/java/com/zcloud/edu/api/{ => resource}/TeacherCertificateServiceI.java (65%) rename web-client/src/main/java/com/zcloud/edu/api/{ => resource}/TeacherServiceI.java (82%) rename web-client/src/main/java/com/zcloud/edu/api/{ => resource}/TrainingTypeServiceI.java (65%) rename web-client/src/main/java/com/zcloud/edu/api/{ => resource}/VideoCoursewareServiceI.java (83%) delete mode 100644 web-client/src/main/java/com/zcloud/edu/dto/TeacherPageQry.java delete mode 100644 web-client/src/main/java/com/zcloud/edu/dto/UserAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumCO.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumChapterCO.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/ExamPaperCO.java rename web-client/src/main/java/com/zcloud/edu/dto/clientobject/{ => resource}/QuestionCO.java (86%) rename web-client/src/main/java/com/zcloud/edu/dto/clientobject/{ => resource}/TeacherCO.java (68%) rename web-client/src/main/java/com/zcloud/edu/dto/clientobject/{ => resource}/TeacherCertificateCO.java (89%) rename web-client/src/main/java/com/zcloud/edu/dto/clientobject/{ => resource}/TrainingTypeCO.java (97%) rename web-client/src/main/java/com/zcloud/edu/dto/clientobject/{ => resource}/VideoCoursewareCO.java (67%) create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumUpdateStateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperPageQry.java rename web-client/src/main/java/com/zcloud/edu/dto/{VideoCoursewarePageQry.java => resource/ExamPaperRemoveCmd.java} (55%) create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperUpdateSellFlagCmd.java rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/QuestionAddCmd.java (95%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/QuestionListQry.java (75%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/QuestionPageQry.java (92%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/QuestionRemoveCmd.java (94%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/QuestionUpdateCmd.java (92%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TeacherAddCmd.java (86%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TeacherCertificateAddCmd.java (98%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TeacherCertificateListQry.java (94%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TeacherCertificatePageQry.java (95%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TeacherCertificateRemoveCmd.java (94%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TeacherCertificateUpdateCmd.java (98%) rename web-client/src/main/java/com/zcloud/edu/dto/{TeacherListQry.java => resource/TeacherPageQry.java} (64%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TeacherRemoveCmd.java (94%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TeacherUpdateCmd.java (98%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TeacherUpdateStateCmd.java (84%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TrainingTypeAddCmd.java (95%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TrainingTypeListQry.java (94%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TrainingTypePageQry.java (94%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TrainingTypeRemoveCmd.java (94%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/TrainingTypeUpdateCmd.java (96%) create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/UserAddCmd.java rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/VideoCoursewareAddCmd.java (65%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/VideoCoursewareListQry.java (77%) create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewarePageQry.java rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/VideoCoursewareRemoveCmd.java (94%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/VideoCoursewareUpdateCmd.java (72%) rename web-client/src/main/java/com/zcloud/edu/dto/{ => resource}/VideoCoursewareUpdateStateCmd.java (91%) create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/enums/CatalogueLevelEnum.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/enums/CommonFlagEnum.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/enums/CorpTypeEnum.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/enums/CoursewareTypeEnum.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/enums/CurriculumSellFlagEnum.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/enums/UserTypeEnum.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/enums/VideoCoursewareState.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/CurriculumChapterGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/CurriculumGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/ExamPaperGateway.java rename web-domain/src/main/java/com/zcloud/edu/domain/gateway/{ => resource}/QuestionGateway.java (78%) rename web-domain/src/main/java/com/zcloud/edu/domain/gateway/{ => resource}/TeacherCertificateGateway.java (79%) rename web-domain/src/main/java/com/zcloud/edu/domain/gateway/{ => resource}/TeacherGateway.java (78%) rename web-domain/src/main/java/com/zcloud/edu/domain/gateway/{ => resource}/TrainingTypeGateway.java (78%) rename web-domain/src/main/java/com/zcloud/edu/domain/gateway/{ => resource}/VideoCoursewareGateway.java (79%) delete mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/UserAddE.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/resource/CurriculumChapterE.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/resource/CurriculumE.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/resource/ExamPaperE.java rename web-domain/src/main/java/com/zcloud/edu/domain/model/{ => resource}/QuestionE.java (77%) rename web-domain/src/main/java/com/zcloud/edu/domain/model/{ => resource}/TeacherCertificateE.java (95%) rename web-domain/src/main/java/com/zcloud/edu/domain/model/{ => resource}/TeacherE.java (70%) rename web-domain/src/main/java/com/zcloud/edu/domain/model/{ => resource}/TrainingTypeE.java (89%) create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/resource/UserAddE.java rename web-domain/src/main/java/com/zcloud/edu/domain/model/{ => resource}/VideoCoursewareE.java (72%) create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/CurriculumChapterGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/CurriculumGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/ExamPaperGatewayImpl.java rename web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/{ => resource}/QuestionGatewayImpl.java (70%) rename web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/{ => resource}/TeacherCertificateGatewayImpl.java (86%) rename web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/{ => resource}/TeacherGatewayImpl.java (82%) rename web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/{ => resource}/TrainingTypeGatewayImpl.java (85%) rename web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/{ => resource}/VideoCoursewareGatewayImpl.java (51%) create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CorpInfoDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CurriculumChapterDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CurriculumDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/ExamPaperDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CorpInfoMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CurriculumChapterMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CurriculumMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/ExamPaperMapper.java delete mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CorpInfoRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CurriculumChapterRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CurriculumRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/ExamPaperRepositoryImpl.java rename web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/{ => resource}/QuestionRepositoryImpl.java (57%) rename web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/{ => resource}/TeacherCertificateRepositoryImpl.java (86%) create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/TeacherRepositoryImpl.java rename web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/{ => resource}/TrainingTypeRepositoryImpl.java (94%) rename web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/{ => resource}/VideoCoursewareRepositoryImpl.java (74%) create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CorpInfoRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CurriculumChapterRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CurriculumRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/ExamPaperRepository.java rename web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/{ => resource}/QuestionRepository.java (59%) rename web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/{ => resource}/TeacherCertificateRepository.java (77%) rename web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/{ => resource}/TeacherRepository.java (91%) rename web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/{ => resource}/TrainingTypeRepository.java (92%) rename web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/{ => resource}/VideoCoursewareRepository.java (87%) create mode 100644 web-infrastructure/src/main/resources/mapper/CurriculumChapterMapper.xml create mode 100644 web-infrastructure/src/main/resources/mapper/CurriculumMapper.xml create mode 100644 web-infrastructure/src/main/resources/mapper/ExamPaperMapper.xml diff --git a/start/src/main/resources/nacos.yml b/start/src/main/resources/nacos.yml index af260d4..027c730 100644 --- a/start/src/main/resources/nacos.yml +++ b/start/src/main/resources/nacos.yml @@ -2,10 +2,10 @@ nacos: url: 192.168.20.100:30290 namespace: jjb-dragon application: - name: jjb-saas-zcloud-risk + name: jjb-saas-zcloud-edu version: - gateway: risk - cn-name: 风险中心 + gateway: edu + cn-name: 教育中心 spring: application: name: ${application.name}${application.version} diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/resource/CurriculumChapterController.java b/web-adapter/src/main/java/com/zcloud/edu/web/resource/CurriculumChapterController.java new file mode 100644 index 0000000..de48ad4 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/edu/web/resource/CurriculumChapterController.java @@ -0,0 +1,82 @@ +package com.zcloud.edu.web.resource; + + +import com.alibaba.cola.dto.MultiResponse; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.Response; +import com.alibaba.cola.dto.SingleResponse; +import com.jjb.saas.framework.auth.model.SSOUser; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.edu.api.resource.CurriculumChapterServiceI; +import com.zcloud.edu.dto.resource.CurriculumChapterAddCmd; +import com.zcloud.edu.dto.resource.CurriculumChapterPageQry; +import com.zcloud.edu.dto.resource.CurriculumChapterUpdateCmd; +import com.zcloud.edu.dto.clientobject.resource.CurriculumChapterCO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; + +/** + * web-adapter + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Api(tags = "课程章节信息",hidden = true) +@RequestMapping("/${application.gateway}/curriculumChapter") +@RestController +@AllArgsConstructor +public class CurriculumChapterController { + private final CurriculumChapterServiceI curriculumChapterService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody CurriculumChapterAddCmd cmd) { + SSOUser ssoUser = AuthContext.getCurrentUser(); + return curriculumChapterService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody CurriculumChapterPageQry qry) { + return curriculumChapterService.listPage(qry); + } + + @ApiOperation("所有数据") + @PostMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + } + + @ApiOperation("详情") + @PostMapping("/getInfoById") + public SingleResponse getInfoById(@RequestParam("id") Long id) { + return SingleResponse.of(new CurriculumChapterCO()); + } + + @ApiOperation("删除") + @PostMapping("/remove/") + public Response remove(@RequestParam("id") Long id) { + curriculumChapterService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @PostMapping("/ids") + public Response removeBatch(@RequestParam Long[] ids) { + curriculumChapterService.removeBatch(ids); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PostMapping("/edit") + public SingleResponse edit(@Validated @RequestBody CurriculumChapterUpdateCmd curriculumChapterUpdateCmd) { + curriculumChapterService.edit(curriculumChapterUpdateCmd); + return SingleResponse.buildSuccess(); + } +} + diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/resource/CurriculumController.java b/web-adapter/src/main/java/com/zcloud/edu/web/resource/CurriculumController.java new file mode 100644 index 0000000..75d3f59 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/edu/web/resource/CurriculumController.java @@ -0,0 +1,84 @@ +package com.zcloud.edu.web.resource; + + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.Response; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.edu.api.resource.CurriculumServiceI; +import com.zcloud.edu.dto.clientobject.resource.CurriculumCO; +import com.zcloud.edu.dto.resource.CurriculumAddCmd; +import com.zcloud.edu.dto.resource.CurriculumPageQry; +import com.zcloud.edu.dto.resource.CurriculumUpdateCmd; +import com.zcloud.edu.dto.resource.CurriculumUpdateStateCmd; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * web-adapter + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Api(tags = "课程信息") +@RequestMapping("/${application.gateway}/curriculum") +@RestController +@AllArgsConstructor +public class CurriculumController { + private final CurriculumServiceI curriculumService; + + @ApiOperation("新增课程") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody CurriculumAddCmd cmd) { + return curriculumService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody CurriculumPageQry qry) { + return curriculumService.listPage(qry); + } + + /* @ApiOperation("所有数据") + @GetMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + }*/ + @ApiOperation("修改") + @PostMapping("/edit") + public SingleResponse edit(@Validated @RequestBody CurriculumUpdateCmd curriculumUpdateCmd) { + curriculumService.edit(curriculumUpdateCmd); + return SingleResponse.buildSuccess(); + } + @ApiOperation("课程详情") + @PostMapping("/getInfoById") + public SingleResponse getInfoById(@RequestParam("id") Long id) { + return SingleResponse.of(curriculumService.getInfoById(id)); + } + @ApiOperation("上架/下架") + @PostMapping("/editState") + public SingleResponse editState(@Validated @RequestBody CurriculumUpdateStateCmd cmd) { + curriculumService.editState(cmd); + return SingleResponse.buildSuccess(); + } + + + @ApiOperation("删除") + @PostMapping("/{id}") + public Response remove(@PathVariable("id") Long id) { + curriculumService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @PostMapping("/ids") + public Response removeBatch(@RequestParam Long[] ids) { + curriculumService.removeBatch(ids); + return SingleResponse.buildSuccess(); + } + + +} + 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 new file mode 100644 index 0000000..210c1fc --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/edu/web/resource/ExamPaperController.java @@ -0,0 +1,87 @@ +package com.zcloud.edu.web.resource; + + +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.clientobject.resource.ExamPaperCO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +/** + * web-adapter + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Api(tags = "试卷信息") +@RequestMapping("/${application.gateway}/examPaper") +@RestController +@AllArgsConstructor +public class ExamPaperController { + private final ExamPaperServiceI examPaperService; + + @ApiOperation("新增试卷") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestParam ExamPaperAddCmd cmd) { + return examPaperService.add(cmd); + } + + @ApiOperation("试卷分页") + @PostMapping("/list") + public PageResponse page(@RequestBody ExamPaperPageQry qry) { + return examPaperService.listPage(qry); + } + +/* @ApiOperation("所有数据") + @GetMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + }*/ + + @ApiOperation("试卷详情") + @PostMapping("/getInfoById") + public SingleResponse getInfoById(@RequestParam("id") Long id) { + return SingleResponse.of(examPaperService.getInfoById(id)); + } + + @ApiOperation("上架,下架") + @PostMapping("/editSellFlag") + public SingleResponse editSellFlag(@Validated @RequestBody ExamPaperUpdateCmd examPaperUpdateCmd) { + examPaperService.editSellFlag(examPaperUpdateCmd); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PostMapping("/edit") + public SingleResponse edit(@Validated @RequestPart(value = "file") MultipartFile file, @RequestParam(value = "examPaperUpdateCmd") ExamPaperUpdateCmd examPaperUpdateCmd) { + examPaperService.edit(file,examPaperUpdateCmd); + return SingleResponse.buildSuccess(); + } + + + @ApiOperation("删除试卷") + @PostMapping("/delete/{id}") + public Response remove(@PathVariable("id") Long id) { + examPaperService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @PostMapping("/ids") + public Response removeBatch(@RequestBody ExamPaperRemoveCmd examPaperRemoveCmd) { + examPaperService.removeBatch(examPaperRemoveCmd); + return SingleResponse.buildSuccess(); + } + +} + diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/QuestionController.java b/web-adapter/src/main/java/com/zcloud/edu/web/resource/QuestionController.java similarity index 71% rename from web-adapter/src/main/java/com/zcloud/edu/web/QuestionController.java rename to web-adapter/src/main/java/com/zcloud/edu/web/resource/QuestionController.java index 7558340..8039a4f 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/QuestionController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/resource/QuestionController.java @@ -1,19 +1,18 @@ -package com.zcloud.edu.web; +package com.zcloud.edu.web.resource; -import com.zcloud.edu.api.QuestionServiceI; -import com.zcloud.edu.dto.QuestionAddCmd; -import com.zcloud.edu.dto.QuestionPageQry; -import com.zcloud.edu.dto.QuestionListQry; -import com.zcloud.edu.dto.QuestionUpdateCmd; -import com.zcloud.edu.dto.QuestionRemoveCmd; -import com.zcloud.edu.dto.clientobject.QuestionCO; +import com.zcloud.edu.api.resource.QuestionServiceI; +import com.zcloud.edu.dto.resource.QuestionAddCmd; +import com.zcloud.edu.dto.resource.QuestionPageQry; +import com.zcloud.edu.dto.resource.QuestionListQry; +import com.zcloud.edu.dto.resource.QuestionUpdateCmd; +import com.zcloud.edu.dto.resource.QuestionRemoveCmd; +import com.zcloud.edu.dto.clientobject.resource.ExamPaperCO; +import com.zcloud.edu.dto.clientobject.resource.QuestionCO; import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; -import com.jjb.saas.framework.auth.model.SSOUser; -import com.jjb.saas.framework.auth.utils.AuthContext; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -34,15 +33,20 @@ import org.springframework.web.multipart.MultipartFile; public class QuestionController { private final QuestionServiceI questionService; - @ApiOperation("新增") + @ApiOperation("新增习题") @PostMapping("/save") public SingleResponse add(@Validated @RequestBody QuestionAddCmd cmd) { - SSOUser ssoUser = AuthContext.getCurrentUser(); return questionService.add(cmd); } - @ApiOperation("修改") - @PutMapping("/edit") + @ApiOperation("修改试卷习题") + @PostMapping("/editPaper") + public SingleResponse editPaper(@Validated @RequestBody QuestionUpdateCmd cmd) { + ExamPaperCO examPaperCO =questionService.editPaper(cmd); + return SingleResponse.of(examPaperCO); + } + @ApiOperation("修改课件习题") + @PostMapping("/edit") public SingleResponse edit(@Validated @RequestBody QuestionUpdateCmd cmd) { questionService.edit(cmd); return SingleResponse.buildSuccess(); @@ -61,20 +65,20 @@ public class QuestionController { } @ApiOperation("详情") - @GetMapping("/getInfoById") + @PostMapping("/getInfoById") public SingleResponse getInfoById(@RequestParam(value = "id") Long id) { return questionService.getInfoById(id); } @ApiOperation("删除") - @PutMapping("/remove") + @PostMapping("/remove") public Response remove(@RequestParam(value = "id") Long id) { questionService.remove(id); return SingleResponse.buildSuccess(); } @ApiOperation("删除多个") - @PutMapping("/removeBatch") + @PostMapping("/removeBatch") public Response removeBatch(@Validated @RequestBody QuestionRemoveCmd cmd) { questionService.removeBatch(cmd.getIds()); return SingleResponse.buildSuccess(); diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/TeacherCertificateController.java b/web-adapter/src/main/java/com/zcloud/edu/web/resource/TeacherCertificateController.java similarity index 79% rename from web-adapter/src/main/java/com/zcloud/edu/web/TeacherCertificateController.java rename to web-adapter/src/main/java/com/zcloud/edu/web/resource/TeacherCertificateController.java index 0e511c6..a18b39d 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/TeacherCertificateController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/resource/TeacherCertificateController.java @@ -1,13 +1,13 @@ -package com.zcloud.edu.web; +package com.zcloud.edu.web.resource; -import com.zcloud.edu.api.TeacherCertificateServiceI; -import com.zcloud.edu.dto.TeacherCertificateAddCmd; -import com.zcloud.edu.dto.TeacherCertificatePageQry; -import com.zcloud.edu.dto.TeacherCertificateListQry; -import com.zcloud.edu.dto.TeacherCertificateUpdateCmd; -import com.zcloud.edu.dto.TeacherCertificateRemoveCmd; -import com.zcloud.edu.dto.clientobject.TeacherCertificateCO; +import com.zcloud.edu.api.resource.TeacherCertificateServiceI; +import com.zcloud.edu.dto.resource.TeacherCertificateAddCmd; +import com.zcloud.edu.dto.resource.TeacherCertificatePageQry; +import com.zcloud.edu.dto.resource.TeacherCertificateListQry; +import com.zcloud.edu.dto.resource.TeacherCertificateUpdateCmd; +import com.zcloud.edu.dto.resource.TeacherCertificateRemoveCmd; +import com.zcloud.edu.dto.clientobject.resource.TeacherCertificateCO; import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.Response; @@ -20,8 +20,6 @@ import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; - /** * web-adapter * @@ -43,7 +41,7 @@ public class TeacherCertificateController { } @ApiOperation("修改") - @PutMapping("/edit") + @PostMapping("/edit") public SingleResponse edit(@Validated @RequestBody TeacherCertificateUpdateCmd cmd) { teacherCertificateService.edit(cmd); return SingleResponse.buildSuccess(); @@ -62,20 +60,20 @@ public class TeacherCertificateController { } @ApiOperation("详情") - @GetMapping("/getInfoById") + @PostMapping("/getInfoById") public SingleResponse getInfoById(@RequestParam(value = "id") Long id) { return teacherCertificateService.getInfoById(id); } @ApiOperation("删除") - @PutMapping("/remove") + @PostMapping("/remove") public Response remove(@RequestParam(value = "id") Long id) { teacherCertificateService.remove(id); return SingleResponse.buildSuccess(); } @ApiOperation("删除多个") - @PutMapping("/removeBatch") + @PostMapping("/removeBatch") public Response removeBatch(@Validated @RequestBody TeacherCertificateRemoveCmd cmd) { teacherCertificateService.removeBatch(cmd.getIds()); return SingleResponse.buildSuccess(); diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/TeacherController.java b/web-adapter/src/main/java/com/zcloud/edu/web/resource/TeacherController.java similarity index 83% rename from web-adapter/src/main/java/com/zcloud/edu/web/TeacherController.java rename to web-adapter/src/main/java/com/zcloud/edu/web/resource/TeacherController.java index 5916df7..1ae1965 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/TeacherController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/resource/TeacherController.java @@ -1,15 +1,13 @@ -package com.zcloud.edu.web; +package com.zcloud.edu.web.resource; -import com.zcloud.edu.api.TeacherServiceI; -import com.zcloud.edu.dto.*; +import com.zcloud.edu.api.resource.TeacherServiceI; import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; -import com.jjb.saas.framework.auth.model.SSOUser; -import com.jjb.saas.framework.auth.utils.AuthContext; -import com.zcloud.edu.dto.clientobject.TeacherCO; +import com.zcloud.edu.dto.clientobject.resource.TeacherCO; +import com.zcloud.edu.dto.resource.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -32,19 +30,18 @@ public class TeacherController { @ApiOperation("新增(从人员列表选择)") @PostMapping("/save") public SingleResponse add(@Validated @RequestBody TeacherAddCmd cmd) { - SSOUser ssoUser = AuthContext.getCurrentUser(); return teacherService.add(cmd); } @ApiOperation("修改") - @PutMapping("/edit") + @PostMapping("/edit") public SingleResponse edit(@Validated @RequestBody TeacherUpdateCmd cmd) { teacherService.edit(cmd); return SingleResponse.buildSuccess(); } @ApiOperation("启用/禁用") - @PutMapping("/editState") + @PostMapping("/editState") public SingleResponse editState(@Validated @RequestBody TeacherUpdateStateCmd cmd) { teacherService.editState(cmd); return SingleResponse.buildSuccess(); @@ -63,20 +60,20 @@ public class TeacherController { } @ApiOperation("详情") - @GetMapping("/getInfoById") + @PostMapping("/getInfoById") public SingleResponse getInfoById(@RequestParam(value = "id") Long id) { return teacherService.getInfoById(id); } @ApiOperation("删除") - @PutMapping("/remove") + @PostMapping("/remove") public Response remove(@RequestParam(value = "id") Long id) { teacherService.remove(id); return SingleResponse.buildSuccess(); } @ApiOperation("删除多个") - @PutMapping("/removeBatch") + @PostMapping("/removeBatch") public Response removeBatch(@Validated @RequestBody TeacherRemoveCmd cmd) { teacherService.removeBatch(cmd.getIds()); return SingleResponse.buildSuccess(); diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/TrainingTypeController.java b/web-adapter/src/main/java/com/zcloud/edu/web/resource/TrainingTypeController.java similarity index 77% rename from web-adapter/src/main/java/com/zcloud/edu/web/TrainingTypeController.java rename to web-adapter/src/main/java/com/zcloud/edu/web/resource/TrainingTypeController.java index d3dd1c1..d4a3a5c 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/TrainingTypeController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/resource/TrainingTypeController.java @@ -1,27 +1,25 @@ -package com.zcloud.edu.web; +package com.zcloud.edu.web.resource; -import com.zcloud.edu.api.TrainingTypeServiceI; -import com.zcloud.edu.dto.*; +import com.zcloud.edu.api.resource.TrainingTypeServiceI; import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; -import com.jjb.saas.framework.auth.model.SSOUser; -import com.jjb.saas.framework.auth.utils.AuthContext; -import com.zcloud.edu.dto.clientobject.TrainingTypeCO; +import com.zcloud.edu.dto.clientobject.resource.TrainingTypeCO; +import com.zcloud.edu.dto.resource.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; /** -* web-adapter -* @Author SondonYong -* @Date 2025-11-26 15:04:06 -*/ + * web-adapter + * + * @Author SondonYong + * @Date 2025-11-26 15:04:06 + */ @Api(tags = "培训类型信息") @RequestMapping("/${application.gateway}/trainingType") @RestController @@ -36,7 +34,7 @@ public class TrainingTypeController { } @ApiOperation("修改") - @PutMapping("/edit") + @PostMapping("/edit") public SingleResponse edit(@Validated @RequestBody TrainingTypeUpdateCmd cmd) { trainingTypeService.edit(cmd); return SingleResponse.buildSuccess(); @@ -55,21 +53,21 @@ public class TrainingTypeController { } @ApiOperation("详情") - @GetMapping("/getInfoById") + @PostMapping("/getInfoById") public SingleResponse getInfoById(@RequestParam(value = "id") Long id) { return trainingTypeService.getInfoById(id); } @ApiOperation("删除") - @PutMapping("/remove") + @PostMapping("/remove") public Response remove(@RequestParam(value = "id") Long id) { trainingTypeService.remove(id); return SingleResponse.buildSuccess(); } @ApiOperation("删除多个") - @PutMapping("/removeBatch") - public Response removeBatch(@Validated @RequestBody TrainingTypeRemoveCmd cmd) { + @PostMapping("/removeBatch") + public Response removeBatch(@Validated @RequestBody TrainingTypeRemoveCmd cmd) { trainingTypeService.removeBatch(cmd.getIds()); return SingleResponse.buildSuccess(); } diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/VideoCoursewareController.java b/web-adapter/src/main/java/com/zcloud/edu/web/resource/VideoCoursewareController.java similarity index 82% rename from web-adapter/src/main/java/com/zcloud/edu/web/VideoCoursewareController.java rename to web-adapter/src/main/java/com/zcloud/edu/web/resource/VideoCoursewareController.java index 8e4fce2..12795a9 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/VideoCoursewareController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/resource/VideoCoursewareController.java @@ -1,23 +1,19 @@ -package com.zcloud.edu.web; +package com.zcloud.edu.web.resource; -import com.zcloud.edu.api.VideoCoursewareServiceI; -import com.zcloud.edu.dto.*; -import com.zcloud.edu.dto.clientobject.VideoCoursewareCO; +import com.zcloud.edu.api.resource.VideoCoursewareServiceI; +import com.zcloud.edu.dto.clientobject.resource.VideoCoursewareCO; import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; -import com.jjb.saas.framework.auth.model.SSOUser; -import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.edu.dto.resource.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; - /** * web-adapter * @@ -34,19 +30,18 @@ public class VideoCoursewareController { @ApiOperation("新增") @PostMapping("/save") public SingleResponse add(@Validated @RequestBody VideoCoursewareAddCmd cmd) { - SSOUser ssoUser = AuthContext.getCurrentUser(); return videoCoursewareService.add(cmd); } @ApiOperation("修改") - @PutMapping("/edit") + @PostMapping("/edit") public SingleResponse edit(@Validated @RequestBody VideoCoursewareUpdateCmd cmd) { videoCoursewareService.edit(cmd); return SingleResponse.buildSuccess(); } @ApiOperation("启用/禁用") - @PutMapping("/editState") + @PostMapping("/editState") public SingleResponse editState(@Validated @RequestBody VideoCoursewareUpdateStateCmd cmd) { videoCoursewareService.editState(cmd); return SingleResponse.buildSuccess(); @@ -65,20 +60,20 @@ public class VideoCoursewareController { } @ApiOperation("详情") - @GetMapping("/getInfoById") + @PostMapping("/getInfoById") public SingleResponse getInfoById(@RequestParam(value = "id") Long id) { return videoCoursewareService.getInfoById(id); } @ApiOperation("删除") - @PutMapping("/remove") + @PostMapping("/remove") public Response remove(@RequestParam(value = "id") Long id) { videoCoursewareService.remove(id); return SingleResponse.buildSuccess(); } @ApiOperation("删除多个") - @PutMapping("/removeBatch") + @PostMapping("/removeBatch") public Response removeBatch(@Validated @RequestBody VideoCoursewareRemoveCmd cmd) { videoCoursewareService.removeBatch(cmd.getIds()); return SingleResponse.buildSuccess(); diff --git a/web-app/src/main/java/com/zcloud/edu/command/QuestionUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/QuestionUpdateExe.java deleted file mode 100644 index 78dcbf6..0000000 --- a/web-app/src/main/java/com/zcloud/edu/command/QuestionUpdateExe.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.zcloud.edu.command; - -import com.alibaba.cola.exception.BizException; -import com.zcloud.edu.domain.gateway.QuestionGateway; -import com.zcloud.edu.domain.model.QuestionE; -import com.zcloud.edu.dto.QuestionUpdateCmd; -import lombok.AllArgsConstructor; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; - - -/** - * web-app - * - * @Author SondonYong - * @Date 2025-11-27 14:06:11 - */ -@Component -@AllArgsConstructor -public class QuestionUpdateExe { - private final QuestionGateway questionGateway; - - @Transactional(rollbackFor = Exception.class) - public void execute(QuestionUpdateCmd cmd) { - QuestionE questionE = new QuestionE(); - BeanUtils.copyProperties(cmd, questionE); - questionE.checkQuestion(questionE); - boolean res = questionGateway.update(questionE); - if (!res) { - throw new BizException("修改失败"); - } - } -} - diff --git a/web-app/src/main/java/com/zcloud/edu/command/TrainingTypeRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/TrainingTypeRemoveExe.java deleted file mode 100644 index fd51981..0000000 --- a/web-app/src/main/java/com/zcloud/edu/command/TrainingTypeRemoveExe.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.zcloud.edu.command; - -import com.zcloud.edu.domain.gateway.TrainingTypeGateway; -import com.alibaba.cola.exception.BizException; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; - - - - -/** -* web-app -* @Author SondonYong -* @Date 2025-11-26 15:04:07 -*/ -@Component -@AllArgsConstructor -public class TrainingTypeRemoveExe { - private final TrainingTypeGateway trainingTypeGateway; - - @Transactional(rollbackFor = Exception.class) - public boolean execute(Long id) { - // todo 校验是否有其他业务调用 - - boolean res = trainingTypeGateway.deletedTrainingTypeById(id); - if(!res){ - throw new BizException("删除失败"); - } - return true; - } - - @Transactional(rollbackFor = Exception.class) - public boolean execute(Long[] ids) { - // todo 校验是否有其他业务调用 - - boolean res = trainingTypeGateway.deletedTrainingTypeByIds(ids); - if(!res){ - throw new BizException("删除失败"); - } - return true; - } -} - diff --git a/web-app/src/main/java/com/zcloud/edu/command/VideoCoursewareUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/VideoCoursewareUpdateExe.java deleted file mode 100644 index 57c73a5..0000000 --- a/web-app/src/main/java/com/zcloud/edu/command/VideoCoursewareUpdateExe.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.zcloud.edu.command; - -import com.alibaba.cola.exception.BizException; -import com.zcloud.edu.domain.gateway.VideoCoursewareGateway; -import com.zcloud.edu.domain.model.VideoCoursewareE; -import com.zcloud.edu.dto.VideoCoursewareUpdateCmd; -import com.zcloud.edu.dto.VideoCoursewareUpdateStateCmd; -import lombok.AllArgsConstructor; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; - - -/** - * web-app - * - * @Author SondonYong - * @Date 2025-11-27 14:05:33 - */ -@Component -@AllArgsConstructor -public class VideoCoursewareUpdateExe { - private final VideoCoursewareGateway videoCoursewareGateway; - - @Transactional(rollbackFor = Exception.class) - public void execute(VideoCoursewareUpdateCmd cmd) { - VideoCoursewareE videoCoursewareE = new VideoCoursewareE(); - BeanUtils.copyProperties(cmd, videoCoursewareE); - boolean res = videoCoursewareGateway.update(videoCoursewareE); - if (!res) { - throw new BizException("修改失败"); - } - } - - @Transactional(rollbackFor = Exception.class) - public void execute(VideoCoursewareUpdateStateCmd cmd) { - VideoCoursewareE videoCoursewareE = new VideoCoursewareE(); - BeanUtils.copyProperties(cmd, videoCoursewareE); - boolean res = videoCoursewareGateway.update(videoCoursewareE); - if (!res) { - throw new BizException("修改失败"); - } - } -} - diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/CurriculumChapterCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/CurriculumChapterCoConvertor.java new file mode 100644 index 0000000..3f7592d --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/CurriculumChapterCoConvertor.java @@ -0,0 +1,32 @@ +package com.zcloud.edu.command.convertor.resource; + +import com.zcloud.edu.domain.model.resource.CurriculumChapterE; +import com.zcloud.edu.dto.resource.CurriculumChapterAddCmd; +import com.zcloud.edu.dto.clientobject.resource.CurriculumChapterCO; +import com.zcloud.edu.persistence.dataobject.CurriculumChapterDO; +import org.mapstruct.Mapper; + +import java.util.Collection; +import java.util.List; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Mapper(componentModel = "spring") +public interface CurriculumChapterCoConvertor { + /** + * @param curriculumChapterDOs + * @return + */ + List converDOsToCOs(List curriculumChapterDOs); + + + List converCmdsToEs(List curriculumChapterAddCmdList1); + + Collection converEsToDOs(List curriculumChapterES); +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/CurriculumCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/CurriculumCoConvertor.java new file mode 100644 index 0000000..8470493 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/CurriculumCoConvertor.java @@ -0,0 +1,26 @@ +package com.zcloud.edu.command.convertor.resource; + +import com.zcloud.edu.dto.clientobject.resource.CurriculumCO; +import com.zcloud.edu.persistence.dataobject.CurriculumDO; +import org.mapstruct.Mapper; + +import java.util.List; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Mapper(componentModel = "spring") +public interface CurriculumCoConvertor { + /** + * @param curriculumDOs + * @return + */ + List converDOsToCOs(List curriculumDOs); + + CurriculumCO converDOToCO(CurriculumDO curriculumDO); +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/ExamPaperCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/ExamPaperCoConvertor.java new file mode 100644 index 0000000..0110aac --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/ExamPaperCoConvertor.java @@ -0,0 +1,24 @@ +package com.zcloud.edu.command.convertor.resource; + +import com.zcloud.edu.dto.clientobject.resource.ExamPaperCO; +import com.zcloud.edu.persistence.dataobject.ExamPaperDO; +import org.mapstruct.Mapper; + +import java.util.List; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Mapper(componentModel = "spring") +public interface ExamPaperCoConvertor { + /** + * @param examPaperDOs + * @return + */ + List converDOsToCOs(List examPaperDOs); +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/QuestionCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/QuestionCoConvertor.java similarity index 77% rename from web-app/src/main/java/com/zcloud/edu/command/convertor/QuestionCoConvertor.java rename to web-app/src/main/java/com/zcloud/edu/command/convertor/resource/QuestionCoConvertor.java index 6158bc9..3f2dcd1 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/convertor/QuestionCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/QuestionCoConvertor.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.command.convertor; +package com.zcloud.edu.command.convertor.resource; -import com.zcloud.edu.dto.clientobject.QuestionCO; +import com.zcloud.edu.dto.clientobject.resource.QuestionCO; import com.zcloud.edu.persistence.dataobject.QuestionDO; import org.mapstruct.Mapper; diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/TeacherCertificateCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/TeacherCertificateCoConvertor.java similarity index 78% rename from web-app/src/main/java/com/zcloud/edu/command/convertor/TeacherCertificateCoConvertor.java rename to web-app/src/main/java/com/zcloud/edu/command/convertor/resource/TeacherCertificateCoConvertor.java index 522cf3f..e16f715 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/convertor/TeacherCertificateCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/TeacherCertificateCoConvertor.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.command.convertor; +package com.zcloud.edu.command.convertor.resource; -import com.zcloud.edu.dto.clientobject.TeacherCertificateCO; +import com.zcloud.edu.dto.clientobject.resource.TeacherCertificateCO; import com.zcloud.edu.persistence.dataobject.TeacherCertificateDO; import org.mapstruct.Mapper; diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/TeacherCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/TeacherCoConvertor.java similarity index 77% rename from web-app/src/main/java/com/zcloud/edu/command/convertor/TeacherCoConvertor.java rename to web-app/src/main/java/com/zcloud/edu/command/convertor/resource/TeacherCoConvertor.java index e93cc4b..b8144a6 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/convertor/TeacherCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/TeacherCoConvertor.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.command.convertor; +package com.zcloud.edu.command.convertor.resource; -import com.zcloud.edu.dto.clientobject.TeacherCO; +import com.zcloud.edu.dto.clientobject.resource.TeacherCO; import com.zcloud.edu.persistence.dataobject.TeacherDO; import org.mapstruct.Mapper; diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/TrainingTypeCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/TrainingTypeCoConvertor.java similarity index 77% rename from web-app/src/main/java/com/zcloud/edu/command/convertor/TrainingTypeCoConvertor.java rename to web-app/src/main/java/com/zcloud/edu/command/convertor/resource/TrainingTypeCoConvertor.java index 4717745..b3cce97 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/convertor/TrainingTypeCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/TrainingTypeCoConvertor.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.command.convertor; +package com.zcloud.edu.command.convertor.resource; -import com.zcloud.edu.dto.clientobject.TrainingTypeCO; +import com.zcloud.edu.dto.clientobject.resource.TrainingTypeCO; import com.zcloud.edu.persistence.dataobject.TrainingTypeDO; import org.mapstruct.Mapper; diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/VideoCoursewareCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/VideoCoursewareCoConvertor.java similarity index 78% rename from web-app/src/main/java/com/zcloud/edu/command/convertor/VideoCoursewareCoConvertor.java rename to web-app/src/main/java/com/zcloud/edu/command/convertor/resource/VideoCoursewareCoConvertor.java index 467fcbf..fcce293 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/convertor/VideoCoursewareCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/resource/VideoCoursewareCoConvertor.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.command.convertor; +package com.zcloud.edu.command.convertor.resource; -import com.zcloud.edu.dto.clientobject.VideoCoursewareCO; +import com.zcloud.edu.dto.clientobject.resource.VideoCoursewareCO; import com.zcloud.edu.persistence.dataobject.VideoCoursewareDO; import org.mapstruct.Mapper; diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/VideoCoursewareQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/VideoCoursewareQueryExe.java deleted file mode 100644 index 334c8ae..0000000 --- a/web-app/src/main/java/com/zcloud/edu/command/query/VideoCoursewareQueryExe.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.zcloud.edu.command.query; - -import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.command.convertor.VideoCoursewareCoConvertor; -import com.zcloud.edu.dto.VideoCoursewarePageQry; -import com.zcloud.edu.dto.VideoCoursewareListQry; -import com.zcloud.edu.dto.clientobject.VideoCoursewareCO; -import com.zcloud.edu.persistence.dataobject.VideoCoursewareDO; -import com.zcloud.edu.persistence.repository.VideoCoursewareRepository; -import com.zcloud.gbscommon.utils.PageQueryHelper; -import com.alibaba.cola.dto.PageResponse; -import com.alibaba.cola.dto.SingleResponse; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Component; -import org.springframework.beans.BeanUtils; - -import java.util.List; -import java.util.Map; - - -/** - * web-app - * - * @Author SondonYong - * @Date 2025-11-27 14:05:32 - */ -@Component -@AllArgsConstructor -public class VideoCoursewareQueryExe { - private final VideoCoursewareRepository videoCoursewareRepository; - private final VideoCoursewareCoConvertor videoCoursewareCoConvertor; - - /** - * 分页 - * - * @return - */ - public PageResponse execute(VideoCoursewarePageQry qry) { - Map params = PageQueryHelper.toHashMap(qry); - PageResponse pageResponse = videoCoursewareRepository.listPage(params); - List examCenterCOS = videoCoursewareCoConvertor.converDOsToCOs(pageResponse.getData()); - return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); - } - - public MultiResponse execute(VideoCoursewareListQry qry) { - Map params = PageQueryHelper.toHashMap(qry); - List list = videoCoursewareRepository.list(params); - List examCenterCOS = videoCoursewareCoConvertor.converDOsToCOs(list); - return MultiResponse.of(examCenterCOS); - } - - public SingleResponse execute(Long id) { - SingleResponse videoCoursewareDO = videoCoursewareRepository.getInfoById(id); - VideoCoursewareCO co = new VideoCoursewareCO(); - BeanUtils.copyProperties(videoCoursewareDO.getData(), co); - return SingleResponse.of(co); - } - -} - diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumChapterQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumChapterQueryExe.java new file mode 100644 index 0000000..464e496 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumChapterQueryExe.java @@ -0,0 +1,42 @@ +package com.zcloud.edu.command.query.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.zcloud.edu.command.convertor.resource.CurriculumChapterCoConvertor; +import com.zcloud.edu.dto.resource.CurriculumChapterPageQry; +import com.zcloud.edu.dto.clientobject.resource.CurriculumChapterCO; +import com.zcloud.edu.persistence.dataobject.CurriculumChapterDO; +import com.zcloud.edu.persistence.repository.resource.CurriculumChapterRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Component +@AllArgsConstructor +public class CurriculumChapterQueryExe { + private final CurriculumChapterRepository curriculumChapterRepository; + private final CurriculumChapterCoConvertor curriculumChapterCoConvertor; + + /** + * 分页 + * + * @param curriculumChapterPageQry + * @return + */ + public PageResponse execute(CurriculumChapterPageQry curriculumChapterPageQry) { + Map params = PageQueryHelper.toHashMap(curriculumChapterPageQry); + PageResponse pageResponse = curriculumChapterRepository.listPage(params); + List examCenterCOS = curriculumChapterCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } +} + 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 new file mode 100644 index 0000000..6dc269a --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/CurriculumQueryExe.java @@ -0,0 +1,92 @@ +package com.zcloud.edu.command.query.resource; + +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.domain.enums.CorpTypeEnum; +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.repository.resource.CorpInfoRepository; +import com.zcloud.edu.persistence.repository.resource.CurriculumChapterRepository; +import com.zcloud.edu.persistence.repository.resource.CurriculumRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.gbscommon.utils.Tools; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Component +@AllArgsConstructor +public class CurriculumQueryExe { + private final CurriculumRepository curriculumRepository; + private final CurriculumCoConvertor curriculumCoConvertor; + private final CurriculumChapterRepository curriculumChapterRepository; + private final CurriculumChapterCoConvertor curriculumChapterCoConvertor; + private final CorpInfoRepository corpInfoRepository; + + /** + * 分页 + * + * @param curriculumPageQry + * @return + */ + public PageResponse execute(CurriculumPageQry curriculumPageQry) { + Map params = PageQueryHelper.toHashMap(curriculumPageQry); + //判断企业是股份端还是企业端 + boolean supper = corpInfoRepository.isSupper(); + //股份端展示股份端创建的和各企业创建的, + //企业端展示本企业创建的和股份端创建的 + if(!supper){ + //不是股份端,显示 + List typeList = Arrays.asList(CorpTypeEnum.share.getCode()); + List corpInfoDOS = corpInfoRepository.listByCorpType(typeList); + List inCorpinfoId = corpInfoDOS.stream().map(CorpInfoDO::getId).collect(Collectors.toList()); + inCorpinfoId.add(AuthContext.getTenantId()); + params.put("inCorpinfoId", inCorpinfoId); + } + PageResponse pageResponse = curriculumRepository.listPage(params); + if(pageResponse.getData() == null){ + 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); + } + }); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + + public CurriculumCO getInfoById(Long id) { + CurriculumDO curriculumDO = curriculumRepository.getById(id); + if(curriculumDO == null){ + return null; + } + CurriculumCO curriculumCO = curriculumCoConvertor.converDOToCO(curriculumDO); + //查询出所有的课程章节信息 + + List curriculumChapterDOList = curriculumChapterRepository.getListByCurriculumId(curriculumCO.getCurriculumId()); + List curriculumChapterCOList = curriculumChapterCoConvertor.converDOsToCOs(curriculumChapterDOList); + List treeList = Tools.buildEntityTree(curriculumChapterCOList, "curriculumChapterId", "parentId", "childCurriculumChapterCOList", "0"); + curriculumCO.setCurriculumChapterCOList(treeList); + return curriculumCO; + } +} + 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 new file mode 100644 index 0000000..4a63890 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/ExamPaperQueryExe.java @@ -0,0 +1,88 @@ +package com.zcloud.edu.command.query.resource; + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.edu.command.convertor.resource.ExamPaperCoConvertor; +import com.zcloud.edu.command.convertor.resource.QuestionCoConvertor; +import com.zcloud.edu.domain.enums.CorpTypeEnum; +import com.zcloud.edu.dto.resource.ExamPaperPageQry; +import com.zcloud.edu.dto.clientobject.resource.ExamPaperCO; +import com.zcloud.edu.dto.clientobject.resource.QuestionCO; +import com.zcloud.edu.persistence.dataobject.CorpInfoDO; +import com.zcloud.edu.persistence.dataobject.ExamPaperDO; +import com.zcloud.edu.persistence.dataobject.QuestionDO; +import com.zcloud.edu.persistence.repository.resource.CorpInfoRepository; +import com.zcloud.edu.persistence.repository.resource.ExamPaperRepository; +import com.zcloud.edu.persistence.repository.resource.QuestionRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Component +@AllArgsConstructor +public class ExamPaperQueryExe { + private final ExamPaperRepository examPaperRepository; + private final ExamPaperCoConvertor examPaperCoConvertor; + private final CorpInfoRepository corpInfoRepository; + private final QuestionRepository questionRepository; + private final QuestionCoConvertor questionCoConvertor; + + /** + * 分页 + * + * @param examPaperPageQry + * @return + */ + public PageResponse execute(ExamPaperPageQry examPaperPageQry) { + Map params = PageQueryHelper.toHashMap(examPaperPageQry); + //判断企业是股份端还是企业端 + boolean supper = corpInfoRepository.isSupper(); + //股份端展示股份端创建的和各企业创建的, + //企业端展示本企业创建的和股份端创建的 + if(!supper){ + //不是股份端,显示 + List typeList = Arrays.asList(CorpTypeEnum.share.getCode()); + List corpInfoDOS = corpInfoRepository.listByCorpType(typeList); + List inCorpinfoId = corpInfoDOS.stream().map(CorpInfoDO::getId).collect(Collectors.toList()); + inCorpinfoId.add(AuthContext.getTenantId()); + params.put("inCorpinfoId", inCorpinfoId); + } + PageResponse pageResponse = examPaperRepository.listPage(params); + List examCenterCOS = examPaperCoConvertor.converDOsToCOs(pageResponse.getData()); + examCenterCOS.forEach(examCenterCO -> { + if(examCenterCO.getCreateId().equals(AuthContext.getUserId())){ + //是本人 + examCenterCO.setIsUserCreate(true); + } + }); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + + public ExamPaperCO getInfoById(Long id) { + ExamPaperDO examPaperDO =examPaperRepository.getInfoById(id); + if(examPaperDO==null){ + throw new RuntimeException("试卷不存在"); + } + ExamPaperCO examPaperCO =new ExamPaperCO(); + BeanUtil.copyProperties(examPaperDO,examPaperCO); + //查找课题 + List questionDOList = questionRepository.getListByExamPaperId(examPaperDO.getExamPaperId()); + List questionCOS = questionCoConvertor.converDOsToCOs(questionDOList); + examPaperCO.setQuestionCOList(questionCOS); + return examPaperCO; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/QuestionQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/QuestionQueryExe.java similarity index 83% rename from web-app/src/main/java/com/zcloud/edu/command/query/QuestionQueryExe.java rename to web-app/src/main/java/com/zcloud/edu/command/query/resource/QuestionQueryExe.java index d234787..06dff56 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/QuestionQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/QuestionQueryExe.java @@ -1,12 +1,12 @@ -package com.zcloud.edu.command.query; +package com.zcloud.edu.command.query.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.command.convertor.QuestionCoConvertor; -import com.zcloud.edu.dto.QuestionPageQry; -import com.zcloud.edu.dto.QuestionListQry; -import com.zcloud.edu.dto.clientobject.QuestionCO; +import com.zcloud.edu.command.convertor.resource.QuestionCoConvertor; +import com.zcloud.edu.dto.resource.QuestionPageQry; +import com.zcloud.edu.dto.resource.QuestionListQry; +import com.zcloud.edu.dto.clientobject.resource.QuestionCO; import com.zcloud.edu.persistence.dataobject.QuestionDO; -import com.zcloud.edu.persistence.repository.QuestionRepository; +import com.zcloud.edu.persistence.repository.resource.QuestionRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/TeacherCertificateQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/TeacherCertificateQueryExe.java similarity index 83% rename from web-app/src/main/java/com/zcloud/edu/command/query/TeacherCertificateQueryExe.java rename to web-app/src/main/java/com/zcloud/edu/command/query/resource/TeacherCertificateQueryExe.java index 0687dce..31c01e3 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/TeacherCertificateQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/TeacherCertificateQueryExe.java @@ -1,12 +1,12 @@ -package com.zcloud.edu.command.query; +package com.zcloud.edu.command.query.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.command.convertor.TeacherCertificateCoConvertor; -import com.zcloud.edu.dto.TeacherCertificateListQry; -import com.zcloud.edu.dto.TeacherCertificatePageQry; -import com.zcloud.edu.dto.clientobject.TeacherCertificateCO; +import com.zcloud.edu.command.convertor.resource.TeacherCertificateCoConvertor; +import com.zcloud.edu.dto.resource.TeacherCertificateListQry; +import com.zcloud.edu.dto.resource.TeacherCertificatePageQry; +import com.zcloud.edu.dto.clientobject.resource.TeacherCertificateCO; import com.zcloud.edu.persistence.dataobject.TeacherCertificateDO; -import com.zcloud.edu.persistence.repository.TeacherCertificateRepository; +import com.zcloud.edu.persistence.repository.resource.TeacherCertificateRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/TeacherQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/TeacherQueryExe.java similarity index 76% rename from web-app/src/main/java/com/zcloud/edu/command/query/TeacherQueryExe.java rename to web-app/src/main/java/com/zcloud/edu/command/query/resource/TeacherQueryExe.java index e9589da..76057e3 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/TeacherQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/TeacherQueryExe.java @@ -1,16 +1,16 @@ -package com.zcloud.edu.command.query; +package com.zcloud.edu.command.query.resource; import cn.hutool.core.bean.BeanUtil; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.command.convertor.TeacherCoConvertor; -import com.zcloud.edu.dto.TeacherListQry; -import com.zcloud.edu.dto.TeacherPageQry; -import com.zcloud.edu.dto.clientobject.TeacherCO; -import com.zcloud.edu.dto.clientobject.TeacherCertificateCO; +import com.zcloud.edu.command.convertor.resource.TeacherCoConvertor; +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.TeacherCertificateDO; import com.zcloud.edu.persistence.dataobject.TeacherDO; -import com.zcloud.edu.persistence.repository.TeacherCertificateRepository; -import com.zcloud.edu.persistence.repository.TeacherRepository; +import com.zcloud.edu.persistence.repository.resource.TeacherCertificateRepository; +import com.zcloud.edu.persistence.repository.resource.TeacherRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; @@ -54,15 +54,17 @@ public class TeacherQueryExe { return MultiResponse.of(examCenterCOS); } - public SingleResponse execute(Long id) { + public SingleResponse getInfoById(Long id) { SingleResponse teacherDO = teacherRepository.getInfoById(id); + if(teacherDO.getData() == null){ + return SingleResponse.of(null); + } TeacherCO co = new TeacherCO(); BeanUtils.copyProperties(teacherDO.getData(), co); - if(co != null){ List teacherCertificateDOS = teacherCertificateRepository.listByTeacherId(co.getTeacherId()); co.setTeacherCertificateList(BeanUtil.copyToList(teacherCertificateDOS, TeacherCertificateCO.class)); - } + return SingleResponse.of(co); } diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/TrainingTypeQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/resource/TrainingTypeQueryExe.java similarity index 83% rename from web-app/src/main/java/com/zcloud/edu/command/query/TrainingTypeQueryExe.java rename to web-app/src/main/java/com/zcloud/edu/command/query/resource/TrainingTypeQueryExe.java index 410426d..2fdb2fa 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/TrainingTypeQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/TrainingTypeQueryExe.java @@ -1,12 +1,12 @@ -package com.zcloud.edu.command.query; +package com.zcloud.edu.command.query.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.command.convertor.TrainingTypeCoConvertor; -import com.zcloud.edu.dto.TrainingTypeListQry; -import com.zcloud.edu.dto.TrainingTypePageQry; -import com.zcloud.edu.dto.clientobject.TrainingTypeCO; +import com.zcloud.edu.command.convertor.resource.TrainingTypeCoConvertor; +import com.zcloud.edu.dto.resource.TrainingTypeListQry; +import com.zcloud.edu.dto.resource.TrainingTypePageQry; +import com.zcloud.edu.dto.clientobject.resource.TrainingTypeCO; import com.zcloud.edu.persistence.dataobject.TrainingTypeDO; -import com.zcloud.edu.persistence.repository.TrainingTypeRepository; +import com.zcloud.edu.persistence.repository.resource.TrainingTypeRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; 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 new file mode 100644 index 0000000..bb42b79 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/query/resource/VideoCoursewareQueryExe.java @@ -0,0 +1,95 @@ +package com.zcloud.edu.command.query.resource; + +import com.alibaba.cola.dto.MultiResponse; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.edu.command.convertor.resource.VideoCoursewareCoConvertor; +import com.zcloud.edu.domain.enums.CorpTypeEnum; +import com.zcloud.edu.dto.resource.VideoCoursewarePageQry; +import com.zcloud.edu.dto.resource.VideoCoursewareListQry; +import com.zcloud.edu.dto.clientobject.resource.VideoCoursewareCO; +import com.zcloud.edu.persistence.dataobject.CorpInfoDO; +import com.zcloud.edu.persistence.dataobject.VideoCoursewareDO; +import com.zcloud.edu.persistence.repository.resource.CorpInfoRepository; +import com.zcloud.edu.persistence.repository.resource.VideoCoursewareRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +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; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-11-27 14:05:32 + */ +@Component +@AllArgsConstructor +public class VideoCoursewareQueryExe { + private final VideoCoursewareRepository videoCoursewareRepository; + private final VideoCoursewareCoConvertor videoCoursewareCoConvertor; + private final CorpInfoRepository corpInfoRepository; + + /** + * 分页 + * + * @return + */ + public PageResponse execute(VideoCoursewarePageQry qry) { + Map params = PageQueryHelper.toHashMap(qry); + //判断企业是股份端还是企业端 + boolean supper = corpInfoRepository.isSupper(); + //股份端展示股份端创建的和各企业创建的, + //企业端展示本企业创建的和股份端创建的 + if(!supper){ + //不是股份端,显示 + List typeList = Arrays.asList(CorpTypeEnum.share.getCode()); + List corpInfoDOS = corpInfoRepository.listByCorpType(typeList); + List inCorpinfoId = corpInfoDOS.stream().map(CorpInfoDO::getId).collect(Collectors.toList()); + inCorpinfoId.add(AuthContext.getTenantId()); + params.put("inCorpinfoId", inCorpinfoId); + } + + PageResponse pageResponse = videoCoursewareRepository.listPage(params); + 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); + } + }); + + + + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + + public MultiResponse execute(VideoCoursewareListQry qry) { + Map params = PageQueryHelper.toHashMap(qry); + List list = videoCoursewareRepository.list(params); + List examCenterCOS = videoCoursewareCoConvertor.converDOsToCOs(list); + return MultiResponse.of(examCenterCOS); + } + + public SingleResponse getInfoById(Long id) { + SingleResponse videoCoursewareDO = videoCoursewareRepository.getInfoById(id); + if(videoCoursewareDO.getData() == null){ + return SingleResponse.of(null); + } + VideoCoursewareCO co = new VideoCoursewareCO(); + BeanUtils.copyProperties(videoCoursewareDO.getData(), co); + return SingleResponse.of(co); + } + +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumAddExe.java new file mode 100644 index 0000000..272ff5f --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumAddExe.java @@ -0,0 +1,103 @@ +package com.zcloud.edu.command.resource; + +import cn.hutool.core.collection.CollUtil; +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.command.convertor.resource.CurriculumChapterCoConvertor; +import com.zcloud.edu.domain.enums.CatalogueLevelEnum; +import com.zcloud.edu.domain.gateway.resource.CurriculumChapterGateway; +import com.zcloud.edu.domain.gateway.resource.CurriculumGateway; +import com.zcloud.edu.domain.model.resource.CurriculumChapterE; +import com.zcloud.edu.domain.model.resource.CurriculumE; +import com.zcloud.edu.dto.resource.CurriculumAddCmd; +import com.zcloud.edu.dto.resource.CurriculumChapterAddCmd; +import com.zcloud.edu.persistence.repository.resource.CurriculumChapterRepository; +import com.zcloud.edu.persistence.repository.resource.QuestionRepository; +import com.zcloud.edu.persistence.repository.resource.VideoCoursewareRepository; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Component +@AllArgsConstructor +public class CurriculumAddExe { + private final CurriculumGateway curriculumGateway; + private final CurriculumChapterGateway curriculumChapterGateway; + private final CurriculumChapterCoConvertor curriculumChapterCoConvertor; + private final CurriculumChapterRepository curriculumChapterRepository; + private final VideoCoursewareRepository videoCoursewareRepository; + private final QuestionRepository questionRepository; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(CurriculumAddCmd cmd) { + + CurriculumE curriculumE = new CurriculumE(); + BeanUtils.copyProperties(cmd, curriculumE); + boolean res = false; + try { + res = curriculumGateway.add(curriculumE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("课程保存失败"); + } + List videoCoursewareIds =new ArrayList<>(); + //判断课程习题数量大于5 + if(CatalogueLevelEnum.FIRST_LEVEL.getCode().equals(cmd.getCatalogueLevel())){ + //一级目录 + videoCoursewareIds = cmd.getCurriculumChapterAddCmdList().stream() + .filter(curriculumChapterAddCmd -> curriculumChapterAddCmd.getVideoCoursewareId() != null) + .map(CurriculumChapterAddCmd::getVideoCoursewareId).collect(Collectors.toList()); + }else{ + //二级目录 + List curriculumChapterAddCmdList = cmd.getCurriculumChapterAddCmdList(); + //curriculumChapterAddCmdList过滤掉"0".equals(curriculumChapterAddCmd.getParentId()) 的数据,拿到videoCoursewareIds +// curriculumChapterAddCmdList.stream() + //curriculumChapterAddCmdList中curriculumChapterAddCmdList.get().getCurriculumChapterAddCmdList() 下所有的getVideoCoursewareId + List finalVideoCoursewareIds = videoCoursewareIds; + curriculumChapterAddCmdList.forEach(info->{ + List collect = info.getCurriculumChapterAddCmdList().stream().filter(curriculumChapterAddCmd -> curriculumChapterAddCmd.getVideoCoursewareId() != null) + .map(CurriculumChapterAddCmd::getVideoCoursewareId).collect(Collectors.toList()); + finalVideoCoursewareIds.addAll(collect); + }); + } + if(CollUtil.isEmpty(videoCoursewareIds)){ + throw new BizException("请选择课程"); + } + Long videoCoursewareCount = questionRepository.getCountByVideoCoursewareList(videoCoursewareIds); + if(videoCoursewareCount<5){ + throw new BizException("课程习题数量不能小于5"); + } + //处理课程章节 + List curriculumChapterAddCmdList = cmd.getCurriculumChapterAddCmdList(); + curriculumChapterAddCmdList.forEach(curriculumChapterAddCmd -> { + CurriculumChapterE curriculumChapterE = new CurriculumChapterE(); + BeanUtils.copyProperties(curriculumChapterAddCmd, curriculumChapterE); + curriculumChapterE.setCurriculumId(curriculumE.getCurriculumId()); + curriculumChapterE.setParentId("0"); + curriculumChapterGateway.add(curriculumChapterE); + if( CatalogueLevelEnum.SECOND_LEVEL.getCode().equals(cmd.getCatalogueLevel())){ + + //二级目录 + List curriculumChapterAddCmdList1 = curriculumChapterAddCmd.getCurriculumChapterAddCmdList(); + List curriculumChapterES = curriculumChapterCoConvertor.converCmdsToEs(curriculumChapterAddCmdList1); + CurriculumChapterE.initBath(curriculumChapterES,curriculumChapterE.getCurriculumChapterId(),curriculumChapterE.getCurriculumId()); + curriculumChapterRepository.saveBatch( curriculumChapterCoConvertor.converEsToDOs(curriculumChapterES)); + } + }); + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumChapterAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumChapterAddExe.java new file mode 100644 index 0000000..bf38d0e --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumChapterAddExe.java @@ -0,0 +1,40 @@ +package com.zcloud.edu.command.resource; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.domain.gateway.resource.CurriculumChapterGateway; +import com.zcloud.edu.domain.model.resource.CurriculumChapterE; +import com.zcloud.edu.dto.resource.CurriculumChapterAddCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Component +@AllArgsConstructor +public class CurriculumChapterAddExe { + private final CurriculumChapterGateway curriculumChapterGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(CurriculumChapterAddCmd cmd) { + CurriculumChapterE curriculumChapterE = new CurriculumChapterE(); + BeanUtils.copyProperties(cmd, curriculumChapterE); + boolean res = false; + try { + res = curriculumChapterGateway.add(curriculumChapterE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("保存失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/VideoCoursewareRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumChapterRemoveExe.java similarity index 60% rename from web-app/src/main/java/com/zcloud/edu/command/VideoCoursewareRemoveExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumChapterRemoveExe.java index 8320ec5..7ee8bdc 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/VideoCoursewareRemoveExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumChapterRemoveExe.java @@ -1,7 +1,7 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; -import com.zcloud.edu.domain.gateway.VideoCoursewareGateway; import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.domain.gateway.resource.CurriculumChapterGateway; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -10,17 +10,17 @@ import org.springframework.transaction.annotation.Transactional; /** * web-app * - * @Author SondonYong - * @Date 2025-11-27 14:05:32 + * @Author zhaokai + * @Date 2026-01-09 13:50:13 */ @Component @AllArgsConstructor -public class VideoCoursewareRemoveExe { - private final VideoCoursewareGateway videoCoursewareGateway; +public class CurriculumChapterRemoveExe { + private final CurriculumChapterGateway curriculumChapterGateway; @Transactional(rollbackFor = Exception.class) public boolean execute(Long id) { - boolean res = videoCoursewareGateway.deletedVideoCoursewareById(id); + boolean res = curriculumChapterGateway.deletedCurriculumChapterById(id); if (!res) { throw new BizException("删除失败"); } @@ -29,7 +29,7 @@ public class VideoCoursewareRemoveExe { @Transactional(rollbackFor = Exception.class) public boolean execute(Long[] ids) { - boolean res = videoCoursewareGateway.deletedVideoCoursewareByIds(ids); + boolean res = curriculumChapterGateway.deletedCurriculumChapterByIds(ids); if (!res) { throw new BizException("删除失败"); } diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumChapterUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumChapterUpdateExe.java new file mode 100644 index 0000000..6ec3a27 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumChapterUpdateExe.java @@ -0,0 +1,34 @@ +package com.zcloud.edu.command.resource; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.domain.gateway.resource.CurriculumChapterGateway; +import com.zcloud.edu.domain.model.resource.CurriculumChapterE; +import com.zcloud.edu.dto.resource.CurriculumChapterUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Component +@AllArgsConstructor +public class CurriculumChapterUpdateExe { + private final CurriculumChapterGateway curriculumChapterGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(CurriculumChapterUpdateCmd curriculumChapterUpdateCmd) { + CurriculumChapterE curriculumChapterE = new CurriculumChapterE(); + BeanUtils.copyProperties(curriculumChapterUpdateCmd, curriculumChapterE); + boolean res = curriculumChapterGateway.update(curriculumChapterE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumRemoveExe.java new file mode 100644 index 0000000..d2edb07 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumRemoveExe.java @@ -0,0 +1,71 @@ +package com.zcloud.edu.command.resource; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.domain.gateway.resource.CurriculumGateway; +import com.zcloud.edu.persistence.dataobject.CurriculumDO; +import com.zcloud.edu.persistence.repository.resource.CorpInfoRepository; +import com.zcloud.edu.persistence.repository.resource.CurriculumRepository; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Component +@AllArgsConstructor +public class CurriculumRemoveExe { + private final CurriculumGateway curriculumGateway; + private final CorpInfoRepository corpInfoRepository; + private final CurriculumRepository curriculumRepository; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + CurriculumDO curriculumDO = curriculumRepository.getById(id); + //企业端禁用:所属单位为股份的不能禁用 + //股份端禁用:所属单位为各企业的不能禁用 + Boolean b = corpInfoRepository.checkSupper(curriculumDO.getCorpinfoId()); + if(corpInfoRepository.isSupper() && !b){ + throw new BizException("企业端数据不能删除"); + } + if(!corpInfoRepository.isSupper() && b){ + throw new BizException("股份端数据不能删除"); + } + //TODO 校验是否被使用 + + boolean res = curriculumGateway.deletedCurriculumById(id); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + for (Long id : ids) { + CurriculumDO curriculumDO = curriculumRepository.getById(id); + //企业端禁用:所属单位为股份的不能禁用 + //股份端禁用:所属单位为各企业的不能禁用 + Boolean b = corpInfoRepository.checkSupper(curriculumDO.getCorpinfoId()); + if(corpInfoRepository.isSupper() && !b){ + throw new BizException("企业端数据不能删除"); + } + if(!corpInfoRepository.isSupper() && b){ + throw new BizException("股份端数据不能删除"); + } + //TODO 校验是否被使用 + + } + + boolean res = curriculumGateway.deletedCurriculumByIds(ids); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } +} + 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 new file mode 100644 index 0000000..45e8486 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/CurriculumUpdateExe.java @@ -0,0 +1,109 @@ +package com.zcloud.edu.command.resource; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.command.convertor.resource.CurriculumChapterCoConvertor; +import com.zcloud.edu.domain.enums.CatalogueLevelEnum; +import com.zcloud.edu.domain.enums.CurriculumSellFlagEnum; +import com.zcloud.edu.domain.gateway.resource.CurriculumChapterGateway; +import com.zcloud.edu.domain.gateway.resource.CurriculumGateway; +import com.zcloud.edu.domain.model.resource.CurriculumChapterE; +import com.zcloud.edu.domain.model.resource.CurriculumE; +import com.zcloud.edu.dto.resource.CurriculumChapterAddCmd; +import com.zcloud.edu.dto.resource.CurriculumUpdateCmd; +import com.zcloud.edu.dto.resource.CurriculumUpdateStateCmd; +import com.zcloud.edu.persistence.dataobject.CurriculumDO; +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 lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 13:45:39 + */ +@Component +@AllArgsConstructor +public class CurriculumUpdateExe { + private final CurriculumGateway curriculumGateway; + private final CurriculumRepository curriculumRepository; + private final CurriculumChapterRepository curriculumChapterRepository; + private final CurriculumChapterCoConvertor curriculumChapterCoConvertor; + private final CurriculumChapterGateway curriculumChapterGateway; + private final CorpInfoRepository corpInfoRepository; + + @Transactional(rollbackFor = Exception.class) + public void execute(CurriculumUpdateCmd curriculumUpdateCmd) { + CurriculumDO curriculumDO = curriculumRepository.getById(curriculumUpdateCmd.getId()); + if (curriculumDO == null) { + throw new BizException("课程不存在"); + } + + //企业端禁用:所属单位为股份的不能禁用 + //股份端禁用:所属单位为各企业的不能禁用 + Boolean b = corpInfoRepository.checkSupper(curriculumDO.getCorpinfoId()); + if(corpInfoRepository.isSupper() && !b){ + throw new BizException("企业端数据不能编辑"); + } + if(!corpInfoRepository.isSupper() && b){ + throw new BizException("股份端数据不能编辑"); + } + //TODo 校验是否 被使用 + + CurriculumE curriculumE = new CurriculumE(); + BeanUtils.copyProperties(curriculumUpdateCmd, curriculumE); + boolean res = curriculumGateway.update(curriculumE); + if (!res) { + throw new BizException("修改失败"); + } + + //删除课程章节信息,添加新的课程章节信息 + curriculumChapterRepository.deleteByCurriculumId(curriculumDO.getCurriculumId()); + List curriculumChapterAddCmdList = curriculumUpdateCmd.getCurriculumChapterAddCmdList(); + curriculumChapterAddCmdList.forEach(curriculumChapterAddCmd -> { + CurriculumChapterE curriculumChapterE = new CurriculumChapterE(); + BeanUtils.copyProperties(curriculumChapterAddCmd, curriculumChapterE); + curriculumChapterE.setCurriculumId(curriculumE.getCurriculumId()); + curriculumChapterGateway.add(curriculumChapterE); + if("0".equals(curriculumChapterAddCmd.getParentId())&& CatalogueLevelEnum.SECOND_LEVEL.getCode().equals(curriculumUpdateCmd.getCatalogueLevel())){ + //二级目录 + List curriculumChapterAddCmdList1 = curriculumChapterAddCmd.getCurriculumChapterAddCmdList(); + List curriculumChapterES = curriculumChapterCoConvertor.converCmdsToEs(curriculumChapterAddCmdList1); + CurriculumChapterE.initBath(curriculumChapterES,curriculumChapterE.getCurriculumChapterId(),curriculumChapterE.getCurriculumId()); + curriculumChapterRepository.saveBatch( curriculumChapterCoConvertor.converEsToDOs(curriculumChapterES)); + } + }); + + + } + + public void editState(CurriculumUpdateStateCmd cmd) { + for (Long id : cmd.getId()) { + CurriculumDO curriculumDO = curriculumRepository.getById(id); + //企业端禁用:所属单位为股份的不能禁用 + //股份端禁用:所属单位为各企业的不能禁用 + Boolean b = corpInfoRepository.checkSupper(curriculumDO.getCorpinfoId()); + if(corpInfoRepository.isSupper() && !b){ + throw new BizException("企业端数据不能修改状态"); + } + if(!corpInfoRepository.isSupper() && b){ + throw new BizException("股份端数据不能修改状态"); + } + //TODO 校验是否被使用,如果是下架判断是否被使用 + if(CurriculumSellFlagEnum.UNENABLED.getCode().equals(cmd.getSellFlag())){ + + } + + } + curriculumRepository.updateState(cmd.getId(), 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 new file mode 100644 index 0000000..9641fc7 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperAddExe.java @@ -0,0 +1,69 @@ +package com.zcloud.edu.command.resource; + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.cola.exception.BizException; +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.persistence.dataobject.QuestionDO; +import com.zcloud.edu.persistence.repository.resource.QuestionRepository; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.List; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Component +@AllArgsConstructor +public class ExamPaperAddExe { + private final ExamPaperGateway examPaperGateway; + private final QuestionRepository questionRepository; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(ExamPaperAddCmd 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("保存失败"); + } + + QuestionE questionE = new QuestionE(); + List questionES = questionE.parseImportTemplateData(cmd.getFile(),null, examPaperE.getExamPaperId(), CoursewareTypeEnum.EXAM_QUESTION.getCode()); + + 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 new file mode 100644 index 0000000..6f19782 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperRemoveExe.java @@ -0,0 +1,95 @@ +package com.zcloud.edu.command.resource; + +import cn.hutool.core.collection.CollUtil; +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.domain.gateway.resource.ExamPaperGateway; +import com.zcloud.edu.dto.resource.ExamPaperRemoveCmd; +import com.zcloud.edu.persistence.dataobject.ExamPaperDO; +import com.zcloud.edu.persistence.repository.resource.CorpInfoRepository; +import com.zcloud.edu.persistence.repository.resource.ExamPaperRepository; +import com.zcloud.edu.persistence.repository.resource.QuestionRepository; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 17:04:43 + */ +@Component +@AllArgsConstructor +public class ExamPaperRemoveExe { + private final ExamPaperGateway examPaperGateway; + private final ExamPaperRepository examPaperRepository; + private final QuestionRepository questionRepository; + private final CorpInfoRepository corpInfoRepository; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + ExamPaperDO examPaperDO = examPaperRepository.getById(id); + if(examPaperDO==null){ + throw new RuntimeException("试卷不存在"); + } + //企业端禁用:所属单位为股份的不能禁用 + //股份端禁用:所属单位为各企业的不能禁用 + Boolean b = corpInfoRepository.checkSupper(examPaperDO.getCorpinfoId()); + if (corpInfoRepository.isSupper() && !b) { + throw new BizException("企业端数据不能修改状态"); + } + if (!corpInfoRepository.isSupper() && b) { + throw new BizException("股份端数据不能修改状态"); + } + + //TODO 是否被使用 + + + boolean res = examPaperGateway.deletedExamPaperById(id); + if (!res) { + throw new BizException("删除失败"); + } + //删除对应试题 + questionRepository.removeByExampaperId(examPaperDO.getExamPaperId()); + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(ExamPaperRemoveCmd examPaperRemoveCmd) { + + List examPaperDOList =examPaperRepository.getListByIdList(examPaperRemoveCmd.getId()); + if(CollUtil.isEmpty(examPaperDOList)){ + throw new RuntimeException("试卷不存在"); + } + //获取试卷idlist + List examPaperIdList = examPaperDOList.stream().map(ExamPaperDO::getExamPaperId).collect(Collectors.toList()); + //判断是否被使用 + for (ExamPaperDO examPaperDO : examPaperDOList) { + Boolean b = corpInfoRepository.checkSupper(examPaperDO.getCorpinfoId()); + if (corpInfoRepository.isSupper() && !b) { + throw new BizException("企业端数据不能修改状态"); + } + if (!corpInfoRepository.isSupper() && b) { + throw new BizException("股份端数据不能修改状态"); + } + + //TODO 判断是否被使用 + + } + + + boolean res = examPaperGateway.deletedExamPaperByIds(examPaperRemoveCmd.getId()); + if (!res) { + throw new BizException("删除失败"); + } + //删除对应试题 + questionRepository.removeByExampaperIdList(examPaperIdList); + + return true; + } +} + 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 new file mode 100644 index 0000000..d7c99df --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/ExamPaperUpdateExe.java @@ -0,0 +1,98 @@ +package com.zcloud.edu.command.resource; + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.cola.exception.BizException; +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.ExamPaperUpdateCmd; +import com.zcloud.edu.persistence.dataobject.ExamPaperDO; +import com.zcloud.edu.persistence.dataobject.QuestionDO; +import com.zcloud.edu.persistence.repository.resource.CorpInfoRepository; +import com.zcloud.edu.persistence.repository.resource.ExamPaperRepository; +import com.zcloud.edu.persistence.repository.resource.QuestionRepository; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import java.math.BigDecimal; +import java.util.List; + + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 17:04:43 + */ +@Component +@AllArgsConstructor +public class ExamPaperUpdateExe { + private final ExamPaperGateway examPaperGateway; + private final ExamPaperRepository examPaperRepository; + private final CorpInfoRepository corpInfoRepository; + private final QuestionRepository questionRepository; + + @Transactional(rollbackFor = Exception.class) + public void execute(MultipartFile file, ExamPaperUpdateCmd examPaperUpdateCmd) { + ExamPaperDO examPaperDO = examPaperRepository.getById(examPaperUpdateCmd.getId()); + if( examPaperDO == null){ + throw new BizException("试卷不存在"); + } + ExamPaperE examPaperE = new ExamPaperE(); + BeanUtils.copyProperties(examPaperUpdateCmd, examPaperE); + boolean res = examPaperGateway.update(examPaperE); + if (!res) { + throw new BizException("修改失败"); + } + if (!file.isEmpty()) { + //删除之前的试题 + questionRepository.removeByExampaperId( examPaperDO.getExamPaperId()); + + QuestionE questionE = new QuestionE(); + List questionES = questionE.parseImportTemplateData(file, null, examPaperE.getExamPaperId(), CoursewareTypeEnum.EXAM_QUESTION.getCode()); + + 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("试题导入失败"); + } + + + } + } + + public void editSellFlag(ExamPaperUpdateCmd examPaperUpdateCmd) { + ExamPaperDO examPaperDO = examPaperRepository.getById(examPaperUpdateCmd.getId()); + //企业端禁用:所属单位为股份的不能禁用 + //股份端禁用:所属单位为各企业的不能禁用 + Boolean b = corpInfoRepository.checkSupper(examPaperDO.getCorpinfoId()); + if (corpInfoRepository.isSupper() && !b) { + throw new BizException("企业端数据不能修改状态"); + } + if (!corpInfoRepository.isSupper() && b) { + throw new BizException("股份端数据不能修改状态"); + } + //TODO 是否被使用 + + + ExamPaperE examPaperE = new ExamPaperE(); + BeanUtils.copyProperties(examPaperUpdateCmd, examPaperE); + boolean res = examPaperGateway.update(examPaperE); + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/QuestionAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/QuestionAddExe.java similarity index 77% rename from web-app/src/main/java/com/zcloud/edu/command/QuestionAddExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/QuestionAddExe.java index 4d2b3bd..08ba6f5 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/QuestionAddExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/QuestionAddExe.java @@ -1,12 +1,13 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; import cn.hutool.core.bean.BeanUtil; -import com.zcloud.edu.domain.gateway.QuestionGateway; -import com.zcloud.edu.domain.model.QuestionE; -import com.zcloud.edu.dto.QuestionAddCmd; +import com.zcloud.edu.domain.enums.CoursewareTypeEnum; +import com.zcloud.edu.domain.gateway.resource.QuestionGateway; +import com.zcloud.edu.domain.model.resource.QuestionE; +import com.zcloud.edu.dto.resource.QuestionAddCmd; import com.alibaba.cola.exception.BizException; import com.zcloud.edu.persistence.dataobject.QuestionDO; -import com.zcloud.edu.persistence.repository.QuestionRepository; +import com.zcloud.edu.persistence.repository.resource.QuestionRepository; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; @@ -49,8 +50,8 @@ public class QuestionAddExe { @Transactional(rollbackFor = Exception.class) public void importQuestionVideoTable(MultipartFile file, String videoCoursewareId){ QuestionE questionE = new QuestionE(); - Integer maxQuestionNumber = questionRepository.getMaxQuestionNumber(videoCoursewareId); - List questionES = questionE.parseImportTemplateData(file, videoCoursewareId, maxQuestionNumber); +// Integer maxQuestionNumber = questionRepository.getMaxQuestionNumber(videoCoursewareId); + List questionES = questionE.parseImportTemplateData(file, videoCoursewareId,null, CoursewareTypeEnum.VIDEO_COURSEWARE.getCode()); // 批量插入 boolean res = false; diff --git a/web-app/src/main/java/com/zcloud/edu/command/QuestionRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/QuestionRemoveExe.java similarity index 89% rename from web-app/src/main/java/com/zcloud/edu/command/QuestionRemoveExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/QuestionRemoveExe.java index 60c4930..31a2934 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/QuestionRemoveExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/QuestionRemoveExe.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; -import com.zcloud.edu.domain.gateway.QuestionGateway; +import com.zcloud.edu.domain.gateway.resource.QuestionGateway; import com.alibaba.cola.exception.BizException; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; @@ -29,6 +29,7 @@ public class QuestionRemoveExe { @Transactional(rollbackFor = Exception.class) public boolean execute(Long[] ids) { + boolean res = questionGateway.deletedQuestionByIds(ids); if (!res) { throw new BizException("删除失败"); diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/QuestionUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/QuestionUpdateExe.java new file mode 100644 index 0000000..93467f8 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/QuestionUpdateExe.java @@ -0,0 +1,80 @@ +package com.zcloud.edu.command.resource; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.domain.enums.CoursewareTypeEnum; +import com.zcloud.edu.domain.gateway.resource.QuestionGateway; +import com.zcloud.edu.domain.model.resource.QuestionE; +import com.zcloud.edu.dto.resource.QuestionUpdateCmd; +import com.zcloud.edu.dto.clientobject.resource.ExamPaperCO; +import com.zcloud.edu.persistence.dataobject.ExamPaperDO; +import com.zcloud.edu.persistence.dataobject.QuestionDO; +import com.zcloud.edu.persistence.repository.resource.ExamPaperRepository; +import com.zcloud.edu.persistence.repository.resource.QuestionRepository; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-11-27 14:06:11 + */ +@Component +@AllArgsConstructor +public class QuestionUpdateExe { + private final QuestionGateway questionGateway; + private final QuestionRepository questionRepository; + private final ExamPaperRepository examPaperRepository; + + @Transactional(rollbackFor = Exception.class) + public void execute(QuestionUpdateCmd cmd) { + QuestionDO questionDO = questionRepository.getById(cmd.getId()); + if (questionDO == null) { + throw new BizException("试题不存在"); + } + QuestionE questionE = new QuestionE(); + BeanUtils.copyProperties(cmd, questionE); + questionE.checkQuestion(questionE); + boolean res = questionGateway.update(questionE); + if (!res) { + throw new BizException("修改失败"); + } + + } + + public ExamPaperCO editPaper(QuestionUpdateCmd cmd) { + QuestionDO questionDO = questionRepository.getById(cmd.getId()); + if (questionDO == null) { + throw new BizException("试题不存在"); + } + QuestionE questionE = new QuestionE(); + BeanUtils.copyProperties(cmd, questionE); + questionE.checkQuestion(questionE); + boolean res = questionGateway.update(questionE); + if (!res) { + throw new BizException("修改失败"); + } + ExamPaperCO examPaperCO = new ExamPaperCO(); + //如果是试卷习题,需要修改试卷对应的总分 + if(CoursewareTypeEnum.EXAM_QUESTION.getCode().equals(questionDO.getCoursewareType())){ + //修改试卷对应总分 + BigDecimal bigDecimal = cmd.getScore().subtract(questionDO.getScore()).setScale(2, BigDecimal.ROUND_HALF_UP); + String examPaperId = questionDO.getExamPaperId(); + ExamPaperDO examPaperDO = examPaperRepository.getInfoByUUid(examPaperId); + if(examPaperDO == null){ + throw new BizException("试卷不存在"); + } + BigDecimal add = examPaperDO.getExamScore().add(bigDecimal); + examPaperDO.setExamScore(add); + examPaperRepository.updateById(examPaperDO); + BeanUtils.copyProperties(examPaperDO, examPaperCO); + } + return examPaperCO; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/TeacherAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherAddExe.java similarity index 79% rename from web-app/src/main/java/com/zcloud/edu/command/TeacherAddExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/TeacherAddExe.java index 097d4bf..771d5b5 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/TeacherAddExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherAddExe.java @@ -1,16 +1,15 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; -import com.zcloud.edu.domain.gateway.TeacherGateway; -import com.zcloud.edu.domain.model.TeacherE; -import com.zcloud.edu.domain.model.UserAddE; -import com.zcloud.edu.dto.TeacherAddCmd; +import com.zcloud.edu.domain.gateway.resource.TeacherGateway; +import com.zcloud.edu.domain.model.resource.TeacherE; +import com.zcloud.edu.domain.model.resource.UserAddE; +import com.zcloud.edu.dto.resource.TeacherAddCmd; import com.alibaba.cola.exception.BizException; import com.zcloud.edu.persistence.dataobject.TeacherDO; -import com.zcloud.edu.persistence.repository.TeacherRepository; +import com.zcloud.edu.persistence.repository.resource.TeacherRepository; import lombok.AllArgsConstructor; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; diff --git a/web-app/src/main/java/com/zcloud/edu/command/TeacherCertificateAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherCertificateAddExe.java similarity index 55% rename from web-app/src/main/java/com/zcloud/edu/command/TeacherCertificateAddExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/TeacherCertificateAddExe.java index 4665b65..b1cc948 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/TeacherCertificateAddExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherCertificateAddExe.java @@ -1,14 +1,19 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; -import com.zcloud.edu.domain.gateway.TeacherCertificateGateway; -import com.zcloud.edu.domain.model.TeacherCertificateE; -import com.zcloud.edu.dto.TeacherCertificateAddCmd; +import cn.hutool.core.collection.CollUtil; +import com.zcloud.edu.domain.gateway.resource.TeacherCertificateGateway; +import com.zcloud.edu.domain.model.resource.TeacherCertificateE; +import com.zcloud.edu.dto.resource.TeacherCertificateAddCmd; import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.persistence.dataobject.TeacherCertificateDO; +import com.zcloud.edu.persistence.repository.resource.TeacherCertificateRepository; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import java.util.List; + /** * web-app @@ -20,11 +25,18 @@ import org.springframework.transaction.annotation.Transactional; @AllArgsConstructor public class TeacherCertificateAddExe { private final TeacherCertificateGateway teacherCertificateGateway; + private final TeacherCertificateRepository teacherCertificateRepository; @Transactional(rollbackFor = Exception.class) public boolean execute(TeacherCertificateAddCmd cmd) { TeacherCertificateE teacherCertificateE = new TeacherCertificateE(); BeanUtils.copyProperties(cmd, teacherCertificateE); + //证书编号全局验证重复 + + List list = teacherCertificateRepository.getListByNumber(cmd.getVocationalCertificateNumber()); + if(CollUtil.isNotEmpty( list)){ + throw new BizException("该职业证书编号已存在"); + } boolean res = false; try { res = teacherCertificateGateway.add(teacherCertificateE); diff --git a/web-app/src/main/java/com/zcloud/edu/command/TeacherCertificateRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherCertificateRemoveExe.java similarity index 89% rename from web-app/src/main/java/com/zcloud/edu/command/TeacherCertificateRemoveExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/TeacherCertificateRemoveExe.java index 05b62ce..909ce10 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/TeacherCertificateRemoveExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherCertificateRemoveExe.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; -import com.zcloud.edu.domain.gateway.TeacherCertificateGateway; +import com.zcloud.edu.domain.gateway.resource.TeacherCertificateGateway; import com.alibaba.cola.exception.BizException; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; diff --git a/web-app/src/main/java/com/zcloud/edu/command/TeacherCertificateUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherCertificateUpdateExe.java similarity index 78% rename from web-app/src/main/java/com/zcloud/edu/command/TeacherCertificateUpdateExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/TeacherCertificateUpdateExe.java index 4ebb35d..a916777 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/TeacherCertificateUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherCertificateUpdateExe.java @@ -1,9 +1,9 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; import com.alibaba.cola.exception.BizException; -import com.zcloud.edu.domain.gateway.TeacherCertificateGateway; -import com.zcloud.edu.domain.model.TeacherCertificateE; -import com.zcloud.edu.dto.TeacherCertificateUpdateCmd; +import com.zcloud.edu.domain.gateway.resource.TeacherCertificateGateway; +import com.zcloud.edu.domain.model.resource.TeacherCertificateE; +import com.zcloud.edu.dto.resource.TeacherCertificateUpdateCmd; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; diff --git a/web-app/src/main/java/com/zcloud/edu/command/TeacherRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherRemoveExe.java similarity index 87% rename from web-app/src/main/java/com/zcloud/edu/command/TeacherRemoveExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/TeacherRemoveExe.java index 777cd6c..d488f45 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/TeacherRemoveExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherRemoveExe.java @@ -1,15 +1,15 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; import cn.hutool.core.collection.CollUtil; import com.alibaba.cola.dto.SingleResponse; -import com.zcloud.edu.domain.gateway.TeacherGateway; +import com.zcloud.edu.domain.gateway.resource.TeacherGateway; import com.alibaba.cola.exception.BizException; -import com.zcloud.edu.domain.model.TeacherE; +import com.zcloud.edu.domain.model.resource.TeacherE; import com.zcloud.edu.persistence.dataobject.TeacherDO; import com.zcloud.edu.persistence.dataobject.VideoCoursewareDO; -import com.zcloud.edu.persistence.repository.TeacherCertificateRepository; -import com.zcloud.edu.persistence.repository.TeacherRepository; -import com.zcloud.edu.persistence.repository.VideoCoursewareRepository; +import com.zcloud.edu.persistence.repository.resource.TeacherCertificateRepository; +import com.zcloud.edu.persistence.repository.resource.TeacherRepository; +import com.zcloud.edu.persistence.repository.resource.VideoCoursewareRepository; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; diff --git a/web-app/src/main/java/com/zcloud/edu/command/TeacherUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherUpdateExe.java similarity index 80% rename from web-app/src/main/java/com/zcloud/edu/command/TeacherUpdateExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/TeacherUpdateExe.java index 213f052..6c7b97b 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/TeacherUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/TeacherUpdateExe.java @@ -1,10 +1,10 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; import com.alibaba.cola.exception.BizException; -import com.zcloud.edu.domain.gateway.TeacherGateway; -import com.zcloud.edu.domain.model.TeacherE; -import com.zcloud.edu.dto.TeacherUpdateCmd; -import com.zcloud.edu.dto.TeacherUpdateStateCmd; +import com.zcloud.edu.domain.gateway.resource.TeacherGateway; +import com.zcloud.edu.domain.model.resource.TeacherE; +import com.zcloud.edu.dto.resource.TeacherUpdateCmd; +import com.zcloud.edu.dto.resource.TeacherUpdateStateCmd; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; diff --git a/web-app/src/main/java/com/zcloud/edu/command/TrainingTypeAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/TrainingTypeAddExe.java similarity index 81% rename from web-app/src/main/java/com/zcloud/edu/command/TrainingTypeAddExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/TrainingTypeAddExe.java index 9563c18..e37b8b9 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/TrainingTypeAddExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/TrainingTypeAddExe.java @@ -1,11 +1,11 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; -import com.zcloud.edu.domain.gateway.TrainingTypeGateway; -import com.zcloud.edu.domain.model.TrainingTypeE; -import com.zcloud.edu.dto.TrainingTypeAddCmd; +import com.zcloud.edu.domain.gateway.resource.TrainingTypeGateway; +import com.zcloud.edu.domain.model.resource.TrainingTypeE; +import com.zcloud.edu.dto.resource.TrainingTypeAddCmd; import com.alibaba.cola.exception.BizException; import com.zcloud.edu.persistence.dataobject.TrainingTypeDO; -import com.zcloud.edu.persistence.repository.TrainingTypeRepository; +import com.zcloud.edu.persistence.repository.resource.TrainingTypeRepository; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/TrainingTypeRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/TrainingTypeRemoveExe.java new file mode 100644 index 0000000..abe6326 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/TrainingTypeRemoveExe.java @@ -0,0 +1,62 @@ +package com.zcloud.edu.command.resource; + +import com.zcloud.edu.domain.gateway.resource.TrainingTypeGateway; +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.persistence.dataobject.TrainingTypeDO; +import com.zcloud.edu.persistence.repository.resource.CurriculumRepository; +import com.zcloud.edu.persistence.repository.resource.TrainingTypeRepository; +import com.zcloud.edu.persistence.repository.resource.VideoCoursewareRepository; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author SondonYong +* @Date 2025-11-26 15:04:07 +*/ +@Component +@AllArgsConstructor +public class TrainingTypeRemoveExe { + private final TrainingTypeGateway trainingTypeGateway; + private final VideoCoursewareRepository videoCoursewareRepository; + private final TrainingTypeRepository trainingTypeRepository; + private final CurriculumRepository curriculumRepository; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + // todo 校验是否有其他业务调用 + TrainingTypeDO trainingTypeDO = trainingTypeRepository.getById(id); + if(trainingTypeDO==null){ + return true; + } + Long count = videoCoursewareRepository.getListByTraingId(trainingTypeDO.getTrainingTypeId()); + if(count>0){ + throw new BizException("请先删除该培训类型下所有课件"); + } + Long countCurriculu =curriculumRepository.getListByTraingId(trainingTypeDO.getTrainingTypeId()); + if(countCurriculu>0){ + throw new BizException("请先删除该培训类型下所有课程"); + } + boolean res = trainingTypeGateway.deletedTrainingTypeById(id); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + // todo 校验是否有其他业务调用 + + boolean res = trainingTypeGateway.deletedTrainingTypeByIds(ids); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/TrainingTypeUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/TrainingTypeUpdateExe.java similarity index 79% rename from web-app/src/main/java/com/zcloud/edu/command/TrainingTypeUpdateExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/TrainingTypeUpdateExe.java index da3d4c4..ce33ad5 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/TrainingTypeUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/TrainingTypeUpdateExe.java @@ -1,11 +1,11 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; import com.alibaba.cola.exception.BizException; -import com.zcloud.edu.domain.gateway.TrainingTypeGateway; -import com.zcloud.edu.domain.model.TrainingTypeE; -import com.zcloud.edu.dto.TrainingTypeUpdateCmd; +import com.zcloud.edu.domain.gateway.resource.TrainingTypeGateway; +import com.zcloud.edu.domain.model.resource.TrainingTypeE; +import com.zcloud.edu.dto.resource.TrainingTypeUpdateCmd; import com.zcloud.edu.persistence.dataobject.TrainingTypeDO; -import com.zcloud.edu.persistence.repository.TrainingTypeRepository; +import com.zcloud.edu.persistence.repository.resource.TrainingTypeRepository; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; diff --git a/web-app/src/main/java/com/zcloud/edu/command/VideoCoursewareAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/VideoCoursewareAddExe.java similarity index 80% rename from web-app/src/main/java/com/zcloud/edu/command/VideoCoursewareAddExe.java rename to web-app/src/main/java/com/zcloud/edu/command/resource/VideoCoursewareAddExe.java index 0036dee..740a6ce 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/VideoCoursewareAddExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/VideoCoursewareAddExe.java @@ -1,8 +1,8 @@ -package com.zcloud.edu.command; +package com.zcloud.edu.command.resource; -import com.zcloud.edu.domain.gateway.VideoCoursewareGateway; -import com.zcloud.edu.domain.model.VideoCoursewareE; -import com.zcloud.edu.dto.VideoCoursewareAddCmd; +import com.zcloud.edu.domain.gateway.resource.VideoCoursewareGateway; +import com.zcloud.edu.domain.model.resource.VideoCoursewareE; +import com.zcloud.edu.dto.resource.VideoCoursewareAddCmd; import com.alibaba.cola.exception.BizException; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; @@ -21,8 +21,10 @@ import org.springframework.transaction.annotation.Transactional; public class VideoCoursewareAddExe { private final VideoCoursewareGateway videoCoursewareGateway; + @Transactional(rollbackFor = Exception.class) public boolean execute(VideoCoursewareAddCmd cmd) { + VideoCoursewareE videoCoursewareE = new VideoCoursewareE(); BeanUtils.copyProperties(cmd, videoCoursewareE); boolean res = false; diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/VideoCoursewareRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/VideoCoursewareRemoveExe.java new file mode 100644 index 0000000..5d3b5f3 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/VideoCoursewareRemoveExe.java @@ -0,0 +1,78 @@ +package com.zcloud.edu.command.resource; + +import com.zcloud.edu.domain.gateway.resource.VideoCoursewareGateway; +import com.alibaba.cola.exception.BizException; +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.VideoCoursewareRepository; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-11-27 14:05:32 + */ +@Component +@AllArgsConstructor +public class VideoCoursewareRemoveExe { + private final VideoCoursewareGateway videoCoursewareGateway; + private final VideoCoursewareRepository videoCoursewareRepository; + private final CorpInfoRepository corpInfoRepository; + private final CurriculumChapterRepository curriculumChapterRepository; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + VideoCoursewareDO videoCoursewareDOInfo = videoCoursewareRepository.getById(id); + //企业端禁用:所属单位为股份的不能禁用 + //股份端禁用:所属单位为各企业的不能禁用 + Boolean b = corpInfoRepository.checkSupper(videoCoursewareDOInfo.getCorpinfoId()); + if(corpInfoRepository.isSupper() && !b){ + throw new BizException("企业端数据不能删除"); + } + if(!corpInfoRepository.isSupper() && b){ + throw new BizException("股份端数据不能删除"); + } + // 被使用的课件不能删除 + Long count = curriculumChapterRepository.getListByVideoCoursewareId(videoCoursewareDOInfo.getVideoCoursewareId()); + if(count>0){ + throw new BizException("被使用的课件不能删除"); + } + boolean res = videoCoursewareGateway.deletedVideoCoursewareById(id); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + for (Long id : ids) { + VideoCoursewareDO videoCoursewareDOInfo = videoCoursewareRepository.getById(id); + //企业端禁用:所属单位为股份的不能禁用 + //股份端禁用:所属单位为各企业的不能禁用 + Boolean b = corpInfoRepository.checkSupper(videoCoursewareDOInfo.getCorpinfoId()); + if(corpInfoRepository.isSupper() && !b){ + throw new BizException("企业端数据不能删除"); + } + if(!corpInfoRepository.isSupper() && b){ + throw new BizException("股份端数据不能删除"); + } + // 被使用的课件不能删除 + Long count = curriculumChapterRepository.getListByVideoCoursewareId(videoCoursewareDOInfo.getVideoCoursewareId()); + if(count>0){ + throw new BizException("被使用的课件不能删除"); + } + } + boolean res = videoCoursewareGateway.deletedVideoCoursewareByIds(ids); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/resource/VideoCoursewareUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/resource/VideoCoursewareUpdateExe.java new file mode 100644 index 0000000..7af2e33 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/resource/VideoCoursewareUpdateExe.java @@ -0,0 +1,93 @@ +package com.zcloud.edu.command.resource; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.domain.enums.VideoCoursewareState; +import com.zcloud.edu.domain.gateway.resource.VideoCoursewareGateway; +import com.zcloud.edu.domain.model.resource.VideoCoursewareE; +import com.zcloud.edu.dto.resource.VideoCoursewareUpdateCmd; +import com.zcloud.edu.dto.resource.VideoCoursewareUpdateStateCmd; +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.QuestionRepository; +import com.zcloud.edu.persistence.repository.resource.VideoCoursewareRepository; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-11-27 14:05:33 + */ +@Component +@AllArgsConstructor +public class VideoCoursewareUpdateExe { + private final VideoCoursewareGateway videoCoursewareGateway; + private final QuestionRepository questionRepository; + private final VideoCoursewareRepository videoCoursewareRepository; + private final CorpInfoRepository corpInfoRepository; + private final CurriculumChapterRepository curriculumChapterRepository; + @Transactional(rollbackFor = Exception.class) + public void execute(VideoCoursewareUpdateCmd cmd) { + VideoCoursewareDO videoCoursewareDOInfo = videoCoursewareRepository.getById(cmd.getId()); + //企业端禁用:所属单位为股份的不能禁用 + //股份端禁用:所属单位为各企业的不能禁用 + Boolean b = corpInfoRepository.checkSupper(videoCoursewareDOInfo.getCorpinfoId()); + if(corpInfoRepository.isSupper() && !b){ + throw new BizException("企业端数据不能编辑"); + } + if(!corpInfoRepository.isSupper() && b){ + throw new BizException("股份端数据不能编辑"); + } + // 课件是否被使用 + Long count = curriculumChapterRepository.getListByVideoCoursewareId(videoCoursewareDOInfo.getVideoCoursewareId()); + if(count>0){ + throw new BizException("被使用的课件不能修改"); + } + + VideoCoursewareE videoCoursewareE = new VideoCoursewareE(); + BeanUtils.copyProperties(cmd, videoCoursewareE); + boolean res = videoCoursewareGateway.update(videoCoursewareE); + if (!res) { + throw new BizException("修改失败"); + } + } + + @Transactional(rollbackFor = Exception.class) + public void execute(VideoCoursewareUpdateStateCmd cmd) { + + VideoCoursewareDO videoCoursewareDOInfo = videoCoursewareRepository.getById(cmd.getId()); + if(videoCoursewareDOInfo==null){ + throw new BizException("课件信息不存在"); + } + if(VideoCoursewareState.UNENABLED.getCode().equals(cmd.getState())){ + //如果是启用,判断习题数量小于5 + Long count = questionRepository.getCountByVideoCourseware(videoCoursewareDOInfo.getVideoCoursewareId()); + if(count<5){ + throw new BizException("请添加5个以上习题"); + } + }else{ + //企业端禁用:所属单位为股份的不能禁用 + //股份端禁用:所属单位为各企业的不能禁用 + Boolean b = corpInfoRepository.checkSupper(videoCoursewareDOInfo.getCorpinfoId()); + if(corpInfoRepository.isSupper() && !b){ + throw new BizException("企业端数据不能禁用"); + } + if(!corpInfoRepository.isSupper() && b){ + throw new BizException("股份端数据不能禁用"); + } + } + + VideoCoursewareE videoCoursewareE = new VideoCoursewareE(); + BeanUtils.copyProperties(cmd, videoCoursewareE); + boolean res = videoCoursewareGateway.update(videoCoursewareE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/service/resource/CurriculumChapterServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/resource/CurriculumChapterServiceImpl.java new file mode 100644 index 0000000..9abe50a --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/service/resource/CurriculumChapterServiceImpl.java @@ -0,0 +1,59 @@ +package com.zcloud.edu.service.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.edu.api.resource.CurriculumChapterServiceI; +import com.zcloud.edu.command.resource.CurriculumChapterAddExe; +import com.zcloud.edu.command.resource.CurriculumChapterRemoveExe; +import com.zcloud.edu.command.resource.CurriculumChapterUpdateExe; +import com.zcloud.edu.command.query.resource.CurriculumChapterQueryExe; +import com.zcloud.edu.dto.resource.CurriculumChapterAddCmd; +import com.zcloud.edu.dto.resource.CurriculumChapterPageQry; +import com.zcloud.edu.dto.resource.CurriculumChapterUpdateCmd; +import com.zcloud.edu.dto.clientobject.resource.CurriculumChapterCO; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Service +@AllArgsConstructor +public class CurriculumChapterServiceImpl implements CurriculumChapterServiceI { + private final CurriculumChapterAddExe curriculumChapterAddExe; + private final CurriculumChapterUpdateExe curriculumChapterUpdateExe; + private final CurriculumChapterRemoveExe curriculumChapterRemoveExe; + private final CurriculumChapterQueryExe curriculumChapterQueryExe; + + @Override + public PageResponse listPage(CurriculumChapterPageQry qry) { + + return curriculumChapterQueryExe.execute(qry); + } + + @Override + public SingleResponse add(CurriculumChapterAddCmd cmd) { + + curriculumChapterAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(CurriculumChapterUpdateCmd curriculumChapterUpdateCmd) { + curriculumChapterUpdateExe.execute(curriculumChapterUpdateCmd); + } + + @Override + public void remove(Long id) { + curriculumChapterRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + curriculumChapterRemoveExe.execute(ids); + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/service/resource/CurriculumServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/resource/CurriculumServiceImpl.java new file mode 100644 index 0000000..51b182d --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/service/resource/CurriculumServiceImpl.java @@ -0,0 +1,70 @@ +package com.zcloud.edu.service.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.edu.api.resource.CurriculumServiceI; +import com.zcloud.edu.command.resource.CurriculumAddExe; +import com.zcloud.edu.command.resource.CurriculumRemoveExe; +import com.zcloud.edu.command.resource.CurriculumUpdateExe; +import com.zcloud.edu.command.query.resource.CurriculumQueryExe; +import com.zcloud.edu.dto.resource.CurriculumAddCmd; +import com.zcloud.edu.dto.resource.CurriculumPageQry; +import com.zcloud.edu.dto.resource.CurriculumUpdateCmd; +import com.zcloud.edu.dto.resource.CurriculumUpdateStateCmd; +import com.zcloud.edu.dto.clientobject.resource.CurriculumCO; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 13:45:39 + */ +@Service +@AllArgsConstructor +public class CurriculumServiceImpl implements CurriculumServiceI { + private final CurriculumAddExe curriculumAddExe; + private final CurriculumUpdateExe curriculumUpdateExe; + private final CurriculumRemoveExe curriculumRemoveExe; + private final CurriculumQueryExe curriculumQueryExe; + + @Override + public PageResponse listPage(CurriculumPageQry qry) { + + return curriculumQueryExe.execute(qry); + } + + @Override + public SingleResponse add(CurriculumAddCmd cmd) { + + curriculumAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(CurriculumUpdateCmd curriculumUpdateCmd) { + curriculumUpdateExe.execute(curriculumUpdateCmd); + } + + @Override + public void remove(Long id) { + curriculumRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + curriculumRemoveExe.execute(ids); + } + + @Override + public CurriculumCO getInfoById(Long id) { + return curriculumQueryExe.getInfoById(id); + } + + @Override + public void editState(CurriculumUpdateStateCmd cmd) { + curriculumUpdateExe.editState(cmd); + } +} + 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 new file mode 100644 index 0000000..ae49558 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/service/resource/ExamPaperServiceImpl.java @@ -0,0 +1,71 @@ +package com.zcloud.edu.service.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.edu.api.resource.ExamPaperServiceI; +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.clientobject.resource.ExamPaperCO; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +/** + * web-app + * + * @Author zhaokai + * @Date 2026-01-09 17:04:43 + */ +@Service +@AllArgsConstructor +public class ExamPaperServiceImpl implements ExamPaperServiceI { + private final ExamPaperAddExe examPaperAddExe; + private final ExamPaperUpdateExe examPaperUpdateExe; + private final ExamPaperRemoveExe examPaperRemoveExe; + private final ExamPaperQueryExe examPaperQueryExe; + + @Override + public PageResponse listPage(ExamPaperPageQry qry) { + + return examPaperQueryExe.execute(qry); + } + + @Override + public SingleResponse add(ExamPaperAddCmd cmd) { + + examPaperAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(MultipartFile file,ExamPaperUpdateCmd examPaperUpdateCmd) { + examPaperUpdateExe.execute(file,examPaperUpdateCmd); + } + + @Override + public void remove(Long id) { + examPaperRemoveExe.execute(id); + } + + @Override + public void removeBatch(ExamPaperRemoveCmd examPaperRemoveCmd) { + examPaperRemoveExe.execute(examPaperRemoveCmd); + } + + @Override + public ExamPaperCO getInfoById(Long id) { + return examPaperQueryExe.getInfoById(id); + } + + @Override + public void editSellFlag(ExamPaperUpdateCmd examPaperUpdateCmd) { + examPaperUpdateExe.editSellFlag(examPaperUpdateCmd); + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/service/QuestionServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/resource/QuestionServiceImpl.java similarity index 68% rename from web-app/src/main/java/com/zcloud/edu/service/QuestionServiceImpl.java rename to web-app/src/main/java/com/zcloud/edu/service/resource/QuestionServiceImpl.java index 6f667c7..e3ac372 100644 --- a/web-app/src/main/java/com/zcloud/edu/service/QuestionServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/edu/service/resource/QuestionServiceImpl.java @@ -1,16 +1,17 @@ -package com.zcloud.edu.service; +package com.zcloud.edu.service.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.api.QuestionServiceI; -import com.zcloud.edu.command.QuestionAddExe; -import com.zcloud.edu.command.QuestionRemoveExe; -import com.zcloud.edu.command.QuestionUpdateExe; -import com.zcloud.edu.command.query.QuestionQueryExe; -import com.zcloud.edu.dto.QuestionAddCmd; -import com.zcloud.edu.dto.QuestionPageQry; -import com.zcloud.edu.dto.QuestionListQry; -import com.zcloud.edu.dto.QuestionUpdateCmd; -import com.zcloud.edu.dto.clientobject.QuestionCO; +import com.zcloud.edu.api.resource.QuestionServiceI; +import com.zcloud.edu.command.resource.QuestionAddExe; +import com.zcloud.edu.command.resource.QuestionRemoveExe; +import com.zcloud.edu.command.resource.QuestionUpdateExe; +import com.zcloud.edu.command.query.resource.QuestionQueryExe; +import com.zcloud.edu.dto.resource.QuestionAddCmd; +import com.zcloud.edu.dto.resource.QuestionPageQry; +import com.zcloud.edu.dto.resource.QuestionListQry; +import com.zcloud.edu.dto.resource.QuestionUpdateCmd; +import com.zcloud.edu.dto.clientobject.resource.ExamPaperCO; +import com.zcloud.edu.dto.clientobject.resource.QuestionCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; @@ -72,5 +73,10 @@ public class QuestionServiceImpl implements QuestionServiceI { public void importQuestionVideoTable(MultipartFile file, String videoCoursewareId) { questionAddExe.importQuestionVideoTable(file, videoCoursewareId); } + + @Override + public ExamPaperCO editPaper(QuestionUpdateCmd cmd) { + return questionUpdateExe.editPaper(cmd); + } } diff --git a/web-app/src/main/java/com/zcloud/edu/service/TeacherCertificateServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/resource/TeacherCertificateServiceImpl.java similarity index 70% rename from web-app/src/main/java/com/zcloud/edu/service/TeacherCertificateServiceImpl.java rename to web-app/src/main/java/com/zcloud/edu/service/resource/TeacherCertificateServiceImpl.java index 8de355c..4cc713e 100644 --- a/web-app/src/main/java/com/zcloud/edu/service/TeacherCertificateServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/edu/service/resource/TeacherCertificateServiceImpl.java @@ -1,16 +1,16 @@ -package com.zcloud.edu.service; +package com.zcloud.edu.service.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.api.TeacherCertificateServiceI; -import com.zcloud.edu.command.TeacherCertificateAddExe; -import com.zcloud.edu.command.TeacherCertificateRemoveExe; -import com.zcloud.edu.command.TeacherCertificateUpdateExe; -import com.zcloud.edu.command.query.TeacherCertificateQueryExe; -import com.zcloud.edu.dto.TeacherCertificateAddCmd; -import com.zcloud.edu.dto.TeacherCertificatePageQry; -import com.zcloud.edu.dto.TeacherCertificateListQry; -import com.zcloud.edu.dto.TeacherCertificateUpdateCmd; -import com.zcloud.edu.dto.clientobject.TeacherCertificateCO; +import com.zcloud.edu.api.resource.TeacherCertificateServiceI; +import com.zcloud.edu.command.resource.TeacherCertificateAddExe; +import com.zcloud.edu.command.resource.TeacherCertificateRemoveExe; +import com.zcloud.edu.command.resource.TeacherCertificateUpdateExe; +import com.zcloud.edu.command.query.resource.TeacherCertificateQueryExe; +import com.zcloud.edu.dto.resource.TeacherCertificateAddCmd; +import com.zcloud.edu.dto.resource.TeacherCertificatePageQry; +import com.zcloud.edu.dto.resource.TeacherCertificateListQry; +import com.zcloud.edu.dto.resource.TeacherCertificateUpdateCmd; +import com.zcloud.edu.dto.clientobject.resource.TeacherCertificateCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; diff --git a/web-app/src/main/java/com/zcloud/edu/service/TeacherServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/resource/TeacherServiceImpl.java similarity index 76% rename from web-app/src/main/java/com/zcloud/edu/service/TeacherServiceImpl.java rename to web-app/src/main/java/com/zcloud/edu/service/resource/TeacherServiceImpl.java index c0aa50c..5add7ff 100644 --- a/web-app/src/main/java/com/zcloud/edu/service/TeacherServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/edu/service/resource/TeacherServiceImpl.java @@ -1,16 +1,16 @@ -package com.zcloud.edu.service; +package com.zcloud.edu.service.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.api.TeacherServiceI; -import com.zcloud.edu.command.TeacherAddExe; -import com.zcloud.edu.command.TeacherRemoveExe; -import com.zcloud.edu.command.TeacherUpdateExe; -import com.zcloud.edu.command.query.TeacherQueryExe; -import com.zcloud.edu.dto.*; +import com.zcloud.edu.api.resource.TeacherServiceI; +import com.zcloud.edu.command.resource.TeacherAddExe; +import com.zcloud.edu.command.resource.TeacherRemoveExe; +import com.zcloud.edu.command.resource.TeacherUpdateExe; +import com.zcloud.edu.command.query.resource.TeacherQueryExe; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; -import com.zcloud.edu.dto.clientobject.TeacherCO; +import com.zcloud.edu.dto.clientobject.resource.TeacherCO; +import com.zcloud.edu.dto.resource.*; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -40,7 +40,7 @@ public class TeacherServiceImpl implements TeacherServiceI { @Override public SingleResponse getInfoById(Long id) { - return teacherQueryExe.execute(id); + return teacherQueryExe.getInfoById(id); } @Override diff --git a/web-app/src/main/java/com/zcloud/edu/service/TrainingTypeServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/resource/TrainingTypeServiceImpl.java similarity index 70% rename from web-app/src/main/java/com/zcloud/edu/service/TrainingTypeServiceImpl.java rename to web-app/src/main/java/com/zcloud/edu/service/resource/TrainingTypeServiceImpl.java index 49292c8..788923a 100644 --- a/web-app/src/main/java/com/zcloud/edu/service/TrainingTypeServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/edu/service/resource/TrainingTypeServiceImpl.java @@ -1,19 +1,19 @@ -package com.zcloud.edu.service; +package com.zcloud.edu.service.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.api.TrainingTypeServiceI; -import com.zcloud.edu.command.TrainingTypeAddExe; -import com.zcloud.edu.command.TrainingTypeRemoveExe; -import com.zcloud.edu.command.TrainingTypeUpdateExe; -import com.zcloud.edu.command.query.TrainingTypeQueryExe; -import com.zcloud.edu.dto.TrainingTypeAddCmd; -import com.zcloud.edu.dto.TrainingTypeListQry; -import com.zcloud.edu.dto.TrainingTypePageQry; -import com.zcloud.edu.dto.TrainingTypeUpdateCmd; +import com.zcloud.edu.api.resource.TrainingTypeServiceI; +import com.zcloud.edu.command.resource.TrainingTypeAddExe; +import com.zcloud.edu.command.resource.TrainingTypeRemoveExe; +import com.zcloud.edu.command.resource.TrainingTypeUpdateExe; +import com.zcloud.edu.command.query.resource.TrainingTypeQueryExe; +import com.zcloud.edu.dto.resource.TrainingTypeAddCmd; +import com.zcloud.edu.dto.resource.TrainingTypeListQry; +import com.zcloud.edu.dto.resource.TrainingTypePageQry; +import com.zcloud.edu.dto.resource.TrainingTypeUpdateCmd; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; -import com.zcloud.edu.dto.clientobject.TrainingTypeCO; +import com.zcloud.edu.dto.clientobject.resource.TrainingTypeCO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; diff --git a/web-app/src/main/java/com/zcloud/edu/service/VideoCoursewareServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/resource/VideoCoursewareServiceImpl.java similarity index 76% rename from web-app/src/main/java/com/zcloud/edu/service/VideoCoursewareServiceImpl.java rename to web-app/src/main/java/com/zcloud/edu/service/resource/VideoCoursewareServiceImpl.java index a837791..0f8e931 100644 --- a/web-app/src/main/java/com/zcloud/edu/service/VideoCoursewareServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/edu/service/resource/VideoCoursewareServiceImpl.java @@ -1,16 +1,16 @@ -package com.zcloud.edu.service; +package com.zcloud.edu.service.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.api.VideoCoursewareServiceI; -import com.zcloud.edu.command.VideoCoursewareAddExe; -import com.zcloud.edu.command.VideoCoursewareRemoveExe; -import com.zcloud.edu.command.VideoCoursewareUpdateExe; -import com.zcloud.edu.command.query.VideoCoursewareQueryExe; -import com.zcloud.edu.dto.*; -import com.zcloud.edu.dto.clientobject.VideoCoursewareCO; +import com.zcloud.edu.api.resource.VideoCoursewareServiceI; +import com.zcloud.edu.command.resource.VideoCoursewareAddExe; +import com.zcloud.edu.command.resource.VideoCoursewareRemoveExe; +import com.zcloud.edu.command.resource.VideoCoursewareUpdateExe; +import com.zcloud.edu.command.query.resource.VideoCoursewareQueryExe; +import com.zcloud.edu.dto.clientobject.resource.VideoCoursewareCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.edu.dto.resource.*; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -40,7 +40,7 @@ public class VideoCoursewareServiceImpl implements VideoCoursewareServiceI { @Override public SingleResponse getInfoById(Long id) { - return videoCoursewareQueryExe.execute(id); + return videoCoursewareQueryExe.getInfoById(id); } @Override diff --git a/web-client/src/main/java/com/zcloud/edu/api/resource/CurriculumChapterServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/resource/CurriculumChapterServiceI.java new file mode 100644 index 0000000..8fa4db9 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/api/resource/CurriculumChapterServiceI.java @@ -0,0 +1,27 @@ +package com.zcloud.edu.api.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.edu.dto.resource.CurriculumChapterAddCmd; +import com.zcloud.edu.dto.resource.CurriculumChapterPageQry; +import com.zcloud.edu.dto.resource.CurriculumChapterUpdateCmd; +import com.zcloud.edu.dto.clientobject.resource.CurriculumChapterCO; + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +public interface CurriculumChapterServiceI { + PageResponse listPage(CurriculumChapterPageQry qry); + + SingleResponse add(CurriculumChapterAddCmd cmd); + + void edit(CurriculumChapterUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); +} + diff --git a/web-client/src/main/java/com/zcloud/edu/api/resource/CurriculumServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/resource/CurriculumServiceI.java new file mode 100644 index 0000000..24ebe9b --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/api/resource/CurriculumServiceI.java @@ -0,0 +1,32 @@ +package com.zcloud.edu.api.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.edu.dto.resource.CurriculumAddCmd; +import com.zcloud.edu.dto.resource.CurriculumPageQry; +import com.zcloud.edu.dto.resource.CurriculumUpdateCmd; +import com.zcloud.edu.dto.resource.CurriculumUpdateStateCmd; +import com.zcloud.edu.dto.clientobject.resource.CurriculumCO; + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 13:45:39 + */ +public interface CurriculumServiceI { + PageResponse listPage(CurriculumPageQry qry); + + SingleResponse add(CurriculumAddCmd cmd); + + void edit(CurriculumUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); + + CurriculumCO getInfoById(Long id); + + void editState(CurriculumUpdateStateCmd cmd); +} + 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 new file mode 100644 index 0000000..81e283e --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/api/resource/ExamPaperServiceI.java @@ -0,0 +1,33 @@ +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.clientobject.resource.ExamPaperCO; +import org.springframework.web.multipart.MultipartFile; + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 17:04:43 + */ +public interface ExamPaperServiceI { + PageResponse listPage(ExamPaperPageQry qry); + + SingleResponse add(ExamPaperAddCmd cmd); + + void edit(MultipartFile file,ExamPaperUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(ExamPaperRemoveCmd cmd); + + ExamPaperCO getInfoById(Long id); + + void editSellFlag(ExamPaperUpdateCmd examPaperUpdateCmd); +} + diff --git a/web-client/src/main/java/com/zcloud/edu/api/QuestionServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/resource/QuestionServiceI.java similarity index 63% rename from web-client/src/main/java/com/zcloud/edu/api/QuestionServiceI.java rename to web-client/src/main/java/com/zcloud/edu/api/resource/QuestionServiceI.java index df354a9..9519aa3 100644 --- a/web-client/src/main/java/com/zcloud/edu/api/QuestionServiceI.java +++ b/web-client/src/main/java/com/zcloud/edu/api/resource/QuestionServiceI.java @@ -1,11 +1,12 @@ -package com.zcloud.edu.api; +package com.zcloud.edu.api.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.dto.QuestionAddCmd; -import com.zcloud.edu.dto.QuestionPageQry; -import com.zcloud.edu.dto.QuestionListQry; -import com.zcloud.edu.dto.QuestionUpdateCmd; -import com.zcloud.edu.dto.clientobject.QuestionCO; +import com.zcloud.edu.dto.resource.QuestionAddCmd; +import com.zcloud.edu.dto.resource.QuestionPageQry; +import com.zcloud.edu.dto.resource.QuestionListQry; +import com.zcloud.edu.dto.resource.QuestionUpdateCmd; +import com.zcloud.edu.dto.clientobject.resource.ExamPaperCO; +import com.zcloud.edu.dto.clientobject.resource.QuestionCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; @@ -33,5 +34,7 @@ public interface QuestionServiceI { void removeBatch(Long[] ids); void importQuestionVideoTable(MultipartFile file, String videoCoursewareId); + + ExamPaperCO editPaper(QuestionUpdateCmd cmd); } diff --git a/web-client/src/main/java/com/zcloud/edu/api/TeacherCertificateServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/resource/TeacherCertificateServiceI.java similarity index 65% rename from web-client/src/main/java/com/zcloud/edu/api/TeacherCertificateServiceI.java rename to web-client/src/main/java/com/zcloud/edu/api/resource/TeacherCertificateServiceI.java index d51bb7e..afe5c44 100644 --- a/web-client/src/main/java/com/zcloud/edu/api/TeacherCertificateServiceI.java +++ b/web-client/src/main/java/com/zcloud/edu/api/resource/TeacherCertificateServiceI.java @@ -1,11 +1,11 @@ -package com.zcloud.edu.api; +package com.zcloud.edu.api.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.dto.TeacherCertificateAddCmd; -import com.zcloud.edu.dto.TeacherCertificatePageQry; -import com.zcloud.edu.dto.TeacherCertificateListQry; -import com.zcloud.edu.dto.TeacherCertificateUpdateCmd; -import com.zcloud.edu.dto.clientobject.TeacherCertificateCO; +import com.zcloud.edu.dto.resource.TeacherCertificateAddCmd; +import com.zcloud.edu.dto.resource.TeacherCertificatePageQry; +import com.zcloud.edu.dto.resource.TeacherCertificateListQry; +import com.zcloud.edu.dto.resource.TeacherCertificateUpdateCmd; +import com.zcloud.edu.dto.clientobject.resource.TeacherCertificateCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; diff --git a/web-client/src/main/java/com/zcloud/edu/api/TeacherServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/resource/TeacherServiceI.java similarity index 82% rename from web-client/src/main/java/com/zcloud/edu/api/TeacherServiceI.java rename to web-client/src/main/java/com/zcloud/edu/api/resource/TeacherServiceI.java index f2433e1..e111e0c 100644 --- a/web-client/src/main/java/com/zcloud/edu/api/TeacherServiceI.java +++ b/web-client/src/main/java/com/zcloud/edu/api/resource/TeacherServiceI.java @@ -1,11 +1,11 @@ -package com.zcloud.edu.api; +package com.zcloud.edu.api.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.dto.*; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; -import com.zcloud.edu.dto.clientobject.TeacherCO; +import com.zcloud.edu.dto.clientobject.resource.TeacherCO; +import com.zcloud.edu.dto.resource.*; /** * web-client diff --git a/web-client/src/main/java/com/zcloud/edu/api/TrainingTypeServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/resource/TrainingTypeServiceI.java similarity index 65% rename from web-client/src/main/java/com/zcloud/edu/api/TrainingTypeServiceI.java rename to web-client/src/main/java/com/zcloud/edu/api/resource/TrainingTypeServiceI.java index b8e2182..2c7cc9b 100644 --- a/web-client/src/main/java/com/zcloud/edu/api/TrainingTypeServiceI.java +++ b/web-client/src/main/java/com/zcloud/edu/api/resource/TrainingTypeServiceI.java @@ -1,14 +1,14 @@ -package com.zcloud.edu.api; +package com.zcloud.edu.api.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.dto.TrainingTypeAddCmd; -import com.zcloud.edu.dto.TrainingTypeListQry; -import com.zcloud.edu.dto.TrainingTypePageQry; -import com.zcloud.edu.dto.TrainingTypeUpdateCmd; +import com.zcloud.edu.dto.resource.TrainingTypeAddCmd; +import com.zcloud.edu.dto.resource.TrainingTypeListQry; +import com.zcloud.edu.dto.resource.TrainingTypePageQry; +import com.zcloud.edu.dto.resource.TrainingTypeUpdateCmd; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; -import com.zcloud.edu.dto.clientobject.TrainingTypeCO; +import com.zcloud.edu.dto.clientobject.resource.TrainingTypeCO; /** * web-client diff --git a/web-client/src/main/java/com/zcloud/edu/api/VideoCoursewareServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/resource/VideoCoursewareServiceI.java similarity index 83% rename from web-client/src/main/java/com/zcloud/edu/api/VideoCoursewareServiceI.java rename to web-client/src/main/java/com/zcloud/edu/api/resource/VideoCoursewareServiceI.java index e24d698..8bfe878 100644 --- a/web-client/src/main/java/com/zcloud/edu/api/VideoCoursewareServiceI.java +++ b/web-client/src/main/java/com/zcloud/edu/api/resource/VideoCoursewareServiceI.java @@ -1,11 +1,11 @@ -package com.zcloud.edu.api; +package com.zcloud.edu.api.resource; import com.alibaba.cola.dto.MultiResponse; -import com.zcloud.edu.dto.*; -import com.zcloud.edu.dto.clientobject.VideoCoursewareCO; +import com.zcloud.edu.dto.clientobject.resource.VideoCoursewareCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.edu.dto.resource.*; /** * web-client diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/TeacherPageQry.java deleted file mode 100644 index 2ac9185..0000000 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherPageQry.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.zcloud.edu.dto; - -import com.alibaba.cola.dto.PageQuery; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - - -/** - * web-client - * - * @Author SondonYong - * @Date 2025-11-26 17:04:44 - */ -@Data -public class TeacherPageQry extends PageQuery { - - /** - * 查询条件操作前缀,支持以下几种数据库查询操作: - * - `like`: 模糊匹配查询,对应SQL的LIKE操作符 - * - `eq`: 等值查询,对应SQL的=操作符 - * - `gt`: 大于比较查询 - * - `lt`: 小于比较查询 - * - `ge`: 大于等于比较查询 - * - `le`: 小于等于比较查询 - * - `ne`: 不等比较查询,对应SQL的!=操作符 - */ - @ApiModelProperty(name = "likeTeacherName", value = "教师名称") - private String likeTeacherName; - - @ApiModelProperty(name = "eqCorpinfoId", value = "企业ID") - private Long eqCorpinfoId; - - @ApiModelProperty(name = "qualificationType", value = "资格类型") - private String qualificationType; - - @ApiModelProperty(name = "corpFlag 监管端1,企业端2", value = "corpFlag", required = true) - @NotNull(message = "监管/企业标识不能为空") - private Integer corpFlag; -} - diff --git a/web-client/src/main/java/com/zcloud/edu/dto/UserAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/UserAddCmd.java deleted file mode 100644 index bc77504..0000000 --- a/web-client/src/main/java/com/zcloud/edu/dto/UserAddCmd.java +++ /dev/null @@ -1,181 +0,0 @@ -package com.zcloud.edu.dto; - -import com.alibaba.cola.dto.ClientObject; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.zcloud.gbscommon.translateaop.TranslateEunm; -import com.zcloud.gbscommon.translateaop.ZCloudTranslate; -import com.zcloud.gbscommon.translateaop.ZCloudTranslates; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; - - -/** - * web-client - * - * @Author zhangyue - * @Date 2025-11-04 14:07:33 - */ -@Data -public class UserAddCmd extends ClientObject { - - //GBS用户id - @ApiModelProperty(value = "GBS用户id") - private Long id; - //业务主键id老系统id - @ApiModelProperty(value = "业务主键id老系统id") - private String userId; - //登录账号 - @ApiModelProperty(value = "登录账号") - private String username; - //姓名 - @ApiModelProperty(value = "姓名") - private String name; - //企业id - @ApiModelProperty(value = "企业id") - private Long corpinfoId; - @ApiModelProperty(value = "企业名称") - private String corpinfoName; - //是否主账号1是0否 - @ApiModelProperty(value = "是否主账号1是0否") - private Integer mainCorpFlag; - //用户类型,1监管2企业3相关方 - @ApiModelProperty(value = "用户类型,1监管2企业3相关方") - private Integer userType; - //部门id - @ApiModelProperty(value = "部门id") - private Long departmentId; - //部门id - @ApiModelProperty(value = "部门名称") - private String departmentName; - //岗位id - @ApiModelProperty(value = "岗位id") - private Long postId; - //岗位id - @ApiModelProperty(value = "岗位名称") - private String postName; - //角色id - @ApiModelProperty(value = "角色id") - private Long roleId; - //邮箱 - @ApiModelProperty(value = "邮箱") - private String email; - //人员类型编码(主要负责人等) - @ApiModelProperty(value = "人员类型编码(主要负责人等)") - private String personnelType; - //人员类型翻译 - @ApiModelProperty(value = "人员类型翻译") - private String personnelTypeName; - //民族编码问一下有没有组件 - @ApiModelProperty(value = "民族编码问一下有没有组件") - private String nation; - //民族名称 - @ApiModelProperty(value = "民族名称") - private String nationName; - //身份证号 - @ApiModelProperty(value = "身份证号") - private String userIdCard; - //人脸头像url - @ApiModelProperty(value = "人脸头像url") - private String userAvatarUrl; - //现住址 - @ApiModelProperty(value = "现住址") - private String currentAddress; - //户口所在地 - @ApiModelProperty(value = "户口所在地") - private String locationAddress; - - @ApiModelProperty(value = "职级") - private String rankLevel; - @ApiModelProperty(value = "职级名称") - private String rankLevelName; - @ApiModelProperty(value = "手机号") - private String phone; - //人员在部门中的排序 - @ApiModelProperty(value = "人员在部门中的排序") - private Integer sort; - //乐观锁 - @ApiModelProperty(value = "乐观锁") - private Integer version; - //创建人 - @ApiModelProperty(value = "创建人") - private Long createId; - //创建人姓名 - @ApiModelProperty(value = "创建人姓名") - private String createName; - //创建时间 - @ApiModelProperty(value = "创建时间") - @JsonFormat(pattern = "yyyy-MM-dd") - private Date createTime; - //更新人 - @ApiModelProperty(value = "更新人") - private Long updateId; - //修改人名称 - @ApiModelProperty(value = "修改人名称") - private String updateName; - //更新时间 - @ApiModelProperty(value = "更新时间") - @JsonFormat(pattern = "yyyy-MM-dd") - private Date updateTime; - //描述 - @ApiModelProperty(value = "描述") - private String remarks; - //是否删除 - @ApiModelProperty(value = "是否删除") - private String deleteEnum; - //租户ID - @ApiModelProperty(value = "租户ID") - private Long tenantId; - //机构ID - @ApiModelProperty(value = "机构ID") - private Long orgId; - //环境 - @ApiModelProperty(value = "环境") - private String env; - //是否部门领导0否1是 - @ApiModelProperty(value = "是否部门领导0否1是") - private Integer departmentLeaderFlag; - //是否分管领导0否1是 - @ApiModelProperty(value = "是否分管领导0否1是") - private Integer deputyLeaderFlag; - //文化程度 数据字典 - @ApiModelProperty(value = "文化程度 数据字典") - private String culturalLevel; - //文化程度名称 - @ApiModelProperty(value = "文化程度名称") - private String culturalLevelName; - //婚姻状态 - @ApiModelProperty(value = "婚姻状态") - private String maritalStatus; - //婚姻状态名称 - @ApiModelProperty(value = "婚姻状态名称") - private String maritalStatusName; - //政治面貌 - @ApiModelProperty(value = "政治面貌") - private String politicalAffiliation; - //政治面貌名称 - @ApiModelProperty(value = "政治面貌名称") - private String politicalAffiliationName; - private String mappingName; - private String mappingUserName; - private String mappingPostName; - private String mappingDeptName; - // 入职状态 - @ApiModelProperty(value = "入职状态") - private Integer employmentFlag; - - - // 年龄 - @ApiModelProperty(value = "年龄") - private Integer age; - - //生日 - @ApiModelProperty(value = "生日") - private String birthday; - - // 性别 - @ApiModelProperty(value = "性别") - private String sex; -} - 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 new file mode 100644 index 0000000..c189764 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumCO.java @@ -0,0 +1,64 @@ +package com.zcloud.edu.dto.clientobject.resource; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Data +public class CurriculumCO { + private Long id; + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String curriculumId; + //企业ID + @ApiModelProperty(value = "企业ID") + private Long corpinfoId; + //课程名称 + @ApiModelProperty(value = "课程名称") + private String curriculumName; + //培训类型id + @ApiModelProperty(value = "培训类型id") + private String trainingTypeId; + //课程描述 + @ApiModelProperty(value = "课程描述") + private String curriculumIntroduce; + //封面路径url + @ApiModelProperty(value = "封面路径url") + private String coverPath; + + //课程状态 1-上架 0-下架 + @ApiModelProperty(value = "课程状态 1-上架 0-下架") + private Integer sellFlag; + //目录级别 1-一级目录 2-二级目录 + @ApiModelProperty(value = "目录级别 1-一级目录 2-二级目录") + private Integer catalogueLevel; + @ApiModelProperty(value = "创建人id") + private Long createId; + + @ApiModelProperty(value = "企业名称") + private String corpName; + + @ApiModelProperty(value = "培训类型名称") + private String trainingTypeName; + + @ApiModelProperty(value = "课件数量") + private Integer chapterCount; + //总视频时长 + @ApiModelProperty(value = "总视频时长") + private Integer videoTime; + + @ApiModelProperty(value = "是否是当前用户创建的数据") + private Boolean isUserCreate = false; + + @ApiModelProperty(value = "课程目录") + private List curriculumChapterCOList; +} + 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 new file mode 100644 index 0000000..2125ea8 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/CurriculumChapterCO.java @@ -0,0 +1,42 @@ +package com.zcloud.edu.dto.clientobject.resource; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Data +public class CurriculumChapterCO { + //主键 + @ApiModelProperty(value = "主键") + private Long id; + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String curriculumChapterId; + //企业ID + @ApiModelProperty(value = "企业ID") + private Long corpinfoId; + //课程id + @ApiModelProperty(value = "课程id") + private String curriculumId; + //章节名字 + @ApiModelProperty(value = "章节名字") + private String name; + //视频课件id + @ApiModelProperty(value = "视频课件id") + private String videoCoursewareId; + //上级ID + @ApiModelProperty(value = "上级ID") + private String parentId; + + @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 new file mode 100644 index 0000000..4c28958 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/ExamPaperCO.java @@ -0,0 +1,71 @@ +package com.zcloud.edu.dto.clientobject.resource; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Data +public class ExamPaperCO { + private Long id; + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String examPaperId; + //企业ID + @ApiModelProperty(value = "企业ID") + private Long corpinfoId; + //试卷名称 + @ApiModelProperty(value = "试卷名称") + private String examName; + //试卷总分数 + @ApiModelProperty(value = "试卷总分数") + private BigDecimal examScore; + //合格分数 + @ApiModelProperty(value = "合格分数") + private BigDecimal passScore; + //是否上架(0否 1是) + @ApiModelProperty(value = "是否上架(0否 1是)") + private Integer sellFlag; + //考试时长(分钟) + @ApiModelProperty(value = "考试时长(分钟)") + private String examTime; + //试卷类型 1-自建试卷 2-班级中自动生成试卷 + @ApiModelProperty(value = "试卷类型 1-自建试卷 2-班级中自动生成试卷") + private Integer type; + + //备注 + @ApiModelProperty(value = "备注") + private String remarks; + //创建人姓名 + @ApiModelProperty(value = "创建人姓名") + private String createName; + + //创建时间 + @ApiModelProperty(value = "创建时间") + private LocalDateTime createTime; + + + + @ApiModelProperty(value = "企业名称") + private String corpName; + @ApiModelProperty(value = "企业类型(0-普通企业,1-集团单位,2-股份单位,3-相关方企业,4-货主单位,5-驻港单位, 6-物资中心)") + private Integer corpType; + + @ApiModelProperty(value = "创建人id") + private Long createId; + + @ApiModelProperty(value = "是否是当前用户创建的数据") + private Boolean isUserCreate = false; + + private List questionCOList; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/QuestionCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/QuestionCO.java similarity index 86% rename from web-client/src/main/java/com/zcloud/edu/dto/clientobject/QuestionCO.java rename to web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/QuestionCO.java index 28224a3..2878571 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/QuestionCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/QuestionCO.java @@ -1,12 +1,10 @@ -package com.zcloud.edu.dto.clientobject; +package com.zcloud.edu.dto.clientobject.resource; import com.alibaba.cola.dto.ClientObject; import io.swagger.annotations.ApiModelProperty; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; -import java.time.LocalDateTime; -import java.time.LocalDate; +import java.math.BigDecimal; /** * web-client @@ -31,9 +29,8 @@ public class QuestionCO extends ClientObject { private String examPaperId; //题号 - @ApiModelProperty(value = "题号") - - private Integer questionNumber; +// @ApiModelProperty(value = "题号") +// private Integer questionNumber; //试题类型(单选题、多选题、判断题、填空题) @ApiModelProperty(value = "试题类型(1单选题、2多选题、3判断题)") @@ -73,5 +70,5 @@ public class QuestionCO extends ClientObject { //分值 @ApiModelProperty(value = "分值") - private String score; + private BigDecimal score; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/TeacherCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/TeacherCO.java similarity index 68% rename from web-client/src/main/java/com/zcloud/edu/dto/clientobject/TeacherCO.java rename to web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/TeacherCO.java index 8af8f5e..90d40ea 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/TeacherCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/TeacherCO.java @@ -1,13 +1,11 @@ -package com.zcloud.edu.dto.clientobject; +package com.zcloud.edu.dto.clientobject.resource; import com.alibaba.cola.dto.ClientObject; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.time.LocalDateTime; -import java.time.LocalDate; import java.util.List; /** @@ -20,72 +18,44 @@ import java.util.List; public class TeacherCO extends ClientObject { //教师id @ApiModelProperty(value = "教师id") - private Long id; //业务主键id @ApiModelProperty(value = "业务主键id") - private String teacherId; //用户id @ApiModelProperty(value = "用户id") - private Long userId; //企业ID @ApiModelProperty(value = "企业ID") - private Long corpinfoId; //教师姓名 @ApiModelProperty(value = "教师姓名") - private String teacherName; - //手机号 - @ApiModelProperty(value = "手机号") - - private String phone; - //身份证号 - @ApiModelProperty(value = "身份证号") - - private String identityNumber; - //文化程度 - @ApiModelProperty(value = "文化程度") - - private String educationLevel; - //文化程度名称 - @ApiModelProperty(value = "文化程度名称") - - private String educationLevelName; //专业 @ApiModelProperty(value = "专业") - private String profession; //工作年限 @ApiModelProperty(value = "工作年限") - private Integer workyear; //考核部门 @ApiModelProperty(value = "考核部门") - private String assessmentDepartment; //考核时间 @ApiModelProperty(value = "考核时间") - - @JsonFormat(pattern = "yyyy-MM-dd") - private LocalDate assessmentTime; + private LocalDateTime assessmentTime; //考核结果 @ApiModelProperty(value = "考核结果") - private String assessmentResult; //状态(0-禁用 1-启用)(老项目0启用,1禁用) - @ApiModelProperty(value = "状态(0-禁用 1-启用)") - + @ApiModelProperty(value = "状态(0-禁用 1-启用)(老项目0启用,1禁用)") private Integer state; @ApiModelProperty(value = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; - @ApiModelProperty(value = "资质类型名称") - private String qualificationTypeNames; + @ApiModelProperty(value = "证书数量") + private Integer certificateCount; @ApiModelProperty(value = "单位名称") private String corpinfoName; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/TeacherCertificateCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/TeacherCertificateCO.java similarity index 89% rename from web-client/src/main/java/com/zcloud/edu/dto/clientobject/TeacherCertificateCO.java rename to web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/TeacherCertificateCO.java index 33a1737..8884634 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/TeacherCertificateCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/TeacherCertificateCO.java @@ -1,11 +1,10 @@ -package com.zcloud.edu.dto.clientobject; +package com.zcloud.edu.dto.clientobject.resource; import com.alibaba.cola.dto.ClientObject; import io.swagger.annotations.ApiModelProperty; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; -import java.time.LocalDateTime; import java.time.LocalDate; /** @@ -52,10 +51,7 @@ public class TeacherCertificateCO extends ClientObject { @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate certificateDateEnd; - //证书照片 - @ApiModelProperty(value = "证书照片") - private String certificateFilepath; //企业ID @ApiModelProperty(value = "企业ID") diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/TrainingTypeCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/TrainingTypeCO.java similarity index 97% rename from web-client/src/main/java/com/zcloud/edu/dto/clientobject/TrainingTypeCO.java rename to web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/TrainingTypeCO.java index ded7edd..320f8d1 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/TrainingTypeCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/TrainingTypeCO.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto.clientobject; +package com.zcloud.edu.dto.clientobject.resource; import com.alibaba.cola.dto.ClientObject; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/VideoCoursewareCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/VideoCoursewareCO.java similarity index 67% rename from web-client/src/main/java/com/zcloud/edu/dto/clientobject/VideoCoursewareCO.java rename to web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/VideoCoursewareCO.java index 2fd9324..4ceeb55 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/VideoCoursewareCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/resource/VideoCoursewareCO.java @@ -1,73 +1,66 @@ -package com.zcloud.edu.dto.clientobject; +package com.zcloud.edu.dto.clientobject.resource; import com.alibaba.cola.dto.ClientObject; import io.swagger.annotations.ApiModelProperty; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; -import java.time.LocalDateTime; -import java.time.LocalDate; /** * web-client * - * @Author SondonYong - * @Date 2025-11-27 14:05:31 + * @Author zhaokai + * @Date 2026-01-08 14:36:21 */ @Data public class VideoCoursewareCO extends ClientObject { //id @ApiModelProperty(value = "id") private Long id; - //业务主键id @ApiModelProperty(value = "业务主键id") private String videoCoursewareId; - //企业ID @ApiModelProperty(value = "企业ID") private Long corpinfoId; - - @ApiModelProperty(value = "企业名称") - private String corpName; - //课件名称 @ApiModelProperty(value = "课件名称") private String coursewareName; - //培训类型id @ApiModelProperty(value = "培训类型id") private String trainingTypeId; - - //培训类型名称 - @ApiModelProperty(value = "培训类型名称") - private String trainingTypeName; - //教师id @ApiModelProperty(value = "教师id") private String teacherId; - - @ApiModelProperty(value = "教师名称") - private String teacherName; - //课件文件路径 @ApiModelProperty(value = "课件文件路径") private String videoFiles; - //课件描述 @ApiModelProperty(value = "课件描述") private String coursewareIntroduce; - //课件状态 0未启用, 1-启用 @ApiModelProperty(value = "课件状态 0未启用, 1-启用") private Integer state; + //课件时长(视频时间)-秒 + @ApiModelProperty(value = "课件时长(视频时间)-秒") + private Integer videoTime; + @ApiModelProperty(value = "课件截图url") + private String screenshotUrl; - //学时,单位分钟 - @ApiModelProperty(value = "学时,单位分钟") - private String classHour; + //备注 + @ApiModelProperty(value = "备注") + private String remarks; + @ApiModelProperty(value = "创建人id") + private Long createId; - //课件时长(视频时间)-分钟 - @ApiModelProperty(value = "课件时长(视频时间)-分钟") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime videoTime; + @ApiModelProperty(value = "企业名称") + private String corpName; + @ApiModelProperty(value = "教师名称") + private String teacherName; + @ApiModelProperty(value = "培训类型名称") + private String trainingTypeName; + @ApiModelProperty(value = "企业类型") + private Integer corpType; + @ApiModelProperty(value = "是否是当前用户创建的数据") + private Boolean isUserCreate = false; } + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumAddCmd.java new file mode 100644 index 0000000..c456630 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumAddCmd.java @@ -0,0 +1,53 @@ +package com.zcloud.edu.dto.resource; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CurriculumAddCmd { + + + @ApiModelProperty(value = "课程名称", name = "curriculumName", required = true) + @NotEmpty(message = "课程名称不能为空") + private String curriculumName; + + @ApiModelProperty(value = "培训类型id", name = "trainingTypeId", required = true) + @NotEmpty(message = "培训类型不能为空") + private String trainingTypeId; + + @ApiModelProperty(value = "课程描述", name = "curriculumIntroduce", required = true) + @NotEmpty(message = "课程描述不能为空") + private String curriculumIntroduce; + + @ApiModelProperty(value = "封面路径url", name = "coverPath", required = true) + @NotEmpty(message = "封面路径url不能为空") + private String coverPath; + + + @ApiModelProperty(value = "课程状态 1-上架 0-下架", name = "sellFlag", required = true) + @NotNull(message = "课程状态不能为空") + private Integer sellFlag; + + @ApiModelProperty(value = "目录级别 1-一级目录 2-二级目录", name = "catalogueLevel", required = true) + @NotNull(message = "目录级别不能为空") + private Integer catalogueLevel; + + @ApiModelProperty(value = "目录课件", name = "catalogueLevel", required = true) + private List curriculumChapterAddCmdList; + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterAddCmd.java new file mode 100644 index 0000000..fc6c18c --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterAddCmd.java @@ -0,0 +1,39 @@ +package com.zcloud.edu.dto.resource; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import java.util.List; + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CurriculumChapterAddCmd { + + + @ApiModelProperty(value = "章节名字", name = "name", required = true) + @NotEmpty(message = "章节名字不能为空") + private String name; + + @ApiModelProperty(value = "视频课件id", name = "videoCoursewareId", required = true) + private String videoCoursewareId; + + @ApiModelProperty(value = "排序", name = "sort", required = true) + private Integer sort; + + @ApiModelProperty(value = "上级ID", name = "parentId", required = true) + private String parentId; + + @ApiModelProperty(value = "目录课件", name = "catalogueLevel", required = true) + private List curriculumChapterAddCmdList; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterPageQry.java new file mode 100644 index 0000000..ac0a700 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterPageQry.java @@ -0,0 +1,28 @@ +package com.zcloud.edu.dto.resource; + +import com.alibaba.cola.dto.PageQuery; +import lombok.Data; + + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Data +public class CurriculumChapterPageQry extends PageQuery { + + /** + * 查询条件操作前缀,支持以下几种数据库查询操作: + * - `like`: 模糊匹配查询,对应SQL的LIKE操作符 + * - `eq`: 等值查询,对应SQL的=操作符 + * - `gt`: 大于比较查询 + * - `lt`: 小于比较查询 + * - `ge`: 大于等于比较查询 + * - `le`: 小于等于比较查询 + * - `ne`: 不等比较查询,对应SQL的!=操作符 + */ + private String likeCurriculumChapterId; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterUpdateCmd.java new file mode 100644 index 0000000..8496e6a --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumChapterUpdateCmd.java @@ -0,0 +1,49 @@ +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; + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CurriculumChapterUpdateCmd extends Command { + @ApiModelProperty(value = "主键", name = "id", required = true) + @NotNull(message = "主键不能为空") + private Long id; + @ApiModelProperty(value = "业务主键id", name = "curriculumChapterId", required = true) + @NotEmpty(message = "业务主键id不能为空") + private String curriculumChapterId; + @ApiModelProperty(value = "企业ID", name = "corpinfoId", required = true) + @NotNull(message = "企业ID不能为空") + private Long corpinfoId; + @ApiModelProperty(value = "课程id", name = "curriculumId", required = true) + @NotEmpty(message = "课程id不能为空") + private String curriculumId; + @ApiModelProperty(value = "章节名字", name = "name", required = true) + @NotEmpty(message = "章节名字不能为空") + private String name; + @ApiModelProperty(value = "视频课件id", name = "videoCoursewareId", required = true) + @NotEmpty(message = "视频课件id不能为空") + private String videoCoursewareId; + @ApiModelProperty(value = "排序", name = "sort", required = true) + @NotNull(message = "排序不能为空") + private Integer sort; + @ApiModelProperty(value = "上级ID", name = "parentId", required = true) + @NotEmpty(message = "上级ID不能为空") + private String parentId; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumPageQry.java new file mode 100644 index 0000000..656b727 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumPageQry.java @@ -0,0 +1,44 @@ +package com.zcloud.edu.dto.resource; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Data +public class CurriculumPageQry extends PageQuery { + + /** + * 查询条件操作前缀,支持以下几种数据库查询操作: + * - `like`: 模糊匹配查询,对应SQL的LIKE操作符 + * - `eq`: 等值查询,对应SQL的=操作符 + * - `gt`: 大于比较查询 + * - `lt`: 小于比较查询 + * - `ge`: 大于等于比较查询 + * - `le`: 小于等于比较查询 + * - `ne`: 不等比较查询,对应SQL的!=操作符 + */ + @ApiModelProperty(value = "企业id", name = "corpinfoId") + private Long corpinfoId; + //课程名称 + @ApiModelProperty(value = "课程名称", name = "curriculumName") + private String curriculumName; + //培训id + @ApiModelProperty(value = "培训类型id", name = "trainingTypeId") + private String trainingTypeId; + //课程状态 1-上架 0-下架 + @ApiModelProperty(value = "课程状态 1-上架 0-下架", name = "sellFlag") + private Integer sellFlag; + //上传开始时间,结束时间 + @ApiModelProperty(value = "上传开始时间", name = "uploadStartTime") + private String uploadStartTime; + @ApiModelProperty(value = "上传结束时间", name = "uploadEndTime") + private String uploadEndTime; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumUpdateCmd.java new file mode 100644 index 0000000..2508bc6 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumUpdateCmd.java @@ -0,0 +1,49 @@ +package com.zcloud.edu.dto.resource; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 13:45:39 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CurriculumUpdateCmd { + @ApiModelProperty(value = "id", name = "id", required = true) + @NotNull(message = "id不能为空") + private Long id; + @ApiModelProperty(value = "业务主键id", name = "curriculumId", required = true) + private String curriculumId; + @ApiModelProperty(value = "课程名称", name = "curriculumName", required = true) + @NotEmpty(message = "课程名称不能为空") + private String curriculumName; + @ApiModelProperty(value = "培训类型id", name = "trainingTypeId", required = true) + @NotEmpty(message = "培训类型id不能为空") + private String trainingTypeId; + @ApiModelProperty(value = "课程描述", name = "curriculumIntroduce", required = true) + @NotEmpty(message = "课程描述不能为空") + private String curriculumIntroduce; + @ApiModelProperty(value = "封面路径url", name = "coverPath", required = true) + @NotEmpty(message = "封面路径url不能为空") + private String coverPath; + + @ApiModelProperty(value = "课程状态 1-上架 0-下架", name = "sellFlag", required = true) + @NotNull(message = "课程状态 1-上架 0-下架不能为空") + private Integer sellFlag; + @ApiModelProperty(value = "目录级别 1-一级目录 2-二级目录", name = "catalogueLevel", required = true) + @NotNull(message = "目录级别 1-一级目录 2-二级目录不能为空") + private Integer catalogueLevel; + @ApiModelProperty(value = "目录课件", name = "catalogueLevel", required = true) + private List curriculumChapterAddCmdList; +} + 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 new file mode 100644 index 0000000..63c768f --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/CurriculumUpdateStateCmd.java @@ -0,0 +1,31 @@ +package com.zcloud.edu.dto.resource; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-11-27 14:05:32 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CurriculumUpdateStateCmd { + + @ApiModelProperty(value = "id", name = "id", required = true) + @NotNull(message = "id不能为空") + private List id; + + @ApiModelProperty(value = "课程状态 1-上架 0-下架", name = "state", required = true) + @NotNull(message = "课程状态不能为空") + private Integer sellFlag; + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperAddCmd.java new file mode 100644 index 0000000..ebe35da --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperAddCmd.java @@ -0,0 +1,53 @@ +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; + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ExamPaperAddCmd { + + + @ApiModelProperty(value = "试卷名称", name = "examName", required = true) + @NotEmpty(message = "试卷名称不能为空") + private String examName; + + @ApiModelProperty(value = "试卷总分数", name = "examScore", required = true) + @NotEmpty(message = "试卷总分数不能为空") + private BigDecimal examScore; + + @ApiModelProperty(value = "合格分数", name = "passScore", required = true) + @NotEmpty(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) + @NotEmpty(message = "考试时长(分钟)不能为空") + private String examTime; + + @ApiModelProperty(value = "试卷类型 1-自建试卷 2-班级中自动生成试卷", name = "type", required = true) + @NotNull(message = "试卷类型 1-自建试卷 2-班级中自动生成试卷不能为空") + private Integer type; + @ApiModelProperty(value = "试题文件", name = "file", required = true) + @NotNull(message = "试题文件不能为空") + private MultipartFile file; + +} + 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 new file mode 100644 index 0000000..f619a4a --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperPageQry.java @@ -0,0 +1,42 @@ +package com.zcloud.edu.dto.resource; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Data +public class ExamPaperPageQry extends PageQuery { + + /** + * 查询条件操作前缀,支持以下几种数据库查询操作: + * - `like`: 模糊匹配查询,对应SQL的LIKE操作符 + * - `eq`: 等值查询,对应SQL的=操作符 + * - `gt`: 大于比较查询 + * - `lt`: 小于比较查询 + * - `ge`: 大于等于比较查询 + * - `le`: 小于等于比较查询 + * - `ne`: 不等比较查询,对应SQL的!=操作符 + */ + @ApiModelProperty(value = "试卷名称") + private String examPaperName; + @ApiModelProperty(value = "试卷总分数") + private String examScore; + @ApiModelProperty(value = "及格分数") + private String passScore; + @ApiModelProperty(value = "是否上架(0否 1是)") + private Integer sellFlag; + //上传开始时间 + @ApiModelProperty(value = "上传开始时间") + private String uploadStartTime; + //上传结束时间 + @ApiModelProperty(value = "上传结束时间") + private String uploadEndTime; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewarePageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperRemoveCmd.java similarity index 55% rename from web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewarePageQry.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperRemoveCmd.java index d2cec51..9bc02ef 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewarePageQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperRemoveCmd.java @@ -1,18 +1,19 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; -import com.alibaba.cola.dto.PageQuery; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * web-client * - * @Author SondonYong - * @Date 2025-11-27 14:05:32 + * @Author zhaokai + * @Date 2026-01-09 17:04:42 */ @Data -public class VideoCoursewarePageQry extends PageQuery { +public class ExamPaperRemoveCmd { /** * 查询条件操作前缀,支持以下几种数据库查询操作: @@ -24,14 +25,8 @@ public class VideoCoursewarePageQry extends PageQuery { * - `le`: 小于等于比较查询 * - `ne`: 不等比较查询,对应SQL的!=操作符 */ + @ApiModelProperty(value = "试卷id list") + private List id; - @ApiModelProperty(value = "课件名称") - private String likeCoursewareName; - - @ApiModelProperty(value = "培训类型") - private String eqTrainingTypeId; - - @ApiModelProperty(value = "启用:1, 禁用:0") - private Integer eqState; } 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 new file mode 100644 index 0000000..2ee8787 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperUpdateCmd.java @@ -0,0 +1,50 @@ +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 zhaokai + * @Date 2026-01-09 17:04:43 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ExamPaperUpdateCmd extends Command { + @ApiModelProperty(value = "主键", name = "id", required = true) + @NotNull(message = "主键不能为空") + private Long id; + @ApiModelProperty(value = "业务主键id", name = "examPaperId", required = true) + private String examPaperId; + + @ApiModelProperty(value = "试卷名称", name = "examName", required = true) + @NotEmpty(message = "试卷名称不能为空") + private String examName; + @ApiModelProperty(value = "试卷总分数", name = "examScore", required = true) + @NotEmpty(message = "试卷总分数不能为空") + private BigDecimal examScore; + @ApiModelProperty(value = "合格分数", name = "passScore", required = true) + @NotEmpty(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) + @NotEmpty(message = "考试时长(分钟)不能为空") + private String examTime; + @ApiModelProperty(value = "试卷类型 1-自建试卷 2-班级中自动生成试卷", name = "type", required = true) + @NotNull(message = "试卷类型 1-自建试卷 2-班级中自动生成试卷不能为空") + private Integer type; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperUpdateSellFlagCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperUpdateSellFlagCmd.java new file mode 100644 index 0000000..0ef13a9 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/ExamPaperUpdateSellFlagCmd.java @@ -0,0 +1,29 @@ +package com.zcloud.edu.dto.resource; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-09 17:04:43 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ExamPaperUpdateSellFlagCmd { + @ApiModelProperty(value = "主键", name = "id", required = true) + @NotNull(message = "id不能为空") + private Long id; + + @ApiModelProperty(value = "是否上架(0否 1是)", name = "sellFlag", required = true) + @NotNull(message = "是否上架(0否 1是)不能为空") + private Integer sellFlag; + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/QuestionAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionAddCmd.java similarity index 95% rename from web-client/src/main/java/com/zcloud/edu/dto/QuestionAddCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionAddCmd.java index 98ca4b0..2422c8c 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/QuestionAddCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionAddCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; @@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import javax.validation.constraints.*; +import java.math.BigDecimal; /** * web-client @@ -59,7 +60,7 @@ public class QuestionAddCmd extends Command { private String descr; @ApiModelProperty(value = "分值", name = "score") - private String score; + private BigDecimal score; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/QuestionListQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionListQry.java similarity index 75% rename from web-client/src/main/java/com/zcloud/edu/dto/QuestionListQry.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionListQry.java index ceb5d31..d263071 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/QuestionListQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionListQry.java @@ -1,6 +1,7 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -23,6 +24,7 @@ public class QuestionListQry extends PageQuery { * - `le`: 小于等于比较查询 * - `ne`: 不等比较查询,对应SQL的!=操作符 */ - private String likeQuestionId; + @ApiModelProperty(value = "企业id", name = "eqCorpinfoId", required = true) + private String eqCorpinfoId; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/QuestionPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionPageQry.java similarity index 92% rename from web-client/src/main/java/com/zcloud/edu/dto/QuestionPageQry.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionPageQry.java index 33895e5..5bebb40 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/QuestionPageQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionPageQry.java @@ -1,11 +1,9 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.PageQuery; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.validation.constraints.NotNull; - /** * web-client diff --git a/web-client/src/main/java/com/zcloud/edu/dto/QuestionRemoveCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionRemoveCmd.java similarity index 94% rename from web-client/src/main/java/com/zcloud/edu/dto/QuestionRemoveCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionRemoveCmd.java index a870caa..a5d2cec 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/QuestionRemoveCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionRemoveCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/QuestionUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionUpdateCmd.java similarity index 92% rename from web-client/src/main/java/com/zcloud/edu/dto/QuestionUpdateCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionUpdateCmd.java index 52b36de..33b9b9d 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/QuestionUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/QuestionUpdateCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; @@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import javax.validation.constraints.*; +import java.math.BigDecimal; /** * web-client @@ -24,7 +25,7 @@ public class QuestionUpdateCmd extends Command { @NotNull(message = "id不能为空") private Long id; - @ApiModelProperty(value = "主键id", name = "questionNumber", required = true) + @ApiModelProperty(value = "主键id", name = "questionId", required = true) @NotEmpty(message = "主键id不能为空") private String questionId; @@ -66,6 +67,6 @@ public class QuestionUpdateCmd extends Command { private String descr; @ApiModelProperty(value = "分值", name = "score") - private String score; + private BigDecimal score; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherAddCmd.java similarity index 86% rename from web-client/src/main/java/com/zcloud/edu/dto/TeacherAddCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherAddCmd.java index 2020f5e..19df6fd 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherAddCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherAddCmd.java @@ -1,7 +1,6 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; -import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; @@ -10,7 +9,6 @@ import lombok.NoArgsConstructor; import javax.validation.constraints.*; -import java.util.Date; import java.util.List; /** diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateAddCmd.java similarity index 98% rename from web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateAddCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateAddCmd.java index b62c9a6..5600fc5 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateAddCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateAddCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateListQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateListQry.java similarity index 94% rename from web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateListQry.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateListQry.java index cac5ee8..9e5d153 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateListQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateListQry.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.PageQuery; import lombok.Data; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificatePageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificatePageQry.java similarity index 95% rename from web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificatePageQry.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificatePageQry.java index 34a95ef..3c03f6e 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificatePageQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificatePageQry.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.PageQuery; import io.swagger.annotations.ApiModelProperty; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateRemoveCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateRemoveCmd.java similarity index 94% rename from web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateRemoveCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateRemoveCmd.java index d50e7cd..7849196 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateRemoveCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateRemoveCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateUpdateCmd.java similarity index 98% rename from web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateUpdateCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateUpdateCmd.java index 16c01ca..72f2b42 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherCertificateUpdateCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherListQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherPageQry.java similarity index 64% rename from web-client/src/main/java/com/zcloud/edu/dto/TeacherListQry.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherPageQry.java index af65563..3d2c3b9 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherListQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherPageQry.java @@ -1,11 +1,9 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.PageQuery; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.validation.constraints.NotNull; - /** * web-client @@ -14,7 +12,7 @@ import javax.validation.constraints.NotNull; * @Date 2025-11-26 17:04:44 */ @Data -public class TeacherListQry extends PageQuery { +public class TeacherPageQry extends PageQuery { /** * 查询条件操作前缀,支持以下几种数据库查询操作: @@ -26,10 +24,12 @@ public class TeacherListQry extends PageQuery { * - `le`: 小于等于比较查询 * - `ne`: 不等比较查询,对应SQL的!=操作符 */ - private String eqCorpinfoId; + @ApiModelProperty(name = "likeTeacherName", value = "教师名称") + private String teacherName; + + @ApiModelProperty(name = "eqCorpinfoId", value = "企业ID") + private Long corpinfoId; + - @ApiModelProperty(name = "corpFlag 监管端1,企业端2", value = "corpFlag", required = true) - @NotNull(message = "监管/企业标识不能为空") - private Integer corpFlag; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherRemoveCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherRemoveCmd.java similarity index 94% rename from web-client/src/main/java/com/zcloud/edu/dto/TeacherRemoveCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherRemoveCmd.java index a5081b5..327eb92 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherRemoveCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherRemoveCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherUpdateCmd.java similarity index 98% rename from web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherUpdateCmd.java index 9d1dae1..ca9bd05 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherUpdateCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateStateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherUpdateStateCmd.java similarity index 84% rename from web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateStateCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherUpdateStateCmd.java index 9a2db66..09beb0c 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateStateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TeacherUpdateStateCmd.java @@ -1,16 +1,13 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; -import com.fasterxml.jackson.annotation.JsonFormat; 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.util.Date; /** * web-client diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeAddCmd.java similarity index 95% rename from web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeAddCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeAddCmd.java index 0d524a7..26f06c9 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeAddCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeAddCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeListQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeListQry.java similarity index 94% rename from web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeListQry.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeListQry.java index a8b3849..3f99f1d 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeListQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeListQry.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.PageQuery; import lombok.Data; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypePageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypePageQry.java similarity index 94% rename from web-client/src/main/java/com/zcloud/edu/dto/TrainingTypePageQry.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypePageQry.java index 4f0e11c..5257aca 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypePageQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypePageQry.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.PageQuery; import lombok.Data; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeRemoveCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeRemoveCmd.java similarity index 94% rename from web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeRemoveCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeRemoveCmd.java index bb0ef47..5d96891 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeRemoveCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeRemoveCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeUpdateCmd.java similarity index 96% rename from web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeUpdateCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeUpdateCmd.java index 3938307..5120b40 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/TrainingTypeUpdateCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/UserAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/UserAddCmd.java new file mode 100644 index 0000000..2b01ae0 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/UserAddCmd.java @@ -0,0 +1,24 @@ +package com.zcloud.edu.dto.resource; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * web-client + * + * @Author zhangyue + * @Date 2025-11-04 14:07:33 + */ +@Data +public class UserAddCmd extends ClientObject { + + @ApiModelProperty(value = "GBS用户id") + private Long id; + + //企业id + @ApiModelProperty(value = "企业id") + private Long corpinfoId; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareAddCmd.java similarity index 65% rename from web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareAddCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareAddCmd.java index 4a89123..7e9696a 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareAddCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareAddCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; @@ -7,24 +7,21 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import javax.validation.constraints.*; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; /** * web-client * - * @Author SondonYong - * @Date 2025-11-27 14:05:31 + * @Author zhaokai + * @Date 2026-01-08 14:36:21 */ @EqualsAndHashCode(callSuper = true) @Data @NoArgsConstructor @AllArgsConstructor public class VideoCoursewareAddCmd extends Command { - - @ApiModelProperty(value = "课件id", name = "videoCoursewareId") - private String videoCoursewareId; - - @ApiModelProperty(value = "企业ID", name = "corpinfoId") + @ApiModelProperty(value = "企业ID", name = "corpinfoId", required = true) private Long corpinfoId; @ApiModelProperty(value = "课件名称", name = "coursewareName", required = true) @@ -47,9 +44,14 @@ public class VideoCoursewareAddCmd extends Command { @NotEmpty(message = "课件描述不能为空") private String coursewareIntroduce; - @ApiModelProperty(value = "课件时长(视频时间)-分钟", name = "videoTime", required = true) - @NotEmpty(message = "课件时长(视频时间)-分钟不能为空") - private String videoTime; + @ApiModelProperty(value = "课件状态 0未启用, 1-启用", name = "state", required = true) + private Integer state; + + @ApiModelProperty(value = "课件时长(视频时间)-秒", name = "videoTime", required = true) + @NotNull(message = "课件时长(视频时间)-秒不能为空") + private Integer videoTime; + @ApiModelProperty(value = "课件截图url") + private String screenshotUrl; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareListQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareListQry.java similarity index 77% rename from web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareListQry.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareListQry.java index f4d9c78..d54d47b 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareListQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareListQry.java @@ -1,6 +1,5 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; -import com.alibaba.cola.dto.PageQuery; import lombok.Data; @@ -11,7 +10,7 @@ import lombok.Data; * @Date 2025-11-27 14:05:32 */ @Data -public class VideoCoursewareListQry extends PageQuery { +public class VideoCoursewareListQry { /** * 查询条件操作前缀,支持以下几种数据库查询操作: @@ -23,6 +22,6 @@ public class VideoCoursewareListQry extends PageQuery { * - `le`: 小于等于比较查询 * - `ne`: 不等比较查询,对应SQL的!=操作符 */ - private String eqCorpinfoId; + private Long corpinfoId; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewarePageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewarePageQry.java new file mode 100644 index 0000000..5242999 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewarePageQry.java @@ -0,0 +1,45 @@ +package com.zcloud.edu.dto.resource; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * web-client + * + * @Author zhaokai + * @Date 2026-01-08 14:36:21 + */ +@Data +public class VideoCoursewarePageQry extends PageQuery { + + /** + * 查询条件操作前缀,支持以下几种数据库查询操作: + * - `like`: 模糊匹配查询,对应SQL的LIKE操作符 + * - `eq`: 等值查询,对应SQL的=操作符 + * - `gt`: 大于比较查询 + * - `lt`: 小于比较查询 + * - `ge`: 大于等于比较查询 + * - `le`: 小于等于比较查询 + * - `ne`: 不等比较查询,对应SQL的!=操作符 + */ + //企业id + @ApiModelProperty(name = "corpinfoId", value = "企业id") + private Long corpinfoId; + //课件名称 + @ApiModelProperty(name = "coursewareName", value = "课件名称") + private String coursewareName; + //培训类型id + @ApiModelProperty(name = "trainingTypeId", value = "培训类型id") + private String trainingTypeId; + //课件状态 + @ApiModelProperty(name = "state", value = "课件状态 0未启用, 1-启用") + private String state; + //习题数量 + @ApiModelProperty(name = "questionNum", value = "习题数量") + private String questionNum; + + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareRemoveCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareRemoveCmd.java similarity index 94% rename from web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareRemoveCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareRemoveCmd.java index 09e10bf..0094051 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareRemoveCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareRemoveCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareUpdateCmd.java similarity index 72% rename from web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareUpdateCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareUpdateCmd.java index d767add..403e353 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareUpdateCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; @@ -7,13 +7,14 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import javax.validation.constraints.*; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; /** * web-client * - * @Author SondonYong - * @Date 2025-11-27 14:05:32 + * @Author zhaokai + * @Date 2026-01-08 14:36:21 */ @EqualsAndHashCode(callSuper = true) @Data @@ -26,9 +27,7 @@ public class VideoCoursewareUpdateCmd extends Command { @ApiModelProperty(value = "业务主键id", name = "videoCoursewareId", required = true) @NotEmpty(message = "业务主键id不能为空") private String videoCoursewareId; - @ApiModelProperty(value = "企业ID", name = "corpinfoId", required = true) - @NotNull(message = "企业ID不能为空") - private Long corpinfoId; + @ApiModelProperty(value = "课件名称", name = "coursewareName", required = true) @NotEmpty(message = "课件名称不能为空") private String coursewareName; @@ -47,11 +46,10 @@ public class VideoCoursewareUpdateCmd extends Command { @ApiModelProperty(value = "课件状态 0未启用, 1-启用", name = "state", required = true) @NotNull(message = "课件状态 0未启用, 1-启用不能为空") private Integer state; - @ApiModelProperty(value = "学时,单位分钟", name = "classHour", required = true) - @NotEmpty(message = "学时,单位分钟不能为空") - private String classHour; - @ApiModelProperty(value = "课件时长(视频时间)-分钟", name = "videoTime", required = true) - @NotEmpty(message = "课件时长(视频时间)-分钟不能为空") - private String videoTime; + @ApiModelProperty(value = "课件时长(视频时间)-秒", name = "videoTime", required = true) + @NotNull(message = "课件时长(视频时间)-秒不能为空") + private Integer videoTime; + @ApiModelProperty(value = "课件截图url") + private String screenshotUrl; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareUpdateStateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareUpdateStateCmd.java similarity index 91% rename from web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareUpdateStateCmd.java rename to web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareUpdateStateCmd.java index 3a0f55b..8415236 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/VideoCoursewareUpdateStateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/resource/VideoCoursewareUpdateStateCmd.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.dto; +package com.zcloud.edu.dto.resource; import com.alibaba.cola.dto.Command; import io.swagger.annotations.ApiModelProperty; @@ -7,7 +7,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/CatalogueLevelEnum.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/CatalogueLevelEnum.java new file mode 100644 index 0000000..87e0ab3 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/CatalogueLevelEnum.java @@ -0,0 +1,21 @@ +package com.zcloud.edu.domain.enums; + +import lombok.Getter; + +/** + * 目录级别 1-一级目录 2-二级目录 + */ +@Getter +public enum CatalogueLevelEnum { + FIRST_LEVEL(1,"一级目录"), + SECOND_LEVEL(2,"二级目录") + + ; + private final Integer code; + private final String name; + + CatalogueLevelEnum(Integer code, String name) { + this.code = code; + this.name = name; + } +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/CommonFlagEnum.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/CommonFlagEnum.java new file mode 100644 index 0000000..3082206 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/CommonFlagEnum.java @@ -0,0 +1,17 @@ +package com.zcloud.edu.domain.enums; + +import lombok.Getter; + +@Getter +public enum CommonFlagEnum { + NO(0,"否"), + YES(1,"是"), + ; + private final Integer code; + private final String name; + + CommonFlagEnum(Integer code, String name) { + this.code = code; + this.name = name; + } +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/CorpTypeEnum.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/CorpTypeEnum.java new file mode 100644 index 0000000..e7a499a --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/CorpTypeEnum.java @@ -0,0 +1,66 @@ +package com.zcloud.edu.domain.enums; + +import lombok.Getter; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * corp_info 中的type字段枚举(0-普通企业,1-集团单位,2-股份单位,3-相关方企业,4-货主单位,5-驻港单位) + * 与传入enterpriseType中的关联关系 + * .企业类型1:监管 2:企业 3:相关方 + */ +@Getter +public enum CorpTypeEnum { + OrdinaryEnterprises(0,"普通企业",UserTypeEnum.QY.getCode()), + groupUnits(1, "集团单位",UserTypeEnum.QY.getCode()), + share(2,"股份单位",UserTypeEnum.JG.getCode()), + serviceProvider(3, "相关方企业",UserTypeEnum.XGF.getCode()), + cargoOwner(4, "货主单位",UserTypeEnum.XGF.getCode()), + portUnit(5, "驻港单位",UserTypeEnum.XGF.getCode()), + materialCenter(6, "物资中心",UserTypeEnum.QY.getCode()); + + private static final Map> ENTERPRISE_TYPE_CODE_MAP = new HashMap<>(); + + private final Integer code; + private final String name; + //传入的企业类型企业类型 1:监管 2:企业 3:相关方 + private final Integer userType; + + CorpTypeEnum(Integer code, String name, Integer userType) { + this.code = code; + this.name = name; + this.userType = userType; + } + static { + Arrays.stream(CorpTypeEnum.values()) + .collect(Collectors.groupingBy(CorpTypeEnum::getUserType)) + .forEach((userType, corpTypes) -> + ENTERPRISE_TYPE_CODE_MAP.put( + userType, + corpTypes.stream().map(CorpTypeEnum::getCode).collect(Collectors.toList()) + ) + ); + } + + public static List getCodesByEnterpriseType(Integer enterpriseType) { + return ENTERPRISE_TYPE_CODE_MAP.getOrDefault(enterpriseType, Collections.emptyList()); + } + public static Integer getUserTypeByCode(Integer code) { + for (CorpTypeEnum corpType : values()) { + if (corpType.code.equals(code)) { + return corpType.userType; + } + } + return null; + } + + public static String getNameByCode(Integer code) { + for (CorpTypeEnum corpType : values()) { + if (corpType.code.equals(code)) { + return corpType.name; + } + } + return null; + } +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/CoursewareTypeEnum.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/CoursewareTypeEnum.java new file mode 100644 index 0000000..4e4180d --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/CoursewareTypeEnum.java @@ -0,0 +1,22 @@ +package com.zcloud.edu.domain.enums; + +import lombok.Getter; + +/** + * 课件类型(1:视频课件、2:试卷习题) + */ +@Getter +public enum CoursewareTypeEnum { + VIDEO_COURSEWARE(1, "视频课件"), + EXAM_QUESTION(2, "试卷习题"); + + + ; + private final Integer code; + private final String name; + + CoursewareTypeEnum(Integer code, String name) { + this.code = code; + this.name = name; + } +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/CurriculumSellFlagEnum.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/CurriculumSellFlagEnum.java new file mode 100644 index 0000000..890b84e --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/CurriculumSellFlagEnum.java @@ -0,0 +1,25 @@ +package com.zcloud.edu.domain.enums; + +import lombok.Getter; + +/** + * 课程状态 1-上架 0-下架 + */ +@Getter +public enum CurriculumSellFlagEnum { + + UNENABLED(0,"下架"), + ENABLED(1,"上架"), + + ; + private final Integer code; + private final String name; + + CurriculumSellFlagEnum(Integer code, String name) { + this.code = code; + this.name = name; + } + + + +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/UserTypeEnum.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/UserTypeEnum.java new file mode 100644 index 0000000..022b548 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/UserTypeEnum.java @@ -0,0 +1,30 @@ +package com.zcloud.edu.domain.enums; + +import lombok.Getter; + +@Getter +public enum UserTypeEnum { + JG(1,"监管"), + QY(2,"企业"), + XGF(3,"相关方") + ; + private final Integer code; + private final String name; + + UserTypeEnum(Integer code, String name) { + this.code = code; + this.name = name; + } + + public static Integer getUserType(Integer corpType){ + if (corpType.equals(CorpTypeEnum.OrdinaryEnterprises.getCode()) || + corpType.equals(CorpTypeEnum.groupUnits.getCode())){ + return UserTypeEnum.QY.getCode(); + }else if (corpType.equals(CorpTypeEnum.share.getCode())){ + return UserTypeEnum.JG.getCode(); + }else { + return UserTypeEnum.XGF.getCode(); + } + } + +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/VideoCoursewareState.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/VideoCoursewareState.java new file mode 100644 index 0000000..f985cf3 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/VideoCoursewareState.java @@ -0,0 +1,24 @@ +package com.zcloud.edu.domain.enums; + +import lombok.Getter; + +/** + * 课件状态 0未启用, 1-启用 + */ +@Getter +public enum VideoCoursewareState { + UNENABLED(0,"未启用"), + ENABLED(1,"启用"), + + ; + private final Integer code; + private final String name; + + VideoCoursewareState(Integer code, String name) { + this.code = code; + this.name = name; + } + + + +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/CurriculumChapterGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/CurriculumChapterGateway.java new file mode 100644 index 0000000..fe46d6d --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/CurriculumChapterGateway.java @@ -0,0 +1,31 @@ +package com.zcloud.edu.domain.gateway.resource; + +import com.zcloud.edu.domain.model.resource.CurriculumChapterE; + +/** + * web-domain + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +public interface CurriculumChapterGateway { + + /** + * 新增 + */ + Boolean add(CurriculumChapterE curriculumChapterE); + + /** + * 修改 + */ + Boolean update(CurriculumChapterE curriculumChapterE); + + /** + * 删除 + */ + Boolean deletedCurriculumChapterById(Long id); + + Boolean deletedCurriculumChapterByIds(Long[] id); + +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/CurriculumGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/CurriculumGateway.java new file mode 100644 index 0000000..aa72553 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/CurriculumGateway.java @@ -0,0 +1,30 @@ +package com.zcloud.edu.domain.gateway.resource; + +import com.zcloud.edu.domain.model.resource.CurriculumE; + +/** + * web-domain + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +public interface CurriculumGateway { + + /** + * 新增 + */ + Boolean add(CurriculumE curriculumE); + + /** + * 修改 + */ + Boolean update(CurriculumE curriculumE); + + /** + * 删除 + */ + Boolean deletedCurriculumById(Long id); + + Boolean deletedCurriculumByIds(Long[] id); +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/ExamPaperGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/ExamPaperGateway.java new file mode 100644 index 0000000..73185fd --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/ExamPaperGateway.java @@ -0,0 +1,32 @@ +package com.zcloud.edu.domain.gateway.resource; + +import com.zcloud.edu.domain.model.resource.ExamPaperE; + +import java.util.List; + +/** + * web-domain + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +public interface ExamPaperGateway { + + /** + * 新增 + */ + Boolean add(ExamPaperE examPaperE); + + /** + * 修改 + */ + Boolean update(ExamPaperE examPaperE); + + /** + * 删除 + */ + Boolean deletedExamPaperById(Long id); + + Boolean deletedExamPaperByIds(List idList); +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/QuestionGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/QuestionGateway.java similarity index 78% rename from web-domain/src/main/java/com/zcloud/edu/domain/gateway/QuestionGateway.java rename to web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/QuestionGateway.java index f9a17bc..7467ab4 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/QuestionGateway.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/QuestionGateway.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.domain.gateway; +package com.zcloud.edu.domain.gateway.resource; -import com.zcloud.edu.domain.model.QuestionE; +import com.zcloud.edu.domain.model.resource.QuestionE; /** * web-domain diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/TeacherCertificateGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/TeacherCertificateGateway.java similarity index 79% rename from web-domain/src/main/java/com/zcloud/edu/domain/gateway/TeacherCertificateGateway.java rename to web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/TeacherCertificateGateway.java index 645534a..5c3beb1 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/TeacherCertificateGateway.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/TeacherCertificateGateway.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.domain.gateway; +package com.zcloud.edu.domain.gateway.resource; -import com.zcloud.edu.domain.model.TeacherCertificateE; +import com.zcloud.edu.domain.model.resource.TeacherCertificateE; /** * web-domain diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/TeacherGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/TeacherGateway.java similarity index 78% rename from web-domain/src/main/java/com/zcloud/edu/domain/gateway/TeacherGateway.java rename to web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/TeacherGateway.java index d879d83..56f0d71 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/TeacherGateway.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/TeacherGateway.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.domain.gateway; +package com.zcloud.edu.domain.gateway.resource; -import com.zcloud.edu.domain.model.TeacherE; +import com.zcloud.edu.domain.model.resource.TeacherE; /** * web-domain diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/TrainingTypeGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/TrainingTypeGateway.java similarity index 78% rename from web-domain/src/main/java/com/zcloud/edu/domain/gateway/TrainingTypeGateway.java rename to web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/TrainingTypeGateway.java index c5c38b8..d28e9da 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/TrainingTypeGateway.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/TrainingTypeGateway.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.domain.gateway; +package com.zcloud.edu.domain.gateway.resource; -import com.zcloud.edu.domain.model.TrainingTypeE; +import com.zcloud.edu.domain.model.resource.TrainingTypeE; /** * web-domain diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/VideoCoursewareGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/VideoCoursewareGateway.java similarity index 79% rename from web-domain/src/main/java/com/zcloud/edu/domain/gateway/VideoCoursewareGateway.java rename to web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/VideoCoursewareGateway.java index b96a5ad..0b39183 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/VideoCoursewareGateway.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/resource/VideoCoursewareGateway.java @@ -1,6 +1,6 @@ -package com.zcloud.edu.domain.gateway; +package com.zcloud.edu.domain.gateway.resource; -import com.zcloud.edu.domain.model.VideoCoursewareE; +import com.zcloud.edu.domain.model.resource.VideoCoursewareE; /** * web-domain diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/UserAddE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/UserAddE.java deleted file mode 100644 index cbb0513..0000000 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/UserAddE.java +++ /dev/null @@ -1,178 +0,0 @@ -package com.zcloud.edu.domain.model; - -import com.alibaba.cola.dto.ClientObject; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; - - -/** - * web-client - * - * @Author zhangyue - * @Date 2025-11-04 14:07:33 - */ -@Data -public class UserAddE extends ClientObject { - - //GBS用户id - @ApiModelProperty(value = "GBS用户id") - private Long id; - //业务主键id老系统id - @ApiModelProperty(value = "业务主键id老系统id") - private String userId; - //登录账号 - @ApiModelProperty(value = "登录账号") - private String username; - //姓名 - @ApiModelProperty(value = "姓名") - private String name; - //企业id - @ApiModelProperty(value = "企业id") - private Long corpinfoId; - @ApiModelProperty(value = "企业名称") - private String corpinfoName; - //是否主账号1是0否 - @ApiModelProperty(value = "是否主账号1是0否") - private Integer mainCorpFlag; - //用户类型,1监管2企业3相关方 - @ApiModelProperty(value = "用户类型,1监管2企业3相关方") - private Integer userType; - //部门id - @ApiModelProperty(value = "部门id") - private Long departmentId; - //部门id - @ApiModelProperty(value = "部门名称") - private String departmentName; - //岗位id - @ApiModelProperty(value = "岗位id") - private Long postId; - //岗位id - @ApiModelProperty(value = "岗位名称") - private String postName; - //角色id - @ApiModelProperty(value = "角色id") - private Long roleId; - //邮箱 - @ApiModelProperty(value = "邮箱") - private String email; - //人员类型编码(主要负责人等) - @ApiModelProperty(value = "人员类型编码(主要负责人等)") - private String personnelType; - //人员类型翻译 - @ApiModelProperty(value = "人员类型翻译") - private String personnelTypeName; - //民族编码问一下有没有组件 - @ApiModelProperty(value = "民族编码问一下有没有组件") - private String nation; - //民族名称 - @ApiModelProperty(value = "民族名称") - private String nationName; - //身份证号 - @ApiModelProperty(value = "身份证号") - private String userIdCard; - //人脸头像url - @ApiModelProperty(value = "人脸头像url") - private String userAvatarUrl; - //现住址 - @ApiModelProperty(value = "现住址") - private String currentAddress; - //户口所在地 - @ApiModelProperty(value = "户口所在地") - private String locationAddress; - - @ApiModelProperty(value = "职级") - private String rankLevel; - @ApiModelProperty(value = "职级名称") - private String rankLevelName; - @ApiModelProperty(value = "手机号") - private String phone; - //人员在部门中的排序 - @ApiModelProperty(value = "人员在部门中的排序") - private Integer sort; - //乐观锁 - @ApiModelProperty(value = "乐观锁") - private Integer version; - //创建人 - @ApiModelProperty(value = "创建人") - private Long createId; - //创建人姓名 - @ApiModelProperty(value = "创建人姓名") - private String createName; - //创建时间 - @ApiModelProperty(value = "创建时间") - @JsonFormat(pattern = "yyyy-MM-dd") - private Date createTime; - //更新人 - @ApiModelProperty(value = "更新人") - private Long updateId; - //修改人名称 - @ApiModelProperty(value = "修改人名称") - private String updateName; - //更新时间 - @ApiModelProperty(value = "更新时间") - @JsonFormat(pattern = "yyyy-MM-dd") - private Date updateTime; - //描述 - @ApiModelProperty(value = "描述") - private String remarks; - //是否删除 - @ApiModelProperty(value = "是否删除") - private String deleteEnum; - //租户ID - @ApiModelProperty(value = "租户ID") - private Long tenantId; - //机构ID - @ApiModelProperty(value = "机构ID") - private Long orgId; - //环境 - @ApiModelProperty(value = "环境") - private String env; - //是否部门领导0否1是 - @ApiModelProperty(value = "是否部门领导0否1是") - private Integer departmentLeaderFlag; - //是否分管领导0否1是 - @ApiModelProperty(value = "是否分管领导0否1是") - private Integer deputyLeaderFlag; - //文化程度 数据字典 - @ApiModelProperty(value = "文化程度 数据字典") - private String culturalLevel; - //文化程度名称 - @ApiModelProperty(value = "文化程度名称") - private String culturalLevelName; - //婚姻状态 - @ApiModelProperty(value = "婚姻状态") - private String maritalStatus; - //婚姻状态名称 - @ApiModelProperty(value = "婚姻状态名称") - private String maritalStatusName; - //政治面貌 - @ApiModelProperty(value = "政治面貌") - private String politicalAffiliation; - //政治面貌名称 - @ApiModelProperty(value = "政治面貌名称") - private String politicalAffiliationName; - private String mappingName; - private String mappingUserName; - private String mappingPostName; - private String mappingDeptName; - // 入职状态 - @ApiModelProperty(value = "入职状态") - private Integer employmentFlag; - - - // 年龄 - @ApiModelProperty(value = "年龄") - private Integer age; - - //生日 - @ApiModelProperty(value = "生日") - private String birthday; - - // 性别 - @ApiModelProperty(value = "性别") - private String sex; -} - diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/CurriculumChapterE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/CurriculumChapterE.java new file mode 100644 index 0000000..bbd8454 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/CurriculumChapterE.java @@ -0,0 +1,74 @@ +package com.zcloud.edu.domain.model.resource; + +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.jjb.saas.framework.domain.model.BaseE; +import com.zcloud.gbscommon.utils.UuidUtil; +import jodd.util.StringUtil; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * web-domain + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Data +public class CurriculumChapterE extends BaseE { + //主键 + private Long id; + //业务主键id + private String curriculumChapterId; + //企业ID + private Long corpinfoId; + //课程id + private String curriculumId; + //章节名字 + private String name; + //视频课件id + private String videoCoursewareId; + //排序 + private Integer sort; + //上级ID + private String parentId; + //删除标识true false + private String deleteEnum; + //备注 + private String remarks; + //创建人姓名 + private String createName; + //更新人姓名 + private String updateName; + //租户id + private Long tenantId; + //单位id + private Long orgId; + //版本 + private Integer version; + //创建时间 + private LocalDateTime createTime; + //修改时间 + private LocalDateTime updateTime; + //创建人id + private Long createId; + //修改人id + private Long updateId; + //环境 + private String env; + + public static void initBath(List curriculumChapterES, String curriculumChapterId,String curriculumId) { + curriculumChapterES.forEach(curriculumChapterE -> { + curriculumChapterE.setParentId(curriculumChapterId); + curriculumChapterE.setCurriculumId(curriculumId); + if(StringUtil.isEmpty(curriculumChapterE.getCurriculumChapterId())){ + curriculumChapterE.setCurriculumChapterId(UuidUtil.get32UUID()); + } + if(curriculumChapterE.getCorpinfoId() == null){ + curriculumChapterE.setCorpinfoId(AuthContext.getTenantId()); + } + }); + } +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/CurriculumE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/CurriculumE.java new file mode 100644 index 0000000..90118fd --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/CurriculumE.java @@ -0,0 +1,72 @@ +package com.zcloud.edu.domain.model.resource; + +import com.jjb.saas.framework.domain.model.BaseE; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * web-domain + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Data +public class CurriculumE extends BaseE { + private Long id; + //业务主键id + private String curriculumId; + //企业ID + private Long corpinfoId; + //课程名称 + private String curriculumName; + //培训类型id + private String trainingTypeId; + //课程描述 + private String curriculumIntroduce; + //封面路径url + private String coverPath; + + //课程状态 1-上架 0-下架 + private Integer sellFlag; + //目录级别 1-一级目录 2-二级目录 + private Integer catalogueLevel; + //删除标识true false + private String deleteEnum; + //备注 + private String remarks; + //创建人姓名 + private String createName; + //更新人姓名 + private String updateName; + //租户id + private Long tenantId; + //单位id + private Long orgId; + //版本 + private Integer version; + //创建时间 + private LocalDateTime createTime; + //修改时间 + private LocalDateTime updateTime; + //创建人id + private Long createId; + //修改人id + private Long updateId; + //环境 + private String env; + + @ApiModelProperty(value = "企业名称") + private String corpName; + + @ApiModelProperty(value = "培训类型名称") + private String trainingTypeName; + + @ApiModelProperty(value = "课件数量") + private Integer chapterCount; + //总视频时长 + @ApiModelProperty(value = "总视频时长") + private Integer videoTime; +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/ExamPaperE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/ExamPaperE.java new file mode 100644 index 0000000..32bdf37 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/ExamPaperE.java @@ -0,0 +1,59 @@ +package com.zcloud.edu.domain.model.resource; + +import com.jjb.saas.framework.domain.model.BaseE; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * web-domain + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Data +public class ExamPaperE extends BaseE { + private Long id; + //业务主键id + private String examPaperId; + //企业ID + private Long corpinfoId; + //试卷名称 + private String examName; + //试卷总分数 + private BigDecimal examScore; + //合格分数 + private BigDecimal passScore; + //是否上架(0否 1是) + private Integer sellFlag; + //考试时长(分钟) + private String examTime; + //试卷类型 1-自建试卷 2-班级中自动生成试卷 + private Integer type; + //删除标识true false + private String deleteEnum; + //备注 + private String remarks; + //创建人姓名 + private String createName; + //更新人姓名 + private String updateName; + //租户id + private Long tenantId; + //单位id + private Long orgId; + //版本 + private Integer version; + //创建时间 + private LocalDateTime createTime; + //修改时间 + private LocalDateTime updateTime; + //创建人id + private Long createId; + //修改人id + private Long updateId; + //环境 + private String env; +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/QuestionE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/QuestionE.java similarity index 77% rename from web-domain/src/main/java/com/zcloud/edu/domain/model/QuestionE.java rename to web-domain/src/main/java/com/zcloud/edu/domain/model/resource/QuestionE.java index 8713958..4cf7f05 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/QuestionE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/QuestionE.java @@ -1,21 +1,23 @@ -package com.zcloud.edu.domain.model; +package com.zcloud.edu.domain.model.resource; import cn.hutool.core.collection.CollUtil; import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.cola.exception.BizException; +import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.framework.domain.model.BaseE; +import com.zcloud.edu.domain.enums.CoursewareTypeEnum; import com.zcloud.edu.domain.enums.QuestionTypeEnum; import com.zcloud.gbscommon.excelEntity.QuestionVideoChoiceExcelImportEntity; import com.zcloud.gbscommon.excelEntity.QuestionVideoJudgeExcelImportEntity; import com.zcloud.gbscommon.excelEntity.QuestionVideoMultiselectExcelImportEntity; -import com.zcloud.gbscommon.excelEntity.RiskPointExcelImportEntity; import com.zcloud.gbscommon.utils.ExcelUtils; import com.zcloud.gbscommon.utils.UuidUtil; import lombok.Data; import org.springframework.web.multipart.MultipartFile; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; -import java.util.Date; import java.util.List; /** @@ -27,14 +29,15 @@ import java.util.List; @Data public class QuestionE extends BaseE { private Long id; + private Long corpinfoId; //业务主键id private String questionId; //课件id private String videoCoursewareId; //试卷id private String examPaperId; - //题号 - private Integer questionNumber; +// //题号 +// private Integer questionNumber; //试题类型(单选题、多选题、判断题、填空题) private String questionType; //题干 @@ -54,7 +57,7 @@ public class QuestionE extends BaseE { //答案解析 private String descr; //分值 - private String score; + private BigDecimal score; public void checkQuestion(QuestionE questionE) { if (questionE.getCoursewareType() == 1) { @@ -67,7 +70,7 @@ public class QuestionE extends BaseE { if (questionE.getExamPaperId() == null) { throw new RuntimeException("请选择正确的试卷"); } - if (StringUtils.isEmpty(questionE.getScore())) { + if (questionE.getScore()==null) { throw new RuntimeException("请填写正确的分值"); } } else { @@ -92,14 +95,14 @@ public class QuestionE extends BaseE { } } - public List parseImportTemplateData(MultipartFile file, String videoCoursewareId, Integer maxQuestionNumber) { + public List parseImportTemplateData(MultipartFile file, String videoCoursewareId, String examPaperId, Integer coursewareType) { List videoChoiceList = new ArrayList<>(); List videoMultiselectList = new ArrayList<>(); List videoJudgeList = new ArrayList<>(); try { - ExcelUtils.readBatchBySheetAndRow(file, QuestionVideoChoiceExcelImportEntity.class, videoChoiceList, 0, 1); - ExcelUtils.readBatchBySheetAndRow(file, QuestionVideoMultiselectExcelImportEntity.class, videoMultiselectList, 1, 1); - ExcelUtils.readBatchBySheetAndRow(file, QuestionVideoJudgeExcelImportEntity.class, videoJudgeList, 2, 1); + ExcelUtils.readBatchBySheetAndRow(file, QuestionVideoChoiceExcelImportEntity.class, videoChoiceList, 0, 2); + ExcelUtils.readBatchBySheetAndRow(file, QuestionVideoMultiselectExcelImportEntity.class, videoMultiselectList, 1, 2); + ExcelUtils.readBatchBySheetAndRow(file, QuestionVideoJudgeExcelImportEntity.class, videoJudgeList, 2, 2); } catch (Exception e) { throw new BizException("文件解析失败"); } @@ -135,6 +138,11 @@ public class QuestionE extends BaseE { if (StringUtils.isEmpty(entity.getDescr())) { errList.add("单选题第" + (i + 2) + "行答案解析不能为空"); } + if(CoursewareTypeEnum.EXAM_QUESTION.getCode().equals(coursewareType)){ + if (StringUtils.isEmpty(entity.getScore())) { + errList.add("单选题第" + (i + 2) + "行分值不能为空"); + } + } } } if (CollUtil.isNotEmpty(videoMultiselectList)) { @@ -165,6 +173,11 @@ public class QuestionE extends BaseE { if (StringUtils.isEmpty(entity.getDescr())) { errList.add("多选题第" + (i + 2) + "行答案解析不能为空"); } + if(CoursewareTypeEnum.EXAM_QUESTION.getCode().equals(coursewareType)){ + if (StringUtils.isEmpty(entity.getScore())) { + errList.add("多选题第" + (i + 2) + "行分值不能为空"); + } + } } } if (CollUtil.isNotEmpty(videoJudgeList)) { @@ -183,6 +196,11 @@ public class QuestionE extends BaseE { if (StringUtils.isEmpty(entity.getDescr())) { errList.add("判断题第" + (i + 2) + "行答案解析不能为空"); } + if(CoursewareTypeEnum.EXAM_QUESTION.getCode().equals(coursewareType)){ + if (StringUtils.isEmpty(entity.getScore())) { + errList.add("判断题第" + (i + 2) + "行分值不能为空"); + } + } } } @@ -190,15 +208,13 @@ public class QuestionE extends BaseE { throw new BizException("导入信息有误,请检查后重新导入。错误信息:" + String.join("", errList)); } - Integer questionNumber = maxQuestionNumber + 1; // 赋值 List questionEList = new ArrayList<>(); if (CollUtil.isNotEmpty(videoChoiceList)) { for (QuestionVideoChoiceExcelImportEntity entity : videoChoiceList) { QuestionE questionE = new QuestionE(); questionE.setQuestionId(UuidUtil.get32UUID()); - questionE.setVideoCoursewareId(videoCoursewareId); - questionE.setQuestionNumber(questionNumber++); + questionE.setCorpinfoId(AuthContext.getTenantId()); questionE.setQuestionType(QuestionTypeEnum.CHOICE.getCode()); questionE.setQuestionDry(entity.getQuestionDry()); questionE.setOptionA(entity.getOptionA()); @@ -207,7 +223,13 @@ public class QuestionE extends BaseE { questionE.setOptionD(entity.getOptionD()); questionE.setAnswer(entity.getAnswer()); questionE.setDescr(entity.getDescr()); - questionE.setCoursewareType(1); + questionE.setCoursewareType(coursewareType); + if(CoursewareTypeEnum.VIDEO_COURSEWARE.getCode().equals(coursewareType)){ + questionE.setVideoCoursewareId(videoCoursewareId); + }else{ + questionE.setExamPaperId(examPaperId); + questionE.setScore(new BigDecimal(entity.getScore()).setScale(2, RoundingMode.HALF_UP)); + } questionEList.add(questionE); } } @@ -215,8 +237,7 @@ public class QuestionE extends BaseE { for (QuestionVideoMultiselectExcelImportEntity entity : videoMultiselectList) { QuestionE questionE = new QuestionE(); questionE.setQuestionId(UuidUtil.get32UUID()); - questionE.setVideoCoursewareId(videoCoursewareId); - questionE.setQuestionNumber(questionNumber++); + questionE.setCorpinfoId(AuthContext.getTenantId()); questionE.setQuestionType(QuestionTypeEnum.MULTIPLE.getCode()); questionE.setQuestionDry(entity.getQuestionDry()); questionE.setOptionA(entity.getOptionA()); @@ -225,21 +246,33 @@ public class QuestionE extends BaseE { questionE.setOptionD(entity.getOptionD()); questionE.setAnswer(entity.getAnswer()); questionE.setDescr(entity.getDescr()); - questionE.setCoursewareType(1); + questionE.setCoursewareType(coursewareType); + + if(CoursewareTypeEnum.VIDEO_COURSEWARE.getCode().equals(coursewareType)){ + questionE.setVideoCoursewareId(videoCoursewareId); + }else{ + questionE.setExamPaperId(examPaperId); + questionE.setScore(new BigDecimal(entity.getScore()).setScale(2, RoundingMode.HALF_UP)); + } questionEList.add(questionE); } } if (CollUtil.isNotEmpty(videoJudgeList)) { for (QuestionVideoJudgeExcelImportEntity entity : videoJudgeList) { QuestionE questionE = new QuestionE(); + questionE.setCorpinfoId(AuthContext.getTenantId()); questionE.setQuestionId(UuidUtil.get32UUID()); - questionE.setVideoCoursewareId(videoCoursewareId); - questionE.setQuestionNumber(questionNumber++); questionE.setQuestionType(QuestionTypeEnum.JUDGE.getCode()); questionE.setQuestionDry(entity.getQuestionDry()); questionE.setAnswer(entity.getAnswer()); questionE.setDescr(entity.getDescr()); - questionE.setCoursewareType(1); + questionE.setCoursewareType(coursewareType); + if(CoursewareTypeEnum.VIDEO_COURSEWARE.getCode().equals(coursewareType)){ + questionE.setVideoCoursewareId(videoCoursewareId); + }else{ + questionE.setExamPaperId(examPaperId); + questionE.setScore(new BigDecimal(entity.getScore()).setScale(2, RoundingMode.HALF_UP)); + } questionEList.add(questionE); } } diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/TeacherCertificateE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/TeacherCertificateE.java similarity index 95% rename from web-domain/src/main/java/com/zcloud/edu/domain/model/TeacherCertificateE.java rename to web-domain/src/main/java/com/zcloud/edu/domain/model/resource/TeacherCertificateE.java index 983ee5f..5589baa 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/TeacherCertificateE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/TeacherCertificateE.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.domain.model; +package com.zcloud.edu.domain.model.resource; import com.jjb.saas.framework.domain.model.BaseE; import lombok.Data; diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/TeacherE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/TeacherE.java similarity index 70% rename from web-domain/src/main/java/com/zcloud/edu/domain/model/TeacherE.java rename to web-domain/src/main/java/com/zcloud/edu/domain/model/resource/TeacherE.java index aa45173..69f4a28 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/TeacherE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/TeacherE.java @@ -1,20 +1,21 @@ -package com.zcloud.edu.domain.model; +package com.zcloud.edu.domain.model.resource; import cn.hutool.core.collection.CollUtil; import com.alibaba.cola.exception.BizException; import com.jjb.saas.framework.domain.model.BaseE; +import com.zcloud.edu.domain.enums.CommonFlagEnum; import com.zcloud.gbscommon.utils.UuidUtil; import lombok.Data; +import java.time.LocalDateTime; import java.util.ArrayList; -import java.util.Date; import java.util.List; /** * web-domain * - * @Author SondonYong - * @Date 2025-11-26 17:04:44 + * @Author zhaokai + * @Date 2026-01-08 14:39:48 */ @Data public class TeacherE extends BaseE { @@ -28,14 +29,6 @@ public class TeacherE extends BaseE { private Long corpinfoId; //教师姓名 private String teacherName; - //手机号 - private String phone; - //身份证号 - private String identityNumber; - //文化程度 - private String educationLevel; - //文化程度名称 - private String educationLevelName; //专业 private String profession; //工作年限 @@ -43,7 +36,7 @@ public class TeacherE extends BaseE { //考核部门 private String assessmentDepartment; //考核时间 - private Date assessmentTime; + private LocalDateTime assessmentTime; //考核结果 private String assessmentResult; //状态(0-禁用 1-启用)(老项目0启用,1禁用) @@ -64,13 +57,9 @@ public class TeacherE extends BaseE { teacher.setTeacherId(UuidUtil.get32UUID()); teacher.setUserId(userAddE.getId()); teacher.setCorpinfoId(userAddE.getCorpinfoId()); - teacher.setTeacherName(userAddE.getName()); - teacher.setPhone(userAddE.getPhone()); - teacher.setIdentityNumber(userAddE.getUserIdCard()); - teacher.setEducationLevel(userAddE.getCulturalLevel()); - teacher.setEducationLevelName(userAddE.getCulturalLevelName()); + // 默认启用 - teacher.setState(1); + teacher.setState(CommonFlagEnum.YES.getCode()); teacherList.add(teacher); } @@ -85,6 +74,5 @@ public class TeacherE extends BaseE { throw new BizException("该教师有负责的课件,无法删除。"); } } - } diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/TrainingTypeE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/TrainingTypeE.java similarity index 89% rename from web-domain/src/main/java/com/zcloud/edu/domain/model/TrainingTypeE.java rename to web-domain/src/main/java/com/zcloud/edu/domain/model/resource/TrainingTypeE.java index 77a1de8..4ed8c34 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/TrainingTypeE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/TrainingTypeE.java @@ -1,11 +1,9 @@ -package com.zcloud.edu.domain.model; +package com.zcloud.edu.domain.model.resource; import com.alibaba.cola.exception.BizException; import com.jjb.saas.framework.domain.model.BaseE; import lombok.Data; -import java.util.Date; - /** * web-domain * @Author SondonYong diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/UserAddE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/UserAddE.java new file mode 100644 index 0000000..c89712a --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/UserAddE.java @@ -0,0 +1,26 @@ +package com.zcloud.edu.domain.model.resource; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * web-client + * + * @Author zhangyue + * @Date 2025-11-04 14:07:33 + */ +@Data +public class UserAddE extends ClientObject { + + //GBS用户id + @ApiModelProperty(value = "GBS用户id") + private Long id; + + //企业id + @ApiModelProperty(value = "企业id") + private Long corpinfoId; + +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/VideoCoursewareE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/VideoCoursewareE.java similarity index 72% rename from web-domain/src/main/java/com/zcloud/edu/domain/model/VideoCoursewareE.java rename to web-domain/src/main/java/com/zcloud/edu/domain/model/resource/VideoCoursewareE.java index 6bf613d..1b73689 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/VideoCoursewareE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/resource/VideoCoursewareE.java @@ -1,15 +1,13 @@ -package com.zcloud.edu.domain.model; +package com.zcloud.edu.domain.model.resource; import com.jjb.saas.framework.domain.model.BaseE; import lombok.Data; -import java.util.Date; - /** * web-domain * - * @Author SondonYong - * @Date 2025-11-27 14:05:32 + * @Author zhaokai + * @Date 2026-01-08 14:36:21 */ @Data public class VideoCoursewareE extends BaseE { @@ -31,9 +29,10 @@ public class VideoCoursewareE extends BaseE { private String coursewareIntroduce; //课件状态 0未启用, 1-启用 private Integer state; - //学时,单位分钟 - private String classHour; - //课件时长(视频时间)-分钟 - private String videoTime; + //课件时长(视频时间)-秒 + private Integer videoTime; + //课件截图 + private String screenshotUrl; + } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/CurriculumChapterGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/CurriculumChapterGatewayImpl.java new file mode 100644 index 0000000..026ee04 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/CurriculumChapterGatewayImpl.java @@ -0,0 +1,61 @@ +package com.zcloud.edu.gatewayimpl.resource; + +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.edu.domain.gateway.resource.CurriculumChapterGateway; +import com.zcloud.edu.domain.model.resource.CurriculumChapterE; +import com.zcloud.edu.persistence.dataobject.CurriculumChapterDO; +import com.zcloud.edu.persistence.repository.resource.CurriculumChapterRepository; +import com.zcloud.gbscommon.utils.UuidUtil; +import lombok.AllArgsConstructor; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Collections; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Service +@AllArgsConstructor +public class CurriculumChapterGatewayImpl implements CurriculumChapterGateway { + private final CurriculumChapterRepository curriculumChapterRepository; + + @Override + public Boolean add(CurriculumChapterE curriculumChapterE) { + if(StringUtils.isEmpty(curriculumChapterE.getCurriculumChapterId())){ + curriculumChapterE.setCurriculumChapterId(UuidUtil.get32UUID()); + } + if(curriculumChapterE.getCorpinfoId() == null){ + curriculumChapterE.setCorpinfoId(AuthContext.getTenantId()); + } + CurriculumChapterDO d = new CurriculumChapterDO(); + BeanUtils.copyProperties(curriculumChapterE, d); + curriculumChapterRepository.save(d); + return true; + } + + @Override + public Boolean update(CurriculumChapterE curriculumChapterE) { + CurriculumChapterDO d = new CurriculumChapterDO(); + BeanUtils.copyProperties(curriculumChapterE, d); + curriculumChapterRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedCurriculumChapterById(Long id) { + return curriculumChapterRepository.removeById(id); + } + + @Override + public Boolean deletedCurriculumChapterByIds(Long[] ids) { + return curriculumChapterRepository.removeByIds(Collections.singletonList(ids)); + } + + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/CurriculumGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/CurriculumGatewayImpl.java new file mode 100644 index 0000000..38947f3 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/CurriculumGatewayImpl.java @@ -0,0 +1,59 @@ +package com.zcloud.edu.gatewayimpl.resource; + +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.edu.domain.gateway.resource.CurriculumGateway; +import com.zcloud.edu.domain.model.resource.CurriculumE; +import com.zcloud.edu.persistence.dataobject.CurriculumDO; +import com.zcloud.edu.persistence.repository.resource.CurriculumRepository; +import com.zcloud.gbscommon.utils.UuidUtil; +import lombok.AllArgsConstructor; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Arrays; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Service +@AllArgsConstructor +public class CurriculumGatewayImpl implements CurriculumGateway { + private final CurriculumRepository curriculumRepository; + + @Override + public Boolean add(CurriculumE curriculumE) { + if(StringUtils.isEmpty(curriculumE.getCurriculumId())){ + curriculumE.setCurriculumId(UuidUtil.get32UUID()); + } + if(curriculumE.getCorpinfoId() == null){ + curriculumE.setCorpinfoId(AuthContext.getTenantId()); + } + CurriculumDO d = new CurriculumDO(); + BeanUtils.copyProperties(curriculumE, d); + curriculumRepository.save(d); + return true; + } + + @Override + public Boolean update(CurriculumE curriculumE) { + CurriculumDO d = new CurriculumDO(); + BeanUtils.copyProperties(curriculumE, d); + curriculumRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedCurriculumById(Long id) { + return curriculumRepository.removeById(id); + } + + @Override + public Boolean deletedCurriculumByIds(Long[] ids) { + return curriculumRepository.removeByIds(Arrays.asList(ids)); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/ExamPaperGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/ExamPaperGatewayImpl.java new file mode 100644 index 0000000..e8ba71b --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/ExamPaperGatewayImpl.java @@ -0,0 +1,59 @@ +package com.zcloud.edu.gatewayimpl.resource; + +import com.alibaba.cloud.commons.lang.StringUtils; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.edu.domain.gateway.resource.ExamPaperGateway; +import com.zcloud.edu.domain.model.resource.ExamPaperE; +import com.zcloud.edu.persistence.dataobject.ExamPaperDO; +import com.zcloud.edu.persistence.repository.resource.ExamPaperRepository; +import com.zcloud.gbscommon.utils.UuidUtil; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Service +@AllArgsConstructor +public class ExamPaperGatewayImpl implements ExamPaperGateway { + private final ExamPaperRepository examPaperRepository; + + @Override + public Boolean add(ExamPaperE examPaperE) { + if(StringUtils.isEmpty(examPaperE.getExamPaperId())){ + examPaperE.setExamPaperId(UuidUtil.get32UUID()); + } + if(examPaperE.getCorpinfoId() == null){ + examPaperE.setCorpinfoId(AuthContext.getTenantId()); + } + ExamPaperDO d = new ExamPaperDO(); + BeanUtils.copyProperties(examPaperE, d); + examPaperRepository.save(d); + return true; + } + + @Override + public Boolean update(ExamPaperE examPaperE) { + ExamPaperDO d = new ExamPaperDO(); + BeanUtils.copyProperties(examPaperE, d); + examPaperRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedExamPaperById(Long id) { + return examPaperRepository.removeById(id); + } + + @Override + public Boolean deletedExamPaperByIds(List idList) { + return examPaperRepository.removeByIds(idList); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/QuestionGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/QuestionGatewayImpl.java similarity index 70% rename from web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/QuestionGatewayImpl.java rename to web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/QuestionGatewayImpl.java index bcd048b..96add8b 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/QuestionGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/QuestionGatewayImpl.java @@ -1,17 +1,16 @@ -package com.zcloud.edu.gatewayimpl; +package com.zcloud.edu.gatewayimpl.resource; import com.alibaba.cloud.commons.lang.StringUtils; -import com.zcloud.edu.domain.gateway.QuestionGateway; -import com.zcloud.edu.domain.model.QuestionE; +import com.zcloud.edu.domain.gateway.resource.QuestionGateway; +import com.zcloud.edu.domain.model.resource.QuestionE; import com.zcloud.edu.persistence.dataobject.QuestionDO; -import com.zcloud.edu.persistence.repository.QuestionRepository; +import com.zcloud.edu.persistence.repository.resource.QuestionRepository; import com.zcloud.gbscommon.utils.UuidUtil; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.Arrays; -import java.util.Collections; /** * web-infrastructure @@ -33,15 +32,6 @@ public class QuestionGatewayImpl implements QuestionGateway { if(StringUtils.isEmpty(d.getQuestionId())){ d.setQuestionId(UuidUtil.get32UUID()); } - - // 题号 - Integer maxQuestionNumber = 0; - if(d.getCoursewareType() == 1){ - maxQuestionNumber = questionRepository.getMaxQuestionNumber(d.getVideoCoursewareId()); - }else if(d.getCoursewareType() == 2){ - // TODO 试卷类型 - } - d.setQuestionNumber(maxQuestionNumber + 1); questionRepository.save(d); return true; } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherCertificateGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/TeacherCertificateGatewayImpl.java similarity index 86% rename from web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherCertificateGatewayImpl.java rename to web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/TeacherCertificateGatewayImpl.java index 6a2279e..017e7bf 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherCertificateGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/TeacherCertificateGatewayImpl.java @@ -1,10 +1,10 @@ -package com.zcloud.edu.gatewayimpl; +package com.zcloud.edu.gatewayimpl.resource; import com.jjb.saas.framework.auth.utils.AuthContext; -import com.zcloud.edu.domain.gateway.TeacherCertificateGateway; -import com.zcloud.edu.domain.model.TeacherCertificateE; +import com.zcloud.edu.domain.gateway.resource.TeacherCertificateGateway; +import com.zcloud.edu.domain.model.resource.TeacherCertificateE; import com.zcloud.edu.persistence.dataobject.TeacherCertificateDO; -import com.zcloud.edu.persistence.repository.TeacherCertificateRepository; +import com.zcloud.edu.persistence.repository.resource.TeacherCertificateRepository; import com.zcloud.gbscommon.utils.UuidUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang.StringUtils; @@ -12,7 +12,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.Arrays; -import java.util.Collections; /** * web-infrastructure diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/TeacherGatewayImpl.java similarity index 82% rename from web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherGatewayImpl.java rename to web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/TeacherGatewayImpl.java index 64bc026..b71df98 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/TeacherGatewayImpl.java @@ -1,15 +1,14 @@ -package com.zcloud.edu.gatewayimpl; +package com.zcloud.edu.gatewayimpl.resource; -import com.zcloud.edu.domain.gateway.TeacherGateway; -import com.zcloud.edu.domain.model.TeacherE; +import com.zcloud.edu.domain.gateway.resource.TeacherGateway; +import com.zcloud.edu.domain.model.resource.TeacherE; import com.zcloud.edu.persistence.dataobject.TeacherDO; -import com.zcloud.edu.persistence.repository.TeacherRepository; +import com.zcloud.edu.persistence.repository.resource.TeacherRepository; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.Arrays; -import java.util.Collections; /** * web-infrastructure diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TrainingTypeGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/TrainingTypeGatewayImpl.java similarity index 85% rename from web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TrainingTypeGatewayImpl.java rename to web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/TrainingTypeGatewayImpl.java index 6ba04ba..12fd1a0 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TrainingTypeGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/TrainingTypeGatewayImpl.java @@ -1,10 +1,10 @@ -package com.zcloud.edu.gatewayimpl; +package com.zcloud.edu.gatewayimpl.resource; import com.alibaba.cloud.commons.lang.StringUtils; -import com.zcloud.edu.domain.gateway.TrainingTypeGateway; -import com.zcloud.edu.domain.model.TrainingTypeE; +import com.zcloud.edu.domain.gateway.resource.TrainingTypeGateway; +import com.zcloud.edu.domain.model.resource.TrainingTypeE; import com.zcloud.edu.persistence.dataobject.TrainingTypeDO; -import com.zcloud.edu.persistence.repository.TrainingTypeRepository; +import com.zcloud.edu.persistence.repository.resource.TrainingTypeRepository; import com.zcloud.gbscommon.utils.UuidUtil; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/VideoCoursewareGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/VideoCoursewareGatewayImpl.java similarity index 51% rename from web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/VideoCoursewareGatewayImpl.java rename to web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/VideoCoursewareGatewayImpl.java index a4a936e..0ad23c9 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/VideoCoursewareGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/resource/VideoCoursewareGatewayImpl.java @@ -1,19 +1,17 @@ -package com.zcloud.edu.gatewayimpl; +package com.zcloud.edu.gatewayimpl.resource; import com.alibaba.cloud.commons.lang.StringUtils; -import com.alibaba.cola.exception.BizException; import com.jjb.saas.framework.auth.utils.AuthContext; -import com.zcloud.edu.domain.gateway.VideoCoursewareGateway; -import com.zcloud.edu.domain.model.VideoCoursewareE; +import com.zcloud.edu.domain.enums.CommonFlagEnum; +import com.zcloud.edu.domain.gateway.resource.VideoCoursewareGateway; +import com.zcloud.edu.domain.model.resource.VideoCoursewareE; import com.zcloud.edu.persistence.dataobject.VideoCoursewareDO; -import com.zcloud.edu.persistence.repository.VideoCoursewareRepository; +import com.zcloud.edu.persistence.repository.resource.VideoCoursewareRepository; import com.zcloud.gbscommon.utils.UuidUtil; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import java.math.BigDecimal; -import java.math.RoundingMode; import java.util.Collections; /** @@ -29,38 +27,16 @@ public class VideoCoursewareGatewayImpl implements VideoCoursewareGateway { @Override public Boolean add(VideoCoursewareE videoCoursewareE) { + if(StringUtils.isEmpty(videoCoursewareE.getVideoCoursewareId())){ + videoCoursewareE.setVideoCoursewareId(UuidUtil.get32UUID()); + } + if(videoCoursewareE.getCorpinfoId() == null){ + videoCoursewareE.setCorpinfoId(AuthContext.getTenantId()); + } + videoCoursewareE.setState(CommonFlagEnum.YES.getCode()); VideoCoursewareDO d = new VideoCoursewareDO(); BeanUtils.copyProperties(videoCoursewareE, d); - if(StringUtils.isEmpty(d.getVideoCoursewareId())){ - d.setVideoCoursewareId(UuidUtil.get32UUID()); - } - if(d.getCorpinfoId() == null){ - d.setCorpinfoId(AuthContext.getTenantId()); - } - d.setState(1); - // 计算课时 - if(StringUtils.isNotEmpty(d.getVideoTime())){ - String videoTime = d.getVideoTime(); - try { - // 将字符串转换为数字(分钟) - double minutes = Double.parseDouble(videoTime); - - // 除以45,每45分钟为一课时 - double classHours = minutes / 45.0; - - // 四舍五入保留两位小数 - BigDecimal result = new BigDecimal(classHours) - .setScale(2, RoundingMode.HALF_UP); - - // 使用结果 - d.setClassHour(result.toString()); - } catch (NumberFormatException e) { - // 处理数字格式错误 - throw new BizException("视频时间格式错误: " + videoTime); - } - } - videoCoursewareRepository.save(d); return true; } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CorpInfoDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CorpInfoDO.java new file mode 100644 index 0000000..3bdc95b --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CorpInfoDO.java @@ -0,0 +1,229 @@ +package com.zcloud.edu.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2025-10-30 15:12:49 + */ +@Data +@TableName("corp_info") +@EqualsAndHashCode(callSuper = true) +public class CorpInfoDO extends BaseDO { + + //企业id + @ApiModelProperty(value = "企业id") + private String corpinfoId; + //企业名称 + @ApiModelProperty(value = "企业名称") + private String corpName; + + //企业类型(0-普通企业,1-集团单位,2-股份单位,3-相关方企业,4-货主单位,5-驻港单位) + @ApiModelProperty(value = "企业类型(0-普通企业,1-集团单位,2-股份单位,3-相关方企业,4-货主单位,5-驻港单位)") + private Integer type; + //相关方等级,1 一级相关方,2 二级相关方 + @ApiModelProperty(value = "相关方等级,1 一级相关方,2 二级相关方") + private Integer xgfLevel; + //企业再列表中的排序 + @ApiModelProperty(value = "企业再列表中的排序") + private Integer corpOrder; + //是否启用,1:启用,2:关闭 + @ApiModelProperty(value = "是否启用,1:启用,0:关闭") + private Integer useFlag; + //统一社会信用代码 + @ApiModelProperty(value = "统一社会信用代码") + private String code; + //通讯地址 + @ApiModelProperty(value = "通讯地址") + private String address; + //邮编 + @ApiModelProperty(value = "邮编") + private String postalCode; + //所属区域 + @ApiModelProperty(value = "所属区域") + private String companyArea; + + //规模 + @ApiModelProperty(value = "规模") + private String scale; + @ApiModelProperty(value = "规模名称") + private String scaleName; + //成立时间 + @ApiModelProperty(value = "成立时间") + private LocalDate createDate; + //企业状态 + @ApiModelProperty(value = "企业状态") + private String corpState; + //企业状态名称 + @ApiModelProperty(value = "企业状态名称") + private String corpStateName; + //资产总额(万元) + @ApiModelProperty(value = "资产总额(万元)") + private BigDecimal totalAssets; + //注册资金(万元) + @ApiModelProperty(value = "注册资金(万元)") + private BigDecimal regcapital; + //企事业单位经营地址 + @ApiModelProperty(value = "企事业单位经营地址") + private String addressBusiness; + //企事业单位办公地址 + @ApiModelProperty(value = "企事业单位办公地址") + private String addressOffice; + //经济类型 + @ApiModelProperty(value = "经济类型") + private String ecoType; + @ApiModelProperty(value = "经济类型名称") + private String ecoTypeName; + //主要负责人 + @ApiModelProperty(value = "主要负责人") + private String contacts; + //主要负责人手机号 + @ApiModelProperty(value = "主要负责人手机号") + private String contactsPhone; + //安全负责人 + @ApiModelProperty(value = "安全负责人") + private String safetyName; + //安全负责人手机号 + @ApiModelProperty(value = "安全负责人手机号") + private String safetyPhone; + //是否规模以上,1:是,0:否 + @ApiModelProperty(value = "是否规模以上,1:是,0:否") + private Integer scaleType; + //占地面积 + @ApiModelProperty(value = "占地面积") + private BigDecimal areaCovered; + //职工人数 + @ApiModelProperty(value = "职工人数") + private Integer employees; + //经度 + @ApiModelProperty(value = "经度") + private String longitude; + //纬度 + @ApiModelProperty(value = "纬度") + private String latitude; + @ApiModelProperty(value = "所属区域名称") + private String areaName; + @ApiModelProperty(value = "所属区域编码") + private String areaCode; + //法定代表人 + @ApiModelProperty(value = "法定代表人") + private String lrName; + //法人手机号 + @ApiModelProperty(value = "法人手机号") + private String lrMobile; + //行业分类 + @ApiModelProperty(value = "行业分类") + private String corpType; + //行业分类名称 + @ApiModelProperty(value = "行业分类名称") + private String corpTypeName; + //行业分类 + @ApiModelProperty(value = "行业分类") + private String corpType2; + //行业分类名称 + @ApiModelProperty(value = "行业分类名称") + private String corpType2Name; + //行业分类 + @ApiModelProperty(value = "行业分类") + private String corpType3; + //行业分类名称 + @ApiModelProperty(value = "行业分类名称") + private String corpType3Name; + //行业分类 + @ApiModelProperty(value = "行业分类") + private String corpType4; + //行业分类名称 + @ApiModelProperty(value = "行业分类名称") + private String corpType4Name; + //所属省名称 + @ApiModelProperty(value = "所属省名称") + private String provinceName; + //所属省编码 + @ApiModelProperty(value = "所属省编码") + private String province; + //所属市级名称 + @ApiModelProperty(value = "所属市级名称") + private String cityName; + //所属市级编码 + @ApiModelProperty(value = "所属市级编码") + private String city; + //所属区县名称 + @ApiModelProperty(value = "所属区县名称") + private String countryName; + //所属区县编码 + @ApiModelProperty(value = "所属区县编码") + private String country; + //所属乡镇名称 + @ApiModelProperty(value = "所属乡镇名称") + private String villageName; + //所属乡镇编码 + @ApiModelProperty(value = "所属乡镇编码") + private String village; + //所属街道名称 + @ApiModelProperty(value = "所属街道名称") + private String streetName; + //所属街道编码 + @ApiModelProperty(value = "所属街道编码") + private String street; + + //营业执照开始时间 + @ApiModelProperty(value = "营业执照开始时间") + private LocalDate licenseStart; + //营业执照结束时间 + @ApiModelProperty(value = "营业执照结束时间") + private LocalDate licenseEnd; + //有无职业卫生信息,1:是,0:否 + @ApiModelProperty(value = "有无职业卫生信息,1:是,0:否") + private Integer whetherHygieneFlag; + //有无重大危险源,1:是,0:否 + @ApiModelProperty(value = "有无重大危险源,1:是,0:否") + private Integer whetherHazardsFlag; + //是否有稀缺大型应急物资或设施,1:是,0:否 + @ApiModelProperty(value = "是否有稀缺大型应急物资或设施,1:是,0:否") + private Integer whetherScarceFlag; + //是否涉及危化品,1:是,0:否 + @ApiModelProperty(value = "是否涉及危化品,1:是,0:否") + private Integer whetherChemicalsFlag; + //有无特种设备,1:是,0:否 + @ApiModelProperty(value = "有无特种设备,1:是,0:否") + private Integer whetherSpecialequipmentFlag; + //有无特存种作业人员,1:是,0:否 + @ApiModelProperty(value = "有无特存种作业人员,1:是,0:否") + private Integer whetherSpecialpeopleFlag; + //是否涉及煤气,1:是,0:否 + @ApiModelProperty(value = "是否涉及煤气,1:是,0:否") + private Integer whetherCoalgasFlag; + //是否属于消防重点单位,1:是,0:否 + @ApiModelProperty(value = "是否属于消防重点单位,1:是,0:否") + private Integer whetherFireFlag; + //是否在有限空间作业,1:是,0:否 + @ApiModelProperty(value = "是否在有限空间作业,1:是,0:否") + private Integer whetherConfinedFlag; + //是否存在涉爆粉尘作业,1:是,0:否 + @ApiModelProperty(value = "是否存在涉爆粉尘作业,1:是,0:否") + private Integer whetherPowderFlag; + //是否涉及防雷防静电,1:是,0:否 + @ApiModelProperty(value = "是否涉及防雷防静电,1:是,0:否") + private Integer whetherLightningFlag; + //是否涉及危化品管道,1:是,0:否 + @ApiModelProperty(value = "是否涉及危化品管道,1:是,0:否") + private Integer whetherPipelineFlag; + //是否持有放射源,1:是,0:否 + @ApiModelProperty(value = "是否持有放射源,1:是,0:否") + private Integer whetherActinogenFlag; + //是否涉及液氨制冷,1:是,0:否 + @ApiModelProperty(value = "是否涉及液氨制冷,1:是,0:否") + private Integer whetherLiquidammoniaFlag; + + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CurriculumChapterDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CurriculumChapterDO.java new file mode 100644 index 0000000..7f3c45f --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CurriculumChapterDO.java @@ -0,0 +1,48 @@ +package com.zcloud.edu.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Data +@TableName("curriculum_chapter") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class CurriculumChapterDO extends BaseDO { + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String curriculumChapterId; + //企业ID + @ApiModelProperty(value = "企业ID") + private Long corpinfoId; + //课程id + @ApiModelProperty(value = "课程id") + private String curriculumId; + //章节名字 + @ApiModelProperty(value = "章节名字") + private String name; + //视频课件id + @ApiModelProperty(value = "视频课件id") + private String videoCoursewareId; + //排序 + @ApiModelProperty(value = "排序") + private Integer sort; + //上级ID + @ApiModelProperty(value = "上级ID") + private String parentId; + + public CurriculumChapterDO(String curriculumChapterId) { + this.curriculumChapterId = curriculumChapterId; + } + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CurriculumDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CurriculumDO.java new file mode 100644 index 0000000..0c687eb --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/CurriculumDO.java @@ -0,0 +1,72 @@ +package com.zcloud.edu.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Data +@TableName("curriculum") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class CurriculumDO extends BaseDO { + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String curriculumId; + //企业ID + @ApiModelProperty(value = "企业ID") + private Long corpinfoId; + //课程名称 + @ApiModelProperty(value = "课程名称") + private String curriculumName; + //培训类型id + @ApiModelProperty(value = "培训类型id") + private String trainingTypeId; + //课程描述 + @ApiModelProperty(value = "课程描述") + private String curriculumIntroduce; + //封面路径url + @ApiModelProperty(value = "封面路径url") + private String coverPath; + + //课程状态 1-上架 0-下架 + @ApiModelProperty(value = "课程状态 1-上架 0-下架") + private Integer sellFlag; + //目录级别 1-一级目录 2-二级目录 + @ApiModelProperty(value = "目录级别 1-一级目录 2-二级目录") + private Integer catalogueLevel; + + @ApiModelProperty(value = "企业名称") + @TableField(exist = false) + private String corpName; + + @ApiModelProperty(value = "培训类型名称") + @TableField(exist = false) + private String trainingTypeName; + + @ApiModelProperty(value = "课件数量") + @TableField(exist = false) + private Integer chapterCount; + //总视频时长 + @ApiModelProperty(value = "总视频时长") + @TableField(exist = false) + private Integer videoTime; + + + public CurriculumDO(String curriculumId) { + this.curriculumId = curriculumId; + } + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/ExamPaperDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/ExamPaperDO.java new file mode 100644 index 0000000..0e9b2b6 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/ExamPaperDO.java @@ -0,0 +1,62 @@ +package com.zcloud.edu.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Data +@TableName("exam_paper") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ExamPaperDO extends BaseDO { + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String examPaperId; + //企业ID + @ApiModelProperty(value = "企业ID") + private Long corpinfoId; + //试卷名称 + @ApiModelProperty(value = "试卷名称") + private String examName; + //试卷总分数 + @ApiModelProperty(value = "试卷总分数") + private BigDecimal examScore; + //合格分数 + @ApiModelProperty(value = "合格分数") + private BigDecimal passScore; + //是否上架(0否 1是) + @ApiModelProperty(value = "是否上架(0否 1是)") + private Integer sellFlag; + //考试时长(分钟) + @ApiModelProperty(value = "考试时长(分钟)") + private String examTime; + + //试卷类型 1-自建试卷 2-班级中自动生成试卷 + @ApiModelProperty(value = "试卷类型 1-自建试卷 2-班级中自动生成试卷") + private Integer type; + + @ApiModelProperty(value = "企业名称") + @TableField(exist = false) + private String corpName; + @ApiModelProperty(value = "企业类型") + @TableField(exist = false) + private Integer corpType; + + public ExamPaperDO(String examPaperId) { + this.examPaperId = examPaperId; + } + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/QuestionDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/QuestionDO.java index b4a691b..b76af9a 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/QuestionDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/QuestionDO.java @@ -7,6 +7,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import java.math.BigDecimal; + /** * web-infrastructure * @@ -27,9 +29,9 @@ public class QuestionDO extends BaseDO { //试卷id @ApiModelProperty(value = "试卷id") private String examPaperId; - //题号 +/* //题号 @ApiModelProperty(value = "题号") - private Integer questionNumber; + private Integer questionNumber;*/ //试题类型(单选题、多选题、判断题、填空题) @ApiModelProperty(value = "试题类型(1单选题、2多选题、3判断题)") private String questionType; @@ -59,7 +61,7 @@ public class QuestionDO extends BaseDO { private String descr; //分值 @ApiModelProperty(value = "分值") - private String score; + private BigDecimal score; public QuestionDO(String questionId) { this.questionId = questionId; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherCertificateDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherCertificateDO.java index 9b83359..6cbad80 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherCertificateDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherCertificateDO.java @@ -44,9 +44,7 @@ public class TeacherCertificateDO extends BaseDO { //证书有效期(结束) @ApiModelProperty(value = "证书有效期(结束)") private Date certificateDateEnd; - //证书照片 - @ApiModelProperty(value = "证书照片") - private String certificateFilepath; + //企业ID @ApiModelProperty(value = "企业ID") private Long corpinfoId; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherDO.java index 0b1e0ad..b9bc9f5 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherDO.java @@ -7,6 +7,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import java.time.LocalDateTime; import java.util.Date; /** @@ -29,24 +30,15 @@ public class TeacherDO extends BaseDO { //企业ID @ApiModelProperty(value = "企业ID") private Long corpinfoId; + @ApiModelProperty(value = "单位名称") @TableField(exist = false) private String corpinfoName; //教师姓名 @ApiModelProperty(value = "教师姓名") + @TableField(exist = false) private String teacherName; - //手机号 - @ApiModelProperty(value = "手机号") - private String phone; - //身份证号 - @ApiModelProperty(value = "身份证号") - private String identityNumber; - //文化程度 - @ApiModelProperty(value = "文化程度") - private String educationLevel; - //文化程度名称 - @ApiModelProperty(value = "文化程度名称") - private String educationLevelName; + //专业 @ApiModelProperty(value = "专业") private String profession; @@ -66,9 +58,10 @@ public class TeacherDO extends BaseDO { @ApiModelProperty(value = "状态(0-禁用 1-启用)(老项目0启用,1禁用)") private Integer state; - @ApiModelProperty(value = "资质类型名称") + + @ApiModelProperty(value = "证书数量") @TableField(exist = false) - private String qualificationTypeNames; + private Integer certificateCount; public TeacherDO(String teacherId) { this.teacherId = teacherId; 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 d279d7e..ab0eb2f 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 @@ -1,17 +1,18 @@ package com.zcloud.edu.persistence.dataobject; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; import com.jjb.saas.framework.repository.basedo.BaseDO; -import lombok.Data; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; /** * web-infrastructure * - * @Author SondonYong - * @Date 2025-11-27 14:05:32 + * @Author zhaokai + * @Date 2026-01-08 14:36:21 */ @Data @TableName("video_courseware") @@ -24,19 +25,15 @@ public class VideoCoursewareDO extends BaseDO { //企业ID @ApiModelProperty(value = "企业ID") private Long corpinfoId; - private String corpName; //课件名称 @ApiModelProperty(value = "课件名称") private String coursewareName; //培训类型id @ApiModelProperty(value = "培训类型id") private String trainingTypeId; - //培训类型名称 - private String trainingTypeName; //教师id @ApiModelProperty(value = "教师id") private String teacherId; - private String teacherName; //课件文件路径 @ApiModelProperty(value = "课件文件路径") private String videoFiles; @@ -46,12 +43,23 @@ public class VideoCoursewareDO extends BaseDO { //课件状态 0未启用, 1-启用 @ApiModelProperty(value = "课件状态 0未启用, 1-启用") private Integer state; - //学时,单位分钟 - @ApiModelProperty(value = "学时,单位分钟") - private String classHour; - //课件时长(视频时间)-分钟 - @ApiModelProperty(value = "课件时长(视频时间)-分钟") - private String videoTime; + //课件时长(视频时间)-秒 + @ApiModelProperty(value = "课件时长(视频时间)-秒") + private Integer videoTime; + @ApiModelProperty(value = "课件截图url") + private String screenshotUrl; + @ApiModelProperty(value = "企业名称") + @TableField(exist = false) + private String corpName; + @ApiModelProperty(value = "教师名称") + @TableField(exist = false) + private String teacherName; + @ApiModelProperty(value = "培训类型名称") + @TableField(exist = false) + private String trainingTypeName; + @ApiModelProperty(value = "企业类型") + @TableField(exist = false) + private Integer corpType; public VideoCoursewareDO(String videoCoursewareId) { this.videoCoursewareId = videoCoursewareId; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CorpInfoMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CorpInfoMapper.java new file mode 100644 index 0000000..c75829c --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CorpInfoMapper.java @@ -0,0 +1,17 @@ +package com.zcloud.edu.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.edu.persistence.dataobject.CorpInfoDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2025-10-29 16:02:16 + */ +@Mapper +public interface CorpInfoMapper extends BaseMapper { + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CurriculumChapterMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CurriculumChapterMapper.java new file mode 100644 index 0000000..5676cd4 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CurriculumChapterMapper.java @@ -0,0 +1,17 @@ +package com.zcloud.edu.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.edu.persistence.dataobject.CurriculumChapterDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Mapper +public interface CurriculumChapterMapper extends BaseMapper { + +} + 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 new file mode 100644 index 0000000..3c19354 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/CurriculumMapper.java @@ -0,0 +1,22 @@ +package com.zcloud.edu.persistence.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zcloud.edu.persistence.dataobject.CurriculumDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.Map; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +@Mapper +public interface CurriculumMapper extends BaseMapper { + + IPage getListPage(IPage iPage, Map params); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/ExamPaperMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/ExamPaperMapper.java new file mode 100644 index 0000000..ce178d9 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/ExamPaperMapper.java @@ -0,0 +1,23 @@ +package com.zcloud.edu.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zcloud.edu.persistence.dataobject.ExamPaperDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.Map; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 17:04:42 + */ +@Mapper +public interface ExamPaperMapper extends BaseMapper { + + IPage listPage(IPage iPage, Map params); + + ExamPaperDO getInfoById(Long id); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TeacherMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TeacherMapper.java index d1aee2a..3e334d4 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TeacherMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TeacherMapper.java @@ -21,8 +21,9 @@ public interface TeacherMapper extends BaseMapper { IPage getTeacherPage(IPage page, Map params); - List getTeacherList(@Param("ew") QueryWrapper queryWrapper); + List getTeacherList(@Param("params")Map params); + TeacherDO getInfoById(Long id); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/VideoCoursewareMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/VideoCoursewareMapper.java index b0e3d7d..8163a27 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/VideoCoursewareMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/VideoCoursewareMapper.java @@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * web-infrastructure @@ -20,9 +21,9 @@ public interface VideoCoursewareMapper extends BaseMapper { VideoCoursewareDO getInfoById(@Param("id") Long id); - IPage getVideoCoursewarePage(IPage page, @Param("ew") QueryWrapper queryWrapper); + IPage getVideoCoursewarePage(IPage page,@Param("params")Map params); - List getVideoCoursewareList(@Param("ew") QueryWrapper queryWrapper); + List getVideoCoursewareList(@Param("params")Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherRepositoryImpl.java deleted file mode 100644 index 972cb3e..0000000 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherRepositoryImpl.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.zcloud.edu.persistence.repository.impl; - -import com.jjb.saas.framework.auth.utils.AuthContext; -import com.jjb.saas.framework.repository.common.PageHelper; -import com.zcloud.edu.persistence.dataobject.TeacherDO; -import com.zcloud.edu.persistence.mapper.TeacherMapper; -import com.zcloud.edu.persistence.repository.TeacherRepository; -import com.alibaba.cola.dto.SingleResponse; -import com.alibaba.cola.dto.PageResponse; -import com.zcloud.gbscommon.utils.PageQueryHelper; -import com.zcloud.gbscommon.utils.Query; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; -import lombok.RequiredArgsConstructor; -import org.apache.commons.lang.StringUtils; -import org.springframework.stereotype.Service; - -import java.util.Collections; -import java.util.Map; -import java.util.List; - -/** - * web-infrastructure - * - * @Author SondonYong - * @Date 2025-11-26 17:04:44 - */ -@Service -@RequiredArgsConstructor -public class TeacherRepositoryImpl extends BaseRepositoryImpl implements TeacherRepository { - private final TeacherMapper teacherMapper; - - @Override - public PageResponse listPage(Map params) { - if(params.get("corpFlag") != null){ - Integer corpFlag = (Integer)params.get("corpFlag"); - if(corpFlag == 2){ - params.put("eqCorpinfoId", AuthContext.getTenantId()); - } - } - IPage iPage = new Query().getPage(params); -// QueryWrapper queryWrapper = new QueryWrapper<>(); -// queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "a."); -// queryWrapper.eq("a.delete_enum", "FALSE"); -//// if(StringUtils.isNotEmpty((String) params.get("qualificationType"))){ -//// queryWrapper.in("b.qualification_type", params.get("qualificationType").toString()); -//// } -// String qualificationType = ""; -// if(params.get("qualificationType") != null){ -// qualificationType = params.get("qualificationType").toString(); -// } -// queryWrapper.groupBy("a.teacher_id") -// .groupBy("a.id") -// .groupBy("a.user_id") -// .groupBy("a.corpinfo_id") -// .groupBy("a.teacher_name") -// .groupBy("a.state") -// .groupBy("a.create_time"); -// queryWrapper.orderByDesc("a.create_time"); - IPage result = teacherMapper.getTeacherPage(iPage, params); - return PageHelper.pageToResponse(result, result.getRecords()); - } - - @Override - public List list(Map params) { - if(params.get("corpFlag") != null){ - Integer corpFlag = (Integer)params.get("corpFlag"); - if(corpFlag == 2){ - params.put("eqCorpinfoId", AuthContext.getTenantId()); - } - } - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "a."); - queryWrapper.eq("a.delete_enum", "FALSE"); - queryWrapper.orderByDesc("a.create_time"); - List result = teacherMapper.getTeacherList(queryWrapper); - return result; - } - - @Override - public List listByIds(List ids) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("a.id", ids); - return list(queryWrapper); - } - - @Override - public SingleResponse getInfoById(Long id) { - return SingleResponse.of(teacherMapper.selectById(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 new file mode 100644 index 0000000..5d1c484 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CorpInfoRepositoryImpl.java @@ -0,0 +1,86 @@ +package com.zcloud.edu.persistence.repository.impl.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.exception.BizException; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.edu.domain.enums.CommonFlagEnum; +import com.zcloud.edu.persistence.dataobject.CorpInfoDO; +import com.zcloud.edu.persistence.mapper.CorpInfoMapper; +import com.zcloud.edu.persistence.repository.resource.CorpInfoRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.gbscommon.utils.Query; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2025-10-29 16:02:17 + */ +@Service +@RequiredArgsConstructor +public class CorpInfoRepositoryImpl extends BaseRepositoryImpl implements CorpInfoRepository { + private final CorpInfoMapper corpInfoMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + queryWrapper.orderByAsc("corp_order").orderByDesc("create_time"); + IPage result = corpInfoMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public List listByCorpType(List types) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("type", types); + queryWrapper.eq("use_flag", CommonFlagEnum.YES.getCode()); + return corpInfoMapper.selectList(queryWrapper); + } + + @Override + public Long getCorpCountByCorpName(String corpName) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("corp_name", corpName); + return corpInfoMapper.selectCount(queryWrapper); + } + @Override + public Long getTotalCount() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("use_flag", CommonFlagEnum.YES.getCode()); + queryWrapper.in("type", new Integer[]{0,1}); + return corpInfoMapper.selectCount(queryWrapper); + } + + @Override + public boolean isSupper() { + //判断当前企业是否是监管端 + CorpInfoDO corpInfoDO = corpInfoMapper.selectById(AuthContext.getTenantId()); + if(corpInfoDO == null) + throw new BizException("当前企业不存在"); + if(corpInfoDO.getType() == 2) + return true; + return false; + } + + @Override + public Boolean checkSupper(Long corpinfoId) { + CorpInfoDO corpInfoDO = corpInfoMapper.selectById(corpinfoId); + if(corpInfoDO == null) + throw new BizException("当前企业不存在"); + if(corpInfoDO.getType() == 2) + return true; + return false; + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CurriculumChapterRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CurriculumChapterRepositoryImpl.java new file mode 100644 index 0000000..7476510 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CurriculumChapterRepositoryImpl.java @@ -0,0 +1,61 @@ +package com.zcloud.edu.persistence.repository.impl.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.edu.persistence.dataobject.CurriculumChapterDO; +import com.zcloud.edu.persistence.mapper.CurriculumChapterMapper; +import com.zcloud.edu.persistence.repository.resource.CurriculumChapterRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.gbscommon.utils.Query; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +@Service +@RequiredArgsConstructor +public class CurriculumChapterRepositoryImpl extends BaseRepositoryImpl implements CurriculumChapterRepository { + private final CurriculumChapterMapper curriculumChapterMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + queryWrapper.orderByDesc("create_time"); + IPage result = curriculumChapterMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public Long getListByVideoCoursewareId(String videoCoursewareId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("video_courseware_id", videoCoursewareId); + return curriculumChapterMapper.selectCount(queryWrapper); + } + + @Override + public List getListByCurriculumId(String curriculumId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("curriculum_id", curriculumId); + return curriculumChapterMapper.selectList(queryWrapper); + } + + @Override + public void deleteByCurriculumId(String curriculumId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("curriculum_id", curriculumId); + curriculumChapterMapper.delete(queryWrapper); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CurriculumRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CurriculumRepositoryImpl.java new file mode 100644 index 0000000..96653b1 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/CurriculumRepositoryImpl.java @@ -0,0 +1,55 @@ +package com.zcloud.edu.persistence.repository.impl.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.edu.persistence.dataobject.CurriculumDO; +import com.zcloud.edu.persistence.mapper.CurriculumMapper; +import com.zcloud.edu.persistence.repository.resource.CurriculumRepository; +import com.zcloud.gbscommon.utils.Query; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 13:45:39 + */ +@Service +@RequiredArgsConstructor +public class CurriculumRepositoryImpl extends BaseRepositoryImpl implements CurriculumRepository { + private final CurriculumMapper curriculumMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + IPage result = curriculumMapper.getListPage(iPage, params); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public Long getListByTraingId(String trainingTypeId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("training_type_id", trainingTypeId); + return curriculumMapper.selectCount(queryWrapper); + } + + @Override + public boolean updateState(List id, Integer sellFlag) { + if (id == null || id.isEmpty()) { + return false; + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id", id); + CurriculumDO curriculumDO = new CurriculumDO(); + curriculumDO.setSellFlag(sellFlag); + return update(curriculumDO, queryWrapper); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/ExamPaperRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/ExamPaperRepositoryImpl.java new file mode 100644 index 0000000..50d03cb --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/ExamPaperRepositoryImpl.java @@ -0,0 +1,55 @@ +package com.zcloud.edu.persistence.repository.impl.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.edu.persistence.dataobject.ExamPaperDO; +import com.zcloud.edu.persistence.mapper.ExamPaperMapper; +import com.zcloud.edu.persistence.repository.resource.ExamPaperRepository; +import com.zcloud.gbscommon.utils.Query; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 17:04:43 + */ +@Service +@RequiredArgsConstructor +public class ExamPaperRepositoryImpl extends BaseRepositoryImpl implements ExamPaperRepository { + private final ExamPaperMapper examPaperMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + IPage result = examPaperMapper.listPage(iPage, params); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public ExamPaperDO getInfoById(Long id) { + return examPaperMapper.getInfoById(id); + } + + @Override + public List getListByIdList(List list) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id", list); + return examPaperMapper.selectList(queryWrapper); + } + + @Override + public ExamPaperDO getInfoByUUid(String examPaperId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("exam_paper_id", examPaperId); + return examPaperMapper.selectOne(queryWrapper); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/QuestionRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/QuestionRepositoryImpl.java similarity index 57% rename from web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/QuestionRepositoryImpl.java rename to web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/QuestionRepositoryImpl.java index ff7881d..be905bc 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/QuestionRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/QuestionRepositoryImpl.java @@ -1,9 +1,10 @@ -package com.zcloud.edu.persistence.repository.impl; +package com.zcloud.edu.persistence.repository.impl.resource; import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.edu.domain.enums.CoursewareTypeEnum; import com.zcloud.edu.persistence.dataobject.QuestionDO; import com.zcloud.edu.persistence.mapper.QuestionMapper; -import com.zcloud.edu.persistence.repository.QuestionRepository; +import com.zcloud.edu.persistence.repository.resource.QuestionRepository; import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.dto.PageResponse; import com.zcloud.gbscommon.utils.PageQueryHelper; @@ -33,7 +34,7 @@ public class QuestionRepositoryImpl extends BaseRepositoryImpl iPage = new Query().getPage(params); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); - queryWrapper.orderByAsc("question_number"); + queryWrapper.orderByDesc("create_time"); IPage result = questionMapper.selectPage(iPage, queryWrapper); return PageHelper.pageToResponse(result, result.getRecords()); } @@ -47,12 +48,12 @@ public class QuestionRepositoryImpl extends BaseRepositoryImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("video_courseware_id", videoCoursewareId); return list(queryWrapper).stream().mapToInt(QuestionDO::getQuestionNumber).max().orElse(0); - } + }*/ @Override public SingleResponse getInfoById(Long id) { @@ -61,8 +62,46 @@ public class QuestionRepositoryImpl extends BaseRepositoryImpl list) { - saveBatch(list); + + super.saveBatch(list); return true; } + + @Override + public Long getCountByVideoCourseware(String videoCoursewareId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("video_courseware_id", videoCoursewareId); + queryWrapper.eq("courseware_type", CoursewareTypeEnum.VIDEO_COURSEWARE.getCode()); + return count(queryWrapper); + } + + @Override + public List getListByExamPaperId(String examPaperId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("exam_paper_id", examPaperId); + queryWrapper.eq("courseware_type", CoursewareTypeEnum.EXAM_QUESTION.getCode()); + return list(queryWrapper); + } + + @Override + public void removeByExampaperId(String examPaperId) { + + remove(new QueryWrapper().eq("exam_paper_id", examPaperId)); + } + + @Override + public void removeByExampaperIdList(List examPaperIdList) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("exam_paper_id", examPaperIdList); + remove(queryWrapper); + } + + @Override + public Long getCountByVideoCoursewareList(List videoCoursewareIds) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("video_courseware_id", videoCoursewareIds); + queryWrapper.eq("courseware_type", CoursewareTypeEnum.VIDEO_COURSEWARE.getCode()); + return count(queryWrapper); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherCertificateRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/TeacherCertificateRepositoryImpl.java similarity index 86% rename from web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherCertificateRepositoryImpl.java rename to web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/TeacherCertificateRepositoryImpl.java index 9b16388..3081b4a 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherCertificateRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/TeacherCertificateRepositoryImpl.java @@ -1,9 +1,9 @@ -package com.zcloud.edu.persistence.repository.impl; +package com.zcloud.edu.persistence.repository.impl.resource; import com.jjb.saas.framework.repository.common.PageHelper; import com.zcloud.edu.persistence.dataobject.TeacherCertificateDO; import com.zcloud.edu.persistence.mapper.TeacherCertificateMapper; -import com.zcloud.edu.persistence.repository.TeacherCertificateRepository; +import com.zcloud.edu.persistence.repository.resource.TeacherCertificateRepository; import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.dto.PageResponse; import com.zcloud.gbscommon.utils.PageQueryHelper; @@ -14,7 +14,6 @@ import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import java.util.Collections; import java.util.Map; import java.util.List; @@ -73,5 +72,12 @@ public class TeacherCertificateRepositoryImpl extends BaseRepositoryImpl 0; } + + @Override + public List getListByNumber(String vocationalCertificateNumber) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("vocational_certificate_number", vocationalCertificateNumber); + return list(queryWrapper); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/TeacherRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/TeacherRepositoryImpl.java new file mode 100644 index 0000000..c02b9e8 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/TeacherRepositoryImpl.java @@ -0,0 +1,56 @@ +package com.zcloud.edu.persistence.repository.impl.resource; + +import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.edu.persistence.dataobject.TeacherDO; +import com.zcloud.edu.persistence.mapper.TeacherMapper; +import com.zcloud.edu.persistence.repository.resource.TeacherRepository; +import com.alibaba.cola.dto.SingleResponse; +import com.alibaba.cola.dto.PageResponse; +import com.zcloud.gbscommon.utils.Query; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Map; +import java.util.List; + +/** + * web-infrastructure + * + * @Author SondonYong + * @Date 2025-11-26 17:04:44 + */ +@Service +@RequiredArgsConstructor +public class TeacherRepositoryImpl extends BaseRepositoryImpl implements TeacherRepository { + private final TeacherMapper teacherMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + IPage result = teacherMapper.getTeacherPage(iPage, params); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public List list(Map params) { + + List result = teacherMapper.getTeacherList(params); + return result; + } + + @Override + public List listByIds(List ids) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("a.id", ids); + return list(queryWrapper); + } + + @Override + public SingleResponse getInfoById(Long id) { + return SingleResponse.of(teacherMapper.getInfoById(id)); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingTypeRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/TrainingTypeRepositoryImpl.java similarity index 94% rename from web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingTypeRepositoryImpl.java rename to web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/TrainingTypeRepositoryImpl.java index e6a1dd2..5673a7d 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingTypeRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/TrainingTypeRepositoryImpl.java @@ -1,9 +1,9 @@ -package com.zcloud.edu.persistence.repository.impl; +package com.zcloud.edu.persistence.repository.impl.resource; import com.jjb.saas.framework.repository.common.PageHelper; import com.zcloud.edu.persistence.dataobject.TrainingTypeDO; import com.zcloud.edu.persistence.mapper.TrainingTypeMapper; -import com.zcloud.edu.persistence.repository.TrainingTypeRepository; +import com.zcloud.edu.persistence.repository.resource.TrainingTypeRepository; import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.dto.PageResponse; import com.zcloud.gbscommon.utils.PageQueryHelper; @@ -14,7 +14,6 @@ import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import java.util.Collections; import java.util.List; import java.util.Map; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/VideoCoursewareRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/VideoCoursewareRepositoryImpl.java similarity index 74% rename from web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/VideoCoursewareRepositoryImpl.java rename to web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/VideoCoursewareRepositoryImpl.java index d0f1a7f..8db82ec 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/VideoCoursewareRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/resource/VideoCoursewareRepositoryImpl.java @@ -1,12 +1,11 @@ -package com.zcloud.edu.persistence.repository.impl; +package com.zcloud.edu.persistence.repository.impl.resource; import com.jjb.saas.framework.repository.common.PageHelper; import com.zcloud.edu.persistence.dataobject.VideoCoursewareDO; import com.zcloud.edu.persistence.mapper.VideoCoursewareMapper; -import com.zcloud.edu.persistence.repository.VideoCoursewareRepository; +import com.zcloud.edu.persistence.repository.resource.VideoCoursewareRepository; import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.dto.PageResponse; -import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.Query; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -14,7 +13,6 @@ import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import java.util.Collections; import java.util.Map; import java.util.List; @@ -32,21 +30,13 @@ public class VideoCoursewareRepositoryImpl extends BaseRepositoryImpl listPage(Map params) { IPage iPage = new Query().getPage(params); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "a."); - queryWrapper.eq("a.delete_enum", "FALSE"); - queryWrapper.orderByDesc("a.create_time"); - IPage result = videoCoursewareMapper.getVideoCoursewarePage(iPage, queryWrapper); + IPage result = videoCoursewareMapper.getVideoCoursewarePage(iPage, params); return PageHelper.pageToResponse(result, result.getRecords()); } @Override public List list(Map params) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "a."); - queryWrapper.eq("a.delete_enum", "FALSE"); - queryWrapper.orderByDesc("a.create_time"); - List result = videoCoursewareMapper.getVideoCoursewareList(queryWrapper); + List result = videoCoursewareMapper.getVideoCoursewareList(params); return result; } @@ -68,5 +58,12 @@ public class VideoCoursewareRepositoryImpl extends BaseRepositoryImpl getInfoById(Long id) { return SingleResponse.of(videoCoursewareMapper.getInfoById(id)); } + + @Override + public Long getListByTraingId(String trainingTypeId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("training_type_id", trainingTypeId); + return videoCoursewareMapper.selectCount(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 new file mode 100644 index 0000000..b130581 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CorpInfoRepository.java @@ -0,0 +1,29 @@ +package com.zcloud.edu.persistence.repository.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.edu.persistence.dataobject.CorpInfoDO; + +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2025-10-29 16:02:17 + */ +public interface CorpInfoRepository extends BaseRepository { + PageResponse listPage(Map parmas); + + List listByCorpType(List types); + + Long getCorpCountByCorpName(String corpName); + + Long getTotalCount(); + + boolean isSupper(); + + Boolean checkSupper(Long corpinfoId); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CurriculumChapterRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CurriculumChapterRepository.java new file mode 100644 index 0000000..913e4ab --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CurriculumChapterRepository.java @@ -0,0 +1,25 @@ +package com.zcloud.edu.persistence.repository.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.edu.persistence.dataobject.CurriculumChapterDO; + +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 13:50:13 + */ +public interface CurriculumChapterRepository extends BaseRepository { + PageResponse listPage(Map params); + + Long getListByVideoCoursewareId(String videoCoursewareId); + + List getListByCurriculumId(String curriculumId); + + void deleteByCurriculumId(String curriculumId); +} + 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 new file mode 100644 index 0000000..3a4e448 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/CurriculumRepository.java @@ -0,0 +1,24 @@ +package com.zcloud.edu.persistence.repository.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.edu.persistence.dataobject.CurriculumDO; + +import javax.validation.constraints.NotNull; +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 13:45:38 + */ +public interface CurriculumRepository extends BaseRepository { + PageResponse listPage(Map params); + + Long getListByTraingId(String trainingTypeId); + + boolean updateState(@NotNull(message = "id不能为空") List id, @NotNull(message = "课程状态不能为空") Integer sellFlag); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/ExamPaperRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/ExamPaperRepository.java new file mode 100644 index 0000000..79f5430 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/ExamPaperRepository.java @@ -0,0 +1,25 @@ +package com.zcloud.edu.persistence.repository.resource; + +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.edu.persistence.dataobject.ExamPaperDO; + +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2026-01-09 17:04:43 + */ +public interface ExamPaperRepository extends BaseRepository { + PageResponse listPage(Map params); + + ExamPaperDO getInfoById(Long id); + + List getListByIdList(List list); + + ExamPaperDO getInfoByUUid(String examPaperId); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/QuestionRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/QuestionRepository.java similarity index 59% rename from web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/QuestionRepository.java rename to web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/QuestionRepository.java index 21efb8c..fb5758a 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/QuestionRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/QuestionRepository.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.persistence.repository; +package com.zcloud.edu.persistence.repository.resource; import com.zcloud.edu.persistence.dataobject.QuestionDO; import com.alibaba.cola.dto.SingleResponse; @@ -20,10 +20,20 @@ public interface QuestionRepository extends BaseRepository { List list(Map params); - Integer getMaxQuestionNumber(String videoCoursewareId); +// Integer getMaxQuestionNumber(String videoCoursewareId); SingleResponse getInfoById(Long id); boolean saveBatch(List list); + + Long getCountByVideoCourseware(String videoCoursewareId); + + List getListByExamPaperId(String examPaperId); + + void removeByExampaperId(String examPaperId); + + void removeByExampaperIdList(List examPaperIdList); + + Long getCountByVideoCoursewareList(List videoCoursewareIds); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherCertificateRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/TeacherCertificateRepository.java similarity index 77% rename from web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherCertificateRepository.java rename to web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/TeacherCertificateRepository.java index 9d26193..f9e5a52 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherCertificateRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/TeacherCertificateRepository.java @@ -1,10 +1,11 @@ -package com.zcloud.edu.persistence.repository; +package com.zcloud.edu.persistence.repository.resource; import com.zcloud.edu.persistence.dataobject.TeacherCertificateDO; import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; +import javax.validation.constraints.NotEmpty; import java.util.Map; import java.util.List; @@ -27,5 +28,7 @@ public interface TeacherCertificateRepository extends BaseRepository teacherIds); + + List getListByNumber(@NotEmpty(message = "职业证书编号不能为空") String vocationalCertificateNumber); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/TeacherRepository.java similarity index 91% rename from web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherRepository.java rename to web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/TeacherRepository.java index 3cfb11b..6580b82 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/TeacherRepository.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.persistence.repository; +package com.zcloud.edu.persistence.repository.resource; import com.zcloud.edu.persistence.dataobject.TeacherDO; import com.alibaba.cola.dto.SingleResponse; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TrainingTypeRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/TrainingTypeRepository.java similarity index 92% rename from web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TrainingTypeRepository.java rename to web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/TrainingTypeRepository.java index 2550dfe..3ace83c 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TrainingTypeRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/TrainingTypeRepository.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.persistence.repository; +package com.zcloud.edu.persistence.repository.resource; import com.zcloud.edu.persistence.dataobject.TrainingTypeDO; import com.alibaba.cola.dto.SingleResponse; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/VideoCoursewareRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/VideoCoursewareRepository.java similarity index 87% rename from web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/VideoCoursewareRepository.java rename to web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/VideoCoursewareRepository.java index 4ede425..a9a796e 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/VideoCoursewareRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/resource/VideoCoursewareRepository.java @@ -1,4 +1,4 @@ -package com.zcloud.edu.persistence.repository; +package com.zcloud.edu.persistence.repository.resource; import com.zcloud.edu.persistence.dataobject.VideoCoursewareDO; import com.alibaba.cola.dto.SingleResponse; @@ -25,5 +25,7 @@ public interface VideoCoursewareRepository extends BaseRepository listByTeacherIds(List teacherIds); SingleResponse getInfoById(Long id); + + Long getListByTraingId(String trainingTypeId); } diff --git a/web-infrastructure/src/main/resources/mapper/CurriculumChapterMapper.xml b/web-infrastructure/src/main/resources/mapper/CurriculumChapterMapper.xml new file mode 100644 index 0000000..04e65aa --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/CurriculumChapterMapper.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/web-infrastructure/src/main/resources/mapper/CurriculumMapper.xml b/web-infrastructure/src/main/resources/mapper/CurriculumMapper.xml new file mode 100644 index 0000000..6fc0316 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/CurriculumMapper.xml @@ -0,0 +1,50 @@ + + + + + + + + diff --git a/web-infrastructure/src/main/resources/mapper/ExamPaperMapper.xml b/web-infrastructure/src/main/resources/mapper/ExamPaperMapper.xml new file mode 100644 index 0000000..c732203 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/ExamPaperMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + diff --git a/web-infrastructure/src/main/resources/mapper/TeacherMapper.xml b/web-infrastructure/src/main/resources/mapper/TeacherMapper.xml index 664e5c3..054c561 100644 --- a/web-infrastructure/src/main/resources/mapper/TeacherMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/TeacherMapper.xml @@ -9,43 +9,53 @@ a.teacher_id, a.user_id, a.corpinfo_id, - a.teacher_name, a.`state`, a.create_time, c.corp_name AS corpinfoName, - GROUP_CONCAT(b.qualification_type_name SEPARATOR ',') AS qualificationTypeNames + COUNT(b.teacher_certificate_id) AS certificateCount, + u.name as teacherName FROM teacher a LEFT JOIN teacher_certificate b ON a.teacher_id = b.teacher_id AND b.delete_enum = 'FALSE' LEFT JOIN corp_info c ON a.corpinfo_id = c.id + LEFT JOIN user u ON a.user_id = u.id WHERE a.delete_enum = 'FALSE' - - AND a.corpinfo_id = #{params.eqCorpinfoId} + + AND a.corpinfo_id = #{params.corpinfoId} - AND EXISTS ( -- 关键:确保教师有符合条件的证书 - SELECT 1 FROM teacher_certificate b2 - WHERE b2.teacher_id = a.teacher_id - AND b2.delete_enum = 'FALSE' - - AND b2.qualification_type IN - - #{type} - - - ) - GROUP BY a.teacher_id, a.id, a.user_id, a.corpinfo_id, a.teacher_name, a.state, a.create_time + + and u.name LIKE CONCAT('%',#{params.teacherName},'%') + + GROUP BY a.teacher_id, a.id, a.user_id, a.corpinfo_id ORDER BY a.create_time DESC + diff --git a/web-infrastructure/src/main/resources/mapper/VideoCoursewareMapper.xml b/web-infrastructure/src/main/resources/mapper/VideoCoursewareMapper.xml index 61f1902..d298870 100644 --- a/web-infrastructure/src/main/resources/mapper/VideoCoursewareMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/VideoCoursewareMapper.xml @@ -6,47 +6,80 @@