From a88fc2c1a38af9e14491fff0c17ea16632cafebc Mon Sep 17 00:00:00 2001 From: ShiSiWei <12764015+ssw_1_0@user.noreply.gitee.com> Date: Thu, 5 Oct 2023 19:13:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 8 + .idea/compiler.xml | 18 + .idea/encodings.xml | 9 + .idea/jarRepositories.xml | 25 + .idea/jpa-buddy.xml | 6 + .idea/misc.xml | 15 + .idea/modules.xml | 8 + .idea/system-server.iml | 9 + .idea/vcs.xml | 6 + bbyb_examination.sql | 509 ++++++++++++++++++ pom.xml | 147 +++++ .../BbybExaminationApplication.java | 16 + .../examination/config/BizException.java | 63 +++ .../config/GlobalExceptionHandler.java | 20 + .../examination/config/JacksonConfig.java | 72 +++ .../config/Knife4jConfiguration.java | 42 ++ .../controller/RoleController.java | 72 +++ .../controller/RoleMenuController.java | 78 +++ .../controller/RoleUserController.java | 77 +++ .../controller/UserController.java | 104 ++++ .../mapper/ExaminationApplyMapper.java | 16 + .../mapper/ExaminationMajorMapper.java | 16 + .../mapper/ExaminationPaperAnswerMapper.java | 16 + .../mapper/ExaminationPaperMapper.java | 16 + .../ExaminationPaperQuestionMapper.java | 16 + .../mapper/ExaminationPaperResultMapper.java | 16 + .../mapper/ExaminationPaperScoreMapper.java | 16 + .../mapper/ExaminationPlanMapper.java | 16 + .../mapper/ExaminationSubjectMapper.java | 16 + .../examination/mapper/MenuMapper.java | 16 + .../mapper/QuestionTypeMapper.java | 16 + .../examination/mapper/RoleMapper.java | 16 + .../examination/mapper/RoleMenuMapper.java | 16 + .../examination/mapper/RoleUserMapper.java | 20 + .../examination/mapper/SysDicMapper.java | 16 + .../examination/mapper/UserMapper.java | 19 + .../model/po/ExaminationApply.java | 105 ++++ .../model/po/ExaminationMajor.java | 85 +++ .../model/po/ExaminationPaper.java | 125 +++++ .../model/po/ExaminationPaperAnswer.java | 65 +++ .../model/po/ExaminationPaperQuestion.java | 126 +++++ .../model/po/ExaminationPaperResult.java | 86 +++ .../model/po/ExaminationPaperScore.java | 96 ++++ .../examination/model/po/ExaminationPlan.java | 125 +++++ .../model/po/ExaminationSubject.java | 95 ++++ .../operating/examination/model/po/Menu.java | 135 +++++ .../examination/model/po/QuestionType.java | 95 ++++ .../operating/examination/model/po/Role.java | 90 ++++ .../examination/model/po/RoleMenu.java | 90 ++++ .../examination/model/po/RoleUser.java | 90 ++++ .../examination/model/po/SysDic.java | 95 ++++ .../operating/examination/model/po/User.java | 161 ++++++ .../examination/model/vo/CommonResult.java | 80 +++ .../examination/service/RoleMenuService.java | 48 ++ .../examination/service/RoleService.java | 46 ++ .../examination/service/RoleUserService.java | 55 ++ .../examination/service/UserService.java | 56 ++ .../service/impl/RoleMenuServiceImpl.java | 56 ++ .../service/impl/RoleServiceImpl.java | 68 +++ .../service/impl/RoleUserServiceImpl.java | 60 +++ .../service/impl/UserServiceImpl.java | 56 ++ src/main/resources/application.properties | 11 + src/main/resources/mapper/RoleMapper.xml | 54 ++ src/main/resources/mapper/RoleMenuMapper.xml | 50 ++ src/main/resources/mapper/RoleUserMapper.xml | 56 ++ src/main/resources/mapper/UserMapper.xml | 100 ++++ .../controller/RoleControllerTest.java | 63 +++ .../controller/RoleMenuControllerTest.java | 60 +++ .../controller/RoleUserControllerTest.java | 59 ++ .../controller/UserControllerTest.java | 80 +++ target/bbyb-examination-0.0.1-SNAPSHOT.jar | Bin 0 -> 52732 bytes target/classes/application.properties | 11 + .../BbybExaminationApplication.class | Bin 0 -> 1247 bytes .../examination/config/BizException.class | Bin 0 -> 1489 bytes .../config/GlobalExceptionHandler.class | Bin 0 -> 1141 bytes .../examination/config/JacksonConfig.class | Bin 0 -> 4117 bytes .../config/Knife4jConfiguration.class | Bin 0 -> 2657 bytes .../controller/RoleController.class | Bin 0 -> 2831 bytes .../controller/RoleMenuController.class | Bin 0 -> 3178 bytes .../controller/RoleUserController.class | Bin 0 -> 3178 bytes .../controller/UserController.class | Bin 0 -> 3879 bytes .../mapper/ExaminationApplyMapper.class | Bin 0 -> 654 bytes .../mapper/ExaminationMajorMapper.class | Bin 0 -> 654 bytes .../mapper/ExaminationPaperAnswerMapper.class | Bin 0 -> 684 bytes .../mapper/ExaminationPaperMapper.class | Bin 0 -> 654 bytes .../ExaminationPaperQuestionMapper.class | Bin 0 -> 694 bytes .../mapper/ExaminationPaperResultMapper.class | Bin 0 -> 684 bytes .../mapper/ExaminationPaperScoreMapper.class | Bin 0 -> 679 bytes .../mapper/ExaminationPlanMapper.class | Bin 0 -> 649 bytes .../mapper/ExaminationSubjectMapper.class | Bin 0 -> 664 bytes .../examination/mapper/MenuMapper.class | Bin 0 -> 594 bytes .../mapper/QuestionTypeMapper.class | Bin 0 -> 634 bytes .../examination/mapper/RoleMapper.class | Bin 0 -> 594 bytes .../examination/mapper/RoleMenuMapper.class | Bin 0 -> 614 bytes .../examination/mapper/RoleUserMapper.class | Bin 0 -> 907 bytes .../examination/mapper/SysDicMapper.class | Bin 0 -> 604 bytes .../examination/mapper/UserMapper.class | Bin 0 -> 766 bytes .../model/po/ExaminationApply.class | Bin 0 -> 2656 bytes .../model/po/ExaminationMajor.class | Bin 0 -> 2237 bytes .../model/po/ExaminationPaper.class | Bin 0 -> 3120 bytes .../model/po/ExaminationPaperAnswer.class | Bin 0 -> 1845 bytes .../model/po/ExaminationPaperQuestion.class | Bin 0 -> 3194 bytes .../model/po/ExaminationPaperResult.class | Bin 0 -> 2320 bytes .../model/po/ExaminationPaperScore.class | Bin 0 -> 2513 bytes .../model/po/ExaminationPlan.class | Bin 0 -> 3090 bytes .../model/po/ExaminationSubject.class | Bin 0 -> 2457 bytes .../operating/examination/model/po/Menu.class | Bin 0 -> 3250 bytes .../examination/model/po/QuestionType.class | Bin 0 -> 2457 bytes .../operating/examination/model/po/Role.class | Bin 0 -> 2916 bytes .../examination/model/po/RoleMenu.class | Bin 0 -> 2920 bytes .../examination/model/po/RoleUser.class | Bin 0 -> 2891 bytes .../examination/model/po/SysDic.class | Bin 0 -> 2409 bytes .../operating/examination/model/po/User.class | Bin 0 -> 4738 bytes .../examination/model/vo/CommonResult.class | Bin 0 -> 2591 bytes .../examination/service/RoleMenuService.class | Bin 0 -> 690 bytes .../examination/service/RoleService.class | Bin 0 -> 642 bytes .../examination/service/RoleUserService.class | Bin 0 -> 880 bytes .../examination/service/UserService.class | Bin 0 -> 820 bytes .../service/impl/RoleMenuServiceImpl.class | Bin 0 -> 1890 bytes .../service/impl/RoleServiceImpl.class | Bin 0 -> 2510 bytes .../service/impl/RoleUserServiceImpl.class | Bin 0 -> 2159 bytes .../service/impl/UserServiceImpl.class | Bin 0 -> 2075 bytes target/classes/mapper/RoleMapper.xml | 54 ++ target/classes/mapper/RoleMenuMapper.xml | 50 ++ target/classes/mapper/RoleUserMapper.xml | 56 ++ target/classes/mapper/UserMapper.xml | 100 ++++ target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 50 ++ .../compile/default-compile/inputFiles.lst | 50 ++ .../default-testCompile/createdFiles.lst | 4 + .../default-testCompile/inputFiles.lst | 4 + .../controller/RoleControllerTest.class | Bin 0 -> 2405 bytes .../controller/RoleMenuControllerTest.class | Bin 0 -> 2354 bytes .../controller/RoleUserControllerTest.class | Bin 0 -> 2359 bytes .../controller/UserControllerTest.class | Bin 0 -> 2720 bytes 135 files changed, 4671 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/jpa-buddy.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/system-server.iml create mode 100644 .idea/vcs.xml create mode 100644 bbyb_examination.sql create mode 100644 pom.xml create mode 100644 src/main/java/com/bbyb/operating/examination/BbybExaminationApplication.java create mode 100644 src/main/java/com/bbyb/operating/examination/config/BizException.java create mode 100644 src/main/java/com/bbyb/operating/examination/config/GlobalExceptionHandler.java create mode 100644 src/main/java/com/bbyb/operating/examination/config/JacksonConfig.java create mode 100644 src/main/java/com/bbyb/operating/examination/config/Knife4jConfiguration.java create mode 100644 src/main/java/com/bbyb/operating/examination/controller/RoleController.java create mode 100644 src/main/java/com/bbyb/operating/examination/controller/RoleMenuController.java create mode 100644 src/main/java/com/bbyb/operating/examination/controller/RoleUserController.java create mode 100644 src/main/java/com/bbyb/operating/examination/controller/UserController.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/ExaminationApplyMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/ExaminationMajorMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperAnswerMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperQuestionMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperResultMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperScoreMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/ExaminationPlanMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/ExaminationSubjectMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/MenuMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/QuestionTypeMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/RoleMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/RoleMenuMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/RoleUserMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/SysDicMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/mapper/UserMapper.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/ExaminationApply.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/ExaminationMajor.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaper.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperAnswer.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperQuestion.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperResult.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperScore.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/ExaminationPlan.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/ExaminationSubject.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/Menu.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/QuestionType.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/Role.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/RoleMenu.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/RoleUser.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/SysDic.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/po/User.java create mode 100644 src/main/java/com/bbyb/operating/examination/model/vo/CommonResult.java create mode 100644 src/main/java/com/bbyb/operating/examination/service/RoleMenuService.java create mode 100644 src/main/java/com/bbyb/operating/examination/service/RoleService.java create mode 100644 src/main/java/com/bbyb/operating/examination/service/RoleUserService.java create mode 100644 src/main/java/com/bbyb/operating/examination/service/UserService.java create mode 100644 src/main/java/com/bbyb/operating/examination/service/impl/RoleMenuServiceImpl.java create mode 100644 src/main/java/com/bbyb/operating/examination/service/impl/RoleServiceImpl.java create mode 100644 src/main/java/com/bbyb/operating/examination/service/impl/RoleUserServiceImpl.java create mode 100644 src/main/java/com/bbyb/operating/examination/service/impl/UserServiceImpl.java create mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/mapper/RoleMapper.xml create mode 100644 src/main/resources/mapper/RoleMenuMapper.xml create mode 100644 src/main/resources/mapper/RoleUserMapper.xml create mode 100644 src/main/resources/mapper/UserMapper.xml create mode 100644 src/test/java/com/bbyb/operating/examination/controller/RoleControllerTest.java create mode 100644 src/test/java/com/bbyb/operating/examination/controller/RoleMenuControllerTest.java create mode 100644 src/test/java/com/bbyb/operating/examination/controller/RoleUserControllerTest.java create mode 100644 src/test/java/com/bbyb/operating/examination/controller/UserControllerTest.java create mode 100644 target/bbyb-examination-0.0.1-SNAPSHOT.jar create mode 100644 target/classes/application.properties create mode 100644 target/classes/com/bbyb/operating/examination/BbybExaminationApplication.class create mode 100644 target/classes/com/bbyb/operating/examination/config/BizException.class create mode 100644 target/classes/com/bbyb/operating/examination/config/GlobalExceptionHandler.class create mode 100644 target/classes/com/bbyb/operating/examination/config/JacksonConfig.class create mode 100644 target/classes/com/bbyb/operating/examination/config/Knife4jConfiguration.class create mode 100644 target/classes/com/bbyb/operating/examination/controller/RoleController.class create mode 100644 target/classes/com/bbyb/operating/examination/controller/RoleMenuController.class create mode 100644 target/classes/com/bbyb/operating/examination/controller/RoleUserController.class create mode 100644 target/classes/com/bbyb/operating/examination/controller/UserController.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/ExaminationApplyMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/ExaminationMajorMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/ExaminationPaperAnswerMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/ExaminationPaperMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/ExaminationPaperQuestionMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/ExaminationPaperResultMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/ExaminationPaperScoreMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/ExaminationPlanMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/ExaminationSubjectMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/MenuMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/QuestionTypeMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/RoleMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/RoleMenuMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/RoleUserMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/SysDicMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/mapper/UserMapper.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/ExaminationApply.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/ExaminationMajor.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/ExaminationPaper.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperAnswer.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperQuestion.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperResult.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperScore.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/ExaminationPlan.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/ExaminationSubject.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/Menu.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/QuestionType.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/Role.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/RoleMenu.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/RoleUser.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/SysDic.class create mode 100644 target/classes/com/bbyb/operating/examination/model/po/User.class create mode 100644 target/classes/com/bbyb/operating/examination/model/vo/CommonResult.class create mode 100644 target/classes/com/bbyb/operating/examination/service/RoleMenuService.class create mode 100644 target/classes/com/bbyb/operating/examination/service/RoleService.class create mode 100644 target/classes/com/bbyb/operating/examination/service/RoleUserService.class create mode 100644 target/classes/com/bbyb/operating/examination/service/UserService.class create mode 100644 target/classes/com/bbyb/operating/examination/service/impl/RoleMenuServiceImpl.class create mode 100644 target/classes/com/bbyb/operating/examination/service/impl/RoleServiceImpl.class create mode 100644 target/classes/com/bbyb/operating/examination/service/impl/RoleUserServiceImpl.class create mode 100644 target/classes/com/bbyb/operating/examination/service/impl/UserServiceImpl.class create mode 100644 target/classes/mapper/RoleMapper.xml create mode 100644 target/classes/mapper/RoleMenuMapper.xml create mode 100644 target/classes/mapper/RoleUserMapper.xml create mode 100644 target/classes/mapper/UserMapper.xml create mode 100644 target/maven-archiver/pom.properties create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 target/test-classes/com/bbyb/operating/examination/controller/RoleControllerTest.class create mode 100644 target/test-classes/com/bbyb/operating/examination/controller/RoleMenuControllerTest.class create mode 100644 target/test-classes/com/bbyb/operating/examination/controller/RoleUserControllerTest.class create mode 100644 target/test-classes/com/bbyb/operating/examination/controller/UserControllerTest.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..134a11e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..c37ba8a --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..22e83c6 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jpa-buddy.xml b/.idea/jpa-buddy.xml new file mode 100644 index 0000000..966d5f5 --- /dev/null +++ b/.idea/jpa-buddy.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..9d44c14 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..3a7a4f4 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/system-server.iml b/.idea/system-server.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/system-server.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bbyb_examination.sql b/bbyb_examination.sql new file mode 100644 index 0000000..3ec4d91 --- /dev/null +++ b/bbyb_examination.sql @@ -0,0 +1,509 @@ +/* +Navicat MySQL Data Transfer + +Source Server : 116.62.209.98 +Source Server Version : 50717 +Source Host : 116.62.209.98:3306 +Source Database : bbyb_examination + +Target Server Type : MYSQL +Target Server Version : 50717 +File Encoding : 65001 + +Date: 2023-08-08 11:08:35 +*/ + +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for examination_apply +-- ---------------------------- +DROP TABLE IF EXISTS `examination_apply`; +CREATE TABLE `examination_apply` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id;id', + `user_id` int(20) DEFAULT NULL COMMENT '考生id;考生id', + `plan_id` int(20) DEFAULT NULL COMMENT '考试计划id;考试计划id', + `examination_code` varchar(20) DEFAULT NULL COMMENT '考号;考号', + `apply_state` int(2) DEFAULT '0' COMMENT '申请状态;申请状态(0 未处理 1 已通过 2 未通过)', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人;创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间;创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人;更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间;更新时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '是否作废;数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考试申请表;考试申请表'; + +-- ---------------------------- +-- Records of examination_apply +-- ---------------------------- + +-- ---------------------------- +-- Table structure for examination_major +-- ---------------------------- +DROP TABLE IF EXISTS `examination_major`; +CREATE TABLE `examination_major` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id;id', + `major_code` varchar(50) DEFAULT NULL COMMENT '专业编码;专业编码', + `major_name` varchar(50) DEFAULT NULL COMMENT '专业名称;专业名称', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人;创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间;创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人;更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间;更新时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '是否作废;数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考试专业表;考试专业表'; + +-- ---------------------------- +-- Records of examination_major +-- ---------------------------- + +-- ---------------------------- +-- Table structure for examination_paper +-- ---------------------------- +DROP TABLE IF EXISTS `examination_paper`; +CREATE TABLE `examination_paper` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `paper_name` varchar(100) DEFAULT NULL COMMENT '试卷名称;试卷名称', + `paper_code` varchar(50) DEFAULT NULL COMMENT '试卷号;试卷号', + `subject_id` int(20) DEFAULT NULL COMMENT '考试科目id;考试科目id', + `examination_start_time` datetime DEFAULT NULL COMMENT '考试开始时间;考试开始时间', + `examination_end_time` datetime DEFAULT NULL COMMENT '考试结束时间;考试结束时间', + `plan_id` int(20) DEFAULT NULL COMMENT '所属考试计划id;所属考试计划id', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '是否作废;数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='试卷表;试卷表'; + +-- ---------------------------- +-- Records of examination_paper +-- ---------------------------- + +-- ---------------------------- +-- Table structure for examination_paper_answer +-- ---------------------------- +DROP TABLE IF EXISTS `examination_paper_answer`; +CREATE TABLE `examination_paper_answer` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `question_id` int(20) DEFAULT NULL COMMENT '题目id;题目id', + `answer_text` varchar(4000) DEFAULT NULL COMMENT '标准答案;标准答案', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '是否作废;数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='试卷答案表;试卷答案表'; + +-- ---------------------------- +-- Records of examination_paper_answer +-- ---------------------------- + +-- ---------------------------- +-- Table structure for examination_paper_question +-- ---------------------------- +DROP TABLE IF EXISTS `examination_paper_question`; +CREATE TABLE `examination_paper_question` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id;id', + `paper_id` int(20) DEFAULT NULL COMMENT '试卷id;试卷id', + `question_title` varchar(4000) DEFAULT NULL COMMENT '题目标题;题目标题', + `quertion_num` varchar(3) DEFAULT NULL COMMENT '题目号;题目号', + `quertion_type` varchar(10) DEFAULT NULL COMMENT '题型;题型', + `pre_question_id` int(20) DEFAULT NULL COMMENT '上一道题目id;上一道题目id', + `score` decimal(5,1) DEFAULT NULL COMMENT '题目分数;题目分数', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人;创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间;创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人;更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间;更新时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '是否作废;数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='试卷题目表;试卷题目表'; + +-- ---------------------------- +-- Records of examination_paper_question +-- ---------------------------- + +-- ---------------------------- +-- Table structure for examination_paper_result +-- ---------------------------- +DROP TABLE IF EXISTS `examination_paper_result`; +CREATE TABLE `examination_paper_result` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `question_id` int(20) DEFAULT NULL COMMENT '考试题目id;考试题目id', + `user_id` int(20) DEFAULT NULL COMMENT '考试人;考试人', + `answer_text` varchar(4000) DEFAULT NULL COMMENT '答案;答案', + `score` decimal(4,1) DEFAULT NULL COMMENT '得分;得分', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '是否作废;数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考试结果表;考试结果表'; + +-- ---------------------------- +-- Records of examination_paper_result +-- ---------------------------- + +-- ---------------------------- +-- Table structure for examination_paper_score +-- ---------------------------- +DROP TABLE IF EXISTS `examination_paper_score`; +CREATE TABLE `examination_paper_score` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `paper_id` int(20) DEFAULT NULL COMMENT '试卷id;paper_id', + `user_id` int(20) DEFAULT NULL COMMENT '考生id;user_id', + `score` decimal(4,1) DEFAULT '0.0' COMMENT '总分数', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '是否作废;数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考试数据表;考试数据表'; + +-- ---------------------------- +-- Records of examination_paper_score +-- ---------------------------- + +-- ---------------------------- +-- Table structure for examination_plan +-- ---------------------------- +DROP TABLE IF EXISTS `examination_plan`; +CREATE TABLE `examination_plan` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `plan_name` varchar(100) DEFAULT NULL COMMENT '考试计划名称;考试计划名称', + `plan_explain` varchar(255) DEFAULT NULL COMMENT '计划说明;计划说明', + `plan_start_time` datetime DEFAULT NULL COMMENT '计划开始时间;考试开始时间', + `plan_end_time` datetime DEFAULT NULL COMMENT '计划结束时间;考试结束时间', + `major_id` int(20) DEFAULT NULL COMMENT '考试专业;考试专业', + `user_in_charge` int(20) DEFAULT NULL COMMENT '计划负责人;计划负责人', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '是否作废;数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考试计划;考试计划'; + +-- ---------------------------- +-- Records of examination_plan +-- ---------------------------- + +-- ---------------------------- +-- Table structure for examination_subject +-- ---------------------------- +DROP TABLE IF EXISTS `examination_subject`; +CREATE TABLE `examination_subject` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `subject_code` varchar(50) DEFAULT NULL COMMENT '学科编码;学科编码', + `subject_name` varchar(50) DEFAULT NULL COMMENT '学科名称;学科名称', + `major_id` int(20) DEFAULT NULL COMMENT '专业id;专业id', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '是否作废;数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考试学科表;考试学科表'; + +-- ---------------------------- +-- Records of examination_subject +-- ---------------------------- + +-- ---------------------------- +-- Table structure for menu +-- ---------------------------- +DROP TABLE IF EXISTS `menu`; +CREATE TABLE `menu` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', + `menu_code` varchar(50) DEFAULT NULL COMMENT '菜单编码', + `menu_name` varchar(50) DEFAULT NULL COMMENT '菜单名称', + `menu_authority_code` varchar(50) DEFAULT NULL COMMENT '菜单权限编码', + `menu_path` varchar(100) DEFAULT NULL COMMENT '菜单路径', + `parent_menu_id` int(11) DEFAULT NULL COMMENT '父级菜单id', + `level` int(2) DEFAULT NULL COMMENT '菜单等级', + `menu_type` int(1) DEFAULT '0' COMMENT '菜单类型(0 菜单 1 按钮)', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `invalid` int(2) DEFAULT '0' COMMENT '数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8 COMMENT='菜单表;菜单表'; + +-- ---------------------------- +-- Records of menu +-- ---------------------------- +INSERT INTO `menu` VALUES ('3', '基础设置', '基础设置', 'system/base', 'system/base', '0', '1', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('4', '账号信息', '账号信息', 'system/base/user', 'system/base/user', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('5', '菜单信息', '菜单信息', 'system/base/menu', 'system/base/menu', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('6', '角色信息', '角色信息', 'system/base/role', 'system/base/role', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('7', '字典信息', '字典信息', 'system/base/dic', 'system/base/dic', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('8', '题型信息', '题型信息', 'system/base/questionType', 'system/base/questionType', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('9', '考试管理', '考试管理', 'system/examination', 'system/examination', '0', '1', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('10', '考试计划', '考试计划', 'system/examination/plan', 'system/examination/plan', '9', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('11', '试卷管理', '试卷管理', 'system/examination/paper', 'system/examination/paper', '9', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('12', '考试申请', '考试申请', 'system/examination/apply', 'system/examination/apply', '9', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('13', '答卷管理', '答卷管理', 'system/examination/result', 'system/examination/result', '9', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('14', '考试结果统计', '考试结果统计', 'system/examination/statistics', 'system/examination/statistics', '9', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('15', '考试学科', '考试学科', 'system/base/subject', 'system/base/subject', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('16', '考试专业', '考试专业', 'system/base/major', 'system/base/major', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('17', '新增', '新增', 'system/base/user/add', 'system/base/useradd', '4', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('18', '修改', '修改', 'system/base/user/update', 'system/base/user/update', '4', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('19', '删除', '删除', 'system/base/user/delete', 'system/base/user/delete', '4', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('20', '新增', '新增', 'system/base/menu/add', 'system/base/menu/add', '5', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('21', '修改', '修改', 'system/base/menu/update', 'system/base/menu/update', '5', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('22', '删除', '删除', 'system/base/menu/delete', 'system/base/menu/delete', '5', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('23', '新增', '新增', 'system/base/role/add', 'system/base/role/add', '6', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('24', '修改', '修改', 'system/base/role/update', 'system/base/role/update', '6', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('25', '删除', '删除', 'system/base/role/delete', 'system/base/role/delete', '6', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('26', '新增', '新增', 'system/base/dic/add', 'system/base/dic/add', '7', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('27', '修改', '修改', 'system/base/dic/update', 'system/base/dic/update', '7', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('28', '删除', '删除', 'system/base/dic/delete', 'system/base/dic/delete', '7', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('29', '新增', '新增', 'system/base/questionType/add', 'system/base/questionType/add', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('30', '修改', '修改', 'system/base/questionType/update', 'system/base/questionType/update', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('31', '删除', '删除', 'system/base/questionType/delete', 'system/base/questionType/delete', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('32', '新增', '新增', 'system/examination/plan/add', 'system/examination/plan/add', '10', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('33', '修改', '修改', 'system/examination/plan/update', 'system/examination/plan/update', '10', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('34', '删除', '删除', 'system/examination/plan/delete', 'system/examination/plan/delete', '10', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('35', '新增', '新增', 'system/examination/paper/add', 'system/examination/paper/add', '11', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('36', '修改', '修改', 'system/examination/paper/update', 'system/examination/paper/update', '11', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('37', '删除', '删除', 'system/examination/paper/delete', 'system/examination/paper/delete', '11', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('38', '申请', '申请', 'system/examination/apply/add', 'system/examination/apply/add', '12', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('39', '修改', '修改', 'system/examination/apply/update', 'system/examination/apply/update', '12', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('40', '删除', '删除', 'system/examination/apply/delete', 'system/examination/apply/delete', '12', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('41', '审核', '审核', 'system/examination/apply/audit', 'system/examination/apply/audit', '12', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('42', '修改', '修改', 'system/examination/result/update', 'system/examination/result/update', '13', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('43', '重新核对答案', '重新核对答案', 'system/examination/result/recheck', 'system/examination/result/recheck', '13', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('44', '新增', '新增', 'system/base/subject/add', 'system/base/subject/add', '15', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('45', '修改', '修改', 'system/base/subject/update', 'system/base/subject/update', '15', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('46', '删除', '删除', 'system/base/subject/delete', 'system/base/subject/delete', '15', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('47', '新增', '新增', 'system/base/major/add', 'system/base/major/add', '16', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('48', '修改', '修改', 'system/base/major/update', 'system/base/major/update', '16', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu` VALUES ('49', '删除', '删除', 'system/base/major/delete', 'system/base/major/delete', '16', '3', '1', 'admin', '2023-02-10 13:31:26', null, null, '0'); + +-- ---------------------------- +-- Table structure for menu_copy1 +-- ---------------------------- +DROP TABLE IF EXISTS `menu_copy1`; +CREATE TABLE `menu_copy1` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', + `menu_code` varchar(50) DEFAULT NULL COMMENT '菜单编码', + `menu_name` varchar(50) DEFAULT NULL COMMENT '菜单名称', + `menu_authority_code` varchar(50) DEFAULT NULL COMMENT '菜单权限编码', + `menu_path` varchar(100) DEFAULT NULL COMMENT '菜单路径', + `parent_menu_id` int(11) DEFAULT NULL COMMENT '父级菜单id', + `level` int(2) DEFAULT NULL COMMENT '菜单等级', + `menu_type` int(1) DEFAULT '0' COMMENT '菜单类型(0 菜单 1 按钮)', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `invalid` int(2) DEFAULT '0' COMMENT '数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='菜单表;菜单表'; + +-- ---------------------------- +-- Records of menu_copy1 +-- ---------------------------- +INSERT INTO `menu_copy1` VALUES ('3', '基础设置', '基础设置', 'system/base', 'system/base', '0', '1', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu_copy1` VALUES ('4', '账号信息', '账号信息', 'system/base/user', 'system/base/user', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu_copy1` VALUES ('5', '菜单信息', '菜单信息', 'system/base/menu', 'system/base/menu', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); +INSERT INTO `menu_copy1` VALUES ('6', '角色信息', '角色信息', 'system/base/role', 'system/base/role', '3', '2', '0', 'admin', '2023-02-10 13:31:26', null, null, '0'); + +-- ---------------------------- +-- Table structure for question_type +-- ---------------------------- +DROP TABLE IF EXISTS `question_type`; +CREATE TABLE `question_type` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id;id', + `question_code` varchar(50) DEFAULT NULL COMMENT '题型编码;题型编码', + `question_name` varchar(50) DEFAULT NULL COMMENT '题型名称;题型名称', + `grading_type` int(1) DEFAULT NULL COMMENT '判卷方式;判卷方式(1 匹配答案 2 主观判断)', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人;创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间;创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人;更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间;更新时间', + `invalid` int(1) NOT NULL DEFAULT '0' COMMENT '是否作废;数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='题型表;题型表'; + +-- ---------------------------- +-- Records of question_type +-- ---------------------------- + +-- ---------------------------- +-- Table structure for role +-- ---------------------------- +DROP TABLE IF EXISTS `role`; +CREATE TABLE `role` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `role_code` varchar(50) DEFAULT NULL COMMENT '角色编码', + `role_name` varchar(50) DEFAULT NULL COMMENT '角色名称', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8 COMMENT='角色表;角色表'; + +-- ---------------------------- +-- Records of role +-- ---------------------------- +INSERT INTO `role` VALUES ('1', 'asd', 'qwe', 'zxc', '2023-08-07 12:12:12', '杰克', '2023-08-07 12:12:12', '1'); +INSERT INTO `role` VALUES ('2', 'asd', 'qwe', 'zxc', '2023-08-07 12:12:12', '杰克', '2023-08-07 12:12:12', '1'); +INSERT INTO `role` VALUES ('3', '11246', 'fghcj', 'qwf', '2023-09-02 12:23:23', 'ssssssdf', '2023-09-02 12:23:23', '1'); +INSERT INTO `role` VALUES ('5', '12344', 'fghj', 'qwf', '2023-09-02 12:23:23', 'ssssssdf', '2023-09-02 12:23:23', '1'); +INSERT INTO `role` VALUES ('7', '12345', 'fghej', 'qwf', '2023-09-02 12:23:23', 'ssssssdf', '2023-09-02 12:23:23', '1'); +INSERT INTO `role` VALUES ('19', 'qwe', 'qwd', 'asdv', '2023-01-01 12:12:23', 'wef', '2023-01-01 12:12:23', '1'); +INSERT INTO `role` VALUES ('21', 'lign_role_code1', 'lign_role_name1', '张三', '2023-03-06 16:38:16', '张三', '2023-03-06 16:38:16', '1'); +INSERT INTO `role` VALUES ('27', 'lign_role_code3', 'lign_role_name3', '张三', '2023-03-07 09:26:03', '张三', '2023-03-07 09:26:03', '0'); +INSERT INTO `role` VALUES ('28', 'test_role1', '测试角色1', null, '2023-03-07 13:37:50', null, '2023-03-07 13:37:50', '1'); +INSERT INTO `role` VALUES ('29', 'test_role1', '测试角色1', null, '2023-03-07 14:30:29', null, '2023-03-07 14:30:29', '0'); +INSERT INTO `role` VALUES ('30', 'TEST', '测试角色2', null, '2023-03-07 14:39:56', null, '2023-03-07 15:19:15', '1'); +INSERT INTO `role` VALUES ('31', 'test_role1', '测试角色1', null, '2023-03-07 17:05:26', null, '2023-03-07 17:05:26', '1'); +INSERT INTO `role` VALUES ('32', 'test_role3', '测试角色3', null, '2023-03-07 17:33:30', null, '2023-03-07 17:33:30', '1'); +INSERT INTO `role` VALUES ('33', 'asd', 'qwe', 'zxc', '2023-08-07 12:12:12', '杰克', '2023-08-07 12:12:12', '1'); + +-- ---------------------------- +-- Table structure for role_menu +-- ---------------------------- +DROP TABLE IF EXISTS `role_menu`; +CREATE TABLE `role_menu` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `role_id` int(20) DEFAULT NULL COMMENT '角色id', + `menu_id` int(20) DEFAULT NULL COMMENT '菜单id', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8 COMMENT='角色菜单关联表;角色菜单关联表'; + +-- ---------------------------- +-- Records of role_menu +-- ---------------------------- +INSERT INTO `role_menu` VALUES ('28', '19', '3', '创建人', '2023-03-06 15:34:28', null, null, '0'); +INSERT INTO `role_menu` VALUES ('29', '19', '4', '创建人', '2023-03-06 15:34:28', null, null, '0'); +INSERT INTO `role_menu` VALUES ('30', '19', '17', '创建人', '2023-03-06 15:34:28', null, null, '0'); +INSERT INTO `role_menu` VALUES ('31', '19', '5', '创建人', '2023-03-06 15:34:28', null, null, '0'); +INSERT INTO `role_menu` VALUES ('32', '19', '20', '创建人', '2023-03-06 15:34:28', null, null, '0'); +INSERT INTO `role_menu` VALUES ('33', '19', '21', '创建人', '2023-03-06 15:34:28', null, null, '0'); +INSERT INTO `role_menu` VALUES ('81', '11', '5', '系统管理员', '2023-08-08 00:19:35', '系统管理员', '2023-08-08 00:19:35', '1'); +INSERT INTO `role_menu` VALUES ('82', '11', '6', '系统管理员', '2023-08-08 00:19:35', '系统管理员', '2023-08-08 00:19:35', '1'); +INSERT INTO `role_menu` VALUES ('83', '11', '7', '系统管理员', '2023-08-08 00:19:35', '系统管理员', '2023-08-08 00:19:35', '1'); +INSERT INTO `role_menu` VALUES ('84', '11', '5', '系统管理员', '2023-08-08 00:19:35', '系统管理员', '2023-08-08 00:19:35', '0'); +INSERT INTO `role_menu` VALUES ('85', '11', '6', '系统管理员', '2023-08-08 00:19:35', '系统管理员', '2023-08-08 00:19:35', '0'); +INSERT INTO `role_menu` VALUES ('86', '11', '7', '系统管理员', '2023-08-08 00:19:35', '系统管理员', '2023-08-08 00:19:35', '0'); + +-- ---------------------------- +-- Table structure for role_user +-- ---------------------------- +DROP TABLE IF EXISTS `role_user`; +CREATE TABLE `role_user` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `role_id` int(20) DEFAULT NULL COMMENT '角色id', + `user_id` int(20) DEFAULT NULL COMMENT '用户id', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '是否作废(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=100041 DEFAULT CHARSET=utf8 COMMENT='角色用户关联表;角色用户关联表'; + +-- ---------------------------- +-- Records of role_user +-- ---------------------------- +INSERT INTO `role_user` VALUES ('100001', '19', '29', '创建人', '2023-03-06 15:51:11', null, null, '0'); +INSERT INTO `role_user` VALUES ('100002', '19', '11', '张三', '2023-08-07 02:05:18', '张三', '2023-08-07 02:05:18', '1'); +INSERT INTO `role_user` VALUES ('100008', '11', '11', '张三', '2023-08-07 02:05:24', null, '2023-08-07 02:05:24', '0'); +INSERT INTO `role_user` VALUES ('100009', '33', '11', '张三', '2023-08-07 01:55:27', null, '2023-08-07 01:55:27', '0'); +INSERT INTO `role_user` VALUES ('100010', '29', '11', null, '2023-08-07 01:55:29', null, '2023-08-07 01:55:29', '0'); +INSERT INTO `role_user` VALUES ('100011', '30', '29', null, '2023-03-07 14:40:11', null, '2023-03-07 14:40:11', '1'); +INSERT INTO `role_user` VALUES ('100032', '2', '1', '系统管理员', '2023-08-07 15:08:48', '系统管理员', '2023-08-07 15:08:48', '0'); +INSERT INTO `role_user` VALUES ('100033', '3', '1', '系统管理员', '2023-08-07 15:08:48', '系统管理员', '2023-08-07 15:08:48', '0'); +INSERT INTO `role_user` VALUES ('100034', '3', '1', '系统管理员', '2023-08-07 15:08:48', '系统管理员', '2023-08-07 15:08:48', '0'); +INSERT INTO `role_user` VALUES ('100035', '4', '19', '系统管理员', '2023-08-08 00:19:30', '系统管理员', '2023-08-08 00:19:30', '1'); +INSERT INTO `role_user` VALUES ('100036', '5', '19', '系统管理员', '2023-08-08 00:19:30', '系统管理员', '2023-08-08 00:19:30', '1'); +INSERT INTO `role_user` VALUES ('100037', '6', '19', '系统管理员', '2023-08-08 00:19:30', '系统管理员', '2023-08-08 00:19:30', '1'); +INSERT INTO `role_user` VALUES ('100038', '4', '19', '系统管理员', '2023-08-08 00:19:30', '系统管理员', '2023-08-08 00:19:30', '0'); +INSERT INTO `role_user` VALUES ('100039', '5', '19', '系统管理员', '2023-08-08 00:19:30', '系统管理员', '2023-08-08 00:19:30', '0'); +INSERT INTO `role_user` VALUES ('100040', '6', '19', '系统管理员', '2023-08-08 00:19:30', '系统管理员', '2023-08-08 00:19:30', '0'); + +-- ---------------------------- +-- Table structure for sys_dic +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dic`; +CREATE TABLE `sys_dic` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `group_name` varchar(50) DEFAULT NULL COMMENT '字典分组名称', + `item_name` varchar(50) DEFAULT NULL COMMENT '项目名称', + `item_code` varchar(50) DEFAULT NULL COMMENT '项目编码', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `invalid` int(2) NOT NULL DEFAULT '0' COMMENT '是否作废;数据作废标识(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='数据字典表;数据字典表'; + +-- ---------------------------- +-- Records of sys_dic +-- ---------------------------- + +-- ---------------------------- +-- Table structure for user +-- ---------------------------- +DROP TABLE IF EXISTS `user`; +CREATE TABLE `user` ( + `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `user_code` varchar(50) DEFAULT NULL COMMENT '用户编码', + `user_name` varchar(50) DEFAULT NULL COMMENT '用户名称', + `phone` varchar(100) DEFAULT NULL COMMENT '手机号', + `password` varchar(255) DEFAULT NULL COMMENT '密码', + `email` varchar(100) DEFAULT NULL COMMENT '邮箱', + `id_card` varchar(100) DEFAULT NULL COMMENT '身份证号', + `gender` int(1) DEFAULT NULL COMMENT '性别(1 男 2 女)', + `is_admin` int(1) DEFAULT '0' COMMENT '是否超级管理员(0 否 1 是)', + `is_enable` int(1) DEFAULT '0' COMMENT '是否启用(0 启用 1 禁用)', + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `invalid` int(1) DEFAULT NULL COMMENT '数据是否作废(0 正常 1 作废)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COMMENT='用户表;用户表'; + +-- ---------------------------- +-- Records of user +-- ---------------------------- +INSERT INTO `user` VALUES ('1', '110001', '管理员', '13211112222', '670b14728ad9902aecba32e22fa4f6bd', null, null, '1', '1', '0', 'abc', '2023-02-10 13:31:26', null, null, null); +INSERT INTO `user` VALUES ('2', '110002', '业务人员张', '13211116666', '670b14728ad9902aecba32e22fa4f6bd', null, null, '1', '0', '0', 'abc', '2023-02-10 13:31:26', null, null, null); +INSERT INTO `user` VALUES ('23', 'lign', 'lign', '15551123333', '123456', null, null, null, '0', '0', null, null, null, null, null); +INSERT INTO `user` VALUES ('29', 'test002', '测试002', '18612345678', '98745678', 'abc@qq.com', '', '1', '1', '0', '', null, null, null, '0'); + +-- ---------------------------- +-- Function structure for queryMenuChildren +-- ---------------------------- +DROP FUNCTION IF EXISTS `queryMenuChildren`; +DELIMITER ;; +CREATE DEFINER=`root`@`%` FUNCTION `queryMenuChildren`(nodeId INT) RETURNS varchar(20000) CHARSET utf8 +BEGIN +DECLARE sTemp INT; +DECLARE sTempChd INT; + +SET sTemp='$'; +SET sTempChd = nodeId; + +WHILE sTempChd IS NOT NULL DO + +SET sTemp= CONCAT(sTemp,',',sTempChd); +SELECT GROUP_CONCAT(id) INTO sTempChd FROM `menu` WHERE FIND_IN_SET(parent_menu_id,sTempChd)>0; + +END WHILE; +RETURN sTemp; +END +;; +DELIMITER ; diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..8aa4acf --- /dev/null +++ b/pom.xml @@ -0,0 +1,147 @@ + + + 4.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 2.7.8 + + + + com.bbyb.operating.examination + bbyb-examination + 0.0.1-SNAPSHOT + bbyb-examination + bbyb-examination + + + 1.8 + + + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-web-services + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.3.0 + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.mysql + mysql-connector-j + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.mybatis + mybatis-typehandlers-jsr310 + 1.0.2 + + + org.apache.commons + commons-lang3 + + + + + com.github.xiaoymin + knife4j-spring-boot-starter + 2.0.9 + + + + + junit + junit + 4.12 + + + org.junit.jupiter + junit-jupiter + 5.8.2 + test + + + + org.mockito + mockito-core + 3.12.4 + test + + + org.mockito + mockito-inline + 3.6.28 + test + + + + org.mockito + mockito-junit-jupiter + 2.23.0 + test + + + junit-jupiter-api + org.junit.jupiter + + + + + org.assertj + assertj-core + 3.24.2 + test + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + + + + + diff --git a/src/main/java/com/bbyb/operating/examination/BbybExaminationApplication.java b/src/main/java/com/bbyb/operating/examination/BbybExaminationApplication.java new file mode 100644 index 0000000..02feb86 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/BbybExaminationApplication.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +@MapperScan("com.bbyb.operating.examination.mapper") +public class BbybExaminationApplication { + + public static void main(String[] args) { + SpringApplication.run(BbybExaminationApplication.class, args); + System.out.printf("启动成功================================================================================================================================================"); + } + +} diff --git a/src/main/java/com/bbyb/operating/examination/config/BizException.java b/src/main/java/com/bbyb/operating/examination/config/BizException.java new file mode 100644 index 0000000..7450d12 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/config/BizException.java @@ -0,0 +1,63 @@ +/** + * Copyright (c) 2016-2019 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.bbyb.operating.examination.config; + +/** + * 自定义异常 + * + * @author Mark sunlightcs@gmail.com + */ +public class BizException extends RuntimeException { + private static final long serialVersionUID = 1L; + + private String msg; + private int code = 500; + + + + public BizException(String msg) { + super(msg); + this.msg = msg; + } + + public BizException(String msg, Throwable e) { + super(msg, e); + this.msg = msg; + } + + public BizException(int code, String msg) { + super(msg); + this.msg = msg; + this.code = code; + } + + public BizException(String msg, int code, Throwable e) { + super(msg, e); + this.msg = msg; + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + +} diff --git a/src/main/java/com/bbyb/operating/examination/config/GlobalExceptionHandler.java b/src/main/java/com/bbyb/operating/examination/config/GlobalExceptionHandler.java new file mode 100644 index 0000000..f03f0bc --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/config/GlobalExceptionHandler.java @@ -0,0 +1,20 @@ +package com.bbyb.operating.examination.config; + +import com.bbyb.operating.examination.model.vo.CommonResult; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +/** + * @ClassName: GlobalExceptionHandler + * @Date: 2023/8/8 17:53 + * @Version: 1.0 + * @Description: 全局异常处理 + */ +@RestControllerAdvice +public class GlobalExceptionHandler { + @ExceptionHandler(BizException.class) + public CommonResult handleRRException(BizException e){ + return CommonResult.error(e.getCode(),e.getMessage()); + } +} diff --git a/src/main/java/com/bbyb/operating/examination/config/JacksonConfig.java b/src/main/java/com/bbyb/operating/examination/config/JacksonConfig.java new file mode 100644 index 0000000..884693b --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/config/JacksonConfig.java @@ -0,0 +1,72 @@ +package com.bbyb.operating.examination.config; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.util.TimeZone; + +/** + * className: JacksonConfig + * datetime: 2023/2/13 17:41 + * author: lx + */ +@Configuration +public class JacksonConfig { + + /** 默认日期时间格式 */ + public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; + /** 默认日期格式 */ + public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd"; + /** 默认时间格式 */ + public static final String DEFAULT_TIME_FORMAT = "HH:mm:ss"; + + @Bean + public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { + MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); + ObjectMapper objectMapper = new ObjectMapper(); + + // 忽略json字符串中不识别的属性 + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + // 忽略无法转换的对象 + objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); + // PrettyPrinter 格式化输出 + objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true); + // NULL不参与序列化 + objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); + + // 指定时区 + objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+8:00")); + // 日期类型字符串处理 + objectMapper.setDateFormat(new SimpleDateFormat(DEFAULT_DATE_TIME_FORMAT)); + + // java8日期日期处理 + JavaTimeModule javaTimeModule = new JavaTimeModule(); + javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))); + javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))); + javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))); + javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))); + javaTimeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))); + javaTimeModule.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))); + objectMapper.registerModule(javaTimeModule); + + converter.setObjectMapper(objectMapper); + return converter; + } +} diff --git a/src/main/java/com/bbyb/operating/examination/config/Knife4jConfiguration.java b/src/main/java/com/bbyb/operating/examination/config/Knife4jConfiguration.java new file mode 100644 index 0000000..a80b36f --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/config/Knife4jConfiguration.java @@ -0,0 +1,42 @@ +package com.bbyb.operating.examination.config; + + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.Contact; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; + +/** + * @BelongsProject: demo02 + * @BelongsPackage: com.bw.handler + * @Author: JCC + * @CreateTime: 2023-10-2 10:17 + */ +@Configuration +@EnableSwagger2WebMvc +public class Knife4jConfiguration { + @Bean(value = "defaultApi2") + public Docket defaultApi2() { + Docket docket = new Docket(DocumentationType.SWAGGER_2) + .apiInfo(new ApiInfoBuilder() + .title("测试==demo") + .description("# swagger-bootstrap-ui-demo RESTful APIs") + .termsOfServiceUrl("http://www.xx.com/") + .contact(new Contact("玉面小白龙", "", "123@qq.com")) + .version("1.0") + .build()) + //分组名称 + .groupName("2.X版本") + .select() + //这里指定文档Controller层扫描包路径 + .apis(RequestHandlerSelectors.basePackage("com.bbyb.operating.examination.controller")) + .paths(PathSelectors.any()) + .build(); + return docket; + } +} diff --git a/src/main/java/com/bbyb/operating/examination/controller/RoleController.java b/src/main/java/com/bbyb/operating/examination/controller/RoleController.java new file mode 100644 index 0000000..235e356 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/controller/RoleController.java @@ -0,0 +1,72 @@ +package com.bbyb.operating.examination.controller; + +import com.bbyb.operating.examination.model.po.Role; +import com.bbyb.operating.examination.model.vo.CommonResult; +import com.bbyb.operating.examination.service.RoleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 账号 + * className: RoleController + * datetime: 2023/10/2 9:28 + * author: JCC + */ +@RestController() +@RequestMapping("/role") +public class RoleController { + + @Autowired + private RoleService roleService; + + @PostMapping(value = "add") + public CommonResult addRole(@RequestBody Role role){ + roleService.addRole(role); + return new CommonResult<>(true); + } + + @GetMapping("/allRole") + public List getAllRole(){ + return roleService.getAllRole(); + } + + /** + * 描述:根据ID删除角色 + * @param id + * @return int + * @date 2023/10/2 9:52 + */ + @PostMapping("/deleteRole/{id}") + public CommonResult deleteRole(@PathVariable Integer id) { + roleService.deleteRole(id); + return new CommonResult<>(true); + }; + + /** + * 描述:根据ID获取用户 + * @param id + * @return com.bbyb.operating.examination.model.po.Role + * @date 2023/10/2 9:52 + */ + @PostMapping("/getRole/{id}") + public Role getRole(@PathVariable Integer id) { + return roleService.getRole(id); + }; + + /** + * 描述:更新用户 + * @param row + * @return int + * @date 2023/10/2 9:52 + */ + @PostMapping("/updateRole") + public CommonResult updateRole(@RequestBody Role row) { + roleService.updateRole(row); + return new CommonResult<>(true); + }; +} + + + diff --git a/src/main/java/com/bbyb/operating/examination/controller/RoleMenuController.java b/src/main/java/com/bbyb/operating/examination/controller/RoleMenuController.java new file mode 100644 index 0000000..acfe6e8 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/controller/RoleMenuController.java @@ -0,0 +1,78 @@ +package com.bbyb.operating.examination.controller; + +import com.bbyb.operating.examination.model.po.RoleMenu; +import com.bbyb.operating.examination.model.vo.CommonResult; +import com.bbyb.operating.examination.service.RoleMenuService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 账号 + * className: RoleMenuController + * datetime: 2023/10/2 9:28 + * author: JCC + */ +@RestController() +@RequestMapping("/roleMenu") +public class RoleMenuController { + + @Autowired + private RoleMenuService RoleMenuService; + + @PostMapping(value = "add") + public CommonResult addRoleMenu(@RequestBody RoleMenu RoleMenu){ + + String errorMsg = RoleMenuService.addRoleMenu(RoleMenu); + if(StringUtils.isNotEmpty(errorMsg)){ + return new CommonResult<>(603, errorMsg); + } + return new CommonResult<>(true); + } + + + @GetMapping("/allRoleMenu") + public List getAllRoleMenu(){ + return RoleMenuService.getAllRoleMenu(); + } + + /** + * 描述:根据ID删除用户 + * @param id + * @return int + * @date 2023/8/8 16:52 + */ + @PostMapping("/deleteRoleMenu/{id}") + public CommonResult deleteRoleMenu(@PathVariable Integer id) { + RoleMenuService.deleteRoleMenu(id); + return new CommonResult<>(true); + }; + + /** + * 描述:根据ID获取用户 + * @param id + * @return com.bbyb.operating.examination.model.po.RoleMenu + * @date 2023/8/8 16:52 + */ + @PostMapping("/getRoleMenu/{id}") + public RoleMenu getRoleMenu(@PathVariable Integer id) { + return RoleMenuService.getRoleMenu(id); + }; + + /** + * 描述:更新用户 + * @param row + * @return int + * @date 2023/8/8 16:53 + */ + @PostMapping("/updateRoleMenu") + public CommonResult updateRoleMenu(@RequestBody RoleMenu row) { + RoleMenuService.updateRoleMenu(row); + return new CommonResult<>(true); + }; +} + + + diff --git a/src/main/java/com/bbyb/operating/examination/controller/RoleUserController.java b/src/main/java/com/bbyb/operating/examination/controller/RoleUserController.java new file mode 100644 index 0000000..0f31120 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/controller/RoleUserController.java @@ -0,0 +1,77 @@ +package com.bbyb.operating.examination.controller; + +import com.bbyb.operating.examination.model.po.RoleUser; +import com.bbyb.operating.examination.model.vo.CommonResult; +import com.bbyb.operating.examination.service.RoleUserService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 账号 + * className: RoleUserController + * datetime: 2023/10/2 9:28 + * author: JCC + */ +@RestController() +@RequestMapping("/roleUser") +public class RoleUserController { + + @Autowired + private RoleUserService RoleUserService; + + @PostMapping(value = "add") + public CommonResult addRoleUser(@RequestBody RoleUser RoleUser){ + String errorMsg = RoleUserService.addRoleUser(RoleUser); + if(StringUtils.isNotEmpty(errorMsg)){ + return new CommonResult<>(603, errorMsg); + } + return new CommonResult<>(true); + } + + + @GetMapping("/allRoleUser") + public List getAllRoleUser(){ + return RoleUserService.getAllRoleUser(); + } + + /** + * 描述:根据ID删除用户 + * @param id + * @return int + * @date 2023/8/8 16:52 + */ + @PostMapping("/deleteRoleUser/{id}") + public CommonResult deleteRoleUser(@PathVariable Integer id) { + RoleUserService.deleteRoleUser(id); + return new CommonResult<>(true); + }; + + /** + * 描述:根据ID获取用户 + * @param id + * @return com.bbyb.operating.examination.model.po.RoleUser + * @date 2023/8/8 16:52 + */ + @PostMapping("/getRoleUser/{id}") + public RoleUser getRoleUser(@PathVariable Integer id) { + return RoleUserService.getRoleUser(id); + }; + + /** + * 描述:更新用户 + * @param row + * @return int + * @date 2023/8/8 16:53 + */ + @PostMapping("/updateRoleUser") + public CommonResult updateRoleUser(@RequestBody RoleUser row) { + RoleUserService.updateRoleUser(row); + return new CommonResult<>(true); + }; +} + + + diff --git a/src/main/java/com/bbyb/operating/examination/controller/UserController.java b/src/main/java/com/bbyb/operating/examination/controller/UserController.java new file mode 100644 index 0000000..fccc4a2 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/controller/UserController.java @@ -0,0 +1,104 @@ +package com.bbyb.operating.examination.controller; + +import com.bbyb.operating.examination.model.po.Menu; +import com.bbyb.operating.examination.model.po.Role; +import com.bbyb.operating.examination.model.po.User; +import com.bbyb.operating.examination.model.vo.CommonResult; +import com.bbyb.operating.examination.service.UserService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 账号 + * className: UserController + * datetime: 2023/10/2 9:28 + * author: JCC + */ +@RestController() +@RequestMapping("/user") +public class UserController { + + @Autowired + private UserService userService; + + @PostMapping(value = "add") + public CommonResult addUser(@RequestBody User user){ + if(user == null){ + return new CommonResult<>(601, "用户信息不能为空"); + } + + if(StringUtils.isBlank(user.getUserCode())){ + return new CommonResult<>(601, "用户编码不能为空"); + } + + if(StringUtils.isBlank(user.getUserName())){ + return new CommonResult<>(601, "用户名不能为空"); + } + + if(StringUtils.isBlank(user.getPhone())){ + return new CommonResult<>(601, "用户手机号不能为空"); + } + + if(StringUtils.isBlank(user.getPassword())){ + return new CommonResult<>(601, "用户密码不能为空"); + } + + String errorMsg = userService.addUser(user); + if(StringUtils.isNotEmpty(errorMsg)){ + return new CommonResult<>(603, errorMsg); + } + return new CommonResult<>(true); + } + + + @GetMapping("/allUser") + public List getAllUser(){ + return userService.getAllUser(); + } + + /** + * 描述:根据ID删除用户 + * @param id + * @return int + * @date 2023/8/8 16:52 + */ + @PostMapping("/deleteUser/{id}") + public CommonResult deleteUser(@PathVariable Integer id) { + userService.deleteUser(id); + return new CommonResult<>(true); + }; + + /** + * 描述:根据ID获取用户 + * @param id + * @return com.bbyb.operating.examination.model.po.User + * @date 2023/8/8 16:52 + */ + @PostMapping("/getUser/{id}") + public User getUser(@PathVariable Integer id) { + return userService.getUser(id); + }; + + /** + * 描述:更新用户 + * @param row + * @return int + * @date 2023/8/8 16:53 + */ + @PostMapping("/updateUser") + public CommonResult updateUser(@RequestBody User row) { + userService.updateUser(row); + return new CommonResult<>(true); + }; + + @PostMapping("/getUserAllMenu/{id}") + public List getUserAllMenu(@PathVariable Integer id) { + return userService.getUserAllMenu(id); + }; +} + + + diff --git a/src/main/java/com/bbyb/operating/examination/mapper/ExaminationApplyMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationApplyMapper.java new file mode 100644 index 0000000..b606b63 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationApplyMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.ExaminationApply; +import java.util.List; + +public interface ExaminationApplyMapper { + int deleteByPrimaryKey(Integer id); + + int insert(ExaminationApply row); + + ExaminationApply selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(ExaminationApply row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/ExaminationMajorMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationMajorMapper.java new file mode 100644 index 0000000..642cd72 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationMajorMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.ExaminationMajor; +import java.util.List; + +public interface ExaminationMajorMapper { + int deleteByPrimaryKey(Integer id); + + int insert(ExaminationMajor row); + + ExaminationMajor selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(ExaminationMajor row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperAnswerMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperAnswerMapper.java new file mode 100644 index 0000000..1c225d4 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperAnswerMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.ExaminationPaperAnswer; +import java.util.List; + +public interface ExaminationPaperAnswerMapper { + int deleteByPrimaryKey(Integer id); + + int insert(ExaminationPaperAnswer row); + + ExaminationPaperAnswer selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(ExaminationPaperAnswer row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperMapper.java new file mode 100644 index 0000000..6421651 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.ExaminationPaper; +import java.util.List; + +public interface ExaminationPaperMapper { + int deleteByPrimaryKey(Integer id); + + int insert(ExaminationPaper row); + + ExaminationPaper selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(ExaminationPaper row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperQuestionMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperQuestionMapper.java new file mode 100644 index 0000000..7df0fe4 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperQuestionMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.ExaminationPaperQuestion; +import java.util.List; + +public interface ExaminationPaperQuestionMapper { + int deleteByPrimaryKey(Integer id); + + int insert(ExaminationPaperQuestion row); + + ExaminationPaperQuestion selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(ExaminationPaperQuestion row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperResultMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperResultMapper.java new file mode 100644 index 0000000..71eeb6e --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperResultMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.ExaminationPaperResult; +import java.util.List; + +public interface ExaminationPaperResultMapper { + int deleteByPrimaryKey(Integer id); + + int insert(ExaminationPaperResult row); + + ExaminationPaperResult selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(ExaminationPaperResult row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperScoreMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperScoreMapper.java new file mode 100644 index 0000000..d088fbb --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPaperScoreMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.ExaminationPaperScore; +import java.util.List; + +public interface ExaminationPaperScoreMapper { + int deleteByPrimaryKey(Integer id); + + int insert(ExaminationPaperScore row); + + ExaminationPaperScore selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(ExaminationPaperScore row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPlanMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPlanMapper.java new file mode 100644 index 0000000..433071b --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationPlanMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.ExaminationPlan; +import java.util.List; + +public interface ExaminationPlanMapper { + int deleteByPrimaryKey(Integer id); + + int insert(ExaminationPlan row); + + ExaminationPlan selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(ExaminationPlan row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/ExaminationSubjectMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationSubjectMapper.java new file mode 100644 index 0000000..d549574 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/ExaminationSubjectMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.ExaminationSubject; +import java.util.List; + +public interface ExaminationSubjectMapper { + int deleteByPrimaryKey(Integer id); + + int insert(ExaminationSubject row); + + ExaminationSubject selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(ExaminationSubject row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/MenuMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/MenuMapper.java new file mode 100644 index 0000000..9110777 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/MenuMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.Menu; +import java.util.List; + +public interface MenuMapper { + int deleteByPrimaryKey(Integer id); + + int insert(Menu row); + + Menu selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(Menu row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/QuestionTypeMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/QuestionTypeMapper.java new file mode 100644 index 0000000..971f149 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/QuestionTypeMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.QuestionType; +import java.util.List; + +public interface QuestionTypeMapper { + int deleteByPrimaryKey(Integer id); + + int insert(QuestionType row); + + QuestionType selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(QuestionType row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/RoleMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/RoleMapper.java new file mode 100644 index 0000000..fc558b2 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/RoleMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.Role; +import java.util.List; + +public interface RoleMapper { + int deleteByPrimaryKey(Integer id); + + int insert(Role row); + + Role selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(Role row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/RoleMenuMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/RoleMenuMapper.java new file mode 100644 index 0000000..3d8e95e --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/RoleMenuMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.RoleMenu; +import java.util.List; + +public interface RoleMenuMapper { + int deleteByPrimaryKey(Integer id); + + int insert(RoleMenu row); + + RoleMenu selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(RoleMenu row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/RoleUserMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/RoleUserMapper.java new file mode 100644 index 0000000..96cd1c0 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/RoleUserMapper.java @@ -0,0 +1,20 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.RoleUser; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface RoleUserMapper { + int deleteByPrimaryKey(Integer id); + + int insert(RoleUser row); + + RoleUser selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(RoleUser row); + + List getRoleUserByRoleId(@Param("roleId") Integer roleId); +} diff --git a/src/main/java/com/bbyb/operating/examination/mapper/SysDicMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/SysDicMapper.java new file mode 100644 index 0000000..5bd5fc8 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/SysDicMapper.java @@ -0,0 +1,16 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.SysDic; +import java.util.List; + +public interface SysDicMapper { + int deleteByPrimaryKey(Integer id); + + int insert(SysDic row); + + SysDic selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(SysDic row); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/mapper/UserMapper.java b/src/main/java/com/bbyb/operating/examination/mapper/UserMapper.java new file mode 100644 index 0000000..1f57464 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/mapper/UserMapper.java @@ -0,0 +1,19 @@ +package com.bbyb.operating.examination.mapper; + +import com.bbyb.operating.examination.model.po.Menu; +import com.bbyb.operating.examination.model.po.User; +import java.util.List; + +public interface UserMapper { + int deleteByPrimaryKey(Integer id); + + int insert(User row); + + User selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(User row); + + List getUserAllMenu(Integer id); +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/ExaminationApply.java b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationApply.java new file mode 100644 index 0000000..214e47d --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationApply.java @@ -0,0 +1,105 @@ +package com.bbyb.operating.examination.model.po; + +import java.time.LocalDateTime; + +public class ExaminationApply { + private Integer id; + + private Integer userId; + + private Integer planId; + + private String examinationCode; + + private Integer applyState; + + private String createBy; + + private LocalDateTime createTime; + + private String updateBy; + + private LocalDateTime updateTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public Integer getPlanId() { + return planId; + } + + public void setPlanId(Integer planId) { + this.planId = planId; + } + + public String getExaminationCode() { + return examinationCode; + } + + public void setExaminationCode(String examinationCode) { + this.examinationCode = examinationCode; + } + + public Integer getApplyState() { + return applyState; + } + + public void setApplyState(Integer applyState) { + this.applyState = applyState; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/ExaminationMajor.java b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationMajor.java new file mode 100644 index 0000000..2cd3251 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationMajor.java @@ -0,0 +1,85 @@ +package com.bbyb.operating.examination.model.po; + +import java.time.LocalDateTime; + +public class ExaminationMajor { + private Integer id; + + private String majorCode; + + private String majorName; + + private String createBy; + + private LocalDateTime createTime; + + private String updateBy; + + private LocalDateTime updateTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getMajorCode() { + return majorCode; + } + + public void setMajorCode(String majorCode) { + this.majorCode = majorCode; + } + + public String getMajorName() { + return majorName; + } + + public void setMajorName(String majorName) { + this.majorName = majorName; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaper.java b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaper.java new file mode 100644 index 0000000..8706657 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaper.java @@ -0,0 +1,125 @@ +package com.bbyb.operating.examination.model.po; + +import java.time.LocalDateTime; + +public class ExaminationPaper { + private Integer id; + + private String paperName; + + private String paperCode; + + private Integer subjectId; + + private LocalDateTime examinationStartTime; + + private LocalDateTime examinationEndTime; + + private Integer planId; + + private String createBy; + + private LocalDateTime createTime; + + private String updateBy; + + private LocalDateTime updateTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getPaperName() { + return paperName; + } + + public void setPaperName(String paperName) { + this.paperName = paperName; + } + + public String getPaperCode() { + return paperCode; + } + + public void setPaperCode(String paperCode) { + this.paperCode = paperCode; + } + + public Integer getSubjectId() { + return subjectId; + } + + public void setSubjectId(Integer subjectId) { + this.subjectId = subjectId; + } + + public LocalDateTime getExaminationStartTime() { + return examinationStartTime; + } + + public void setExaminationStartTime(LocalDateTime examinationStartTime) { + this.examinationStartTime = examinationStartTime; + } + + public LocalDateTime getExaminationEndTime() { + return examinationEndTime; + } + + public void setExaminationEndTime(LocalDateTime examinationEndTime) { + this.examinationEndTime = examinationEndTime; + } + + public Integer getPlanId() { + return planId; + } + + public void setPlanId(Integer planId) { + this.planId = planId; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperAnswer.java b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperAnswer.java new file mode 100644 index 0000000..f95de6d --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperAnswer.java @@ -0,0 +1,65 @@ +package com.bbyb.operating.examination.model.po; + +import java.time.LocalDateTime; + +public class ExaminationPaperAnswer { + private Integer id; + + private Integer questionId; + + private String answerText; + + private String createBy; + + private LocalDateTime createTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getQuestionId() { + return questionId; + } + + public void setQuestionId(Integer questionId) { + this.questionId = questionId; + } + + public String getAnswerText() { + return answerText; + } + + public void setAnswerText(String answerText) { + this.answerText = answerText; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperQuestion.java b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperQuestion.java new file mode 100644 index 0000000..3e2c30e --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperQuestion.java @@ -0,0 +1,126 @@ +package com.bbyb.operating.examination.model.po; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +public class ExaminationPaperQuestion { + private Integer id; + + private Integer paperId; + + private String questionTitle; + + private String quertionNum; + + private String quertionType; + + private Integer preQuestionId; + + private BigDecimal score; + + private String createBy; + + private LocalDateTime createTime; + + private String updateBy; + + private LocalDateTime updateTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getPaperId() { + return paperId; + } + + public void setPaperId(Integer paperId) { + this.paperId = paperId; + } + + public String getQuestionTitle() { + return questionTitle; + } + + public void setQuestionTitle(String questionTitle) { + this.questionTitle = questionTitle; + } + + public String getQuertionNum() { + return quertionNum; + } + + public void setQuertionNum(String quertionNum) { + this.quertionNum = quertionNum; + } + + public String getQuertionType() { + return quertionType; + } + + public void setQuertionType(String quertionType) { + this.quertionType = quertionType; + } + + public Integer getPreQuestionId() { + return preQuestionId; + } + + public void setPreQuestionId(Integer preQuestionId) { + this.preQuestionId = preQuestionId; + } + + public BigDecimal getScore() { + return score; + } + + public void setScore(BigDecimal score) { + this.score = score; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperResult.java b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperResult.java new file mode 100644 index 0000000..86882e3 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperResult.java @@ -0,0 +1,86 @@ +package com.bbyb.operating.examination.model.po; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +public class ExaminationPaperResult { + private Integer id; + + private Integer questionId; + + private Integer userId; + + private String answerText; + + private BigDecimal score; + + private String createBy; + + private LocalDateTime createTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getQuestionId() { + return questionId; + } + + public void setQuestionId(Integer questionId) { + this.questionId = questionId; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public String getAnswerText() { + return answerText; + } + + public void setAnswerText(String answerText) { + this.answerText = answerText; + } + + public BigDecimal getScore() { + return score; + } + + public void setScore(BigDecimal score) { + this.score = score; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperScore.java b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperScore.java new file mode 100644 index 0000000..80c1948 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPaperScore.java @@ -0,0 +1,96 @@ +package com.bbyb.operating.examination.model.po; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +public class ExaminationPaperScore { + private Integer id; + + private Integer paperId; + + private Integer userId; + + private BigDecimal score; + + private String createBy; + + private LocalDateTime createTime; + + private String updateBy; + + private LocalDateTime updateTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getPaperId() { + return paperId; + } + + public void setPaperId(Integer paperId) { + this.paperId = paperId; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public BigDecimal getScore() { + return score; + } + + public void setScore(BigDecimal score) { + this.score = score; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPlan.java b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPlan.java new file mode 100644 index 0000000..209f246 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationPlan.java @@ -0,0 +1,125 @@ +package com.bbyb.operating.examination.model.po; + +import java.time.LocalDateTime; + +public class ExaminationPlan { + private Integer id; + + private String planName; + + private String planExplain; + + private LocalDateTime planStartTime; + + private LocalDateTime planEndTime; + + private Integer majorId; + + private Integer userInCharge; + + private String createBy; + + private LocalDateTime createTime; + + private String updateBy; + + private LocalDateTime updateTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getPlanName() { + return planName; + } + + public void setPlanName(String planName) { + this.planName = planName; + } + + public String getPlanExplain() { + return planExplain; + } + + public void setPlanExplain(String planExplain) { + this.planExplain = planExplain; + } + + public LocalDateTime getPlanStartTime() { + return planStartTime; + } + + public void setPlanStartTime(LocalDateTime planStartTime) { + this.planStartTime = planStartTime; + } + + public LocalDateTime getPlanEndTime() { + return planEndTime; + } + + public void setPlanEndTime(LocalDateTime planEndTime) { + this.planEndTime = planEndTime; + } + + public Integer getMajorId() { + return majorId; + } + + public void setMajorId(Integer majorId) { + this.majorId = majorId; + } + + public Integer getUserInCharge() { + return userInCharge; + } + + public void setUserInCharge(Integer userInCharge) { + this.userInCharge = userInCharge; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/ExaminationSubject.java b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationSubject.java new file mode 100644 index 0000000..5e98557 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/ExaminationSubject.java @@ -0,0 +1,95 @@ +package com.bbyb.operating.examination.model.po; + +import java.time.LocalDateTime; + +public class ExaminationSubject { + private Integer id; + + private String subjectCode; + + private String subjectName; + + private Integer majorId; + + private String createBy; + + private LocalDateTime createTime; + + private String updateBy; + + private LocalDateTime updateTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getSubjectCode() { + return subjectCode; + } + + public void setSubjectCode(String subjectCode) { + this.subjectCode = subjectCode; + } + + public String getSubjectName() { + return subjectName; + } + + public void setSubjectName(String subjectName) { + this.subjectName = subjectName; + } + + public Integer getMajorId() { + return majorId; + } + + public void setMajorId(Integer majorId) { + this.majorId = majorId; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/Menu.java b/src/main/java/com/bbyb/operating/examination/model/po/Menu.java new file mode 100644 index 0000000..447ede5 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/Menu.java @@ -0,0 +1,135 @@ +package com.bbyb.operating.examination.model.po; + +import java.time.LocalDateTime; + +public class Menu { + private Integer id; + + private String menuCode; + + private String menuName; + + private String menuAuthorityCode; + + private String menuPath; + + private Integer parentMenuId; + + private Integer level; + + private Integer menuType; + + private String createBy; + + private LocalDateTime createTime; + + private String updateBy; + + private LocalDateTime updateTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getMenuCode() { + return menuCode; + } + + public void setMenuCode(String menuCode) { + this.menuCode = menuCode; + } + + public String getMenuName() { + return menuName; + } + + public void setMenuName(String menuName) { + this.menuName = menuName; + } + + public String getMenuAuthorityCode() { + return menuAuthorityCode; + } + + public void setMenuAuthorityCode(String menuAuthorityCode) { + this.menuAuthorityCode = menuAuthorityCode; + } + + public String getMenuPath() { + return menuPath; + } + + public void setMenuPath(String menuPath) { + this.menuPath = menuPath; + } + + public Integer getParentMenuId() { + return parentMenuId; + } + + public void setParentMenuId(Integer parentMenuId) { + this.parentMenuId = parentMenuId; + } + + public Integer getLevel() { + return level; + } + + public void setLevel(Integer level) { + this.level = level; + } + + public Integer getMenuType() { + return menuType; + } + + public void setMenuType(Integer menuType) { + this.menuType = menuType; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/QuestionType.java b/src/main/java/com/bbyb/operating/examination/model/po/QuestionType.java new file mode 100644 index 0000000..5bb2695 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/QuestionType.java @@ -0,0 +1,95 @@ +package com.bbyb.operating.examination.model.po; + +import java.time.LocalDateTime; + +public class QuestionType { + private Integer id; + + private String questionCode; + + private String questionName; + + private Integer gradingType; + + private String createBy; + + private LocalDateTime createTime; + + private String updateBy; + + private LocalDateTime updateTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getQuestionCode() { + return questionCode; + } + + public void setQuestionCode(String questionCode) { + this.questionCode = questionCode; + } + + public String getQuestionName() { + return questionName; + } + + public void setQuestionName(String questionName) { + this.questionName = questionName; + } + + public Integer getGradingType() { + return gradingType; + } + + public void setGradingType(Integer gradingType) { + this.gradingType = gradingType; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/Role.java b/src/main/java/com/bbyb/operating/examination/model/po/Role.java new file mode 100644 index 0000000..c3b0fef --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/Role.java @@ -0,0 +1,90 @@ +package com.bbyb.operating.examination.model.po; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +public class Role { + /** 整合Validation **/ + @NotNull(message = "角色id不能为空") + @Min(value = 1,message = "角色ID不能为负数") + private Integer id; + @NotNull(message = "角色编码不能为空") + private String roleCode; + @NotNull(message = "角色名称不能为空") + private String roleName; + @NotNull(message = "创建人不能为空") + private String createBy; + @NotNull(message = "创建时间不能为空") + private LocalDateTime createTime; + @NotNull(message = "更新人不能为空") + private String updateBy; + @NotNull(message = "更新时间不能为空") + private LocalDateTime updateTime; + @NotNull(message = "数据作废标识不能为空") + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getRoleCode() { + return roleCode; + } + + public void setRoleCode(String roleCode) { + this.roleCode = roleCode; + } + + public String getRoleName() { + return roleName; + } + + public void setRoleName(String roleName) { + this.roleName = roleName; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/RoleMenu.java b/src/main/java/com/bbyb/operating/examination/model/po/RoleMenu.java new file mode 100644 index 0000000..a9894de --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/RoleMenu.java @@ -0,0 +1,90 @@ +package com.bbyb.operating.examination.model.po; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +public class RoleMenu { + /** 整合Validation **/ + @NotNull(message = "角色菜单id不能为空") + @Min(value = 1,message = "角色菜单ID不能为负数") + private Integer id; + @NotNull(message = "角色id不能为空") + private Integer roleId; + @NotNull(message = "菜单id不能为空") + private Integer menuId; + @NotNull(message = "创建人不能为空") + private String createBy; + @NotNull(message = "创建时间不能为空") + private LocalDateTime createTime; + @NotNull(message = "更新人不能为空") + private String updateBy; + @NotNull(message = "更新时间不能为空") + private LocalDateTime updateTime; + @NotNull(message = "数据作废标识不能为空") + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getRoleId() { + return roleId; + } + + public void setRoleId(Integer roleId) { + this.roleId = roleId; + } + + public Integer getMenuId() { + return menuId; + } + + public void setMenuId(Integer menuId) { + this.menuId = menuId; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/RoleUser.java b/src/main/java/com/bbyb/operating/examination/model/po/RoleUser.java new file mode 100644 index 0000000..4dc7720 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/RoleUser.java @@ -0,0 +1,90 @@ +package com.bbyb.operating.examination.model.po; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +public class RoleUser { + /** 整合Validation **/ + @NotNull(message = "角色用户id不能为空") + @Min(value = 1,message = "角色用户ID不能为负数") + private Integer id; + @NotNull(message = "角色用户id不能为空") + private Integer roleId; + @NotNull(message = "用户id不能为空") + private Integer userId; + @NotNull(message = "创建人不能为空") + private String createBy; + @NotNull(message = "创建时间不能为空") + private LocalDateTime createTime; + @NotNull(message = "更新人不能为空") + private String updateBy; + @NotNull(message = "更新时间不能为空") + private LocalDateTime updateTime; + @NotNull(message = "是否作废不能为空") + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getRoleId() { + return roleId; + } + + public void setRoleId(Integer roleId) { + this.roleId = roleId; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/SysDic.java b/src/main/java/com/bbyb/operating/examination/model/po/SysDic.java new file mode 100644 index 0000000..85d49b4 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/SysDic.java @@ -0,0 +1,95 @@ +package com.bbyb.operating.examination.model.po; + +import java.time.LocalDateTime; + +public class SysDic { + private Integer id; + + private String groupName; + + private String itemName; + + private String itemCode; + + private String createBy; + + private LocalDateTime createTime; + + private String updateBy; + + private LocalDateTime updateTime; + + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getGroupName() { + return groupName; + } + + public void setGroupName(String groupName) { + this.groupName = groupName; + } + + public String getItemName() { + return itemName; + } + + public void setItemName(String itemName) { + this.itemName = itemName; + } + + public String getItemCode() { + return itemCode; + } + + public void setItemCode(String itemCode) { + this.itemCode = itemCode; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/po/User.java b/src/main/java/com/bbyb/operating/examination/model/po/User.java new file mode 100644 index 0000000..4f16d3a --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/po/User.java @@ -0,0 +1,161 @@ +package com.bbyb.operating.examination.model.po; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + + +public class User { + /** 整合Validation **/ + @NotNull(message = "用户id不能为空") + @Min(value = 1,message = "用户ID不能为负数") + private Integer id; + @NotNull(message = "用户码不能为空") + private String userCode; + @NotNull(message = "用户名不能为空") + private String userName; + @NotNull(message = "电话不能为空") + private String phone; + @NotNull(message = "密码不能为空") + private String password; + @NotNull(message = "邮箱不能为空") + private String email; + @NotNull(message = "身份证号不能为空") + private String idCard; + @NotNull(message = "性别不能为空") + private Integer gender; + @NotNull(message = "是否超级管理员不能为空") + private Integer isAdmin; + @NotNull(message = "是否启用不能为空") + private Integer isEnable; + @NotNull(message = "创建人不能为空") + private String createBy; + @NotNull(message = "创建时间不能为空") + private LocalDateTime createTime; + @NotNull(message = "更新人不能为空") + private String updateBy; + @NotNull(message = "更新时间不能为空") + private LocalDateTime updateTime; + @NotNull(message = "数据是否作废不能为空") + private Integer invalid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUserCode() { + return userCode; + } + + public void setUserCode(String userCode) { + this.userCode = userCode; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getIdCard() { + return idCard; + } + + public void setIdCard(String idCard) { + this.idCard = idCard; + } + + public Integer getGender() { + return gender; + } + + public void setGender(Integer gender) { + this.gender = gender; + } + + public Integer getIsAdmin() { + return isAdmin; + } + + public void setIsAdmin(Integer isAdmin) { + this.isAdmin = isAdmin; + } + + public Integer getIsEnable() { + return isEnable; + } + + public void setIsEnable(Integer isEnable) { + this.isEnable = isEnable; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public Integer getInvalid() { + return invalid; + } + + public void setInvalid(Integer invalid) { + this.invalid = invalid; + } +} \ No newline at end of file diff --git a/src/main/java/com/bbyb/operating/examination/model/vo/CommonResult.java b/src/main/java/com/bbyb/operating/examination/model/vo/CommonResult.java new file mode 100644 index 0000000..18dfee4 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/model/vo/CommonResult.java @@ -0,0 +1,80 @@ +package com.bbyb.operating.examination.model.vo; + +/** + * 通用返回实体类 + * className: CommonResult + * datetime: 2023/10/2 9:35 + * author: JCC + */ +public class CommonResult { + + /** 返回编码(0 成功 非0异常) */ + private int code; + + /** 返回结果信息描述 */ + private String msg; + + /** 是否成功 boolean表示 */ + private boolean success; + + /** 返回的数据 */ + private T data; + + public static CommonResult error(int code, String msg) { + return new CommonResult(code, msg); + } + public CommonResult(){ + this.code = 0; + this.msg = "成功"; + this.success = true; + } + + public CommonResult(T data){ + this(); + this.data = data; + } + + public CommonResult(int code, String msg){ + this.code = code; + this.msg = msg; + } + + public CommonResult(int code, String msg, boolean success, T data){ + this.code = code; + this.msg = msg; + this.success = success; + this.data = data; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } +} diff --git a/src/main/java/com/bbyb/operating/examination/service/RoleMenuService.java b/src/main/java/com/bbyb/operating/examination/service/RoleMenuService.java new file mode 100644 index 0000000..f308b9c --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/service/RoleMenuService.java @@ -0,0 +1,48 @@ +package com.bbyb.operating.examination.service; + +import com.bbyb.operating.examination.model.po.Role; +import com.bbyb.operating.examination.model.po.RoleMenu; +import com.bbyb.operating.examination.model.po.User; + +import java.util.List; + +public interface RoleMenuService { + /** + * 描述:添加角色菜单 + * @param roleMenu + * @return java.lang.String + * @date 2023/8/8 16:52 + */ + String addRoleMenu(RoleMenu roleMenu); + + /** + * 描述:获取所有角色菜单 + * @return java.util.List + * @date 2023/8/8 16:52 + */ + List getAllRoleMenu(); + + /** + * 描述:根据ID删除角色菜单 + * @param id + * @return int + * @date 2023/8/8 16:52 + */ + int deleteRoleMenu(Integer id); + + /** + * 描述:根据ID获取角色菜单 + * @param id + * @return com.bbyb.operating.examination.model.po.User + * @date 2023/8/8 16:52 + */ + RoleMenu getRoleMenu(Integer id); + + /** + * 描述:更新角色菜单 + * @param roleMenu + * @return int + * @date 2023/8/8 16:53 + */ + int updateRoleMenu(RoleMenu roleMenu); +} diff --git a/src/main/java/com/bbyb/operating/examination/service/RoleService.java b/src/main/java/com/bbyb/operating/examination/service/RoleService.java new file mode 100644 index 0000000..fa4408b --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/service/RoleService.java @@ -0,0 +1,46 @@ +package com.bbyb.operating.examination.service; + +import com.bbyb.operating.examination.model.po.Role; + +import java.util.List; + +public interface RoleService { + /** + * 描述:添加角色 + * @param role + * @return java.lang.String + * @date 2023/8/8 16:52 + */ + String addRole(Role role); + + /** + * 描述:获取所有角色 + * @return java.util.List + * @date 2023/8/8 16:52 + */ + List getAllRole(); + + /** + * 描述:根据ID删除角色 + * @param id + * @return int + * @date 2023/8/8 16:52 + */ + int deleteRole(Integer id); + + /** + * 描述:根据ID获取角色 + * @param id + * @return com.bbyb.operating.examination.model.po.User + * @date 2023/8/8 16:52 + */ + Role getRole(Integer id); + + /** + * 描述:更新角色 + * @param role + * @return int + * @date 2023/8/8 16:53 + */ + int updateRole(Role role); +} diff --git a/src/main/java/com/bbyb/operating/examination/service/RoleUserService.java b/src/main/java/com/bbyb/operating/examination/service/RoleUserService.java new file mode 100644 index 0000000..0e031e3 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/service/RoleUserService.java @@ -0,0 +1,55 @@ +package com.bbyb.operating.examination.service; + +import com.bbyb.operating.examination.model.po.RoleUser; +import com.bbyb.operating.examination.model.po.User; + +import java.util.List; + +public interface RoleUserService { + /** + * 描述:添加用户角色 + * @param roleUser + * @return java.lang.String + * @date 2023/8/8 16:52 + */ + String addRoleUser(RoleUser roleUser); + + /** + * 描述:获取所有用户角色 + * @return java.util.List + * @date 2023/8/8 16:52 + */ + List getAllRoleUser(); + + /** + * 描述:根据ID删除用户角色 + * @param id + * @return int + * @date 2023/8/8 16:52 + */ + int deleteRoleUser(Integer id); + + /** + * 描述:根据ID获取用户角色 + * @param id + * @return com.bbyb.operating.examination.model.po.RoleUser + * @date 2023/8/8 16:52 + */ + RoleUser getRoleUser(Integer id); + + /** + * 描述:更新用户角色 + * @param roleUser + * @return int + * @date 2023/8/8 16:53 + */ + int updateRoleUser(RoleUser roleUser); + + /** + * 描述:根据roleId查询角色 + * @param roleUser + * @return int + * @date 2023/10/2 10:40 + */ + public List getRoleUserByRoleId(Integer roleId); +} diff --git a/src/main/java/com/bbyb/operating/examination/service/UserService.java b/src/main/java/com/bbyb/operating/examination/service/UserService.java new file mode 100644 index 0000000..00fb461 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/service/UserService.java @@ -0,0 +1,56 @@ +package com.bbyb.operating.examination.service; + +import com.bbyb.operating.examination.model.po.Menu; +import com.bbyb.operating.examination.model.po.User; + +import java.util.List; + +public interface UserService { + /** + * 描述:添加用户 + * @param user + * @return java.lang.String + * @date 2023/8/8 16:52 + */ + String addUser(User user); + + /** + * 描述:获取所有用户 + * @return java.util.List + * @date 2023/8/8 16:52 + */ + List getAllUser(); + + /** + * 描述:根据ID删除用户 + * @param id + * @return int + * @date 2023/8/8 16:52 + */ + int deleteUser(Integer id); + + /** + * 描述:根据ID获取用户 + * @param id + * @return com.bbyb.operating.examination.model.po.User + * @date 2023/8/8 16:52 + */ + User getUser(Integer id); + + /** + * 描述:更新用户 + * @param row + * @return int + * @date 2023/8/8 16:53 + */ + int updateUser(User row); + + /** + * 描述:查询用户所有权限 + * @author ChenYanTing + * @param id + * @return java.util.List + * @date 2023/8/8 19:43 + */ + List getUserAllMenu(Integer id); +} diff --git a/src/main/java/com/bbyb/operating/examination/service/impl/RoleMenuServiceImpl.java b/src/main/java/com/bbyb/operating/examination/service/impl/RoleMenuServiceImpl.java new file mode 100644 index 0000000..b75a4db --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/service/impl/RoleMenuServiceImpl.java @@ -0,0 +1,56 @@ +package com.bbyb.operating.examination.service.impl; + +import com.bbyb.operating.examination.mapper.RoleMapper; +import com.bbyb.operating.examination.mapper.RoleMenuMapper; +import com.bbyb.operating.examination.mapper.UserMapper; +import com.bbyb.operating.examination.model.po.Role; +import com.bbyb.operating.examination.model.po.RoleMenu; +import com.bbyb.operating.examination.model.po.User; +import com.bbyb.operating.examination.service.RoleMenuService; +import com.bbyb.operating.examination.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 账号服务 + * className: UserServiceImpl + * datetime: 2023/10/2 9:35 + * author: JCC + */ +@Service +public class RoleMenuServiceImpl implements RoleMenuService { + + @Autowired + private RoleMenuMapper roleMenuMapper; + + + @Override + public String addRoleMenu(RoleMenu roleMenu) { + if(roleMenuMapper.insert(roleMenu) == 1){ + return null; + } + return "保存用户信息失败"; + } + + @Override + public List getAllRoleMenu() { + return roleMenuMapper.selectAll(); + } + + @Override + public int deleteRoleMenu(Integer id) { + return roleMenuMapper.deleteByPrimaryKey(id); + } + + @Override + public RoleMenu getRoleMenu(Integer id) { + return roleMenuMapper.selectByPrimaryKey(id); + } + + @Override + public int updateRoleMenu(RoleMenu roleMenu) { + return roleMenuMapper.updateByPrimaryKey(roleMenu); + } +} diff --git a/src/main/java/com/bbyb/operating/examination/service/impl/RoleServiceImpl.java b/src/main/java/com/bbyb/operating/examination/service/impl/RoleServiceImpl.java new file mode 100644 index 0000000..36f0fd3 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/service/impl/RoleServiceImpl.java @@ -0,0 +1,68 @@ +package com.bbyb.operating.examination.service.impl; + +import com.bbyb.operating.examination.config.BizException; +import com.bbyb.operating.examination.config.GlobalExceptionHandler; +import com.bbyb.operating.examination.mapper.RoleMapper; +import com.bbyb.operating.examination.mapper.UserMapper; +import com.bbyb.operating.examination.model.po.Role; +import com.bbyb.operating.examination.model.po.RoleUser; +import com.bbyb.operating.examination.model.po.User; +import com.bbyb.operating.examination.service.RoleService; +import com.bbyb.operating.examination.service.RoleUserService; +import com.bbyb.operating.examination.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +/** + * 账号服务 + * className: UserServiceImpl + * datetime: 2023/10/2 9:35 + * author: JCC + */ +@Service +public class RoleServiceImpl implements RoleService { + + @Autowired + private RoleMapper roleMapper; + + @Autowired + private RoleUserService roleUserService; + + @Override + public String addRole(Role role) { + if(roleMapper.insert(role) == 1){ + return null; + } + return "保存用户信息失败"; + } + + @Override + public List getAllRole() { + return roleMapper.selectAll(); + } + + @Override + public int deleteRole(Integer id) { + List roleUsers = roleUserService.getRoleUserByRoleId(id); + if (CollectionUtils.isEmpty(roleUsers)){ + return roleMapper.deleteByPrimaryKey(id); + } + throw new BizException(500,"不能删除有关联得角色"); + } + + @Override + public Role getRole(Integer id) { + return roleMapper.selectByPrimaryKey(id); + } + + @Override + public int updateRole(Role role) { + return roleMapper.updateByPrimaryKey(role); + } + +} diff --git a/src/main/java/com/bbyb/operating/examination/service/impl/RoleUserServiceImpl.java b/src/main/java/com/bbyb/operating/examination/service/impl/RoleUserServiceImpl.java new file mode 100644 index 0000000..f4a6832 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/service/impl/RoleUserServiceImpl.java @@ -0,0 +1,60 @@ +package com.bbyb.operating.examination.service.impl; + +import com.bbyb.operating.examination.mapper.RoleUserMapper; +import com.bbyb.operating.examination.mapper.UserMapper; +import com.bbyb.operating.examination.model.po.RoleUser; +import com.bbyb.operating.examination.model.po.User; +import com.bbyb.operating.examination.service.RoleUserService; +import com.bbyb.operating.examination.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 账号服务 + * className: UserServiceImpl + * datetime: 2023/10/2 9:35 + * author: JCC + */ +@Service +public class RoleUserServiceImpl implements RoleUserService { + + @Autowired + private RoleUserMapper roleUserMapper; + + + @Override + public String addRoleUser(RoleUser roleUser) { + if(roleUserMapper.insert(roleUser) == 1){ + return null; + } + return "保存用户信息失败"; + } + + @Override + public List getAllRoleUser() { + return roleUserMapper.selectAll(); + } + + @Override + public int deleteRoleUser(Integer id) { + return roleUserMapper.deleteByPrimaryKey(id); + } + + + @Override + public RoleUser getRoleUser(Integer id) { + return roleUserMapper.selectByPrimaryKey(id); + } + + @Override + public int updateRoleUser(RoleUser roleUser) { + return roleUserMapper.updateByPrimaryKey(roleUser); + } + + @Override + public List getRoleUserByRoleId(Integer roleId){ + return roleUserMapper.getRoleUserByRoleId(roleId); + } +} diff --git a/src/main/java/com/bbyb/operating/examination/service/impl/UserServiceImpl.java b/src/main/java/com/bbyb/operating/examination/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..51ee655 --- /dev/null +++ b/src/main/java/com/bbyb/operating/examination/service/impl/UserServiceImpl.java @@ -0,0 +1,56 @@ +package com.bbyb.operating.examination.service.impl; + +import com.bbyb.operating.examination.mapper.UserMapper; +import com.bbyb.operating.examination.model.po.Menu; +import com.bbyb.operating.examination.model.po.User; +import com.bbyb.operating.examination.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 账号服务 + * className: UserServiceImpl + * datetime: 2023/10/2 9:35 + * author: JCC + */ +@Service +public class UserServiceImpl implements UserService { + + @Autowired + private UserMapper userMapper; + + @Override + public String addUser(User user) { + if(userMapper.insert(user) == 1){ + return null; + } + return "保存用户信息失败"; + } + + @Override + public List getAllUser() { + return userMapper.selectAll(); + } + + @Override + public int deleteUser(Integer id) { + return userMapper.deleteByPrimaryKey(id); + } + + @Override + public User getUser(Integer id) { + return userMapper.selectByPrimaryKey(id); + } + + @Override + public int updateUser(User row) { + return userMapper.updateByPrimaryKey(row); + } + + @Override + public List getUserAllMenu(Integer id) { + return userMapper.getUserAllMenu(id); + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..4fab3a6 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,11 @@ +server.port=9001 +server.tomcat.max-http-form-post-size=156413531 +spring.datasource.url=jdbc:mysql://127.0.0.1:3306/day01 +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.username =root +spring.datasource.password =1234 +logging.level.org.springframework.boot.autoconfigure=error +mybatis.mapper-locations=classpath*:/mapper/**/*.xml +mybatis.configuration.map-underscore-to-camel-case=true +logging.level.com.bbyb.operating.examination.mapper=DEBUG +spring.mvc.pathmatch.matching-strategy=ant_path_matcher diff --git a/src/main/resources/mapper/RoleMapper.xml b/src/main/resources/mapper/RoleMapper.xml new file mode 100644 index 0000000..e4753fb --- /dev/null +++ b/src/main/resources/mapper/RoleMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + INSERT INTO role + (role_code, role_name, create_by, create_time, update_by, update_time, invalid) + VALUES(#{roleCode}, #{roleName}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{invalid}) + + + + UPDATE role + + + role_code = #{roleCode}, + + + role_name = #{roleName}, + + + create_by = #{createBy}, + + + create_time = #{createTime}, + + + update_by = #{updateBy}, + + + update_time = #{updateTime}, + + + update_by = #{updateBy}, + + + invalid = #{invalid} + + + WHERE id = #{id}; + + + + delete from role where id = #{id} + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/RoleMenuMapper.xml b/src/main/resources/mapper/RoleMenuMapper.xml new file mode 100644 index 0000000..d36b113 --- /dev/null +++ b/src/main/resources/mapper/RoleMenuMapper.xml @@ -0,0 +1,50 @@ + + + + + + + + INSERT INTO role_menu + (role_id, menu_id, create_by, create_time, update_by, update_time, invalid) + VALUES(#{roleId}, #{menuId}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{invalid}) + + + + UPDATE role_menu + + + role_id = #{roleId}, + + + menu_id = #{menuId}, + + + create_time = #{createTime}, + + + update_by = #{updateBy}, + + + update_time = #{updateTime}, + + + update_by = #{updateBy}, + + + invalid = #{invalid} + + + WHERE id = #{id}; + + + + delete from role_menu where id = #{id} + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/RoleUserMapper.xml b/src/main/resources/mapper/RoleUserMapper.xml new file mode 100644 index 0000000..19a792b --- /dev/null +++ b/src/main/resources/mapper/RoleUserMapper.xml @@ -0,0 +1,56 @@ + + + + + + + + INSERT INTO role_user + (role_id, user_id, create_by, create_time, update_by, update_time, invalid) + VALUES(#{roleId}, #{userId}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{invalid}) + + + + UPDATE role_user + + + role_id = #{roleId}, + + + user_id = #{userId}, + + + create_by = #{createBy}, + + + create_time = #{createTime}, + + + update_by = #{updateBy}, + + + update_time = #{updateTime}, + + + update_by = #{updateBy}, + + + invalid = #{invalid} + + + WHERE id = #{id}; + + + + delete from role_user where id = #{id} + + + + + diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml new file mode 100644 index 0000000..39aae2b --- /dev/null +++ b/src/main/resources/mapper/UserMapper.xml @@ -0,0 +1,100 @@ + + + + + + + + INSERT INTO user + (user_code, user_name, phone, password, email, id_card, gender, is_admin, is_enable, create_by, create_time, update_by, update_time, invalid) + VALUES(#{userCode}, #{userName}, #{phone}, #{password}, #{email}, #{idCard}, #{gender}, #{isAdmin}, #{isEnable}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{invalid}) + + + + UPDATE user + + + user_code = #{userCode}, + + + user_name = #{userName}, + + + phone = #{phone}, + + + password = #{password}, + + + email = #{email}, + + + id_card = #{idCard}, + + + gender = #{gender}, + + + is_admin = #{isAdmin}, + + + is_enable = #{isEnable}, + + + create_by = #{createBy}, + + + create_time = #{createTime}, + + + update_by = #{updateBy}, + + + update_time = #{updateTime}, + + + update_by = #{updateBy}, + + + invalid = #{invalid} + + + WHERE id = #{id}; + + + + delete from user where id = #{id} + + + + + + + + \ No newline at end of file diff --git a/src/test/java/com/bbyb/operating/examination/controller/RoleControllerTest.java b/src/test/java/com/bbyb/operating/examination/controller/RoleControllerTest.java new file mode 100644 index 0000000..0026463 --- /dev/null +++ b/src/test/java/com/bbyb/operating/examination/controller/RoleControllerTest.java @@ -0,0 +1,63 @@ +package com.bbyb.operating.examination.controller; + +import com.bbyb.operating.examination.model.po.Role; +import com.bbyb.operating.examination.service.RoleService; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.time.LocalDateTime; + +/** + * @ClassName: RoleControllerTest + * + * @Date: 2023/8/8 16:58 + * @Version: 1.0 + * @Description: + */ +@SpringBootTest +class RoleControllerTest { + @Autowired + private RoleService roleService; + + @Test + void addRole() { + Role Role = new Role(); + Role.setId(213214); + Role.setRoleCode("213214"); + Role.setRoleName("test"); + Role.setCreateBy("张三"); + Role.setCreateTime(LocalDateTime.now()); + Role.setUpdateBy("张三"); + Role.setUpdateTime(LocalDateTime.now()); + Role.setInvalid(0); + roleService.addRole(Role); + } + + @Test + void getAllRole() { + System.out.println(roleService.getAllRole()); + } + + @Test + void deleteRole() { + roleService.deleteRole(34); + } + + @Test + void getRole() { + System.out.println(roleService.getRole(34)); + } + + @Test + void updateRole() { + Role role = new Role(); + role.setId(35); + role.setRoleCode("34"); + role.setRoleName("修改"); + role.setUpdateBy("张三"); + role.setUpdateTime(LocalDateTime.now()); + role.setInvalid(0); + roleService.updateRole(role); + } +} \ No newline at end of file diff --git a/src/test/java/com/bbyb/operating/examination/controller/RoleMenuControllerTest.java b/src/test/java/com/bbyb/operating/examination/controller/RoleMenuControllerTest.java new file mode 100644 index 0000000..e5c019b --- /dev/null +++ b/src/test/java/com/bbyb/operating/examination/controller/RoleMenuControllerTest.java @@ -0,0 +1,60 @@ +package com.bbyb.operating.examination.controller; + +import com.bbyb.operating.examination.model.po.RoleMenu; +import com.bbyb.operating.examination.service.RoleMenuService; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.time.LocalDateTime; + +/** + * @ClassName: RoleMenuControllerTest + * + * @Date: 2023/8/8 16:58 + * @Version: 1.0 + * @Description: + */ +@SpringBootTest +class RoleMenuControllerTest { + @Autowired + private RoleMenuService RoleMenuService; + + @Test + void addRoleMenu() { + RoleMenu RoleMenu = new RoleMenu(); + RoleMenu.setId(213214); + + RoleMenu.setCreateBy("张三"); + RoleMenu.setCreateTime(LocalDateTime.now()); + RoleMenu.setUpdateBy("张三"); + RoleMenu.setUpdateTime(LocalDateTime.now()); + RoleMenu.setInvalid(0); + RoleMenuService.addRoleMenu(RoleMenu); + } + + @Test + void getAllRoleMenu() { + System.out.println(RoleMenuService.getAllRoleMenu()); + } + + @Test + void deleteRoleMenu() { + RoleMenuService.deleteRoleMenu(87); + } + + @Test + void getRoleMenu() { + System.out.println(RoleMenuService.getRoleMenu(87)); + } + + @Test + void updateRoleMenu() { + RoleMenu RoleMenu = new RoleMenu(); + RoleMenu.setId(87); + RoleMenu.setUpdateBy("张三修改"); + RoleMenu.setUpdateTime(LocalDateTime.now()); + RoleMenu.setInvalid(0); + RoleMenuService.updateRoleMenu(RoleMenu); + } +} \ No newline at end of file diff --git a/src/test/java/com/bbyb/operating/examination/controller/RoleUserControllerTest.java b/src/test/java/com/bbyb/operating/examination/controller/RoleUserControllerTest.java new file mode 100644 index 0000000..17e38ca --- /dev/null +++ b/src/test/java/com/bbyb/operating/examination/controller/RoleUserControllerTest.java @@ -0,0 +1,59 @@ +package com.bbyb.operating.examination.controller; + +import com.bbyb.operating.examination.model.po.RoleUser; +import com.bbyb.operating.examination.service.RoleUserService; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.time.LocalDateTime; + +/** + * @ClassName: RoleUserControllerTest + * + * @Date: 2023/8/8 16:58 + * @Version: 1.0 + * @Description: + */ +@SpringBootTest +class RoleUserControllerTest { + @Autowired + private RoleUserService RoleUserService; + + @Test + void addRoleUser() { + RoleUser RoleUser = new RoleUser(); + RoleUser.setId(213214); + RoleUser.setCreateBy("张三"); + RoleUser.setCreateTime(LocalDateTime.now()); + RoleUser.setUpdateBy("张三"); + RoleUser.setUpdateTime(LocalDateTime.now()); + RoleUser.setInvalid(0); + RoleUserService.addRoleUser(RoleUser); + } + + @Test + void getAllRoleUser() { + System.out.println(RoleUserService.getAllRoleUser()); + } + + @Test + void deleteRoleUser() { + RoleUserService.deleteRoleUser(100041); + } + + @Test + void getRoleUser() { + System.out.println(RoleUserService.getRoleUser(100041)); + } + + @Test + void updateRoleUser() { + RoleUser RoleUser = new RoleUser(); + RoleUser.setId(100041); + RoleUser.setUpdateBy("张三修改"); + RoleUser.setUpdateTime(LocalDateTime.now()); + RoleUser.setInvalid(0); + RoleUserService.updateRoleUser(RoleUser); + } +} \ No newline at end of file diff --git a/src/test/java/com/bbyb/operating/examination/controller/UserControllerTest.java b/src/test/java/com/bbyb/operating/examination/controller/UserControllerTest.java new file mode 100644 index 0000000..b47e0dc --- /dev/null +++ b/src/test/java/com/bbyb/operating/examination/controller/UserControllerTest.java @@ -0,0 +1,80 @@ +package com.bbyb.operating.examination.controller; + +import com.bbyb.operating.examination.model.po.User; +import com.bbyb.operating.examination.service.UserService; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.time.LocalDateTime; +import java.util.Date; + +import static org.junit.jupiter.api.Assertions.*; + +/** + * @ClassName: UserControllerTest + * + * @Date: 2023/8/8 16:58 + * @Version: 1.0 + * @Description: + */ +@SpringBootTest +class UserControllerTest { + @Autowired + private UserService userService; + + @Test + void addUser() { + User user = new User(); + user.setId(213214); + user.setUserCode("213214"); + user.setUserName("test"); + user.setPhone("213214"); + user.setPassword("213214"); + user.setEmail("213214@qq.com"); + user.setIdCard("213214"); + user.setGender(99); + user.setIsAdmin(1); + user.setIsEnable(1); + user.setCreateBy("张三"); + user.setCreateTime(LocalDateTime.now()); + user.setUpdateBy("张三"); + user.setUpdateTime(LocalDateTime.now()); + user.setInvalid(0); + userService.addUser(user); + } + + @Test + void getAllUser() { + System.out.println(userService.getAllUser()); + } + + @Test + void deleteUser() { + userService.deleteUser(213214); + } + + @Test + void getUser() { + System.out.println(userService.getUser(213214)); + } + + @Test + void updateUser() { + User user = new User(); + user.setId(213214); + user.setUserCode("213214"); + user.setUserName("修改"); + user.setPhone("213214"); + user.setPassword("213214"); + user.setEmail("213214@qq.com"); + user.setIdCard("213214"); + user.setGender(99); + user.setIsAdmin(1); + user.setIsEnable(1); + user.setUpdateBy("张三"); + user.setUpdateTime(LocalDateTime.now()); + user.setInvalid(0); + userService.updateUser(user); + } +} \ No newline at end of file diff --git a/target/bbyb-examination-0.0.1-SNAPSHOT.jar b/target/bbyb-examination-0.0.1-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..5955a16ef6b66fa5172ef72cec2ac51e0aeab45f GIT binary patch literal 52732 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 literal 0 HcmV?d00001 diff --git a/target/classes/application.properties b/target/classes/application.properties new file mode 100644 index 0000000..4fab3a6 --- /dev/null +++ b/target/classes/application.properties @@ -0,0 +1,11 @@ +server.port=9001 +server.tomcat.max-http-form-post-size=156413531 +spring.datasource.url=jdbc:mysql://127.0.0.1:3306/day01 +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.username =root +spring.datasource.password =1234 +logging.level.org.springframework.boot.autoconfigure=error +mybatis.mapper-locations=classpath*:/mapper/**/*.xml +mybatis.configuration.map-underscore-to-camel-case=true +logging.level.com.bbyb.operating.examination.mapper=DEBUG +spring.mvc.pathmatch.matching-strategy=ant_path_matcher diff --git a/target/classes/com/bbyb/operating/examination/BbybExaminationApplication.class b/target/classes/com/bbyb/operating/examination/BbybExaminationApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..bb46a32daecb6bd37bdf56690d5e90e38ea32fe6 GIT binary patch literal 1247 zcmd5+Pfrs;6#osSU0N$(p(y@CRJ5(yxp*-}5+LfOD6ys-IL(%!40d;#-C2ZhU^wvs zOuTwCdQfAcAHeT{AH(=&+t4K`7f)`oGyC3~`TgF!_nZCo=lf3p4^hn_gDVcM=5P(y zvzWt;G0Z!-nZqsIX2>imUzsI_RH@u#7+uv{l3}8*eEB@`Tp7F)ZihUDx^9V1Qv}M| zednmzQ6WRE-qId--2<2Ft_*}xew)jE;VGZKwa-^5^kiT!ce@?cibFM`^n~&mW=fm& zU9l&4N6_wu2?(SXrzCa4%sAkoRH{~&gEW@LJ zF1>?=JnrDGgHj%4R2beJAALMN{P6qj(edH?$N$+wy&lNpg}W8Be?El3ID0ZHC2U()~M<%(_>XT6ris<}pG)1N)4CS^3bI zBa73_XiitYf_;j^=V;8t&Mfluo$oEcd5n{l#RMh^#BP3uR2(Z7Mk?Qs+W3soLOS&W znJ;iQ24Lf~%)&SXF-;%?&>}9NK(Q%$(~Jz8-gG<`F++2K?29yCBA(ezun?F30-Bvz A0ssI2 literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/config/BizException.class b/target/classes/com/bbyb/operating/examination/config/BizException.class new file mode 100644 index 0000000000000000000000000000000000000000..fd5efddf226169c4e1a1c5b8ec2098f1ba081b57 GIT binary patch literal 1489 zcmb7?O-~b16o$|3v{NDFqvfNuAff`ccdC;pi3q_r{1(0%@^@UogEnI%im zbWa7Y(>YW@&-K06^=E>_OFD#JIchq$|~?@l#bPwn=*O%)tC%?@4{8h#5n4xq4( zH`C#<+Y_|jX!%{c+5FhF{Sy^9A#`nZ>U3QXbKkRDzW3H`+fUt3&re(Gg!jNTy`#co z|LBzyI9(MYQ9*J9)&S_iao~So{S9Unz?vI*Drmk^A2^Av;78U7g~6*=CCs)8ci7n3 zN_99M{OrZ&SzL^)Gb&XWoy9@4PFL!zJHGGtgO+;XvYGioCmwRiax_i(98JF1T1|;kku-e0z z!dQ^jISH8;zs@Kntur#d>NhidMrr)tgu*OhmGO1~GotzECCy>RUqLGgDq@}ySfGD7 z-B{`k;0)}|NUL^E>3?Z0A(vTD-$u-3t+gCIO|)iWErbJE84|2I#>p~jq`VL-D~zmM zln_pmtRYFcfOIc2okxyD_u@=fkm)LNTN@xKCIm&UDH23j&5{sIV(TLJ#hBm(`fOrJ zS`V(}E*D22RAU1q46q36G|F}3t7^37}|~rLxV6-WXUaB0x{R!#>ng$ z`HhS(n51ANL6tXct(J=}#A*V?xM-R!+-5EFTBC5Y5j}=|>pDWzAZEgA#=KV=WEs6X q%#`|!NP|pIMl#(+v7$!4WV%|?h-m{%n}1=7$`~`TSAtfw`05|C9_U8^ literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/config/GlobalExceptionHandler.class b/target/classes/com/bbyb/operating/examination/config/GlobalExceptionHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..5e556d3519ad63418e64138fb6d6c96ba394dcd9 GIT binary patch literal 1141 zcmbtTTW=CU6#jaa`t=4+0SJ1>s3{TQDR^p|Rs-cD#pJtaSOx>L!vkR^MDt%Go zgFnC@WjwPbps@)=H<`=1eRIxt&i?rM?K^-vYDE;VR>VcDyX{gDmvP0zRS(w~3Y$u+ zWQ!qNt#uf3P1BVO<(AU&OMb2E@u zBue+VJQ9)8bT^s@M(?X0e-;{FginqFIdJOdLU%)H8w|_+^xAGuYz$#_PSnTh!z8Rx zn-vsMeIXwi-ZW8UbX&&5FrgF})mWbuJg(!97a5jzWzsj@*TRZOCejikYwe*kkO10LSzO$D&+Nt05 z84sN}Ck%OMt+5O*sylz9{^Rgr19|#G-IoDXg9X}8k;Lg_bms4V0sEAii?kO~Wf`aG zUOIN5^9)H0izp+T20tROjPtnn85vsHugHBQIfE%iCB;}h_8Vh3%q1)nR)xIt)FnF3 a(pn_d3axW*!2)u~U^Rt1pITi~7l2=FhC+}4 literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/config/JacksonConfig.class b/target/classes/com/bbyb/operating/examination/config/JacksonConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..2f19bd4686f1536e2849e543e7d178e88d4948cd GIT binary patch literal 4117 zcmb_fS#uLd5dPLSth}tTBSOF=T!sW+VhtuhY%XC-_|Rc2*@{VmvXaJPjkK$*R>mgx zec$I>{zAfoOvP1sNL60QODaDom7ZP6l0dd>S5zhKOl$hM}bxZ5#pmTA5FF5I;QzF;zCry3}*QxCgOP!b1vMF(191Y z=tU7PN!ZIFZ;FUZcp0jM{YY?OQbbAwb75Y>K_o<^Mci^hlW>&J79<>Z7Ty+-k#K?w zvl4o^umw7I)ew;ruz%F&_s#^O@lkKo7mtnyeQ|$yI_QlGa0eFDMODeDdRmECrlzNd z1+qlq7Aj;D%#5mu z3`yJpBdKO)Ra4{hlCZ_PrR4=Y8%P>iC6QQ8C`OK%szq)oY)Q>(I*kooNgDdRmR2Uz zyqadTW|5f|GX;dZdjf`;R`NL>?!2jH*&V~Y zt=yv39NAf?ED*91Yz#Ej6oJ*m`@ zv9Y0Sb|_Cy4&oyjALA1NXVwpL{j?CU&+(M`)V^6@vZP=>Vp?s{6^QZ|YoUNMRTGb|8Wzq%sHs@`MJ;Kc> z7nRtN@io5LG|dlzRRe7YgGX15A>&(oC*ynkAfUtEBD}`Vrejs{&;oV?R@^ zf=M}a!0#Oo#KWQZOlUF`j)me=)8Q%KbadPo5pZsUO11%Nsa{jZuuY`9w+VBjr;*}A zrPw~V8u^I~|*v9^teMtz}ZJUkPf znu&_|aoqw_)f^_M&zUf%SXZ#@M{4 z<(X9zux%_)on!;58lY}9E!_5TDOg%Y;iu|`p;O}TN;9i6>+XK^me%8lYV;_gT@+D8 zaipYJyK1W*?yYB@?sjcttGY4yO6%;tRrzChtMsNn z+N$&Q9CY}xh*D)e6yobd+2;+{@tbU$no5;(h2O*$tBu-OIozlq@C2_wH0C91-`N!B z3gBGe$mMo&q*5@sD@)sRr5a?r&g?c>TH}||^8IqQVTCCLvem3;r);aPr~(EWnyOwu z%r~*Wej}=Xr0F&5F?#I-n$d}qP(UVW)&w`rPgTti(foAPyo=V*J&oQQsZx^$*A(cv zqjv?uuQtS4`rT;@591t-WoH4-<2jlM7{V}tkg{+SJLqi=_-7SOb1P^LtfGaUJA(c9 zu(P=cF-8Ly4O;m?YAFqN6(Ps^-EH@=yNLE!|0+7>-0l_ZDdO?iD)th@6Csa#-zxT# z{60EYaG;1MV;=WYt2j94K4gmyJE9}2I6CLtL>B0ljy-2Kf;1ANiOjaXw3%^3z&7|$@ e#0Wi`F-pHpgjAOLY5oR%CDOi*SMmCl&i??%N(uP@ literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/config/Knife4jConfiguration.class b/target/classes/com/bbyb/operating/examination/config/Knife4jConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..768c90cff0339ac7198f2a17b1ec0355448a07fa GIT binary patch literal 2657 zcmbVOTT@e46#jNFoDhznv8Cdb*0zE+ITFz-h$Uh~N(3Zaq+aOG$xb+Ma!xpxfd8OQ zXWAzpoM~VB+?m?WG&p5y-}^tR^-pxVb`lXwf|X>l@9Xk?d#$ze=Rdza1<;3581JJ` z!MPTk$ERTga6!SvFoNg{p!C+N+f0L+??f(A?LNlJ>H_>GF(dOc0tQz?q@W+C>-t?R$dcpykJ-~ zwk=J!t(=k9#w;Tz`j&<(Ghd#wtpSGCtjKZS^b$oQ&Ty`~C*>9$QjxRQw5+ZB1z~wr zJ=Jw>Rb;fH>E{j0)vnt5vhYYtGaaQ7!`WSlcTV}1XB5P&;Ti-mVOe(7DB+8yY$vbP zoN{ec~*fwtYtz*9=KuXFc?>C0^nT=l`#P|57*H z80#v}=Y9efI0ufB*Dwa4;(hwu(Er%g}wI%dPqs&Dgf*dJZo}eIqK5bWJ7G z(>dSlN=%NrD(=bikwwod_G{Ye>S}ClEhYm|#e&>9*$|L$N`@{pBGcnKMNIqiZyvn( z{)fLFfBXE=?=PM{VgOxUZ~W}g%8Jw|0e-21BSUG@8#|*y$6Xa!2o*Wx8Cv48ThAYS z_3XPJRV>0#v4mxY9ukeotcY!9MQlq}kY>wsY||8u0#ii+mI9)oh!q8n3KyOVA1l(( zDTe;t=NQ928E2ZwDK957OG1Kb&-C@}838&yrdvA91 zrC4LWt8rAnD7WMt+b@n&$z&L*!|m?0HoL;C#BgFK+?6-vHMa;$x*};iwHichTxgUB zn{hNHR(#=l*SVFYTz#p5-i6i-cf};vmwBG>QHa-x(#n$W8K#!=Exqy@PC6oM=-d-z zeXx=BI;?JYpWbV_OY&r)X1kH0x8ixb9db0*$k9!jCb_q`g`6gC-Dl{c8+ro;!6FH| z^pB{Ee)1Eb>Pt@&wI9+&8|SgjtwNp#bU3NKEP5-I!# z6dD0@8wkw*f~Ixs*+6i99nBG?j8LSdjBup240Qv0=Ob;A_Q<|<>@On{IZ(zsWxQKP zN94US4wlgwIrIdF%Q*4`N6R=?#_`nY$D}#{=}te|sO`i79L7N$!BP4~aSU-B$2mfF z0f#V1sD=nvk|f5+@tfrE47n^JbX47}L71W0X?#LZqO{jWeT;tEZ7`R>1#pH|1L&>n M%71!snx6&!1rmWU2LJ#7 literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/controller/RoleController.class b/target/classes/com/bbyb/operating/examination/controller/RoleController.class new file mode 100644 index 0000000000000000000000000000000000000000..ea818de454ab911c4e3d6a56368bd8eb1f3f1a35 GIT binary patch literal 2831 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 P()wvWO7pv6@jm$n{WVcq literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/controller/UserController.class b/target/classes/com/bbyb/operating/examination/controller/UserController.class new file mode 100644 index 0000000000000000000000000000000000000000..1ef85f596970432d399cae736b11c148ef6d87b9 GIT binary patch literal 3879 zcmcgv>u(fQ6#w1rW0&o=v;|s_S4GgiWCRLgTPbaMSn11_76CzKcc<;p-I--(wxuE> zF)5I`=CXQO*;3^nRCzio!>e4p1Z&Q zHUA5M7TgYF8wP`TBZQ$a0vHbCEJnf@#kmmPlrQH)xFE-iA-pBWOCem|fUS7D3|F8^ z&1e`g#N}#D%EshlTs|h`Lzj=MK}-gb5GYIAnl-FhQ+iAjXz7iaNhKPci7IAFvs6bn z#ue?ln$!)>O+%rw)Ko_DtJ(y%4W$i7PimvOtw$4Dr(u{*M&A}V+G|?lik-4(YRpoT z+O%m+Dp5@}Y-LQ1Ii@wEsJR77XWB8RbxVuWY-zi0=*}^LqWXqWf#Pm6PK+CSbwle< zC!?BmR;4$A>RvOZCPr0Dm+zji*qPAjzICmLVy59(W+I_knV`CJuLKZO<8c|Oz*zlS zc9H~_P*P^bN?XJF)Td0P+e{`+V@R{p35PC=Wj+MTgowms8jsGR&b|2U- z(@d}~+Kv(L;T6kfT8k=C-H7`uX3(@9#+7p8ESXXhX`(M;>IC)_7G^Hgf(l)~t0C=L zTC<%lGd@Fz;c?CBOeEX_sjhEuBS|}YLh03Qnar+b!uF@jt7M{O-AtU;d_;s4HH$6G z%4C9Fpl9lRjQ1FhHm+I!yj%l1S>CjQMS&~-ouk!?q*BR8rrgluHwBKYo2^0BnaG|Q zq&diJx(s#y3*h+;S*~~nJz(KU>A0C*R0XV+~a!5`75w>@w0ChKAL^>>(>jn??0Nm`^N`AKbo6g{B~ZN zHG(iBNa0!#bYsKG=`a5D`Qlf%3-!~uCa}e|_xRJhg&(Kn$L;RNg^%wnd^!L4li5O* zX{qAjd3^uFW%i%J_8_iDun#j4yaOkQ8xg#Vn-b}J5gf*m2wHI~f=+Zra02f~a2l_X z;We09wIQ-&-eT{6dX$$XCc1hB*5jaGEjp(oJU**Jcqq}gH+bT3p}5QwM+(K|Qr!4GDw-Z*V*q{4 zbEv$Bjjrp9&GM_97tf(;7S#_3ttb;tD=IkONw~XEMagysR?k2VGL#N9pa+e-yT8cG z`F8Z>Ev?Z`C-XR}=vK)Z21C6&@2O31aocpUMMr6VC?WrDiD;wab}^`2akT h2^T=m3aNNK58ybF25=_x?9HfF^SzJn{kiHH_#5AGD1`t3 literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/mapper/ExaminationApplyMapper.class b/target/classes/com/bbyb/operating/examination/mapper/ExaminationApplyMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..09257bbbe63ba493b900cf3f20db02930c502082 GIT binary patch literal 654 zcmbVKOHRWu6ddCepo{U?!{xY04%H6%{ZvRFp{T81A~`g$cRuXFfNvw8AM`A>T!)B08IhhlUt= zZ1`gd4&zv7IYHH$HxiYQsD=A2YWkXZ%K30kAQ^Q;>Np@-_ z!^=*?V1Mp=TJEKBAhw-v&rNC<@=0l;yxz8GB4YCNW|IxW;6J1D<{g`h9Ta7m@YG+C z+YJUvlYR$KuQ60nqkDaGqkI8^nm8z-Rt~jsSVBeD5snEup}`7HX{xg|Ma8qc==}gO CtawkgyQFp$-)S2<+qY8=gvTl(p67uwFlMTbKe9huPGqP?+pqW(;TD@j|=^9*AhpN0F6t zY5KhpLwh3av-YRLh>*HW!cb8@LqkQ0G?w9}JN9(QT{m;Nj-?S+(Fpk}LKV?jM?BP| z$YafKOK>WPI*5|xw@lUOC0R?znrDAnd)jDiTTzB)AvOpC67Kej_or3`e5?}NC&En4 z=?STk43EDESKB(cCW%fO`(izd)=a0ylXog0;q%Q)n~0bec(KZiVfbGFIr)$E7n3OH zGXDp6K`AsCC~NvVK)uFLMUCqEs-pA(f*kCWP&0>G*e#)gwTFFz4ydt$L+Wa;b=Utq3amFwVWF)P;FI=NyVTvbNFkFnBm3S3A5=qEsiIt%= zlktpUFqig42d*$8rYVy#G*rOQQAs9^Ww;qRzK*%)6&}~AG{P!cA>T!;68hE&k2NXs zRP%=#bOljMfu_-KWGW+5zWr@#@u#WX_zW2ul@`?c7L) z=Pkl?ckNqRKFrfVY$o4d>fHG9QAH$qxf#)1q!iTEx*LY+e?gbzt(dDFRAt@p!dp?= z9R_NX{tlqsVrZg8=l1$U{Q?Aau~$RA66#~WhAP$p4hcGx`J literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/mapper/ExaminationPaperQuestionMapper.class b/target/classes/com/bbyb/operating/examination/mapper/ExaminationPaperQuestionMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..c673f211a803f976c78bcacfe8f8a0da251dead4 GIT binary patch literal 694 zcmbtS%TB{E5FGavT3)3*et=7R!53~tNFa(-k&2>9aCQ=_xJu&4ae(|92R?w0LTr;m zM4{r)n>{=08Sm`p*ZT*6a~wN3ba2Gb3uGv*yw0aaMZ)BFGG{pHy9@CmcqrmIAIDbC zr5O&!4Bd&e&pMb2BO>ZDDML*K3@sI>(pZL3-}QCGJummTPNWf5(G&7bL@K7Uj(Ma> zktdpuDsU=@`jE+V$tZ;CM!%A|l+5||r@5y;&228r&@Sb!!jPoCeoSd%=q$Fg(Q8tZgdlo&>+v2*)iPw7eql`8$}#v1mitGm)g J#e<^Q`v%26%Qyf4 literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/mapper/ExaminationPaperResultMapper.class b/target/classes/com/bbyb/operating/examination/mapper/ExaminationPaperResultMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..81d9e91672d37b5849c7713384db455a5df52c54 GIT binary patch literal 684 zcmbtS%TB{E5FGavT3)3*?%di7zHlo-q6nmlR#X%|z-g@F%84V#0rG1c_y9f%u}uyU zrHDgs-tp|tc*mb#?;ilpaqQvH!x2L#kXkx9$R<{W!e)0eV>s!K7UD&4EuuLeMo!M9 z?e~TZ?Xh&vCYT5-Lh7;!Lq!D)4HYHQI)>}+Xl6q0`gM#wi2s))`e;-Mi$ z9vgmBf)hd12brYWk+giqHmZ7gD1;Mp=WhQWUUfnPYmv7j8vJtprj(85$~J=%_fA#xhKuxvwMcdAY}RB8{+$M#y&&shG|>=8+~v zo@oA1flEPD*VjfCDovv|CYZ8W}>x|0RXI6!Lu2MTDf~!{a zfXqk+_YdK2PXqU)FwBxb>;}sMb6qKvEP zpS?9D&|#pM>DvJ97DE#)s@vO&f(Hod;-G?h1=Po31(mEL920axjSZYq*I=iMF3*a~ F;Sbxe#9aUY literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/mapper/ExaminationPlanMapper.class b/target/classes/com/bbyb/operating/examination/mapper/ExaminationPlanMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..158ce3ae2297e8cba1f79bddb07ed57b89993c5a GIT binary patch literal 649 zcmbVKOHRWu6dd;#T7D&b7M!5n;0?Q0NFae!kwB%Mz-g@FDv2YGj>grCbE_imsmxBOVWCzeIyaKR z|J5+vnfiuyyLlRlrtO1;&dpLjsE8OZ8~*qrB|opWxiC!rGr4STT3oH56zg!GgEcwb zW1t}EV*uR_LmM5scegi+79hyMUJdn2Xn_41s=5wvNYD`tws1^S!^RX9Ps*bE4F_Sk AG5`Po literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/mapper/ExaminationSubjectMapper.class b/target/classes/com/bbyb/operating/examination/mapper/ExaminationSubjectMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..f5fb10d1f3d6a155d1d0453364111186290bd9f4 GIT binary patch literal 664 zcmbtS$xg#C6dZR8En5l8jeC2+7j8vGAc0iTilBahlUT)75=V{$i z4jl%{mHr9PZZR~`qI-LFqoe_X9PHIlw}g7wuc4~z0EYw}(O?6|G}T|5qT)$ebbkS- C6~3AP literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/mapper/MenuMapper.class b/target/classes/com/bbyb/operating/examination/mapper/MenuMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..20aff4059de8bc7d4d002a7b27c6013c4f5aad16 GIT binary patch literal 594 zcmb7BOHRWu6dd) zNT@q|{N~Mg=JV_Q1Hd)T+Bj+BRA3NNM2^PA-0E1_;*ko0b8os*FG@x#S;|S`Xi0W7 zoCx%1pp|I^5B5(1rS^<5OPj5neLm$6kmu4B{ElfUBhS_0e% xHw-iz0(CU_-dx|fBY>ec_BK$bgu2+@K-JU%4jDRPVhufJ^|x63cw9aXz5%!8p}YV9 literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/mapper/QuestionTypeMapper.class b/target/classes/com/bbyb/operating/examination/mapper/QuestionTypeMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..9d3d454c2ffa0e8bf1b0d78c9340356df79afc76 GIT binary patch literal 634 zcmbVKOHRWu6dd-Gg&BXZBiA1kXuX4yobqG^{9N zBOg;r7RXZ;Q@*@x%_|#9*wECi8XEj*Xfr8+Mj>$%1T5F-7H>_R4&+cLuEzrtJ!8A6 zC4u{216P~rUi0F18vANJ?dHU!c1m|TV7b$uv5ZvA8J;b=5V-g+*nD^;)`HKqE!%wX z=A3R#fScn#0jO34%Bb+Ux;Sx{07G?bEulsZHL<;fim4s!GPK9U684$ZT4V9$L4Mi( E1_oWS-2eap literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/mapper/RoleMapper.class b/target/classes/com/bbyb/operating/examination/mapper/RoleMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..1f468139fa55084c92cf6148d0bf54feadef7a54 GIT binary patch literal 594 zcmb7B+fD*86r6GuynuN526(ZW_=YhN6B8mtB45yDPq3uB-E_O^{+bVdfFET%>^=}L ziQ%oCo;fp}`S^T$2XKj#CXSjo7U+d!$kQmFIUOmN-%~Dd+Mle{vyw)|OF51`Ey)cB zV}b6J{F4o5%BhH1E)}TgP@tjXl$;m1=uZ|ll0lFM(kA4T*SvyWRitA++gL`H6=h=O zqcv14tvdU{Mp8Di@ZXKx{%K@834vC*`oQMQkOH>)5pP5Ue=8h5$Fh w4FmO>KovE<*Vi}h2wQ!~s`^W1WfIiOZ=+tp4(Do@HN4MG3>QLG2o-%>+?s%!5l?+t0kfX@ag6yC- z5@=1xJsE$htO}WB6M>TU1!_7<$U1?`?s#rO>3NwaO-xof%`50dg*xK1iDYP4QN~6- znt&!0rTOBrH7hogu$j60Y3A-vGrP+OG>Y{%LBLYoUh&7&=|GNk;s!i0(+jqlS`rxk z8o1hB^O~2o)7V$r2{&gZwR0NkfTcQLQA||KnO&^27wG>NWIp^IW5MN$HqAYFOHQ*U zz%6m>K(!)JMuqRy^^JQ27^-7$12uA}iTw>!Oda5mp(7@iaLlaM7KZPPn?dF%a1r0wAY(1 z)P<5p#i5+UoJKQsoddj0Z^nb$^6 zb?OfRIMX3)W{w4o?*KkLzUN1XwzFie{+@6rWPd$?QNBD)FvjlvPc3$F+h^Ua2;Uw; z_)p*ar&;WE#9wu)1H(5vAI7ou#V)b^?$o+aszlAsS?U1gRH`*V7Ay>*cA-p$scxRx z%*}YL4KAJQ2^^~gS$V&Fr=Y>V0#tx+;!|=F&2?fw2MeUAE(qyF+KK8Lf~vHEdkwc5 z@=AnKgPyEQ&7!nPPuHaqwME+~Jp-{q&%tWlW$jQK`YY`YkR|#B?c%((^s$HUWlA0V JUKL8Oe*?x0bJswjiWY>8N5(x>Evxbw<;1ge~>xD>0r7N&w^_aFZm>Paw+X- zIAQ3`qqTv!ni%ccx96*9C`oJ#8$E(X)UMBMjtpPNKl;S{ZquOd=0olVRmLy9~x ze37SP6%=dh*1V9Fl&l2qr literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/mapper/UserMapper.class b/target/classes/com/bbyb/operating/examination/mapper/UserMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..4c0db043d4297410518f445c7cd71a81eaf492c9 GIT binary patch literal 766 zcmb7?UrNJ35XNWwFScr1t5z={v@foLZxz7`Lb1g{=>ay)5Vs`Ru-T}&nhzepLy40_ zh}wef+wSc5&HQF(K0e>x0pJQwE$CWs!l2`zhX#kqR7+pzsJ^0{p%Hdi5PVI-x%SK-Tm&MM%( zqKZ6Jd`^xmX<4fm0*MG@VSa<$tp(Yx1cQ2>`quNPOs}8!78~jDv5d@s1T*OpUaXP9 za7A#vUA-Gh*oi|&{QcFYizaQFI3^gx49?bfmwo+Dy!j@&%_-C3gOsu{Q?Xv)z4WN> zR*E(eAr0+3C17yz-y}0}HpkpY`%$dTqrIeY))>%=(8>YSDh$d{p?j5XRazPV3R$pI ogz8zS0lP&gSM9+*g_>k6L5p1NRo4M@=&{KCtv)2*QRX}T0_aw%>2$dGn@VM_t$SCdPcc8b<%Q-lC;8NmBkv1bru^eHd$=3 z*k-ZAA{(VQQQFlgWEC~)&7B(OhF&(RB|Tep%#vv@Y7}XlnRXV_kveAB=rX?;6{~7E zR;{{TE1DXme31u^ZBoTs8u~T%1j)2WmPR_Nu##R#IZ*0E=^a?s+#W_mAq*m8u_x|L_Fu;)>;<}t*3HpcgxE#UD>JB4u{np=au zD?naPQi!{@HtmONE@ie(Y%CIO_OKJdem{Zvb+4@n%(gs^bv?Id!(G)gw(J z#bO5IgO9ws!3VcIKG^l#gL!MeAIE(5^8Umz*>VnQ4ZC1&S$t#CzAA~Fr}=FpX_!Wm zbc4E*)Xk!YMT&Zp)W=qut$w^5Y?9i%(3 zlTCXRPz3uPjX_=w{!XEuAoH5F4gZu|vPR3LYQN zXj~7C9>NZ5aF}Ua$K9CN$~whlrUNC@yt+;?ndv>4J_IoFH_l@k5KJ$X zb&AVOAC*iC>N>?`rcYq{9KgiiTaRf_FfA(YctU0>D4AZV?|4FHDuL-FfQi5T9@CIu JdJP$(rGHJObm9O2 literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/ExaminationMajor.class b/target/classes/com/bbyb/operating/examination/model/po/ExaminationMajor.class new file mode 100644 index 0000000000000000000000000000000000000000..faabd52a9eab44e65c0b94c0215e9b69c4db0cce GIT binary patch literal 2237 zcmbW1TTc@~6oAhx-CnocTSQP)Pzorkf`WjcfEr=}6Oi|9yD3ZBU9v1h{*@*g6CeBm z{wU))GiA1nvoE}y%gniabN%!8*KYt=gv~q@U?~TASSIm`#0rU35^E%0lUOIQk%2cE zc+0@>8VrW2C(eaqw;aD|@A#41bi-8!xwdl>gj+$wWiZ$kaS(-`-;@D+P8$QV_0V-9 zck_}#UYLg-jgN}N2pzi`)ScEgM$r`JXU|U?S2@BIIT_Eta9RYGUh{k}T4&HxnK@#R z5-@#L&v*CE+ch^lbZRY*N2QOP&?CPyn2L_QGX^WwdeF9Owac0voVuYCA-wH=aoV1b zcHrA>Tw%*T4eWRE;4Up45zVF>?I1|0GSjsK@gA9HV!m9_OcQedt{WW(jZaR9+Z4GW z0$Es-*B7f9zE)apu7#DmqDtKjIzd!l78A!HvxHl~R$KC53Rp7sigHfu`q&kR_NS-zWQjcq%F0ln8 zaLWPR zF>s9-Tq6nB2*Wk^91@7=$sjt&TkochF;S z7bZ|%PyPfr-vSGWBw%X)RMqWt!G9RrE|Lm1z!{ z9w#u-y^u`(oM}eOWU5TImT6YcWU5RH$h4TiM0Zp&4REG8T)_YLDXlUsX_=nDyzcDM zD$^=5ttBwgdy!0ooXOViQ$}Ul&@w&M?^8x)+Crx71SWdBl4+PTJ=5+}R%QC2WqPjP zr>x5K5t*t9O!SXPrV?jb(EbHEm1$qgw5b0Jaw^jSG94x`(Vr%n%ADy1N&{a013_^^ A?f?J) literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/ExaminationPaper.class b/target/classes/com/bbyb/operating/examination/model/po/ExaminationPaper.class new file mode 100644 index 0000000000000000000000000000000000000000..a344ee7293c858a386f30219a5a4c1583f42d6c7 GIT binary patch literal 3120 zcmbW2ZFAE`5XVh!-S=cF8~H+{2vdw09{yWQ34pMO97O+?peuS(ixI$byDIGaK2b-ZZVqDtTG zd(oEL^DLUk>}bT1A9VDFwXls1mHmU}Tdx&wBHX0+tK0JfH}=Dz5xY^m>vN2mBt{Iw zsfR7MyY9vwFCo-K#$_XDCk~}Ph&bR#EAp`S!F!9U$uQY4a?o!d&L_iUzU&9@+%Dg& zwBiSTylTFdXYO!x(rM_9aiuKLI-mJnkH5%bT)bbws+>NzNa#RVg@b_ucSvqIaF*L zVUx)bnZA{ohE1kxV7i{e#C@ZgCKc0nV(p41(@l}-s$9FG$+Qfnl^iDSVa-%iOxJLM z&-KyrV!A8lY1Cxuh)nn7JdK)6KZB{8!^Hmr z%`~T&?u&V{O{P#}dLZY?HktOp6z4GUe@Qc)R!nPRkB^y5zlcoha*vOhOuvEY_Z%kv PM{1@sifIF~Ko9=|P;9w8 literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperAnswer.class b/target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperAnswer.class new file mode 100644 index 0000000000000000000000000000000000000000..782492eef3eafff4f83e649666daaf91d9e2c2e0 GIT binary patch literal 1845 zcmbu8ZBG+H5Xa|^UJKW&V0pGEASwlvLqQ?I-~(zxQWXQ?{kCk%k@gO+2g0|~L}TI$ zKY$;~_@BLUEywniZ)SFO=i#?AyMO-v`b|V@v|-Z#xdYTsD=Z$fc*0_p#TtvJIeM0( zb%RXr(4gVUu{aZML-=)f$B$%PhMNZ2pHF2g@&bPcF1GMnUu3v1&m)71UH*Gf==pWH z_t!!xBKi6P&hc{JYf6JAW9JBlTM25S@djRegqWP?pNR$|WS@J!7i}5TS6(^1+Q3dxr8p3w$98)&6CHUigI-o@LDQ{PFRE^EB0~`Y%$4V&>G@a( zzS~67hIvH z1Xck#KXtXTfE-tBoW}rhcSo+&PWsDX-EO1Z2yHJW$Rpi$GKxH+Iu@hERy>>1Whw1+ zxMH{WRJ)?anG4%UzH>QG8?hZ@FE|Zr@}0*MEa{uS%umpvVH$DBro2NAivrznXpqGa z-E^o(d4sn8Z_1ca=e2*V9?M!pv-lDN_&ZrLxj0rP*H;<{N`pdafG7Ps_~v`jO4roJ@OG?-?3Fmdk_ zCPy*N(p^oTGHIqcEz=y`!@aNdDU)WJ2UEER6TgFmsi2tdYniMx(~_3yfu6}qGr3?| z>A}QrGGQ82O!K(F_4kxbGp%Zw7HCn|r)-*O9ZVZNnD~DrOhbxkN&B91X{Jpr(?k7x Y%B7iJfazrqCjP4lQ&BNJf;4IQAMtb{cmMzZ literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperQuestion.class b/target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperQuestion.class new file mode 100644 index 0000000000000000000000000000000000000000..53b0049f438c6081f758b890aacdc5bcba538a8f GIT binary patch literal 3194 zcmbuA>r>lC5WrUk+hEI>KyV<0yqdO#Je0QN(S%USBMGfZoMLD?)6P`3Z;UdQ%DpiphJyYqv`enp^V%FJ8A`th#(?!T46##+>Dv7YL+oim2f>)dN!MLpSos9&C=s zN8Ygoo3&QxJI&@v(+ROZZj6ubh&Qh91-K3a$H$~yrx!Xq$!48eIcxx;W;-ILKFn2@ zM|zp`K6|XrD^=#0(5LrAd=$3pZshtR77>CKFsH0Ti3^xO8`F3)EIzoxv!@E{OPt0q z!*gyFVc2i06 zV@#Ku82e#AYKg}l4enCf%-y0l+=k0=#fE7(W5W!ISvYIM9El2vbF?=P3pSi5a}h4s zutckiw7LXmEZF$J!;hnzd~BXKUx`)>SMZBe#t)kf8G^%AhWMmLM5&QdY6O)US*1o? zsgYP}gq9k)rABnAkskE|SkwcQSJ84%Td1=uAHaGq-9AB?lbboXhHG0nz^CvTS{8f` zRg|ZL|A5TzM(|}eco|mk$tZXobp~~A<@%qHNlF*w?ls6_K`LKSUW4+4M*XqiI-X^* zm8dMZ!7`1ROjVZYCeJixGTlI?n<-3mSDI-?GToBRHTyJfGTmmGZo?P&-2ds*xXHAN zOm|Y4Xl^vqtYrFWqQQl-K5F%Gcx^>!bIOZ&2(Net;07=p9&_^ zuPoCBe9QHzU^2ClNu)5*_g6D5N~TS=PeqgIh-KR1`&2ZUy2#|GFwwt2Gc8G`ZMILg z$<$++cKANoCR2<|{S+qpFKMQWlIbz~-jz(IH!RZ={=F-iOmC6tT?!NZBQ?_{$@COu H26q1i9KO^g literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperResult.class b/target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperResult.class new file mode 100644 index 0000000000000000000000000000000000000000..24b5cc0e77df156f4be96a4a3c206adff7bd8e9c GIT binary patch literal 2320 zcmbu9ZBx@g5P&zO?@a{?Eg-0%pyfq^ii!f2m*U7wQIwbO*K$+BGzq3D!oSiP9cTRD z5Aa7h?q1q79M?~N*}c8n-FvdTmp^}h{RV(#*hxbMUZ)@pt0dM)tdl5_ctc`?#3qTY z1Z*dutU<&)(O{@@#x9uAV0PWuwLM-TcDcLw@OL zkP8JKc&=&JF)r4uIWE_r;2&DdJ2ke^OuLFg#lxJfQN=r zacZnlMlU+Tn1pFxum-`#*G${=N*eSPXOA_AZaXI!+g~wl{=Q{Z5sg(FxRVnpj+twc z-QJ9Pr)E=wjY`e2jB53&YB=ZIWge0n{E}Iwjcdm?EKJ%k&K+Z?ySdNM^%HNl8XkRR zoqJS|d~r5Zgl_d>P5-=5R2&odz#jKbos)g$GK+iMMXW65{1_^F7ITE{6rLZo`;fx3 z&YI#jLv0zp#uPM$(uLjfVYIdvktH$Rf#1W?P9{YcF7oo!_jOn05 zR)G0$B}8|2I@P65VI`p?bz^9!%j|&EWG+LWD4I6(JI# z5k_d_5gL(%Mk=8ZOlV|7JqQ|o4a(bS8K^bXvALh1eG_iuDC1%?4imW6eFwM$chS<| z9!#RV9{e35U!~wtW$+Z-M{)`-p^l)A&&~gUNcZZr*qwkFUP#v$e6RNPght=5!2>*t zX=o7Bw34Y$W|~wo&8V6BWTt6kn(4try$G0Y38sfirl`zRR5CqMGeu>l1!Q{MgNf!M zVCol4MVQ4cxpy&{X-Ua62lLpA8@-FkOv}jhyayA_Xuvcem=^E@ZZgGXrWGaAB2KV^ zDK0auA=7#fCVDRcQ%*1~DeIJwnKqP6PtXrjD<~uI F>L0;;V0{1p literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperScore.class b/target/classes/com/bbyb/operating/examination/model/po/ExaminationPaperScore.class new file mode 100644 index 0000000000000000000000000000000000000000..71901775fa5a3fb1ce0f408b592e7b671255dba6 GIT binary patch literal 2513 zcmbu9TT|0O6vt0OuOVDZ3k5_)g;JC#A}E)lJr87Ft z_}~ZdLph$aNz=M+o_slHchA}X{&LQ4e*OOO6987=PyrQkap;F_GB3%zB9kYxLuQxE z9+`bI2T^z(g@OdKS&<-7ywb0At)@4sTA|?>Rm0wpAllTMhF!pTq}_4{;a1tQ4GB{2 zhPv)tYI(D|Yn08pUc)`HvTf*&k-w2(v`6&RvCT#m3kgCyRs}VOie|$&YS&AKeWsUcxH8J5 zFLc|axwjZ{F3pw%+r_d~*Gi?El4jwz>JCzB#wWdQHgIe;v^t8`w5Fx)br(;lET>cm zp*qDRY7ux^W48B1k|0;!S2kJBI({amAKHkNmSzQWQFh=i zzGW5v0dbHC1xGT`FpogYBNOw8#XOQRk8sQ*AM=QaJ^}dIFokv+XBv75eK`9aq%SP( z7TO3~jKBEx4Ms<+j0mj031JOw^CuHj5nP!Dd^J1nxo@ox5<^!0hCqB~8k x(*-iU3t*yuo6j`CnAU~wPT`r}3z;^=?@r;FJ|NS_04Dm+`b=rYw24-Rtv}c_EKR7)o5@N4*?%A*|2Fc4nR@j}Pjcl5beIuP#A zv0x&+J9B*(qFo0P(H_VmVy#^pS-gSl6mVv{t5ym)-919*Rg?vk!}+L}mvceoefj_t2|Zk8CQvVWny=(@#)`Q*c^`0XU+=APng+ zOko5@bvR1l7)^{(I8GDeG&Vu46Vy5hM>LrK&#J|mi#`Gy)jg}`!z6ww3i!d%Awec= zC5R<5%0xz-$mkOpi6Wy?WQ2;0R*{h_GKxh;H0CkT=+QAwV$Z;=VNTBe0PU-|>S2crb}=c@9~eRM>Wl%>0*qD-jy^B3X{Q_ zdR3Fbny&DsUe$CRO*djpR5#KzEKFD78goub)ilqVuH&7Ub4seF1vD+jn5c%OX+)TA zvZj=3y3d+!@urk&Dxzs6#zem-X*w!Q^K6Z$RnueEbepg7v}$^WrgDsle%sP?OqlMl zri^OZU`=;lhP#^Q7sxFx_M8 zDXW^^u%;!xp0cW`hNgOqiN3$mG%if{*>lRNrUq+zz@Jl2HN8bsGsZ;!1=2JjOb^*} z(p8honwI%<(pA#|n*10O{Vz$=31KR-HJ(>Z?^)9dU*mbz^a)L$V@&iPDNQGZX%%Av G9{mL|@~l1p literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/ExaminationSubject.class b/target/classes/com/bbyb/operating/examination/model/po/ExaminationSubject.class new file mode 100644 index 0000000000000000000000000000000000000000..91655dc86184fea426a20312f256fe773ecfe8cd GIT binary patch literal 2457 zcmbW1>rWFw5Wwe3ug{}A3gwNWf-MLq3Mj8C6fjK+YIr1m(B#@)%8~Yt99JU$l_nSy zKllguM;T{!+iO|&zW8Mxd$TjYot?cue}DZ3fE9R`01Yo zi2{keDC|e!K!K1|RUlouFs==~ZrC-wXnSVObT<`9UNy@XX2mNwRa1e%u9#!bwd`6~ z$dS>&kZ8lWaNHs$j8$CI@XXyC1rppmu_$7UC-KnHOHRe8?_m^u!d$WDWwpJBn|x2y zvagLgVMewr+w$@X^kj2q3WPaWU&*q~qh_OQx+g}t&QK}!nc-UGw-&?Rxpk$$R;l7N z^m6&8tUH&cYj}7N-TZ1aEE{dd)*E=*x_;^C`<=yO-Ux(LYo^_qZ(Za`NeeYNb zdDy@?kqd0^38jNHG{B^rDU#$a57UPx)s2mKlhkQgL4P1X<$Ymgyp zgsf3WDX{VXV}wJ{d2a976N4FilN!F|IE07;tq`FwjWkRn5Yx!SG-5H0WK1I*)5wQ9 z4fxz(9OVRhI%);AI{y=t?<{N*WrQ!n6xv$Lo`whLDew@X#Lc%5`X+21lWu+lkMRUl zIgdJoIx@fT145nB3AQ=~DonEs86Jfml_xang91;`Ruy!JX%^-rOg$pgjFjmqWU%Ud|L2nHG_0DS(OQ!)F>`ObgPxQ$?m_Dbq9g z-KiqeDl)AFFwv~~OoNPRQQD`7$h0nHT9WrEA~J0wQ$B!+-i^lr!Z2SXy|6n=* literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/Menu.class b/target/classes/com/bbyb/operating/examination/model/po/Menu.class new file mode 100644 index 0000000000000000000000000000000000000000..3a95b6546be9b49dd8fad2795f437fd1c3baed83 GIT binary patch literal 3250 zcmb8wTXWk)6bJAlCypJ*uG`$&G@%!uB}r*Sp)HiQfi!KX!AVncfx^Iy>@0~owro^6 zgCAgq2lzZN1H()o`T_V*4F9t$$EH6&=s&|l*Lu-WC-kGfnWLv~d(n|Y<*pa1Alk&B z8kWnq)Uj&C3+(p0NKkBs%8S&4zC$Hb-Ss)~oLM+R!>xCkUh5%7aTl-O>mDR?Ox4UO z_`$K);(d+X^8-Ixb!cR9Y2Tqy1FP2kKyCHf4HfQsjh5aXr{4EMpWE@n(dfv3;m}IG z*=f6tM!(^9x+?S{Y~EErcx^vGy%V@?oKVZ{c3j>bSouR0@h)c;mxfMlaIEp;5488O!lAL@}#F%<~6VMq~ldR@mBw6DYW~`?dh5H7rO4?^` z!F+N^;@zpFbIs_5__Tz<$)W9~w~ZGbw0L3DGO0NAaJz*5T5=;x=o~b5I=!%|HhjK= zSRlN^ha%&>}4%o}By#<$kj!Ulu1X z(>3gnC$FN+p&VPj_9x{AOPBQ1E0m|JI>W3Pg%&T*G(IOBJ?eRU7Ew5KomK?Xh;3RD zO)kBIHU487u}#-uTFEf+J4;Pd+H^xSjoPLgqUl}PG-{h}!E`&r#P=sP&1lnmqA72i z?ue$FvMFzy?!&a2VdA@-nr5}>mS`HYO>3g*wrm=+O^;yO$T0EmDm9(eruW4=Ua(Cy z(e#0Q#|yS;6Q->U6aU6j(>ZOrBbth~>8WV?P&O59(;iIw87BVTq^3D-x+|K-ZPPQ+ zbWb*o+oo?|`ZmMF-@epzUYqWV_o-x?Jkhi&-=~soQZRj&VdC#_YMR%kkLY7OvcH)V zw#gSwYxF?+K26xBHcUZ=iT@K)(}Fgwi|16fP2Y>Ahw?d3|voGP~IN0@%fF!6t7YPzURpNMz-lx_N1G(DE@_$k};3rxRenD~D?HC@uC J8e)z<{THA?vr_;7 literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/QuestionType.class b/target/classes/com/bbyb/operating/examination/model/po/QuestionType.class new file mode 100644 index 0000000000000000000000000000000000000000..8eb59b1b8d475eaedc3df96ce98aa962f4b18f74 GIT binary patch literal 2457 zcmbW1TTc^F5P)Y(x7Vcw3gxb%f-MLu3Mc|q?rBm`!X@!RlWn^xOWNJKY>E6UO)w@t z_yhb=#+kG2c6&Vg;>%plnKSe4oH_gZ&(B`~umXn(P+%htN!TQ@MWR6B4T-lTwn^-e z*d?(Sh5aZTNDwlr5@bqO+Kr~xHM6D`O-HZk_J#z?=azo$7?!zfRdor5d_kv}_{nv(X{jge9?%ydo?O$NB0`Mh^1gO-dnRAI z``Mgen{Wq?bm!8lzSnGQn4{YWlg6B#GVaF=_hk2)oyO$7fg}Dh?KrC9PwC!_|E#-` z!m@|{>q=qzo`obv?0Q$2#O@<=tc8SJcfpM5npdV5Sq+vjTK@vmcX2=?b z5e2ejjgmD6DG65oXN+(Ny3g%h`AV-iFoSPW!M7ZT5D}miA_%6DgK0!z8flnDAf}Ot zX~be0$xvqi9~w-coJ3DWEuog@e}MFjg-xN1xQj52w$irm!F}{3cz{s+;X4R@!y5lE_3=!z$TSzgM0esbr5RIR$Q0(8@EK4Kb!gVV@#A)4GspN!+Ih&$NY1g#adcHy%@lF{$tj zmwF$_9YlGiZ6VV#JQvMVlxNyUrh@<`dcz*mFk^Zl>{EI?52d{tGDzVVM8` literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/Role.class b/target/classes/com/bbyb/operating/examination/model/po/Role.class new file mode 100644 index 0000000000000000000000000000000000000000..fc61b05928f4089a9372ab4a6f9c0f972215060a GIT binary patch literal 2916 zcmb7^TW=Fr5Xa|i;!AufExC}83nYZ#gft6nC{WUrkd$KTn2@AV`?$7`%p!X?TCWj# zM3rd!5UHwEc%TxzAzs?FN&&g0AE2KjaojIab!Lyfj(3kM)ep1h?D@~kZ)e8muYW3k z0>CV+MIZ_{x*!5cGB?S5MkYmOnM|6@Eix-1xE+F328y0z(4D%g-P6>9X5`hRVe>q< zt}qx_EgQC8!wj+FyVOISMO;BJ?Fesvv^=znr_%7HEr7Ia-o1h zLPcIGX?f0|r}q5&+PA;zxxLrhwXfdny{;U*s4y7&??}tKfl&gOr_2NRo%CZ2j)`E& zB{x`Y_i6Qq9R|a#)azTDt>j_LEbv7$heSsYefFAd=|&z?^^3>{e>^&P_P~wqpgOK; zt%$C5)&6(e2hVprs;tE|n_t^v(7XT5ll|W-dzDJ7BqAj1SX?Z#prA^tDKo1Tme8Ay z2u1{`K7RT4@uv|Ik)~gWWT8U3;q;Ng2$rzA{nOr?ANMOy ztIxi!{rs>sYj93CbbFpbM`Ch=L8mC>k(6%mbh((}*1CqHLZziI+0ZPV_Vt&Y_8lE( zXC{?3i)tpbl~K)2ZsGLc*zx;XQ8&aS6|p-7b<;} z`x264!hCy~+jq>|ie_Q+Y;GY$6k}3&@c}(8k= z(VYi6YwqIinds191423qao1O)_Xp__ZUb!gBewqkious<5hl?J2+Z6soZJ ze(h<$_B5)nM}F-YzxE84nNjD_PGNynd@_6nrd|R21s4jOMH_TphF}`kF(H6=VFq^$ zUCyCxb>0PK$KyOCbv_U8VG44d$ESkN;MCdQKxw9qIB!ov04Ijh_X$-!J)zO`FnAx& z0t`3AGz%9bOdVdPaVgUWa1nF(m^!>n31pgV!$foFGW9!5m!wRcUZ!a&(`7kRr@dy2N0QzJy-agbrg`{S z*1MpW=_)cUv|*zEugi48VY(`x`9l|HcWI+xJ+XX(=}%Jhl+F6iQsMIVT>f5460#?JTM}Y}l5j8+K7$HSN_>J`X3+ zf+!ZX9ih-r_4{wCU;SMD`swlhBYpem#eVg(mq#zkfBjHaXyU*9t>^}Pg%PbJ!niH} z6op2cU8a{km({~(l}88IZ@t0h-frtHB9@sKX(XW6b>ydt6ogT7_odXaoFz0{+}Km- zWK#+^Y)dzG0Ni){<&)#z%SYw1hvwWi?w;F3a*<~DBxhR9m^m%K441qG2LrBy%Hv=E zetg*KBUai);+@!il_!UlZx4cDT!|ZIz!k|{MRmieqe5dyTV?OK71pMPR^fE;O|~>k=Xq_h)4r#pcP?jg zWaMA-qdY4p0oQ&<*j$Oe)O1s(8_gOny8Hbp z$u^_Dx+3g*=JuLqX$4^m3m{$a$syQp7tVWQtaI4A7;NGhBBjZG)ue(^Zeuyh_CEoH;-Cx`TllGY;&|TvzP6c^=1py50_PY&Iqv zX35Hln>yDwSuf2+emN49qUi)BD4C!EHbZPiXf#2m=yZZ6cr?kQDM~6d`+w_?>NOsy zJK6gpXVW-dv2HvAF$!^D*jF$c#PRQBqlw#sh4N{^g6ajDbz!r0K-;Ei0Nyd zy5XhfY0x>FB&Bhd#3>9(_)Q$zUV^ASwLG5@@I}Q~x8`Pc&YR^E00tB^Z zgW9uDp-w^VxuEtO(yVaxVP}wF6<-D4@XT+d{DeV>&cjBW#VB3CIN=KD4Z4V#f+MrA zt%naObl^KYB0YSGE+YgVUcfhmZ)E2DFBEEojytQTDU6Qc@cpi;7M{_#dlY&Tdtn6= zW}1^Sb@-VkrA%+hnL7MTDKJg9Vd6gYm1=A=yT(lyi~P`j|7=?a*xwqfG`mB%#VFwN6@5~hfsX6F8CU7Dw;pJ`djv?$M0)X#JaOzAdE{7!gG6Asf2X`W(!ri_$n zNuH;epJ@$DciS-Wd*m@qI!w#b9`EuqZAzIwkoS0(pXn1YecFbJ-#w3M%3-<*8=?>Y E1=Q#v?*IS* literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/RoleUser.class b/target/classes/com/bbyb/operating/examination/model/po/RoleUser.class new file mode 100644 index 0000000000000000000000000000000000000000..026799f4d4efead25b9fcf081028aa554ac33eb1 GIT binary patch literal 2891 zcmb7^U2_v<6vxk|&1(};`eI+Plv2}zY|*M96)CMqFfFB&j$Uq(XTmbcZfCP$=(RU^ z;f&*`ID<3Xsa#o|3QQRM0Dg`()Gy)qKfB2$*?r=Sxj6g0{GW4v&p9X0U;otpB%%e{ zNKhYr5~l=RWs_lZjm@WQvTRn_tg*QsrS&M?P$;Aq6zb33(e7$$Ni&LS#;`?ESQiu; z*{B+}UKU$=MbDMQl3|#(X6vR=QE0|FaZkOgmGpwMsOGU@Tbgdz6?M(D*Q%uwoJ7l_ zQqhV+q0z&izd8K!_m|)PQosLHFYG`2>hOyf`_F1GAJ-I``fq=$x&dEdM5~H0Zp%MK zp^0{vnHA6F;ohVAce~i{yus$qcIPc3mRS-RBp_0)2#W^;a=cjH5}GY8?f zOE-!j8$7uG@ZfoEzgF`YoNFcAbDPK_^68%Bl&V=Xua#EdlDFVs*mY2U@Z|3Yd!0UF z)oo1 zv$V3Xg$0l}d~yi(8^?KXjCBs%TyKv1u)gfodZ2^Et9Bn8wM2vMI1LTcq&!z{UB;Tu zqz#bre7frKhF6K0oipbxuP+#=HRHhU%yq@C+vf@FXPS+Wz-DW5)2v!~aYg6)rkbTW z!;eFf-lTMrl9Wo)Fq;uJV>F(mWAsLnj`QdQk4{obq51z?e^jsa23^nH5qTRv`AH*+ zQHTS>zJl2ZzDEf93cW^0G3mcX13Vj|*Ref8p?>lN7h&|7mNLC3XX^Dc&4cM|7bfm^k7>kVdY{f=$zQv$pJ_qL zbe=vyEdsR*`3kO^{$F`aV-C{=T9hzF{7j2drVpJy3NS_dOqam4)P;%vzaG;u zhv_3}o}zxH6)Dptd7h$vrmJAebYbFm!ect_FfB>*6!SA>rA(LQd5Za&*1>e63lqOb q9@7bjX<6FiaX-_hlxaoY<8eRJXJGog3lqP49@9yO>0{UsUHKP7fDfAh literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/model/po/SysDic.class b/target/classes/com/bbyb/operating/examination/model/po/SysDic.class new file mode 100644 index 0000000000000000000000000000000000000000..ed73955d32fc8775a42cee4818d80bccbb13b963 GIT binary patch literal 2409 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 W?jzF!4<`B#x|xk@sk%| z;tlvg6N!l?UV!(ZmtlO~bGoe?!w@3LPTTY6eShzBo^!&_Ki_^3(KIb4Xf{O(&7~+s z^GUp2>!Sic7r433W1{;;f^I6LmfTHSA!S*iXtiEeD7*5^dTE&zt5!DGe9x(s=M+lR z8>Nz6uVdl{)@)k7)j9Ki@tIxnF*CX5lxvpX@DMb*zK))l?Rl=J&|Q6bd+7X1$*r2j z;_IU6zOX&ZM?TYjWmO#naon0&1zyE`>6(jfwd&R$+Vw_-^Qeo0JG0`{?0b!B(e~D@ zVg*UFD{jfEJhD88zk|;HRoj2+Za%O)t7`kUheDprug`{ff&vQv4{{#W7eE@HcWRDb zfE;@M5y1VY4${x;weX?N`d+_i);PDPh)v2teY+Tp8`n_=zYO(M1_SwC0~@`gX+7r# z84_jNm%9q3;KxM0`K{{9f&~*+*`qlIv zFV51e`WV*mACKjbjjN8q0C-4Q#|6R!5_84R@#I7qQSmTWJcWYW99a+$okV*I9H*hA zE?7q8vY<``5PGwC8KHM1RC@-qn5t_BSc;Q@6z{DUOo28XY)?}rt%arqXpF*^e z|2Rp3!g?pW^}e$!ZfUWk3Tzw<4Mg#Z8m literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/service/RoleMenuService.class b/target/classes/com/bbyb/operating/examination/service/RoleMenuService.class new file mode 100644 index 0000000000000000000000000000000000000000..81d862a3de01910193588f782330d95f97829067 GIT binary patch literal 690 zcmbV~O-=$q5QSeO|0p6NXMl~pQ8yS9Hy9F##yLUHOl52`GfkQvqE~a_0X&qkKwtbkudd_mgK%g}t_hP~)WmQ6s>|CH~w_}y*stSdR7FaYoJ45l_u5Ey4B;w}+G7acGnA87Lp!?d|Z7Qb!TlL4PDr&>^pfNptVR zuinE!7$cj7Y8T`BKbvRDx@R&Q&``&`rOpP`BfHQ6T`n&paP!Aa=RfZ4N!Q(c#r(35 z{*(e&7U0G34+2U>fg=>TE-fp8GQd&=RhDWj6;S88f#ckAva&RBx-YeGmP;JOMSB%- F{tYzJ#H9cL literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/service/RoleService.class b/target/classes/com/bbyb/operating/examination/service/RoleService.class new file mode 100644 index 0000000000000000000000000000000000000000..33820d4d687dedef9a4570b909aa630075ebd4ce GIT binary patch literal 642 zcmb7C+e*Vg6r8PXW8?KiY9E{bmzK?R{uQOp-?l0)2*WXpC_>aY3W2l!FqNm8j4 zLHf35m@_lX+0U={4**x_dpPxQCg7A(o$tQ=eNma zW@1X^%*b+KG@MM;LdjGyD{z*{BZ2NCxmOcEE2}bcWak1+Tgm$gx!W|Yy?TSycHwj? zCwlI9w-e}uoeEop*(6+Vm+poIeU8f^YRmrMSKe{%C?PuYuWS#ZJp28_bt}Va? y@Q(mmO@SRWd2W@HKpSAl!!AP|h8pmB-oyTya!^qYakL3_alD3Dh=*P!aqX1 zIev)13+XLG9!Lj$K9YPf)IA>z#YAvlkkZtO2D%LDkEq|J^DLAIP@@_%D5>Q)H5c`r z?=LJEG&+e(q&=Sxys;*avgx_>Yoss+TNT`FPI^nGHNq#L^y_vf!`}}zx~RJ6eFizt zq4f}Hs(o0i-5i84qLCxA7+2eDo+z6c!24;8+9&L@^`NsuWmjydWZ>;T16!`VV#-L_ z*z;QiJ`~Rviw~*4(H8O|nS5TjV$QJS1Iv=6>`Gr||vM literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/service/UserService.class b/target/classes/com/bbyb/operating/examination/service/UserService.class new file mode 100644 index 0000000000000000000000000000000000000000..a67464afe3b53e5e134d135a8d1d19b1ff3684c6 GIT binary patch literal 820 zcmb7C-AV#M6h2exrj?nM{oDt3(@=D01Qi5=Qn2^{v%80FWOql#S*us;q6g@qqBG-$ zB0_q%=kWdQH|P83^9ulO;LL*)4^A0)B8moM)C?Zly-=k*2tER?MyQ36S8QZ%T?3`)6^uf=HYlVs}EY!~d@ z$b|Rg*buks%b1*UjW*08;C8)qcO+P&xD;Y)*=o<_?PdmJ`wv|P8#1CADBTqIxD>aZ zIa%kUNc>q}t=lZ6+SKZeLA{7Y#q}}E8JsUq=U!sI%fTwR)ho5;9apKZavkE6Oz4ps zwlN>|M22{2BQUuB=Y)u0(e8o@Ch5!$={Xo;XetcoUFc8&DkbUyN;H>gDl@16(8_}? sT2*Pa0X3SpVP^)}b&xvjEv_1{KU*~&>HrQ&qR=K{p?O5OmQz3e1>Y6sMgRZ+ literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/service/impl/RoleMenuServiceImpl.class b/target/classes/com/bbyb/operating/examination/service/impl/RoleMenuServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..9fb78d5fa76b3a86b9d9aa2d5bd9496e9e88d888 GIT binary patch literal 1890 zcmbVM%WhLK5Iw$qq)jfNv{2qqDA2S#45gGuN>M>7sz{+CsAB6RCK&D`avVyQ?Dzl{ zY>+?#i3JFdkPs|j&v)?p3dA_MO+z0FWsy7fWaiBAnX$kA{`48Z7$)P0<48BUaWsKr z;9WRw?FsuCwV#vrGZw?C7{+5b&5+cgCue0)nH8my)C}X9eCYFBuA1W^IfPL`k<0tS zR{^cVfcv#Te*Le!G{g4mmB1)p&a1M@d2%WULQ~5qGn~nUy2#5VO<=dQ@a00N@A8}! zL7CqYc@yd?7mWlyRWad$(y~CXof9fhW|E;TH9XJIekm+ShK(5&$g34UC-n_M)fjp+ zVP1IiLMywEobBeeqViL%&QzBAp2|zE{F2u=S+?$+As_Kbh(clU%nZ}1R**jN^mr+3 zz@>*Xcf>uxJwbwIjg^96yB76l7+pUk!-lL8`McD-=)^s<(%cRUbHb`@q^8p+i_%Pa z-V*uVR79m>l*cowY=}sARu!qk6-`=BuLzh}KetH&O_B!0VySe0s!4>Iz{sN1>ERg$ zM->?QR{4{ZC;m$amsdqtKRqH>DHTLBxl{ksRN@}bh83Nc)5^}_wneH<<8#b5o*}jB zEhtl$WN4}-$)l9Ciymxp;bKD!XIz{`ig3SudGh`BuL9yp zg}ci%M|nHNbkXZGb+J09l`nMlimZ~e9>Vu}^hH6yR&1uVTMxh%^wW-!cN<07}8BqJm?z zvuxwG;71!_>oijyYN8yE@b}hY1}JkM)vr^(K-N-EMASPSyjlizq={;xK{bIv93ZHO u;UFb39K@kDaAVF2iYNXZcL=F9aJyFW9bW^tE^U*d4u)$-9cj$PVc-uDo7h$W literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/service/impl/RoleServiceImpl.class b/target/classes/com/bbyb/operating/examination/service/impl/RoleServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..f30b296411cac347151896430fc7b510f971ca9a GIT binary patch literal 2510 zcmb7G-*XdH6#j0ScH7O;h7>EPAgDl+Vi%lzzWaBywZ8l4IG($^joT6@W-_yP_v|^}`OeSHZ-4*% z6u>Y(R1w9SJ?O(*5u`BEjT7=5m6DSYyp1sx$zM#r&}a29AOr9e#0mWlkP23FT0BROv5I{uw$lXI-<%&Ibd>qf&sAFDambz$=Y z!S+dFvsG?qxqVIKxddy$j+CXQOD|waU|l1^6wW9^M?5jd5T39K1lX4mCO=y%=eT{| zAnFXUjFmS^bA~PCvo8!gmj%Ug;{UoAwD45~)fk+~$eu*?s`P)=dx9pHe`7mZd0Uckvn6h zl1DZc_ubbVQPMM_>X7rEtSC}T)ND7J%?cy!aT+B+mEtAup38xFAmFs=@FKTUi8Mn< z6d3xOyd*|49kS@eKk8`&2@h;6Y`wBx+*6x$+v6@Brbbf=rl`J@HIM&9Q~vEGg;G+h z6pZzh9BQ{^C|hdQs@ZvdTF5@xCaDD)a!9rmL%ivLR;drT-G%Y4MZ<+I=sE><}CU4|9h0ZZcxu3Ml#`3RxGC+G+vd=H)MK`i`$UUxu3 z_0kFKqjNuTO}LN)WJqQ{q`cdMR|xu5*NR2)8r^gl5T*`1M)w```oZ*s@ZB#^FK%Uj#v+T* zmIx*6dWz8r97crxro?cByc~1A?)DHHQ6({m1LQSADSI75nNCk~kR&qVZm_?w zQ^BG2um?#Z3s%O?4XPY>3Qdu*1=lb4r&zw6m|33Zu9{>yZ zB#Rv0n?M%la(EvL<5)EIyqP{Q(*-kqXr_x9lrmV#;3I*&4n6r*Tk6Yht0lF-`AR+X zom#D1b3!`YNCizte(U-w;CC1}ejMmreJ-ygaQJE`h?FlkR9n?NSq_3QiZj{*7b>A{ zI_;Jw*fs6?@^+|iIyLDAZReU>k3!vb+`|P3kXQRuh=2gmu^3aJ4e)#5o#WS1ey1wkPiYma0of`7N)%vue+|P9J&X z+(u(_&jM?OVURv~dQL0s!Q^juv9}}dcdDlp8U5EJ{^d#e|jX>X*Jw5xy2W0D!EUm2(ESw z)pc%WZZOgK45Wo0(@DZNdr5e~Mr5mDN7v<=GFRobO*K;|{EXoxP#Abo+dN1zjJhr9 zBq=2uFJa2YLF6-7wy}aDaUVVW>G7XG{`bT0PrkqZ=;1FW1`+L*^Fft4Yz&9Iv(Fu8TBzNp=h^@wlS9znP1Ah0kbap2p>H%bNM$-)zD zp7*-BZG4b=XMeSOMJwOc-Opr~&R)PaXYU}UojAsaJO=@r!!k0{9^ykkMmtHHp=Ad+ zPjlta3fcqn_aW}`!@|p)O)&5Ze~5t?fEm2X6`O^_j55hz(^|CC^Y>t#dVmoNqd((- zxHC0+hwhOWDo+c%MIJ|3e>R4k>7^x*1i8p%R8Cm?ZEH zPVR!6v35{AyLa3Iio4*B@8r9<3vN%^=M?1yVpmKHx9c#mlkde{a8IXoI8Cfs4h!#c NoQc1j{<%8~JOkal7w7;0 literal 0 HcmV?d00001 diff --git a/target/classes/com/bbyb/operating/examination/service/impl/UserServiceImpl.class b/target/classes/com/bbyb/operating/examination/service/impl/UserServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..ce8e9e0953187c07ed27395d30bb30d9dd276469 GIT binary patch literal 2075 zcmb7EU2hvj6g{(Xv4l0 zdE*E0zzY&cAn^dAl`2)`fxh>5w1r=RII~_-D~^@qVdw7Nz4x4R@7$SZ|Ni+GfCYS- zLmu;E$l+2R?_=R0K5+K3TRwEl6}NokmXEV2WwDsWRe@Zmt>bmoYUx5-4wN<&*@De%T4F3G{|(n`%=phhb!s=(fO>auhdYyA>1Y zcB}%u8O8TxRjaTqZ>yS(;;vL%339n(qfHa*I$=i_O=#?rz(}FEA&^;(>RRA%*@XJ@ zPEghHO+_|=$#PUv%?%YB_nkU3_KqR_)!pi09rsO5OB1x3NmZ4eV~yX`kX7}%t5sm7 zup3lBeNEYl5|~o4d{^C9vZ>g>igo1^F5`MFFt}9p+TMxkHlc=7x9e}DJu%Woe)fBMtQZ~l1k^TU50{o>;j9QUz|(>_)( z<6{*?ALnsFptQ?PL6t*KmcYcT)A2?1uC7_$J$nS~t6$*aE=dFT74H=jQX2`!+MM5- zJ2kvSdb7OJy%C#0#og<=OJ^@&o3l4${Z5?ZrJIL<&&PAEr9I3`d6ag7HcQK{bDiRs zq!qLWW*1IOPI^9-KI-AOZBR3PQuA9<^EiXEgh~~jVUoZ(%nZTJ zdIJ(K>>am&;tzO;LawkP4&(udUM@8u!51ARC_JP+^jnM>Z} J*4$kL{sZCZ_O}24 literal 0 HcmV?d00001 diff --git a/target/classes/mapper/RoleMapper.xml b/target/classes/mapper/RoleMapper.xml new file mode 100644 index 0000000..e4753fb --- /dev/null +++ b/target/classes/mapper/RoleMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + INSERT INTO role + (role_code, role_name, create_by, create_time, update_by, update_time, invalid) + VALUES(#{roleCode}, #{roleName}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{invalid}) + + + + UPDATE role + + + role_code = #{roleCode}, + + + role_name = #{roleName}, + + + create_by = #{createBy}, + + + create_time = #{createTime}, + + + update_by = #{updateBy}, + + + update_time = #{updateTime}, + + + update_by = #{updateBy}, + + + invalid = #{invalid} + + + WHERE id = #{id}; + + + + delete from role where id = #{id} + + + + \ No newline at end of file diff --git a/target/classes/mapper/RoleMenuMapper.xml b/target/classes/mapper/RoleMenuMapper.xml new file mode 100644 index 0000000..d36b113 --- /dev/null +++ b/target/classes/mapper/RoleMenuMapper.xml @@ -0,0 +1,50 @@ + + + + + + + + INSERT INTO role_menu + (role_id, menu_id, create_by, create_time, update_by, update_time, invalid) + VALUES(#{roleId}, #{menuId}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{invalid}) + + + + UPDATE role_menu + + + role_id = #{roleId}, + + + menu_id = #{menuId}, + + + create_time = #{createTime}, + + + update_by = #{updateBy}, + + + update_time = #{updateTime}, + + + update_by = #{updateBy}, + + + invalid = #{invalid} + + + WHERE id = #{id}; + + + + delete from role_menu where id = #{id} + + + + \ No newline at end of file diff --git a/target/classes/mapper/RoleUserMapper.xml b/target/classes/mapper/RoleUserMapper.xml new file mode 100644 index 0000000..19a792b --- /dev/null +++ b/target/classes/mapper/RoleUserMapper.xml @@ -0,0 +1,56 @@ + + + + + + + + INSERT INTO role_user + (role_id, user_id, create_by, create_time, update_by, update_time, invalid) + VALUES(#{roleId}, #{userId}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{invalid}) + + + + UPDATE role_user + + + role_id = #{roleId}, + + + user_id = #{userId}, + + + create_by = #{createBy}, + + + create_time = #{createTime}, + + + update_by = #{updateBy}, + + + update_time = #{updateTime}, + + + update_by = #{updateBy}, + + + invalid = #{invalid} + + + WHERE id = #{id}; + + + + delete from role_user where id = #{id} + + + + + diff --git a/target/classes/mapper/UserMapper.xml b/target/classes/mapper/UserMapper.xml new file mode 100644 index 0000000..39aae2b --- /dev/null +++ b/target/classes/mapper/UserMapper.xml @@ -0,0 +1,100 @@ + + + + + + + + INSERT INTO user + (user_code, user_name, phone, password, email, id_card, gender, is_admin, is_enable, create_by, create_time, update_by, update_time, invalid) + VALUES(#{userCode}, #{userName}, #{phone}, #{password}, #{email}, #{idCard}, #{gender}, #{isAdmin}, #{isEnable}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{invalid}) + + + + UPDATE user + + + user_code = #{userCode}, + + + user_name = #{userName}, + + + phone = #{phone}, + + + password = #{password}, + + + email = #{email}, + + + id_card = #{idCard}, + + + gender = #{gender}, + + + is_admin = #{isAdmin}, + + + is_enable = #{isEnable}, + + + create_by = #{createBy}, + + + create_time = #{createTime}, + + + update_by = #{updateBy}, + + + update_time = #{updateTime}, + + + update_by = #{updateBy}, + + + invalid = #{invalid} + + + WHERE id = #{id}; + + + + delete from user where id = #{id} + + + + + + + + \ No newline at end of file diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties new file mode 100644 index 0000000..53ef016 --- /dev/null +++ b/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=bbyb-examination +groupId=com.bbyb.operating.examination +version=0.0.1-SNAPSHOT diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..84ef0bb --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,50 @@ +com\bbyb\operating\examination\mapper\ExaminationPaperScoreMapper.class +com\bbyb\operating\examination\mapper\UserMapper.class +com\bbyb\operating\examination\config\Knife4jConfiguration.class +com\bbyb\operating\examination\model\vo\CommonResult.class +com\bbyb\operating\examination\mapper\QuestionTypeMapper.class +com\bbyb\operating\examination\model\po\Menu.class +com\bbyb\operating\examination\controller\RoleController.class +com\bbyb\operating\examination\mapper\RoleUserMapper.class +com\bbyb\operating\examination\mapper\ExaminationPlanMapper.class +com\bbyb\operating\examination\service\RoleService.class +com\bbyb\operating\examination\controller\RoleUserController.class +com\bbyb\operating\examination\model\po\ExaminationPaperQuestion.class +com\bbyb\operating\examination\service\impl\UserServiceImpl.class +com\bbyb\operating\examination\service\RoleMenuService.class +com\bbyb\operating\examination\config\BizException.class +com\bbyb\operating\examination\model\po\ExaminationPaperResult.class +com\bbyb\operating\examination\mapper\SysDicMapper.class +com\bbyb\operating\examination\model\po\SysDic.class +com\bbyb\operating\examination\model\po\Role.class +com\bbyb\operating\examination\mapper\ExaminationMajorMapper.class +com\bbyb\operating\examination\config\JacksonConfig.class +com\bbyb\operating\examination\model\po\RoleUser.class +com\bbyb\operating\examination\service\RoleUserService.class +com\bbyb\operating\examination\model\po\User.class +com\bbyb\operating\examination\model\po\ExaminationPlan.class +com\bbyb\operating\examination\model\po\ExaminationPaper.class +com\bbyb\operating\examination\mapper\RoleMenuMapper.class +com\bbyb\operating\examination\mapper\MenuMapper.class +com\bbyb\operating\examination\config\GlobalExceptionHandler.class +com\bbyb\operating\examination\controller\UserController.class +com\bbyb\operating\examination\service\impl\RoleUserServiceImpl.class +com\bbyb\operating\examination\mapper\ExaminationPaperQuestionMapper.class +com\bbyb\operating\examination\model\po\ExaminationPaperAnswer.class +com\bbyb\operating\examination\mapper\ExaminationPaperResultMapper.class +com\bbyb\operating\examination\mapper\ExaminationApplyMapper.class +com\bbyb\operating\examination\mapper\ExaminationSubjectMapper.class +com\bbyb\operating\examination\model\po\ExaminationSubject.class +com\bbyb\operating\examination\mapper\RoleMapper.class +com\bbyb\operating\examination\model\po\ExaminationApply.class +com\bbyb\operating\examination\mapper\ExaminationPaperAnswerMapper.class +com\bbyb\operating\examination\BbybExaminationApplication.class +com\bbyb\operating\examination\model\po\ExaminationPaperScore.class +com\bbyb\operating\examination\model\po\QuestionType.class +com\bbyb\operating\examination\model\po\RoleMenu.class +com\bbyb\operating\examination\model\po\ExaminationMajor.class +com\bbyb\operating\examination\service\UserService.class +com\bbyb\operating\examination\service\impl\RoleMenuServiceImpl.class +com\bbyb\operating\examination\controller\RoleMenuController.class +com\bbyb\operating\examination\mapper\ExaminationPaperMapper.class +com\bbyb\operating\examination\service\impl\RoleServiceImpl.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..8d0316f --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,50 @@ +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\RoleUserMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\service\RoleService.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\ExaminationPlanMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\UserMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\service\RoleMenuService.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\ExaminationApply.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\ExaminationMajorMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\ExaminationPaperResultMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\ExaminationPaper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\RoleUser.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\SysDic.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\ExaminationPaperResult.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\service\impl\RoleMenuServiceImpl.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\service\UserService.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\ExaminationPaperQuestionMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\RoleMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\ExaminationPaperMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\RoleMenu.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\ExaminationPaperAnswerMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\MenuMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\controller\UserController.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\ExaminationPaperScoreMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\ExaminationApplyMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\SysDicMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\controller\RoleUserController.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\service\RoleUserService.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\RoleMenuMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\config\JacksonConfig.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\ExaminationPaperQuestion.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\config\GlobalExceptionHandler.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\ExaminationSubjectMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\service\impl\RoleServiceImpl.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\Menu.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\controller\RoleController.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\BbybExaminationApplication.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\ExaminationMajor.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\mapper\QuestionTypeMapper.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\ExaminationPaperAnswer.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\vo\CommonResult.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\config\Knife4jConfiguration.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\service\impl\UserServiceImpl.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\config\BizException.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\QuestionType.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\Role.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\User.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\service\impl\RoleUserServiceImpl.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\ExaminationPlan.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\controller\RoleMenuController.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\ExaminationSubject.java +D:\workspace\system-server\src\main\java\com\bbyb\operating\examination\model\po\ExaminationPaperScore.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..b4676cd --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1,4 @@ +com\bbyb\operating\examination\controller\RoleControllerTest.class +com\bbyb\operating\examination\controller\RoleUserControllerTest.class +com\bbyb\operating\examination\controller\RoleMenuControllerTest.class +com\bbyb\operating\examination\controller\UserControllerTest.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..77d7f57 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1,4 @@ +D:\workspace\system-server\src\test\java\com\bbyb\operating\examination\controller\RoleUserControllerTest.java +D:\workspace\system-server\src\test\java\com\bbyb\operating\examination\controller\RoleControllerTest.java +D:\workspace\system-server\src\test\java\com\bbyb\operating\examination\controller\RoleMenuControllerTest.java +D:\workspace\system-server\src\test\java\com\bbyb\operating\examination\controller\UserControllerTest.java diff --git a/target/test-classes/com/bbyb/operating/examination/controller/RoleControllerTest.class b/target/test-classes/com/bbyb/operating/examination/controller/RoleControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..79d815fd2c0365a8eaac394b443d5d1e7d1ab65c GIT binary patch literal 2405 zcmb7FZBrXn6n-`VHiWH&P(TW;ShND6T;2+_(6o?RO&g&SN=1CzBp14Lvl}-zP=116 z9e;q|{MH#ACk1u%yFbED)t}*b?(XJIq8TPLd+)h>?m5qMo^v+8|NYai0OsL@aTzyM zEQArjjUa+|{|I9dOVYd%yEX<1@7p= zu=W{$uICMl_O``}o+sO^-C9;KxLLA}e+(a4y5)v|2i`WF=}rEF)P6$=i9+H>?g zKeC-?EW>rH$oBNCu$^P3S1+*DlCX~qhvz74$BJPYBCa4fHomQ(En(*fV|U81_#Ojo(!o}tnk|F~4h>6PO) z$AuG4+a)KIxQ`*Wb1U6U2~7{`|RMX;+~&I(KntxQbB)lP&t8 zfvbwg8n*F7!$;U5`DSP4W@qL#e2iVHp3J7<6S?pB^OtX5oqVO?Q|zkvOvC5+LW7Qs zhAeh9%FtpbxKPGxuF>rokyz06?wR-z(by?^19(z{FoiA( zJ%|u4p$9`4a9LfZ1yz=iK-+Uuc{dtt*ANZs(GoR=6?t{ z)IjkXIw{%$3AjiCE|GvYsV#3&zGaeSg|OYGU%XDZcvZLs%$yM}KsRK6&Q;}{2mS#J C#66$@ literal 0 HcmV?d00001 diff --git a/target/test-classes/com/bbyb/operating/examination/controller/RoleMenuControllerTest.class b/target/test-classes/com/bbyb/operating/examination/controller/RoleMenuControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9fdb8d15f61c57563d500f4d399a2e2e711d2762 GIT binary patch literal 2354 zcmbVOTUQ%Z6#h;EObAm5P@q_(_0|TWJxI%?O{G98HJSnv3fB81IpE-ACTnsA%8Tzl z>ksf3xK>@R6x5~f{s^C{Kf~odGr5*@W!0D2XP@lz?Qiez?3w)e?=QatxB(Hx1#k^B zQG~$52rvH?#oL%w?)3<6C_5L$JQmbyQ9W*|$1U|p_F@dT`|u8ydT|HKYPAx@DpG27 zS3Ta1U`^S38s5{8W*FFVEOB4hURJn=W?nEXX7Wyv=W@q6?v#XUNYmcu;*n7_ZCX1v zF9(tQnUhI|@h#7mW>M^zWiw}q729^Cf2OQp9e1CXOD@6fxkgbOIqugyCk(sH_l&%B z++%Lk5AYRFI!C4}3IyA8+q6xM{8?J#tuoC5J2$e6ZR_lh~;ZX1-1VJPF|4Qt16 zP32cNyX03UrC;q-Ro=0s>sXd>>xHH2Tic>6iAbMODAcNEh%}b7ozRO!+2SRqj!kG2 zen$>Gs*N9bB~wyrqh#`Gvi^M`S1hZMq@N&!6pf8OifDNKUa4R-{~XOao|_kIrs~bb zT3~BY*A9$BgJHhCIF2K^q|&)+j(8+_)|YRU_I;8%UdANDOot0|rg#nS>-Yc}9rv+L z`u_df4^L0N)v*LRQB%9_ZM?rjA{;`UvYf#_^JdhdN%z#~MD-@hLvj5y$5m zzR>X{3>{O*>6k{IK@U)${_*2K-=FG8pun))foaD}zz|a%38z zvDMgd|Nh^l_-*oNTx{ovl#f@_pA8`r=ju6vGZWP;ZGvl*9{Bf6QBsEkFE|`k71>m| zNoCD<==F16BMfWt7oVo)4p)2AB31UdEJcx8;&>$3NYHT8;hWS(Ne6^cq-G4&TIEU8 z;u+H)`eDDnt+Ax9ngnUt&*&0d3164?veGN}UbB$Z3zM9B@tPUt{!gdUxJ;jk3-q~R z^v$4&B72d%9X*U6r~P- zM>a(E&aVhPe1dQ$G1PT}?h1MmLs|uq#0h#Ui26=n;OL34A8~H_XY?mdF%ZITBkdLR z65Kc<#Cnj}j`>U{Ddi;^@XNSPgqDbiqBR<%uF{HN0dL?6QLWW_m100Ij~dw}if6PF z`w20X{1k%>6$~}9t8Xj_V*pp13XfGYwBk;k#Z{oOU8?RB!!1<>xCz32vm@?w9XExr z&v&HCw+eke)Qmp6J5h+A%QTOhxx^&lo{{SV#LEHcU literal 0 HcmV?d00001 diff --git a/target/test-classes/com/bbyb/operating/examination/controller/RoleUserControllerTest.class b/target/test-classes/com/bbyb/operating/examination/controller/RoleUserControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d335fb33d53393939ff87b869e815c5491b5dbd1 GIT binary patch literal 2359 zcmbVNT~k{{7=AVZPDoDq2n~ouidt((YL`-=v{VYDQlqi71gQ1Q9VZ2K^jd#}SJj{4`0hFREa_zG&F;P@?>_JIyw7g-&wqdZ4Zs|B!x+bm zhAUwNFcU;@<*zViaaDzLAEsPXy z2f@DjLxpdtVLgO9YJOWoTEjaGgPV>ew#&lJ3irUw3x>r^-YN22?kLBdl5h=a+Iw6) zGK!{6Ysco4tTOpiJC_*7H!HR@i(kCY+O{LTJ!J*!xO==@atUtNHHzZUalha> zVc2E9YviTl9&w|wfv;Aib7;DvK(Ku`P1}^q48i#H4nt4MDG<-WjA@Izm10h~TLx8Q zh-RF;VeJ^Msp8tl9{IUR<=48Y$~(4n9m^7KLs+WuX-kwP5s4UuLR~dOsJWc&hF&Df z7B4vsY(ksxIj(fPTVN*vITROI}qvHYY>v&(S9%4hsi#Vs@10Ap7Lk%D4 z_!yt)n8v3XKGR_!rz3&9jwA{Ux{vzg_wWDt_C&`eP#0FZFztE>7=~2GxMk3#*vRdR zykr<|eo9lH_Jqrz9T-+cZ0s_O#?#Z8QyJucZ&}DR5gmtZ{H5yEfwC$ZUMM-V; zBY$&PDY8kqNwOBY^!gcpBMj^D=f6#@9j^7J&8qBCS&AaH#Ho;BF~8xa!|zcWC2bH! zk(v>$x2hsdi)T#l(vNukZOMv@ zH`x_esq~wh0zK`-CsyNIgN_9{k>)synHKO^N79!X;9pV^C3d#yoMP@dH(JFr%o=Nx tH3^Ln=E$shGHZd%x<)oFQuD6k3U0KRG}|yK(ZQqu-XNR+E;p>>z<>GbLyrIe literal 0 HcmV?d00001 diff --git a/target/test-classes/com/bbyb/operating/examination/controller/UserControllerTest.class b/target/test-classes/com/bbyb/operating/examination/controller/UserControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..56ab6a36d7635f05a8e1241bc8338fa4dd217152 GIT binary patch literal 2720 zcmbVOTXz#x6#ga!lBR={K#NGZqqYP)v_L^yYunJ4KxiwyAmVM3oVHVvnJ_bHsi1gY z%Xfc(zreM0xdK&}zWXEe1^op+yZrV{nl=*b!aVG=&zXJu_WAZqe*OE0p8=f37jc|G ze-s08M9|-arlH^Bcol=PeJzF|S%+g7ku@daqKMHL#$+8AaY;m4#AOjzV#vsPHI4~P ziZ&(UbrIJ@OgG~=W?C?dxn^9)8=~Ea<4xQY?JW^+$MBAb~S4_CFPpFWiJ@&j#;#9>W*#DSS*d%4X=I;`>&O4-zus(%d@ftHEi3C zAJ}^uE@T{c!SG5hL(RKpQLQ-cEhDQ;+cW0PobR}+hFNnkhReRQV!0~Musa4U+wuoB zG<9~(Y1o!>@~m-J#o5*a6F7UoRXl701Xo4;r={oq!Ja*pl0PNAUO z092~Bol&08BBEwKFKC%xTBV_TtB6IGSujdY5RVZ$f(|T|iN#ndmn@&D%#vkP6T}yk zKU^q;IpTCxz6v){KB*p;OL=qsI6m!^-JBY;1p7WQs4u#E$z0~m_BC$2(mYnCHFq_MGYMIjdsl8h*A*jkDtDN^zcg^x3L(7tHT4Mm9ea2Ma=Jrwkqb& zvlR7W2^V~LM``R32B)^wc5=NbmK0Q;XD z(a@a=wP$8%Jrjc|nL1T{a74HOU6Gcc!~Ck6Dl^+dbu{^J388vCKdV z4Z<6jQE1z2HtoxZ^>4PC;J9gs(PwJWv8jstl<9e#L1vK$qeasyXlSOI&ZkT{7JXdV zd8s)r=iYFhFM!ZH?Ty;u)Jd$At4Pa{Rq`-^BQF6Xn8u4dpW%+fYdb3%4s=!#KW;+Y zJ8Q8*pN=Z92F5jf!9+-Eah?r!p>t5P&1PE!)4Rpha(e##LentP`E)bB`7*25P{)et zRnJ#Nw!$fs8*Sm;T8=Tr8}sR)%p#kRSZ`6;w+cqa3SK{Zg1*+#Ofc7nw2u=k?a@dZSDD}_)-87cpX*x#&=fAi{cyjMYL~cAlQzn_%_7K}E*pW;` zD~Kf%%@xE0y(N%(GO@FQX99g!vNabNw<# z|H<$1TyhNuBDlU$^JOGhO9x^&h}}4ZeK<@_nsJnXkFomWd@r5AAe%DAwoI@sGi=FC zJ~fGHk(f$Ef0w8QcYBDfiaQ1$J?LdG)|+{THuC>ty&HqHm#(#bhYl%l4F@$;aA>1K z`Rf2i*~K^;oo%gVsE>Q@@wgH+Xz&^i*C7w%_A&1HE#vmp;-=6P)Z13Aw;K9Lq*2lR z*o%Qp!P^=ZeZCg_cS04g&J(F|^nX+132Zo4*OL*nGW`(QFibX#kPRua;UYOO%KIK8 x8^+0oOJqZuyUS$56|x~iHeBTgc7h+r$xSS9YAjf2z=8-aFjoXG*SPTt@DI<4h))0j literal 0 HcmV?d00001