From 22a8d99f37b9e3b4e3290caaab60a6aa297ab10d Mon Sep 17 00:00:00 2001 From: Jerry <707344974@qq.com> Date: Wed, 20 Oct 2021 19:52:20 +0800 Subject: [PATCH] =?UTF-8?q?commit=EF=BC=9A=E5=90=8C=E6=AD=A52.0=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../orange-demo-single-service/README.md | 3 - .../application-webadmin/pom.xml | 9 +- .../app/controller/AreaCodeController.java | 2 - .../app/controller/CourseController.java | 31 +- .../CourseTransStatsController.java | 5 +- .../app/controller/GradeController.java | 10 +- .../app/controller/SchoolInfoController.java | 187 -- .../StudentActionStatsController.java | 5 +- .../StudentActionTransController.java | 24 +- .../controller/StudentClassController.java | 119 +- .../app/controller/StudentController.java | 27 +- .../webadmin/app/dao/ClassCourseMapper.java | 9 + .../webadmin/app/dao/ClassStudentMapper.java | 9 + .../demo/webadmin/app/dao/CourseMapper.java | 7 + .../app/dao/CourseTransStatsMapper.java | 7 + .../demo/webadmin/app/dao/GradeMapper.java | 9 + .../app/dao/MaterialEditionMapper.java | 9 + .../webadmin/app/dao/SchoolInfoMapper.java | 26 - .../app/dao/StudentActionStatsMapper.java | 7 + .../app/dao/StudentActionTransMapper.java | 7 + .../webadmin/app/dao/StudentClassMapper.java | 7 + .../demo/webadmin/app/dao/StudentMapper.java | 7 + .../app/dao/mapper/ClassCourseMapper.xml | 13 + .../app/dao/mapper/ClassStudentMapper.xml | 11 + .../webadmin/app/dao/mapper/CourseMapper.xml | 31 + .../app/dao/mapper/CourseTransStatsMapper.xml | 27 + .../webadmin/app/dao/mapper/GradeMapper.xml | 13 + .../app/dao/mapper/MaterialEditionMapper.xml | 13 + .../app/dao/mapper/SchoolInfoMapper.xml | 42 - .../dao/mapper/StudentActionStatsMapper.xml | 49 + .../dao/mapper/StudentActionTransMapper.xml | 37 + .../app/dao/mapper/StudentClassMapper.xml | 25 + .../webadmin/app/dao/mapper/StudentMapper.xml | 37 + .../demo/webadmin/app/dto/ClassCourseDto.java | 6 - .../webadmin/app/dto/ClassStudentDto.java | 5 - .../demo/webadmin/app/dto/CourseDto.java | 18 - .../webadmin/app/dto/CourseTransStatsDto.java | 15 - .../demo/webadmin/app/dto/GradeDto.java | 5 - .../demo/webadmin/app/dto/SchoolInfoDto.java | 48 - .../app/dto/StudentActionStatsDto.java | 26 - .../app/dto/StudentActionTransDto.java | 20 - .../webadmin/app/dto/StudentClassDto.java | 9 - .../demo/webadmin/app/dto/StudentDto.java | 22 - .../demo/webadmin/app/model/AreaCode.java | 14 +- .../demo/webadmin/app/model/ClassCourse.java | 12 +- .../demo/webadmin/app/model/ClassStudent.java | 10 +- .../demo/webadmin/app/model/Course.java | 43 +- .../webadmin/app/model/CourseTransStats.java | 34 +- .../orange/demo/webadmin/app/model/Grade.java | 13 +- .../webadmin/app/model/MaterialEdition.java | 10 +- .../demo/webadmin/app/model/SchoolInfo.java | 86 - .../demo/webadmin/app/model/Student.java | 64 +- .../app/model/StudentActionStats.java | 57 +- .../app/model/StudentActionTrans.java | 56 +- .../demo/webadmin/app/model/StudentClass.java | 39 +- .../webadmin/app/service/CourseService.java | 7 + .../app/service/SchoolInfoService.java | 71 - .../service/StudentActionTransService.java | 7 + .../app/service/StudentClassService.java | 7 + .../webadmin/app/service/StudentService.java | 7 + .../app/service/impl/CourseServiceImpl.java | 43 +- .../service/impl/SchoolInfoServiceImpl.java | 141 -- .../impl/StudentActionTransServiceImpl.java | 35 +- .../service/impl/StudentClassServiceImpl.java | 81 +- .../app/service/impl/StudentServiceImpl.java | 46 +- .../demo/webadmin/app/vo/AreaCodeVo.java | 7 - .../demo/webadmin/app/vo/ClassCourseVo.java | 8 +- .../demo/webadmin/app/vo/ClassStudentVo.java | 7 +- .../webadmin/app/vo/CourseTransStatsVo.java | 17 +- .../orange/demo/webadmin/app/vo/CourseVo.java | 21 +- .../orange/demo/webadmin/app/vo/GradeVo.java | 7 +- .../demo/webadmin/app/vo/SchoolInfoVo.java | 54 - .../webadmin/app/vo/StudentActionStatsVo.java | 29 +- .../webadmin/app/vo/StudentActionTransVo.java | 24 +- .../demo/webadmin/app/vo/StudentClassVo.java | 16 +- .../demo/webadmin/app/vo/StudentVo.java | 28 +- .../webadmin/config/DataSourceConfig.java | 2 +- .../upms/controller/LoginController.java | 25 +- .../upms/controller/LoginUserController.java | 2 - .../controller/SysDataPermController.java | 288 +++ .../upms/controller/SysDeptController.java | 217 ++ .../upms/controller/SysMenuController.java | 16 +- .../controller/SysOperationLogController.java | 59 + .../controller/SysPermCodeController.java | 16 +- .../upms/controller/SysPermController.java | 9 +- .../controller/SysPermModuleController.java | 9 +- .../upms/controller/SysRoleController.java | 19 +- .../upms/controller/SysUserController.java | 49 +- .../upms/dao/SysDataPermDeptMapper.java | 13 + .../webadmin/upms/dao/SysDataPermMapper.java | 35 + .../upms/dao/SysDataPermUserMapper.java | 13 + .../demo/webadmin/upms/dao/SysDeptMapper.java | 33 + .../upms/dao/SysDeptRelationMapper.java | 42 + .../demo/webadmin/upms/dao/SysUserMapper.java | 33 + .../upms/dao/mapper/SysDataPermDeptMapper.xml | 8 + .../upms/dao/mapper/SysDataPermMapper.xml | 62 + .../upms/dao/mapper/SysDataPermUserMapper.xml | 8 + .../upms/dao/mapper/SysDeptMapper.xml | 70 + .../upms/dao/mapper/SysDeptRelationMapper.xml | 29 + .../upms/dao/mapper/SysUserMapper.xml | 65 + .../webadmin/upms/dto/SysDataPermDeptDto.java | 23 + .../webadmin/upms/dto/SysDataPermDto.java | 48 + .../demo/webadmin/upms/dto/SysDeptDto.java | 40 + .../demo/webadmin/upms/dto/SysMenuDto.java | 11 - .../webadmin/upms/dto/SysOperationLogDto.java | 65 + .../webadmin/upms/dto/SysPermCodeDto.java | 9 - .../demo/webadmin/upms/dto/SysPermDto.java | 9 - .../webadmin/upms/dto/SysPermModuleDto.java | 8 - .../demo/webadmin/upms/dto/SysRoleDto.java | 5 - .../demo/webadmin/upms/dto/SysUserDto.java | 18 +- .../demo/webadmin/upms/model/SysDataPerm.java | 113 + .../webadmin/upms/model/SysDataPermDept.java | 29 + .../webadmin/upms/model/SysDataPermUser.java | 27 + .../demo/webadmin/upms/model/SysDept.java | 81 + .../webadmin/upms/model/SysDeptRelation.java | 31 + .../demo/webadmin/upms/model/SysMenu.java | 36 +- .../webadmin/upms/model/SysMenuPermCode.java | 11 +- .../demo/webadmin/upms/model/SysPerm.java | 28 +- .../demo/webadmin/upms/model/SysPermCode.java | 32 +- .../webadmin/upms/model/SysPermCodePerm.java | 11 +- .../webadmin/upms/model/SysPermModule.java | 30 +- .../webadmin/upms/model/SysPermWhitelist.java | 12 +- .../demo/webadmin/upms/model/SysRole.java | 24 +- .../demo/webadmin/upms/model/SysRoleMenu.java | 11 +- .../demo/webadmin/upms/model/SysUser.java | 68 +- .../demo/webadmin/upms/model/SysUserRole.java | 11 +- .../upms/service/SysDataPermService.java | 104 + .../webadmin/upms/service/SysDeptService.java | 78 + .../webadmin/upms/service/SysUserService.java | 34 +- .../service/impl/SysDataPermServiceImpl.java | 336 +++ .../upms/service/impl/SysDeptServiceImpl.java | 237 +++ .../upms/service/impl/SysMenuServiceImpl.java | 55 +- .../service/impl/SysPermCodeServiceImpl.java | 25 +- .../impl/SysPermModuleServiceImpl.java | 5 +- .../upms/service/impl/SysPermServiceImpl.java | 27 +- .../upms/service/impl/SysRoleServiceImpl.java | 26 +- .../upms/service/impl/SysUserServiceImpl.java | 115 +- .../webadmin/upms/vo/SysDataPermDeptVo.java | 23 + .../demo/webadmin/upms/vo/SysDataPermVo.java | 60 + .../demo/webadmin/upms/vo/SysDeptVo.java | 55 + .../demo/webadmin/upms/vo/SysMenuVo.java | 17 - .../webadmin/upms/vo/SysOperationLogVo.java | 122 ++ .../demo/webadmin/upms/vo/SysPermCodeVo.java | 14 - .../webadmin/upms/vo/SysPermModuleVo.java | 13 - .../demo/webadmin/upms/vo/SysPermVo.java | 14 - .../demo/webadmin/upms/vo/SysRoleVo.java | 10 - .../demo/webadmin/upms/vo/SysUserVo.java | 33 +- .../src/main/resources/application.yml | 39 +- .../src/main/resources/log4j2.xml | 3 - .../common/common-core/pom.xml | 6 +- .../core/annotation/DeletedFlagColumn.java | 16 - .../common/core/aop/DictCacheSyncAspect.java | 16 +- .../common/core/base/dao/BaseDaoMapper.java | 7 +- .../core/base/service/BaseDictService.java | 30 +- .../common/core/base/service/BaseService.java | 425 ++-- .../core/base/service/IBaseDictService.java | 3 +- .../core/base/service/IBaseService.java | 51 +- .../demo/common/core/util/MyCommonUtil.java | 77 +- .../demo/common/core/util/MyModelUtil.java | 67 +- .../pom.xml | 24 +- .../aop/DisableDataFilterAspect.java | 41 + .../config/DataFilterAutoConfig.java | 13 + .../config/DataFilterProperties.java | 44 + .../config/DataFilterWebMvcConfigurer.java | 21 + .../datafilter/constant/DataPermRuleType.java | 69 + .../interceptor/DataFilterInterceptor.java | 42 + .../MybatisDataFilterInterceptor.java | 469 +++++ .../listener/LoadDataFilterInfoListener.java | 25 + .../main/resources/META-INF/spring.factories | 2 +- .../common/common-log/pom.xml | 43 + .../common/log/annotation/OperationLog.java | 33 + .../common/log/aop/OperationLogAspect.java | 251 +++ .../log/config/CommonLogAutoConfig.java | 13 + .../log/config/OperationLogProperties.java | 20 + .../common/log/dao/SysOperationLogMapper.java | 34 + .../log/dao/mapper/SysOperationLogMapper.xml | 99 + .../common/log/model/SysOperationLog.java | 170 ++ .../model/constant/SysOperationLogType.java | 149 ++ .../log/service/SysOperationLogService.java | 45 + .../impl/SysOperationLogServiceImpl.java | 84 + .../main/resources/META-INF/spring.factories | 2 + .../config/SwaggerAutoConfiguration.java | 56 - .../swagger/config/SwaggerProperties.java | 40 - .../common/swagger/plugin/ByteBuddyUtil.java | 85 - .../plugin/DynamicBodyModelPlugin.java | 61 - .../plugin/DynamicBodyParameterBuilder.java | 64 - .../orange-demo-single-service/common/pom.xml | 3 +- .../framework/apidoc-tools/pom.xml | 29 + .../demo/apidoc/tools/ExportApiApp.java | 28 + .../demo/apidoc/tools/ExportDocApp.java | 28 + .../tools/codeparser/ApiCodeConfig.java | 83 + .../tools/codeparser/ApiCodeParser.java | 672 ++++++ .../ApiCodeConfigParseException.java | 27 + .../tools/exception/MapperParseException.java | 27 + .../apidoc/tools/export/ApiDocExporter.java | 84 + .../tools/export/ApiPostmanExporter.java | 53 + .../apidoc/tools/util/FreeMarkerUtils.java | 28 + .../src/main/resources/export-api-config.json | 24 + .../main/resources/templates/api-doc.md.ftl | 144 ++ .../templates/postman_collection.json.ftl | 42 + .../resources/templates/postman_common.ftl | 120 ++ .../framework/pom.xml | 17 + .../orange-demo-single-service/pom.xml | 5 +- .../{zz-orange-demo.sql => zzdemo-single.sql} | 1813 +++++++---------- .../46296fa64fa94bc2a1dacde9bfd146cb.png | Bin 0 -> 9808 bytes .../api/Controller/DictionaryController.js | 38 +- .../api/Controller/SchoolInfoController.js | 25 - .../api/Controller/SysDataPermController.js | 61 + .../src/api/Controller/SysDeptController.js | 25 + .../src/api/Controller/SystemController.js | 20 + .../orange-demo-single-web/src/api/index.js | 6 +- .../src/router/systemRouters.js | 68 +- .../src/staticDict/index.js | 106 + .../orange-demo-single-web/src/utils/index.js | 8 +- .../src/views/generated/formClass.vue | 7 +- .../src/views/generated/formCourse.vue | 3 +- .../src/views/generated/formCreateClass.vue | 9 +- .../src/views/generated/formCreateCourse.vue | 17 +- .../src/views/generated/formCreateSchool.vue | 222 -- .../src/views/generated/formCreateStudent.vue | 44 +- .../src/views/generated/formEditClass.vue | 9 +- .../generated/formEditClassCourseOrder.vue | 4 +- .../src/views/generated/formEditCourse.vue | 17 +- .../src/views/generated/formEditSchool.vue | 262 --- .../src/views/generated/formEditStudent.vue | 56 +- .../src/views/generated/formSchool.vue | 272 --- .../views/generated/formSetClassCourse.vue | 13 +- .../views/generated/formSetClassStudent.vue | 12 +- .../src/views/generated/formStudent.vue | 5 +- .../views/upms/formEditSysDataPerm/index.vue | 243 +++ .../src/views/upms/formEditSysDept/index.vue | 201 ++ .../src/views/upms/formEditSysUser/index.vue | 67 +- .../upms/formSetSysDataPermUser/index.vue | 211 ++ .../src/views/upms/formSysDataPerm/index.vue | 479 +++++ .../src/views/upms/formSysDept/index.vue | 178 ++ .../views/upms/formSysOperationLog/index.vue | 215 ++ .../upms/formViewSysOperationLog/index.vue | 120 ++ 237 files changed, 10044 insertions(+), 4360 deletions(-) delete mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/SchoolInfoController.java delete mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/SchoolInfoMapper.java delete mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/SchoolInfoMapper.xml delete mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/SchoolInfoDto.java delete mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/SchoolInfo.java delete mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/SchoolInfoService.java delete mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/SchoolInfoServiceImpl.java delete mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/SchoolInfoVo.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysDataPermController.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysDeptController.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysOperationLogController.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermDeptMapper.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermMapper.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermUserMapper.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDeptMapper.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDeptRelationMapper.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermDeptMapper.xml create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermMapper.xml create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermUserMapper.xml create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDeptMapper.xml create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDeptRelationMapper.xml create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dto/SysDataPermDeptDto.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dto/SysDataPermDto.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dto/SysDeptDto.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dto/SysOperationLogDto.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/model/SysDataPerm.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/model/SysDataPermDept.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/model/SysDataPermUser.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/model/SysDept.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/model/SysDeptRelation.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/service/SysDataPermService.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/service/SysDeptService.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/service/impl/SysDataPermServiceImpl.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/service/impl/SysDeptServiceImpl.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/vo/SysDataPermDeptVo.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/vo/SysDataPermVo.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/vo/SysDeptVo.java create mode 100644 orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/vo/SysOperationLogVo.java delete mode 100644 orange-demo-single/orange-demo-single-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/DeletedFlagColumn.java rename orange-demo-single/orange-demo-single-service/common/{common-swagger => common-datafilter}/pom.xml (53%) create mode 100644 orange-demo-single/orange-demo-single-service/common/common-datafilter/src/main/java/com/orange/demo/common/datafilter/aop/DisableDataFilterAspect.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-datafilter/src/main/java/com/orange/demo/common/datafilter/config/DataFilterAutoConfig.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-datafilter/src/main/java/com/orange/demo/common/datafilter/config/DataFilterProperties.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-datafilter/src/main/java/com/orange/demo/common/datafilter/config/DataFilterWebMvcConfigurer.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-datafilter/src/main/java/com/orange/demo/common/datafilter/constant/DataPermRuleType.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-datafilter/src/main/java/com/orange/demo/common/datafilter/interceptor/DataFilterInterceptor.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-datafilter/src/main/java/com/orange/demo/common/datafilter/interceptor/MybatisDataFilterInterceptor.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-datafilter/src/main/java/com/orange/demo/common/datafilter/listener/LoadDataFilterInfoListener.java rename orange-demo-single/orange-demo-single-service/common/{common-swagger => common-datafilter}/src/main/resources/META-INF/spring.factories (51%) create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/pom.xml create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/annotation/OperationLog.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/aop/OperationLogAspect.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/config/CommonLogAutoConfig.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/config/OperationLogProperties.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/dao/SysOperationLogMapper.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/dao/mapper/SysOperationLogMapper.xml create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/model/SysOperationLog.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/model/constant/SysOperationLogType.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/service/SysOperationLogService.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/service/impl/SysOperationLogServiceImpl.java create mode 100644 orange-demo-single/orange-demo-single-service/common/common-log/src/main/resources/META-INF/spring.factories delete mode 100644 orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerAutoConfiguration.java delete mode 100644 orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerProperties.java delete mode 100644 orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/ByteBuddyUtil.java delete mode 100644 orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyModelPlugin.java delete mode 100644 orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyParameterBuilder.java create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/pom.xml create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/ExportApiApp.java create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/ExportDocApp.java create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/codeparser/ApiCodeConfig.java create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/codeparser/ApiCodeParser.java create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/exception/ApiCodeConfigParseException.java create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/exception/MapperParseException.java create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/export/ApiDocExporter.java create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/export/ApiPostmanExporter.java create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/util/FreeMarkerUtils.java create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/export-api-config.json create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/api-doc.md.ftl create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/postman_collection.json.ftl create mode 100644 orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/postman_common.ftl create mode 100644 orange-demo-single/orange-demo-single-service/framework/pom.xml rename orange-demo-single/orange-demo-single-service/zz-resource/db-scripts/{zz-orange-demo.sql => zzdemo-single.sql} (67%) create mode 100644 orange-demo-single/orange-demo-single-service/zz-resource/upload-files/app/image/Course/pictureUrl/46296fa64fa94bc2a1dacde9bfd146cb.png delete mode 100644 orange-demo-single/orange-demo-single-web/src/api/Controller/SchoolInfoController.js create mode 100644 orange-demo-single/orange-demo-single-web/src/api/Controller/SysDataPermController.js create mode 100644 orange-demo-single/orange-demo-single-web/src/api/Controller/SysDeptController.js delete mode 100644 orange-demo-single/orange-demo-single-web/src/views/generated/formCreateSchool.vue delete mode 100644 orange-demo-single/orange-demo-single-web/src/views/generated/formEditSchool.vue delete mode 100644 orange-demo-single/orange-demo-single-web/src/views/generated/formSchool.vue create mode 100644 orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysDataPerm/index.vue create mode 100644 orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysDept/index.vue create mode 100644 orange-demo-single/orange-demo-single-web/src/views/upms/formSetSysDataPermUser/index.vue create mode 100644 orange-demo-single/orange-demo-single-web/src/views/upms/formSysDataPerm/index.vue create mode 100644 orange-demo-single/orange-demo-single-web/src/views/upms/formSysDept/index.vue create mode 100644 orange-demo-single/orange-demo-single-web/src/views/upms/formSysOperationLog/index.vue create mode 100644 orange-demo-single/orange-demo-single-web/src/views/upms/formViewSysOperationLog/index.vue diff --git a/orange-demo-single/orange-demo-single-service/README.md b/orange-demo-single/orange-demo-single-service/README.md index 6ca77149..0939c817 100644 --- a/orange-demo-single/orange-demo-single-service/README.md +++ b/orange-demo-single/orange-demo-single-service/README.md @@ -1,7 +1,5 @@ ### 服务接口文档 --- -- Knife4j - - 服务启动后,Knife4j的文档入口地址 [http://localhost:8082/doc.html#/plus](http://localhost:8082/doc.html#/plus) - Postman - 无需启动服务,即可将当前工程的接口导出成Postman格式。在工程的common/common-tools/模块下,找到ExportApiApp文件,并执行main函数。 @@ -15,4 +13,3 @@ - 版本:4 - 端口: 6379 - 推荐客户端工具 [AnotherRedisDesktopManager](https://github.com/qishibo/AnotherRedisDesktopManager) - diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/pom.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/pom.xml index 655599de..139cd567 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/pom.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/pom.xml @@ -20,6 +20,11 @@ common-redis 1.0.0 + + com.orange.demo + common-log + 1.0.0 + com.orange.demo common-sequence @@ -27,12 +32,12 @@ com.orange.demo - application-common + common-datafilter 1.0.0 com.orange.demo - common-swagger + application-common 1.0.0 diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/AreaCodeController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/AreaCodeController.java index d693e670..1d33bde5 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/AreaCodeController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/AreaCodeController.java @@ -1,6 +1,5 @@ package com.orange.demo.webadmin.app.controller; -import io.swagger.annotations.Api; import cn.jimmyshi.beanquery.BeanQuery; import com.orange.demo.webadmin.app.model.AreaCode; import com.orange.demo.webadmin.app.service.AreaCodeService; @@ -22,7 +21,6 @@ import java.util.*; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "行政区划数据访问接口") @RestController @RequestMapping("/admin/app/areaCode") public class AreaCodeController { diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/CourseController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/CourseController.java index 139260d1..f0eed0ac 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/CourseController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/CourseController.java @@ -6,6 +6,8 @@ import com.orange.demo.common.core.upload.BaseUpDownloader; import com.orange.demo.common.core.upload.UpDownloaderFactory; import com.orange.demo.common.core.upload.UploadResponseInfo; import com.orange.demo.common.core.upload.UploadStoreInfo; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.github.pagehelper.page.PageMethod; import com.orange.demo.webadmin.app.vo.*; import com.orange.demo.webadmin.app.dto.*; @@ -15,11 +17,8 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; -import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.redis.cache.SessionCacheHelper; import com.orange.demo.webadmin.config.ApplicationConfig; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -27,7 +26,6 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.*; -import javax.validation.groups.Default; /** * 课程数据操作控制器类。 @@ -35,7 +33,6 @@ import javax.validation.groups.Default; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "课程数据管理接口") @Slf4j @RestController @RequestMapping("/admin/app/course") @@ -56,17 +53,10 @@ public class CourseController { * @param courseDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ - @ApiOperationSupport(ignoreParameters = { - "courseDto.courseId", - "courseDto.priceStart", - "courseDto.priceEnd", - "courseDto.classHourStart", - "courseDto.classHourEnd", - "courseDto.createTimeStart", - "courseDto.createTimeEnd"}) + @OperationLog(type = SysOperationLogType.ADD) @PostMapping("/add") public ResponseResult add(@MyRequestBody CourseDto courseDto) { - String errorMessage = MyCommonUtil.getModelValidationError(courseDto); + String errorMessage = MyCommonUtil.getModelValidationError(courseDto, false); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } @@ -87,16 +77,10 @@ public class CourseController { * @param courseDto 更新对象。 * @return 应答结果对象。 */ - @ApiOperationSupport(ignoreParameters = { - "courseDto.priceStart", - "courseDto.priceEnd", - "courseDto.classHourStart", - "courseDto.classHourEnd", - "courseDto.createTimeStart", - "courseDto.createTimeEnd"}) + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/update") public ResponseResult update(@MyRequestBody CourseDto courseDto) { - String errorMessage = MyCommonUtil.getModelValidationError(courseDto, Default.class, UpdateGroup.class); + String errorMessage = MyCommonUtil.getModelValidationError(courseDto, true); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } @@ -125,6 +109,7 @@ public class CourseController { * @param courseId 删除对象主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE) @PostMapping("/delete") public ResponseResult delete(@MyRequestBody Long courseId) { String errorMessage; @@ -196,6 +181,7 @@ public class CourseController { * @param asImage 下载文件是否为图片。 * @param response Http 应答对象。 */ + @OperationLog(type = SysOperationLogType.DOWNLOAD, saveResponse = false) @GetMapping("/download") public void download( @RequestParam(required = false) Long courseId, @@ -254,6 +240,7 @@ public class CourseController { * @param asImage 是否作为图片上传。如果是图片,今后下载的时候无需权限验证。否则就是附件上传,下载时需要权限验证。 * @param uploadFile 上传文件对象。 */ + @OperationLog(type = SysOperationLogType.UPLOAD, saveResponse = false) @PostMapping("/upload") public void upload( @RequestParam String fieldName, diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/CourseTransStatsController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/CourseTransStatsController.java index 352f61c8..70400373 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/CourseTransStatsController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/CourseTransStatsController.java @@ -9,7 +9,6 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; -import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -22,7 +21,6 @@ import java.util.*; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "课程统计管理接口") @Slf4j @RestController @RequestMapping("/admin/app/courseTransStats") @@ -49,7 +47,8 @@ public class CourseTransStatsController { } CourseTransStats courseTransStatsFilter = MyModelUtil.copyTo(courseTransStatsDtoFilter, CourseTransStats.class); String orderBy = MyOrderParam.buildOrderBy(orderParam, CourseTransStats.class); - List courseTransStatsList = courseTransStatsService.getCourseTransStatsListWithRelation(courseTransStatsFilter, orderBy); + List courseTransStatsList = + courseTransStatsService.getCourseTransStatsListWithRelation(courseTransStatsFilter, orderBy); return ResponseResult.success(MyPageUtil.makeResponseData(courseTransStatsList, CourseTransStats.INSTANCE)); } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/GradeController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/GradeController.java index 4bfa7569..b44fe17f 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/GradeController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/GradeController.java @@ -11,8 +11,8 @@ import com.orange.demo.common.core.util.MyCommonUtil; import com.orange.demo.common.core.object.ResponseResult; import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.validator.UpdateGroup; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -27,7 +27,6 @@ import java.util.*; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "年级管理接口") @Slf4j @RestController @RequestMapping("/admin/app/grade") @@ -42,7 +41,7 @@ public class GradeController { * @param gradeDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ - @ApiOperationSupport(ignoreParameters = {"gradeDto.gradeId"}) + @OperationLog(type = SysOperationLogType.ADD) @PostMapping("/add") public ResponseResult add(@MyRequestBody GradeDto gradeDto) { String errorMessage = MyCommonUtil.getModelValidationError(gradeDto); @@ -60,6 +59,7 @@ public class GradeController { * @param gradeDto 更新对象。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/update") public ResponseResult update(@MyRequestBody GradeDto gradeDto) { String errorMessage = MyCommonUtil.getModelValidationError(gradeDto, Default.class, UpdateGroup.class); @@ -83,6 +83,7 @@ public class GradeController { * @param gradeId 删除对象主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE) @PostMapping("/delete") public ResponseResult delete(@MyRequestBody Integer gradeId) { if (MyCommonUtil.existBlankArgument(gradeId)) { @@ -146,6 +147,7 @@ public class GradeController { * 由于缓存的数据更新,在add/update/delete等接口均有同步处理。因此该接口仅当同步过程中出现问题时, * 可手工调用,或者每天晚上定时同步一次。 */ + @OperationLog(type = SysOperationLogType.RELOAD_CACHE) @GetMapping("/reloadCachedData") public ResponseResult reloadCachedData() { gradeService.reloadCachedData(true); diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/SchoolInfoController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/SchoolInfoController.java deleted file mode 100644 index eb57eb27..00000000 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/SchoolInfoController.java +++ /dev/null @@ -1,187 +0,0 @@ -package com.orange.demo.webadmin.app.controller; - -import cn.jimmyshi.beanquery.BeanQuery; -import com.github.pagehelper.page.PageMethod; -import com.orange.demo.webadmin.app.vo.*; -import com.orange.demo.webadmin.app.dto.*; -import com.orange.demo.webadmin.app.model.*; -import com.orange.demo.webadmin.app.service.*; -import com.orange.demo.common.core.object.*; -import com.orange.demo.common.core.util.*; -import com.orange.demo.common.core.constant.*; -import com.orange.demo.common.core.annotation.MyRequestBody; -import com.orange.demo.common.core.validator.UpdateGroup; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; -import javax.validation.groups.Default; - -/** - * 校区数据操作控制器类。 - * - * @author Jerry - * @date 2020-09-24 - */ -@Api(tags = "校区数据管理接口") -@Slf4j -@RestController -@RequestMapping("/admin/app/schoolInfo") -public class SchoolInfoController { - - @Autowired - private SchoolInfoService schoolInfoService; - - /** - * 新增校区数据数据。 - * - * @param schoolInfoDto 新增对象。 - * @return 应答结果对象,包含新增对象主键Id。 - */ - @ApiOperationSupport(ignoreParameters = {"schoolInfoDto.schoolId"}) - @PostMapping("/add") - public ResponseResult add(@MyRequestBody SchoolInfoDto schoolInfoDto) { - String errorMessage = MyCommonUtil.getModelValidationError(schoolInfoDto); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SchoolInfo schoolInfo = MyModelUtil.copyTo(schoolInfoDto, SchoolInfo.class); - // 验证关联Id的数据合法性 - CallResult callResult = schoolInfoService.verifyRelatedData(schoolInfo, null); - if (!callResult.isSuccess()) { - errorMessage = callResult.getErrorMessage(); - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - schoolInfo = schoolInfoService.saveNew(schoolInfo); - return ResponseResult.success(schoolInfo.getSchoolId()); - } - - /** - * 更新校区数据数据。 - * - * @param schoolInfoDto 更新对象。 - * @return 应答结果对象。 - */ - @PostMapping("/update") - public ResponseResult update(@MyRequestBody SchoolInfoDto schoolInfoDto) { - String errorMessage = MyCommonUtil.getModelValidationError(schoolInfoDto, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SchoolInfo schoolInfo = MyModelUtil.copyTo(schoolInfoDto, SchoolInfo.class); - SchoolInfo originalSchoolInfo = schoolInfoService.getById(schoolInfo.getSchoolId()); - if (originalSchoolInfo == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - // 验证关联Id的数据合法性 - CallResult callResult = schoolInfoService.verifyRelatedData(schoolInfo, originalSchoolInfo); - if (!callResult.isSuccess()) { - errorMessage = callResult.getErrorMessage(); - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - if (!schoolInfoService.update(schoolInfo, originalSchoolInfo)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 删除校区数据数据。 - * - * @param schoolId 删除对象主键Id。 - * @return 应答结果对象。 - */ - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long schoolId) { - String errorMessage; - if (MyCommonUtil.existBlankArgument(schoolId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - // 验证关联Id的数据合法性 - SchoolInfo originalSchoolInfo = schoolInfoService.getById(schoolId); - if (originalSchoolInfo == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - if (!schoolInfoService.remove(schoolId)) { - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 列出符合过滤条件的校区数据列表。 - * - * @param schoolInfoDtoFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody SchoolInfoDto schoolInfoDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - SchoolInfo schoolInfoFilter = MyModelUtil.copyTo(schoolInfoDtoFilter, SchoolInfo.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, SchoolInfo.class); - List schoolInfoList = schoolInfoService.getSchoolInfoListWithRelation(schoolInfoFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(schoolInfoList, SchoolInfo.INSTANCE)); - } - - /** - * 查看指定校区数据对象详情。 - * - * @param schoolId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long schoolId) { - if (MyCommonUtil.existBlankArgument(schoolId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - SchoolInfo schoolInfo = schoolInfoService.getByIdWithRelation(schoolId, MyRelationParam.full()); - if (schoolInfo == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - SchoolInfoVo schoolInfoVo = SchoolInfo.INSTANCE.fromModel(schoolInfo); - return ResponseResult.success(schoolInfoVo); - } - - /** - * 以字典形式返回全部校区数据数据集合。字典的键值为[schoolId, schoolName]。 - * 白名单接口,登录用户均可访问。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含的数据为 List>,map中包含两条记录,key的值分别是id和name,value对应具体数据。 - */ - @GetMapping("/listDict") - public ResponseResult>> listDict(SchoolInfo filter) { - List resultList = schoolInfoService.getListByFilter(filter); - return ResponseResult.success(BeanQuery.select( - "schoolId as id", "schoolName as name").executeFrom(resultList)); - } - - /** - * 根据字典Id集合,获取查询后的字典数据。 - * - * @param dictIds 字典Id集合。 - * @return 应答结果对象,包含字典形式的数据集合。 - */ - @PostMapping("/listDictByIds") - public ResponseResult>> listDictByIds( - @MyRequestBody(elementType = Long.class) List dictIds) { - List resultList = schoolInfoService.getInList(new HashSet<>(dictIds)); - return ResponseResult.success(BeanQuery.select( - "schoolId as id", "schoolName as name").executeFrom(resultList)); - } -} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentActionStatsController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentActionStatsController.java index 5e7bd797..adbec277 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentActionStatsController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentActionStatsController.java @@ -9,7 +9,6 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; -import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -22,7 +21,6 @@ import java.util.*; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "学生行为统计管理接口") @Slf4j @RestController @RequestMapping("/admin/app/studentActionStats") @@ -49,7 +47,8 @@ public class StudentActionStatsController { } StudentActionStats studentActionStatsFilter = MyModelUtil.copyTo(studentActionStatsDtoFilter, StudentActionStats.class); String orderBy = MyOrderParam.buildOrderBy(orderParam, StudentActionStats.class); - List studentActionStatsList = studentActionStatsService.getStudentActionStatsListWithRelation(studentActionStatsFilter, orderBy); + List studentActionStatsList = + studentActionStatsService.getStudentActionStatsListWithRelation(studentActionStatsFilter, orderBy); return ResponseResult.success(MyPageUtil.makeResponseData(studentActionStatsList, StudentActionStats.INSTANCE)); } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentActionTransController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentActionTransController.java index 9461b2bf..1530b765 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentActionTransController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentActionTransController.java @@ -1,5 +1,7 @@ package com.orange.demo.webadmin.app.controller; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.github.pagehelper.page.PageMethod; import com.orange.demo.webadmin.app.vo.*; import com.orange.demo.webadmin.app.dto.*; @@ -9,15 +11,11 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; -import com.orange.demo.common.core.validator.UpdateGroup; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.*; -import javax.validation.groups.Default; /** * 学生行为流水操作控制器类。 @@ -25,7 +23,6 @@ import javax.validation.groups.Default; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "学生行为流水管理接口") @Slf4j @RestController @RequestMapping("/admin/app/studentActionTrans") @@ -40,13 +37,10 @@ public class StudentActionTransController { * @param studentActionTransDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ - @ApiOperationSupport(ignoreParameters = { - "studentActionTransDto.transId", - "studentActionTransDto.createTimeStart", - "studentActionTransDto.createTimeEnd"}) + @OperationLog(type = SysOperationLogType.ADD) @PostMapping("/add") public ResponseResult add(@MyRequestBody StudentActionTransDto studentActionTransDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentActionTransDto); + String errorMessage = MyCommonUtil.getModelValidationError(studentActionTransDto, false); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } @@ -67,12 +61,10 @@ public class StudentActionTransController { * @param studentActionTransDto 更新对象。 * @return 应答结果对象。 */ - @ApiOperationSupport(ignoreParameters = { - "studentActionTransDto.createTimeStart", - "studentActionTransDto.createTimeEnd"}) + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/update") public ResponseResult update(@MyRequestBody StudentActionTransDto studentActionTransDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentActionTransDto, Default.class, UpdateGroup.class); + String errorMessage = MyCommonUtil.getModelValidationError(studentActionTransDto, true); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } @@ -101,6 +93,7 @@ public class StudentActionTransController { * @param transId 删除对象主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE) @PostMapping("/delete") public ResponseResult delete(@MyRequestBody Long transId) { String errorMessage; @@ -139,7 +132,8 @@ public class StudentActionTransController { } StudentActionTrans studentActionTransFilter = MyModelUtil.copyTo(studentActionTransDtoFilter, StudentActionTrans.class); String orderBy = MyOrderParam.buildOrderBy(orderParam, StudentActionTrans.class); - List studentActionTransList = studentActionTransService.getStudentActionTransListWithRelation(studentActionTransFilter, orderBy); + List studentActionTransList = + studentActionTransService.getStudentActionTransListWithRelation(studentActionTransFilter, orderBy); return ResponseResult.success(MyPageUtil.makeResponseData(studentActionTransList, StudentActionTrans.INSTANCE)); } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentClassController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentClassController.java index 6c3f8c2b..7cefa1b7 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentClassController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentClassController.java @@ -1,5 +1,7 @@ package com.orange.demo.webadmin.app.controller; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.github.pagehelper.page.PageMethod; import com.orange.demo.webadmin.app.vo.*; import com.orange.demo.webadmin.app.dto.*; @@ -9,15 +11,11 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; -import com.orange.demo.common.core.validator.UpdateGroup; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.*; -import javax.validation.groups.Default; import java.util.stream.Collectors; /** @@ -26,7 +24,6 @@ import java.util.stream.Collectors; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "班级数据管理接口") @Slf4j @RestController @RequestMapping("/admin/app/studentClass") @@ -45,10 +42,10 @@ public class StudentClassController { * @param studentClassDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ - @ApiOperationSupport(ignoreParameters = {"studentClassDto.classId"}) + @OperationLog(type = SysOperationLogType.ADD) @PostMapping("/add") public ResponseResult add(@MyRequestBody StudentClassDto studentClassDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentClassDto); + String errorMessage = MyCommonUtil.getModelValidationError(studentClassDto, false); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } @@ -69,9 +66,10 @@ public class StudentClassController { * @param studentClassDto 更新对象。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/update") public ResponseResult update(@MyRequestBody StudentClassDto studentClassDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentClassDto, Default.class, UpdateGroup.class); + String errorMessage = MyCommonUtil.getModelValidationError(studentClassDto, true); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } @@ -100,6 +98,7 @@ public class StudentClassController { * @param classId 删除对象主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE) @PostMapping("/delete") public ResponseResult delete(@MyRequestBody Long classId) { String errorMessage; @@ -138,7 +137,8 @@ public class StudentClassController { } StudentClass studentClassFilter = MyModelUtil.copyTo(studentClassDtoFilter, StudentClass.class); String orderBy = MyOrderParam.buildOrderBy(orderParam, StudentClass.class); - List studentClassList = studentClassService.getStudentClassListWithRelation(studentClassFilter, orderBy); + List studentClassList = + studentClassService.getStudentClassListWithRelation(studentClassFilter, orderBy); return ResponseResult.success(MyPageUtil.makeResponseData(studentClassList, StudentClass.INSTANCE)); } @@ -176,17 +176,20 @@ public class StudentClassController { @MyRequestBody CourseDto courseDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { - ResponseResult verifyResult = this.doClassCourseVerify(classId); - if (!verifyResult.isSuccess()) { - return ResponseResult.errorFrom(verifyResult); + if (MyCommonUtil.isNotBlankOrNull(classId) && !studentClassService.existId(classId)) { + return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); } if (pageParam != null) { PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } Course filter = MyModelUtil.copyTo(courseDtoFilter, Course.class); String orderBy = MyOrderParam.buildOrderBy(orderParam, Course.class); - List courseList = - courseService.getNotInCourseListByClassId(classId, filter, orderBy); + List courseList; + if (MyCommonUtil.isNotBlankOrNull(classId)) { + courseList = courseService.getNotInCourseListByClassId(classId, filter, orderBy); + } else { + courseList = courseService.getCourseList(filter, orderBy); + } return ResponseResult.success(MyPageUtil.makeResponseData(courseList, Course.INSTANCE)); } @@ -201,13 +204,12 @@ public class StudentClassController { */ @PostMapping("/listClassCourse") public ResponseResult> listClassCourse( - @MyRequestBody Long classId, + @MyRequestBody(required = true) Long classId, @MyRequestBody CourseDto courseDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { - ResponseResult verifyResult = this.doClassCourseVerify(classId); - if (!verifyResult.isSuccess()) { - return ResponseResult.errorFrom(verifyResult); + if (!studentClassService.existId(classId)) { + return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); } if (pageParam != null) { PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); @@ -219,16 +221,6 @@ public class StudentClassController { return ResponseResult.success(MyPageUtil.makeResponseData(courseList, Course.INSTANCE)); } - private ResponseResult doClassCourseVerify(Long classId) { - if (MyCommonUtil.existBlankArgument(classId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!studentClassService.existId(classId)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - return ResponseResult.success(); - } - /** * 批量添加班级数据和 [课程数据] 对象的多对多关联关系数据。 * @@ -236,6 +228,7 @@ public class StudentClassController { * @param classCourseDtoList 关联对象列表。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.ADD_M2M) @PostMapping("/addClassCourse") public ResponseResult addClassCourse( @MyRequestBody Long classId, @@ -243,11 +236,9 @@ public class StudentClassController { if (MyCommonUtil.existBlankArgument(classId, classCourseDtoList)) { return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); } - for (ClassCourseDto classCourse : classCourseDtoList) { - String errorMessage = MyCommonUtil.getModelValidationError(classCourse); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } + String errorMessage = MyCommonUtil.getModelValidationError(classCourseDtoList); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } Set courseIdSet = classCourseDtoList.stream().map(ClassCourseDto::getCourseId).collect(Collectors.toSet()); @@ -267,6 +258,7 @@ public class StudentClassController { * @param classCourseDto 对多对中间表对象。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/updateClassCourse") public ResponseResult updateClassCourse( @MyRequestBody ClassCourseDto classCourseDto) { @@ -309,6 +301,7 @@ public class StudentClassController { * @param courseId 从表主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE_M2M) @PostMapping("/deleteClassCourse") public ResponseResult deleteClassCourse( @MyRequestBody Long classId, @MyRequestBody Long courseId) { @@ -336,17 +329,20 @@ public class StudentClassController { @MyRequestBody StudentDto studentDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { - ResponseResult verifyResult = this.doClassStudentVerify(classId); - if (!verifyResult.isSuccess()) { - return ResponseResult.errorFrom(verifyResult); + if (MyCommonUtil.isNotBlankOrNull(classId) && !studentClassService.existId(classId)) { + return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); } if (pageParam != null) { PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); } Student filter = MyModelUtil.copyTo(studentDtoFilter, Student.class); String orderBy = MyOrderParam.buildOrderBy(orderParam, Student.class); - List studentList = - studentService.getNotInStudentListByClassId(classId, filter, orderBy); + List studentList; + if (MyCommonUtil.isNotBlankOrNull(classId)) { + studentList = studentService.getNotInStudentListByClassId(classId, filter, orderBy); + } else { + studentList = studentService.getStudentList(filter, orderBy); + } return ResponseResult.success(MyPageUtil.makeResponseData(studentList, Student.INSTANCE)); } @@ -361,13 +357,12 @@ public class StudentClassController { */ @PostMapping("/listClassStudent") public ResponseResult> listClassStudent( - @MyRequestBody Long classId, + @MyRequestBody(required = true) Long classId, @MyRequestBody StudentDto studentDtoFilter, @MyRequestBody MyOrderParam orderParam, @MyRequestBody MyPageParam pageParam) { - ResponseResult verifyResult = this.doClassStudentVerify(classId); - if (!verifyResult.isSuccess()) { - return ResponseResult.errorFrom(verifyResult); + if (!studentClassService.existId(classId)) { + return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); } if (pageParam != null) { PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); @@ -379,16 +374,6 @@ public class StudentClassController { return ResponseResult.success(MyPageUtil.makeResponseData(studentList, Student.INSTANCE)); } - private ResponseResult doClassStudentVerify(Long classId) { - if (MyCommonUtil.existBlankArgument(classId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!studentClassService.existId(classId)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - return ResponseResult.success(); - } - /** * 批量添加班级数据和 [学生数据] 对象的多对多关联关系数据。 * @@ -396,6 +381,7 @@ public class StudentClassController { * @param classStudentDtoList 关联对象列表。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.ADD_M2M) @PostMapping("/addClassStudent") public ResponseResult addClassStudent( @MyRequestBody Long classId, @@ -403,11 +389,9 @@ public class StudentClassController { if (MyCommonUtil.existBlankArgument(classId, classStudentDtoList)) { return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); } - for (ClassStudentDto classStudent : classStudentDtoList) { - String errorMessage = MyCommonUtil.getModelValidationError(classStudent); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } + String errorMessage = MyCommonUtil.getModelValidationError(classStudentDtoList); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } Set studentIdSet = classStudentDtoList.stream().map(ClassStudentDto::getStudentId).collect(Collectors.toSet()); @@ -428,6 +412,7 @@ public class StudentClassController { * @param studentId 从表主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE_M2M) @PostMapping("/deleteClassStudent") public ResponseResult deleteClassStudent( @MyRequestBody Long classId, @MyRequestBody Long studentId) { @@ -439,4 +424,24 @@ public class StudentClassController { } return ResponseResult.success(); } + + private String doBusinessDataVerify( + StudentClassDto studentClassDto, + boolean forUpdate, + List classCourseDtoList, + List classStudentDtoList) { + String errorMessage = MyCommonUtil.getModelValidationError(studentClassDto, forUpdate); + if (errorMessage != null) { + return errorMessage; + } + errorMessage = MyCommonUtil.getModelValidationError(classCourseDtoList); + if (errorMessage != null) { + return "参数 [classCourseDtoList] 数据验证失败" + errorMessage; + } + errorMessage = MyCommonUtil.getModelValidationError(classStudentDtoList); + if (errorMessage != null) { + return "参数 [classStudentDtoList] 数据验证失败" + errorMessage; + } + return null; + } } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentController.java index 59379de9..0ea4430e 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/controller/StudentController.java @@ -1,6 +1,8 @@ package com.orange.demo.webadmin.app.controller; import cn.jimmyshi.beanquery.BeanQuery; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.github.pagehelper.page.PageMethod; import com.orange.demo.webadmin.app.vo.*; import com.orange.demo.webadmin.app.dto.*; @@ -10,15 +12,11 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; -import com.orange.demo.common.core.validator.UpdateGroup; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.*; -import javax.validation.groups.Default; /** * 学生数据操作控制器类。 @@ -26,7 +24,6 @@ import javax.validation.groups.Default; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "学生数据管理接口") @Slf4j @RestController @RequestMapping("/admin/app/student") @@ -41,16 +38,10 @@ public class StudentController { * @param studentDto 新增对象。 * @return 应答结果对象,包含新增对象主键Id。 */ - @ApiOperationSupport(ignoreParameters = { - "studentDto.studentId", - "studentDto.searchString", - "studentDto.birthdayStart", - "studentDto.birthdayEnd", - "studentDto.registerTimeStart", - "studentDto.registerTimeEnd"}) + @OperationLog(type = SysOperationLogType.ADD) @PostMapping("/add") public ResponseResult add(@MyRequestBody StudentDto studentDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentDto); + String errorMessage = MyCommonUtil.getModelValidationError(studentDto, false); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } @@ -71,15 +62,10 @@ public class StudentController { * @param studentDto 更新对象。 * @return 应答结果对象。 */ - @ApiOperationSupport(ignoreParameters = { - "studentDto.searchString", - "studentDto.birthdayStart", - "studentDto.birthdayEnd", - "studentDto.registerTimeStart", - "studentDto.registerTimeEnd"}) + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/update") public ResponseResult update(@MyRequestBody StudentDto studentDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentDto, Default.class, UpdateGroup.class); + String errorMessage = MyCommonUtil.getModelValidationError(studentDto, true); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } @@ -108,6 +94,7 @@ public class StudentController { * @param studentId 删除对象主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE) @PostMapping("/delete") public ResponseResult delete(@MyRequestBody Long studentId) { String errorMessage; diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/ClassCourseMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/ClassCourseMapper.java index 7b502ed3..3f0b9948 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/ClassCourseMapper.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/ClassCourseMapper.java @@ -3,6 +3,8 @@ package com.orange.demo.webadmin.app.dao; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.webadmin.app.model.ClassCourse; +import java.util.*; + /** * 数据操作访问接口。 * @@ -10,4 +12,11 @@ import com.orange.demo.webadmin.app.model.ClassCourse; * @date 2020-09-24 */ public interface ClassCourseMapper extends BaseDaoMapper { + + /** + * 批量插入对象列表。 + * + * @param classCourseList 新增对象列表。 + */ + void insertList(List classCourseList); } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/ClassStudentMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/ClassStudentMapper.java index ee4ddcd5..cac49c21 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/ClassStudentMapper.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/ClassStudentMapper.java @@ -3,6 +3,8 @@ package com.orange.demo.webadmin.app.dao; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.webadmin.app.model.ClassStudent; +import java.util.*; + /** * 数据操作访问接口。 * @@ -10,4 +12,11 @@ import com.orange.demo.webadmin.app.model.ClassStudent; * @date 2020-09-24 */ public interface ClassStudentMapper extends BaseDaoMapper { + + /** + * 批量插入对象列表。 + * + * @param classStudentList 新增对象列表。 + */ + void insertList(List classStudentList); } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/CourseMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/CourseMapper.java index 15280647..d563f740 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/CourseMapper.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/CourseMapper.java @@ -14,6 +14,13 @@ import java.util.*; */ public interface CourseMapper extends BaseDaoMapper { + /** + * 批量插入对象列表。 + * + * @param courseList 新增对象列表。 + */ + void insertList(List courseList); + /** * 获取过滤后的对象列表。 * diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/CourseTransStatsMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/CourseTransStatsMapper.java index ed9a1787..820b67ac 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/CourseTransStatsMapper.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/CourseTransStatsMapper.java @@ -14,6 +14,13 @@ import java.util.*; */ public interface CourseTransStatsMapper extends BaseDaoMapper { + /** + * 批量插入对象列表。 + * + * @param courseTransStatsList 新增对象列表。 + */ + void insertList(List courseTransStatsList); + /** * 获取分组计算后的数据对象列表。 * diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/GradeMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/GradeMapper.java index 1d7d923d..766d3092 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/GradeMapper.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/GradeMapper.java @@ -3,6 +3,8 @@ package com.orange.demo.webadmin.app.dao; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.webadmin.app.model.Grade; +import java.util.*; + /** * 年级数据操作访问接口。 * @@ -10,4 +12,11 @@ import com.orange.demo.webadmin.app.model.Grade; * @date 2020-09-24 */ public interface GradeMapper extends BaseDaoMapper { + + /** + * 批量插入对象列表。 + * + * @param gradeList 新增对象列表。 + */ + void insertList(List gradeList); } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/MaterialEditionMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/MaterialEditionMapper.java index de6df6a1..e4ef51fc 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/MaterialEditionMapper.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/MaterialEditionMapper.java @@ -3,6 +3,8 @@ package com.orange.demo.webadmin.app.dao; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.webadmin.app.model.MaterialEdition; +import java.util.*; + /** * 数据操作访问接口。 * @@ -10,4 +12,11 @@ import com.orange.demo.webadmin.app.model.MaterialEdition; * @date 2020-09-24 */ public interface MaterialEditionMapper extends BaseDaoMapper { + + /** + * 批量插入对象列表。 + * + * @param materialEditionList 新增对象列表。 + */ + void insertList(List materialEditionList); } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/SchoolInfoMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/SchoolInfoMapper.java deleted file mode 100644 index fc42675e..00000000 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/SchoolInfoMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.orange.demo.webadmin.app.dao; - -import com.orange.demo.common.core.base.dao.BaseDaoMapper; -import com.orange.demo.webadmin.app.model.SchoolInfo; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 校区数据数据操作访问接口。 - * - * @author Jerry - * @date 2020-09-24 - */ -public interface SchoolInfoMapper extends BaseDaoMapper { - - /** - * 获取过滤后的对象列表。 - * - * @param schoolInfoFilter 主表过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getSchoolInfoList( - @Param("schoolInfoFilter") SchoolInfo schoolInfoFilter, @Param("orderBy") String orderBy); -} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentActionStatsMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentActionStatsMapper.java index 836fbfaf..fac57279 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentActionStatsMapper.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentActionStatsMapper.java @@ -14,6 +14,13 @@ import java.util.*; */ public interface StudentActionStatsMapper extends BaseDaoMapper { + /** + * 批量插入对象列表。 + * + * @param studentActionStatsList 新增对象列表。 + */ + void insertList(List studentActionStatsList); + /** * 获取分组计算后的数据对象列表。 * diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentActionTransMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentActionTransMapper.java index 9ff5fa58..6f4fe06b 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentActionTransMapper.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentActionTransMapper.java @@ -14,6 +14,13 @@ import java.util.*; */ public interface StudentActionTransMapper extends BaseDaoMapper { + /** + * 批量插入对象列表。 + * + * @param studentActionTransList 新增对象列表。 + */ + void insertList(List studentActionTransList); + /** * 获取过滤后的对象列表。 * diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentClassMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentClassMapper.java index 84ec37c5..6a2f5bcd 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentClassMapper.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentClassMapper.java @@ -14,6 +14,13 @@ import java.util.*; */ public interface StudentClassMapper extends BaseDaoMapper { + /** + * 批量插入对象列表。 + * + * @param studentClassList 新增对象列表。 + */ + void insertList(List studentClassList); + /** * 获取过滤后的对象列表。 * diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentMapper.java index 799e702b..30284477 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentMapper.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/StudentMapper.java @@ -14,6 +14,13 @@ import java.util.*; */ public interface StudentMapper extends BaseDaoMapper { + /** + * 批量插入对象列表。 + * + * @param studentList 新增对象列表。 + */ + void insertList(List studentList); + /** * 获取过滤后的对象列表。 * diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/ClassCourseMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/ClassCourseMapper.xml index 618e910c..7bc14dac 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/ClassCourseMapper.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/ClassCourseMapper.xml @@ -6,4 +6,17 @@ + + + INSERT INTO zz_class_course + (class_id, + course_id, + course_order) + VALUES + + (#{item.classId}, + #{item.courseId}, + #{item.courseOrder}) + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/ClassStudentMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/ClassStudentMapper.xml index a4e4c6db..a7588f1c 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/ClassStudentMapper.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/ClassStudentMapper.xml @@ -5,4 +5,15 @@ + + + INSERT INTO zz_class_student + (class_id, + student_id) + VALUES + + (#{item.classId}, + #{item.studentId}) + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/CourseMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/CourseMapper.xml index be7ff4cd..e285da41 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/CourseMapper.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/CourseMapper.xml @@ -21,6 +21,37 @@ notNullColumn="course_id" resultMap="com.orange.demo.webadmin.app.dao.ClassCourseMapper.BaseResultMap" /> + + INSERT INTO zz_course + (course_id, + course_name, + price, + description, + difficulty, + grade_id, + subject_id, + class_hour, + picture_url, + create_user_id, + create_time, + update_time) + VALUES + + (#{item.courseId}, + #{item.courseName}, + #{item.price}, + #{item.description}, + #{item.difficulty}, + #{item.gradeId}, + #{item.subjectId}, + #{item.classHour}, + #{item.pictureUrl}, + #{item.createUserId}, + #{item.createTime}, + #{item.updateTime}) + + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/CourseTransStatsMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/CourseTransStatsMapper.xml index ae2c63b7..4dc20409 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/CourseTransStatsMapper.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/CourseTransStatsMapper.xml @@ -14,6 +14,33 @@ + + INSERT INTO zz_course_trans_stats + (stats_id, + stats_date, + subject_id, + grade_id, + grade_name, + course_id, + course_name, + student_attend_count, + student_flower_amount, + student_flower_count) + VALUES + + (#{item.statsId}, + #{item.statsDate}, + #{item.subjectId}, + #{item.gradeId}, + #{item.gradeName}, + #{item.courseId}, + #{item.courseName}, + #{item.studentAttendCount}, + #{item.studentFlowerAmount}, + #{item.studentFlowerCount}) + + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/GradeMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/GradeMapper.xml index ac8bf9f4..a183fda0 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/GradeMapper.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/GradeMapper.xml @@ -6,4 +6,17 @@ + + + INSERT INTO zz_grade + (grade_id, + grade_name, + status) + VALUES + + (#{item.gradeId}, + #{item.gradeName}, + #{item.status}) + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/MaterialEditionMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/MaterialEditionMapper.xml index 58edbd42..c5708185 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/MaterialEditionMapper.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/MaterialEditionMapper.xml @@ -6,4 +6,17 @@ + + + INSERT INTO zz_material_edition + (edition_id, + edition_name, + status) + VALUES + + (#{item.editionId}, + #{item.editionName}, + #{item.status}) + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/SchoolInfoMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/SchoolInfoMapper.xml deleted file mode 100644 index d84d0fc4..00000000 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/SchoolInfoMapper.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - AND zz_school_info.school_name LIKE #{safeSchoolInfoSchoolName} - - - AND zz_school_info.province_id = #{schoolInfoFilter.provinceId} - - - AND zz_school_info.city_id = #{schoolInfoFilter.cityId} - - - - - - diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentActionStatsMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentActionStatsMapper.xml index 88d3ce3a..4959fccb 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentActionStatsMapper.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentActionStatsMapper.xml @@ -25,6 +25,55 @@ + + INSERT INTO zz_student_action_stats + (stats_id, + stats_date, + stats_month, + grade_id, + province_id, + city_id, + buy_course_amount, + buy_course_count, + buy_video_amount, + buy_video_count, + buy_paper_amount, + buy_paper_count, + buy_flower_amount, + buy_flower_count, + recharge_coin_amount, + recharge_coin_count, + do_course_count, + watch_video_count, + watch_video_total_second, + do_exercise_count, + do_exercise_correct_count) + VALUES + + (#{item.statsId}, + #{item.statsDate}, + #{item.statsMonth}, + #{item.gradeId}, + #{item.provinceId}, + #{item.cityId}, + #{item.buyCourseAmount}, + #{item.buyCourseCount}, + #{item.buyVideoAmount}, + #{item.buyVideoCount}, + #{item.buyPaperAmount}, + #{item.buyPaperCount}, + #{item.buyFlowerAmount}, + #{item.buyFlowerCount}, + #{item.rechargeCoinAmount}, + #{item.rechargeCoinCount}, + #{item.doCourseCount}, + #{item.watchVideoCount}, + #{item.watchVideoTotalSecond}, + #{item.doExerciseCount}, + #{item.doExerciseCorrectCount}) + + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentActionTransMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentActionTransMapper.xml index dbf81c78..db9fea60 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentActionTransMapper.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentActionTransMapper.xml @@ -19,6 +19,43 @@ + + INSERT INTO zz_student_action_trans + (trans_id, + student_id, + student_name, + school_id, + grade_id, + action_type, + device_type, + watch_video_seconds, + flower_count, + paper_count, + video_count, + course_count, + coin_count, + exercise_correct_flag, + create_time) + VALUES + + (#{item.transId}, + #{item.studentId}, + #{item.studentName}, + #{item.schoolId}, + #{item.gradeId}, + #{item.actionType}, + #{item.deviceType}, + #{item.watchVideoSeconds}, + #{item.flowerCount}, + #{item.paperCount}, + #{item.videoCount}, + #{item.courseCount}, + #{item.coinCount}, + #{item.exerciseCorrectFlag}, + #{item.createTime}) + + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentClassMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentClassMapper.xml index 10602a1c..ebe7e172 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentClassMapper.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentClassMapper.xml @@ -13,6 +13,31 @@ + + INSERT INTO zz_class + (class_id, + class_name, + school_id, + leader_id, + finish_class_hour, + class_level, + create_user_id, + create_time, + status) + VALUES + + (#{item.classId}, + #{item.className}, + #{item.schoolId}, + #{item.leaderId}, + #{item.finishClassHour}, + #{item.classLevel}, + #{item.createUserId}, + #{item.createTime}, + #{item.status}) + + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentMapper.xml index c04a081a..d2d4a7b7 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentMapper.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dao/mapper/StudentMapper.xml @@ -19,6 +19,43 @@ + + INSERT INTO zz_student + (student_id, + login_mobile, + student_name, + province_id, + city_id, + district_id, + gender, + birthday, + experience_level, + total_coin, + left_coin, + grade_id, + school_id, + register_time, + status) + VALUES + + (#{item.studentId}, + #{item.loginMobile}, + #{item.studentName}, + #{item.provinceId}, + #{item.cityId}, + #{item.districtId}, + #{item.gender}, + #{item.birthday}, + #{item.experienceLevel}, + #{item.totalCoin}, + #{item.leftCoin}, + #{item.gradeId}, + #{item.schoolId}, + #{item.registerTime}, + #{item.status}) + + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/ClassCourseDto.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/ClassCourseDto.java index c237a83b..97d253c3 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/ClassCourseDto.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/ClassCourseDto.java @@ -2,8 +2,6 @@ package com.orange.demo.webadmin.app.dto; import com.orange.demo.common.core.validator.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -14,28 +12,24 @@ import javax.validation.constraints.*; * @author Jerry * @date 2020-09-24 */ -@ApiModel("ClassCourseDto对象") @Data public class ClassCourseDto { /** * 班级Id。 */ - @ApiModelProperty(value = "班级Id", required = true) @NotNull(message = "数据验证失败,班级Id不能为空!", groups = {UpdateGroup.class}) private Long classId; /** * 课程Id。 */ - @ApiModelProperty(value = "课程Id", required = true) @NotNull(message = "数据验证失败,课程Id不能为空!", groups = {UpdateGroup.class}) private Long courseId; /** * 课程顺序(数值越小越靠前)。 */ - @ApiModelProperty(value = "课程顺序(数值越小越靠前)", required = true) @NotNull(message = "数据验证失败,课程顺序(数值越小越靠前)不能为空!", groups = {UpdateGroup.class}) private Integer courseOrder; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/ClassStudentDto.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/ClassStudentDto.java index e9fe4261..dd1c21ce 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/ClassStudentDto.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/ClassStudentDto.java @@ -2,8 +2,6 @@ package com.orange.demo.webadmin.app.dto; import com.orange.demo.common.core.validator.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -14,21 +12,18 @@ import javax.validation.constraints.*; * @author Jerry * @date 2020-09-24 */ -@ApiModel("ClassStudentDto对象") @Data public class ClassStudentDto { /** * 班级Id。 */ - @ApiModelProperty(value = "班级Id", required = true) @NotNull(message = "数据验证失败,班级Id不能为空!", groups = {UpdateGroup.class}) private Long classId; /** * 学生Id。 */ - @ApiModelProperty(value = "学生Id", required = true) @NotNull(message = "数据验证失败,学生Id不能为空!", groups = {UpdateGroup.class}) private Long studentId; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/CourseDto.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/CourseDto.java index 0aec1c40..1e46a88f 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/CourseDto.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/CourseDto.java @@ -5,8 +5,6 @@ import com.orange.demo.common.core.validator.ConstDictRef; import com.orange.demo.webadmin.app.model.constant.CourseDifficult; import com.orange.demo.application.common.constant.Subject; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -19,41 +17,35 @@ import java.math.BigDecimal; * @author Jerry * @date 2020-09-24 */ -@ApiModel("CourseDto对象") @Data public class CourseDto { /** * 主键Id。 */ - @ApiModelProperty(value = "主键Id", required = true) @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long courseId; /** * 课程名称。 */ - @ApiModelProperty(value = "课程名称", required = true) @NotBlank(message = "数据验证失败,课程名称不能为空!") private String courseName; /** * 课程价格。 */ - @ApiModelProperty(value = "课程价格", required = true) @NotNull(message = "数据验证失败,课程价格不能为空!") private BigDecimal price; /** * 课程描述。 */ - @ApiModelProperty(value = "课程描述") private String description; /** * 课程难度(0: 容易 1: 普通 2: 很难)。 */ - @ApiModelProperty(value = "课程难度(0: 容易 1: 普通 2: 很难)", required = true) @NotNull(message = "数据验证失败,课程难度不能为空!") @ConstDictRef(constDictClass = CourseDifficult.class, message = "数据验证失败,课程难度为无效值!") private Integer difficulty; @@ -61,14 +53,12 @@ public class CourseDto { /** * 年级Id。 */ - @ApiModelProperty(value = "年级Id", required = true) @NotNull(message = "数据验证失败,所属年级不能为空!") private Integer gradeId; /** * 学科Id。 */ - @ApiModelProperty(value = "学科Id", required = true) @NotNull(message = "数据验证失败,所属学科不能为空!") @ConstDictRef(constDictClass = Subject.class, message = "数据验证失败,所属学科为无效值!") private Integer subjectId; @@ -76,50 +66,42 @@ public class CourseDto { /** * 课时数量。 */ - @ApiModelProperty(value = "课时数量", required = true) @NotNull(message = "数据验证失败,课时数量不能为空!") private Integer classHour; /** * 多张课程图片地址。 */ - @ApiModelProperty(value = "多张课程图片地址", required = true) @NotBlank(message = "数据验证失败,课程图片不能为空!") private String pictureUrl; /** * price 范围过滤起始值(>=)。 */ - @ApiModelProperty(value = "price 范围过滤起始值(>=)") private BigDecimal priceStart; /** * price 范围过滤结束值(<=)。 */ - @ApiModelProperty(value = "price 范围过滤结束值(<=)") private BigDecimal priceEnd; /** * classHour 范围过滤起始值(>=)。 */ - @ApiModelProperty(value = "classHour 范围过滤起始值(>=)") private Integer classHourStart; /** * classHour 范围过滤结束值(<=)。 */ - @ApiModelProperty(value = "classHour 范围过滤结束值(<=)") private Integer classHourEnd; /** * createTime 范围过滤起始值(>=)。 */ - @ApiModelProperty(value = "createTime 范围过滤起始值(>=)") private String createTimeStart; /** * createTime 范围过滤结束值(<=)。 */ - @ApiModelProperty(value = "createTime 范围过滤结束值(<=)") private String createTimeEnd; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/CourseTransStatsDto.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/CourseTransStatsDto.java index c0108013..1c7fa993 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/CourseTransStatsDto.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/CourseTransStatsDto.java @@ -4,8 +4,6 @@ import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.validator.ConstDictRef; import com.orange.demo.application.common.constant.Subject; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -18,28 +16,24 @@ import java.util.Date; * @author Jerry * @date 2020-09-24 */ -@ApiModel("CourseTransStatsDto对象") @Data public class CourseTransStatsDto { /** * 主键Id。 */ - @ApiModelProperty(value = "主键Id", required = true) @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long statsId; /** * 统计日期。 */ - @ApiModelProperty(value = "统计日期", required = true) @NotNull(message = "数据验证失败,统计日期不能为空!") private Date statsDate; /** * 科目Id。 */ - @ApiModelProperty(value = "科目Id", required = true) @NotNull(message = "数据验证失败,所属科目不能为空!") @ConstDictRef(constDictClass = Subject.class, message = "数据验证失败,所属科目为无效值!") private Integer subjectId; @@ -47,59 +41,50 @@ public class CourseTransStatsDto { /** * 年级Id。 */ - @ApiModelProperty(value = "年级Id", required = true) @NotNull(message = "数据验证失败,所属年级不能为空!") private Integer gradeId; /** * 年级名称。 */ - @ApiModelProperty(value = "年级名称") private String gradeName; /** * 课程Id。 */ - @ApiModelProperty(value = "课程Id", required = true) @NotNull(message = "数据验证失败,课程Id不能为空!") private Long courseId; /** * 课程名称。 */ - @ApiModelProperty(value = "课程名称") private String courseName; /** * 学生上课次数。 */ - @ApiModelProperty(value = "学生上课次数", required = true) @NotNull(message = "数据验证失败,上课次数不能为空!") private Integer studentAttendCount; /** * 学生献花数量。 */ - @ApiModelProperty(value = "学生献花数量", required = true) @NotNull(message = "数据验证失败,献花数量不能为空!") private Integer studentFlowerAmount; /** * 学生献花次数。 */ - @ApiModelProperty(value = "学生献花次数", required = true) @NotNull(message = "数据验证失败,献花次数不能为空!") private Integer studentFlowerCount; /** * statsDate 范围过滤起始值(>=)。 */ - @ApiModelProperty(value = "statsDate 范围过滤起始值(>=)") private String statsDateStart; /** * statsDate 范围过滤结束值(<=)。 */ - @ApiModelProperty(value = "statsDate 范围过滤结束值(<=)") private String statsDateEnd; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/GradeDto.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/GradeDto.java index 4c632b55..c0e8f32c 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/GradeDto.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/GradeDto.java @@ -2,8 +2,6 @@ package com.orange.demo.webadmin.app.dto; import com.orange.demo.common.core.validator.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -14,21 +12,18 @@ import javax.validation.constraints.*; * @author Jerry * @date 2020-09-24 */ -@ApiModel("GradeDto对象") @Data public class GradeDto { /** * 主键Id。 */ - @ApiModelProperty(value = "主键Id", required = true) @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Integer gradeId; /** * 年级名称。 */ - @ApiModelProperty(value = "年级名称", required = true) @NotBlank(message = "数据验证失败,年级名称不能为空!") private String gradeName; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/SchoolInfoDto.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/SchoolInfoDto.java deleted file mode 100644 index 98a684c4..00000000 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/SchoolInfoDto.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.orange.demo.webadmin.app.dto; - -import com.orange.demo.common.core.validator.UpdateGroup; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -/** - * SchoolInfoDto对象。 - * - * @author Jerry - * @date 2020-09-24 - */ -@ApiModel("SchoolInfoDto对象") -@Data -public class SchoolInfoDto { - - /** - * 学校Id。 - */ - @ApiModelProperty(value = "学校Id", required = true) - @NotNull(message = "数据验证失败,学校Id不能为空!", groups = {UpdateGroup.class}) - private Long schoolId; - - /** - * 学校名称。 - */ - @ApiModelProperty(value = "学校名称", required = true) - @NotBlank(message = "数据验证失败,学校名称不能为空!") - private String schoolName; - - /** - * 所在省Id。 - */ - @ApiModelProperty(value = "所在省Id", required = true) - @NotNull(message = "数据验证失败,所在省份不能为空!") - private Long provinceId; - - /** - * 所在城市Id。 - */ - @ApiModelProperty(value = "所在城市Id", required = true) - @NotNull(message = "数据验证失败,所在城市不能为空!") - private Long cityId; -} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentActionStatsDto.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentActionStatsDto.java index 90f376e4..6e312993 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentActionStatsDto.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentActionStatsDto.java @@ -2,8 +2,6 @@ package com.orange.demo.webadmin.app.dto; import com.orange.demo.common.core.validator.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -16,165 +14,141 @@ import java.util.Date; * @author Jerry * @date 2020-09-24 */ -@ApiModel("StudentActionStatsDto对象") @Data public class StudentActionStatsDto { /** * 主键Id。 */ - @ApiModelProperty(value = "主键Id", required = true) @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long statsId; /** * 统计日期。 */ - @ApiModelProperty(value = "统计日期", required = true) @NotNull(message = "数据验证失败,统计日期不能为空!") private Date statsDate; /** * 统计小时。 */ - @ApiModelProperty(value = "统计小时") private Date statsMonth; /** * 年级Id。 */ - @ApiModelProperty(value = "年级Id", required = true) @NotNull(message = "数据验证失败,所属年级不能为空!") private Integer gradeId; /** * 学生所在省Id。 */ - @ApiModelProperty(value = "学生所在省Id", required = true) @NotNull(message = "数据验证失败,所在省份不能为空!") private Long provinceId; /** * 学生所在城市Id。 */ - @ApiModelProperty(value = "学生所在城市Id", required = true) @NotNull(message = "数据验证失败,所在城市不能为空!", groups = {UpdateGroup.class}) private Long cityId; /** * 购课学币数量。 */ - @ApiModelProperty(value = "购课学币数量", required = true) @NotNull(message = "数据验证失败,购课学币数量不能为空!", groups = {UpdateGroup.class}) private Integer buyCourseAmount; /** * 购买课程次数。 */ - @ApiModelProperty(value = "购买课程次数", required = true) @NotNull(message = "数据验证失败,购买课程次数不能为空!", groups = {UpdateGroup.class}) private Integer buyCourseCount; /** * 购买视频学币数量。 */ - @ApiModelProperty(value = "购买视频学币数量", required = true) @NotNull(message = "数据验证失败,购买视频学币数量不能为空!", groups = {UpdateGroup.class}) private Integer buyVideoAmount; /** * 购买视频次数。 */ - @ApiModelProperty(value = "购买视频次数", required = true) @NotNull(message = "数据验证失败,购买视频次数不能为空!", groups = {UpdateGroup.class}) private Integer buyVideoCount; /** * 购买作业学币数量。 */ - @ApiModelProperty(value = "购买作业学币数量", required = true) @NotNull(message = "数据验证失败,购买作业学币数量不能为空!", groups = {UpdateGroup.class}) private Integer buyPaperAmount; /** * 购买作业次数。 */ - @ApiModelProperty(value = "购买作业次数", required = true) @NotNull(message = "数据验证失败,购买作业次数不能为空!", groups = {UpdateGroup.class}) private Integer buyPaperCount; /** * 购买献花数量。 */ - @ApiModelProperty(value = "购买献花数量", required = true) @NotNull(message = "数据验证失败,购买献花数量不能为空!", groups = {UpdateGroup.class}) private Integer buyFlowerAmount; /** * 购买献花次数。 */ - @ApiModelProperty(value = "购买献花次数", required = true) @NotNull(message = "数据验证失败,购买献花次数不能为空!", groups = {UpdateGroup.class}) private Integer buyFlowerCount; /** * 充值学币数量。 */ - @ApiModelProperty(value = "充值学币数量", required = true) @NotNull(message = "数据验证失败,充值学币数量不能为空!", groups = {UpdateGroup.class}) private Integer rechargeCoinAmount; /** * 充值学币次数。 */ - @ApiModelProperty(value = "充值学币次数", required = true) @NotNull(message = "数据验证失败,充值学币次数不能为空!", groups = {UpdateGroup.class}) private Integer rechargeCoinCount; /** * 线下课程上课次数。 */ - @ApiModelProperty(value = "线下课程上课次数", required = true) @NotNull(message = "数据验证失败,线下课程上课次数不能为空!") private Integer doCourseCount; /** * 观看视频次数。 */ - @ApiModelProperty(value = "观看视频次数", required = true) @NotNull(message = "数据验证失败,观看视频次数不能为空!", groups = {UpdateGroup.class}) private Integer watchVideoCount; /** * 购买献花消费学币数量。 */ - @ApiModelProperty(value = "购买献花消费学币数量", required = true) @NotNull(message = "数据验证失败,购买献花消费学币数量不能为空!") private Integer watchVideoTotalSecond; /** * 做题数量。 */ - @ApiModelProperty(value = "做题数量", required = true) @NotNull(message = "数据验证失败,做题数量不能为空!", groups = {UpdateGroup.class}) private Integer doExerciseCount; /** * 做题正确的数量。 */ - @ApiModelProperty(value = "做题正确的数量", required = true) @NotNull(message = "数据验证失败,做题正确的数量不能为空!", groups = {UpdateGroup.class}) private Integer doExerciseCorrectCount; /** * statsDate 范围过滤起始值(>=)。 */ - @ApiModelProperty(value = "statsDate 范围过滤起始值(>=)") private String statsDateStart; /** * statsDate 范围过滤结束值(<=)。 */ - @ApiModelProperty(value = "statsDate 范围过滤结束值(<=)") private String statsDateEnd; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentActionTransDto.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentActionTransDto.java index 049c7066..55cf8dec 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentActionTransDto.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentActionTransDto.java @@ -5,8 +5,6 @@ import com.orange.demo.common.core.validator.ConstDictRef; import com.orange.demo.application.common.constant.StudentActionType; import com.orange.demo.application.common.constant.DeviceType; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -19,49 +17,42 @@ import java.util.Date; * @author Jerry * @date 2020-09-24 */ -@ApiModel("StudentActionTransDto对象") @Data public class StudentActionTransDto { /** * 主键Id。 */ - @ApiModelProperty(value = "主键Id", required = true) @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) private Long transId; /** * 学生Id。 */ - @ApiModelProperty(value = "学生Id", required = true) @NotNull(message = "数据验证失败,学生Id不能为空!") private Long studentId; /** * 学生名称。 */ - @ApiModelProperty(value = "学生名称", required = true) @NotBlank(message = "数据验证失败,学生名称不能为空!") private String studentName; /** * 学生校区。 */ - @ApiModelProperty(value = "学生校区", required = true) @NotNull(message = "数据验证失败,学生校区不能为空!") private Long schoolId; /** * 年级Id。 */ - @ApiModelProperty(value = "年级Id", required = true) @NotNull(message = "数据验证失败,学生年级不能为空!") private Integer gradeId; /** * 行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)。 */ - @ApiModelProperty(value = "行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)", required = true) @NotNull(message = "数据验证失败,行为类型不能为空!") @ConstDictRef(constDictClass = StudentActionType.class, message = "数据验证失败,行为类型为无效值!") private Integer actionType; @@ -69,7 +60,6 @@ public class StudentActionTransDto { /** * 设备类型(0: iOS 1: Android 2: PC)。 */ - @ApiModelProperty(value = "设备类型(0: iOS 1: Android 2: PC)", required = true) @NotNull(message = "数据验证失败,设备类型不能为空!") @ConstDictRef(constDictClass = DeviceType.class, message = "数据验证失败,设备类型为无效值!") private Integer deviceType; @@ -77,61 +67,51 @@ public class StudentActionTransDto { /** * 看视频秒数。 */ - @ApiModelProperty(value = "看视频秒数") private Integer watchVideoSeconds; /** * 购买献花数量。 */ - @ApiModelProperty(value = "购买献花数量") private Integer flowerCount; /** * 购买作业数量。 */ - @ApiModelProperty(value = "购买作业数量") private Integer paperCount; /** * 购买视频数量。 */ - @ApiModelProperty(value = "购买视频数量") private Integer videoCount; /** * 购买课程数量。 */ - @ApiModelProperty(value = "购买课程数量") private Integer courseCount; /** * 充值学币数量。 */ - @ApiModelProperty(value = "充值学币数量") private Integer coinCount; /** * 做题是否正确标记。 */ - @ApiModelProperty(value = "做题是否正确标记") private Integer exerciseCorrectFlag; /** * 发生时间。 */ - @ApiModelProperty(value = "发生时间", required = true) @NotNull(message = "数据验证失败,发生时间不能为空!") private Date createTime; /** * createTime 范围过滤起始值(>=)。 */ - @ApiModelProperty(value = "createTime 范围过滤起始值(>=)") private String createTimeStart; /** * createTime 范围过滤结束值(<=)。 */ - @ApiModelProperty(value = "createTime 范围过滤结束值(<=)") private String createTimeEnd; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentClassDto.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentClassDto.java index d75f9ce4..291e4c56 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentClassDto.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentClassDto.java @@ -4,8 +4,6 @@ import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.validator.ConstDictRef; import com.orange.demo.webadmin.app.model.constant.ClassLevel; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -16,49 +14,42 @@ import javax.validation.constraints.*; * @author Jerry * @date 2020-09-24 */ -@ApiModel("StudentClassDto对象") @Data public class StudentClassDto { /** * 班级Id。 */ - @ApiModelProperty(value = "班级Id", required = true) @NotNull(message = "数据验证失败,班级Id不能为空!", groups = {UpdateGroup.class}) private Long classId; /** * 班级名称。 */ - @ApiModelProperty(value = "班级名称", required = true) @NotBlank(message = "数据验证失败,班级名称不能为空!") private String className; /** * 学校Id。 */ - @ApiModelProperty(value = "学校Id", required = true) @NotNull(message = "数据验证失败,所属校区不能为空!") private Long schoolId; /** * 学生班长Id。 */ - @ApiModelProperty(value = "学生班长Id", required = true) @NotNull(message = "数据验证失败,学生班长不能为空!") private Long leaderId; /** * 已完成课时数量。 */ - @ApiModelProperty(value = "已完成课时数量", required = true) @NotNull(message = "数据验证失败,已完成课时不能为空!", groups = {UpdateGroup.class}) private Integer finishClassHour; /** * 班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)。 */ - @ApiModelProperty(value = "班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)", required = true) @NotNull(message = "数据验证失败,班级级别不能为空!") @ConstDictRef(constDictClass = ClassLevel.class, message = "数据验证失败,班级级别为无效值!") private Integer classLevel; diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentDto.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentDto.java index a3aa4547..de956c59 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentDto.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/dto/StudentDto.java @@ -6,8 +6,6 @@ import com.orange.demo.application.common.constant.Gender; import com.orange.demo.application.common.constant.ExpLevel; import com.orange.demo.application.common.constant.StudentStatus; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.*; @@ -20,56 +18,48 @@ import java.util.Date; * @author Jerry * @date 2020-09-24 */ -@ApiModel("StudentDto对象") @Data public class StudentDto { /** * 学生Id。 */ - @ApiModelProperty(value = "学生Id", required = true) @NotNull(message = "数据验证失败,学生Id不能为空!", groups = {UpdateGroup.class}) private Long studentId; /** * 登录手机。 */ - @ApiModelProperty(value = "登录手机", required = true) @NotBlank(message = "数据验证失败,手机号码不能为空!") private String loginMobile; /** * 学生姓名。 */ - @ApiModelProperty(value = "学生姓名", required = true) @NotBlank(message = "数据验证失败,学生姓名不能为空!") private String studentName; /** * 所在省份Id。 */ - @ApiModelProperty(value = "所在省份Id", required = true) @NotNull(message = "数据验证失败,所在省份不能为空!") private Long provinceId; /** * 所在城市Id。 */ - @ApiModelProperty(value = "所在城市Id", required = true) @NotNull(message = "数据验证失败,所在城市不能为空!") private Long cityId; /** * 区县Id。 */ - @ApiModelProperty(value = "区县Id", required = true) @NotNull(message = "数据验证失败,所在区县不能为空!") private Long districtId; /** * 学生性别 (0: 女生 1: 男生)。 */ - @ApiModelProperty(value = "学生性别 (0: 女生 1: 男生)", required = true) @NotNull(message = "数据验证失败,学生性别不能为空!") @ConstDictRef(constDictClass = Gender.class, message = "数据验证失败,学生性别为无效值!") private Integer gender; @@ -77,14 +67,12 @@ public class StudentDto { /** * 生日。 */ - @ApiModelProperty(value = "生日", required = true) @NotNull(message = "数据验证失败,出生日期不能为空!") private Date birthday; /** * 经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)。 */ - @ApiModelProperty(value = "经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)", required = true) @NotNull(message = "数据验证失败,经验等级不能为空!") @ConstDictRef(constDictClass = ExpLevel.class, message = "数据验证失败,经验等级为无效值!") private Integer experienceLevel; @@ -92,34 +80,29 @@ public class StudentDto { /** * 总共充值学币数量。 */ - @ApiModelProperty(value = "总共充值学币数量", required = true) @NotNull(message = "数据验证失败,充值学币不能为空!", groups = {UpdateGroup.class}) private Integer totalCoin; /** * 可用学币数量。 */ - @ApiModelProperty(value = "可用学币数量") private Integer leftCoin; /** * 年级Id。 */ - @ApiModelProperty(value = "年级Id", required = true) @NotNull(message = "数据验证失败,年级不能为空!") private Integer gradeId; /** * 校区Id。 */ - @ApiModelProperty(value = "校区Id", required = true) @NotNull(message = "数据验证失败,所属校区不能为空!") private Long schoolId; /** * 学生状态 (0: 正常 1: 锁定 2: 注销)。 */ - @ApiModelProperty(value = "学生状态 (0: 正常 1: 锁定 2: 注销)", required = true) @NotNull(message = "数据验证失败,学生状态不能为空!", groups = {UpdateGroup.class}) @ConstDictRef(constDictClass = StudentStatus.class, message = "数据验证失败,学生状态为无效值!") private Integer status; @@ -127,30 +110,25 @@ public class StudentDto { /** * birthday 范围过滤起始值(>=)。 */ - @ApiModelProperty(value = "birthday 范围过滤起始值(>=)") private String birthdayStart; /** * birthday 范围过滤结束值(<=)。 */ - @ApiModelProperty(value = "birthday 范围过滤结束值(<=)") private String birthdayEnd; /** * registerTime 范围过滤起始值(>=)。 */ - @ApiModelProperty(value = "registerTime 范围过滤起始值(>=)") private String registerTimeStart; /** * registerTime 范围过滤结束值(<=)。 */ - @ApiModelProperty(value = "registerTime 范围过滤结束值(<=)") private String registerTimeEnd; /** * login_mobile / student_name LIKE搜索字符串。 */ - @ApiModelProperty(value = "LIKE模糊搜索字符串") private String searchString; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/AreaCode.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/AreaCode.java index 0e1a6449..106c4b18 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/AreaCode.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/AreaCode.java @@ -1,9 +1,8 @@ package com.orange.demo.webadmin.app.model; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; -import javax.persistence.*; - /** * 行政区划实体对象。 * @@ -11,31 +10,30 @@ import javax.persistence.*; * @date 2020-09-24 */ @Data -@Table(name = "zz_area_code") +@TableName(value = "zz_area_code") public class AreaCode { /** * 行政区划主键Id */ - @Id - @Column(name = "area_id") + @TableId(value = "area_id") private Long areaId; /** * 行政区划名称 */ - @Column(name = "area_name") + @TableField(value = "area_name") private String areaName; /** * 行政区划级别 (1: 省级别 2: 市级别 3: 区级别) */ - @Column(name = "area_level") + @TableField(value = "area_level") private Integer areaLevel; /** * 父级行政区划Id */ - @Column(name = "parent_id") + @TableField(value = "parent_id") private Long parentId; } \ No newline at end of file diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/ClassCourse.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/ClassCourse.java index 58aa2f80..7b4b7ea6 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/ClassCourse.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/ClassCourse.java @@ -1,7 +1,7 @@ package com.orange.demo.webadmin.app.model; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; -import javax.persistence.*; /** * ClassCourse实体对象。 @@ -10,26 +10,24 @@ import javax.persistence.*; * @date 2020-09-24 */ @Data -@Table(name = "zz_class_course") +@TableName(value = "zz_class_course") public class ClassCourse { /** * 班级Id。 */ - @Id - @Column(name = "class_id") + @TableField(value = "class_id") private Long classId; /** * 课程Id。 */ - @Id - @Column(name = "course_id") + @TableField(value = "course_id") private Long courseId; /** * 课程顺序(数值越小越靠前)。 */ - @Column(name = "course_order") + @TableField(value = "course_order") private Integer courseOrder; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/ClassStudent.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/ClassStudent.java index 94cedea5..4f982b78 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/ClassStudent.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/ClassStudent.java @@ -1,7 +1,7 @@ package com.orange.demo.webadmin.app.model; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; -import javax.persistence.*; /** * ClassStudent实体对象。 @@ -10,20 +10,18 @@ import javax.persistence.*; * @date 2020-09-24 */ @Data -@Table(name = "zz_class_student") +@TableName(value = "zz_class_student") public class ClassStudent { /** * 班级Id。 */ - @Id - @Column(name = "class_id") + @TableField(value = "class_id") private Long classId; /** * 学生Id。 */ - @Id - @Column(name = "student_id") + @TableField(value = "student_id") private Long studentId; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Course.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Course.java index 2ffef183..d75ac2c7 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Course.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Course.java @@ -1,5 +1,6 @@ package com.orange.demo.webadmin.app.model; +import com.baomidou.mybatisplus.annotation.*; import com.orange.demo.webadmin.app.model.constant.CourseDifficult; import com.orange.demo.application.common.constant.Subject; import com.orange.demo.common.core.upload.UploadStoreTypeEnum; @@ -11,7 +12,6 @@ import com.orange.demo.webadmin.app.vo.CourseVo; import lombok.Data; import org.mapstruct.*; import org.mapstruct.factory.Mappers; -import javax.persistence.*; import java.math.BigDecimal; import java.util.Date; @@ -24,20 +24,19 @@ import java.util.Map; * @date 2020-09-24 */ @Data -@Table(name = "zz_course") +@TableName(value = "zz_course") public class Course { /** * 主键Id。 */ - @Id - @Column(name = "course_id") + @TableId(value = "course_id") private Long courseId; /** * 课程名称。 */ - @Column(name = "course_name") + @TableField(value = "course_name") private String courseName; /** @@ -58,86 +57,86 @@ public class Course { /** * 年级Id。 */ - @Column(name = "grade_id") + @TableField(value = "grade_id") private Integer gradeId; /** * 学科Id。 */ - @Column(name = "subject_id") + @TableField(value = "subject_id") private Integer subjectId; /** * 课时数量。 */ - @Column(name = "class_hour") + @TableField(value = "class_hour") private Integer classHour; /** * 多张课程图片地址。 */ @UploadFlagColumn(storeType = UploadStoreTypeEnum.LOCAL_SYSTEM) - @Column(name = "picture_url") + @TableField(value = "picture_url") private String pictureUrl; /** * 创建用户Id。 */ - @Column(name = "create_user_id") + @TableField(value = "create_user_id") private Long createUserId; /** * 创建时间。 */ - @Column(name = "create_time") + @TableField(value = "create_time") private Date createTime; /** * 最后修改时间。 */ - @Column(name = "update_time") + @TableField(value = "update_time") private Date updateTime; /** * price 范围过滤起始值(>=)。 */ - @Transient + @TableField(exist = false) private BigDecimal priceStart; /** * price 范围过滤结束值(<=)。 */ - @Transient + @TableField(exist = false) private BigDecimal priceEnd; /** * classHour 范围过滤起始值(>=)。 */ - @Transient + @TableField(exist = false) private Integer classHourStart; /** * classHour 范围过滤结束值(<=)。 */ - @Transient + @TableField(exist = false) private Integer classHourEnd; /** * createTime 范围过滤起始值(>=)。 */ - @Transient + @TableField(exist = false) private String createTimeStart; /** * createTime 范围过滤结束值(<=)。 */ - @Transient + @TableField(exist = false) private String createTimeEnd; /** * courseId 的多对多关联表数据对象。 */ - @Transient + @TableField(exist = false) private ClassCourse classCourse; @RelationDict( @@ -146,19 +145,19 @@ public class Course { slaveModelClass = Grade.class, slaveIdField = "gradeId", slaveNameField = "gradeName") - @Transient + @TableField(exist = false) private Map gradeIdDictMap; @RelationConstDict( masterIdField = "difficulty", constantDictClass = CourseDifficult.class) - @Transient + @TableField(exist = false) private Map difficultyDictMap; @RelationConstDict( masterIdField = "subjectId", constantDictClass = Subject.class) - @Transient + @TableField(exist = false) private Map subjectIdDictMap; @Mapper diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/CourseTransStats.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/CourseTransStats.java index ed9d6e2d..f6777c01 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/CourseTransStats.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/CourseTransStats.java @@ -1,5 +1,6 @@ package com.orange.demo.webadmin.app.model; +import com.baomidou.mybatisplus.annotation.*; import com.orange.demo.application.common.constant.Subject; import com.orange.demo.common.core.annotation.RelationDict; import com.orange.demo.common.core.annotation.RelationConstDict; @@ -8,7 +9,6 @@ import com.orange.demo.webadmin.app.vo.CourseTransStatsVo; import lombok.Data; import org.mapstruct.*; import org.mapstruct.factory.Mappers; -import javax.persistence.*; import java.util.Date; import java.util.Map; @@ -20,81 +20,79 @@ import java.util.Map; * @date 2020-09-24 */ @Data -@Table(name = "zz_course_trans_stats") +@TableName(value = "zz_course_trans_stats") public class CourseTransStats { /** * 主键Id。 */ - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "stats_id") + @TableId(value = "stats_id", type = IdType.AUTO) private Long statsId; /** * 统计日期。 */ - @Column(name = "stats_date") + @TableField(value = "stats_date") private Date statsDate; /** * 科目Id。 */ - @Column(name = "subject_id") + @TableField(value = "subject_id") private Integer subjectId; /** * 年级Id。 */ - @Column(name = "grade_id") + @TableField(value = "grade_id") private Integer gradeId; /** * 年级名称。 */ - @Column(name = "grade_name") + @TableField(value = "grade_name") private String gradeName; /** * 课程Id。 */ - @Column(name = "course_id") + @TableField(value = "course_id") private Long courseId; /** * 课程名称。 */ - @Column(name = "course_name") + @TableField(value = "course_name") private String courseName; /** * 学生上课次数。 */ - @Column(name = "student_attend_count") + @TableField(value = "student_attend_count") private Integer studentAttendCount; /** * 学生献花数量。 */ - @Column(name = "student_flower_amount") + @TableField(value = "student_flower_amount") private Integer studentFlowerAmount; /** * 学生献花次数。 */ - @Column(name = "student_flower_count") + @TableField(value = "student_flower_count") private Integer studentFlowerCount; /** * statsDate 范围过滤起始值(>=)。 */ - @Transient + @TableField(exist = false) private String statsDateStart; /** * statsDate 范围过滤结束值(<=)。 */ - @Transient + @TableField(exist = false) private String statsDateEnd; @RelationDict( @@ -103,13 +101,13 @@ public class CourseTransStats { slaveModelClass = Grade.class, slaveIdField = "gradeId", slaveNameField = "gradeName") - @Transient + @TableField(exist = false) private Map gradeIdDictMap; @RelationConstDict( masterIdField = "subjectId", constantDictClass = Subject.class) - @Transient + @TableField(exist = false) private Map subjectIdDictMap; @Mapper diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Grade.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Grade.java index 07298c39..3c6335e0 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Grade.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Grade.java @@ -1,8 +1,7 @@ package com.orange.demo.webadmin.app.model; -import com.orange.demo.common.core.annotation.DeletedFlagColumn; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; -import javax.persistence.*; /** * Grade实体对象。 @@ -11,26 +10,24 @@ import javax.persistence.*; * @date 2020-09-24 */ @Data -@Table(name = "zz_grade") +@TableName(value = "zz_grade") public class Grade { /** * 主键Id。 */ - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "grade_id") + @TableId(value = "grade_id", type = IdType.AUTO) private Integer gradeId; /** * 年级名称。 */ - @Column(name = "grade_name") + @TableField(value = "grade_name") private String gradeName; /** * 逻辑删除标记字段(1: 正常 -1: 已删除)。 */ - @DeletedFlagColumn + @TableLogic private Integer status; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/MaterialEdition.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/MaterialEdition.java index ed9b413e..35fe7bd8 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/MaterialEdition.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/MaterialEdition.java @@ -1,7 +1,7 @@ package com.orange.demo.webadmin.app.model; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; -import javax.persistence.*; /** * MaterialEdition实体对象。 @@ -10,21 +10,19 @@ import javax.persistence.*; * @date 2020-09-24 */ @Data -@Table(name = "zz_material_edition") +@TableName(value = "zz_material_edition") public class MaterialEdition { /** * 主键Id。 */ - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "edition_id") + @TableId(value = "edition_id", type = IdType.AUTO) private Integer editionId; /** * 教材版本名称。 */ - @Column(name = "edition_name") + @TableField(value = "edition_name") private String editionName; /** diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/SchoolInfo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/SchoolInfo.java deleted file mode 100644 index a9086bde..00000000 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/SchoolInfo.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.orange.demo.webadmin.app.model; - -import com.orange.demo.common.core.annotation.RelationDict; -import com.orange.demo.common.core.base.mapper.BaseModelMapper; -import com.orange.demo.webadmin.app.vo.SchoolInfoVo; -import lombok.Data; -import org.mapstruct.*; -import org.mapstruct.factory.Mappers; -import javax.persistence.*; - -import java.util.Map; - -/** - * SchoolInfo实体对象。 - * - * @author Jerry - * @date 2020-09-24 - */ -@Data -@Table(name = "zz_school_info") -public class SchoolInfo { - - /** - * 学校Id。 - */ - @Id - @Column(name = "school_id") - private Long schoolId; - - /** - * 学校名称。 - */ - @Column(name = "school_name") - private String schoolName; - - /** - * 所在省Id。 - */ - @Column(name = "province_id") - private Long provinceId; - - /** - * 所在城市Id。 - */ - @Column(name = "city_id") - private Long cityId; - - @RelationDict( - masterIdField = "provinceId", - slaveServiceName = "areaCodeService", - slaveModelClass = AreaCode.class, - slaveIdField = "areaId", - slaveNameField = "areaName") - @Transient - private Map provinceIdDictMap; - - @RelationDict( - masterIdField = "cityId", - slaveServiceName = "areaCodeService", - slaveModelClass = AreaCode.class, - slaveIdField = "areaId", - slaveNameField = "areaName") - @Transient - private Map cityIdDictMap; - - @Mapper - public interface SchoolInfoModelMapper extends BaseModelMapper { - /** - * 转换Vo对象到实体对象。 - * - * @param schoolInfoVo 域对象。 - * @return 实体对象。 - */ - @Override - SchoolInfo toModel(SchoolInfoVo schoolInfoVo); - /** - * 转换实体对象到VO对象。 - * - * @param schoolInfo 实体对象。 - * @return 域对象。 - */ - @Override - SchoolInfoVo fromModel(SchoolInfo schoolInfo); - } - public static final SchoolInfoModelMapper INSTANCE = Mappers.getMapper(SchoolInfoModelMapper.class); -} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Student.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Student.java index ab8d2f0f..f25dcc7a 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Student.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/Student.java @@ -1,5 +1,7 @@ package com.orange.demo.webadmin.app.model; +import com.baomidou.mybatisplus.annotation.*; +import com.orange.demo.webadmin.upms.model.SysDept; import com.orange.demo.application.common.constant.Gender; import com.orange.demo.application.common.constant.ExpLevel; import com.orange.demo.application.common.constant.StudentStatus; @@ -11,7 +13,6 @@ import com.orange.demo.webadmin.app.vo.StudentVo; import lombok.Data; import org.mapstruct.*; import org.mapstruct.factory.Mappers; -import javax.persistence.*; import java.util.Date; import java.util.Map; @@ -23,44 +24,43 @@ import java.util.Map; * @date 2020-09-24 */ @Data -@Table(name = "zz_student") +@TableName(value = "zz_student") public class Student { /** * 学生Id。 */ - @Id - @Column(name = "student_id") + @TableId(value = "student_id") private Long studentId; /** * 登录手机。 */ - @Column(name = "login_mobile") + @TableField(value = "login_mobile") private String loginMobile; /** * 学生姓名。 */ - @Column(name = "student_name") + @TableField(value = "student_name") private String studentName; /** * 所在省份Id。 */ - @Column(name = "province_id") + @TableField(value = "province_id") private Long provinceId; /** * 所在城市Id。 */ - @Column(name = "city_id") + @TableField(value = "city_id") private Long cityId; /** * 区县Id。 */ - @Column(name = "district_id") + @TableField(value = "district_id") private Long districtId; /** @@ -76,37 +76,37 @@ public class Student { /** * 经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)。 */ - @Column(name = "experience_level") + @TableField(value = "experience_level") private Integer experienceLevel; /** * 总共充值学币数量。 */ - @Column(name = "total_coin") + @TableField(value = "total_coin") private Integer totalCoin; /** * 可用学币数量。 */ - @Column(name = "left_coin") + @TableField(value = "left_coin") private Integer leftCoin; /** * 年级Id。 */ - @Column(name = "grade_id") + @TableField(value = "grade_id") private Integer gradeId; /** * 校区Id。 */ - @Column(name = "school_id") + @TableField(value = "school_id") private Long schoolId; /** * 注册时间。 */ - @Column(name = "register_time") + @TableField(value = "register_time") private Date registerTime; /** @@ -117,31 +117,31 @@ public class Student { /** * birthday 范围过滤起始值(>=)。 */ - @Transient + @TableField(exist = false) private String birthdayStart; /** * birthday 范围过滤结束值(<=)。 */ - @Transient + @TableField(exist = false) private String birthdayEnd; /** * registerTime 范围过滤起始值(>=)。 */ - @Transient + @TableField(exist = false) private String registerTimeStart; /** * registerTime 范围过滤结束值(<=)。 */ - @Transient + @TableField(exist = false) private String registerTimeEnd; /** * login_mobile / student_name LIKE搜索字符串。 */ - @Transient + @TableField(exist = false) private String searchString; public void setSearchString(String searchString) { @@ -154,7 +154,7 @@ public class Student { slaveModelClass = AreaCode.class, slaveIdField = "areaId", slaveNameField = "areaName") - @Transient + @TableField(exist = false) private Map provinceIdDictMap; @RelationDict( @@ -163,7 +163,7 @@ public class Student { slaveModelClass = AreaCode.class, slaveIdField = "areaId", slaveNameField = "areaName") - @Transient + @TableField(exist = false) private Map cityIdDictMap; @RelationDict( @@ -172,7 +172,7 @@ public class Student { slaveModelClass = AreaCode.class, slaveIdField = "areaId", slaveNameField = "areaName") - @Transient + @TableField(exist = false) private Map districtIdDictMap; @RelationDict( @@ -181,34 +181,34 @@ public class Student { slaveModelClass = Grade.class, slaveIdField = "gradeId", slaveNameField = "gradeName") - @Transient + @TableField(exist = false) private Map gradeIdDictMap; @RelationDict( masterIdField = "schoolId", - slaveServiceName = "schoolInfoService", - slaveModelClass = SchoolInfo.class, - slaveIdField = "schoolId", - slaveNameField = "schoolName") - @Transient + slaveServiceName = "sysDeptService", + slaveModelClass = SysDept.class, + slaveIdField = "deptId", + slaveNameField = "deptName") + @TableField(exist = false) private Map schoolIdDictMap; @RelationConstDict( masterIdField = "gender", constantDictClass = Gender.class) - @Transient + @TableField(exist = false) private Map genderDictMap; @RelationConstDict( masterIdField = "experienceLevel", constantDictClass = ExpLevel.class) - @Transient + @TableField(exist = false) private Map experienceLevelDictMap; @RelationConstDict( masterIdField = "status", constantDictClass = StudentStatus.class) - @Transient + @TableField(exist = false) private Map statusDictMap; @Mapper diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentActionStats.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentActionStats.java index da8b532b..3c7811d4 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentActionStats.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentActionStats.java @@ -1,12 +1,12 @@ package com.orange.demo.webadmin.app.model; +import com.baomidou.mybatisplus.annotation.*; import com.orange.demo.common.core.annotation.RelationDict; import com.orange.demo.common.core.base.mapper.BaseModelMapper; import com.orange.demo.webadmin.app.vo.StudentActionStatsVo; import lombok.Data; import org.mapstruct.*; import org.mapstruct.factory.Mappers; -import javax.persistence.*; import java.util.Date; import java.util.Map; @@ -18,146 +18,145 @@ import java.util.Map; * @date 2020-09-24 */ @Data -@Table(name = "zz_student_action_stats") +@TableName(value = "zz_student_action_stats") public class StudentActionStats { /** * 主键Id。 */ - @Id - @Column(name = "stats_id") + @TableId(value = "stats_id") private Long statsId; /** * 统计日期。 */ - @Column(name = "stats_date") + @TableField(value = "stats_date") private Date statsDate; /** * 统计小时。 */ - @Column(name = "stats_month") + @TableField(value = "stats_month") private Date statsMonth; /** * 年级Id。 */ - @Column(name = "grade_id") + @TableField(value = "grade_id") private Integer gradeId; /** * 学生所在省Id。 */ - @Column(name = "province_id") + @TableField(value = "province_id") private Long provinceId; /** * 学生所在城市Id。 */ - @Column(name = "city_id") + @TableField(value = "city_id") private Long cityId; /** * 购课学币数量。 */ - @Column(name = "buy_course_amount") + @TableField(value = "buy_course_amount") private Integer buyCourseAmount; /** * 购买课程次数。 */ - @Column(name = "buy_course_count") + @TableField(value = "buy_course_count") private Integer buyCourseCount; /** * 购买视频学币数量。 */ - @Column(name = "buy_video_amount") + @TableField(value = "buy_video_amount") private Integer buyVideoAmount; /** * 购买视频次数。 */ - @Column(name = "buy_video_count") + @TableField(value = "buy_video_count") private Integer buyVideoCount; /** * 购买作业学币数量。 */ - @Column(name = "buy_paper_amount") + @TableField(value = "buy_paper_amount") private Integer buyPaperAmount; /** * 购买作业次数。 */ - @Column(name = "buy_paper_count") + @TableField(value = "buy_paper_count") private Integer buyPaperCount; /** * 购买献花数量。 */ - @Column(name = "buy_flower_amount") + @TableField(value = "buy_flower_amount") private Integer buyFlowerAmount; /** * 购买献花次数。 */ - @Column(name = "buy_flower_count") + @TableField(value = "buy_flower_count") private Integer buyFlowerCount; /** * 充值学币数量。 */ - @Column(name = "recharge_coin_amount") + @TableField(value = "recharge_coin_amount") private Integer rechargeCoinAmount; /** * 充值学币次数。 */ - @Column(name = "recharge_coin_count") + @TableField(value = "recharge_coin_count") private Integer rechargeCoinCount; /** * 线下课程上课次数。 */ - @Column(name = "do_course_count") + @TableField(value = "do_course_count") private Integer doCourseCount; /** * 观看视频次数。 */ - @Column(name = "watch_video_count") + @TableField(value = "watch_video_count") private Integer watchVideoCount; /** * 购买献花消费学币数量。 */ - @Column(name = "watch_video_total_second") + @TableField(value = "watch_video_total_second") private Integer watchVideoTotalSecond; /** * 做题数量。 */ - @Column(name = "do_exercise_count") + @TableField(value = "do_exercise_count") private Integer doExerciseCount; /** * 做题正确的数量。 */ - @Column(name = "do_exercise_correct_count") + @TableField(value = "do_exercise_correct_count") private Integer doExerciseCorrectCount; /** * statsDate 范围过滤起始值(>=)。 */ - @Transient + @TableField(exist = false) private String statsDateStart; /** * statsDate 范围过滤结束值(<=)。 */ - @Transient + @TableField(exist = false) private String statsDateEnd; @RelationDict( @@ -166,7 +165,7 @@ public class StudentActionStats { slaveModelClass = Grade.class, slaveIdField = "gradeId", slaveNameField = "gradeName") - @Transient + @TableField(exist = false) private Map gradeIdDictMap; @RelationDict( @@ -175,7 +174,7 @@ public class StudentActionStats { slaveModelClass = AreaCode.class, slaveIdField = "areaId", slaveNameField = "areaName") - @Transient + @TableField(exist = false) private Map provinceIdDictMap; @RelationDict( @@ -184,7 +183,7 @@ public class StudentActionStats { slaveModelClass = AreaCode.class, slaveIdField = "areaId", slaveNameField = "areaName") - @Transient + @TableField(exist = false) private Map cityIdDictMap; @Mapper diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentActionTrans.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentActionTrans.java index 06434a85..a315e2a4 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentActionTrans.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentActionTrans.java @@ -1,5 +1,7 @@ package com.orange.demo.webadmin.app.model; +import com.baomidou.mybatisplus.annotation.*; +import com.orange.demo.webadmin.upms.model.SysDept; import com.orange.demo.application.common.constant.StudentActionType; import com.orange.demo.application.common.constant.DeviceType; import com.orange.demo.common.core.annotation.RelationDict; @@ -9,7 +11,6 @@ import com.orange.demo.webadmin.app.vo.StudentActionTransVo; import lombok.Data; import org.mapstruct.*; import org.mapstruct.factory.Mappers; -import javax.persistence.*; import java.util.Date; import java.util.Map; @@ -21,119 +22,118 @@ import java.util.Map; * @date 2020-09-24 */ @Data -@Table(name = "zz_student_action_trans") +@TableName(value = "zz_student_action_trans") public class StudentActionTrans { /** * 主键Id。 */ - @Id - @Column(name = "trans_id") + @TableId(value = "trans_id") private Long transId; /** * 学生Id。 */ - @Column(name = "student_id") + @TableField(value = "student_id") private Long studentId; /** * 学生名称。 */ - @Column(name = "student_name") + @TableField(value = "student_name") private String studentName; /** * 学生校区。 */ - @Column(name = "school_id") + @TableField(value = "school_id") private Long schoolId; /** * 年级Id。 */ - @Column(name = "grade_id") + @TableField(value = "grade_id") private Integer gradeId; /** * 行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)。 */ - @Column(name = "action_type") + @TableField(value = "action_type") private Integer actionType; /** * 设备类型(0: iOS 1: Android 2: PC)。 */ - @Column(name = "device_type") + @TableField(value = "device_type") private Integer deviceType; /** * 看视频秒数。 */ - @Column(name = "watch_video_seconds") + @TableField(value = "watch_video_seconds") private Integer watchVideoSeconds; /** * 购买献花数量。 */ - @Column(name = "flower_count") + @TableField(value = "flower_count") private Integer flowerCount; /** * 购买作业数量。 */ - @Column(name = "paper_count") + @TableField(value = "paper_count") private Integer paperCount; /** * 购买视频数量。 */ - @Column(name = "video_count") + @TableField(value = "video_count") private Integer videoCount; /** * 购买课程数量。 */ - @Column(name = "course_count") + @TableField(value = "course_count") private Integer courseCount; /** * 充值学币数量。 */ - @Column(name = "coin_count") + @TableField(value = "coin_count") private Integer coinCount; /** * 做题是否正确标记。 */ - @Column(name = "exercise_correct_flag") + @TableField(value = "exercise_correct_flag") private Integer exerciseCorrectFlag; /** * 发生时间。 */ - @Column(name = "create_time") + @TableField(value = "create_time") private Date createTime; /** * createTime 范围过滤起始值(>=)。 */ - @Transient + @TableField(exist = false) private String createTimeStart; /** * createTime 范围过滤结束值(<=)。 */ - @Transient + @TableField(exist = false) private String createTimeEnd; @RelationDict( masterIdField = "schoolId", - slaveServiceName = "schoolInfoService", - slaveModelClass = SchoolInfo.class, - slaveIdField = "schoolId", - slaveNameField = "schoolName") - @Transient + slaveServiceName = "sysDeptService", + slaveModelClass = SysDept.class, + slaveIdField = "deptId", + slaveNameField = "deptName") + @TableField(exist = false) private Map schoolIdDictMap; @RelationDict( @@ -142,19 +142,19 @@ public class StudentActionTrans { slaveModelClass = Grade.class, slaveIdField = "gradeId", slaveNameField = "gradeName") - @Transient + @TableField(exist = false) private Map gradeIdDictMap; @RelationConstDict( masterIdField = "actionType", constantDictClass = StudentActionType.class) - @Transient + @TableField(exist = false) private Map actionTypeDictMap; @RelationConstDict( masterIdField = "deviceType", constantDictClass = DeviceType.class) - @Transient + @TableField(exist = false) private Map deviceTypeDictMap; @Mapper diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentClass.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentClass.java index fad6c3a5..c1a6691d 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentClass.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/model/StudentClass.java @@ -1,15 +1,15 @@ package com.orange.demo.webadmin.app.model; +import com.baomidou.mybatisplus.annotation.*; +import com.orange.demo.webadmin.upms.model.SysDept; import com.orange.demo.webadmin.app.model.constant.ClassLevel; import com.orange.demo.common.core.annotation.RelationDict; import com.orange.demo.common.core.annotation.RelationConstDict; import com.orange.demo.common.core.base.mapper.BaseModelMapper; -import com.orange.demo.common.core.annotation.DeletedFlagColumn; import com.orange.demo.webadmin.app.vo.StudentClassVo; import lombok.Data; import org.mapstruct.*; import org.mapstruct.factory.Mappers; -import javax.persistence.*; import java.util.Date; import java.util.Map; @@ -21,71 +21,70 @@ import java.util.Map; * @date 2020-09-24 */ @Data -@Table(name = "zz_class") +@TableName(value = "zz_class") public class StudentClass { /** * 班级Id。 */ - @Id - @Column(name = "class_id") + @TableId(value = "class_id") private Long classId; /** * 班级名称。 */ - @Column(name = "class_name") + @TableField(value = "class_name") private String className; /** * 学校Id。 */ - @Column(name = "school_id") + @TableField(value = "school_id") private Long schoolId; /** * 学生班长Id。 */ - @Column(name = "leader_id") + @TableField(value = "leader_id") private Long leaderId; /** * 已完成课时数量。 */ - @Column(name = "finish_class_hour") + @TableField(value = "finish_class_hour") private Integer finishClassHour; /** * 班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)。 */ - @Column(name = "class_level") + @TableField(value = "class_level") private Integer classLevel; /** * 创建用户。 */ - @Column(name = "create_user_id") + @TableField(value = "create_user_id") private Long createUserId; /** * 班级创建时间。 */ - @Column(name = "create_time") + @TableField(value = "create_time") private Date createTime; /** * 逻辑删除标记字段(1: 正常 -1: 已删除)。 */ - @DeletedFlagColumn + @TableLogic private Integer status; @RelationDict( masterIdField = "schoolId", - slaveServiceName = "schoolInfoService", - slaveModelClass = SchoolInfo.class, - slaveIdField = "schoolId", - slaveNameField = "schoolName") - @Transient + slaveServiceName = "sysDeptService", + slaveModelClass = SysDept.class, + slaveIdField = "deptId", + slaveNameField = "deptName") + @TableField(exist = false) private Map schoolIdDictMap; @RelationDict( @@ -94,13 +93,13 @@ public class StudentClass { slaveModelClass = Student.class, slaveIdField = "studentId", slaveNameField = "studentName") - @Transient + @TableField(exist = false) private Map leaderIdDictMap; @RelationConstDict( masterIdField = "classLevel", constantDictClass = ClassLevel.class) - @Transient + @TableField(exist = false) private Map classLevelDictMap; @Mapper diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/CourseService.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/CourseService.java index f6fd78ac..1a7f5884 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/CourseService.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/CourseService.java @@ -22,6 +22,13 @@ public interface CourseService extends IBaseService { */ Course saveNew(Course course); + /** + * 利用数据库的insertList语法,批量插入对象列表。 + * + * @param courseList 新增对象列表。 + */ + void saveNewBatch(List courseList); + /** * 更新数据对象。 * diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/SchoolInfoService.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/SchoolInfoService.java deleted file mode 100644 index e6577086..00000000 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/SchoolInfoService.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.orange.demo.webadmin.app.service; - -import com.orange.demo.webadmin.app.model.*; -import com.orange.demo.common.core.object.CallResult; -import com.orange.demo.common.core.base.service.IBaseService; - -import java.util.*; - -/** - * 校区数据数据操作服务接口。 - * - * @author Jerry - * @date 2020-09-24 - */ -public interface SchoolInfoService extends IBaseService { - - /** - * 保存新增对象。 - * - * @param schoolInfo 新增对象。 - * @return 返回新增对象。 - */ - SchoolInfo saveNew(SchoolInfo schoolInfo); - - /** - * 更新数据对象。 - * - * @param schoolInfo 更新的对象。 - * @param originalSchoolInfo 原有数据对象。 - * @return 成功返回true,否则false。 - */ - boolean update(SchoolInfo schoolInfo, SchoolInfo originalSchoolInfo); - - /** - * 删除指定数据。 - * - * @param schoolId 主键Id。 - * @return 成功返回true,否则false。 - */ - boolean remove(Long schoolId); - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getSchoolInfoListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getSchoolInfoList(SchoolInfo filter, String orderBy); - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 - * 如果仅仅需要获取主表数据,请移步(getSchoolInfoList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getSchoolInfoListWithRelation(SchoolInfo filter, String orderBy); - - /** - * 根据最新对象和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param schoolInfo 最新数据对象。 - * @param originalSchoolInfo 原有数据对象。 - * @return 数据全部正确返回true,否则false。 - */ - CallResult verifyRelatedData(SchoolInfo schoolInfo, SchoolInfo originalSchoolInfo); -} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentActionTransService.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentActionTransService.java index eb875136..72725761 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentActionTransService.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentActionTransService.java @@ -22,6 +22,13 @@ public interface StudentActionTransService extends IBaseService studentActionTransList); + /** * 更新数据对象。 * diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentClassService.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentClassService.java index 134f56b3..f0c8b57a 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentClassService.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentClassService.java @@ -22,6 +22,13 @@ public interface StudentClassService extends IBaseService { */ StudentClass saveNew(StudentClass studentClass); + /** + * 利用数据库的insertList语法,批量插入对象列表。 + * + * @param studentClassList 新增对象列表。 + */ + void saveNewBatch(List studentClassList); + /** * 更新数据对象。 * diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentService.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentService.java index ae1dadd3..fd0559cb 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentService.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/StudentService.java @@ -22,6 +22,13 @@ public interface StudentService extends IBaseService { */ Student saveNew(Student student); + /** + * 利用数据库的insertList语法,批量插入对象列表。 + * + * @param studentList 新增对象列表。 + */ + void saveNewBatch(List studentList); + /** * 更新数据对象。 * diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/CourseServiceImpl.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/CourseServiceImpl.java index bfaf2185..8058d603 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/CourseServiceImpl.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/CourseServiceImpl.java @@ -1,5 +1,8 @@ package com.orange.demo.webadmin.app.service.impl; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.orange.demo.webadmin.app.service.*; import com.orange.demo.webadmin.app.dao.*; import com.orange.demo.webadmin.app.model.*; @@ -55,16 +58,24 @@ public class CourseServiceImpl extends BaseService implements Cour @Transactional(rollbackFor = Exception.class) @Override public Course saveNew(Course course) { - course.setCourseId(idGenerator.nextLongId()); - TokenData tokenData = TokenData.takeFromRequest(); - course.setCreateUserId(tokenData.getUserId()); - Date now = new Date(); - course.setCreateTime(now); - course.setUpdateTime(now); - courseMapper.insert(course); + courseMapper.insert(this.buildDefaultValue(course)); return course; } + /** + * 利用数据库的insertList语法,批量插入对象列表。 + * + * @param courseList 新增对象列表。 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void saveNewBatch(List courseList) { + if (CollUtil.isNotEmpty(courseList)) { + courseList.forEach(this::buildDefaultValue); + courseMapper.insertList(courseList); + } + } + /** * 更新数据对象。 * @@ -79,7 +90,8 @@ public class CourseServiceImpl extends BaseService implements Cour course.setCreateTime(originalCourse.getCreateTime()); course.setUpdateTime(new Date()); // 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。 - return courseMapper.updateByPrimaryKey(course) == 1; + UpdateWrapper uw = this.createUpdateQueryForNullValue(course, course.getCourseId()); + return courseMapper.update(course, uw) == 1; } /** @@ -91,14 +103,13 @@ public class CourseServiceImpl extends BaseService implements Cour @Transactional(rollbackFor = Exception.class) @Override public boolean remove(Long courseId) { - // 这里先删除主数据 - if (!this.removeById(courseId)) { + if (courseMapper.deleteById(courseId) == 0) { return false; } // 开始删除多对多父表的关联 ClassCourse classCourse = new ClassCourse(); classCourse.setCourseId(courseId); - classCourseMapper.delete(classCourse); + classCourseMapper.delete(new QueryWrapper<>(classCourse)); return true; } @@ -183,4 +194,14 @@ public class CourseServiceImpl extends BaseService implements Cour } return CallResult.ok(); } + + private Course buildDefaultValue(Course course) { + course.setCourseId(idGenerator.nextLongId()); + TokenData tokenData = TokenData.takeFromRequest(); + course.setCreateUserId(tokenData.getUserId()); + Date now = new Date(); + course.setCreateTime(now); + course.setUpdateTime(now); + return course; + } } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/SchoolInfoServiceImpl.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/SchoolInfoServiceImpl.java deleted file mode 100644 index d3a76bf7..00000000 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/SchoolInfoServiceImpl.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.orange.demo.webadmin.app.service.impl; - -import com.orange.demo.webadmin.app.service.*; -import com.orange.demo.webadmin.app.dao.*; -import com.orange.demo.webadmin.app.model.*; -import com.orange.demo.common.core.base.dao.BaseDaoMapper; -import com.orange.demo.common.core.object.MyRelationParam; -import com.orange.demo.common.core.object.CallResult; -import com.orange.demo.common.core.base.service.BaseService; -import com.orange.demo.common.sequence.wrapper.IdGeneratorWrapper; -import com.github.pagehelper.Page; -import lombok.extern.slf4j.Slf4j; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.*; - -/** - * 校区数据数据操作服务类。 - * - * @author Jerry - * @date 2020-09-24 - */ -@Slf4j -@Service("schoolInfoService") -public class SchoolInfoServiceImpl extends BaseService implements SchoolInfoService { - - @Autowired - private SchoolInfoMapper schoolInfoMapper; - @Autowired - private AreaCodeService areaCodeService; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return schoolInfoMapper; - } - - /** - * 保存新增对象。 - * - * @param schoolInfo 新增对象。 - * @return 返回新增对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public SchoolInfo saveNew(SchoolInfo schoolInfo) { - schoolInfo.setSchoolId(idGenerator.nextLongId()); - schoolInfoMapper.insert(schoolInfo); - return schoolInfo; - } - - /** - * 更新数据对象。 - * - * @param schoolInfo 更新的对象。 - * @param originalSchoolInfo 原有数据对象。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(SchoolInfo schoolInfo, SchoolInfo originalSchoolInfo) { - // 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。 - return schoolInfoMapper.updateByPrimaryKey(schoolInfo) == 1; - } - - /** - * 删除指定数据。 - * - * @param schoolId 主键Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long schoolId) { - // 这里先删除主数据 - return this.removeById(schoolId); - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getSchoolInfoListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getSchoolInfoList(SchoolInfo filter, String orderBy) { - return schoolInfoMapper.getSchoolInfoList(filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 - * 如果仅仅需要获取主表数据,请移步(getSchoolInfoList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getSchoolInfoListWithRelation(SchoolInfo filter, String orderBy) { - List resultList = schoolInfoMapper.getSchoolInfoList(filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); - return resultList; - } - - /** - * 根据最新对象和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param schoolInfo 最新数据对象。 - * @param originalSchoolInfo 原有数据对象。 - * @return 数据全部正确返回true,否则false。 - */ - @Override - public CallResult verifyRelatedData(SchoolInfo schoolInfo, SchoolInfo originalSchoolInfo) { - String errorMessageFormat = "数据验证失败,关联的%s并不存在,请刷新后重试!"; - //这里是基于字典的验证。 - if (this.needToVerify(schoolInfo, originalSchoolInfo, SchoolInfo::getProvinceId) - && !areaCodeService.existId(schoolInfo.getProvinceId())) { - return CallResult.error(String.format(errorMessageFormat, "所在省份")); - } - //这里是基于字典的验证。 - if (this.needToVerify(schoolInfo, originalSchoolInfo, SchoolInfo::getCityId) - && !areaCodeService.existId(schoolInfo.getCityId())) { - return CallResult.error(String.format(errorMessageFormat, "所在城市")); - } - return CallResult.ok(); - } -} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/StudentActionTransServiceImpl.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/StudentActionTransServiceImpl.java index f13a8022..e49dd8ef 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/StudentActionTransServiceImpl.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/StudentActionTransServiceImpl.java @@ -1,8 +1,11 @@ package com.orange.demo.webadmin.app.service.impl; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.orange.demo.webadmin.app.service.*; import com.orange.demo.webadmin.app.dao.*; import com.orange.demo.webadmin.app.model.*; +import com.orange.demo.webadmin.upms.service.SysDeptService; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.common.core.object.MyRelationParam; import com.orange.demo.common.core.object.CallResult; @@ -29,7 +32,7 @@ public class StudentActionTransServiceImpl extends BaseService studentActionTransList) { + if (CollUtil.isNotEmpty(studentActionTransList)) { + studentActionTransList.forEach(this::buildDefaultValue); + studentActionTransMapper.insertList(studentActionTransList); + } + } + /** * 更新数据对象。 * @@ -70,7 +86,8 @@ public class StudentActionTransServiceImpl extends BaseService uw = this.createUpdateQueryForNullValue(studentActionTrans, studentActionTrans.getTransId()); + return studentActionTransMapper.update(studentActionTrans, uw) == 1; } /** @@ -82,8 +99,7 @@ public class StudentActionTransServiceImpl extends BaseService imp @Autowired private ClassStudentMapper classStudentMapper; @Autowired - private SchoolInfoService schoolInfoService; + private SysDeptService sysDeptService; @Autowired private StudentService studentService; @Autowired @@ -62,16 +65,24 @@ public class StudentClassServiceImpl extends BaseService imp @Transactional(rollbackFor = Exception.class) @Override public StudentClass saveNew(StudentClass studentClass) { - studentClass.setClassId(idGenerator.nextLongId()); - TokenData tokenData = TokenData.takeFromRequest(); - studentClass.setCreateUserId(tokenData.getUserId()); - studentClass.setCreateTime(new Date()); - studentClass.setStatus(GlobalDeletedFlag.NORMAL); - MyModelUtil.setDefaultValue(studentClass, "finishClassHour", 0); - studentClassMapper.insert(studentClass); + studentClassMapper.insert(this.buildDefaultValue(studentClass)); return studentClass; } + /** + * 利用数据库的insertList语法,批量插入对象列表。 + * + * @param studentClassList 新增对象列表。 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void saveNewBatch(List studentClassList) { + if (CollUtil.isNotEmpty(studentClassList)) { + studentClassList.forEach(this::buildDefaultValue); + studentClassMapper.insertList(studentClassList); + } + } + /** * 更新数据对象。 * @@ -84,9 +95,9 @@ public class StudentClassServiceImpl extends BaseService imp public boolean update(StudentClass studentClass, StudentClass originalStudentClass) { studentClass.setCreateUserId(originalStudentClass.getCreateUserId()); studentClass.setCreateTime(originalStudentClass.getCreateTime()); - studentClass.setStatus(GlobalDeletedFlag.NORMAL); // 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。 - return studentClassMapper.updateByPrimaryKey(studentClass) == 1; + UpdateWrapper uw = this.createUpdateQueryForNullValue(studentClass, studentClass.getClassId()); + return studentClassMapper.update(studentClass, uw) == 1; } /** @@ -98,17 +109,16 @@ public class StudentClassServiceImpl extends BaseService imp @Transactional(rollbackFor = Exception.class) @Override public boolean remove(Long classId) { - // 这里先删除主数据 - if (!this.removeById(classId)) { + if (studentClassMapper.deleteById(classId) == 0) { return false; } // 开始删除多对多子表的关联 ClassCourse classCourse = new ClassCourse(); classCourse.setClassId(classId); - classCourseMapper.delete(classCourse); + classCourseMapper.delete(new QueryWrapper<>(classCourse)); ClassStudent classStudent = new ClassStudent(); classStudent.setClassId(classId); - classStudentMapper.delete(classStudent); + classStudentMapper.delete(new QueryWrapper<>(classStudent)); return true; } @@ -156,8 +166,8 @@ public class StudentClassServiceImpl extends BaseService imp for (ClassCourse classCourse : classCourseList) { classCourse.setClassId(classId); MyModelUtil.setDefaultValue(classCourse, "courseOrder", 0); + classCourseMapper.insert(classCourse); } - classCourseMapper.insertList(classCourseList); } /** @@ -169,11 +179,13 @@ public class StudentClassServiceImpl extends BaseService imp @Transactional(rollbackFor = Exception.class) @Override public boolean updateClassCourse(ClassCourse classCourse) { - Example e = new Example(ClassCourse.class); - e.createCriteria() - .andEqualTo("classId", classCourse.getClassId()) - .andEqualTo("courseId", classCourse.getCourseId()); - return classCourseMapper.updateByExample(classCourse, e) > 0; + ClassCourse filter = new ClassCourse(); + filter.setClassId(classCourse.getClassId()); + filter.setCourseId(classCourse.getCourseId()); + UpdateWrapper uw = + BaseService.createUpdateQueryForNullValue(classCourse, ClassCourse.class); + uw.setEntity(filter); + return classCourseMapper.update(classCourse, uw) > 0; } /** @@ -185,11 +197,10 @@ public class StudentClassServiceImpl extends BaseService imp */ @Override public ClassCourse getClassCourse(Long classId, Long courseId) { - Example e = new Example(ClassCourse.class); - e.createCriteria() - .andEqualTo("classId", classId) - .andEqualTo("courseId", courseId); - return classCourseMapper.selectOneByExample(e); + ClassCourse filter = new ClassCourse(); + filter.setClassId(classId); + filter.setCourseId(courseId); + return classCourseMapper.selectOne(new QueryWrapper<>(filter)); } /** @@ -205,7 +216,7 @@ public class StudentClassServiceImpl extends BaseService imp ClassCourse filter = new ClassCourse(); filter.setClassId(classId); filter.setCourseId(courseId); - return classCourseMapper.delete(filter) > 0; + return classCourseMapper.delete(new QueryWrapper<>(filter)) > 0; } /** @@ -219,8 +230,8 @@ public class StudentClassServiceImpl extends BaseService imp public void addClassStudentList(List classStudentList, Long classId) { for (ClassStudent classStudent : classStudentList) { classStudent.setClassId(classId); + classStudentMapper.insert(classStudent); } - classStudentMapper.insertList(classStudentList); } /** @@ -236,7 +247,7 @@ public class StudentClassServiceImpl extends BaseService imp ClassStudent filter = new ClassStudent(); filter.setClassId(classId); filter.setStudentId(studentId); - return classStudentMapper.delete(filter) > 0; + return classStudentMapper.delete(new QueryWrapper<>(filter)) > 0; } /** @@ -251,7 +262,7 @@ public class StudentClassServiceImpl extends BaseService imp String errorMessageFormat = "数据验证失败,关联的%s并不存在,请刷新后重试!"; //这里是基于字典的验证。 if (this.needToVerify(studentClass, originalStudentClass, StudentClass::getSchoolId) - && !schoolInfoService.existId(studentClass.getSchoolId())) { + && !sysDeptService.existId(studentClass.getSchoolId())) { return CallResult.error(String.format(errorMessageFormat, "所属校区")); } //这里是基于字典的验证。 @@ -261,4 +272,14 @@ public class StudentClassServiceImpl extends BaseService imp } return CallResult.ok(); } + + private StudentClass buildDefaultValue(StudentClass studentClass) { + studentClass.setClassId(idGenerator.nextLongId()); + TokenData tokenData = TokenData.takeFromRequest(); + studentClass.setCreateUserId(tokenData.getUserId()); + studentClass.setCreateTime(new Date()); + studentClass.setStatus(GlobalDeletedFlag.NORMAL); + MyModelUtil.setDefaultValue(studentClass, "finishClassHour", 0); + return studentClass; + } } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/StudentServiceImpl.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/StudentServiceImpl.java index 13f6be78..304ad3b4 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/StudentServiceImpl.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/service/impl/StudentServiceImpl.java @@ -1,9 +1,13 @@ package com.orange.demo.webadmin.app.service.impl; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.orange.demo.application.common.constant.StudentStatus; import com.orange.demo.webadmin.app.service.*; import com.orange.demo.webadmin.app.dao.*; import com.orange.demo.webadmin.app.model.*; +import com.orange.demo.webadmin.upms.service.SysDeptService; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.common.core.object.MyRelationParam; import com.orange.demo.common.core.object.CallResult; @@ -37,7 +41,7 @@ public class StudentServiceImpl extends BaseService implements St @Autowired private GradeService gradeService; @Autowired - private SchoolInfoService schoolInfoService; + private SysDeptService sysDeptService; @Autowired private IdGeneratorWrapper idGenerator; @@ -60,15 +64,24 @@ public class StudentServiceImpl extends BaseService implements St @Transactional(rollbackFor = Exception.class) @Override public Student saveNew(Student student) { - student.setStudentId(idGenerator.nextLongId()); - student.setRegisterTime(new Date()); - MyModelUtil.setDefaultValue(student, "totalCoin", 0); - MyModelUtil.setDefaultValue(student, "leftCoin", 0); - MyModelUtil.setDefaultValue(student, "status", StudentStatus.NORMAL); - studentMapper.insert(student); + studentMapper.insert(this.buildDefaultValue(student)); return student; } + /** + * 利用数据库的insertList语法,批量插入对象列表。 + * + * @param studentList 新增对象列表。 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void saveNewBatch(List studentList) { + if (CollUtil.isNotEmpty(studentList)) { + studentList.forEach(this::buildDefaultValue); + studentMapper.insertList(studentList); + } + } + /** * 更新数据对象。 * @@ -81,7 +94,8 @@ public class StudentServiceImpl extends BaseService implements St public boolean update(Student student, Student originalStudent) { student.setRegisterTime(originalStudent.getRegisterTime()); // 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。 - return studentMapper.updateByPrimaryKey(student) == 1; + UpdateWrapper uw = this.createUpdateQueryForNullValue(student, student.getStudentId()); + return studentMapper.update(student, uw) == 1; } /** @@ -93,14 +107,13 @@ public class StudentServiceImpl extends BaseService implements St @Transactional(rollbackFor = Exception.class) @Override public boolean remove(Long studentId) { - // 这里先删除主数据 - if (!this.removeById(studentId)) { + if (studentMapper.deleteById(studentId) == 0) { return false; } // 开始删除多对多父表的关联 ClassStudent classStudent = new ClassStudent(); classStudent.setStudentId(studentId); - classStudentMapper.delete(classStudent); + classStudentMapper.delete(new QueryWrapper<>(classStudent)); return true; } @@ -200,9 +213,18 @@ public class StudentServiceImpl extends BaseService implements St } //这里是基于字典的验证。 if (this.needToVerify(student, originalStudent, Student::getSchoolId) - && !schoolInfoService.existId(student.getSchoolId())) { + && !sysDeptService.existId(student.getSchoolId())) { return CallResult.error(String.format(errorMessageFormat, "所属校区")); } return CallResult.ok(); } + + private Student buildDefaultValue(Student student) { + student.setStudentId(idGenerator.nextLongId()); + student.setRegisterTime(new Date()); + MyModelUtil.setDefaultValue(student, "totalCoin", 0); + MyModelUtil.setDefaultValue(student, "leftCoin", 0); + MyModelUtil.setDefaultValue(student, "status", StudentStatus.NORMAL); + return student; + } } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/AreaCodeVo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/AreaCodeVo.java index 527f254f..caead80f 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/AreaCodeVo.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/AreaCodeVo.java @@ -1,7 +1,5 @@ package com.orange.demo.webadmin.app.vo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -10,31 +8,26 @@ import lombok.Data; * @author Jerry * @date 2020-09-24 */ -@ApiModel("行政区划实体对象") @Data public class AreaCodeVo { /** * 行政区划主键Id */ - @ApiModelProperty(value = "行政区划主键Id", required = true) private Long areaId; /** * 行政区划名称 */ - @ApiModelProperty(value = "行政区划名称") private String areaName; /** * 行政区划级别 (1: 省级别 2: 市级别 3: 区级别) */ - @ApiModelProperty(value = "行政区划级别") private Integer areaLevel; /** * 父级行政区划Id */ - @ApiModelProperty(value = "父级行政区划Id") private Long parentId; } \ No newline at end of file diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/ClassCourseVo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/ClassCourseVo.java index f7d4199b..71379034 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/ClassCourseVo.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/ClassCourseVo.java @@ -1,34 +1,28 @@ package com.orange.demo.webadmin.app.vo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** - * ClassCourseVO对象。 + * ClassCourseVO视图对象。 * * @author Jerry * @date 2020-09-24 */ -@ApiModel("ClassCourseVO实体对象") @Data public class ClassCourseVo { /** * 班级Id。 */ - @ApiModelProperty(value = "班级Id") private Long classId; /** * 课程Id。 */ - @ApiModelProperty(value = "课程Id") private Long courseId; /** * 课程顺序(数值越小越靠前)。 */ - @ApiModelProperty(value = "课程顺序(数值越小越靠前)") private Integer courseOrder; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/ClassStudentVo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/ClassStudentVo.java index e8d86963..5b42a33e 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/ClassStudentVo.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/ClassStudentVo.java @@ -1,28 +1,23 @@ package com.orange.demo.webadmin.app.vo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** - * ClassStudentVO对象。 + * ClassStudentVO视图对象。 * * @author Jerry * @date 2020-09-24 */ -@ApiModel("ClassStudentVO实体对象") @Data public class ClassStudentVo { /** * 班级Id。 */ - @ApiModelProperty(value = "班级Id") private Long classId; /** * 学生Id。 */ - @ApiModelProperty(value = "学生Id") private Long studentId; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/CourseTransStatsVo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/CourseTransStatsVo.java index bf8af87a..3888145d 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/CourseTransStatsVo.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/CourseTransStatsVo.java @@ -1,91 +1,76 @@ package com.orange.demo.webadmin.app.vo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.Map; /** - * CourseTransStatsVO对象。 + * CourseTransStatsVO视图对象。 * * @author Jerry * @date 2020-09-24 */ -@ApiModel("CourseTransStatsVO实体对象") @Data public class CourseTransStatsVo { /** * 主键Id。 */ - @ApiModelProperty(value = "主键Id") private Long statsId; /** * 统计日期。 */ - @ApiModelProperty(value = "统计日期") private Date statsDate; /** * 科目Id。 */ - @ApiModelProperty(value = "科目Id") private Integer subjectId; /** * 年级Id。 */ - @ApiModelProperty(value = "年级Id") private Integer gradeId; /** * 年级名称。 */ - @ApiModelProperty(value = "年级名称") private String gradeName; /** * 课程Id。 */ - @ApiModelProperty(value = "课程Id") private Long courseId; /** * 课程名称。 */ - @ApiModelProperty(value = "课程名称") private String courseName; /** * 学生上课次数。 */ - @ApiModelProperty(value = "学生上课次数") private Integer studentAttendCount; /** * 学生献花数量。 */ - @ApiModelProperty(value = "学生献花数量") private Integer studentFlowerAmount; /** * 学生献花次数。 */ - @ApiModelProperty(value = "学生献花次数") private Integer studentFlowerCount; /** * gradeId 字典关联数据。 */ - @ApiModelProperty(value = "gradeId 字典关联数据") private Map gradeIdDictMap; /** * subjectId 常量字典关联数据。 */ - @ApiModelProperty(value = "subjectId 常量字典关联数据") private Map subjectIdDictMap; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/CourseVo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/CourseVo.java index fbe54fc7..d9c15474 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/CourseVo.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/CourseVo.java @@ -1,7 +1,5 @@ package com.orange.demo.webadmin.app.vo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @@ -9,108 +7,91 @@ import java.util.Date; import java.util.Map; /** - * CourseVO对象。 + * CourseVO视图对象。 * * @author Jerry * @date 2020-09-24 */ -@ApiModel("CourseVO实体对象") @Data public class CourseVo { /** * 主键Id。 */ - @ApiModelProperty(value = "主键Id") private Long courseId; /** * 课程名称。 */ - @ApiModelProperty(value = "课程名称") private String courseName; /** * 课程价格。 */ - @ApiModelProperty(value = "课程价格") private BigDecimal price; /** * 课程描述。 */ - @ApiModelProperty(value = "课程描述") private String description; /** * 课程难度(0: 容易 1: 普通 2: 很难)。 */ - @ApiModelProperty(value = "课程难度(0: 容易 1: 普通 2: 很难)") private Integer difficulty; /** * 年级Id。 */ - @ApiModelProperty(value = "年级Id") private Integer gradeId; /** * 学科Id。 */ - @ApiModelProperty(value = "学科Id") private Integer subjectId; /** * 课时数量。 */ - @ApiModelProperty(value = "课时数量") private Integer classHour; /** * 多张课程图片地址。 */ - @ApiModelProperty(value = "多张课程图片地址") private String pictureUrl; /** * 创建用户Id。 */ - @ApiModelProperty(value = "创建用户Id") private Long createUserId; /** * 创建时间。 */ - @ApiModelProperty(value = "创建时间") private Date createTime; /** * 最后修改时间。 */ - @ApiModelProperty(value = "最后修改时间") private Date updateTime; /** * courseId 的多对多关联表数据对象,数据对应类型为ClassCourseVo。 */ - @ApiModelProperty(value = "courseId 的多对多关联表数据对象,数据对应类型为ClassCourseVo") private Map classCourse; /** * gradeId 字典关联数据。 */ - @ApiModelProperty(value = "gradeId 字典关联数据") private Map gradeIdDictMap; /** * difficulty 常量字典关联数据。 */ - @ApiModelProperty(value = "difficulty 常量字典关联数据") private Map difficultyDictMap; /** * subjectId 常量字典关联数据。 */ - @ApiModelProperty(value = "subjectId 常量字典关联数据") private Map subjectIdDictMap; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/GradeVo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/GradeVo.java index bf2021f6..597b1a10 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/GradeVo.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/GradeVo.java @@ -1,28 +1,23 @@ package com.orange.demo.webadmin.app.vo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** - * GradeVO对象。 + * GradeVO视图对象。 * * @author Jerry * @date 2020-09-24 */ -@ApiModel("GradeVO实体对象") @Data public class GradeVo { /** * 主键Id。 */ - @ApiModelProperty(value = "主键Id") private Integer gradeId; /** * 年级名称。 */ - @ApiModelProperty(value = "年级名称") private String gradeName; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/SchoolInfoVo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/SchoolInfoVo.java deleted file mode 100644 index 19a59ebe..00000000 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/SchoolInfoVo.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.orange.demo.webadmin.app.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Map; - -/** - * SchoolInfoVO对象。 - * - * @author Jerry - * @date 2020-09-24 - */ -@ApiModel("SchoolInfoVO实体对象") -@Data -public class SchoolInfoVo { - - /** - * 学校Id。 - */ - @ApiModelProperty(value = "学校Id") - private Long schoolId; - - /** - * 学校名称。 - */ - @ApiModelProperty(value = "学校名称") - private String schoolName; - - /** - * 所在省Id。 - */ - @ApiModelProperty(value = "所在省Id") - private Long provinceId; - - /** - * 所在城市Id。 - */ - @ApiModelProperty(value = "所在城市Id") - private Long cityId; - - /** - * provinceId 字典关联数据。 - */ - @ApiModelProperty(value = "provinceId 字典关联数据") - private Map provinceIdDictMap; - - /** - * cityId 字典关联数据。 - */ - @ApiModelProperty(value = "cityId 字典关联数据") - private Map cityIdDictMap; -} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentActionStatsVo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentActionStatsVo.java index 20b0a1ba..6c79f4e2 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentActionStatsVo.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentActionStatsVo.java @@ -1,163 +1,136 @@ package com.orange.demo.webadmin.app.vo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.Map; /** - * StudentActionStatsVO对象。 + * StudentActionStatsVO视图对象。 * * @author Jerry * @date 2020-09-24 */ -@ApiModel("StudentActionStatsVO实体对象") @Data public class StudentActionStatsVo { /** * 主键Id。 */ - @ApiModelProperty(value = "主键Id") private Long statsId; /** * 统计日期。 */ - @ApiModelProperty(value = "统计日期") private Date statsDate; /** * 统计小时。 */ - @ApiModelProperty(value = "统计小时") private Date statsMonth; /** * 年级Id。 */ - @ApiModelProperty(value = "年级Id") private Integer gradeId; /** * 学生所在省Id。 */ - @ApiModelProperty(value = "学生所在省Id") private Long provinceId; /** * 学生所在城市Id。 */ - @ApiModelProperty(value = "学生所在城市Id") private Long cityId; /** * 购课学币数量。 */ - @ApiModelProperty(value = "购课学币数量") private Integer buyCourseAmount; /** * 购买课程次数。 */ - @ApiModelProperty(value = "购买课程次数") private Integer buyCourseCount; /** * 购买视频学币数量。 */ - @ApiModelProperty(value = "购买视频学币数量") private Integer buyVideoAmount; /** * 购买视频次数。 */ - @ApiModelProperty(value = "购买视频次数") private Integer buyVideoCount; /** * 购买作业学币数量。 */ - @ApiModelProperty(value = "购买作业学币数量") private Integer buyPaperAmount; /** * 购买作业次数。 */ - @ApiModelProperty(value = "购买作业次数") private Integer buyPaperCount; /** * 购买献花数量。 */ - @ApiModelProperty(value = "购买献花数量") private Integer buyFlowerAmount; /** * 购买献花次数。 */ - @ApiModelProperty(value = "购买献花次数") private Integer buyFlowerCount; /** * 充值学币数量。 */ - @ApiModelProperty(value = "充值学币数量") private Integer rechargeCoinAmount; /** * 充值学币次数。 */ - @ApiModelProperty(value = "充值学币次数") private Integer rechargeCoinCount; /** * 线下课程上课次数。 */ - @ApiModelProperty(value = "线下课程上课次数") private Integer doCourseCount; /** * 观看视频次数。 */ - @ApiModelProperty(value = "观看视频次数") private Integer watchVideoCount; /** * 购买献花消费学币数量。 */ - @ApiModelProperty(value = "购买献花消费学币数量") private Integer watchVideoTotalSecond; /** * 做题数量。 */ - @ApiModelProperty(value = "做题数量") private Integer doExerciseCount; /** * 做题正确的数量。 */ - @ApiModelProperty(value = "做题正确的数量") private Integer doExerciseCorrectCount; /** * gradeId 字典关联数据。 */ - @ApiModelProperty(value = "gradeId 字典关联数据") private Map gradeIdDictMap; /** * provinceId 字典关联数据。 */ - @ApiModelProperty(value = "provinceId 字典关联数据") private Map provinceIdDictMap; /** * cityId 字典关联数据。 */ - @ApiModelProperty(value = "cityId 字典关联数据") private Map cityIdDictMap; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentActionTransVo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentActionTransVo.java index c79e99e0..6dc1ccc0 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentActionTransVo.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentActionTransVo.java @@ -1,133 +1,111 @@ package com.orange.demo.webadmin.app.vo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.Map; /** - * StudentActionTransVO对象。 + * StudentActionTransVO视图对象。 * * @author Jerry * @date 2020-09-24 */ -@ApiModel("StudentActionTransVO实体对象") @Data public class StudentActionTransVo { /** * 主键Id。 */ - @ApiModelProperty(value = "主键Id") private Long transId; /** * 学生Id。 */ - @ApiModelProperty(value = "学生Id") private Long studentId; /** * 学生名称。 */ - @ApiModelProperty(value = "学生名称") private String studentName; /** * 学生校区。 */ - @ApiModelProperty(value = "学生校区") private Long schoolId; /** * 年级Id。 */ - @ApiModelProperty(value = "年级Id") private Integer gradeId; /** * 行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)。 */ - @ApiModelProperty(value = "行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)") private Integer actionType; /** * 设备类型(0: iOS 1: Android 2: PC)。 */ - @ApiModelProperty(value = "设备类型(0: iOS 1: Android 2: PC)") private Integer deviceType; /** * 看视频秒数。 */ - @ApiModelProperty(value = "看视频秒数") private Integer watchVideoSeconds; /** * 购买献花数量。 */ - @ApiModelProperty(value = "购买献花数量") private Integer flowerCount; /** * 购买作业数量。 */ - @ApiModelProperty(value = "购买作业数量") private Integer paperCount; /** * 购买视频数量。 */ - @ApiModelProperty(value = "购买视频数量") private Integer videoCount; /** * 购买课程数量。 */ - @ApiModelProperty(value = "购买课程数量") private Integer courseCount; /** * 充值学币数量。 */ - @ApiModelProperty(value = "充值学币数量") private Integer coinCount; /** * 做题是否正确标记。 */ - @ApiModelProperty(value = "做题是否正确标记") private Integer exerciseCorrectFlag; /** * 发生时间。 */ - @ApiModelProperty(value = "发生时间") private Date createTime; /** * schoolId 字典关联数据。 */ - @ApiModelProperty(value = "schoolId 字典关联数据") private Map schoolIdDictMap; /** * gradeId 字典关联数据。 */ - @ApiModelProperty(value = "gradeId 字典关联数据") private Map gradeIdDictMap; /** * actionType 常量字典关联数据。 */ - @ApiModelProperty(value = "actionType 常量字典关联数据") private Map actionTypeDictMap; /** * deviceType 常量字典关联数据。 */ - @ApiModelProperty(value = "deviceType 常量字典关联数据") private Map deviceTypeDictMap; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentClassVo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentClassVo.java index 0e5ddc99..d64a595c 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentClassVo.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentClassVo.java @@ -1,85 +1,71 @@ package com.orange.demo.webadmin.app.vo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.Map; /** - * StudentClassVO对象。 + * StudentClassVO视图对象。 * * @author Jerry * @date 2020-09-24 */ -@ApiModel("StudentClassVO实体对象") @Data public class StudentClassVo { /** * 班级Id。 */ - @ApiModelProperty(value = "班级Id") private Long classId; /** * 班级名称。 */ - @ApiModelProperty(value = "班级名称") private String className; /** * 学校Id。 */ - @ApiModelProperty(value = "学校Id") private Long schoolId; /** * 学生班长Id。 */ - @ApiModelProperty(value = "学生班长Id") private Long leaderId; /** * 已完成课时数量。 */ - @ApiModelProperty(value = "已完成课时数量") private Integer finishClassHour; /** * 班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)。 */ - @ApiModelProperty(value = "班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)") private Integer classLevel; /** * 创建用户。 */ - @ApiModelProperty(value = "创建用户") private Long createUserId; /** * 班级创建时间。 */ - @ApiModelProperty(value = "班级创建时间") private Date createTime; /** * schoolId 字典关联数据。 */ - @ApiModelProperty(value = "schoolId 字典关联数据") private Map schoolIdDictMap; /** * leaderId 字典关联数据。 */ - @ApiModelProperty(value = "leaderId 字典关联数据") private Map leaderIdDictMap; /** * classLevel 常量字典关联数据。 */ - @ApiModelProperty(value = "classLevel 常量字典关联数据") private Map classLevelDictMap; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentVo.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentVo.java index a12c9120..f935e004 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentVo.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/app/vo/StudentVo.java @@ -1,157 +1,131 @@ package com.orange.demo.webadmin.app.vo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.Map; /** - * StudentVO对象。 + * StudentVO视图对象。 * * @author Jerry * @date 2020-09-24 */ -@ApiModel("StudentVO实体对象") @Data public class StudentVo { /** * 学生Id。 */ - @ApiModelProperty(value = "学生Id") private Long studentId; /** * 登录手机。 */ - @ApiModelProperty(value = "登录手机") private String loginMobile; /** * 学生姓名。 */ - @ApiModelProperty(value = "学生姓名") private String studentName; /** * 所在省份Id。 */ - @ApiModelProperty(value = "所在省份Id") private Long provinceId; /** * 所在城市Id。 */ - @ApiModelProperty(value = "所在城市Id") private Long cityId; /** * 区县Id。 */ - @ApiModelProperty(value = "区县Id") private Long districtId; /** * 学生性别 (0: 女生 1: 男生)。 */ - @ApiModelProperty(value = "学生性别 (0: 女生 1: 男生)") private Integer gender; /** * 生日。 */ - @ApiModelProperty(value = "生日") private Date birthday; /** * 经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)。 */ - @ApiModelProperty(value = "经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)") private Integer experienceLevel; /** * 总共充值学币数量。 */ - @ApiModelProperty(value = "总共充值学币数量") private Integer totalCoin; /** * 可用学币数量。 */ - @ApiModelProperty(value = "可用学币数量") private Integer leftCoin; /** * 年级Id。 */ - @ApiModelProperty(value = "年级Id") private Integer gradeId; /** * 校区Id。 */ - @ApiModelProperty(value = "校区Id") private Long schoolId; /** * 注册时间。 */ - @ApiModelProperty(value = "注册时间") private Date registerTime; /** * 学生状态 (0: 正常 1: 锁定 2: 注销)。 */ - @ApiModelProperty(value = "学生状态 (0: 正常 1: 锁定 2: 注销)") private Integer status; /** * provinceId 字典关联数据。 */ - @ApiModelProperty(value = "provinceId 字典关联数据") private Map provinceIdDictMap; /** * cityId 字典关联数据。 */ - @ApiModelProperty(value = "cityId 字典关联数据") private Map cityIdDictMap; /** * districtId 字典关联数据。 */ - @ApiModelProperty(value = "districtId 字典关联数据") private Map districtIdDictMap; /** * gradeId 字典关联数据。 */ - @ApiModelProperty(value = "gradeId 字典关联数据") private Map gradeIdDictMap; /** * schoolId 字典关联数据。 */ - @ApiModelProperty(value = "schoolId 字典关联数据") private Map schoolIdDictMap; /** * gender 常量字典关联数据。 */ - @ApiModelProperty(value = "gender 常量字典关联数据") private Map genderDictMap; /** * experienceLevel 常量字典关联数据。 */ - @ApiModelProperty(value = "experienceLevel 常量字典关联数据") private Map experienceLevelDictMap; /** * status 常量字典关联数据。 */ - @ApiModelProperty(value = "status 常量字典关联数据") private Map statusDictMap; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/config/DataSourceConfig.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/config/DataSourceConfig.java index 04611585..a28bad7d 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/config/DataSourceConfig.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/config/DataSourceConfig.java @@ -6,7 +6,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.transaction.annotation.EnableTransactionManagement; -import tk.mybatis.spring.annotation.MapperScan; +import org.mybatis.spring.annotation.MapperScan; import javax.sql.DataSource; diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/LoginController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/LoginController.java index 500e9609..5d670e0f 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/LoginController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/LoginController.java @@ -3,10 +3,6 @@ package com.orange.demo.webadmin.upms.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; -import com.github.xiaoymin.knife4j.annotations.ApiSupport; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import lombok.extern.slf4j.Slf4j; import com.orange.demo.webadmin.config.ApplicationConfig; import com.orange.demo.webadmin.upms.service.*; @@ -20,6 +16,8 @@ import com.orange.demo.common.core.constant.ErrorCodeEnum; import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.redis.cache.SessionCacheHelper; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import org.redisson.api.RBucket; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; @@ -37,8 +35,6 @@ import java.util.concurrent.TimeUnit; * @author Jerry * @date 2020-09-24 */ -@ApiSupport(order = 1) -@Api(tags = "用户登录接口") @Slf4j @RestController @RequestMapping("/admin/upms/login") @@ -53,6 +49,8 @@ public class LoginController { @Autowired private SysPermService sysPermService; @Autowired + private SysDataPermService sysDataPermService; + @Autowired private ApplicationConfig appConfig; @Autowired private RedissonClient redissonClient; @@ -68,13 +66,8 @@ public class LoginController { * @param password 密码。 * @return 应答结果对象,其中包括JWT的Token数据,以及菜单列表。 */ - @ApiImplicitParams({ - // 这里包含密码密文,仅用于方便开发期间的接口测试,集成测试和发布阶段,需要将当前注解去掉。 - // 如果您重新生成了公钥和私钥,请替换password的缺省值。 - @ApiImplicitParam(name = "loginName", defaultValue = "admin"), - @ApiImplicitParam(name = "password", defaultValue = "IP3ccke3GhH45iGHB5qP9p7iZw6xUyj28Ju10rnBiPKOI35sc%2BjI7%2FdsjOkHWMfUwGYGfz8ik31HC2Ruk%2Fhkd9f6RPULTHj7VpFdNdde2P9M4mQQnFBAiPM7VT9iW3RyCtPlJexQ3nAiA09OqG%2F0sIf1kcyveSrulxembARDbDo%3D") - }) @NoAuthInterface + @OperationLog(type = SysOperationLogType.LOGIN, saveResponse = false) @PostMapping("/doLogin") public ResponseResult doLogin( @MyRequestBody String loginName, @MyRequestBody String password) throws Exception { @@ -94,6 +87,8 @@ public class LoginController { errorMessage = "登录失败,用户账号被锁定!"; return ResponseResult.error(ErrorCodeEnum.INVALID_USER_STATUS, errorMessage); } + String patternKey = RedisKeyUtil.getSessionIdPrefix(user.getLoginName(), MyCommonUtil.getDeviceType()) + "*"; + redissonClient.getKeys().deleteByPatternAsync(patternKey); JSONObject jsonData = this.buildLoginData(user); return ResponseResult.success(jsonData); } @@ -103,12 +98,14 @@ public class LoginController { * * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.LOGOUT) @PostMapping("/doLogout") public ResponseResult doLogout() { TokenData tokenData = TokenData.takeFromRequest(); String sessionIdKey = RedisKeyUtil.makeSessionIdKey(tokenData.getSessionId()); redissonClient.getBucket(sessionIdKey).delete(); sysPermService.removeUserSysPermCache(tokenData.getSessionId()); + sysDataPermService.removeDataPermCache(tokenData.getSessionId()); cacheHelper.removeAllSessionCache(tokenData.getSessionId()); return ResponseResult.success(); } @@ -153,7 +150,7 @@ public class LoginController { @PostMapping("/changePassword") public ResponseResult changePassword( @MyRequestBody String oldPass, @MyRequestBody String newPass) throws Exception { - if (MyCommonUtil.existBlankArgument(oldPass, oldPass)) { + if (MyCommonUtil.existBlankArgument(newPass, oldPass)) { return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); } TokenData tokenData = TokenData.takeFromRequest(); @@ -187,6 +184,7 @@ public class LoginController { TokenData tokenData = new TokenData(); tokenData.setSessionId(sessionId); tokenData.setUserId(user.getUserId()); + tokenData.setDeptId(user.getDeptId()); tokenData.setLoginName(user.getLoginName()); tokenData.setShowName(user.getShowName()); tokenData.setIsAdmin(isAdmin); @@ -214,6 +212,7 @@ public class LoginController { if (user.getUserType() != SysUserType.TYPE_ADMIN) { // 缓存用户的权限资源 sysPermService.putUserSysPermCache(sessionId, user.getUserId()); + sysDataPermService.putDataPermCache(sessionId, user.getUserId(), user.getDeptId()); } return jsonData; } diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/LoginUserController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/LoginUserController.java index d0ac05c3..7c8d7326 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/LoginUserController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/LoginUserController.java @@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSON; import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.RedisKeyUtil; -import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RBucket; import org.redisson.api.RedissonClient; @@ -23,7 +22,6 @@ import java.util.*; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "在线用户接口") @Slf4j @RestController @RequestMapping("/admin/upms/loginUser") diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysDataPermController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysDataPermController.java new file mode 100644 index 00000000..444ee64b --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysDataPermController.java @@ -0,0 +1,288 @@ +package com.orange.demo.webadmin.upms.controller; + +import com.alibaba.fastjson.TypeReference; +import com.github.pagehelper.Page; +import com.github.pagehelper.page.PageMethod; +import lombok.extern.slf4j.Slf4j; +import com.orange.demo.webadmin.upms.dto.SysDataPermDto; +import com.orange.demo.webadmin.upms.dto.SysUserDto; +import com.orange.demo.webadmin.upms.vo.SysDataPermVo; +import com.orange.demo.webadmin.upms.vo.SysUserVo; +import com.orange.demo.webadmin.upms.model.SysDataPerm; +import com.orange.demo.webadmin.upms.model.SysUser; +import com.orange.demo.webadmin.upms.service.SysDataPermService; +import com.orange.demo.webadmin.upms.service.SysUserService; +import com.orange.demo.common.core.validator.UpdateGroup; +import com.orange.demo.common.core.constant.ErrorCodeEnum; +import com.orange.demo.common.core.object.*; +import com.orange.demo.common.core.util.*; +import com.orange.demo.common.core.annotation.MyRequestBody; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.groups.Default; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 数据权限接口控制器对象。 + * + * @author Jerry + * @date 2020-09-24 + */ +@Slf4j +@RestController +@RequestMapping("/admin/upms/sysDataPerm") +public class SysDataPermController { + + @Autowired + private SysDataPermService sysDataPermService; + @Autowired + private SysUserService sysUserService; + + /** + * 添加新数据权限操作。 + * + * @param sysDataPermDto 新增对象。 + * @param deptIdListString 数据权限关联的部门Id列表,多个之间逗号分隔。 + * @return 应答结果对象。包含新增数据权限对象的主键Id。 + */ + @OperationLog(type = SysOperationLogType.ADD) + @PostMapping("/add") + public ResponseResult add( + @MyRequestBody SysDataPermDto sysDataPermDto, @MyRequestBody String deptIdListString) { + String errorMessage = MyCommonUtil.getModelValidationError(sysDataPermDto); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); + } + SysDataPerm sysDataPerm = MyModelUtil.copyTo(sysDataPermDto, SysDataPerm.class); + CallResult result = sysDataPermService.verifyRelatedData(sysDataPerm, deptIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); + } + Set deptIdSet = null; + if (result.getData() != null) { + deptIdSet = result.getData().getObject("deptIdSet", new TypeReference>(){}); + } + sysDataPermService.saveNew(sysDataPerm, deptIdSet); + return ResponseResult.success(sysDataPerm.getDataPermId()); + } + + /** + * 更新数据权限操作。 + * + * @param sysDataPermDto 更新的数据权限对象。 + * @param deptIdListString 数据权限关联的部门Id列表,多个之间逗号分隔。 + * @return 应答结果对象。 + */ + @OperationLog(type = SysOperationLogType.UPDATE) + @PostMapping("/update") + public ResponseResult update( + @MyRequestBody SysDataPermDto sysDataPermDto, @MyRequestBody String deptIdListString) { + String errorMessage = MyCommonUtil.getModelValidationError(sysDataPermDto, Default.class, UpdateGroup.class); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); + } + SysDataPerm originalSysDataPerm = sysDataPermService.getById(sysDataPermDto.getDataPermId()); + if (originalSysDataPerm == null) { + errorMessage = "数据验证失败,当前数据权限并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + SysDataPerm sysDataPerm = MyModelUtil.copyTo(sysDataPermDto, SysDataPerm.class); + CallResult result = sysDataPermService.verifyRelatedData(sysDataPerm, deptIdListString); + if (!result.isSuccess()) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); + } + Set deptIdSet = null; + if (result.getData() != null) { + deptIdSet = result.getData().getObject("deptIdSet", new TypeReference>(){}); + } + if (!sysDataPermService.update(sysDataPerm, originalSysDataPerm, deptIdSet)) { + errorMessage = "更新失败,数据不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); + } + + /** + * 删除数据权限操作。 + * + * @param dataPermId 待删除数据权限主键Id。 + * @return 应答数据结果。 + */ + @OperationLog(type = SysOperationLogType.DELETE) + @PostMapping("/delete") + public ResponseResult delete(@MyRequestBody Long dataPermId) { + if (MyCommonUtil.existBlankArgument(dataPermId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (!sysDataPermService.remove(dataPermId)) { + String errorMessage = "数据操作失败,数据权限不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); + } + + /** + * 查看数据权限列表。 + * + * @param sysDataPermDtoFilter 数据权限查询过滤对象。 + * @param orderParam 排序参数。 + * @param pageParam 分页参数。 + * @return 应答结果对象。包含数据权限列表。 + */ + @PostMapping("/list") + public ResponseResult> list( + @MyRequestBody SysDataPermDto sysDataPermDtoFilter, + @MyRequestBody MyOrderParam orderParam, + @MyRequestBody MyPageParam pageParam) { + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + SysDataPerm filter = MyModelUtil.copyTo(sysDataPermDtoFilter, SysDataPerm.class); + String orderBy = MyOrderParam.buildOrderBy(orderParam, SysDataPerm.class); + List dataPermList = sysDataPermService.getSysDataPermList(filter, orderBy); + List dataPermVoList = MyModelUtil.copyCollectionTo(dataPermList, SysDataPermVo.class); + long totalCount = 0L; + if (dataPermList instanceof Page) { + totalCount = ((Page) dataPermList).getTotal(); + } + return ResponseResult.success(MyPageUtil.makeResponseData(dataPermVoList, totalCount)); + } + + /** + * 查看单条数据权限详情。 + * + * @param dataPermId 数据权限的主键Id。 + * @return 应答结果对象,包含数据权限的详情。 + */ + @GetMapping("/view") + public ResponseResult view(@RequestParam Long dataPermId) { + if (MyCommonUtil.existBlankArgument(dataPermId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + SysDataPerm dataPerm = sysDataPermService.getByIdWithRelation(dataPermId, MyRelationParam.full()); + if (dataPerm == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + SysDataPermVo dataPermVo = MyModelUtil.copyTo(dataPerm, SysDataPermVo.class); + return ResponseResult.success(dataPermVo); + } + + /** + * 获取不包含指定数据权限Id的用户列表。 + * 用户和数据权限是多对多关系,当前接口将返回没有赋值指定DataPermId的用户列表。可用于给数据权限添加新用户。 + * + * @param dataPermId 数据权限主键Id。 + * @param sysUserDtoFilter 用户数据的过滤对象。 + * @param orderParam 排序参数。 + * @param pageParam 分页参数。 + * @return 应答结果对象,包含用户列表数据。 + */ + @PostMapping("/listNotInDataPermUser") + public ResponseResult> listNotInDataPermUser( + @MyRequestBody Long dataPermId, + @MyRequestBody SysUserDto sysUserDtoFilter, + @MyRequestBody MyOrderParam orderParam, + @MyRequestBody MyPageParam pageParam) { + ResponseResult verifyResult = this.doDataPermUserVerify(dataPermId); + if (!verifyResult.isSuccess()) { + return ResponseResult.errorFrom(verifyResult); + } + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + SysUser filter = MyModelUtil.copyTo(sysUserDtoFilter, SysUser.class); + String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); + List userList = + sysUserService.getNotInSysUserListByDataPermId(dataPermId, filter, orderBy); + List userVoList = MyModelUtil.copyCollectionTo(userList, SysUserVo.class); + return ResponseResult.success(MyPageUtil.makeResponseData(userVoList)); + } + + /** + * 拥有指定数据权限的用户列表。 + * + * @param dataPermId 数据权限Id。 + * @param sysUserDtoFilter 用户过滤对象。 + * @param orderParam 排序参数。 + * @param pageParam 分页参数。 + * @return 应答结果对象,包含用户列表数据。 + */ + @PostMapping("/listDataPermUser") + public ResponseResult> listDataPermUser( + @MyRequestBody Long dataPermId, + @MyRequestBody SysUserDto sysUserDtoFilter, + @MyRequestBody MyOrderParam orderParam, + @MyRequestBody MyPageParam pageParam) { + ResponseResult verifyResult = this.doDataPermUserVerify(dataPermId); + if (!verifyResult.isSuccess()) { + return ResponseResult.errorFrom(verifyResult); + } + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + SysUser filter = MyModelUtil.copyTo(sysUserDtoFilter, SysUser.class); + String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); + List userList = + sysUserService.getSysUserListByDataPermId(dataPermId, filter, orderBy); + List userVoList = MyModelUtil.copyCollectionTo(userList, SysUserVo.class); + return ResponseResult.success(MyPageUtil.makeResponseData(userVoList)); + } + + private ResponseResult doDataPermUserVerify(Long dataPermId) { + if (MyCommonUtil.existBlankArgument(dataPermId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (!sysDataPermService.existId(dataPermId)) { + return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); + } + return ResponseResult.success(); + } + + /** + * 为指定数据权限添加用户列表。该操作可同时给一批用户赋值数据权限,并在同一事务内完成。 + * + * @param dataPermId 数据权限主键Id。 + * @param userIdListString 逗号分隔的用户Id列表。 + * @return 应答结果对象。 + */ + @OperationLog(type = SysOperationLogType.ADD_M2M) + @PostMapping("/addDataPermUser") + public ResponseResult addDataPermUser( + @MyRequestBody Long dataPermId, @MyRequestBody String userIdListString) { + if (MyCommonUtil.existBlankArgument(dataPermId, userIdListString)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + Set userIdSet = + Arrays.stream(userIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); + if (!sysDataPermService.existId(dataPermId) + || !sysUserService.existUniqueKeyList("userId", userIdSet)) { + return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); + } + sysDataPermService.addDataPermUserList(dataPermId, userIdSet); + return ResponseResult.success(); + } + + /** + * 为指定用户移除指定数据权限。 + * + * @param dataPermId 指定数据权限主键Id。 + * @param userId 指定用户主键Id。 + * @return 应答数据结果。 + */ + @OperationLog(type = SysOperationLogType.DELETE_M2M) + @PostMapping("/deleteDataPermUser") + public ResponseResult deleteDataPermUser( + @MyRequestBody Long dataPermId, @MyRequestBody Long userId) { + if (MyCommonUtil.existBlankArgument(dataPermId, userId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + if (!sysDataPermService.removeDataPermUser(dataPermId, userId)) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(); + } +} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysDeptController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysDeptController.java new file mode 100644 index 00000000..ae1bc8ba --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysDeptController.java @@ -0,0 +1,217 @@ +package com.orange.demo.webadmin.upms.controller; + +import cn.jimmyshi.beanquery.BeanQuery; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; +import com.github.pagehelper.page.PageMethod; +import com.orange.demo.webadmin.upms.vo.*; +import com.orange.demo.webadmin.upms.dto.*; +import com.orange.demo.webadmin.upms.model.*; +import com.orange.demo.webadmin.upms.service.*; +import com.orange.demo.common.core.object.*; +import com.orange.demo.common.core.util.*; +import com.orange.demo.common.core.constant.*; +import com.orange.demo.common.core.annotation.MyRequestBody; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +/** + * 部门管理操作控制器类。 + * + * @author Jerry + * @date 2020-09-24 + */ +@Slf4j +@RestController +@RequestMapping("/admin/upms/sysDept") +public class SysDeptController { + + @Autowired + private SysDeptService sysDeptService; + + /** + * 新增部门管理数据。 + * + * @param sysDeptDto 新增对象。 + * @return 应答结果对象,包含新增对象主键Id。 + */ + @OperationLog(type = SysOperationLogType.ADD) + @PostMapping("/add") + public ResponseResult add(@MyRequestBody SysDeptDto sysDeptDto) { + String errorMessage = MyCommonUtil.getModelValidationError(sysDeptDto, false); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); + } + SysDept sysDept = MyModelUtil.copyTo(sysDeptDto, SysDept.class); + // 验证父Id的数据合法性 + SysDept parentSysDept = null; + if (MyCommonUtil.isNotBlankOrNull(sysDept.getParentId())) { + parentSysDept = sysDeptService.getById(sysDept.getParentId()); + if (parentSysDept == null) { + errorMessage = "数据验证失败,关联的父节点并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_PARENT_ID_NOT_EXIST, errorMessage); + } + } + sysDept = sysDeptService.saveNew(sysDept, parentSysDept); + return ResponseResult.success(sysDept.getDeptId()); + } + + /** + * 更新部门管理数据。 + * + * @param sysDeptDto 更新对象。 + * @return 应答结果对象。 + */ + @OperationLog(type = SysOperationLogType.UPDATE) + @PostMapping("/update") + public ResponseResult update(@MyRequestBody SysDeptDto sysDeptDto) { + String errorMessage = MyCommonUtil.getModelValidationError(sysDeptDto, true); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); + } + SysDept sysDept = MyModelUtil.copyTo(sysDeptDto, SysDept.class); + SysDept originalSysDept = sysDeptService.getById(sysDept.getDeptId()); + if (originalSysDept == null) { + // NOTE: 修改下面方括号中的话述 + errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + // 验证父Id的数据合法性 + if (MyCommonUtil.isNotBlankOrNull(sysDept.getParentId()) + && ObjectUtils.notEqual(sysDept.getParentId(), originalSysDept.getParentId())) { + SysDept parentSysDept = sysDeptService.getById(sysDept.getParentId()); + if (parentSysDept == null) { + // NOTE: 修改下面方括号中的话述 + errorMessage = "数据验证失败,关联的 [父节点] 并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_PARENT_ID_NOT_EXIST, errorMessage); + } + } + if (!sysDeptService.update(sysDept, originalSysDept)) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(); + } + + /** + * 删除部门管理数据。 + * + * @param deptId 删除对象主键Id。 + * @return 应答结果对象。 + */ + @OperationLog(type = SysOperationLogType.DELETE) + @PostMapping("/delete") + public ResponseResult delete(@MyRequestBody Long deptId) { + String errorMessage; + if (MyCommonUtil.existBlankArgument(deptId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + // 验证关联Id的数据合法性 + SysDept originalSysDept = sysDeptService.getById(deptId); + if (originalSysDept == null) { + // NOTE: 修改下面方括号中的话述 + errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + if (sysDeptService.hasChildren(deptId)) { + // NOTE: 修改下面方括号中的话述 + errorMessage = "数据验证失败,当前 [对象存在子对象] ,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.HAS_CHILDREN_DATA, errorMessage); + } + if (sysDeptService.hasChildrenUser(deptId)) { + errorMessage = "数据验证失败,请先移除部门用户数据后,再删除当前部门!"; + return ResponseResult.error(ErrorCodeEnum.HAS_CHILDREN_DATA, errorMessage); + } + if (!sysDeptService.remove(deptId)) { + errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); + } + return ResponseResult.success(); + } + + /** + * 列出符合过滤条件的部门管理列表。 + * + * @param sysDeptDtoFilter 过滤对象。 + * @param orderParam 排序参数。 + * @param pageParam 分页参数。 + * @return 应答结果对象,包含查询结果集。 + */ + @PostMapping("/list") + public ResponseResult> list( + @MyRequestBody SysDeptDto sysDeptDtoFilter, + @MyRequestBody MyOrderParam orderParam, + @MyRequestBody MyPageParam pageParam) { + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + SysDept sysDeptFilter = MyModelUtil.copyTo(sysDeptDtoFilter, SysDept.class); + String orderBy = MyOrderParam.buildOrderBy(orderParam, SysDept.class); + List sysDeptList = sysDeptService.getSysDeptListWithRelation(sysDeptFilter, orderBy); + return ResponseResult.success(MyPageUtil.makeResponseData(sysDeptList, SysDept.INSTANCE)); + } + + /** + * 查看指定部门管理对象详情。 + * + * @param deptId 指定对象主键Id。 + * @return 应答结果对象,包含对象详情。 + */ + @GetMapping("/view") + public ResponseResult view(@RequestParam Long deptId) { + if (MyCommonUtil.existBlankArgument(deptId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + SysDept sysDept = sysDeptService.getByIdWithRelation(deptId, MyRelationParam.full()); + if (sysDept == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + SysDeptVo sysDeptVo = SysDept.INSTANCE.fromModel(sysDept); + return ResponseResult.success(sysDeptVo); + } + + /** + * 以字典形式返回全部部门管理数据集合。字典的键值为[deptId, deptName]。 + * 白名单接口,登录用户均可访问。 + * + * @param filter 过滤对象。 + * @return 应答结果对象,包含的数据为 List>,map中包含两条记录,key的值分别是id和name,value对应具体数据。 + */ + @GetMapping("/listDict") + public ResponseResult>> listDict(SysDept filter) { + List resultList = sysDeptService.getListByFilter(filter); + return ResponseResult.success(BeanQuery.select( + "parentId as parentId", "deptId as id", "deptName as name").executeFrom(resultList)); + } + + /** + * 根据字典Id集合,获取查询后的字典数据。 + * + * @param dictIds 字典Id集合。 + * @return 应答结果对象,包含字典形式的数据集合。 + */ + @PostMapping("/listDictByIds") + public ResponseResult>> listDictByIds( + @MyRequestBody(elementType = Long.class) List dictIds) { + List resultList = sysDeptService.getInList(new HashSet<>(dictIds)); + return ResponseResult.success(BeanQuery.select( + "parentId as parentId", "deptId as id", "deptName as name").executeFrom(resultList)); + } + + /** + * 根据父主键Id,以字典的形式返回其下级数据列表。 + * 白名单接口,登录用户均可访问。 + * + * @param parentId 父主键Id。 + * @return 按照字典的形式返回下级数据列表。 + */ + @GetMapping("/listDictByParentId") + public ResponseResult>> listDictByParentId(@RequestParam(required = false) Long parentId) { + List resultList = sysDeptService.getListByParentId("parentId", parentId); + return ResponseResult.success(BeanQuery.select( + "parentId as parentId", "deptId as id", "deptName as name").executeFrom(resultList)); + } +} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysMenuController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysMenuController.java index 417a69cd..57414b50 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysMenuController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysMenuController.java @@ -1,8 +1,7 @@ package com.orange.demo.webadmin.upms.controller; import cn.hutool.core.util.ObjectUtil; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; +import com.alibaba.fastjson.TypeReference; import lombok.extern.slf4j.Slf4j; import com.orange.demo.webadmin.upms.dto.SysMenuDto; import com.orange.demo.webadmin.upms.vo.SysMenuVo; @@ -14,6 +13,8 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.annotation.MyRequestBody; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -26,7 +27,6 @@ import java.util.*; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "菜单管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysMenu") @@ -42,8 +42,7 @@ public class SysMenuController { * @param permCodeIdListString 与当前菜单Id绑定的权限Id列表,多个权限之间逗号分隔。 * @return 应答结果对象,包含新增菜单的主键Id。 */ - @SuppressWarnings("unchecked") - @ApiOperationSupport(ignoreParameters = {"sysMenuDto.menuId"}) + @OperationLog(type = SysOperationLogType.ADD) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysMenuDto sysMenuDto, @MyRequestBody String permCodeIdListString) { @@ -69,7 +68,7 @@ public class SysMenuController { } Set permCodeIdSet = null; if (result.getData() != null) { - permCodeIdSet = (Set) result.getData().get("permCodeIdSet"); + permCodeIdSet = result.getData().getObject("permCodeIdSet", new TypeReference>(){}); } sysMenuService.saveNew(sysMenu, permCodeIdSet); return ResponseResult.success(sysMenu.getMenuId()); @@ -82,7 +81,7 @@ public class SysMenuController { * @param permCodeIdListString 与当前菜单Id绑定的权限Id列表,多个权限之间逗号分隔。 * @return 应答结果对象。 */ - @SuppressWarnings("unchecked") + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/update") public ResponseResult update( @MyRequestBody SysMenuDto sysMenuDto, @MyRequestBody String permCodeIdListString) { @@ -117,7 +116,7 @@ public class SysMenuController { } Set permCodeIdSet = null; if (result.getData() != null) { - permCodeIdSet = (Set) result.getData().get("permCodeIdSet"); + permCodeIdSet = result.getData().getObject("permCodeIdSet", new TypeReference>(){}); } if (!sysMenuService.update(sysMenu, originalSysMenu, permCodeIdSet)) { errorMessage = "数据验证失败,当前权限字并不存在,请刷新后重试!"; @@ -132,6 +131,7 @@ public class SysMenuController { * @param menuId 指定菜单主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE) @PostMapping("/delete") public ResponseResult delete(@MyRequestBody Long menuId) { if (MyCommonUtil.existBlankArgument(menuId)) { diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysOperationLogController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysOperationLogController.java new file mode 100644 index 00000000..23918ed6 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysOperationLogController.java @@ -0,0 +1,59 @@ +package com.orange.demo.webadmin.upms.controller; + +import com.github.pagehelper.Page; +import com.github.pagehelper.page.PageMethod; +import com.orange.demo.common.core.annotation.MyRequestBody; +import com.orange.demo.common.core.object.*; +import com.orange.demo.common.core.util.MyModelUtil; +import com.orange.demo.common.core.util.MyPageUtil; +import com.orange.demo.common.log.model.SysOperationLog; +import com.orange.demo.common.log.service.SysOperationLogService; +import com.orange.demo.webadmin.upms.dto.SysOperationLogDto; +import com.orange.demo.webadmin.upms.vo.SysOperationLogVo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 操作日志接口控制器对象。 + * + * @author Jerry + * @date 2020-09-24 + */ +@Slf4j +@RestController +@RequestMapping("/admin/upms/sysOperationLog") +public class SysOperationLogController { + + @Autowired + private SysOperationLogService operationLogService; + + /** + * 数据权限列表。 + * + * @param sysOperationLogDtoFilter 操作日志查询过滤对象。 + * @param orderParam 排序参数。 + * @param pageParam 分页参数。 + * @return 应答结果对象。包含操作日志列表。 + */ + @PostMapping("/list") + public ResponseResult> list( + @MyRequestBody SysOperationLogDto sysOperationLogDtoFilter, + @MyRequestBody MyOrderParam orderParam, + @MyRequestBody MyPageParam pageParam) { + if (pageParam != null) { + PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); + } + SysOperationLog filter = MyModelUtil.copyTo(sysOperationLogDtoFilter, SysOperationLog.class); + String orderBy = MyOrderParam.buildOrderBy(orderParam, SysOperationLog.class); + List operationLogList = operationLogService.getSysOperationLogList(filter, orderBy); + List operationLogVoList = MyModelUtil.copyCollectionTo(operationLogList, SysOperationLogVo.class); + long totalCount = 0L; + if (operationLogList instanceof Page) { + totalCount = ((Page) operationLogList).getTotal(); + } + return ResponseResult.success(MyPageUtil.makeResponseData(operationLogVoList, totalCount)); + } +} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermCodeController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermCodeController.java index 3f5dc25b..8542dabb 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermCodeController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermCodeController.java @@ -1,7 +1,6 @@ package com.orange.demo.webadmin.upms.controller; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; +import com.alibaba.fastjson.TypeReference; import lombok.extern.slf4j.Slf4j; import com.orange.demo.webadmin.upms.dto.SysPermCodeDto; import com.orange.demo.webadmin.upms.vo.SysPermCodeVo; @@ -12,6 +11,8 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.annotation.MyRequestBody; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; @@ -25,7 +26,6 @@ import java.util.*; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "权限字管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPermCode") @@ -41,8 +41,7 @@ public class SysPermCodeController { * @param permIdListString 与当前权限Id绑定的权限资源Id列表,多个权限资源之间逗号分隔。 * @return 应答结果对象,包含新增权限字的主键Id。 */ - @SuppressWarnings("unchecked") - @ApiOperationSupport(ignoreParameters = {"sysPermCodeDto.permCodeId"}) + @OperationLog(type = SysOperationLogType.ADD) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysPermCodeDto sysPermCodeDto, @MyRequestBody String permIdListString) { @@ -57,7 +56,7 @@ public class SysPermCodeController { } Set permIdSet = null; if (result.getData() != null) { - permIdSet = (Set) result.getData().get("permIdSet"); + permIdSet = result.getData().getObject("permIdSet", new TypeReference>(){}); } sysPermCode = sysPermCodeService.saveNew(sysPermCode, permIdSet); return ResponseResult.success(sysPermCode.getPermCodeId()); @@ -70,7 +69,7 @@ public class SysPermCodeController { * @param permIdListString 与当前权限Id绑定的权限资源Id列表,多个权限资源之间逗号分隔。 * @return 应答结果对象。 */ - @SuppressWarnings("unchecked") + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/update") public ResponseResult update( @MyRequestBody SysPermCodeDto sysPermCodeDto, @MyRequestBody String permIdListString) { @@ -90,7 +89,7 @@ public class SysPermCodeController { } Set permIdSet = null; if (result.getData() != null) { - permIdSet = (Set) result.getData().get("permIdSet"); + permIdSet = result.getData().getObject("permIdSet", new TypeReference>(){}); } try { if (!sysPermCodeService.update(sysPermCode, originalSysPermCode, permIdSet)) { @@ -110,6 +109,7 @@ public class SysPermCodeController { * @param permCodeId 指定的权限字主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE) @PostMapping("/delete") public ResponseResult delete(@MyRequestBody Long permCodeId) { if (MyCommonUtil.existBlankArgument(permCodeId)) { diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermController.java index 591d32db..8470868e 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermController.java @@ -1,7 +1,5 @@ package com.orange.demo.webadmin.upms.controller; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; import com.github.pagehelper.Page; import com.github.pagehelper.page.PageMethod; import lombok.extern.slf4j.Slf4j; @@ -14,6 +12,8 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.annotation.MyRequestBody; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -27,7 +27,6 @@ import java.util.Map; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "权限资源管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPerm") @@ -42,7 +41,7 @@ public class SysPermController { * @param sysPermDto 新增权限资源对象。 * @return 应答结果对象,包含新增权限资源的主键Id。 */ - @ApiOperationSupport(ignoreParameters = {"sysPermDto.permId"}) + @OperationLog(type = SysOperationLogType.ADD) @PostMapping("/add") public ResponseResult add(@MyRequestBody SysPermDto sysPermDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermDto); @@ -64,6 +63,7 @@ public class SysPermController { * @param sysPermDto 更新权限资源对象。 * @return 应答结果对象,包含更新权限资源的主键Id。 */ + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/update") public ResponseResult update(@MyRequestBody SysPermDto sysPermDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermDto, Default.class, UpdateGroup.class); @@ -90,6 +90,7 @@ public class SysPermController { * @param permId 指定的权限资源主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE) @PostMapping("/delete") public ResponseResult delete(@MyRequestBody Long permId) { if (MyCommonUtil.existBlankArgument(permId)) { diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermModuleController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermModuleController.java index dfc967a5..79a6b202 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermModuleController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysPermModuleController.java @@ -1,7 +1,5 @@ package com.orange.demo.webadmin.upms.controller; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import com.orange.demo.webadmin.upms.dto.SysPermModuleDto; import com.orange.demo.webadmin.upms.vo.SysPermModuleVo; @@ -13,6 +11,8 @@ import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.annotation.MyRequestBody; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -29,7 +29,6 @@ import java.util.Map; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "权限资源模块管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysPermModule") @@ -44,7 +43,7 @@ public class SysPermModuleController { * @param sysPermModuleDto 新增权限资源模块对象。 * @return 应答结果对象,包含新增权限资源模块的主键Id。 */ - @ApiOperationSupport(ignoreParameters = {"sysPermModuleDto.moduleId"}) + @OperationLog(type = SysOperationLogType.ADD) @PostMapping("/add") public ResponseResult add(@MyRequestBody SysPermModuleDto sysPermModuleDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermModuleDto); @@ -67,6 +66,7 @@ public class SysPermModuleController { * @param sysPermModuleDto 更新权限资源模块对象。 * @return 应答结果对象,包含新增权限资源模块的主键Id。 */ + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/update") public ResponseResult update(@MyRequestBody SysPermModuleDto sysPermModuleDto) { String errorMessage = MyCommonUtil.getModelValidationError(sysPermModuleDto, Default.class, UpdateGroup.class); @@ -98,6 +98,7 @@ public class SysPermModuleController { * @param moduleId 指定的权限资源模块主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE) @PostMapping("/delete") public ResponseResult delete(@MyRequestBody Long moduleId) { if (MyCommonUtil.existBlankArgument(moduleId)) { diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysRoleController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysRoleController.java index f85a27b2..17c39729 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysRoleController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysRoleController.java @@ -1,7 +1,6 @@ package com.orange.demo.webadmin.upms.controller; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; +import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.Page; import com.github.pagehelper.page.PageMethod; import lombok.extern.slf4j.Slf4j; @@ -19,6 +18,8 @@ import com.orange.demo.common.core.constant.ErrorCodeEnum; import com.orange.demo.common.core.object.*; import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.annotation.MyRequestBody; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -32,7 +33,6 @@ import java.util.stream.Collectors; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "角色管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysRole") @@ -50,8 +50,7 @@ public class SysRoleController { * @param menuIdListString 与当前角色Id绑定的menuId列表,多个menuId之间逗号分隔。 * @return 应答结果对象,包含新增角色的主键Id。 */ - @SuppressWarnings("unchecked") - @ApiOperationSupport(ignoreParameters = {"sysRoleDto.roleId", "sysRoleDto.createTimeStart", "sysRoleDto.createTimeEnd"}) + @OperationLog(type = SysOperationLogType.ADD) @PostMapping("/add") public ResponseResult add( @MyRequestBody SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { @@ -66,7 +65,7 @@ public class SysRoleController { } Set menuIdSet = null; if (result.getData() != null) { - menuIdSet = (Set) result.getData().get("menuIdSet"); + menuIdSet = result.getData().getObject("menuIdSet", new TypeReference>(){}); } sysRoleService.saveNew(sysRole, menuIdSet); return ResponseResult.success(sysRole.getRoleId()); @@ -79,8 +78,7 @@ public class SysRoleController { * @param menuIdListString 与当前角色Id绑定的menuId列表,多个menuId之间逗号分隔。 * @return 应答结果对象。 */ - @SuppressWarnings("unchecked") - @ApiOperationSupport(ignoreParameters = {"sysRoleDto.createTimeStart", "sysRoleDto.createTimeEnd"}) + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/update") public ResponseResult update( @MyRequestBody SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { @@ -100,7 +98,7 @@ public class SysRoleController { } Set menuIdSet = null; if (result.getData() != null) { - menuIdSet = (Set) result.getData().get("menuIdSet"); + menuIdSet = result.getData().getObject("menuIdSet", new TypeReference>(){}); } if (!sysRoleService.update(sysRole, originalSysRole, menuIdSet)) { errorMessage = "更新失败,数据不存在,请刷新后重试!"; @@ -115,6 +113,7 @@ public class SysRoleController { * @param roleId 指定角色主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE) @PostMapping("/delete") public ResponseResult delete(@MyRequestBody Long roleId) { if (MyCommonUtil.existBlankArgument(roleId)) { @@ -249,6 +248,7 @@ public class SysRoleController { * @param userIdListString 逗号分隔的用户Id列表。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.ADD_M2M) @PostMapping("/addUserRole") public ResponseResult addUserRole( @MyRequestBody Long roleId, @MyRequestBody String userIdListString) { @@ -279,6 +279,7 @@ public class SysRoleController { * @param userId 指定用户主键Id。 * @return 应答数据结果。 */ + @OperationLog(type = SysOperationLogType.DELETE_M2M) @PostMapping("/deleteUserRole") public ResponseResult deleteUserRole( @MyRequestBody Long roleId, @MyRequestBody Long userId) { diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysUserController.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysUserController.java index c322cf85..60e18455 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysUserController.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/controller/SysUserController.java @@ -1,6 +1,8 @@ package com.orange.demo.webadmin.upms.controller; import com.alibaba.fastjson.TypeReference; +import com.orange.demo.common.log.annotation.OperationLog; +import com.orange.demo.common.log.model.constant.SysOperationLogType; import com.github.pagehelper.page.PageMethod; import com.orange.demo.webadmin.upms.vo.*; import com.orange.demo.webadmin.upms.dto.*; @@ -11,17 +13,13 @@ import com.orange.demo.common.core.util.*; import com.orange.demo.common.core.constant.*; import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.validator.AddGroup; -import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.webadmin.config.ApplicationConfig; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.*; -import javax.validation.groups.Default; /** * 用户管理操作控制器类。 @@ -29,7 +27,6 @@ import javax.validation.groups.Default; * @author Jerry * @date 2020-09-24 */ -@Api(tags = "用户管理管理接口") @Slf4j @RestController @RequestMapping("/admin/upms/sysUser") @@ -45,46 +42,48 @@ public class SysUserController { /** * 新增用户操作。 * - * @param sysUserDto 新增用户对象。 - * @param roleIdListString 逗号分隔的角色Id列表。 + * @param sysUserDto 新增用户对象。 + * @param dataPermIdListString 逗号分隔的数据权限Id列表。 + * @param roleIdListString 逗号分隔的角色Id列表。 * @return 应答结果对象,包含新增用户的主键Id。 */ - @ApiOperationSupport(ignoreParameters = { - "sysUserDto.userId", - "sysUserDto.createTimeStart", - "sysUserDto.createTimeEnd"}) + @OperationLog(type = SysOperationLogType.ADD) @PostMapping("/add") public ResponseResult add( - @MyRequestBody SysUserDto sysUserDto, @MyRequestBody String roleIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto, Default.class, AddGroup.class); + @MyRequestBody SysUserDto sysUserDto, + @MyRequestBody String dataPermIdListString, + @MyRequestBody String roleIdListString) { + String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto, false); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } SysUser sysUser = MyModelUtil.copyTo(sysUserDto, SysUser.class); CallResult result = sysUserService.verifyRelatedData( - sysUser, null, roleIdListString); + sysUser, null, roleIdListString, dataPermIdListString); if (!result.isSuccess()) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); } Set roleIdSet = result.getData().getObject("roleIdSet", new TypeReference>() {}); - sysUserService.saveNew(sysUser, roleIdSet); + Set dataPermIdSet = result.getData().getObject("dataPermIdSet", new TypeReference>() {}); + sysUserService.saveNew(sysUser, roleIdSet, dataPermIdSet); return ResponseResult.success(sysUser.getUserId()); } /** * 更新用户操作。 * - * @param sysUserDto 更新用户对象。 - * @param roleIdListString 逗号分隔的角色Id列表。 + * @param sysUserDto 更新用户对象。 + * @param dataPermIdListString 逗号分隔的数据权限Id列表。 + * @param roleIdListString 逗号分隔的角色Id列表。 * @return 应答结果对象。 */ - @ApiOperationSupport(ignoreParameters = { - "sysUserDto.createTimeStart", - "sysUserDto.createTimeEnd"}) + @OperationLog(type = SysOperationLogType.UPDATE) @PostMapping("/update") public ResponseResult update( - @MyRequestBody SysUserDto sysUserDto, @MyRequestBody String roleIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto, Default.class, UpdateGroup.class); + @MyRequestBody SysUserDto sysUserDto, + @MyRequestBody String dataPermIdListString, + @MyRequestBody String roleIdListString) { + String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto, true); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); } @@ -94,12 +93,13 @@ public class SysUserController { } SysUser sysUser = MyModelUtil.copyTo(sysUserDto, SysUser.class); CallResult result = sysUserService.verifyRelatedData( - sysUser, originalUser, roleIdListString); + sysUser, originalUser, roleIdListString, dataPermIdListString); if (!result.isSuccess()) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); } Set roleIdSet = result.getData().getObject("roleIdSet", new TypeReference>() {}); - if (!sysUserService.update(sysUser, originalUser, roleIdSet)) { + Set dataPermIdSet = result.getData().getObject("dataPermIdSet", new TypeReference>() {}); + if (!sysUserService.update(sysUser, originalUser, roleIdSet, dataPermIdSet)) { return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); } return ResponseResult.success(); @@ -128,6 +128,7 @@ public class SysUserController { * @param userId 删除对象主键Id。 * @return 应答结果对象。 */ + @OperationLog(type = SysOperationLogType.DELETE) @PostMapping("/delete") public ResponseResult delete(@MyRequestBody Long userId) { String errorMessage; diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermDeptMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermDeptMapper.java new file mode 100644 index 00000000..06158b1a --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermDeptMapper.java @@ -0,0 +1,13 @@ +package com.orange.demo.webadmin.upms.dao; + +import com.orange.demo.common.core.base.dao.BaseDaoMapper; +import com.orange.demo.webadmin.upms.model.SysDataPermDept; + +/** + * 数据权限与部门关系数据访问操作接口。 + * + * @author Jerry + * @date 2020-09-24 + */ +public interface SysDataPermDeptMapper extends BaseDaoMapper { +} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermMapper.java new file mode 100644 index 00000000..c6b7a150 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermMapper.java @@ -0,0 +1,35 @@ +package com.orange.demo.webadmin.upms.dao; + +import com.orange.demo.common.core.base.dao.BaseDaoMapper; +import com.orange.demo.webadmin.upms.model.SysDataPerm; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 数据权限数据访问操作接口。 + * NOTE: 该对象一定不能被 @EnableDataPerm 注解标注,否则会导致无限递归。 + * + * @author Jerry + * @date 2020-09-24 + */ +public interface SysDataPermMapper extends BaseDaoMapper { + + /** + * 获取数据权限列表。 + * + * @param sysDataPermFilter 过滤对象。 + * @param orderBy 排序字符串。 + * @return 过滤后的数据权限列表。 + */ + List getSysDataPermList( + @Param("sysDataPermFilter") SysDataPerm sysDataPermFilter, @Param("orderBy") String orderBy); + + /** + * 获取指定用户的数据权限列表。 + * + * @param userId 用户Id。 + * @return 数据权限列表。 + */ + List getSysDataPermListByUserId(@Param("userId") Long userId); +} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermUserMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermUserMapper.java new file mode 100644 index 00000000..72a63987 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDataPermUserMapper.java @@ -0,0 +1,13 @@ +package com.orange.demo.webadmin.upms.dao; + +import com.orange.demo.common.core.base.dao.BaseDaoMapper; +import com.orange.demo.webadmin.upms.model.SysDataPermUser; + +/** + * 数据权限与用户关系数据访问操作接口。 + * + * @author Jerry + * @date 2020-09-24 + */ +public interface SysDataPermUserMapper extends BaseDaoMapper { +} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDeptMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDeptMapper.java new file mode 100644 index 00000000..12e8279e --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDeptMapper.java @@ -0,0 +1,33 @@ +package com.orange.demo.webadmin.upms.dao; + +import com.orange.demo.common.core.base.dao.BaseDaoMapper; +import com.orange.demo.webadmin.upms.model.SysDept; +import org.apache.ibatis.annotations.Param; + +import java.util.*; + +/** + * 部门管理数据操作访问接口。 + * + * @author Jerry + * @date 2020-09-24 + */ +public interface SysDeptMapper extends BaseDaoMapper { + + /** + * 批量插入对象列表。 + * + * @param sysDeptList 新增对象列表。 + */ + void insertList(List sysDeptList); + + /** + * 获取过滤后的对象列表。 + * + * @param sysDeptFilter 主表过滤对象。 + * @param orderBy 排序字符串,order by从句的参数。 + * @return 对象列表。 + */ + List getSysDeptList( + @Param("sysDeptFilter") SysDept sysDeptFilter, @Param("orderBy") String orderBy); +} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDeptRelationMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDeptRelationMapper.java new file mode 100644 index 00000000..72e99c45 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysDeptRelationMapper.java @@ -0,0 +1,42 @@ +package com.orange.demo.webadmin.upms.dao; + +import com.orange.demo.common.core.base.dao.BaseDaoMapper; +import com.orange.demo.webadmin.upms.model.SysDeptRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 部门关系树关联关系表访问接口。 + * + * @author Jerry + * @date 2020-09-24 + */ +public interface SysDeptRelationMapper extends BaseDaoMapper { + + /** + * 将myDeptId的所有子部门,与其父部门parentDeptId解除关联关系。 + * + * @param parentDeptId myDeptId的父部门Id。 + * @param myDeptId 当前部门。 + */ + void removeBetweenChildrenAndParents( + @Param("parentDeptId") Long parentDeptId, @Param("myDeptId") Long myDeptId); + + /** + * 批量插入部门关联数据。 + * 由于目前版本(3.4.1)的Mybatis Plus没有提供真正的批量插入,为了保证效率需要自己实现。 + * 目前我们仅仅给出MySQL的insert list实现作为参考,其他数据库需要自行修改。 + * + * @param deptRelationList 部门关联关系数据列表。 + */ + void insertList(List deptRelationList); + + /** + * 批量插入当前部门的所有父部门列表,包括自己和自己的关系。 + * + * @param parentDeptId myDeptId的父部门Id。 + * @param myDeptId 当前部门。 + */ + void insertParentList(@Param("parentDeptId") Long parentDeptId, @Param("myDeptId") Long myDeptId); +} diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysUserMapper.java b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysUserMapper.java index 9ee29dd2..f05e2a05 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysUserMapper.java +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/SysUserMapper.java @@ -14,6 +14,13 @@ import java.util.*; */ public interface SysUserMapper extends BaseDaoMapper { + /** + * 批量插入对象列表。 + * + * @param sysUserList 新增对象列表。 + */ + void insertList(List sysUserList); + /** * 获取过滤后的对象列表。 * @@ -50,6 +57,32 @@ public interface SysUserMapper extends BaseDaoMapper { @Param("sysUserFilter") SysUser sysUserFilter, @Param("orderBy") String orderBy); + /** + * 根据数据权限Id,获取关联的用户Id列表。 + * + * @param dataPermId 关联的数据权限Id。 + * @param sysUserFilter 用户过滤条件对象。 + * @param orderBy order by从句的参数。 + * @return 和DataPermId关联的用户列表。 + */ + List getSysUserListByDataPermId( + @Param("dataPermId") Long dataPermId, + @Param("sysUserFilter") SysUser sysUserFilter, + @Param("orderBy") String orderBy); + + /** + * 根据数据权限Id,获取和当前数据权限Id没有建立多对多关联关系的用户Id列表。 + * + * @param dataPermId 关联的数据权限Id。 + * @param sysUserFilter 用户过滤条件对象。 + * @param orderBy order by从句的参数。 + * @return 和DataPermId没有建立关联关系的用户列表。 + */ + List getNotInSysUserListByDataPermId( + @Param("dataPermId") Long dataPermId, + @Param("sysUserFilter") SysUser sysUserFilter, + @Param("orderBy") String orderBy); + /** * 查询用户的权限资源地址列表。同时返回详细的分配路径。 * diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermDeptMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermDeptMapper.xml new file mode 100644 index 00000000..7bf01fb4 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermDeptMapper.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermMapper.xml new file mode 100644 index 00000000..cc580fe6 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermMapper.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + AND zz_sys_data_perm.rule_type = #{sysDataPermFilter.ruleType} + + + + AND IFNULL(zz_sys_data_perm.data_perm_name, '') LIKE #{safeSearchString} + + + AND zz_sys_data_perm.deleted_flag = ${@com.orange.demo.common.core.constant.GlobalDeletedFlag@NORMAL} + + + + + + \ No newline at end of file diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermUserMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermUserMapper.xml new file mode 100644 index 00000000..6ff131d5 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDataPermUserMapper.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDeptMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDeptMapper.xml new file mode 100644 index 00000000..7602ad35 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDeptMapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + INSERT INTO zz_sys_dept + (dept_id, + dept_name, + show_order, + parent_id, + deleted_flag, + create_user_id, + update_user_id, + create_time, + update_time) + VALUES + + (#{item.deptId}, + #{item.deptName}, + #{item.showOrder}, + #{item.parentId}, + #{item.deletedFlag}, + #{item.createUserId}, + #{item.updateUserId}, + #{item.createTime}, + #{item.updateTime}) + + + + + + + + AND zz_sys_dept.deleted_flag = ${@com.orange.demo.common.core.constant.GlobalDeletedFlag@NORMAL} + + + + + + + + AND zz_sys_dept.dept_name LIKE #{safeSysDeptDeptName} + + + AND zz_sys_dept.parent_id = #{sysDeptFilter.parentId} + + + + + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDeptRelationMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDeptRelationMapper.xml new file mode 100644 index 00000000..a57ed88c --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysDeptRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + DELETE a FROM zz_sys_dept_relation a + INNER JOIN zz_sys_dept_relation b ON a.dept_id = b.dept_id + WHERE a.parent_dept_id = #{parentDeptId} AND b.parent_dept_id = #{myDeptId} + + + + INSERT INTO zz_sys_dept_relation(parent_dept_id, dept_id) VALUES + + (#{item.parentDeptId}, #{item.deptId}) + + + + + INSERT INTO zz_sys_dept_relation(parent_dept_id, dept_id) + SELECT t.parent_dept_id, #{myDeptId} FROM zz_sys_dept_relation t + WHERE t.dept_id = #{parentDeptId} + UNION ALL + SELECT #{myDeptId}, #{myDeptId} + + diff --git a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysUserMapper.xml b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysUserMapper.xml index 73a91904..4e0dbbff 100644 --- a/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysUserMapper.xml +++ b/orange-demo-single/orange-demo-single-service/application-webadmin/src/main/java/com/orange/demo/webadmin/upms/dao/mapper/SysUserMapper.xml @@ -6,6 +6,7 @@ + @@ -16,6 +17,39 @@ + + INSERT INTO zz_sys_user + (user_id, + login_name, + password, + show_name, + dept_id, + user_type, + head_image_url, + user_status, + deleted_flag, + create_user_id, + update_user_id, + create_time, + update_time) + VALUES + + (#{item.userId}, + #{item.loginName}, + #{item.password}, + #{item.showName}, + #{item.deptId}, + #{item.userType}, + #{item.headImageUrl}, + #{item.userStatus}, + #{item.deletedFlag}, + #{item.createUserId}, + #{item.updateUserId}, + #{item.createTime}, + #{item.updateTime}) + + + @@ -34,6 +68,9 @@ AND zz_sys_user.show_name LIKE #{safeSysUserShowName} + + AND zz_sys_user.dept_id = #{sysUserFilter.deptId} + AND zz_sys_user.user_status = #{sysUserFilter.userStatus} @@ -84,6 +121,34 @@ + + + + + SELECT * FROM zz_sys_operation_log + + + + + ORDER BY ${orderBy} + + + \ No newline at end of file diff --git a/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/model/SysOperationLog.java b/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/model/SysOperationLog.java new file mode 100644 index 00000000..594d31c0 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/model/SysOperationLog.java @@ -0,0 +1,170 @@ +package com.orange.demo.common.log.model; + +import com.baomidou.mybatisplus.annotation.*; +import com.orange.demo.common.core.annotation.TenantFilterColumn; +import lombok.Data; + +import java.util.Date; + +/** + * 操作日志记录表 + * + * @author Jerry + * @date 2020-09-24 + */ +@Data +@TableName("zz_sys_operation_log") +public class SysOperationLog { + + /** + * 主键Id。 + */ + @TableId(value = "log_id") + private Long logId; + + /** + * 日志描述。 + */ + @TableField(value = "description") + private String description; + + /** + * 操作类型。 + * 常量值定义可参考SysOperationLogType对象。 + */ + @TableField(value = "operation_type") + private Integer operationType; + + /** + * 接口所在服务名称。 + * 通常为spring.application.name配置项的值。 + */ + @TableField(value = "service_name") + private String serviceName; + + /** + * 调用的controller全类名。 + * 之所以为独立字段,是为了便于查询和统计接口的调用频度。 + */ + @TableField(value = "api_class") + private String apiClass; + + /** + * 调用的controller中的方法。 + * 格式为:接口类名 + "." + 方法名。 + */ + @TableField(value = "api_method") + private String apiMethod; + + /** + * 用户会话sessionId。 + * 主要是为了便于统计,以及跟踪查询定位问题。 + */ + @TableField(value = "session_id") + private String sessionId; + + /** + * 每次请求的Id。 + * 对于微服务之间的调用,在同一个请求的调用链中,该值是相同的。 + */ + @TableField(value = "trace_id") + private String traceId; + + /** + * 调用时长。 + */ + @TableField(value = "elapse") + private Long elapse; + + /** + * HTTP 请求方法,如GET。 + */ + @TableField(value = "request_method") + private String requestMethod; + + /** + * HTTP 请求地址。 + */ + @TableField(value = "request_url") + private String requestUrl; + + /** + * controller接口参数。 + */ + @TableField(value = "request_arguments") + private String requestArguments; + + /** + * controller应答结果。 + */ + @TableField(value = "response_result") + private String responseResult; + + /** + * 请求IP。 + */ + @TableField(value = "request_ip") + private String requestIp; + + /** + * 应答状态。 + */ + @TableField(value = "success") + private Boolean success; + + /** + * 错误信息。 + */ + @TableField(value = "error_msg") + private String errorMsg; + + /** + * 租户Id。 + * 仅用于多租户系统,是便于进行对租户的操作查询和统计分析。 + */ + @TenantFilterColumn + @TableField(value = "tenant_id") + private Long tenantId; + + /** + * 操作员Id。 + */ + @TableField(value = "operator_id") + private Long operatorId; + + /** + * 操作员名称。 + */ + @TableField(value = "operator_name") + private String operatorName; + + /** + * 操作时间。 + */ + @TableField(value = "operation_time") + private Date operationTime; + + /** + * 调用时长最小值。 + */ + @TableField(exist = false) + private Long elapseMin; + + /** + * 调用时长最大值。 + */ + @TableField(exist = false) + private Long elapseMax; + + /** + * 操作开始时间。 + */ + @TableField(exist = false) + private String operationTimeStart; + + /** + * 操作结束时间。 + */ + @TableField(exist = false) + private String operationTimeEnd; +} diff --git a/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/model/constant/SysOperationLogType.java b/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/model/constant/SysOperationLogType.java new file mode 100644 index 00000000..4a2a7d31 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/model/constant/SysOperationLogType.java @@ -0,0 +1,149 @@ +package com.orange.demo.common.log.model.constant; + +import java.util.HashMap; +import java.util.Map; + +/** + * 操作日志类型常量字典对象。 + * + * @author Jerry + * @date 2020-09-24 + */ +public final class SysOperationLogType { + + /** + * 其他。 + */ + public static final int OTHER = -1; + /** + * 登录。 + */ + public static final int LOGIN = 0; + /** + * 登出。 + */ + public static final int LOGOUT = 5; + /** + * 新增。 + */ + public static final int ADD = 10; + /** + * 修改。 + */ + public static final int UPDATE = 15; + /** + * 删除。 + */ + public static final int DELETE = 20; + /** + * 新增多对多关联。 + */ + public static final int ADD_M2M = 25; + /** + * 移除多对多关联。 + */ + public static final int DELETE_M2M = 30; + /** + * 查询。 + */ + public static final int LIST = 35; + /** + * 分组查询。 + */ + public static final int LIST_WITH_GROUP = 40; + /** + * 导出。 + */ + public static final int EXPORT = 45; + /** + * 上传。 + */ + public static final int UPLOAD = 50; + /** + * 下载。 + */ + public static final int DOWNLOAD = 55; + /** + * 重置缓存。 + */ + public static final int RELOAD_CACHE = 60; + /** + * 发布。 + */ + public static final int PUBLISH = 65; + /** + * 取消发布。 + */ + public static final int UNPUBLISH = 70; + /** + * 暂停。 + */ + public static final int SUSPEND = 75; + /** + * 恢复。 + */ + public static final int RESUME = 80; + /** + * 启动流程。 + */ + public static final int START_PROCESS = 100; + /** + * 停止流程。 + */ + public static final int STOP_PROCESS = 105; + /** + * 删除流程。 + */ + public static final int DELETE_PROCESS = 110; + /** + * 取消流程。 + */ + public static final int CANCEL_PROCESS = 115; + /** + * 提交任务。 + */ + public static final int SUBMIT_TASK = 120; + + private static final Map DICT_MAP = new HashMap<>(15); + static { + DICT_MAP.put(OTHER, "其他"); + DICT_MAP.put(LOGIN, "登录"); + DICT_MAP.put(LOGOUT, "登出"); + DICT_MAP.put(ADD, "新增"); + DICT_MAP.put(UPDATE, "修改"); + DICT_MAP.put(DELETE, "删除"); + DICT_MAP.put(ADD_M2M, "新增多对多关联"); + DICT_MAP.put(DELETE_M2M, "移除多对多关联"); + DICT_MAP.put(LIST, "查询"); + DICT_MAP.put(LIST_WITH_GROUP, "分组查询"); + DICT_MAP.put(EXPORT, "导出"); + DICT_MAP.put(UPLOAD, "上传"); + DICT_MAP.put(DOWNLOAD, "下载"); + DICT_MAP.put(RELOAD_CACHE, "重置缓存"); + DICT_MAP.put(PUBLISH, "发布"); + DICT_MAP.put(UNPUBLISH, "取消发布"); + DICT_MAP.put(SUSPEND, "暂停"); + DICT_MAP.put(RESUME, "恢复"); + DICT_MAP.put(START_PROCESS, "启动流程"); + DICT_MAP.put(STOP_PROCESS, "停止流程"); + DICT_MAP.put(DELETE_PROCESS, "删除流程"); + DICT_MAP.put(CANCEL_PROCESS, "取消流程"); + DICT_MAP.put(SUBMIT_TASK, "提交任务"); + } + + /** + * 判断参数是否为当前常量字典的合法值。 + * + * @param value 待验证的参数值。 + * @return 合法返回true,否则false。 + */ + public static boolean isValid(Integer value) { + return value != null && DICT_MAP.containsKey(value); + } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + private SysOperationLogType() { + } +} diff --git a/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/service/SysOperationLogService.java b/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/service/SysOperationLogService.java new file mode 100644 index 00000000..4cc76186 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/service/SysOperationLogService.java @@ -0,0 +1,45 @@ +package com.orange.demo.common.log.service; + +import com.orange.demo.common.core.base.service.IBaseService; +import com.orange.demo.common.log.model.SysOperationLog; + +import java.util.List; + +/** + * 操作日志服务接口。 + * + * @author Jerry + * @date 2020-09-24 + */ +public interface SysOperationLogService extends IBaseService { + + /** + * 异步的插入一条新操作日志。 + * + * @param operationLog 操作日志对象。 + */ + void saveNewAsync(SysOperationLog operationLog); + + /** + * 插入一条新操作日志。 + * + * @param operationLog 操作日志对象。 + */ + void saveNew(SysOperationLog operationLog); + + /** + * 批量插入。 + * + * @param sysOperationLogList 操作日志列表。 + */ + void batchSave(List sysOperationLogList); + + /** + * 根据过滤条件和排序规则,查询操作日志。 + * + * @param filter 操作日志的过滤对象。 + * @param orderBy 排序规则。 + * @return 查询列表。 + */ + List getSysOperationLogList(SysOperationLog filter, String orderBy); +} diff --git a/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/service/impl/SysOperationLogServiceImpl.java b/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/service/impl/SysOperationLogServiceImpl.java new file mode 100644 index 00000000..697cb9bc --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/common/common-log/src/main/java/com/orange/demo/common/log/service/impl/SysOperationLogServiceImpl.java @@ -0,0 +1,84 @@ +package com.orange.demo.common.log.service.impl; + +import com.orange.demo.common.core.annotation.MyDataSource; +import com.orange.demo.common.core.base.dao.BaseDaoMapper; +import com.orange.demo.common.core.base.service.BaseService; +import com.orange.demo.common.core.constant.ApplicationConstant; +import com.orange.demo.common.log.dao.SysOperationLogMapper; +import com.orange.demo.common.log.model.SysOperationLog; +import com.orange.demo.common.log.service.SysOperationLogService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 操作日志服务实现类。 + * 这里需要重点解释下MyDataSource注解。在单数据源服务中,由于没有DataSourceAspect的切面类,所以该注解不会 + * 有任何作用和影响。然而在多数据源情况下,由于每个服务都有自己的DataSourceType常量对象,表示不同的数据源。 + * 而common-log在公用模块中,不能去依赖业务服务,因此这里给出了一个固定值。我们在业务的DataSourceType中,也要 + * 使用该值ApplicationConstant.OPERATION_LOG_DATASOURCE_TYPE,去关联操作日志所需的数据源配置。 + * + * @author Jerry + * @date 2020-09-24 + */ +@MyDataSource(ApplicationConstant.OPERATION_LOG_DATASOURCE_TYPE) +@Service +public class SysOperationLogServiceImpl extends BaseService implements SysOperationLogService { + + @Autowired + private SysOperationLogMapper sysOperationLogMapper; + + @Override + protected BaseDaoMapper mapper() { + return sysOperationLogMapper; + } + + /** + * 异步插入一条新操作日志。通常用于在橙单中创建的单体工程服务。 + * + * @param operationLog 操作日志对象。 + */ + @Async + @Transactional(rollbackFor = Exception.class) + @Override + public void saveNewAsync(SysOperationLog operationLog) { + sysOperationLogMapper.insert(operationLog); + } + + /** + * 插入一条新操作日志。 + * + * @param operationLog 操作日志对象。 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void saveNew(SysOperationLog operationLog) { + sysOperationLogMapper.insert(operationLog); + } + + /** + * 批量插入。通常用于在橙单中创建的微服务工程服务。 + * + * @param sysOperationLogList 操作日志列表。 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void batchSave(List sysOperationLogList) { + sysOperationLogMapper.insertList(sysOperationLogList); + } + + /** + * 根据过滤条件和排序规则,查询操作日志。 + * + * @param filter 操作日志的过滤对象。 + * @param orderBy 排序规则。 + * @return 查询列表。 + */ + @Override + public List getSysOperationLogList(SysOperationLog filter, String orderBy) { + return sysOperationLogMapper.getSysOperationLogList(filter, orderBy); + } +} diff --git a/orange-demo-single/orange-demo-single-service/common/common-log/src/main/resources/META-INF/spring.factories b/orange-demo-single/orange-demo-single-service/common/common-log/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000..9f0ac5c9 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/common/common-log/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.orange.demo.common.log.config.CommonLogAutoConfig \ No newline at end of file diff --git a/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerAutoConfiguration.java b/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerAutoConfiguration.java deleted file mode 100644 index bd2a8c43..00000000 --- a/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerAutoConfiguration.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.orange.demo.common.swagger.config; - -import com.orange.demo.common.core.annotation.MyRequestBody; -import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; - -/** - * 自动加载bean的配置对象。 - * - * @author Jerry - * @date 2020-09-24 - */ -@EnableSwagger2WebMvc -@EnableKnife4j -@EnableConfigurationProperties(SwaggerProperties.class) -@ConditionalOnProperty(prefix = "swagger", name = "enabled") -public class SwaggerAutoConfiguration { - - @Bean - public Docket upmsDocket(SwaggerProperties properties) { - return new Docket(DocumentationType.SWAGGER_2) - .groupName("1. 用户权限分组接口") - .ignoredParameterTypes(MyRequestBody.class) - .apiInfo(apiInfo(properties)) - .select() - .apis(RequestHandlerSelectors.basePackage(properties.getBasePackage() + ".upms.controller")) - .paths(PathSelectors.any()).build(); - } - - @Bean - public Docket bizDocket(SwaggerProperties properties) { - return new Docket(DocumentationType.SWAGGER_2) - .groupName("2. 业务应用分组接口") - .ignoredParameterTypes(MyRequestBody.class) - .apiInfo(apiInfo(properties)) - .select() - .apis(RequestHandlerSelectors.basePackage(properties.getBasePackage() + ".app.controller")) - .paths(PathSelectors.any()).build(); - } - - private ApiInfo apiInfo(SwaggerProperties properties) { - return new ApiInfoBuilder() - .title(properties.getTitle()) - .description(properties.getDescription()) - .version(properties.getVersion()).build(); - } -} diff --git a/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerProperties.java b/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerProperties.java deleted file mode 100644 index 25c3d221..00000000 --- a/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/config/SwaggerProperties.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.orange.demo.common.swagger.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * 配置参数对象。 - * - * @author Jerry - * @date 2020-09-24 - */ -@Data -@ConfigurationProperties("swagger") -public class SwaggerProperties { - - /** - * 是否开启Swagger。 - */ - private Boolean enabled; - - /** - * Swagger解析的基础包路径。 - **/ - private String basePackage = ""; - - /** - * ApiInfo中的标题。 - **/ - private String title = ""; - - /** - * ApiInfo中的描述信息。 - **/ - private String description = ""; - - /** - * ApiInfo中的版本信息。 - **/ - private String version = ""; -} diff --git a/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/ByteBuddyUtil.java b/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/ByteBuddyUtil.java deleted file mode 100644 index 3685de58..00000000 --- a/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/ByteBuddyUtil.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.orange.demo.common.swagger.plugin; - -import cn.hutool.core.lang.Assert; -import com.orange.demo.common.core.annotation.MyRequestBody; -import com.github.xiaoymin.knife4j.core.conf.Consts; -import javassist.*; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import springfox.documentation.service.ResolvedMethodParameter; - -import java.util.List; - -/** - * 通过字节码方式动态创建接口参数封装对象。 - * - * @author Jerry - * @date 2020-09-24 - */ -@Slf4j -public class ByteBuddyUtil { - private static final ClassPool CLASS_POOL = ClassPool.getDefault(); - - public static Class createDynamicModelClass(String name, List parameters) { - String clazzName = Consts.BASE_PACKAGE_PREFIX + name; - try { - CtClass tmp = CLASS_POOL.getCtClass(clazzName); - if (tmp != null) { - tmp.detach(); - } - } catch (NotFoundException e) { - // 需要吃掉这个异常。 - } - CtClass ctClass = CLASS_POOL.makeClass(clazzName); - try { - int fieldCount = 0; - for (ResolvedMethodParameter dynamicParameter : parameters) { - // 因为在调用这个方法之前,这些参数都包含MyRequestBody注解。 - MyRequestBody myRequestBody = - dynamicParameter.findAnnotation(MyRequestBody.class).orElse(null); - Assert.notNull(myRequestBody); - String fieldName = dynamicParameter.defaultName().isPresent() - ? dynamicParameter.defaultName().get() : "parameter"; - if (StringUtils.isNotBlank(myRequestBody.value())) { - fieldName = myRequestBody.value(); - } - ctClass.addField(createField(dynamicParameter, fieldName, ctClass)); - fieldCount++; - } - if (fieldCount > 0) { - return ctClass.toClass(); - } - } catch (Throwable e) { - log.error(e.getMessage()); - } - return null; - } - - private static CtField createField(ResolvedMethodParameter parameter, String parameterName, CtClass ctClass) - throws NotFoundException, CannotCompileException { - CtField field = new CtField(getFieldType(parameter.getParameterType().getErasedType()), parameterName, ctClass); - field.setModifiers(Modifier.PUBLIC); - return field; - } - - private static CtClass getFieldType(Class propetyType) { - CtClass fieldType = null; - try { - if (!propetyType.isAssignableFrom(Void.class)) { - fieldType = CLASS_POOL.get(propetyType.getName()); - } else { - fieldType = CLASS_POOL.get(String.class.getName()); - } - } catch (NotFoundException e) { - // 抛异常 - ClassClassPath path = new ClassClassPath(propetyType); - CLASS_POOL.insertClassPath(path); - try { - fieldType = CLASS_POOL.get(propetyType.getName()); - } catch (NotFoundException e1) { - log.error(e1.getMessage(), e1); - } - } - return fieldType; - } -} diff --git a/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyModelPlugin.java b/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyModelPlugin.java deleted file mode 100644 index acf41b38..00000000 --- a/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyModelPlugin.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.orange.demo.common.swagger.plugin; - -import com.orange.demo.common.core.annotation.MyRequestBody; -import com.fasterxml.classmate.TypeResolver; -import com.google.common.base.CaseFormat; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.core.Ordered; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; -import springfox.documentation.service.ResolvedMethodParameter; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spi.service.OperationModelsProviderPlugin; -import springfox.documentation.spi.service.contexts.RequestMappingContext; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 生成参数包装类的插件。 - * - * @author Jerry - * @date 2020-09-24 - */ -@Component -@Order(Ordered.HIGHEST_PRECEDENCE + 200) -@ConditionalOnProperty(prefix = "swagger", name = "enabled") -public class DynamicBodyModelPlugin implements OperationModelsProviderPlugin { - - private final TypeResolver typeResolver; - - public DynamicBodyModelPlugin(TypeResolver typeResolver) { - this.typeResolver = typeResolver; - } - - @Override - public void apply(RequestMappingContext context) { - List parameterTypes = context.getParameters(); - if (CollectionUtils.isEmpty(parameterTypes)) { - return; - } - List bodyParameter = parameterTypes.stream() - .filter(p -> p.hasParameterAnnotation(MyRequestBody.class)).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(bodyParameter)) { - return; - } - String groupName = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, context.getGroupName()); - String clazzName = groupName + StringUtils.capitalize(context.getName()); - Class clazz = ByteBuddyUtil.createDynamicModelClass(clazzName, bodyParameter); - if (clazz != null) { - context.operationModelsBuilder().addInputParam(typeResolver.resolve(clazz)); - } - } - - @Override - public boolean supports(DocumentationType delimiter) { - // 支持2.0版本 - return delimiter == DocumentationType.SWAGGER_2; - } -} diff --git a/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyParameterBuilder.java b/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyParameterBuilder.java deleted file mode 100644 index bb70370f..00000000 --- a/orange-demo-single/orange-demo-single-service/common/common-swagger/src/main/java/com/orange/demo/common/swagger/plugin/DynamicBodyParameterBuilder.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.orange.demo.common.swagger.plugin; - -import com.orange.demo.common.core.annotation.MyRequestBody; -import com.google.common.base.CaseFormat; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.core.Ordered; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; -import springfox.documentation.builders.ParameterBuilder; -import springfox.documentation.schema.ModelRef; -import springfox.documentation.service.Parameter; -import springfox.documentation.service.ResolvedMethodParameter; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spi.service.OperationBuilderPlugin; -import springfox.documentation.spi.service.contexts.OperationContext; -import springfox.documentation.spi.service.contexts.ParameterContext; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 构建操作接口参数对象的插件。 - * - * @author Jerry - * @date 2020-09-24 - */ -@Component -@Order(Ordered.HIGHEST_PRECEDENCE + 102) -@ConditionalOnProperty(prefix = "swagger", name = "enabled") -public class DynamicBodyParameterBuilder implements OperationBuilderPlugin { - - @Override - public void apply(OperationContext context) { - List methodParameters = context.getParameters(); - List parameters = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(methodParameters)) { - List bodyParameter = methodParameters.stream() - .filter(p -> p.hasParameterAnnotation(MyRequestBody.class)).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(bodyParameter)) { - // 构造model - String groupName = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, context.getGroupName()); - String clazzName = groupName + StringUtils.capitalize(context.getName()); - ResolvedMethodParameter methodParameter = bodyParameter.get(0); - ParameterContext parameterContext = new ParameterContext(methodParameter, - new ParameterBuilder(), - context.getDocumentationContext(), - context.getGenericsNamingStrategy(), - context); - Parameter parameter = parameterContext.parameterBuilder() - .parameterType("body").modelRef(new ModelRef(clazzName)).name(clazzName).build(); - parameters.add(parameter); - } - } - context.operationBuilder().parameters(parameters); - } - - @Override - public boolean supports(DocumentationType delimiter) { - return delimiter == DocumentationType.SWAGGER_2; - } -} diff --git a/orange-demo-single/orange-demo-single-service/common/pom.xml b/orange-demo-single/orange-demo-single-service/common/pom.xml index 62e6ea63..2e71f296 100644 --- a/orange-demo-single/orange-demo-single-service/common/pom.xml +++ b/orange-demo-single/orange-demo-single-service/common/pom.xml @@ -13,8 +13,9 @@ common-core + common-log + common-datafilter common-redis common-sequence - common-swagger diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/pom.xml b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/pom.xml new file mode 100644 index 00000000..9abd221b --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/pom.xml @@ -0,0 +1,29 @@ + + + + framework + com.orange.demo + 1.0.0 + + 4.0.0 + + apidoc-tools + 1.0.0 + apidoc-tools + jar + + + + com.orange.demo + common-core + 1.0.0 + + + com.thoughtworks.qdox + qdox + ${qdox.version} + + + \ No newline at end of file diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/ExportApiApp.java b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/ExportApiApp.java new file mode 100644 index 00000000..01d010ce --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/ExportApiApp.java @@ -0,0 +1,28 @@ +package com.orange.demo.apidoc.tools; + +import com.alibaba.fastjson.JSON; +import com.orange.demo.apidoc.tools.codeparser.ApiCodeConfig; +import com.orange.demo.apidoc.tools.codeparser.ApiCodeParser; +import com.orange.demo.apidoc.tools.export.ApiPostmanExporter; +import freemarker.template.TemplateException; +import org.springframework.util.StreamUtils; + +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; + +public class ExportApiApp { + + public static void main(String[] args) throws IOException, TemplateException { + // 在第一次导出时,需要打开export-api-config.json配置文件, + // 修改其中的工程根目录配置项(projectRootPath),其他配置保持不变即可。 + InputStream in = ExportApiApp.class.getResourceAsStream("/export-api-config.json"); + String jsonData = StreamUtils.copyToString(in, StandardCharsets.UTF_8); + ApiCodeConfig apiCodeConfig = JSON.parseObject(jsonData, ApiCodeConfig.class); + ApiCodeParser apiCodeParser = new ApiCodeParser(apiCodeConfig); + ApiCodeParser.ApiProject project = apiCodeParser.doParse(); + ApiPostmanExporter exporter = new ApiPostmanExporter(); + // 将下面的目录改为实际输出目录。 + exporter.doGenerate(project, "/xxx/Desktop/1.json"); + } +} diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/ExportDocApp.java b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/ExportDocApp.java new file mode 100644 index 00000000..5d910267 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/ExportDocApp.java @@ -0,0 +1,28 @@ +package com.orange.demo.apidoc.tools; + +import com.alibaba.fastjson.JSON; +import com.orange.demo.apidoc.tools.codeparser.ApiCodeConfig; +import com.orange.demo.apidoc.tools.codeparser.ApiCodeParser; +import com.orange.demo.apidoc.tools.export.ApiDocExporter; +import freemarker.template.TemplateException; +import org.springframework.util.StreamUtils; + +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; + +public class ExportDocApp { + + public static void main(String[] args) throws IOException, TemplateException { + // 在第一次导出时,需要打开export-api-config.json配置文件, + // 修改其中的工程根目录配置项(projectRootPath),其他配置保持不变即可。 + InputStream in = ExportDocApp.class.getResourceAsStream("/export-api-config.json"); + String jsonData = StreamUtils.copyToString(in, StandardCharsets.UTF_8); + ApiCodeConfig apiCodeConfig = JSON.parseObject(jsonData, ApiCodeConfig.class); + ApiCodeParser apiCodeParser = new ApiCodeParser(apiCodeConfig); + ApiCodeParser.ApiProject project = apiCodeParser.doParse(); + ApiDocExporter exporter = new ApiDocExporter(); + // 将下面的目录改为实际输出目录。 + exporter.doGenerate(project, "/xxx/Desktop/2.md"); + } +} diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/codeparser/ApiCodeConfig.java b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/codeparser/ApiCodeConfig.java new file mode 100644 index 00000000..475bb5a5 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/codeparser/ApiCodeConfig.java @@ -0,0 +1,83 @@ +package com.orange.demo.apidoc.tools.codeparser; + +import lombok.Data; + +import java.util.List; +import java.util.Set; + +/** + * 解析项目中接口信息的配置对象。 + * + * @author Jerry + * @date 2020-09-24 + */ +@Data +public class ApiCodeConfig { + + /** + * 项目名称。 + */ + private String projectName; + /** + * 项目的基础包名,如(com.demo.multi)。 + */ + private String basePackage; + /** + * 项目在本地文件系统中的根目录。这里需要注意的是,Windows用户请务必使用反斜杠作为目录分隔符。 + * 如:"e:/mypath/OrangeSingleDemo","/Users/xxx/OrangeSingleDemo"。 + */ + private String projectRootPath; + /** + * 是否为微服务项目。 + */ + private Boolean microService; + /** + * 服务配置列表。对于单体服务,至少也会有一个ServiceConfig对象。 + */ + private List serviceList; + + @Data + public static class ServiceConfig { + /** + * 服务名称。 + */ + private String serviceName; + /** + * 服务中文显示名称。 + */ + private String showName; + /** + * 服务所在目录,相对于工程目录的子目录。 + */ + private String servicePath; + /** + * 仅用于微服务工程。通常为服务路由路径,如:/admin/coursepaper。服务内的接口,都会加上该路径前缀。 + */ + private String serviceRequestPath; + /** + * 服务的端口号。 + */ + private String port; + /** + * Api Controller信息列表。 + */ + private List controllerInfoList; + } + + @Data + public static class ControllerInfo { + /** + * Controller.java等接口文件的所在目录。该目录仅为相对于服务代码目录的子目录。 + * 目录分隔符请务必使用反斜杠。如:"/com/orange/demo/app/controller"。 + */ + private String path; + /** + * 如果一个服务内,存在多个Controller目录,将再次生成二级子目录,目录名为groupName。(可使用中文) + */ + private String groupName; + /** + * 在当前Controller目录下,需要忽略的Controller列表 (只写类名即可)。如:LoginController。 + */ + private Set skipControllers; + } +} diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/codeparser/ApiCodeParser.java b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/codeparser/ApiCodeParser.java new file mode 100644 index 00000000..ee653cf2 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/codeparser/ApiCodeParser.java @@ -0,0 +1,672 @@ +package com.orange.demo.apidoc.tools.codeparser; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.StrUtil; +import com.orange.demo.common.core.object.Tuple2; +import com.orange.demo.apidoc.tools.exception.ApiCodeConfigParseException; +import com.thoughtworks.qdox.JavaProjectBuilder; +import com.thoughtworks.qdox.model.*; +import com.thoughtworks.qdox.model.impl.DefaultJavaParameterizedType; +import lombok.Data; + +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.*; + +/** + * 解析项目中的接口信息,以及关联的Model、Dto和Mapper,主要用于生成接口文档。 + * + * @author Jerry + * @date 2020-09-24 + */ +public class ApiCodeParser { + + private static final String PATH_SEPERATOR = "/"; + private static final String REQUEST_MAPPING = "RequestMapping"; + private static final String FULL_REQUEST_MAPPING = "org.springframework.web.bind.annotation.RequestMapping"; + private static final String GET_MAPPING = "GetMapping"; + private static final String FULL_GET_MAPPING = "org.springframework.web.bind.annotation.GetMapping"; + private static final String POST_MAPPING = "PostMapping"; + private static final String FULL_POST_MAPPING = "org.springframework.web.bind.annotation.PostMapping"; + private static final String VALUE_PROP = "value"; + private static final String REQUIRED_PROP = "required"; + private static final String DELETED_COLUMN = "DeletedFlagColumn"; + + /** + * 忽略微服务间标准调用接口的导出。 + */ + private static final Set IGNORED_API_METHOD_SET = new HashSet<>(8); + + static { + IGNORED_API_METHOD_SET.add("listByIds"); + IGNORED_API_METHOD_SET.add("getById"); + IGNORED_API_METHOD_SET.add("existIds"); + IGNORED_API_METHOD_SET.add("existId"); + IGNORED_API_METHOD_SET.add("deleteById"); + IGNORED_API_METHOD_SET.add("deleteBy"); + IGNORED_API_METHOD_SET.add("listBy"); + IGNORED_API_METHOD_SET.add("listMapBy"); + IGNORED_API_METHOD_SET.add("listByNotInList"); + IGNORED_API_METHOD_SET.add("getBy"); + IGNORED_API_METHOD_SET.add("countBy"); + IGNORED_API_METHOD_SET.add("aggregateBy"); + } + + /** + * 基础配置。 + */ + private ApiCodeConfig config; + /** + * 工程对象。 + */ + private ApiProject apiProject; + /** + * 项目中所有的解析后Java文件,key是Java对象的全名,如:com.orange.demo.xxxx.Student。 + */ + private final Map projectJavaClassMap = new HashMap<>(128); + /** + * 存储服务数据。key为配置的serviceName。 + */ + private final Map serviceDataMap = new HashMap<>(8); + + /** + * 构造函数。 + * + * @param config 配置对象。 + */ + public ApiCodeParser(ApiCodeConfig config) { + this.config = config; + // 验证配置中的数据是否正确,出现错误直接抛出运行时异常。 + this.verifyConfigData(); + // 将配置文件中所有目录相关的参数,全部规格化处理,后续的使用中不用再做处理了。 + this.normalizeConfigPath(); + for (ApiCodeConfig.ServiceConfig serviceConfig : config.getServiceList()) { + InternalServiceData serviceData = new InternalServiceData(); + // 仅有微服务项目,需要添加服务路由路径。 + if (StrUtil.isNotBlank(serviceConfig.getServiceRequestPath())) { + String serviceRequestPath = ""; + if (!serviceRequestPath.equals(PATH_SEPERATOR)) { + serviceRequestPath = normalizePath(serviceConfig.getServiceRequestPath()); + } + serviceData.setServiceRequestPath(serviceRequestPath); + } + serviceDataMap.put(serviceConfig.getServiceName(), serviceData); + } + } + + /** + * 执行解析操作。 + * + * @return 解析后的工程对象。 + */ + public ApiProject doParse() throws IOException { + // 先把工程完整编译一遍,以便工程内的Java对象的引用信息更加完整。 + this.parseProject(); + // 开始逐级推演。 + apiProject = new ApiProject(); + apiProject.setProjectName(config.getProjectName()); + apiProject.setMicroService(config.getMicroService()); + apiProject.setServiceList(new LinkedList<>()); + for (ApiCodeConfig.ServiceConfig serviceConfig : config.getServiceList()) { + ApiService apiService = this.parseService(serviceConfig); + apiProject.getServiceList().add(apiService); + } + return apiProject; + } + + private void parseProject() throws IOException { + JavaProjectBuilder javaProjectBuilder = new JavaProjectBuilder(); + javaProjectBuilder.setEncoding(StandardCharsets.UTF_8.name()); + javaProjectBuilder.addSourceTree(new File(config.getProjectRootPath())); + // 全部导入,便于后续解析中使用和检索。 + for (JavaClass javaClass : javaProjectBuilder.getClasses()) { + projectJavaClassMap.put(javaClass.getFullyQualifiedName(), javaClass); + } + } + + private ApiService parseService(ApiCodeConfig.ServiceConfig serviceConfig) { + InternalServiceData serviceData = serviceDataMap.get(serviceConfig.getServiceName()); + ApiService apiService = new ApiService(); + apiService.setServiceName(serviceConfig.getServiceName()); + apiService.setShowName(serviceConfig.getShowName()); + apiService.setPort(serviceConfig.getPort()); + List controllerInfoList = serviceConfig.getControllerInfoList(); + // 准备解析接口文件 + for (ApiCodeConfig.ControllerInfo controllerInfo : controllerInfoList) { + JavaProjectBuilder javaControllerBuilder = new JavaProjectBuilder(); + javaControllerBuilder.addSourceTree(new File(controllerInfo.getPath())); + for (JavaClass javaClass : javaControllerBuilder.getClasses()) { + if (controllerInfo.getSkipControllers() != null + && controllerInfo.getSkipControllers().contains(javaClass.getName())) { + continue; + } + ApiClass apiClass = this.parseApiClass(controllerInfo, javaClass.getFullyQualifiedName(), serviceData); + if (apiClass != null) { + // 如果配置中,为当前ControllerInfo添加了groupName属性, + // 所有的生成后接口都会位于serviceName/groupName子目录,否则,都直接位于当前服务的子目录。 + if (StrUtil.isBlank(apiClass.getGroupName())) { + apiService.getDefaultGroupClassSet().add(apiClass); + } else { + Set groupedClassList = apiService.getGroupedClassMap() + .computeIfAbsent(apiClass.getGroupName(), k -> new TreeSet<>()); + groupedClassList.add(apiClass); + } + } + } + } + return apiService; + } + + private ApiClass parseApiClass( + ApiCodeConfig.ControllerInfo controllerInfo, + String classFullname, + InternalServiceData serviceData) { + // 去包含工程全部Class的Map中,找到当前ControllerClass。 + // 之所以这样做,主要是因为全工程分析controller文件,会包含更多更精确的对象关联信息。 + JavaClass controllerClass = this.projectJavaClassMap.get(classFullname); + List classAnnotations = controllerClass.getAnnotations(); + boolean hasControllerAnnotation = false; + String requestPath = ""; + for (JavaAnnotation annotation : classAnnotations) { + String annotationName = annotation.getType().getValue(); + if (this.isRequestMapping(annotationName) && annotation.getNamedParameter(VALUE_PROP) != null) { + requestPath = StrUtil.removeAll( + annotation.getNamedParameter(VALUE_PROP).toString(), "\""); + if (requestPath.equals(PATH_SEPERATOR) || StrUtil.isBlank(requestPath)) { + requestPath = ""; + } else { + requestPath = normalizePath(requestPath); + } + } + if (isController(annotationName)) { + hasControllerAnnotation = true; + } + } + if (!hasControllerAnnotation) { + return null; + } + requestPath = serviceData.getServiceRequestPath() + requestPath; + ApiClass apiClass = new ApiClass(); + apiClass.setName(controllerClass.getName()); + apiClass.setFullName(controllerClass.getFullyQualifiedName()); + apiClass.setComment(controllerClass.getComment()); + apiClass.setGroupName(controllerInfo.getGroupName()); + apiClass.setRequestPath(requestPath); + List methodList = this.parseApiMethodList(apiClass, controllerClass); + apiClass.setMethodList(methodList); + return apiClass; + } + + private boolean needToIgnore(JavaMethod method) { + return !method.isPublic() || method.isStatic() || IGNORED_API_METHOD_SET.contains(method.getName()); + } + + private List parseApiMethodList(ApiClass apiClass, JavaClass javaClass) { + List apiMethodList = new LinkedList<>(); + List methodList = javaClass.getMethods(); + for (JavaMethod method : methodList) { + if (this.needToIgnore(method)) { + continue; + } + List methodAnnotations = method.getAnnotations(); + Tuple2 result = this.parseRequestPathAndHttpMethod(methodAnnotations); + String methodRequestPath = result.getFirst(); + String httpMethod = result.getSecond(); + if (StrUtil.isNotBlank(methodRequestPath)) { + ApiMethod apiMethod = new ApiMethod(); + apiMethod.setName(method.getName()); + apiMethod.setComment(method.getComment()); + apiMethod.setHttpMethod(httpMethod); + methodRequestPath = StrUtil.removeAll(methodRequestPath, "\""); + methodRequestPath = apiClass.getRequestPath() + normalizePath(methodRequestPath); + apiMethod.setRequestPath(methodRequestPath); + apiMethod.setPathList(StrUtil.splitTrim(apiMethod.getRequestPath(), PATH_SEPERATOR)); + if (apiMethod.getRequestPath().contains("/listDict")) { + apiMethod.setListDictUrl(true); + } else if (apiMethod.getRequestPath().endsWith("/list") + || apiMethod.getRequestPath().endsWith("/listWithGroup") + || apiMethod.getRequestPath().contains("/listNotIn") + || apiMethod.getRequestPath().contains("/list")) { + apiMethod.setListUrl(true); + } else if (apiMethod.getRequestPath().contains("/doLogin")) { + apiMethod.setLoginUrl(true); + } + JavaClass returnClass = method.getReturns(); + if (returnClass.isVoid()) { + apiMethod.setReturnString("void"); + } else { + apiMethod.setReturnString(returnClass.getGenericValue()); + } + apiMethodList.add(apiMethod); + List apiArgumentList = this.parseApiMethodArgumentList(method); + apiMethod.setArgumentList(apiArgumentList); + this.classifyArgumentList(apiMethod, apiArgumentList); + } + } + return apiMethodList; + } + + private void classifyArgumentList(ApiMethod apiMethod, List apiArgumentList) { + for (ApiArgument arg : apiArgumentList) { + if (arg.getAnnotationType() == ApiArgumentAnnotationType.REQUEST_PARAM) { + if (arg.uploadFileParam) { + apiMethod.getUploadParamArgumentList().add(arg); + } else { + apiMethod.getQueryParamArgumentList().add(arg); + } + } + if (arg.getAnnotationType() != ApiArgumentAnnotationType.REQUEST_PARAM) { + apiMethod.getJsonParamArgumentList().add(arg); + } + } + } + + private Tuple2 parseRequestPathAndHttpMethod(List methodAnnotations) { + for (JavaAnnotation annotation : methodAnnotations) { + String annotationName = annotation.getType().getValue(); + if (GET_MAPPING.equals(annotationName) || FULL_GET_MAPPING.equals(annotationName)) { + String methodRequestPath = annotation.getNamedParameter(VALUE_PROP).toString(); + String httpMethod = "GET"; + return new Tuple2<>(methodRequestPath, httpMethod); + } + if (POST_MAPPING.equals(annotationName) || FULL_POST_MAPPING.equals(annotationName)) { + String methodRequestPath = annotation.getNamedParameter(VALUE_PROP).toString(); + String httpMethod = "POST"; + return new Tuple2<>(methodRequestPath, httpMethod); + } + } + return new Tuple2<>(null, null); + } + + private List parseApiMethodArgumentList(JavaMethod javaMethod) { + List apiArgumentList = new LinkedList<>(); + List parameterList = javaMethod.getParameters(); + if (CollUtil.isEmpty(parameterList)) { + return apiArgumentList; + } + for (JavaParameter parameter : parameterList) { + String typeName = parameter.getType().getValue(); + // 该类型的参数为Validator的验证结果对象,因此忽略。 + if ("BindingResult".equals(typeName) || this.isServletArgument(typeName)) { + continue; + } + ApiArgument apiArgument = this.parseApiMethodArgument(parameter); + apiArgumentList.add(apiArgument); + } + return apiArgumentList; + } + + private String parseMethodArgmentComment(JavaParameter parameter) { + String comment = null; + JavaExecutable executable = parameter.getExecutable(); + List tags = executable.getTagsByName("param"); + if (CollUtil.isNotEmpty(tags)) { + for (DocletTag tag : tags) { + if (tag.getValue().startsWith(parameter.getName())) { + comment = StrUtil.removePrefix(tag.getValue(), parameter.getName()).trim(); + break; + } + } + } + return comment; + } + + private ApiArgument parseApiMethodArgument(JavaParameter parameter) { + String typeName = parameter.getType().getValue(); + ApiArgument apiArgument = new ApiArgument(); + ApiArgumentAnnotation argumentAnnotation = + this.parseArgumentAnnotationTypeAndName(parameter.getAnnotations(), parameter.getName()); + apiArgument.setAnnotationType(argumentAnnotation.getType()); + apiArgument.setName(argumentAnnotation.getName()); + apiArgument.setTypeName(typeName); + apiArgument.setFullTypeName(parameter.getFullyQualifiedName()); + if (argumentAnnotation.getType() == ApiArgumentAnnotationType.REQUEST_PARAM) { + apiArgument.setRequired(argumentAnnotation.isRequired()); + } + String comment = parseMethodArgmentComment(parameter); + apiArgument.setComment(comment); + // 文件上传字段,是必填参数。 + if ("MultipartFile".equals(typeName)) { + apiArgument.setUploadFileParam(true); + apiArgument.setRequired(true); + return apiArgument; + } + // 对于内置类型,则无需继续处理了。所有和内置类型参数相关的处理,应该在之前完成。 + if (this.verifyAndSetBuiltinParam(apiArgument, typeName)) { + return apiArgument; + } + // 判断是否为集合类型的参数。 + if (this.isCollectionType(typeName)) { + apiArgument.setCollectionParam(true); + if (parameter.getType() instanceof DefaultJavaParameterizedType) { + DefaultJavaParameterizedType javaType = (DefaultJavaParameterizedType) parameter.getType(); + JavaType genericType = javaType.getActualTypeArguments().get(0); + ApiModel apiModel = this.buildApiModelForArgument(genericType.getFullyQualifiedName()); + apiArgument.setModelData(apiModel); + apiArgument.setFullTypeName(parameter.getGenericFullyQualifiedName()); + apiArgument.setTypeName(parameter.getGenericValue()); + } + } else { + ApiModel apiModel = this.buildApiModelForArgument(parameter.getFullyQualifiedName()); + apiArgument.setModelData(apiModel); + } + return apiArgument; + } + + private boolean verifyAndSetBuiltinParam(ApiArgument apiArgument, String typeName) { + if ("MyOrderParam".equals(typeName)) { + apiArgument.setOrderParam(true); + } else if ("MyPageParam".equals(typeName)) { + apiArgument.setPageParam(true); + } else if ("MyGroupParam".equals(typeName)) { + apiArgument.setGroupParam(true); + } else if ("MyQueryParam".equals(typeName)) { + apiArgument.setQueryParam(true); + } else if ("MyAggregationParam".equals(typeName)) { + apiArgument.setAggregationParam(true); + } + return apiArgument.isOrderParam() + || apiArgument.isPageParam() + || apiArgument.isGroupParam() + || apiArgument.isQueryParam() + || apiArgument.isAggregationParam(); + } + + private ApiArgumentAnnotation parseArgumentAnnotationTypeAndName( + List annotationList, String defaultName) { + ApiArgumentAnnotation argumentAnnotation = new ApiArgumentAnnotation(); + argumentAnnotation.setType(ApiArgumentAnnotationType.REQUEST_PARAM); + argumentAnnotation.setName(defaultName); + for (JavaAnnotation annotation : annotationList) { + String annotationName = annotation.getType().getValue(); + if ("RequestBody".equals(annotationName)) { + argumentAnnotation.setType(ApiArgumentAnnotationType.REQUEST_BODY); + return argumentAnnotation; + } else if ("MyRequestBody".equals(annotationName)) { + String annotationValue = this.getArgumentNameFromAnnotationValue(annotation, VALUE_PROP); + argumentAnnotation.setType(ApiArgumentAnnotationType.MY_REQUEST_BODY); + argumentAnnotation.setName(annotationValue != null ? annotationValue : defaultName); + return argumentAnnotation; + } else if ("RequestParam".equals(annotationName)) { + String annotationValue = this.getArgumentNameFromAnnotationValue(annotation, VALUE_PROP); + argumentAnnotation.setType(ApiArgumentAnnotationType.REQUEST_PARAM); + argumentAnnotation.setName(annotationValue != null ? annotationValue : defaultName); + String requiredValue = this.getArgumentNameFromAnnotationValue(annotation, REQUIRED_PROP); + if (StrUtil.isNotBlank(requiredValue)) { + argumentAnnotation.setRequired(Boolean.parseBoolean(requiredValue)); + } + return argumentAnnotation; + } + } + // 缺省为@RequestParam + return argumentAnnotation; + } + + private String getArgumentNameFromAnnotationValue(JavaAnnotation annotation, String attribute) { + Object value = annotation.getNamedParameter(attribute); + if (value == null) { + return null; + } + String paramAlias = value.toString(); + if (StrUtil.isNotBlank(paramAlias)) { + paramAlias = StrUtil.removeAll(paramAlias, "\""); + } + return paramAlias; + } + + private ApiModel buildApiModelForArgument(String fullJavaClassName) { + // 先从当前服务内的Model中找,如果参数是Model类型的对象,微服务和单体行为一致。 + ApiModel apiModel = apiProject.getFullNameModelMap().get(fullJavaClassName); + if (apiModel != null) { + return apiModel; + } + // 判断工程全局对象映射中是否包括该对象类型,如果不包含,就直接返回了。 + JavaClass modelClass = projectJavaClassMap.get(fullJavaClassName); + if (modelClass == null) { + return apiModel; + } + // 先行解析对象中的字段。 + apiModel = parseModel(modelClass); + apiProject.getFullNameModelMap().put(fullJavaClassName, apiModel); + return apiModel; + } + + private ApiModel parseModel(JavaClass javaClass) { + ApiModel apiModel = new ApiModel(); + apiModel.setName(javaClass.getName()); + apiModel.setFullName(javaClass.getFullyQualifiedName()); + apiModel.setComment(javaClass.getComment()); + apiModel.setFieldList(new LinkedList<>()); + List fieldList = javaClass.getFields(); + for (JavaField field : fieldList) { + if (field.isStatic()) { + continue; + } + ApiField apiField = new ApiField(); + apiField.setName(field.getName()); + apiField.setComment(field.getComment()); + apiField.setTypeName(field.getType().getSimpleName()); + apiModel.getFieldList().add(apiField); + } + return apiModel; + } + + private void verifyConfigData() { + if (StrUtil.isBlank(config.getProjectName())) { + throw new ApiCodeConfigParseException("ProjectName field can't be EMPTY."); + } + if (StrUtil.isBlank(config.getBasePackage())) { + throw new ApiCodeConfigParseException("BasePackage field can't be EMPTY."); + } + if (StrUtil.isBlank(config.getProjectRootPath())) { + throw new ApiCodeConfigParseException("ProjectRootPath field can't be EMPTY."); + } + if (!FileUtil.exist(config.getProjectRootPath())) { + throw new ApiCodeConfigParseException( + "ProjectRootPath doesn't exist, please check ./resources/export-api-config.json as DEFAULT."); + } + if (config.getMicroService() == null) { + throw new ApiCodeConfigParseException("MicroService field can't be NULL."); + } + if (CollUtil.isEmpty(config.getServiceList())) { + throw new ApiCodeConfigParseException("ServiceList field can't be EMPTY."); + } + this.verifyServiceConfig(config.getServiceList()); + } + + private void verifyServiceConfig(List serviceConfigList) { + Set serviceNameSet = new HashSet<>(8); + Set servicePathSet = new HashSet<>(8); + for (ApiCodeConfig.ServiceConfig serviceConfig : serviceConfigList) { + if (StrUtil.isBlank(serviceConfig.getServiceName())) { + throw new ApiCodeConfigParseException("One of the ServiceName Field in Services List is NULL."); + } + String serviceName = serviceConfig.getServiceName(); + if (StrUtil.isBlank(serviceConfig.getServicePath())) { + throw new ApiCodeConfigParseException( + "The ServicePath Field in Service [" + serviceName + "] is NULL."); + } + if (serviceNameSet.contains(serviceName)) { + throw new ApiCodeConfigParseException("The ServiceName [" + serviceName + "] is duplicated."); + } + serviceNameSet.add(serviceName); + if (servicePathSet.contains(serviceConfig.getServicePath())) { + throw new ApiCodeConfigParseException( + "The ServicePath [" + serviceConfig.getServicePath() + "] is duplicated."); + } + servicePathSet.add(serviceConfig.getServicePath()); + if (StrUtil.isBlank(serviceConfig.getPort())) { + throw new ApiCodeConfigParseException( + "The Port Field in Service [" + serviceName + "] is NULL."); + } + this.verifyServiceControllerConfig(serviceConfig.getControllerInfoList(), serviceName); + } + } + + private void verifyServiceControllerConfig( + List controllerInfoList, String serviceName) { + if (CollUtil.isEmpty(controllerInfoList)) { + throw new ApiCodeConfigParseException( + "The ControllerInfoList Field of Service [" + serviceName + "] is EMPTY"); + } + for (ApiCodeConfig.ControllerInfo controllerInfo : controllerInfoList) { + if (StrUtil.isBlank(controllerInfo.getPath())) { + throw new ApiCodeConfigParseException( + "One of the ControllerInfo.Path Field of Service [" + serviceName + "] is EMPTY"); + } + } + } + + private void normalizeConfigPath() { + config.setProjectRootPath(normalizePath(config.getProjectRootPath())); + for (ApiCodeConfig.ServiceConfig serviceConfig : config.getServiceList()) { + serviceConfig.setServicePath(config.getProjectRootPath() + normalizePath(serviceConfig.getServicePath())); + for (ApiCodeConfig.ControllerInfo controllerInfo : serviceConfig.getControllerInfoList()) { + controllerInfo.setPath(serviceConfig.getServicePath() + normalizePath(controllerInfo.getPath())); + } + } + } + + private String normalizePath(String path) { + if (!path.startsWith(PATH_SEPERATOR)) { + path = PATH_SEPERATOR + path; + } + return StrUtil.removeSuffix(path, PATH_SEPERATOR); + } + + private boolean isCollectionType(String typeName) { + return "List".equals(typeName) || "Set".equals(typeName) || "Collection".equals(typeName); + } + + private boolean isServletArgument(String typeName) { + return "HttpServletResponse".equals(typeName) || "HttpServletRequest".equals(typeName); + } + + private boolean isController(String annotationName) { + return "Controller".equals(annotationName) + || "org.springframework.stereotype.Controller".equals(annotationName) + || "RestController".equals(annotationName) + || "org.springframework.web.bind.annotation.RestController".equals(annotationName); + } + + private boolean isRequiredColumn(String annotationName) { + return "NotNull".equals(annotationName) + || "javax.validation.constraints.NotNull".equals(annotationName) + || "NotBlank".equals(annotationName) + || "javax.validation.constraints.NotBlank".equals(annotationName) + || "NotEmpty".equals(annotationName) + || "javax.validation.constraints.NotEmpty".equals(annotationName); + } + + private boolean isRequestMapping(String name) { + return REQUEST_MAPPING.equals(name) || FULL_REQUEST_MAPPING.equals(name); + } + + @Data + public static class ApiProject { + private String projectName; + private Boolean microService; + private List serviceList; + private Map fullNameModelMap = new HashMap<>(32); + private Map simpleNameModelMap = new HashMap<>(32); + } + + @Data + public static class ApiService { + private String serviceName; + private String showName; + private String port; + private Set defaultGroupClassSet = new TreeSet<>(); + private Map> groupedClassMap = new LinkedHashMap<>(); + } + + @Data + public static class ApiClass implements Comparable { + private String name; + private String fullName; + private String groupName; + private String comment; + private String requestPath; + private List methodList; + + @Override + public int compareTo(ApiClass o) { + return this.name.compareTo(o.name); + } + } + + @Data + public static class ApiMethod { + private String name; + private String comment; + private String returnString; + private String requestPath; + private String httpMethod; + private boolean listDictUrl = false; + private boolean listUrl = false; + private boolean loginUrl = false; + private List pathList = new LinkedList<>(); + private List argumentList; + private List queryParamArgumentList = new LinkedList<>(); + private List jsonParamArgumentList = new LinkedList<>(); + private List uploadParamArgumentList = new LinkedList<>(); + } + + @Data + public static class ApiArgument { + private String name; + private String typeName; + private String fullTypeName; + private String comment; + private Integer annotationType; + private boolean required = true; + private boolean uploadFileParam = false; + private boolean collectionParam = false; + private boolean orderParam = false; + private boolean pageParam = false; + private boolean groupParam = false; + private boolean queryParam = false; + private boolean aggregationParam = false; + private boolean jsonData = false; + private ApiModel modelData; + } + + @Data + public static class ApiArgumentAnnotation { + private String name; + private Integer type; + private boolean required = true; + } + + @Data + public static class ApiModel { + private String name; + private String fullName; + private String comment; + private List fieldList; + } + + @Data + public static class ApiField { + private String name; + private String comment; + private String typeName; + private boolean requiredColumn = false; + } + + public static final class ApiArgumentAnnotationType { + public static final int REQUEST_PARAM = 0; + public static final int REQUEST_BODY = 1; + public static final int MY_REQUEST_BODY = 2; + + private ApiArgumentAnnotationType() { + } + } + + @Data + private static class InternalServiceData { + private String serviceRequestPath = ""; + } +} diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/exception/ApiCodeConfigParseException.java b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/exception/ApiCodeConfigParseException.java new file mode 100644 index 00000000..9864e1b8 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/exception/ApiCodeConfigParseException.java @@ -0,0 +1,27 @@ +package com.orange.demo.apidoc.tools.exception; + +/** + * 解析接口信息配置对象中的异常。 + * + * @author Jerry + * @date 2020-09-24 + */ +public class ApiCodeConfigParseException extends RuntimeException { + + /** + * 构造函数。 + */ + public ApiCodeConfigParseException() { + + } + + /** + * 构造函数。 + * + * @param msg 错误信息。 + */ + public ApiCodeConfigParseException(String msg) { + super(msg); + } + +} diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/exception/MapperParseException.java b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/exception/MapperParseException.java new file mode 100644 index 00000000..1f01bdc5 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/exception/MapperParseException.java @@ -0,0 +1,27 @@ +package com.orange.demo.apidoc.tools.exception; + +/** + * 解析Mybatis XML Mapper中的异常。 + * + * @author Jerry + * @date 2020-09-24 + */ +public class MapperParseException extends RuntimeException { + + /** + * 构造函数。 + */ + public MapperParseException() { + + } + + /** + * 构造函数。 + * + * @param msg 错误信息。 + */ + public MapperParseException(String msg) { + super(msg); + } + +} diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/export/ApiDocExporter.java b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/export/ApiDocExporter.java new file mode 100644 index 00000000..68cca212 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/export/ApiDocExporter.java @@ -0,0 +1,84 @@ +package com.orange.demo.apidoc.tools.export; + +import com.orange.demo.apidoc.tools.codeparser.ApiCodeParser; +import com.orange.demo.apidoc.tools.util.FreeMarkerUtils; +import freemarker.template.Configuration; +import freemarker.template.TemplateException; +import freemarker.template.TemplateExceptionHandler; +import freemarker.template.TemplateModelException; +import org.apache.commons.io.FileUtils; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * 根据代码解析后的工程对象数据,导出到Markdown格式的接口文档文件。 + * + * @author Jerry + * @date 2020-09-24 + */ +public class ApiDocExporter { + + private final Configuration config; + + public ApiDocExporter() throws TemplateModelException { + config = new Configuration(Configuration.VERSION_2_3_28); + config.setNumberFormat("0.####"); + config.setClassicCompatible(true); + config.setAPIBuiltinEnabled(true); + config.setClassForTemplateLoading(ApiPostmanExporter.class, "/templates/"); + config.setDefaultEncoding("UTF-8"); + config.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); + config.setSharedVariable("freemarkerUtils", new FreeMarkerUtils()); + config.unsetCacheStorage(); + config.clearTemplateCache(); + } + + /** + * 生成Markdown格式的API接口文档。 + * + * @param apiProject 解析后的工程对象。 + * @param outputFile 生成后的、包含全路径的输出文件名。 + * @throws IOException 文件操作异常。 + * @throws TemplateException 模板实例化异常。 + */ + public void doGenerate(ApiCodeParser.ApiProject apiProject, String outputFile) throws IOException, TemplateException { + Map paramMap = new HashMap<>(1); + paramMap.put("project", apiProject); + List newServiceList = new LinkedList<>(); + if (apiProject.getMicroService()) { + // 在微服务场景中,我们需要把upms服务放到最前面显示。 + for (ApiCodeParser.ApiService apiService : apiProject.getServiceList()) { + if ("upms".equals(apiService.getServiceName())) { + newServiceList.add(apiService); + break; + } + } + for (ApiCodeParser.ApiService apiService : apiProject.getServiceList()) { + if (!"upms".equals(apiService.getServiceName())) { + newServiceList.add(apiService); + } + } + } else { + ApiCodeParser.ApiService appService = apiProject.getServiceList().get(0); + ApiCodeParser.ApiService newUpmsService = new ApiCodeParser.ApiService(); + newUpmsService.setDefaultGroupClassSet(appService.getGroupedClassMap().get("upms")); + newUpmsService.setServiceName("upms"); + newUpmsService.setShowName("用户权限模块"); + newServiceList.add(newUpmsService); + ApiCodeParser.ApiService newAppService = new ApiCodeParser.ApiService(); + newAppService.setDefaultGroupClassSet(appService.getGroupedClassMap().get("app")); + newAppService.setServiceName("app"); + newAppService.setShowName("业务应用模块"); + newServiceList.add(newAppService); + } + apiProject.setServiceList(newServiceList); + FileUtils.forceMkdirParent(new File(outputFile)); + config.getTemplate("./api-doc.md.ftl").process(paramMap, new FileWriter(outputFile)); + } +} diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/export/ApiPostmanExporter.java b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/export/ApiPostmanExporter.java new file mode 100644 index 00000000..ab63254d --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/export/ApiPostmanExporter.java @@ -0,0 +1,53 @@ +package com.orange.demo.apidoc.tools.export; + +import com.orange.demo.apidoc.tools.codeparser.ApiCodeParser; +import com.orange.demo.apidoc.tools.util.FreeMarkerUtils; +import freemarker.template.Configuration; +import freemarker.template.TemplateException; +import freemarker.template.TemplateExceptionHandler; +import freemarker.template.TemplateModelException; +import org.apache.commons.io.FileUtils; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +/** + * 根据代码解析后的工程对象数据,导出到Postman支持的JSON格式的文件。 + * + * @author Jerry + * @date 2020-09-24 + */ +public class ApiPostmanExporter { + + private final Configuration config; + + public ApiPostmanExporter() throws TemplateModelException { + config = new Configuration(Configuration.VERSION_2_3_28); + config.setNumberFormat("0.####"); + config.setClassicCompatible(true); + config.setAPIBuiltinEnabled(true); + config.setClassForTemplateLoading(ApiPostmanExporter.class, "/templates/"); + config.setDefaultEncoding("UTF-8"); + config.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); + config.setSharedVariable("freemarkerUtils", new FreeMarkerUtils()); + config.unsetCacheStorage(); + config.clearTemplateCache(); + } + + /** + * 生成Postman支持的JSON文档。 + * @param apiProject 解析后的工程对象。 + * @param outputFile 生成后的、包含全路径的输出文件名。 + * @throws IOException 文件操作异常。 + * @throws TemplateException 模板实例化异常。 + */ + public void doGenerate(ApiCodeParser.ApiProject apiProject, String outputFile) throws IOException, TemplateException { + Map paramMap = new HashMap<>(1); + paramMap.put("project", apiProject); + FileUtils.forceMkdirParent(new File(outputFile)); + config.getTemplate("./postman_collection.json.ftl").process(paramMap, new FileWriter(outputFile)); + } +} diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/util/FreeMarkerUtils.java b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/util/FreeMarkerUtils.java new file mode 100644 index 00000000..9927c905 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/java/com/orange/demo/apidoc/tools/util/FreeMarkerUtils.java @@ -0,0 +1,28 @@ +package com.orange.demo.apidoc.tools.util; + +import java.util.UUID; + +/** + * 仅供Freemarker模板内部使用的Java工具函数。 + * + * @author Jerry + * @date 2020-09-24 + */ +public class FreeMarkerUtils { + + /** + * 生成GUID。 + * + * @return 生成后的GUID。 + */ + public static String generateGuid() { + return UUID.randomUUID().toString(); + } + + /** + * 私有构造函数,明确标识该常量类的作用。 + */ + public FreeMarkerUtils() { + // FreeMarker的工具对象,Sonarqube建议给出空构造的注释。 + } +} diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/export-api-config.json b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/export-api-config.json new file mode 100644 index 00000000..66ac20b3 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/export-api-config.json @@ -0,0 +1,24 @@ +{ + "projectName": "橙单单体开源版", + "basePackage": "com.orange.demo", + "projectRootPath": "这里请使用当前工程的根目录,如:e:/xxx/OrangeDemo 或者 /Users/xxx/OrangeDemo", + "microService": "false", + "serviceList": [ + { + "serviceName": "application", + "showName": "应用服务模块", + "servicePath": "/application-webadmin", + "port": "8082", + "controllerInfoList": [ + { + "path": "/src/main/java/com/orange/demo/webadmin/app/controller", + "groupName": "app" + }, + { + "path": "/src/main/java/com/orange/demo/webadmin/upms/controller", + "groupName": "upms" + } + ] + } + ] +} diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/api-doc.md.ftl b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/api-doc.md.ftl new file mode 100644 index 00000000..dcf7d8dc --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/api-doc.md.ftl @@ -0,0 +1,144 @@ +## 用户登录 +### 登录接口 +#### 登录 +- **URI:** /admin/upms/login/doLogin +- **Type:** GET +- **Content-Type:** multipart/form-data +- **Request-Headers:** +Name|Type|Description +--|--|-- +Authorization|String|身份验证的Token +- **Request-Parameters:** +Parameter|Type|Required|Description +--|--|--|-- +loginName|string|true|用户名 +password|string|true|加密后的用户密码 + +#### 退出 +- **URI:** /admin/upms/login/logout +- **Type:** POST +- **Content-Type:** application/json; chartset=utf-8 +- **Request-Headers:** +Name|Type|Description +--|--|-- +Authorization|String|身份验证的Token + +#### 修改密码 +- **URI:** /admin/upms/login/changePassword +- **Type:** POST +- **Content-Type:** application/json; chartset=utf-8 +- **Request-Headers:** +Name|Type|Description +--|--|-- +Authorization|String|身份验证的Token +- **Request-Parameters:** +Parameter|Type|Required|Description +--|--|--|-- +oldPass|string|true|加密后的原用户密码 +newPass|string|true|加密后的新用户密码 +<#list project.serviceList as service> + +## ${service.showName} +<#list service.defaultGroupClassSet as apiClass> +### ${apiClass.name} +<#list apiClass.methodList as apiMethod> +#### ${apiMethod.name} +- **URI:** ${apiMethod.requestPath} +- **Type:** ${apiMethod.httpMethod} +- **Content-Type:** <#if apiMethod.httpMethod == "GET" || apiMethod.queryParamArgumentList?size gt 0 || apiMethod.uploadParamArgumentList?size gt 0>multipart/form-data<#else>application/json; chartset=utf-8 +- **Request-Headers:** +Name|Type|Description +--|--|-- +Authorization|String|身份验证的Token +<#if apiMethod.queryParamArgumentList?size gt 0 || apiMethod.uploadParamArgumentList?size gt 0> +- **Request-Parameters:** +Parameter|Type|Required|Description +--|--|--|-- +<#list apiMethod.queryParamArgumentList as apiArgument> +<#if apiArgument.modelData??> +<#list apiArgument.modelData.tableFieldList as apiField> +${apiField.name}|${apiField.typeName}|<#if apiMethod.listDictUrl>false<#else><#if apiField.requiredColumn>true<#else>false|${apiField.comment} + +<#else> +${apiArgument.name}|${apiArgument.typeName}|<#if apiMethod.listDictUrl>false<#else><#if apiArgument.required>true<#else>false|${apiArgument.comment} +<#-- apiArgument.modelData?? --> + + +<#list apiMethod.uploadParamArgumentList as apiArgument> +${apiArgument.name}|File|true|${apiArgument.comment} + +<#if apiMethod.jsonParamArgumentList?size gt 0> +- **Request-Body:** +``` json +{ +<#list apiMethod.jsonParamArgumentList as apiArgument> +<#if apiArgument.modelData??> + <#if apiArgument.collectionParam> + "${apiArgument.name}" : [ + { + <#if apiMethod.listUrl> + <#list apiArgument.modelData.filteredFieldList as apiField> + "${apiField.name}" : "${apiField.typeName} | false | <#if apiField.name == "searchString">模糊搜索字符串。<#else>${apiField.comment}"<#if apiField_has_next>, + + <#else><#-- apiMethod.listUrl --> + <#list apiArgument.modelData.tableFieldList as apiField> + <#if !apiMethod.addUrl || !apiField.primaryKey> + "${apiField.name}" : "${apiField.typeName} | <#if apiField.requiredColumn>true<#else>false | ${apiField.comment}"<#if apiField_has_next>, + + + <#-- apiMethod.listUrl --> + } + ]<#if apiArgument_has_next>, + <#else><#-- apiArgument.collectionParam --> + "${apiArgument.name}" : { + <#if apiMethod.listUrl> + <#list apiArgument.modelData.filteredFieldList as apiField> + "${apiField.name}" : "${apiField.typeName} | false | <#if apiField.name == "searchString">模糊搜索字符串。<#else>${apiField.comment}"<#if apiField_has_next>, + + <#else><#-- apiMethod.listUrl --> + <#list apiArgument.modelData.tableFieldList as apiField> + <#if !apiMethod.addUrl || !apiField.primaryKey> + "${apiField.name}" : "${apiField.typeName} | <#if apiField.requiredColumn>true<#else>false | ${apiField.comment}"<#if apiField_has_next>, + + + <#-- apiMethod.listUrl --> + }<#if apiArgument_has_next>, + <#-- apiArgument.collectionParam --> +<#elseif apiArgument.orderParam> + "${apiArgument.name}" : [ + { + "fieldName" : "String | false | 排序字段名", + "asc" : "Boolean | false | 是否升序" + } + ]<#if apiArgument_has_next>, +<#elseif apiArgument.groupParam> + "${apiArgument.name}" : [ + { + "fieldName" : "String | false | 分组字段名", + "aliasName" : "String | false | 分组字段别名", + "dateAggregateBy" : "String | false | 是否按照日期聚合,可选项(day|month|year)" + } + ]<#if apiArgument_has_next>, +<#elseif apiArgument.pageParam> + "${apiArgument.name}" : { + "pageNum": "Integer | false | 分页页号", + "pageSize": "Integer | false | 每页数据量" + }<#if apiArgument_has_next>, +<#elseif apiArgument.queryParam || apiArgument.aggregationParam> + ${apiArgument.name}" : { + + }<#if apiArgument_has_next>, +<#else><#-- apiArgument.modelData?? --> + <#if apiArgument.collectionParam> + "${apiArgument.name}" : [ "${apiArgument.typeName} | ${apiArgument.required}<#if apiArgument.comment??> | ${apiArgument.comment}" ]<#if apiArgument_has_next>, + <#else> + "${apiArgument.name}" : "${apiArgument.typeName} | ${apiArgument.required}<#if apiArgument.comment??> | ${apiArgument.comment}"<#if apiArgument_has_next>, + +<#-- apiArgument.modelData?? --> + +} +``` + +<#-- apiClass.methodList as apiMethod --> +<#-- upmsClassList as apiClass --> + diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/postman_collection.json.ftl b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/postman_collection.json.ftl new file mode 100644 index 00000000..2db6c184 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/postman_collection.json.ftl @@ -0,0 +1,42 @@ +<#import "postman_common.ftl" as Common> +{ + "info": { + "_postman_id": "92b51dc5-3611-49ac-8d94-a0718dba5bf1", + "name": "${project.projectName}", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + <#list project.serviceList as service> + { + "name": "${service.serviceName}", + "item": [ + <#if service.groupedClassMap?size gt 0> + <#list service.groupedClassMap?keys as groupName> + <#assign groupedClassList=service.groupedClassMap[groupName] /> + { + "name": "${groupName}", + "item": [ + <#list groupedClassList as apiClass> + { + <@Common.generateControllerRequest service apiClass 7/> + }<#if apiClass_has_next>, + + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + }<#if groupName_has_next>, + + + <#list service.defaultGroupClassSet as apiClass> + { + <@Common.generateControllerRequest service apiClass 5/> + }<#if apiClass_has_next>, + + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + }<#if service_has_next>, + <#-- project.serviceList as service --> + ], + "protocolProfileBehavior": {} +} diff --git a/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/postman_common.ftl b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/postman_common.ftl new file mode 100644 index 00000000..9bf2a47e --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/apidoc-tools/src/main/resources/templates/postman_common.ftl @@ -0,0 +1,120 @@ +<#macro doIndent level><#if level != 0><#list 0..(level-1) as i> + +<#macro generateControllerRequest service apiClass indentLevel> +<@doIndent indentLevel/>"name": "${apiClass.name}", +<@doIndent indentLevel/>"item": [ + <#list apiClass.methodList as apiMethod> +<@doIndent indentLevel/> { +<@doIndent indentLevel/> "name": "${apiMethod.name}", + <#if apiMethod.loginUrl> +<@doIndent indentLevel/> "event": [ +<@doIndent indentLevel/> { +<@doIndent indentLevel/> "listen": "test", +<@doIndent indentLevel/> "script": { +<@doIndent indentLevel/> "id": "${freemarkerUtils.generateGuid()}", +<@doIndent indentLevel/> "type": "text/javascript", +<@doIndent indentLevel/> "exec": [ +<@doIndent indentLevel/> "pm.test(\"登录操作\", function () {", +<@doIndent indentLevel/> " var jsonData = pm.response.json();", +<@doIndent indentLevel/> " var token = jsonData.data.tokenData;", +<@doIndent indentLevel/> " pm.environment.set(\"token\", token);", +<@doIndent indentLevel/> " console.log(\"login token \" + token);", +<@doIndent indentLevel/> "});", +<@doIndent indentLevel/> "" +<@doIndent indentLevel/> ] +<@doIndent indentLevel/> } +<@doIndent indentLevel/> }, +<@doIndent indentLevel/> { +<@doIndent indentLevel/> "listen": "prerequest", +<@doIndent indentLevel/> "script": { +<@doIndent indentLevel/> "id": "${freemarkerUtils.generateGuid()}", +<@doIndent indentLevel/> "type": "text/javascript", +<@doIndent indentLevel/> "exec": [ +<@doIndent indentLevel/> "" +<@doIndent indentLevel/> ] +<@doIndent indentLevel/> } +<@doIndent indentLevel/> } +<@doIndent indentLevel/> ], + +<@doIndent indentLevel/> "request": { +<@doIndent indentLevel/> "method": "${apiMethod.httpMethod}", + <#if apiMethod.loginUrl> +<@doIndent indentLevel/> "header": [], + <#else> +<@doIndent indentLevel/> "header": [ +<@doIndent indentLevel/> { +<@doIndent indentLevel/> "key": "Authorization", +<@doIndent indentLevel/> "value": "{{token}}", +<@doIndent indentLevel/> "type": "text" +<@doIndent indentLevel/> } +<@doIndent indentLevel/> ], + +<@doIndent indentLevel/> "url": { +<@doIndent indentLevel/> "raw": "http://{{host}}:${service.port}/${apiMethod.requestPath}", +<@doIndent indentLevel/> "protocol": "http", +<@doIndent indentLevel/> "host": [ +<@doIndent indentLevel/> "{{host}}" +<@doIndent indentLevel/> ], +<@doIndent indentLevel/> "port": "${service.port}", +<@doIndent indentLevel/> "path": [ + <#list apiMethod.pathList as path> +<@doIndent indentLevel/> "${path}"<#if path_has_next>, + +<@doIndent indentLevel/> ]<#if apiMethod.queryParamArgumentList?size gt 0>, + <#if apiMethod.queryParamArgumentList?size gt 0> +<@doIndent indentLevel/> "query": [ + <#list apiMethod.queryParamArgumentList as apiArgument> + <#if apiArgument.modelData??> + <#list apiArgument.modelData.tableFieldList as apiField> +<@doIndent indentLevel/> { +<@doIndent indentLevel/> "key": "${apiField.name}", +<@doIndent indentLevel/> "value": "" +<@doIndent indentLevel/> }<#if apiArgument_has_next || apiField_has_next>, + + <#else> +<@doIndent indentLevel/> { +<@doIndent indentLevel/> "key": "${apiArgument.name}", +<@doIndent indentLevel/> "value": "" +<@doIndent indentLevel/> }<#if apiArgument_has_next>, + + +<@doIndent indentLevel/> ] + +<@doIndent indentLevel/> }<#if (apiMethod.httpMethod == "POST" && apiMethod.jsonParamArgumentList?size gt 0) || apiMethod.uploadParamArgumentList?size gt 0>, + <#if apiMethod.uploadParamArgumentList?size gt 0> +<@doIndent indentLevel/> "body": { +<@doIndent indentLevel/> "mode": "formdata", +<@doIndent indentLevel/> "formdata": [ + <#list apiMethod.uploadParamArgumentList as apiArgument> +<@doIndent indentLevel/> { +<@doIndent indentLevel/> "key": "${apiArgument.name}", +<@doIndent indentLevel/> "type": "file", +<@doIndent indentLevel/> "src": [] +<@doIndent indentLevel/> }<#if apiArgument_has_next>, + +<@doIndent indentLevel/> ] +<@doIndent indentLevel/> }<#if apiMethod.httpMethod == "POST" && apiMethod.jsonParamArgumentList?size gt 0>, + <#-- apiMethod.uploadParamArgumentList?size gt 0 --> + <#if apiMethod.httpMethod == "POST" && apiMethod.jsonParamArgumentList?size gt 0> +<@doIndent indentLevel/> "body": { +<@doIndent indentLevel/> "mode": "raw", + <#if !apiMethod.loginUrl> +<@doIndent indentLevel/> "raw": "{\n<#list apiMethod.jsonParamArgumentList as apiArgument><#if apiArgument.modelData??><#if apiArgument.collectionParam>\t\"${apiArgument.name}\" : [\n\t\t{\n<#list apiArgument.modelData.fieldList as apiField><#if apiMethod.listUrl>\t\t\t\"${apiField.name}\" : \"\"<#if apiField_has_next>,\n<#else>\t\t\t\"${apiField.name}\" : \"<#if apiField.typeName == "Integer" || apiField.typeName == "Long">0\"<#if apiField_has_next>,\n<#-- apiMethod.listUrl -->\t\t}\n\t]<#if apiArgument_has_next>,\n<#else><#-- apiArgument.collectionParam -->\t\"${apiArgument.name}\" : {\n<#list apiArgument.modelData.fieldList as apiField><#if apiMethod.listUrl>\t\t\"${apiField.name}\" : \"\"<#if apiField_has_next>,\n<#else>\t\t\"${apiField.name}\" : \"<#if apiField.typeName == "Integer" || apiField.typeName == "Long">0\"<#if apiField_has_next>,\n<#-- apiMethod.listUrl -->\t}<#if apiArgument_has_next>,\n<#-- apiArgument.collectionParam --><#elseif apiArgument.orderParam>\t\"${apiArgument.name}\" : [\n\t\t{\n\t\t\t\"fieldName\" : \"\",\n\t\t\t\"asc\" : \"true\"\n\t\t}\n\t]<#if apiArgument_has_next>,\n<#elseif apiArgument.groupParam>\t\"${apiArgument.name}\" : [\n\t\t{\n\t\t\t\"fieldName\" : \"\",\n\t\t\t\"aliasName\" : \"\",\n\t\t\t\"dateAggregateBy\" : \"\"\n\t\t}\n\t]<#if apiArgument_has_next>,\n<#elseif apiArgument.pageParam>\t\"${apiArgument.name}\" : {\n\t\t\"pageNum\": \"1\",\n\t\t\"pageSize\": \"10\"\n\t}<#if apiArgument_has_next>,\n<#elseif apiArgument.queryParam || apiArgument.aggregationParam>\t\"${apiArgument.name}\" : {\n\t}<#if apiArgument_has_next>,\n<#else><#if apiArgument.collectionParam>\t\"${apiArgument.name}\" : [ ]<#if apiArgument_has_next>,\n<#else>\t\"${apiArgument.name}\" : \"\"<#if apiArgument_has_next>,\n<#-- apiArgument.modelData?? --><#-- apiMethod.jsonParamArgumentList?size gt 0 -->}\n", + <#else> +<@doIndent indentLevel/> "raw": "{\n \"loginName\":\"admin\",\n \"password\":\"IP3ccke3GhH45iGHB5qP9p7iZw6xUyj28Ju10rnBiPKOI35sc%2BjI7%2FdsjOkHWMfUwGYGfz8ik31HC2Ruk%2Fhkd9f6RPULTHj7VpFdNdde2P9M4mQQnFBAiPM7VT9iW3RyCtPlJexQ3nAiA09OqG%2F0sIf1kcyveSrulxembARDbDo%3D\"\n}", + +<@doIndent indentLevel/> "options": { +<@doIndent indentLevel/> "raw": { +<@doIndent indentLevel/> "language": "json" +<@doIndent indentLevel/> } +<@doIndent indentLevel/> } +<@doIndent indentLevel/> } + +<@doIndent indentLevel/> }, +<@doIndent indentLevel/> "response": [] +<@doIndent indentLevel/> }<#if apiMethod_has_next>, + <#-- apiClass.methodList as apiMethod --> +<@doIndent indentLevel/>], +<@doIndent indentLevel/>"protocolProfileBehavior": {}, +<@doIndent indentLevel/>"_postman_isSubFolder": true + diff --git a/orange-demo-single/orange-demo-single-service/framework/pom.xml b/orange-demo-single/orange-demo-single-service/framework/pom.xml new file mode 100644 index 00000000..dc03dec2 --- /dev/null +++ b/orange-demo-single/orange-demo-single-service/framework/pom.xml @@ -0,0 +1,17 @@ + + + + com.orange.demo + OrangeSingleDemo + 1.0.0 + + 4.0.0 + + framework + pom + + + apidoc-tools + + diff --git a/orange-demo-single/orange-demo-single-service/pom.xml b/orange-demo-single/orange-demo-single-service/pom.xml index 7038463a..baf42ca0 100644 --- a/orange-demo-single/orange-demo-single-service/pom.xml +++ b/orange-demo-single/orange-demo-single-service/pom.xml @@ -33,18 +33,17 @@ 6.2.0.Final 1.2.6 - 2.1.5 - 1.3.7 + 3.4.2 1.3.0 3.15.4 2.0.0 - 2.0.8 application-webadmin application-common common + framework diff --git a/orange-demo-single/orange-demo-single-service/zz-resource/db-scripts/zz-orange-demo.sql b/orange-demo-single/orange-demo-single-service/zz-resource/db-scripts/zzdemo-single.sql similarity index 67% rename from orange-demo-single/orange-demo-single-service/zz-resource/db-scripts/zz-orange-demo.sql rename to orange-demo-single/orange-demo-single-service/zz-resource/db-scripts/zzdemo-single.sql index da5e41da..215a070d 100644 --- a/orange-demo-single/orange-demo-single-service/zz-resource/db-scripts/zz-orange-demo.sql +++ b/orange-demo-single/orange-demo-single-service/zz-resource/db-scripts/zzdemo-single.sql @@ -1,5 +1,3 @@ -CREATE DATABASE `zzdemo-single` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; -USE `zzdemo-single`; SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; @@ -3702,20 +3700,7 @@ CREATE TABLE `zz_class` ( -- Records of zz_class -- ---------------------------- BEGIN; -INSERT INTO `zz_class` VALUES (1016971499387228160, '小学一年级随堂班', 1015817732197453824, 1015842628948463616, 15, 0, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016971692685922304, '小学二年级随堂班', 1015818056597508096, 1018000939508568064, 20, 0, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016971755373989888, '小学三年级随堂班', 1015817732197453824, 1015842628948463616, 100, 0, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016971816040402944, '小学四年级随堂班', 1015817732197453824, 1015852853839532032, 0, 0, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016971872105664512, '小学五年级随堂班', 1015818056597508096, 1018001219050541056, 0, 0, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016971931153076224, '小学六年级随堂班', 1015817732197453824, 1015852480873631744, 0, 0, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972016347779072, '小学一年级提高班', 1015817732197453824, 1015842628948463616, 0, 1, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972071955861504, '小学二年级提高班', 1015817732197453824, 1015852480873631744, 0, 1, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972128667045888, '小学三年级提高班', 1015818056597508096, 1018001219050541056, 0, 1, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972187949338624, '小学四年级提高班', 1015817732197453824, 1015852480873631744, 0, 1, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972236452270080, '小学五年级提高班', 1015817732197453824, 1015852480873631744, 0, 1, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972308355223552, '小学六年级提高班', 1015818056597508096, 1018000939508568064, 0, 1, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972406023786496, '小学奥林匹克竞赛班', 1015818056597508096, 1018001219050541056, 0, 1, 1093809448606765057, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972484746678272, '小学毕业提分班', 1015818056597508096, 1018000939508568064, 0, 2, 1093809448606765057, '2020-10-17 00:00:00', 1); +INSERT INTO `zz_class` VALUES (1450789822061875200, '一年级数学班', 1450789433778376704, 1450789566859448320, 12, 0, 1450785767004573869, '2021-10-20 19:43:43', 1); COMMIT; -- ---------------------------- @@ -3733,15 +3718,7 @@ CREATE TABLE `zz_class_course` ( -- Records of zz_class_course -- ---------------------------- BEGIN; -INSERT INTO `zz_class_course` VALUES (1016971499387228160, 1016699195411402752, 1); -INSERT INTO `zz_class_course` VALUES (1016971499387228160, 1016920878164480000, 0); -INSERT INTO `zz_class_course` VALUES (1016971499387228160, 1016923276064854016, 0); -INSERT INTO `zz_class_course` VALUES (1016971692685922304, 1016917385529790464, 1); -INSERT INTO `zz_class_course` VALUES (1016971755373989888, 1016917732260319232, 0); -INSERT INTO `zz_class_course` VALUES (1016971755373989888, 1016917900699373568, 0); -INSERT INTO `zz_class_course` VALUES (1016971755373989888, 1016918360520921088, 0); -INSERT INTO `zz_class_course` VALUES (1016971755373989888, 1016918605715738624, 0); -INSERT INTO `zz_class_course` VALUES (1016971755373989888, 1016918836729614336, 0); +INSERT INTO `zz_class_course` VALUES (1450789822061875200, 1450789702675206144, 0); COMMIT; -- ---------------------------- @@ -3759,12 +3736,7 @@ CREATE TABLE `zz_class_student` ( -- Records of zz_class_student -- ---------------------------- BEGIN; -INSERT INTO `zz_class_student` VALUES (1016971499387228160, 1015842628948463616); -INSERT INTO `zz_class_student` VALUES (1016971692685922304, 1015842628948463616); -INSERT INTO `zz_class_student` VALUES (1016971499387228160, 1015852480873631744); -INSERT INTO `zz_class_student` VALUES (1016971692685922304, 1015852853839532032); -INSERT INTO `zz_class_student` VALUES (1016972016347779072, 1018000939508568064); -INSERT INTO `zz_class_student` VALUES (1016972016347779072, 1018001219050541056); +INSERT INTO `zz_class_student` VALUES (1450789822061875200, 1450789566859448320); COMMIT; -- ---------------------------- @@ -3791,33 +3763,7 @@ CREATE TABLE `zz_course` ( -- Records of zz_course -- ---------------------------- BEGIN; -INSERT INTO `zz_course` VALUES (1016699195411402752, '小学一年级拼音基础练习', 299.00, '小学一年级拼音基础练习', 0, 1, 0, 10, '[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"b09ef09478d8452d908600ff98b6f1ce.JPG\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016917385529790464, '小学二年级语文课程', 980.00, '小学二年级课程', 1, 2, 0, 25, '[{\"name\":\"IMG_0455.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"79651a658e88408888f847366fbf98d0.JPG\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016917732260319232, '小学三年级语文课程', 1080.00, '小学三年级语文课程', 1, 3, 0, 30, '[{\"name\":\"IMG_0001.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"0d11548eb91142d49a9253c0060d3f94.JPG\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016917900699373568, '小学四年级语文课程', 888.00, '小学四年级语文课程', 1, 4, 0, 27, '[{\"name\":\"IMG_0002.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7358b520e31e4ee0b2b8c4f9c31614d9.JPG\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016918360520921088, '小学五年级语文课程', 1199.00, '小学五年级语文课程', 2, 5, 0, 30, '[{\"name\":\"IMG_0004.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"cf804a5e14fb498fa8bf3745cad39bca.JPG\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016918605715738624, '小学六年级语文课程', 1288.00, '小学六年级语文课程', 2, 6, 0, 32, '[{\"name\":\"IMG_0006.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"a0d0476fac9c46f08b7ebef597b8765a.JPG\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016918836729614336, '天津小学一年级语文课程', 300.00, '天津小学一年级语文课程', 0, 1, 0, 20, '[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7f64971a69944b0082f21a6036c31efd.JPG\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016920152549888000, '天津小学二年级语文课程', 699.00, '天津小学二年级语文课程', 1, 2, 0, 20, '[{\"name\":\"IMG_0007.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"4baf08c1da8741bb808caf09475e49a9.JPG\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016920339255136256, '天津小学三年级语文课程', 998.00, '天津小学三年级语文课程', 1, 3, 0, 25, '[{\"name\":\"IMG_0009.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"6bc1eaab831d49708e4b1e0a5d657d61.JPG\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 21:22:54'); -INSERT INTO `zz_course` VALUES (1016920878164480000, '小学数学一年级课程', 388.00, '小学数学一年级课程', 0, 1, 1, 15, '[{\"name\":\"IMG_0010.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7e9583aba9594a98b1e0268837d2a5d0.JPG\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016921053566078976, '小学数学二年级课程', 700.00, '小学数学二年级课程', 0, 2, 1, 20, '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"7a1fdc70976f4820aa019f91514de272.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016921250996162560, '小学数学三年级课程', 700.00, '小学数学三年级课程', 1, 3, 1, 20, '[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"f14c0f101146453c80607230e842f1c9.jpg\"},{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"b8451e95fa314facaa8a3cd720888574.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016921446102601728, '小学数学四年级课程', 800.00, '小学数学四年级课程', 1, 4, 1, 21, '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"78e1cac8c4284c8a82c7ea4bef5162a4.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016921667582824448, '小学数学五年级课程', 900.00, '小学数学五年级课程', 2, 5, 1, 25, '[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"167967c0c025406483861eed038111a0.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016922210208321536, '小学数学六年级课程', 1099.00, '小学数学六年级课程', 2, 6, 1, 20, '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"7f79d414e4b14ce19d75f038306088a9.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016922414236045312, '天津数学一年级课程', 499.00, '天津数学一年级课程', 0, 1, 1, 20, '[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"59d6f1cea3584a1ab637ab6a69ebacd6.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016922587657932800, '天津数学二年级课程', 500.00, '天津数学二年级课程', 1, 2, 1, 25, '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"830a0f67737e4b79a605ecbbd20f9418.jpg\"},{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"5f9be80c275c48bda8a67562276aa04e.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016922752997396480, '天津数学三年级课程', 799.00, '天津数学三年级课程', 2, 3, 1, 24, '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"0fb454a0d56843e6b77bfc874f8a4a0f.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016923276064854016, '小学英语一年级课程', 399.00, '小学英语一年级课程', 0, 1, 2, 15, '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"44177c3674f543fda24222b8297ef203.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016923512082534400, '小学英语二年级课程', 428.00, '小学英语二年级课程', 0, 2, 2, 15, '[{\"name\":\"english2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"1a775271ccf9436c8b4e92a841556d79.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016924065042796544, '小学英语三年级课程', 666.00, '小学英语三年级课程', 1, 3, 2, 25, '[{\"name\":\"english2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"d9eded33a06d4931ae326cac3871948f.jpg\"},{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"f179474ce95e4210b4e2a04d480c6535.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016924308048187392, '小学英语四年级课程', 700.00, '小学英语四年级课程', 1, 4, 2, 25, '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"c71da8ce21b44dd8bb761fa93b09a341.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016924664354312192, '小学英语五年级课程', 805.00, '小学英语五年级课程', 2, 5, 2, 28, '[{\"name\":\"english2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"0d81493585d94962acbcdc81c074224a.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016924985629609984, '小学英语六年级课程', 998.00, '小学英语六年级课程', 2, 6, 2, 30, '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"17b2b4380fc746659666f9c51bfa7618.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016925257013661696, '天津英语一年级课程', 499.00, '天津英语一年级课程', 0, 1, 2, 20, '[{\"name\":\"english2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"dd15b00b79154c398a3daa9fb8cff9f9.jpg\"},{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"2a0b1f0d262649a294a9f647421f5a7e.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1016925420855758848, '天津英语二年级课程', 528.00, '天津英语二年级课程', 1, 2, 2, 23, '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"7dc07373076f452eac02d9405ac83479.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); -INSERT INTO `zz_course` VALUES (1018007994936070144, '小学一年级语文课程B', 1111.00, '1112222', 0, 1, 1, 23, '[{\"name\":\"微信图片_20190406094309.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"b11699acb7094c11a1c1efa71d53ee19.jpg\"},{\"name\":\"微信图片_20190406094305.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"e248874a47e849e29dd7b699b2685d30.jpg\"}]', 1093809448606765057, '2020-10-17 00:00:00', '2020-10-17 00:00:00'); +INSERT INTO `zz_course` VALUES (1450789702675206144, '数学课', 214.00, '数学课', 0, 3, 1, 12, '[{\"name\":\"logo.png\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"46296fa64fa94bc2a1dacde9bfd146cb.png\"}]', 1450785767004573869, '2021-10-20 19:43:14', '2021-10-20 19:43:19'); COMMIT; -- ---------------------------- @@ -3839,21 +3785,7 @@ CREATE TABLE `zz_course_trans_stats` ( UNIQUE KEY `uk_stats_date_subject_id_grade_course_id` (`stats_date`,`grade_id`,`course_id`) USING BTREE, KEY `idx_grade_id` (`grade_id`) USING BTREE, KEY `idx_course_id` (`course_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_course_trans_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_course_trans_stats` VALUES (1, '2020-01-10', 0, 1, NULL, 1016699195411402752, '小学一年级拼音基础练习', 1, 0, 0); -INSERT INTO `zz_course_trans_stats` VALUES (2, '2020-01-10', 0, 2, NULL, 1016917385529790464, '小学二年级语文课程', 2, 55, 1); -INSERT INTO `zz_course_trans_stats` VALUES (3, '2020-01-10', 0, 3, NULL, 1016917732260319232, '小学三年级语文课程', 2, 118, 2); -INSERT INTO `zz_course_trans_stats` VALUES (4, '2020-01-10', 0, 4, NULL, 1016917900699373568, '小学四年级语文课程', 0, 40, 1); -INSERT INTO `zz_course_trans_stats` VALUES (5, '2020-01-11', 0, 1, NULL, 1016699195411402752, '小学一年级拼音基础练习', 3, 119, 2); -INSERT INTO `zz_course_trans_stats` VALUES (6, '2020-01-11', 0, 2, NULL, 1016917385529790464, '小学二年级语文课程', 1, 36, 1); -INSERT INTO `zz_course_trans_stats` VALUES (7, '2020-01-11', 0, 3, NULL, 1016917732260319232, '小学三年级语文课程', 1, 147, 2); -INSERT INTO `zz_course_trans_stats` VALUES (8, '2020-01-11', 0, 4, NULL, 1016917900699373568, '小学四年级语文课程', 0, 76, 1); -COMMIT; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; -- ---------------------------- -- Table structure for zz_grade @@ -3864,25 +3796,7 @@ CREATE TABLE `zz_grade` ( `grade_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '年级名称', `status` int(11) NOT NULL COMMENT '是否正在使用(0:不是,1:是)', PRIMARY KEY (`grade_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_grade --- ---------------------------- -BEGIN; -INSERT INTO `zz_grade` VALUES (1, '一年级', 1); -INSERT INTO `zz_grade` VALUES (2, '二年级', 1); -INSERT INTO `zz_grade` VALUES (3, '三年级', 1); -INSERT INTO `zz_grade` VALUES (4, '四年级', 1); -INSERT INTO `zz_grade` VALUES (5, '五年级', 1); -INSERT INTO `zz_grade` VALUES (6, '六年级', 1); -INSERT INTO `zz_grade` VALUES (7, '初一', 1); -INSERT INTO `zz_grade` VALUES (8, '初二', 1); -INSERT INTO `zz_grade` VALUES (9, '初三', 1); -INSERT INTO `zz_grade` VALUES (10, '高一', 1); -INSERT INTO `zz_grade` VALUES (11, '高二', 1); -INSERT INTO `zz_grade` VALUES (12, '高三', 1); -COMMIT; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; -- ---------------------------- -- Table structure for zz_material_edition @@ -3893,40 +3807,8 @@ CREATE TABLE `zz_material_edition` ( `edition_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '教材版本名称', `status` int(11) NOT NULL COMMENT '是否正在使用(0:不是,1:是)', PRIMARY KEY (`edition_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_material_edition --- ---------------------------- -BEGIN; -INSERT INTO `zz_material_edition` VALUES (1, '苏教版', 1); -INSERT INTO `zz_material_edition` VALUES (2, '人教版', 1); -INSERT INTO `zz_material_edition` VALUES (3, '湘教版', 1); -INSERT INTO `zz_material_edition` VALUES (4, '沪教版', 1); -COMMIT; - --- ---------------------------- --- Table structure for zz_school_info --- ---------------------------- -DROP TABLE IF EXISTS `zz_school_info`; -CREATE TABLE `zz_school_info` ( - `school_id` bigint(20) NOT NULL COMMENT '学校Id', - `school_name` varchar(128) COLLATE utf8mb4_bin NOT NULL COMMENT '学校名称', - `province_id` bigint(20) NOT NULL COMMENT '所在省Id', - `city_id` bigint(20) NOT NULL COMMENT '所在城市Id', - PRIMARY KEY (`school_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; --- ---------------------------- --- Records of zz_school_info --- ---------------------------- -BEGIN; -INSERT INTO `zz_school_info` VALUES (1014065909648330752, '公司总部', 110000000000, 110100000000); -INSERT INTO `zz_school_info` VALUES (1015817732197453824, '北京校区', 110000000000, 110100000000); -INSERT INTO `zz_school_info` VALUES (1015818056597508096, '天津校区', 120000000000, 120100000000); -INSERT INTO `zz_school_info` VALUES (1015818992220901376, '浙江校区', 330000000000, 330100000000); -COMMIT; - -- ---------------------------- -- Table structure for zz_student -- ---------------------------- @@ -3955,12 +3837,7 @@ CREATE TABLE `zz_student` ( -- Records of zz_student -- ---------------------------- BEGIN; -INSERT INTO `zz_student` VALUES (1015842628948463616, '13834561230', '张三', 110000000000, 110100000000, 110105000000, 1, '2010-08-19', 1, 3412, 1077, 4, 1015817732197453824, '2020-10-17 00:00:00', 0); -INSERT INTO `zz_student` VALUES (1015852480873631744, '13945651267', '李军', 110000000000, 110100000000, 110107000000, 1, '2011-11-18', 1, 3178, 3024, 3, 1015817732197453824, '2020-10-17 00:00:00', 0); -INSERT INTO `zz_student` VALUES (1015852853839532032, '13709481736', '王石', 110000000000, 110100000000, 110108000000, 1, '2015-01-15', 0, 3187, 2199, 1, 1015817732197453824, '2020-10-17 00:00:00', 0); -INSERT INTO `zz_student` VALUES (1018000939508568064, '13700023451', '天津二哥', 120000000000, 120100000000, 120103000000, 1, '2010-06-10', 0, 1287, 634, 3, 1015818056597508096, '2020-10-17 00:00:00', 0); -INSERT INTO `zz_student` VALUES (1018001219050541056, '13903122987', '南开学霸', 120000000000, 120100000000, 120104000000, 0, '2009-07-17', 2, 8721, 7023, 4, 1015818056597508096, '2020-10-17 00:00:00', 0); -INSERT INTO `zz_student` VALUES (1023072888777609216, '13920134567', 'aaa', 120000000000, 120100000000, 120103000000, 1, '2020-01-08', 1, 0, 0, 1, 1015818992220901376, '2020-10-17 00:00:00', 0); +INSERT INTO `zz_student` VALUES (1450789566859448320, '13811111111', '张三', 110000000000, 110100000000, 110101000000, 1, '2021-10-20', 0, 1000, 700, 1, 1450789433778376704, '2021-10-20 19:42:42', 0); COMMIT; -- ---------------------------- @@ -3997,24 +3874,6 @@ CREATE TABLE `zz_student_action_stats` ( KEY `idx_stats_month` (`stats_month`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; --- ---------------------------- --- Records of zz_student_action_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_student_action_stats` VALUES (1293010719117148160, '2020-01-10', NULL, 1, 110000000000, 110100000000, 16, 5, 0, 0, 14, 2, 123, 3, 2694, 5, 3, 3, 707, 3, 0); -INSERT INTO `zz_student_action_stats` VALUES (1293010719121342468, '2020-01-10', NULL, 2, 110000000000, 110100000000, 8, 3, 0, 0, 6, 1, 133, 2, 1717, 3, 3, 0, 0, 4, 0); -INSERT INTO `zz_student_action_stats` VALUES (1293010719121342475, '2020-01-10', NULL, 4, 110000000000, 110100000000, 0, 0, 0, 0, 16, 2, 55, 2, 1881, 4, 2, 6, 2987, 2, 0); -INSERT INTO `zz_student_action_stats` VALUES (1293010719121342482, '2020-01-10', NULL, 2, 120000000000, 120100000000, 12, 4, 0, 0, 0, 0, 134, 2, 292, 2, 3, 1, 434, 1, 1); -INSERT INTO `zz_student_action_stats` VALUES (1293010719121342489, '2020-01-10', NULL, 3, 120000000000, 120100000000, 5, 2, 0, 0, 18, 3, 79, 2, 1343, 2, 2, 4, 2266, 5, 5); -INSERT INTO `zz_student_action_stats` VALUES (1293010719121342497, '2020-01-10', NULL, 4, 120000000000, 120100000000, 10, 3, 0, 0, 33, 4, 212, 4, 766, 2, 3, 2, 1480, 4, 4); -INSERT INTO `zz_student_action_stats` VALUES (1293010719297503232, '2020-01-11', NULL, 1, 110000000000, 110100000000, 12, 3, 0, 0, 13, 2, 216, 3, 1119, 2, 3, 2, 511, 2, 2); -INSERT INTO `zz_student_action_stats` VALUES (1293010719297503240, '2020-01-11', NULL, 2, 110000000000, 110100000000, 7, 4, 0, 0, 20, 3, 142, 2, 509, 2, 3, 3, 1699, 3, 3); -INSERT INTO `zz_student_action_stats` VALUES (1293010719297503248, '2020-01-11', NULL, 3, 110000000000, 110100000000, 2, 1, 0, 0, 11, 2, 158, 3, 1571, 2, 3, 0, 0, 3, 3); -INSERT INTO `zz_student_action_stats` VALUES (1293010719297503255, '2020-01-11', NULL, 2, 120000000000, 120100000000, 0, 0, 0, 0, 15, 2, 0, 0, 1741, 3, 2, 3, 1280, 3, 3); -INSERT INTO `zz_student_action_stats` VALUES (1293010719301697539, '2020-01-11', NULL, 3, 120000000000, 120100000000, 3, 2, 0, 0, 0, 0, 176, 3, 1702, 2, 2, 2, 1306, 2, 2); -INSERT INTO `zz_student_action_stats` VALUES (1293010719301697545, '2020-01-11', NULL, 4, 120000000000, 120100000000, 7, 2, 0, 0, 9, 2, 122, 2, 1257, 3, 0, 3, 1210, 2, 2); -COMMIT; - -- ---------------------------- -- Table structure for zz_student_action_trans -- ---------------------------- @@ -4044,241 +3903,88 @@ CREATE TABLE `zz_student_action_trans` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; -- ---------------------------- --- Records of zz_student_action_trans +-- Table structure for zz_sys_data_perm +-- ---------------------------- +DROP TABLE IF EXISTS `zz_sys_data_perm`; +CREATE TABLE `zz_sys_data_perm` ( + `data_perm_id` bigint(20) NOT NULL COMMENT '主键', + `data_perm_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '显示名称', + `rule_type` tinyint(2) NOT NULL COMMENT '数据权限规则类型(0: 全部可见 1: 只看自己 2: 只看本部门 3: 本部门及子部门 4: 多部门及子部门 5: 自定义部门列表)。', + `create_user_id` bigint(20) NOT NULL COMMENT '创建者Id', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_user_id` bigint(20) NOT NULL COMMENT '更新者Id', + `update_time` datetime NOT NULL COMMENT '最后更新时间', + `deleted_flag` int(11) NOT NULL COMMENT '逻辑删除标记(1: 正常 -1: 已删除)', + PRIMARY KEY (`data_perm_id`) USING BTREE, + KEY `idx_create_time` (`create_time`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='数据权限表'; + +-- ---------------------------- +-- Table structure for zz_sys_data_perm_dept +-- ---------------------------- +DROP TABLE IF EXISTS `zz_sys_data_perm_dept`; +CREATE TABLE `zz_sys_data_perm_dept` ( + `data_perm_id` bigint(20) NOT NULL COMMENT '数据权限Id', + `dept_id` bigint(20) NOT NULL COMMENT '部门Id', + PRIMARY KEY (`data_perm_id`,`dept_id`), + KEY `idx_dept_id` (`dept_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='数据权限和部门关联表'; + +-- ---------------------------- +-- Table structure for zz_sys_data_perm_user +-- ---------------------------- +DROP TABLE IF EXISTS `zz_sys_data_perm_user`; +CREATE TABLE `zz_sys_data_perm_user` ( + `data_perm_id` bigint(20) NOT NULL COMMENT '数据权限Id', + `user_id` bigint(20) NOT NULL COMMENT '用户Id', + PRIMARY KEY (`data_perm_id`,`user_id`), + KEY `idx_user_id` (`user_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='数据权限和用户关联表'; + +-- ---------------------------- +-- Table structure for zz_sys_dept +-- ---------------------------- +DROP TABLE IF EXISTS `zz_sys_dept`; +CREATE TABLE `zz_sys_dept` ( + `dept_id` bigint(20) NOT NULL COMMENT '部门Id', + `parent_id` bigint(20) DEFAULT NULL COMMENT '父部门Id', + `dept_name` varchar(50) COLLATE utf8mb4_bin NOT NULL COMMENT '部门名称', + `show_order` int(11) NOT NULL COMMENT '兄弟部分之间的显示顺序,数字越小越靠前', + `create_user_id` bigint(20) NOT NULL COMMENT '创建者Id', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_user_id` bigint(20) NOT NULL COMMENT '更新者Id', + `update_time` datetime NOT NULL COMMENT '最后更新时间', + `deleted_flag` int(1) NOT NULL DEFAULT '0' COMMENT '删除标记(1: 正常 -1: 已删除)', + PRIMARY KEY (`dept_id`) USING BTREE, + KEY `idx_parent_id` (`parent_id`) USING BTREE, + KEY `idx_show_order` (`show_order`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPACT COMMENT='部门管理表'; + +-- ---------------------------- +-- Records of zz_sys_dept -- ---------------------------- BEGIN; -INSERT INTO `zz_student_action_trans` VALUES (1018423001834328064, 1015841864515588096, '张大', 1015817732197453824, 1, 0, 0, NULL, NULL, NULL, NULL, NULL, 617, NULL, '2020-01-10 11:13:23'); -INSERT INTO `zz_student_action_trans` VALUES (1018803416562667520, 1015841864515588096, '张大', 1015817732197453824, 1, 0, 0, NULL, NULL, NULL, NULL, NULL, 468, NULL, '2020-01-10 11:13:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018803445553696768, 1015841864515588096, '张大', 1015817732197453824, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, 548, NULL, '2020-01-10 11:13:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018803590760501248, 1015841864515588096, '张大', 1015817732197453824, 1, 0, 2, NULL, NULL, NULL, NULL, NULL, 250, NULL, '2020-01-10 11:13:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018803838299934720, 1015841864515588096, '张大', 1015817732197453824, 1, 0, 2, NULL, NULL, NULL, NULL, NULL, 811, NULL, '2020-01-10 11:13:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018803855614021632, 1015841864515588096, '张大', 1015817732197453824, 1, 1, 2, NULL, NULL, NULL, NULL, 5, NULL, NULL, '2020-01-10 11:13:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018803873183961088, 1015841864515588096, '张大', 1015817732197453824, 1, 1, 1, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-10 11:13:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018803890552573952, 1015841864515588096, '张大', 1015817732197453824, 1, 1, 0, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-10 11:13:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018803897053745152, 1015841864515588096, '张大', 1015817732197453824, 1, 1, 0, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-10 11:14:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018803910555209728, 1015841864515588096, '张大', 1015817732197453824, 1, 1, 0, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-10 11:14:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018803926451621888, 1015841864515588096, '张大', 1015817732197453824, 1, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018803940418654208, 1015841864515588096, '张大', 1015817732197453824, 1, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018803955727863808, 1015841864515588096, '张大', 1015817732197453824, 1, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018803973427826688, 1015841864515588096, '张大', 1015817732197453824, 1, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018803982235865088, 1015841864515588096, '张大', 1015817732197453824, 1, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018803988154028032, 1015841864515588096, '张大', 1015817732197453824, 1, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018804009414955008, 1015841864515588096, '张大', 1015817732197453824, 1, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018804025521082368, 1015841864515588096, '张大', 1015817732197453824, 1, 4, 1, 342, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018804040956121088, 1015841864515588096, '张大', 1015817732197453824, 1, 4, 0, 324, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018804057104191488, 1015841864515588096, '张大', 1015817732197453824, 1, 4, 2, 41, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018804073457782784, 1015841864515588096, '张大', 1015817732197453824, 1, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:15:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018804090696372224, 1015841864515588096, '张大', 1015817732197453824, 1, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:15:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018804111659503616, 1015841864515588096, '张大', 1015817732197453824, 1, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:15:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018804134585569280, 1015841864515588096, '张大', 1015817732197453824, 1, 9, 0, NULL, 15, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:15:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018804139606151168, 1015841864515588096, '张大', 1015817732197453824, 1, 9, 0, NULL, 60, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:15:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018804156295286784, 1015841864515588096, '张大', 1015817732197453824, 1, 9, 1, NULL, 48, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:15:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018804244874792960, 1015841864515588096, '张大', 1015817732197453824, 1, 10, 1, NULL, NULL, 4, NULL, NULL, NULL, NULL, '2020-01-10 11:15:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018804264130842624, 1015841864515588096, '张大', 1015817732197453824, 1, 10, 0, NULL, NULL, 10, NULL, NULL, NULL, NULL, '2020-01-10 11:15:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018806531059879936, 1015841864515588096, '张大', 1015817732197453824, 2, 0, 0, NULL, NULL, NULL, NULL, NULL, 545, NULL, '2020-01-10 11:15:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018806537225506816, 1015841864515588096, '张大', 1015817732197453824, 2, 0, 0, NULL, NULL, NULL, NULL, NULL, 743, NULL, '2020-01-10 11:15:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018806554631868416, 1015841864515588096, '张大', 1015817732197453824, 2, 0, 1, NULL, NULL, NULL, NULL, NULL, 429, NULL, '2020-01-10 11:15:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018806571031597056, 1015841864515588096, '张大', 1015817732197453824, 2, 1, 1, NULL, NULL, NULL, NULL, 3, NULL, NULL, '2020-01-10 11:15:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018806573841780736, 1015841864515588096, '张大', 1015817732197453824, 2, 1, 1, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-10 11:16:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018806589612363776, 1015841864515588096, '张大', 1015817732197453824, 2, 1, 2, NULL, NULL, NULL, NULL, 3, NULL, NULL, '2020-01-10 11:16:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018806602698592256, 1015841864515588096, '张大', 1015817732197453824, 2, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018806617378656256, 1015841864515588096, '张大', 1015817732197453824, 2, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018806622076276736, 1015841864515588096, '张大', 1015817732197453824, 2, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018806639230980096, 1015841864515588096, '张大', 1015817732197453824, 2, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018806643047796736, 1015841864515588096, '张大', 1015817732197453824, 2, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018806664732348416, 1015841864515588096, '张大', 1015817732197453824, 2, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:16:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018806668976984064, 1015841864515588096, '张大', 1015817732197453824, 2, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:16:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018806682558140416, 1015841864515588096, '张大', 1015817732197453824, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:16:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018806691030634496, 1015841864515588096, '张大', 1015817732197453824, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:16:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018806709733036032, 1015841864515588096, '张大', 1015817732197453824, 2, 9, 1, NULL, 49, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018806725126131712, 1015841864515588096, '张大', 1015817732197453824, 2, 9, 0, NULL, 84, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018806755786493952, 1015841864515588096, '张大', 1015817732197453824, 2, 10, 0, NULL, NULL, 6, NULL, NULL, NULL, NULL, '2020-01-10 11:17:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018806774576975872, 1015841864515588096, '张大', 1015817732197453824, 4, 10, 0, NULL, NULL, 8, NULL, NULL, NULL, NULL, '2020-01-10 11:17:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018806780532887552, 1015841864515588096, '张大', 1015817732197453824, 4, 10, 0, NULL, NULL, 8, NULL, NULL, NULL, NULL, '2020-01-10 11:17:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018806796135698432, 1015841864515588096, '张大', 1015817732197453824, 4, 9, 0, NULL, 33, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018806799491141632, 1015841864515588096, '张大', 1015817732197453824, 4, 9, 0, NULL, 22, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018806813844049920, 1015841864515588096, '张大', 1015817732197453824, 4, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:17:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018806817694420992, 1015841864515588096, '张大', 1015817732197453824, 4, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:17:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018806836275187712, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 0, 627, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018806840423354368, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 0, 463, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018806858966372352, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 1, 104, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018806862112100352, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 1, 329, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018806877714911232, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 2, 601, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018806899365908480, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 2, 863, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018806913865617408, 1015841864515588096, '张大', 1015817732197453824, 4, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018806916679995392, 1015841864515588096, '张大', 1015817732197453824, 4, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018806932240863232, 1015841864515588096, '张大', 1015817732197453824, 4, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018806950439948288, 1015841864515588096, '张大', 1015817732197453824, 4, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018806964746719232, 1015841864515588096, '张大', 1015817732197453824, 4, 0, 1, NULL, NULL, NULL, NULL, NULL, 618, NULL, '2020-01-10 11:18:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018806967473016832, 1015841864515588096, '张大', 1015817732197453824, 4, 0, 1, NULL, NULL, NULL, NULL, NULL, 25, NULL, '2020-01-10 11:18:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018806982023057408, 1015841864515588096, '张大', 1015817732197453824, 4, 0, 0, NULL, NULL, NULL, NULL, NULL, 523, NULL, '2020-01-10 11:18:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018806984879378432, 1015841864515588096, '张大', 1015817732197453824, 4, 0, 0, NULL, NULL, NULL, NULL, NULL, 715, NULL, '2020-01-10 11:18:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807041246629888, 1015842628948463616, '张三', 1015818056597508096, 2, 0, 0, NULL, NULL, NULL, NULL, NULL, 269, NULL, '2020-01-10 11:18:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807044560130048, 1015842628948463616, '张三', 1015818056597508096, 2, 0, 0, NULL, NULL, NULL, NULL, NULL, 23, NULL, '2020-01-10 11:18:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807060251021312, 1015842628948463616, '张三', 1015818056597508096, 2, 1, 0, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-10 11:19:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807064650846208, 1015842628948463616, '张三', 1015818056597508096, 2, 1, 0, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-10 11:19:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807069302329344, 1015842628948463616, '张三', 1015818056597508096, 2, 1, 0, NULL, NULL, NULL, NULL, 5, NULL, NULL, '2020-01-10 11:19:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807073211420672, 1015842628948463616, '张三', 1015818056597508096, 2, 1, 0, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-10 11:19:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807086876463104, 1015842628948463616, '张三', 1015818056597508096, 2, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807102311501824, 1015842628948463616, '张三', 1015818056597508096, 2, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807118379880448, 1015842628948463616, '张三', 1015818056597508096, 2, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018807134397927424, 1015842628948463616, '张三', 1015818056597508096, 2, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018807148918607872, 1015842628948463616, '张三', 1015818056597508096, 2, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018807151863009280, 1015842628948463616, '张三', 1015818056597508096, 2, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807176013811712, 1015842628948463616, '张三', 1015818056597508096, 2, 4, 1, 434, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807190026981376, 1015842628948463616, '张三', 1015818056597508096, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:19:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807205868867584, 1015842628948463616, '张三', 1015818056597508096, 2, 9, 1, NULL, 100, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:20:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807221144522752, 1015842628948463616, '张三', 1015818056597508096, 2, 9, 0, NULL, 34, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:20:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807245962219520, 1015842628948463616, '张三', 1015818056597508096, 3, 9, 0, NULL, 57, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:20:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807249124724736, 1015842628948463616, '张三', 1015818056597508096, 3, 9, 0, NULL, 22, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:20:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807263423107072, 1015842628948463616, '张三', 1015818056597508096, 3, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:20:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807267189592064, 1015842628948463616, '张三', 1015818056597508096, 3, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:20:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807284394627072, 1015842628948463616, '张三', 1015818056597508096, 3, 10, 0, NULL, NULL, 6, NULL, NULL, NULL, NULL, '2020-01-10 11:20:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018807287661989888, 1015842628948463616, '张三', 1015818056597508096, 3, 10, 0, NULL, NULL, 4, NULL, NULL, NULL, NULL, '2020-01-10 11:20:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018807304527286272, 1015842628948463616, '张三', 1015818056597508096, 3, 10, 2, NULL, NULL, 8, NULL, NULL, NULL, NULL, '2020-01-10 11:20:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018807321082204160, 1015842628948463616, '张三', 1015818056597508096, 3, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:20:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807323640729600, 1015842628948463616, '张三', 1015818056597508096, 3, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:20:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807341474910208, 1015842628948463616, '张三', 1015818056597508096, 3, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:20:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807358168240128, 1015842628948463616, '张三', 1015818056597508096, 3, 4, 1, 109, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807377902440448, 1015842628948463616, '张三', 1015818056597508096, 3, 4, 0, 923, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807396172828672, 1015842628948463616, '张三', 1015818056597508096, 3, 4, 2, 598, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807399939313664, 1015842628948463616, '张三', 1015818056597508096, 3, 4, 2, 636, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807412731940864, 1015842628948463616, '张三', 1015818056597508096, 3, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807416288710656, 1015842628948463616, '张三', 1015818056597508096, 3, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807429895032832, 1015842628948463616, '张三', 1015818056597508096, 3, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018807443853676544, 1015842628948463616, '张三', 1015818056597508096, 3, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018807458953170944, 1015842628948463616, '张三', 1015818056597508096, 3, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018807471968096256, 1015842628948463616, '张三', 1015818056597508096, 3, 1, 0, NULL, NULL, NULL, NULL, 3, NULL, NULL, '2020-01-10 11:21:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807475562614784, 1015842628948463616, '张三', 1015818056597508096, 3, 1, 0, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-10 11:21:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807497494630400, 1015842628948463616, '张三', 1015818056597508096, 3, 0, 1, NULL, NULL, NULL, NULL, NULL, 546, NULL, '2020-01-10 11:21:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807510580858880, 1015842628948463616, '张三', 1015818056597508096, 3, 0, 2, NULL, NULL, NULL, NULL, NULL, 797, NULL, '2020-01-10 11:22:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807530558328832, 1015842628948463616, '张三', 1015818056597508096, 4, 0, 2, NULL, NULL, NULL, NULL, NULL, 668, NULL, '2020-01-10 11:22:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807544810573824, 1015842628948463616, '张三', 1015818056597508096, 4, 0, 2, NULL, NULL, NULL, NULL, NULL, 98, NULL, '2020-01-10 11:22:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807559650021376, 1015842628948463616, '张三', 1015818056597508096, 4, 1, 2, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-10 11:22:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807565647876096, 1015842628948463616, '张三', 1015818056597508096, 4, 1, 2, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-10 11:22:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807581548482560, 1015842628948463616, '张三', 1015818056597508096, 4, 1, 1, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-10 11:22:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807596224352256, 1015842628948463616, '张三', 1015818056597508096, 4, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018807598866763776, 1015842628948463616, '张三', 1015818056597508096, 4, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018807614889005056, 1015842628948463616, '张三', 1015818056597508096, 4, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018807628856037376, 1015842628948463616, '张三', 1015818056597508096, 4, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807632249229312, 1015842628948463616, '张三', 1015818056597508096, 4, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807646891544576, 1015842628948463616, '张三', 1015818056597508096, 4, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807659432513536, 1015842628948463616, '张三', 1015818056597508096, 4, 4, 0, 931, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807675786104832, 1015842628948463616, '张三', 1015818056597508096, 4, 4, 1, 549, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807693569953792, 1015842628948463616, '张三', 1015818056597508096, 4, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:23:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807696216559616, 1015842628948463616, '张三', 1015818056597508096, 4, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:23:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807710099705856, 1015842628948463616, '张三', 1015818056597508096, 4, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:23:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807726746898432, 1015842628948463616, '张三', 1015818056597508096, 4, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:23:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807743188570112, 1015842628948463616, '张三', 1015818056597508096, 4, 9, 0, NULL, 89, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018807747508703232, 1015842628948463616, '张三', 1015818056597508096, 4, 9, 0, NULL, 45, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018807762734026752, 1015842628948463616, '张三', 1015818056597508096, 4, 9, 1, NULL, 26, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018807779007926272, 1015842628948463616, '张三', 1015818056597508096, 4, 9, 2, NULL, 52, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807795281825792, 1015842628948463616, '张三', 1015818056597508096, 4, 10, 2, NULL, NULL, 9, NULL, NULL, NULL, NULL, '2020-01-10 11:23:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807814282022912, 1015842628948463616, '张三', 1015818056597508096, 4, 10, 1, NULL, NULL, 9, NULL, NULL, NULL, NULL, '2020-01-10 11:23:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807818304360448, 1015842628948463616, '张三', 1015818056597508096, 4, 10, 1, NULL, NULL, 10, NULL, NULL, NULL, NULL, '2020-01-10 11:24:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807839112302592, 1015842628948463616, '张三', 1015818056597508096, 4, 10, 0, NULL, NULL, 5, NULL, NULL, NULL, NULL, '2020-01-10 11:24:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807937338707968, 1015852480873631744, '李军', 1015817732197453824, 1, 0, 0, NULL, NULL, NULL, NULL, NULL, 868, NULL, '2020-01-11 11:24:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807958184398848, 1015852480873631744, '李军', 1015817732197453824, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, 251, NULL, '2020-01-11 11:24:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807973283893248, 1015852480873631744, '李军', 1015817732197453824, 1, 1, 1, NULL, NULL, NULL, NULL, 3, NULL, NULL, '2020-01-11 11:24:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807976429621248, 1015852480873631744, '李军', 1015817732197453824, 1, 1, 1, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-11 11:24:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807990446985216, 1015852480873631744, '李军', 1015817732197453824, 1, 1, 0, NULL, NULL, NULL, NULL, 5, NULL, NULL, '2020-01-11 11:24:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808007266144256, 1015852480873631744, '李军', 1015817732197453824, 1, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:24:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808010520924160, 1015852480873631744, '李军', 1015817732197453824, 1, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:24:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808029248491520, 1015852480873631744, '李军', 1015817732197453824, 1, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:24:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808046189285376, 1015852480873631744, '李军', 1015817732197453824, 1, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:24:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808049536339968, 1015852480873631744, '李军', 1015817732197453824, 1, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:24:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808063356571648, 1015852480873631744, '李军', 1015817732197453824, 1, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808090606964736, 1015852480873631744, '李军', 1015817732197453824, 1, 4, 0, 331, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808105442217984, 1015852480873631744, '李军', 1015817732197453824, 1, 4, 1, 180, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808123947487232, 1015852480873631744, '李军', 1015817732197453824, 1, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:25:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808139374137344, 1015852480873631744, '李军', 1015817732197453824, 1, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:25:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018808163239727104, 1015852480873631744, '李军', 1015817732197453824, 1, 9, 2, NULL, 73, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018808178884481024, 1015852480873631744, '李军', 1015817732197453824, 1, 9, 1, NULL, 85, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808202037039104, 1015852480873631744, '李军', 1015817732197453824, 1, 9, 0, NULL, 58, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808225227345920, 1015852480873631744, '李军', 1015817732197453824, 1, 10, 0, NULL, NULL, 3, NULL, NULL, NULL, NULL, '2020-01-11 11:25:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808239072743424, 1015852480873631744, '李军', 1015817732197453824, 1, 10, 1, NULL, NULL, 10, NULL, NULL, NULL, NULL, '2020-01-11 11:25:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808259285094400, 1015852480873631744, '李军', 1015817732197453824, 2, 10, 1, NULL, NULL, 6, NULL, NULL, NULL, NULL, '2020-01-11 11:25:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808281019977728, 1015852480873631744, '李军', 1015817732197453824, 2, 10, 0, NULL, NULL, 6, NULL, NULL, NULL, NULL, '2020-01-11 11:25:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808284450918400, 1015852480873631744, '李军', 1015817732197453824, 2, 10, 0, NULL, NULL, 8, NULL, NULL, NULL, NULL, '2020-01-11 11:26:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808301647564800, 1015852480873631744, '李军', 1015817732197453824, 2, 9, 0, NULL, 44, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808305003008000, 1015852480873631744, '李军', 1015817732197453824, 2, 9, 0, NULL, 98, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808319687266304, 1015852480873631744, '李军', 1015817732197453824, 2, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:26:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808334279249920, 1015852480873631744, '李军', 1015817732197453824, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:26:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018808337051684864, 1015852480873631744, '李军', 1015817732197453824, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:26:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018808352482529280, 1015852480873631744, '李军', 1015817732197453824, 2, 4, 1, 829, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808368341192704, 1015852480873631744, '李军', 1015817732197453824, 2, 4, 2, 143, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808371201708032, 1015852480873631744, '李军', 1015817732197453824, 2, 4, 2, 727, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808386959708160, 1015852480873631744, '李军', 1015817732197453824, 2, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808389941858304, 1015852480873631744, '李军', 1015817732197453824, 2, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808403061641216, 1015852480873631744, '李军', 1015817732197453824, 2, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808417364217856, 1015852480873631744, '李军', 1015817732197453824, 2, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:27:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808431247364096, 1015852480873631744, '李军', 1015817732197453824, 2, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:27:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808434900602880, 1015852480873631744, '李军', 1015817732197453824, 2, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:27:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808450344030208, 1015852480873631744, '李军', 1015817732197453824, 2, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:27:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808468366954496, 1015852480873631744, '李军', 1015817732197453824, 2, 1, 0, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-11 11:27:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018808471776923648, 1015852480873631744, '李军', 1015817732197453824, 2, 1, 0, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-11 11:27:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018808486574428160, 1015852480873631744, '李军', 1015817732197453824, 2, 1, 1, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-11 11:27:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808489720156160, 1015852480873631744, '李军', 1015817732197453824, 2, 1, 1, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-11 11:27:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808519092867072, 1015852480873631744, '李军', 1015817732197453824, 2, 0, 1, NULL, NULL, NULL, NULL, NULL, 23, NULL, '2020-01-11 11:27:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808533722599424, 1015852480873631744, '李军', 1015817732197453824, 2, 0, 0, NULL, NULL, NULL, NULL, NULL, 486, NULL, '2020-01-11 11:27:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808549908418560, 1015852480873631744, '李军', 1015817732197453824, 3, 0, 0, NULL, NULL, NULL, NULL, NULL, 937, NULL, '2020-01-11 11:27:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808553595211776, 1015852480873631744, '李军', 1015817732197453824, 3, 0, 0, NULL, NULL, NULL, NULL, NULL, 634, NULL, '2020-01-11 11:27:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808567696461824, 1015852480873631744, '李军', 1015817732197453824, 3, 1, 0, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-11 11:28:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808589381013504, 1015852480873631744, '李军', 1015817732197453824, 3, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808603381600256, 1015852480873631744, '李军', 1015817732197453824, 3, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808627708563456, 1015852853839532032, '王石', 1015817732197453824, 3, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808643911159808, 1015852853839532032, '王石', 1015817732197453824, 3, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018808647878971392, 1015852853839532032, '王石', 1015817732197453824, 3, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018808662647115776, 1015852853839532032, '王石', 1015817732197453824, 3, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808676190523392, 1015852853839532032, '王石', 1015817732197453824, 3, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:28:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808679671795712, 1015852853839532032, '王石', 1015817732197453824, 3, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:28:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808713146535936, 1015841864515588096, '张大', 1015817732197453824, 3, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:28:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808727696576512, 1015841864515588096, '张大', 1015817732197453824, 3, 9, 2, NULL, 93, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808730968133632, 1015841864515588096, '张大', 1015817732197453824, 3, 9, 2, NULL, 39, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808745056800768, 1015841864515588096, '张大', 1015817732197453824, 3, 9, 0, NULL, 26, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:29:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808762224087040, 1015841864515588096, '张大', 1015817732197453824, 3, 10, 0, NULL, NULL, 4, NULL, NULL, NULL, NULL, '2020-01-11 11:29:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808766552608768, 1015841864515588096, '张大', 1015817732197453824, 3, 10, 0, NULL, NULL, 7, NULL, NULL, NULL, NULL, '2020-01-11 11:29:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808834777157632, 1015841864515588096, '张大', 1015818056597508096, 2, 10, 0, NULL, NULL, 8, NULL, NULL, NULL, NULL, '2020-01-11 11:29:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808837880942592, 1015841864515588096, '张大', 1015818056597508096, 2, 10, 0, NULL, NULL, 7, NULL, NULL, NULL, NULL, '2020-01-11 11:29:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018808852263211008, 1015841864515588096, '张大', 1015818056597508096, 2, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:29:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018808870055448576, 1015841864515588096, '张大', 1015818056597508096, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:29:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808872664305664, 1015841864515588096, '张大', 1015818056597508096, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:29:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808889886117888, 1015841864515588096, '张大', 1015818056597508096, 2, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:29:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808905585397760, 1015841864515588096, '张大', 1015818056597508096, 2, 4, 1, 756, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:29:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808924665286656, 1015841864515588096, '张大', 1015818056597508096, 2, 4, 2, 35, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:29:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808927844569088, 1015841864515588096, '张大', 1015818056597508096, 2, 4, 2, 489, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:29:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808941014683648, 1015841864515588096, '张大', 1015818056597508096, 2, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:30:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808944089108480, 1015841864515588096, '张大', 1015818056597508096, 2, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:30:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808963789754368, 1015841864515588096, '张大', 1015818056597508096, 2, 0, 2, NULL, NULL, NULL, NULL, NULL, 342, NULL, '2020-01-11 11:30:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808967061311488, 1015841864515588096, '张大', 1015818056597508096, 2, 0, 2, NULL, NULL, NULL, NULL, NULL, 894, NULL, '2020-01-11 11:30:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808971549216768, 1015841864515588096, '张大', 1015818056597508096, 2, 0, 2, NULL, NULL, NULL, NULL, NULL, 505, NULL, '2020-01-11 11:30:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018809014373060608, 1015841864515588096, '张大', 1015818056597508096, 3, 0, 2, NULL, NULL, NULL, NULL, NULL, 870, NULL, '2020-01-11 11:30:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018809017279713280, 1015841864515588096, '张大', 1015818056597508096, 3, 0, 2, NULL, NULL, NULL, NULL, NULL, 832, NULL, '2020-01-11 11:30:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018809030013620224, 1015841864515588096, '张大', 1015818056597508096, 3, 1, 2, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-11 11:30:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018809043577999360, 1015841864515588096, '张大', 1015818056597508096, 3, 1, 0, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-11 11:30:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018809058333560832, 1015841864515588096, '张大', 1015818056597508096, 3, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:30:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018809068521525248, 1015841864515588096, '张大', 1015818056597508096, 3, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:30:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018809083839123456, 1015841864515588096, '张大', 1015818056597508096, 3, 4, 0, 484, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:30:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018809101107073024, 1015841864515588096, '张大', 1015818056597508096, 3, 4, 1, 822, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018809116709883904, 1015841864515588096, '张大', 1015818056597508096, 3, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:31:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018809119352295424, 1015841864515588096, '张大', 1015818056597508096, 3, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:31:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018809140072157184, 1015841864515588096, '张大', 1015818056597508096, 3, 9, 1, NULL, 92, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018809153410043904, 1015841864515588096, '张大', 1015818056597508096, 3, 9, 0, NULL, 23, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018809156404776960, 1015841864515588096, '张大', 1015818056597508096, 3, 9, 0, NULL, 61, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018809187635564544, 1015841864515588096, '张大', 1015818056597508096, 4, 9, 0, NULL, 26, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018809205096452096, 1015841864515588096, '张大', 1015818056597508096, 4, 9, 1, NULL, 96, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018809219889762304, 1015841864515588096, '张大', 1015818056597508096, 4, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:31:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018809223115182080, 1015841864515588096, '张大', 1015818056597508096, 4, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:31:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018809241318461440, 1015841864515588096, '张大', 1015818056597508096, 4, 10, 1, NULL, NULL, 4, NULL, NULL, NULL, NULL, '2020-01-11 11:31:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018809244799733760, 1015841864515588096, '张大', 1015818056597508096, 4, 10, 1, NULL, NULL, 5, NULL, NULL, NULL, NULL, '2020-01-11 11:31:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018809259483992064, 1015841864515588096, '张大', 1015818056597508096, 4, 4, 1, 244, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:32:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018809272926736384, 1015841864515588096, '张大', 1015818056597508096, 4, 4, 0, 736, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:32:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018809275388792832, 1015841864515588096, '张大', 1015818056597508096, 4, 4, 0, 230, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:32:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018809289016086528, 1015841864515588096, '张大', 1015818056597508096, 4, 1, 0, NULL, NULL, NULL, NULL, 3, NULL, NULL, '2020-01-11 11:32:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018809291985653760, 1015841864515588096, '张大', 1015818056597508096, 4, 1, 0, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-11 11:32:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018809313879920640, 1015841864515588096, '张大', 1015818056597508096, 4, 0, 0, NULL, NULL, NULL, NULL, NULL, 441, NULL, '2020-01-11 11:32:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018809333760921600, 1015841864515588096, '张大', 1015818056597508096, 4, 0, 1, NULL, NULL, NULL, NULL, NULL, 202, NULL, '2020-01-11 11:32:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018809347316912128, 1015841864515588096, '张大', 1015818056597508096, 4, 0, 2, NULL, NULL, NULL, NULL, NULL, 614, NULL, '2020-01-11 11:32:35'); +INSERT INTO `zz_sys_dept` VALUES (1450785767004573868, NULL, '公司总部', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_dept` VALUES (1450789433778376704, NULL, '北京校区', 1, 1450785767004573869, '2021-10-20 19:42:10', 1450785767004573869, '2021-10-20 19:42:10', 1); +COMMIT; + +-- ---------------------------- +-- Table structure for zz_sys_dept_relation +-- ---------------------------- +DROP TABLE IF EXISTS `zz_sys_dept_relation`; +CREATE TABLE `zz_sys_dept_relation` ( + `parent_dept_id` bigint(20) NOT NULL COMMENT '父部门Id', + `dept_id` bigint(20) NOT NULL COMMENT '部门Id', + PRIMARY KEY (`parent_dept_id`,`dept_id`), + KEY `idx_dept_id` (`dept_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPACT COMMENT='部门关联关系表'; + +-- ---------------------------- +-- Records of zz_sys_dept_relation +-- ---------------------------- +BEGIN; +INSERT INTO `zz_sys_dept_relation` VALUES (1450785767004573868, 1450785767004573868); +INSERT INTO `zz_sys_dept_relation` VALUES (1450789433778376704, 1450789433778376704); COMMIT; -- ---------------------------- @@ -4295,7 +4001,7 @@ CREATE TABLE `zz_sys_menu` ( `online_menu_perm_type` int(11) DEFAULT NULL COMMENT '在线表单菜单的权限控制类型', `show_order` int(11) NOT NULL COMMENT '菜单显示顺序 (值越小,排序越靠前)', `icon` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '菜单图标', - `create_user_id` bigint(20) NOT NULL COMMENT '创建者', + `create_user_id` bigint(20) NOT NULL COMMENT '创建者Id', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user_id` bigint(20) NOT NULL COMMENT '更新者Id', `update_time` datetime NOT NULL COMMENT '最后更新时间', @@ -4309,87 +4015,106 @@ CREATE TABLE `zz_sys_menu` ( -- Records of zz_sys_menu -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_menu` VALUES (1309065501179121664, NULL, '系统管理', 0, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309065501183315968, 1309065501179121664, '用户管理', 1, 'formSysUser', NULL, NULL, 100, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309065501183315969, 1309065501179121664, '角色管理', 1, 'formSysRole', NULL, NULL, 110, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309065501183315970, 1309065501179121664, '菜单管理', 1, 'formSysMenu', NULL, NULL, 120, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309065501183315971, 1309065501179121664, '权限字管理', 1, 'formSysPermCode', NULL, NULL, 125, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309065501183315972, 1309065501179121664, '权限管理', 1, 'formSysPerm', NULL, NULL, 130, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309065501183315973, 1309065501179121664, '字典管理', 1, 'formSysDict', NULL, NULL, 135, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309149272268083200, NULL, '业务管理', 0, NULL, NULL, NULL, 10, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309149323312762880, NULL, '统计管理', 0, NULL, NULL, NULL, 20, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309149401033216000, 1309149272268083200, '校区管理', 1, 'formSchool', NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309149467043172352, 1309149272268083200, '学生管理', 1, 'formStudent', NULL, NULL, 5, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309149536341463040, 1309149272268083200, '课程管理', 1, 'formCourse', NULL, NULL, 10, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309149599981637632, 1309149272268083200, '班级管理', 1, 'formClass', NULL, NULL, 15, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309149688699555840, 1309149323312762880, '课程统计', 1, 'formCourseStats', NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1309149754092949504, 1309149323312762880, '学生行为统计', 1, 'formStudentActionStats', NULL, NULL, 5, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114881, 1309065501183315968, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114882, 1309065501183315968, '新增', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114883, 1309065501183315968, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114884, 1309065501183315968, '删除', 3, NULL, NULL, NULL, 4, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114885, 1309065501183315968, '重置密码', 3, NULL, NULL, NULL, 5, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114893, 1309065501183315969, '角色管理', 2, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114894, 1309065501183315969, '用户授权', 2, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114895, 1317453102286114893, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114896, 1317453102286114893, '新增', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114897, 1317453102286114893, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114898, 1317453102286114893, '删除', 3, NULL, NULL, NULL, 4, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114899, 1317453102286114894, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114900, 1317453102286114894, '授权用户', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114901, 1317453102286114894, '移除用户', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114911, 1309065501183315970, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114912, 1309065501183315970, '新增', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114913, 1309065501183315970, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114914, 1309065501183315970, '删除', 3, NULL, NULL, NULL, 4, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102286114915, 1309065501183315970, '权限列表', 3, NULL, NULL, NULL, 5, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309121, 1309065501183315971, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309122, 1309065501183315971, '新增', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309123, 1309065501183315971, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309124, 1309065501183315971, '删除', 3, NULL, NULL, NULL, 4, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309131, 1309065501183315972, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309132, 1309065501183315972, '新增模块', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309133, 1309065501183315972, '编辑模块', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309134, 1309065501183315972, '删除模块', 3, NULL, NULL, NULL, 4, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309135, 1309065501183315972, '新增权限', 3, NULL, NULL, NULL, 5, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309136, 1309065501183315972, '编辑权限', 3, NULL, NULL, NULL, 6, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309137, 1309065501183315972, '删除权限', 3, NULL, NULL, NULL, 7, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309147, 1309065501183315973, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309148, 1309065501183315973, '新增', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309149, 1309065501183315973, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309150, 1309065501183315973, '删除', 3, NULL, NULL, NULL, 4, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309151, 1309065501183315973, '同步缓存', 3, NULL, NULL, NULL, 5, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309161, 1309149401033216000, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309162, 1309149401033216000, '新建', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309163, 1309149401033216000, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309164, 1309149401033216000, '删除', 3, NULL, NULL, NULL, 4, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309166, 1309149467043172352, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309167, 1309149467043172352, '新建', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309168, 1309149467043172352, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309169, 1309149467043172352, '删除', 3, NULL, NULL, NULL, 4, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309171, 1309149536341463040, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309172, 1309149536341463040, '新建', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309173, 1309149536341463040, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309174, 1309149536341463040, '删除', 3, NULL, NULL, NULL, 4, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309176, 1309149599981637632, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309177, 1309149599981637632, '设置班级课程', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309178, 1309149599981637632, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309179, 1309149599981637632, '删除', 3, NULL, NULL, NULL, 4, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309180, 1309149599981637632, '移除', 3, NULL, NULL, NULL, 5, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309181, 1309149599981637632, '课程顺序', 3, NULL, NULL, NULL, 6, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309182, 1309149599981637632, '移除', 3, NULL, NULL, NULL, 7, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309183, 1309149599981637632, '设置班级学生', 3, NULL, NULL, NULL, 8, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309184, 1309149599981637632, '新建', 3, NULL, NULL, NULL, 9, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309186, 1309149688699555840, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309188, 1309149754092949504, '显示', 3, NULL, NULL, NULL, 1, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309189, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 2, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309190, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 3, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309191, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 4, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309192, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 5, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309193, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 6, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309194, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 7, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309195, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 8, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_menu` VALUES (1317453102290309196, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 9, NULL, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309065501179121664, NULL, '系统管理', 0, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309065501183315968, 1309065501179121664, '用户管理', 1, 'formSysUser', NULL, NULL, 100, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309065501183315969, 1309065501179121664, '角色管理', 1, 'formSysRole', NULL, NULL, 110, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309065501183315970, 1309065501179121664, '菜单管理', 1, 'formSysMenu', NULL, NULL, 120, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309065501183315971, 1309065501179121664, '权限字管理', 1, 'formSysPermCode', NULL, NULL, 125, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309065501183315972, 1309065501179121664, '权限管理', 1, 'formSysPerm', NULL, NULL, 130, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309065501183315973, 1309065501179121664, '字典管理', 1, 'formSysDict', NULL, NULL, 135, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309149272268083200, NULL, '业务管理', 0, NULL, NULL, NULL, 10, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309149323312762880, NULL, '统计管理', 0, NULL, NULL, NULL, 20, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309149401033216000, 1309149272268083200, '校区管理', 1, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309149467043172352, 1309149272268083200, '学生管理', 1, 'formStudent', NULL, NULL, 5, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309149536341463040, 1309149272268083200, '课程管理', 1, 'formCourse', NULL, NULL, 10, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309149599981637632, 1309149272268083200, '班级管理', 1, 'formClass', NULL, NULL, 15, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309149688699555840, 1309149323312762880, '课程统计', 1, 'formCourseStats', NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1309149754092949504, 1309149323312762880, '学生行为统计', 1, 'formStudentActionStats', NULL, NULL, 5, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1381236994243301376, 1309065501179121664, '在线用户', 1, 'formSysLoginUser', NULL, NULL, 145, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450436140585717760, 1309065501179121664, '操作日志', 1, 'formSysOperationLog', NULL, NULL, 140, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450780482844233728, 1309065501179121664, '数据权限管理', 1, 'formSysDataPerm', NULL, NULL, 115, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450780482995228672, 1309065501179121664, '部门管理', 1, 'formSysDept', NULL, NULL, 105, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573709, 1309065501183315968, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573710, 1309065501183315968, '新增', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573711, 1309065501183315968, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573712, 1309065501183315968, '删除', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573713, 1309065501183315968, '重置密码', 3, NULL, NULL, NULL, 5, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573714, 1309065501183315968, '权限详情', 3, NULL, NULL, NULL, 6, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573723, 1309065501183315969, '角色管理', 2, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573724, 1309065501183315969, '用户授权', 2, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573725, 1450785767004573723, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573726, 1450785767004573723, '新增', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573727, 1450785767004573723, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573728, 1450785767004573723, '删除', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573729, 1450785767004573723, '权限详情', 3, NULL, NULL, NULL, 5, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573730, 1450785767004573724, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573731, 1450785767004573724, '授权用户', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573732, 1450785767004573724, '移除用户', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573743, 1309065501183315970, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573744, 1309065501183315970, '新增', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573745, 1309065501183315970, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573746, 1309065501183315970, '删除', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573747, 1309065501183315970, '权限详情', 3, NULL, NULL, NULL, 5, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573755, 1309065501183315971, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573756, 1309065501183315971, '新增', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573757, 1309065501183315971, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573758, 1309065501183315971, '删除', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573759, 1309065501183315971, '权限详情', 3, NULL, NULL, NULL, 5, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573767, 1309065501183315972, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573768, 1309065501183315972, '新增模块', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573769, 1309065501183315972, '编辑模块', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573770, 1309065501183315972, '删除模块', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573771, 1309065501183315972, '新增权限', 3, NULL, NULL, NULL, 5, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573772, 1309065501183315972, '编辑权限', 3, NULL, NULL, NULL, 6, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573773, 1309065501183315972, '删除权限', 3, NULL, NULL, NULL, 7, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573774, 1309065501183315972, '权限详情', 3, NULL, NULL, NULL, 8, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573785, 1309065501183315973, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573786, 1309065501183315973, '新增', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573787, 1309065501183315973, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573788, 1309065501183315973, '删除', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573789, 1309065501183315973, '同步缓存', 3, NULL, NULL, NULL, 5, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573800, 1309149467043172352, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573801, 1309149467043172352, '新建', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573802, 1309149467043172352, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573803, 1309149467043172352, '删除', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573805, 1309149536341463040, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573806, 1309149536341463040, '新建', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573807, 1309149536341463040, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573808, 1309149536341463040, '删除', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573810, 1309149599981637632, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573811, 1309149599981637632, '设置班级课程', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573812, 1309149599981637632, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573813, 1309149599981637632, '删除', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573814, 1309149599981637632, '移除', 3, NULL, NULL, NULL, 5, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573815, 1309149599981637632, '移除', 3, NULL, NULL, NULL, 6, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573816, 1309149599981637632, '设置班级学生', 3, NULL, NULL, NULL, 7, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573817, 1309149599981637632, '新建', 3, NULL, NULL, NULL, 8, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573819, 1309149688699555840, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573821, 1309149754092949504, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573822, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573823, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573824, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573825, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 5, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573826, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 6, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573827, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 7, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573828, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 8, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573829, 1309149754092949504, '学生行为详情', 3, NULL, NULL, NULL, 9, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573831, 1381236994243301376, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573832, 1381236994243301376, '强制下线', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573837, 1450436140585717760, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573841, 1450780482844233728, '数据权限管理', 2, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573842, 1450780482844233728, '用户授权', 2, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573843, 1450785767004573841, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573844, 1450785767004573841, '新增', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573845, 1450785767004573841, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573846, 1450785767004573841, '删除', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573847, 1450785767004573842, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573848, 1450785767004573842, '授权用户', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573849, 1450785767004573842, '移除用户', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573859, 1450780482995228672, '显示', 3, NULL, NULL, NULL, 1, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573860, 1450780482995228672, '新增', 3, NULL, NULL, NULL, 2, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573861, 1450780482995228672, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_menu` VALUES (1450785767004573862, 1450780482995228672, '删除', 3, NULL, NULL, NULL, 4, NULL, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); COMMIT; -- ---------------------------- @@ -4407,133 +4132,187 @@ CREATE TABLE `zz_sys_menu_perm_code` ( -- Records of zz_sys_menu_perm_code -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309161, 1317453102281920513); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309162, 1317453102281920514); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309163, 1317453102281920515); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309164, 1317453102281920516); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309162, 1317453102281920517); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309162, 1317453102281920518); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309162, 1317453102281920519); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309162, 1317453102281920520); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309163, 1317453102281920521); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309163, 1317453102281920522); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309163, 1317453102281920523); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309163, 1317453102281920524); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309166, 1317453102281920526); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309167, 1317453102281920527); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309168, 1317453102281920528); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309169, 1317453102281920529); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309167, 1317453102286114816); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309167, 1317453102286114817); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309167, 1317453102286114818); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309167, 1317453102286114819); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309168, 1317453102286114820); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309168, 1317453102286114821); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309168, 1317453102286114822); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309168, 1317453102286114823); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309172, 1317453102286114824); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309172, 1317453102286114825); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309172, 1317453102286114826); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309172, 1317453102286114827); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309173, 1317453102286114828); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309173, 1317453102286114829); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309173, 1317453102286114830); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309173, 1317453102286114831); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309171, 1317453102286114833); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309172, 1317453102286114834); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309173, 1317453102286114835); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309174, 1317453102286114836); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309186, 1317453102286114838); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309188, 1317453102286114840); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309189, 1317453102286114841); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309190, 1317453102286114842); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309191, 1317453102286114843); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309192, 1317453102286114844); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309193, 1317453102286114845); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309194, 1317453102286114846); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309195, 1317453102286114847); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309196, 1317453102286114848); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309189, 1317453102286114849); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309190, 1317453102286114849); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309191, 1317453102286114849); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309192, 1317453102286114849); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309193, 1317453102286114849); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309194, 1317453102286114849); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309195, 1317453102286114849); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309196, 1317453102286114849); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309189, 1317453102286114850); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309190, 1317453102286114850); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309191, 1317453102286114850); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309192, 1317453102286114850); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309193, 1317453102286114850); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309194, 1317453102286114850); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309195, 1317453102286114850); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309196, 1317453102286114850); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309184, 1317453102286114851); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309184, 1317453102286114852); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309184, 1317453102286114853); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309184, 1317453102286114854); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309178, 1317453102286114855); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309178, 1317453102286114856); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309178, 1317453102286114857); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309178, 1317453102286114858); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309183, 1317453102286114859); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309183, 1317453102286114860); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309183, 1317453102286114861); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309177, 1317453102286114862); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309177, 1317453102286114863); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309177, 1317453102286114864); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309181, 1317453102286114865); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309181, 1317453102286114866); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309181, 1317453102286114867); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309181, 1317453102286114868); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309176, 1317453102286114870); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309177, 1317453102286114871); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309178, 1317453102286114872); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309179, 1317453102286114873); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309180, 1317453102286114874); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309181, 1317453102286114875); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309182, 1317453102286114876); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309183, 1317453102286114877); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309184, 1317453102286114878); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114881, 1317453102286114887); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114882, 1317453102286114888); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114883, 1317453102286114889); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114884, 1317453102286114890); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114885, 1317453102286114891); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114895, 1317453102286114903); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114899, 1317453102286114904); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114896, 1317453102286114905); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114897, 1317453102286114906); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114898, 1317453102286114907); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114900, 1317453102286114908); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114901, 1317453102286114909); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114911, 1317453102286114917); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114912, 1317453102286114918); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114913, 1317453102286114919); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114914, 1317453102286114920); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102286114915, 1317453102286114921); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309121, 1317453102290309126); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309122, 1317453102290309127); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309123, 1317453102290309128); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309124, 1317453102290309129); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309131, 1317453102290309139); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309132, 1317453102290309140); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309133, 1317453102290309141); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309134, 1317453102290309142); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309135, 1317453102290309143); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309136, 1317453102290309144); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309137, 1317453102290309145); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1309065501183315973, 1317453102290309153); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309147, 1317453102290309153); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1309065501183315973, 1317453102290309154); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309148, 1317453102290309154); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1309065501183315973, 1317453102290309155); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309149, 1317453102290309155); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1309065501183315973, 1317453102290309156); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309150, 1317453102290309156); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1309065501183315973, 1317453102290309157); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1317453102290309151, 1317453102290309157); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573800, 1450785767000379393); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573801, 1450785767000379394); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573802, 1450785767000379395); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573803, 1450785767000379396); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573801, 1450785767000379397); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573801, 1450785767000379398); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573801, 1450785767000379399); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573801, 1450785767000379400); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573802, 1450785767000379401); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573802, 1450785767000379402); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573802, 1450785767000379403); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573802, 1450785767000379404); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573806, 1450785767000379405); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573806, 1450785767000379406); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573806, 1450785767000379407); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573806, 1450785767000379408); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573807, 1450785767000379409); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573807, 1450785767000379410); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573807, 1450785767000379411); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573807, 1450785767000379412); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573805, 1450785767000379414); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573806, 1450785767000379415); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573807, 1450785767000379416); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573808, 1450785767000379417); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573819, 1450785767000379419); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573821, 1450785767000379421); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573822, 1450785767000379422); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573823, 1450785767000379423); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573824, 1450785767000379424); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573825, 1450785767000379425); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573826, 1450785767000379426); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573827, 1450785767000379427); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573828, 1450785767000379428); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573829, 1450785767000379429); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573822, 1450785767000379430); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573823, 1450785767000379430); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573824, 1450785767000379430); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573825, 1450785767000379430); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573826, 1450785767000379430); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573827, 1450785767000379430); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573828, 1450785767000379430); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573829, 1450785767000379430); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573822, 1450785767000379431); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573823, 1450785767000379431); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573824, 1450785767000379431); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573825, 1450785767000379431); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573826, 1450785767000379431); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573827, 1450785767000379431); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573828, 1450785767000379431); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573829, 1450785767000379431); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573817, 1450785767000379432); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573817, 1450785767000379433); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573817, 1450785767000379434); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573817, 1450785767000379435); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573812, 1450785767000379436); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573812, 1450785767000379437); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573812, 1450785767000379438); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573812, 1450785767000379439); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573816, 1450785767000379440); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573816, 1450785767000379441); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573816, 1450785767000379442); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573811, 1450785767000379443); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573811, 1450785767000379444); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573811, 1450785767000379445); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573810, 1450785767004573699); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573811, 1450785767004573700); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573812, 1450785767004573701); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573813, 1450785767004573702); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573814, 1450785767004573703); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573815, 1450785767004573704); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573816, 1450785767004573705); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573817, 1450785767004573706); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573709, 1450785767004573716); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573710, 1450785767004573717); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573711, 1450785767004573718); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573712, 1450785767004573719); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573713, 1450785767004573720); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573714, 1450785767004573721); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573725, 1450785767004573734); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573730, 1450785767004573735); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573726, 1450785767004573736); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573727, 1450785767004573737); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573728, 1450785767004573738); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573729, 1450785767004573739); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573731, 1450785767004573740); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573732, 1450785767004573741); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573743, 1450785767004573749); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573744, 1450785767004573750); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573745, 1450785767004573751); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573746, 1450785767004573752); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573747, 1450785767004573753); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573755, 1450785767004573761); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573756, 1450785767004573762); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573757, 1450785767004573763); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573758, 1450785767004573764); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573759, 1450785767004573765); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573767, 1450785767004573776); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573768, 1450785767004573777); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573769, 1450785767004573778); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573770, 1450785767004573779); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573771, 1450785767004573780); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573772, 1450785767004573781); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573773, 1450785767004573782); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573774, 1450785767004573783); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1309065501183315973, 1450785767004573791); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573785, 1450785767004573791); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1309065501183315973, 1450785767004573792); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573786, 1450785767004573792); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1309065501183315973, 1450785767004573793); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573787, 1450785767004573793); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1309065501183315973, 1450785767004573794); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573788, 1450785767004573794); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1309065501183315973, 1450785767004573795); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573789, 1450785767004573795); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573831, 1450785767004573834); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573832, 1450785767004573835); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573837, 1450785767004573839); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573843, 1450785767004573851); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573847, 1450785767004573852); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573844, 1450785767004573853); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573845, 1450785767004573854); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573846, 1450785767004573855); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573848, 1450785767004573856); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573849, 1450785767004573857); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573859, 1450785767004573864); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573860, 1450785767004573865); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573861, 1450785767004573866); +INSERT INTO `zz_sys_menu_perm_code` VALUES (1450785767004573862, 1450785767004573867); +COMMIT; + +-- ---------------------------- +-- Table structure for zz_sys_operation_log +-- ---------------------------- +DROP TABLE IF EXISTS `zz_sys_operation_log`; +CREATE TABLE `zz_sys_operation_log` ( + `log_id` bigint(20) NOT NULL COMMENT '主键Id', + `description` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '日志描述', + `operation_type` int(11) DEFAULT NULL COMMENT '操作类型', + `service_name` varchar(128) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '接口所在服务名称', + `api_class` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '调用的controller全类名', + `api_method` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '调用的controller中的方法', + `session_id` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户会话sessionId', + `trace_id` char(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '每次请求的Id', + `elapse` int(11) DEFAULT NULL COMMENT '调用时长', + `request_method` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'HTTP 请求方法,如GET', + `request_url` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'HTTP 请求地址', + `request_arguments` varchar(2000) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'controller接口参数', + `response_result` varchar(2000) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'controller应答结果', + `request_ip` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '请求IP', + `success` bit(1) DEFAULT NULL COMMENT '应答状态', + `error_msg` varchar(2000) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '错误信息', + `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户Id', + `operator_id` bigint(20) DEFAULT NULL COMMENT '操作员Id', + `operator_name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '操作员名称', + `operation_time` datetime DEFAULT NULL COMMENT '操作时间', + PRIMARY KEY (`log_id`), + KEY `idx_trace_id_idx` (`trace_id`), + KEY `idx_operation_type_idx` (`operation_type`), + KEY `idx_operation_time_idx` (`operation_time`) USING BTREE, + KEY `idx_success` (`success`) USING BTREE, + KEY `idx_elapse` (`elapse`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='系统操作日志表'; + +-- ---------------------------- +-- Records of zz_sys_operation_log +-- ---------------------------- +BEGIN; +INSERT INTO `zz_sys_operation_log` VALUES (1450789196636622848, '', 0, 'application-webadmin', 'com.orange.demo.webadmin.upms.controller.LoginController', 'com.orange.demo.webadmin.upms.controller.LoginController.doLogin', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', '0c934c11da004debba0fdd928fac2cec', 342, 'POST', '/admin/upms/login/doLogin', '{\"password\":\"ghoSjwy8SpVcH5B%2FV9N1JZornFhUHcgCTCLa2zTPbb1D3nuByoDPd2EV1%2Btx5Xf1d0FmB7HRYFEDHiVhs6F42hjC2HwfnZs0UoLx4%2BCOr9zRgeRTTiM3nGfbQmv50qo9gao%2F4ZeqziNWx5fe5a8lLuu6wQEzIk7RNHJRHtXe59o%3D\",\"loginName\":\"admin\"}', NULL, '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:41:13'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789319517147136, '', 10, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.StudentController', 'com.orange.demo.webadmin.app.controller.StudentController.add', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', '702ccbea18f84920a916eef13cab5fa1', 117, 'POST', '/admin/app/student/add', '{\"studentDto\":{\"birthday\":1634659200000,\"cityId\":110100000000,\"districtId\":110101000000,\"experienceLevel\":0,\"gender\":1,\"gradeId\":2,\"loginMobile\":\"13911111111\",\"provinceId\":110000000000,\"schoolId\":1450785767004573868,\"studentName\":\"111\"}}', '{\"data\":1450789319932383232,\"errorCode\":\"NO-ERROR\",\"errorMessage\":\"NO-MESSAGE\",\"success\":true}', '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:41:43'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789358226378752, '', 15, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.StudentController', 'com.orange.demo.webadmin.app.controller.StudentController.update', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', 'f707e119faf84ed0a2fc557a3510268a', 39, 'POST', '/admin/app/student/update', '{\"studentDto\":{\"birthday\":1634659200000,\"cityId\":110100000000,\"districtId\":110101000000,\"experienceLevel\":0,\"gender\":1,\"gradeId\":2,\"leftCoin\":600,\"loginMobile\":\"13911111111\",\"provinceId\":110000000000,\"schoolId\":1450785767004573868,\"status\":0,\"studentId\":1450789319932383232,\"studentName\":\"111\",\"totalCoin\":1000}}', '{\"errorCode\":\"NO-ERROR\",\"errorMessage\":\"NO-MESSAGE\",\"success\":true}', '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:41:52'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789376198971392, '', 20, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.StudentController', 'com.orange.demo.webadmin.app.controller.StudentController.delete', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', '846c2dfdc93d44d39de236ec1b526044', 24, 'POST', '/admin/app/student/delete', '{\"studentId\":1450789319932383232}', '{\"errorCode\":\"NO-ERROR\",\"errorMessage\":\"NO-MESSAGE\",\"success\":true}', '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:41:56'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789433757405184, '', 10, 'application-webadmin', 'com.orange.demo.webadmin.upms.controller.SysDeptController', 'com.orange.demo.webadmin.upms.controller.SysDeptController.add', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', '770ad5bd03ba4ad9b42f7741cb5d9d90', 25, 'POST', '/admin/upms/sysDept/add', '{\"sysDeptDto\":{\"deptName\":\"北京校区\",\"showOrder\":1}}', '{\"data\":1450789433778376704,\"errorCode\":\"NO-ERROR\",\"errorMessage\":\"NO-MESSAGE\",\"success\":true}', '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:42:10'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789566830088192, '', 10, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.StudentController', 'com.orange.demo.webadmin.app.controller.StudentController.add', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', 'b974200986174b9789209040afc1e3e3', 26, 'POST', '/admin/app/student/add', '{\"studentDto\":{\"birthday\":1634659200000,\"cityId\":110100000000,\"districtId\":110101000000,\"experienceLevel\":0,\"gender\":1,\"gradeId\":1,\"loginMobile\":\"13811111111\",\"provinceId\":110000000000,\"schoolId\":1450789433778376704,\"studentName\":\"张三\"}}', '{\"data\":1450789566859448320,\"errorCode\":\"NO-ERROR\",\"errorMessage\":\"NO-MESSAGE\",\"success\":true}', '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:42:42'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789593518444544, '', 15, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.StudentController', 'com.orange.demo.webadmin.app.controller.StudentController.update', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', '070653a0cde54b889e2bb9ac2ec45036', 26, 'POST', '/admin/app/student/update', '{\"studentDto\":{\"birthday\":1634659200000,\"cityId\":110100000000,\"districtId\":110101000000,\"experienceLevel\":0,\"gender\":1,\"gradeId\":1,\"leftCoin\":700,\"loginMobile\":\"13811111111\",\"provinceId\":110000000000,\"schoolId\":1450789433778376704,\"status\":0,\"studentId\":1450789566859448320,\"studentName\":\"张三\",\"totalCoin\":1000}}', '{\"errorCode\":\"NO-ERROR\",\"errorMessage\":\"NO-MESSAGE\",\"success\":true}', '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:42:48'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789697549766656, '', 50, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.CourseController', 'com.orange.demo.webadmin.app.controller.CourseController.upload', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', '031238c538714bfaadf3593ac9c70084', 18, 'POST', '/admin/app/course/upload', '{\"fieldName\":\"pictureUrl\",\"asImage\":true}', NULL, '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:43:13'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789702629068800, '', 10, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.CourseController', 'com.orange.demo.webadmin.app.controller.CourseController.add', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', '5f566591651048d4ace3cda41703ef25', 32, 'POST', '/admin/app/course/add', '{\"courseDto\":{\"classHour\":12,\"courseName\":\"数学课\",\"description\":\"数学课\",\"difficulty\":0,\"gradeId\":3,\"pictureUrl\":\"[{\\\"name\\\":\\\"logo.png\\\",\\\"downloadUri\\\":\\\"/admin/app/course/download\\\",\\\"filename\\\":\\\"46296fa64fa94bc2a1dacde9bfd146cb.png\\\"}]\",\"price\":128,\"subjectId\":1}}', '{\"data\":1450789702675206144,\"errorCode\":\"NO-ERROR\",\"errorMessage\":\"NO-MESSAGE\",\"success\":true}', '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:43:14'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789703048499200, '', 55, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.CourseController', 'com.orange.demo.webadmin.app.controller.CourseController.download', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', '9f028e8c5229427dbcae3579ecb912bd', 6, 'GET', '/admin/app/course/download', '{\"fieldName\":\"pictureUrl\",\"filename\":\"46296fa64fa94bc2a1dacde9bfd146cb.png\",\"asImage\":true,\"courseId\":1450789702675206144}', NULL, '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:43:14'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789722765922304, '', 15, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.CourseController', 'com.orange.demo.webadmin.app.controller.CourseController.update', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', '3c8e5bf7149d48e89d934bee5df43512', 27, 'POST', '/admin/app/course/update', '{\"courseDto\":{\"classHour\":12,\"courseId\":1450789702675206144,\"courseName\":\"数学课\",\"description\":\"数学课\",\"difficulty\":0,\"gradeId\":3,\"pictureUrl\":\"[{\\\"name\\\":\\\"logo.png\\\",\\\"downloadUri\\\":\\\"/admin/app/course/download\\\",\\\"filename\\\":\\\"46296fa64fa94bc2a1dacde9bfd146cb.png\\\"}]\",\"price\":214,\"subjectId\":1}}', '{\"errorCode\":\"NO-ERROR\",\"errorMessage\":\"NO-MESSAGE\",\"success\":true}', '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:43:19'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789822024126464, '', 10, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.StudentClassController', 'com.orange.demo.webadmin.app.controller.StudentClassController.add', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', '44e4c4db84714d619f5c2713582d1ee5', 27, 'POST', '/admin/app/studentClass/add', '{\"studentClassDto\":{\"classLevel\":0,\"className\":\"一年级数学班\",\"finishClassHour\":12,\"leaderId\":1450789566859448320,\"schoolId\":1450789433778376704}}', '{\"data\":1450789822061875200,\"errorCode\":\"NO-ERROR\",\"errorMessage\":\"NO-MESSAGE\",\"success\":true}', '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:43:43'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789887031644160, '', 25, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.StudentClassController', 'com.orange.demo.webadmin.app.controller.StudentClassController.addClassCourse', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', 'd135e67d18f4477e93256e4ceb898402', 24, 'POST', '/admin/app/studentClass/addClassCourse', '{\"classId\":1450789822061875200,\"classCourseDtoList\":[{\"courseId\":1450789702675206144}]}', '{\"errorCode\":\"NO-ERROR\",\"errorMessage\":\"NO-MESSAGE\",\"success\":true}', '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:43:58'); +INSERT INTO `zz_sys_operation_log` VALUES (1450789917452931072, '', 25, 'application-webadmin', 'com.orange.demo.webadmin.app.controller.StudentClassController', 'com.orange.demo.webadmin.app.controller.StudentClassController.addClassStudent', 'admin_4_151b92125fcd41cfb3f4ad8b72bf2ee3', 'e4cc517c729549ef8315e334541b7826', 26, 'POST', '/admin/app/studentClass/addClassStudent', '{\"classId\":1450789822061875200,\"classStudentDtoList\":[{\"studentId\":1450789566859448320}]}', '{\"errorCode\":\"NO-ERROR\",\"errorMessage\":\"NO-MESSAGE\",\"success\":true}', '192.168.43.231', b'1', NULL, NULL, 1450785767004573869, 'admin', '2021-10-20 19:44:05'); COMMIT; -- ---------------------------- @@ -4546,7 +4325,7 @@ CREATE TABLE `zz_sys_perm` ( `perm_name` varchar(64) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '权限名称', `url` varchar(128) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '关联的url', `show_order` int(11) NOT NULL DEFAULT '0' COMMENT '权限在当前模块下的顺序,由小到大', - `create_user_id` bigint(20) NOT NULL COMMENT '创建者', + `create_user_id` bigint(20) NOT NULL COMMENT '创建者Id', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user_id` bigint(20) NOT NULL COMMENT '更新者Id', `update_time` datetime NOT NULL COMMENT '最后更新时间', @@ -4560,109 +4339,132 @@ CREATE TABLE `zz_sys_perm` ( -- Records of zz_sys_perm -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_perm` VALUES (1317453102206423040, 1317453102202228736, '新增', '/admin/app/course/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423041, 1317453102202228736, '编辑', '/admin/app/course/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423042, 1317453102202228736, '删除', '/admin/app/course/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423043, 1317453102202228736, '显示列表', '/admin/app/course/list', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423044, 1317453102202228736, '导出', '/admin/app/course/export', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423045, 1317453102202228736, '详情', '/admin/app/course/view', 6, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423046, 1317453102202228736, '打印', '/admin/app/course/print', 7, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423047, 1317453102202228736, '课程数据文件上传', '/admin/app/course/upload', 8, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423048, 1317453102202228736, '课程数据文件下载', '/admin/app/course/download', 9, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423050, 1317453102206423049, '新增', '/admin/app/schoolInfo/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423051, 1317453102206423049, '编辑', '/admin/app/schoolInfo/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423052, 1317453102206423049, '删除', '/admin/app/schoolInfo/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423053, 1317453102206423049, '显示列表', '/admin/app/schoolInfo/list', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423054, 1317453102206423049, '导出', '/admin/app/schoolInfo/export', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423055, 1317453102206423049, '详情', '/admin/app/schoolInfo/view', 6, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423056, 1317453102206423049, '打印', '/admin/app/schoolInfo/print', 7, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423058, 1317453102206423057, '新增', '/admin/app/student/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423059, 1317453102206423057, '编辑', '/admin/app/student/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423060, 1317453102206423057, '删除', '/admin/app/student/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423061, 1317453102206423057, '显示列表', '/admin/app/student/list', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423062, 1317453102206423057, '导出', '/admin/app/student/export', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423063, 1317453102206423057, '详情', '/admin/app/student/view', 6, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423064, 1317453102206423057, '打印', '/admin/app/student/print', 7, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423066, 1317453102206423065, '新增', '/admin/upms/sysUser/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423067, 1317453102206423065, '编辑', '/admin/upms/sysUser/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423068, 1317453102206423065, '删除', '/admin/upms/sysUser/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423069, 1317453102206423065, '显示列表', '/admin/upms/sysUser/list', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423070, 1317453102206423065, '导出', '/admin/upms/sysUser/export', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423071, 1317453102206423065, '详情', '/admin/upms/sysUser/view', 6, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423072, 1317453102206423065, '打印', '/admin/upms/sysUser/print', 7, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423073, 1317453102206423065, '重置密码', '/admin/upms/sysUser/resetPassword', 8, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423075, 1317453102206423074, '新增', '/admin/app/studentClass/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102206423076, 1317453102206423074, '编辑', '/admin/app/studentClass/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617344, 1317453102206423074, '删除', '/admin/app/studentClass/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617345, 1317453102206423074, '显示列表', '/admin/app/studentClass/list', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617346, 1317453102206423074, '导出', '/admin/app/studentClass/export', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617347, 1317453102206423074, '详情', '/admin/app/studentClass/view', 6, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617348, 1317453102206423074, '打印', '/admin/app/studentClass/print', 7, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617349, 1317453102206423074, '新增班级课程', '/admin/app/studentClass/addClassCourse', 8, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617350, 1317453102206423074, '详情班级课程', '/admin/app/studentClass/viewClassCourse', 9, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617351, 1317453102206423074, '编辑班级课程', '/admin/app/studentClass/updateClassCourse', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617352, 1317453102206423074, '移除班级课程', '/admin/app/studentClass/deleteClassCourse', 11, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617353, 1317453102206423074, '班级课程列表', '/admin/app/studentClass/listClassCourse', 12, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617354, 1317453102206423074, '班级课程未关联列表', '/admin/app/studentClass/listNotInClassCourse', 13, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617355, 1317453102206423074, '新增班级学生', '/admin/app/studentClass/addClassStudent', 14, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617356, 1317453102206423074, '移除班级学生', '/admin/app/studentClass/deleteClassStudent', 15, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617357, 1317453102206423074, '班级学生列表', '/admin/app/studentClass/listClassStudent', 16, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617358, 1317453102206423074, '班级学生未关联列表', '/admin/app/studentClass/listNotInClassStudent', 17, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617360, 1317453102210617359, '分组列表', '/admin/app/courseTransStats/listWithGroup', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617361, 1317453102210617359, '显示列表', '/admin/app/courseTransStats/list', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617362, 1317453102210617359, '导出', '/admin/app/courseTransStats/export', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617363, 1317453102210617359, '详情', '/admin/app/courseTransStats/view', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617364, 1317453102210617359, '打印', '/admin/app/courseTransStats/print', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617366, 1317453102210617365, '分组列表', '/admin/app/studentActionStats/listWithGroup', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617367, 1317453102210617365, '显示列表', '/admin/app/studentActionStats/list', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617368, 1317453102210617365, '导出', '/admin/app/studentActionStats/export', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617369, 1317453102210617365, '详情', '/admin/app/studentActionStats/view', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617370, 1317453102210617365, '打印', '/admin/app/studentActionStats/print', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617372, 1317453102210617371, '新增', '/admin/app/studentActionTrans/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617373, 1317453102210617371, '编辑', '/admin/app/studentActionTrans/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617374, 1317453102210617371, '删除', '/admin/app/studentActionTrans/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617375, 1317453102210617371, '显示列表', '/admin/app/studentActionTrans/list', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617376, 1317453102210617371, '导出', '/admin/app/studentActionTrans/export', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617377, 1317453102210617371, '详情', '/admin/app/studentActionTrans/view', 6, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617378, 1317453102210617371, '打印', '/admin/app/studentActionTrans/print', 7, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617380, 1317453102210617379, '新增', '/admin/upms/sysRole/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617381, 1317453102210617379, '编辑', '/admin/upms/sysRole/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617382, 1317453102210617379, '删除', '/admin/upms/sysRole/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617383, 1317453102210617379, '显示列表', '/admin/upms/sysRole/list', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617384, 1317453102210617379, '详情', '/admin/upms/sysRole/view', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617385, 1317453102210617379, '授权用户', '/admin/upms/sysRole/addUserRole', 6, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617386, 1317453102210617379, '移除用户', '/admin/upms/sysRole/deleteUserRole', 7, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617387, 1317453102210617379, '角色用户列表', '/admin/upms/sysRole/listUserRole', 8, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617388, 1317453102210617379, '角色未添加用户列表', '/admin/upms/sysRole/listNotInUserRole', 9, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617390, 1317453102210617389, '新增', '/admin/upms/sysMenu/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617391, 1317453102210617389, '编辑', '/admin/upms/sysMenu/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617392, 1317453102210617389, '删除', '/admin/upms/sysMenu/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617393, 1317453102210617389, '显示列表', '/admin/upms/sysMenu/list', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617394, 1317453102210617389, '详情', '/admin/upms/sysMenu/view', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617395, 1317453102210617389, '权限资源列表', '/admin/upms/sysMenu/listMenuPerm', 6, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617397, 1317453102210617396, '新增', '/admin/upms/sysPermCode/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617398, 1317453102210617396, '编辑', '/admin/upms/sysPermCode/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617399, 1317453102210617396, '删除', '/admin/upms/sysPermCode/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617400, 1317453102210617396, '显示列表', '/admin/upms/sysPermCode/list', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617401, 1317453102210617396, '详情', '/admin/upms/sysPermCode/view', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617403, 1317453102210617402, '新增', '/admin/upms/sysPermModule/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617404, 1317453102210617402, '编辑', '/admin/upms/sysPermModule/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617405, 1317453102210617402, '删除', '/admin/upms/sysPermModule/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617406, 1317453102210617402, '显示列表', '/admin/upms/sysPermModule/list', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617407, 1317453102210617402, '显示全部', '/admin/upms/sysPermModule/listAll', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617409, 1317453102210617408, '新增', '/admin/upms/sysPerm/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617410, 1317453102210617408, '编辑', '/admin/upms/sysPerm/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617411, 1317453102210617408, '删除', '/admin/upms/sysPerm/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617412, 1317453102210617408, '显示列表', '/admin/upms/sysPerm/list', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617413, 1317453102210617408, '详情', '/admin/upms/sysPerm/view', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617416, 1317453102210617415, '新增', '/admin/app/areaCode/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617417, 1317453102210617415, '编辑', '/admin/app/areaCode/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617418, 1317453102210617415, '删除', '/admin/app/areaCode/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617419, 1317453102210617415, '同步缓存', '/admin/app/areaCode/reloadCachedData', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617421, 1317453102210617420, '新增', '/admin/app/grade/add', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617422, 1317453102210617420, '编辑', '/admin/app/grade/update', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617423, 1317453102210617420, '删除', '/admin/app/grade/delete', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm` VALUES (1317453102210617424, 1317453102210617420, '同步缓存', '/admin/app/grade/reloadCachedData', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990785, 1450785766991990784, '新增', '/admin/app/course/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990786, 1450785766991990784, '编辑', '/admin/app/course/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990787, 1450785766991990784, '删除', '/admin/app/course/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990788, 1450785766991990784, '显示列表', '/admin/app/course/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990789, 1450785766991990784, '导出', '/admin/app/course/export', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990790, 1450785766991990784, '详情', '/admin/app/course/view', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990791, 1450785766991990784, '打印', '/admin/app/course/print', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990792, 1450785766991990784, '课程数据文件上传', '/admin/app/course/upload', 8, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990793, 1450785766991990784, '课程数据文件下载', '/admin/app/course/download', 9, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990795, 1450785766991990794, '新增', '/admin/app/student/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990796, 1450785766991990794, '编辑', '/admin/app/student/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990797, 1450785766991990794, '删除', '/admin/app/student/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990798, 1450785766991990794, '显示列表', '/admin/app/student/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990799, 1450785766991990794, '导出', '/admin/app/student/export', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990800, 1450785766991990794, '详情', '/admin/app/student/view', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990801, 1450785766991990794, '打印', '/admin/app/student/print', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990803, 1450785766991990802, '新增', '/admin/upms/sysDept/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990804, 1450785766991990802, '编辑', '/admin/upms/sysDept/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990805, 1450785766991990802, '删除', '/admin/upms/sysDept/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990806, 1450785766991990802, '显示列表', '/admin/upms/sysDept/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990807, 1450785766991990802, '导出', '/admin/upms/sysDept/export', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990808, 1450785766991990802, '详情', '/admin/upms/sysDept/view', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990809, 1450785766991990802, '打印', '/admin/upms/sysDept/print', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990811, 1450785766991990810, '新增', '/admin/upms/sysUser/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990812, 1450785766991990810, '编辑', '/admin/upms/sysUser/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990813, 1450785766991990810, '删除', '/admin/upms/sysUser/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990814, 1450785766991990810, '显示列表', '/admin/upms/sysUser/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990815, 1450785766991990810, '导出', '/admin/upms/sysUser/export', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990816, 1450785766991990810, '详情', '/admin/upms/sysUser/view', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990817, 1450785766991990810, '打印', '/admin/upms/sysUser/print', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990818, 1450785766991990810, '重置密码', '/admin/upms/sysUser/resetPassword', 8, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990819, 1450785766991990810, '用户权限资源分配详情', '/admin/upms/sysUser/listSysPermWithDetail', 9, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990820, 1450785766991990810, '用户权限字分配详情', '/admin/upms/sysUser/listSysPermCodeWithDetail', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990821, 1450785766991990810, '用户菜单分配详情', '/admin/upms/sysUser/listSysMenuWithDetail', 11, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990823, 1450785766991990822, '新增', '/admin/app/studentClass/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990824, 1450785766991990822, '编辑', '/admin/app/studentClass/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990825, 1450785766991990822, '删除', '/admin/app/studentClass/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990826, 1450785766991990822, '显示列表', '/admin/app/studentClass/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990827, 1450785766991990822, '导出', '/admin/app/studentClass/export', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990828, 1450785766991990822, '详情', '/admin/app/studentClass/view', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990829, 1450785766991990822, '打印', '/admin/app/studentClass/print', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990830, 1450785766991990822, '新增班级课程', '/admin/app/studentClass/addClassCourse', 8, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990831, 1450785766991990822, '详情班级课程', '/admin/app/studentClass/viewClassCourse', 9, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990832, 1450785766991990822, '编辑班级课程', '/admin/app/studentClass/updateClassCourse', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990833, 1450785766991990822, '移除班级课程', '/admin/app/studentClass/deleteClassCourse', 11, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990834, 1450785766991990822, '班级课程列表', '/admin/app/studentClass/listClassCourse', 12, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990835, 1450785766991990822, '班级课程未关联列表', '/admin/app/studentClass/listNotInClassCourse', 13, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990836, 1450785766991990822, '新增班级学生', '/admin/app/studentClass/addClassStudent', 14, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990837, 1450785766991990822, '移除班级学生', '/admin/app/studentClass/deleteClassStudent', 15, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990838, 1450785766991990822, '班级学生列表', '/admin/app/studentClass/listClassStudent', 16, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990839, 1450785766991990822, '班级学生未关联列表', '/admin/app/studentClass/listNotInClassStudent', 17, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990841, 1450785766991990840, '分组列表', '/admin/app/courseTransStats/listWithGroup', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990842, 1450785766991990840, '显示列表', '/admin/app/courseTransStats/list', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990843, 1450785766991990840, '导出', '/admin/app/courseTransStats/export', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990844, 1450785766991990840, '详情', '/admin/app/courseTransStats/view', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990845, 1450785766991990840, '打印', '/admin/app/courseTransStats/print', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990847, 1450785766991990846, '分组列表', '/admin/app/studentActionStats/listWithGroup', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990848, 1450785766991990846, '显示列表', '/admin/app/studentActionStats/list', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990849, 1450785766991990846, '导出', '/admin/app/studentActionStats/export', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990850, 1450785766991990846, '详情', '/admin/app/studentActionStats/view', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990851, 1450785766991990846, '打印', '/admin/app/studentActionStats/print', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990853, 1450785766991990852, '新增', '/admin/app/studentActionTrans/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990854, 1450785766991990852, '编辑', '/admin/app/studentActionTrans/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990855, 1450785766991990852, '删除', '/admin/app/studentActionTrans/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990856, 1450785766991990852, '显示列表', '/admin/app/studentActionTrans/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990857, 1450785766991990852, '导出', '/admin/app/studentActionTrans/export', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990858, 1450785766991990852, '详情', '/admin/app/studentActionTrans/view', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990859, 1450785766991990852, '打印', '/admin/app/studentActionTrans/print', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990861, 1450785766991990860, '新增', '/admin/upms/sysRole/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990862, 1450785766991990860, '编辑', '/admin/upms/sysRole/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990863, 1450785766991990860, '删除', '/admin/upms/sysRole/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990864, 1450785766991990860, '显示列表', '/admin/upms/sysRole/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990865, 1450785766991990860, '详情', '/admin/upms/sysRole/view', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990866, 1450785766991990860, '授权用户', '/admin/upms/sysRole/addUserRole', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990867, 1450785766991990860, '移除用户', '/admin/upms/sysRole/deleteUserRole', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990868, 1450785766991990860, '角色用户列表', '/admin/upms/sysRole/listUserRole', 8, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990869, 1450785766991990860, '角色未添加用户列表', '/admin/upms/sysRole/listNotInUserRole', 9, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990870, 1450785766991990860, '角色权限资源分配详情', '/admin/upms/sysRole/listSysPermWithDetail', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990871, 1450785766991990860, '角色权限字分配详情', '/admin/upms/sysRole/listSysPermCodeWithDetail', 11, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990873, 1450785766991990872, '新增', '/admin/upms/sysDataPerm/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990874, 1450785766991990872, '编辑', '/admin/upms/sysDataPerm/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990875, 1450785766991990872, '删除', '/admin/upms/sysDataPerm/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990876, 1450785766991990872, '显示列表', '/admin/upms/sysDataPerm/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990877, 1450785766991990872, '详情', '/admin/upms/sysDataPerm/view', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990878, 1450785766991990872, '授权用户', '/admin/upms/sysDataPerm/addDataPermUser', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990879, 1450785766991990872, '移除用户', '/admin/upms/sysDataPerm/deleteDataPermUser', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990880, 1450785766991990872, '数据权限用户列表', '/admin/upms/sysDataPerm/listDataPermUser', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990881, 1450785766991990872, '数据权限未添加用户列表', '/admin/upms/sysDataPerm/listNotInDataPermUser', 8, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990883, 1450785766991990882, '新增', '/admin/upms/sysMenu/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990884, 1450785766991990882, '删除', '/admin/upms/sysMenu/delete', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990885, 1450785766991990882, '编辑', '/admin/upms/sysMenu/update', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990886, 1450785766991990882, '显示列表', '/admin/upms/sysMenu/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990887, 1450785766991990882, '详情', '/admin/upms/sysMenu/view', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990888, 1450785766991990882, '菜单权限资源分配详情', '/admin/upms/sysMenu/listSysPermWithDetail', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990889, 1450785766991990882, '菜单用户分配详情', '/admin/upms/sysMenu/listSysUserWithDetail', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990891, 1450785766991990890, '新增', '/admin/upms/sysPermCode/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990892, 1450785766991990890, '编辑', '/admin/upms/sysPermCode/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990893, 1450785766991990890, '删除', '/admin/upms/sysPermCode/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990894, 1450785766991990890, '显示列表', '/admin/upms/sysPermCode/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990895, 1450785766991990890, '详情', '/admin/upms/sysPermCode/view', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990896, 1450785766991990890, '权限字用户分配详情', '/admin/upms/sysPermCode/listSysUserWithDetail', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990897, 1450785766991990890, '权限字角色分配详情', '/admin/upms/sysPermCode/listSysRoleWithDetail', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990899, 1450785766991990898, '新增', '/admin/upms/sysPermModule/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990900, 1450785766991990898, '编辑', '/admin/upms/sysPermModule/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990901, 1450785766991990898, '删除', '/admin/upms/sysPermModule/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990902, 1450785766991990898, '显示列表', '/admin/upms/sysPermModule/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990903, 1450785766991990898, '显示全部', '/admin/upms/sysPermModule/listAll', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990905, 1450785766991990904, '新增', '/admin/upms/sysPerm/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990906, 1450785766991990904, '编辑', '/admin/upms/sysPerm/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990907, 1450785766991990904, '删除', '/admin/upms/sysPerm/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990908, 1450785766991990904, '显示列表', '/admin/upms/sysPerm/list', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990909, 1450785766991990904, '详情', '/admin/upms/sysPerm/view', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990910, 1450785766991990904, '权限资源用户分配详情', '/admin/upms/sysPerm/listSysUserWithDetail', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990911, 1450785766991990904, '权限资源角色分配详情', '/admin/upms/sysPerm/listSysRoleWithDetail', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990912, 1450785766991990904, '权限资源菜单分配详情', '/admin/upms/sysPerm/listSysMenuWithDetail', 8, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990915, 1450785766991990914, '新增', '/admin/app/areaCode/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990916, 1450785766991990914, '编辑', '/admin/app/areaCode/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990917, 1450785766991990914, '删除', '/admin/app/areaCode/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990918, 1450785766991990914, '同步缓存', '/admin/app/areaCode/reloadCachedData', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990920, 1450785766991990919, '新增', '/admin/app/grade/add', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990921, 1450785766991990919, '编辑', '/admin/app/grade/update', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990922, 1450785766991990919, '删除', '/admin/app/grade/delete', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990923, 1450785766991990919, '同步缓存', '/admin/app/grade/reloadCachedData', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990925, 1450785766991990924, '显示列表', '/admin/upms/sysOperationLog/list', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990927, 1450785766991990926, '显示列表', '/admin/upms/loginUser/list', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm` VALUES (1450785766991990928, 1450785766991990926, '删除', '/admin/upms/loginUser/delete', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); COMMIT; -- ---------------------------- @@ -4676,12 +4478,12 @@ CREATE TABLE `zz_sys_perm_code` ( `perm_code_type` int(11) NOT NULL COMMENT '类型(0: 表单 1: UI片段 2: 操作)', `show_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '显示名称', `show_order` int(11) NOT NULL COMMENT '显示顺序(数值越小,越靠前)', - `create_user_id` bigint(20) NOT NULL COMMENT '创建者', + `create_user_id` bigint(20) NOT NULL COMMENT '创建者Id', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user_id` bigint(20) NOT NULL COMMENT '更新者Id', `update_time` datetime NOT NULL COMMENT '最后更新时间', `deleted_flag` int(11) NOT NULL COMMENT '逻辑删除标记(1: 正常 -1: 已删除)', - PRIMARY KEY (`perm_code_id`) USING BTREE, + PRIMARY KEY (`perm_code_id`), UNIQUE KEY `idx_perm_code` (`perm_code`) USING BTREE, KEY `idx_parent_id` (`parent_id`) USING BTREE, KEY `idx_show_order` (`show_order`) USING BTREE @@ -4691,126 +4493,134 @@ CREATE TABLE `zz_sys_perm_code` ( -- Records of zz_sys_perm_code -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920512, NULL, 'formSchool', 0, '校区管理', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920513, 1317453102281920512, 'formSchool:formSchool', 1, '校区管理', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920514, 1317453102281920513, 'formSchool:formSchool:formCreateSchool', 2, '新建', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920515, 1317453102281920513, 'formSchool:formSchool:formEditSchool', 2, '编辑', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920516, 1317453102281920513, 'formSchool:formSchool:delete', 2, '删除', 20, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920517, NULL, 'formCreateSchool', 0, '新建校区', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920518, 1317453102281920517, 'formCreateSchool:formCreateSchool', 1, '新建校区', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920519, 1317453102281920518, 'formCreateSchool:formCreateSchool:cancel', 2, '取消', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920520, 1317453102281920518, 'formCreateSchool:formCreateSchool:add', 2, '保存', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920521, NULL, 'formEditSchool', 0, '编辑校区', 20, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920522, 1317453102281920521, 'formEditSchool:formEditSchool', 1, '编辑校区', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920523, 1317453102281920522, 'formEditSchool:formEditSchool:cancel', 2, '取消', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920524, 1317453102281920522, 'formEditSchool:formEditSchool:update', 2, '保存', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920525, NULL, 'formStudent', 0, '学生管理', 30, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920526, 1317453102281920525, 'formStudent:formStudent', 1, '学生管理', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920527, 1317453102281920526, 'formStudent:formStudent:formCreateStudent', 2, '新建', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920528, 1317453102281920526, 'formStudent:formStudent:formEditStudent', 2, '编辑', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102281920529, 1317453102281920526, 'formStudent:formStudent:delete', 2, '删除', 20, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114816, NULL, 'formCreateStudent', 0, '新建学生', 40, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114817, 1317453102286114816, 'formCreateStudent:formCreateStudent', 1, '新建学生', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114818, 1317453102286114817, 'formCreateStudent:formCreateStudent:cancel', 2, '取消', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114819, 1317453102286114817, 'formCreateStudent:formCreateStudent:add', 2, '保存', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114820, NULL, 'formEditStudent', 0, '编辑学生', 50, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114821, 1317453102286114820, 'formEditStudent:formEditStudent', 1, '编辑学生', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114822, 1317453102286114821, 'formEditStudent:formEditStudent:cancel', 2, '取消', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114823, 1317453102286114821, 'formEditStudent:formEditStudent:update', 2, '保存', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114824, NULL, 'formCreateCourse', 0, '新建课程', 60, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114825, 1317453102286114824, 'formCreateCourse:formCreateCourse', 1, '新建课程', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114826, 1317453102286114825, 'formCreateCourse:formCreateCourse:cancel', 2, '取消', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114827, 1317453102286114825, 'formCreateCourse:formCreateCourse:add', 2, '保存', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114828, NULL, 'formEditCourse', 0, '编辑课程', 70, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114829, 1317453102286114828, 'formEditCourse:formEditCourse', 1, '编辑课程', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114830, 1317453102286114829, 'formEditCourse:formEditCourse:cancel', 2, '取消', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114831, 1317453102286114829, 'formEditCourse:formEditCourse:update', 2, '保存', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114832, NULL, 'formCourse', 0, '课程管理', 80, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114833, 1317453102286114832, 'formCourse:formCourse', 1, '课程管理', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114834, 1317453102286114833, 'formCourse:formCourse:formCreateCourse', 2, '新建', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114835, 1317453102286114833, 'formCourse:formCourse:formEditCourse', 2, '编辑', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114836, 1317453102286114833, 'formCourse:formCourse:delete', 2, '删除', 20, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114837, NULL, 'formCourseStats', 0, '课程统计', 90, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114838, 1317453102286114837, 'formCourseStats:formCourseStats', 1, '课程统计', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114839, NULL, 'formStudentActionStats', 0, '学生行为统计', 100, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114840, 1317453102286114839, 'formStudentActionStats:formStudentActionStats', 1, '学生行为统计', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114841, 1317453102286114840, 'formStudentActionStats:formStudentActionStats:formBuyCourseDetail', 2, '学生行为详情', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114842, 1317453102286114840, 'formStudentActionStats:formStudentActionStats:formBuyVideoDetail', 2, '学生行为详情', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114843, 1317453102286114840, 'formStudentActionStats:formStudentActionStats:formBuyFlowerDetail', 2, '学生行为详情', 20, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114844, 1317453102286114840, 'formStudentActionStats:formStudentActionStats:formBuyPaperDetail', 2, '学生行为详情', 30, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114845, 1317453102286114840, 'formStudentActionStats:formStudentActionStats:formBuyCoinDetail', 2, '学生行为详情', 40, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114846, 1317453102286114840, 'formStudentActionStats:formStudentActionStats:formDoCourseDetail', 2, '学生行为详情', 50, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114847, 1317453102286114840, 'formStudentActionStats:formStudentActionStats:formWatchVideoDetail', 2, '学生行为详情', 60, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114848, 1317453102286114840, 'formStudentActionStats:formStudentActionStats:formRfreshDetail', 2, '学生行为详情', 70, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114849, NULL, 'formStudentActionDetail', 0, '学生行为详情', 110, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114850, 1317453102286114849, 'formStudentActionDetail:formStudentActionDetail', 1, '学生行为详情', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114851, NULL, 'formCreateClass', 0, '新建班级', 120, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114852, 1317453102286114851, 'formCreateClass:formCreateClass', 1, '新建班级', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114853, 1317453102286114852, 'formCreateClass:formCreateClass:cancel', 2, '取消', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114854, 1317453102286114852, 'formCreateClass:formCreateClass:add', 2, '保存', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114855, NULL, 'formEditClass', 0, '编辑班级', 130, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114856, 1317453102286114855, 'formEditClass:formEditClass', 1, '编辑班级', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114857, 1317453102286114856, 'formEditClass:formEditClass:cancel', 2, '取消', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114858, 1317453102286114856, 'formEditClass:formEditClass:update', 2, '保存', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114859, NULL, 'formSetClassStudent', 0, '设置班级学生', 140, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114860, 1317453102286114859, 'formSetClassStudent:formSetClassStudent', 1, '设置班级学生', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114861, 1317453102286114860, 'formSetClassStudent:formSetClassStudent:addClassStudent', 2, '添加', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114862, NULL, 'formSetClassCourse', 0, '设置班级课程', 150, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114863, 1317453102286114862, 'formSetClassCourse:formSetClassCourse', 1, '设置班级课程', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114864, 1317453102286114863, 'formSetClassCourse:formSetClassCourse:addClassCourse', 2, '添加', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114865, NULL, 'formEditClassCourseOrder', 0, '编辑课程顺序', 160, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114866, 1317453102286114865, 'formEditClassCourseOrder:formEditClassCourseOrder', 1, '编辑课程顺序', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114867, 1317453102286114866, 'formEditClassCourseOrder:formEditClassCourseOrder:cancel', 2, '取消', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114868, 1317453102286114866, 'formEditClassCourseOrder:formEditClassCourseOrder:updateClassCourse', 2, '保存', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114869, NULL, 'formClass', 0, '班级管理', 170, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114870, 1317453102286114869, 'formClass:formClass', 1, '班级管理', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114871, 1317453102286114870, 'formClass:formClass:formSetClassCourse', 2, '设置班级课程', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114872, 1317453102286114870, 'formClass:formClass:formEditClass', 2, '编辑', 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114873, 1317453102286114870, 'formClass:formClass:delete', 2, '删除', 20, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114874, 1317453102286114870, 'formClass:formClass:deleteClassCourse', 2, '移除', 30, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114875, 1317453102286114870, 'formClass:formClass:formEditClassCourseOrder', 2, '课程顺序', 40, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114876, 1317453102286114870, 'formClass:formClass:deleteClassStudent', 2, '移除', 50, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114877, 1317453102286114870, 'formClass:formClass:formSetClassStudent', 2, '设置班级学生', 60, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114878, 1317453102286114870, 'formClass:formClass:formCreateClass', 2, '新建', 70, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114886, NULL, 'formSysUser', 0, '用户管理', 10000, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114887, 1317453102286114886, 'formSysUser:fragmentSysUser', 1, '用户管理', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114888, 1317453102286114887, 'formSysUser:fragmentSysUser:add', 2, '新增', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114889, 1317453102286114887, 'formSysUser:fragmentSysUser:update', 2, '编辑', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114890, 1317453102286114887, 'formSysUser:fragmentSysUser:delete', 2, '删除', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114891, 1317453102286114887, 'formSysUser:fragmentSysUser:resetPassword', 2, '重置密码', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114902, NULL, 'formSysRole', 0, '角色管理', 10200, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114903, 1317453102286114902, 'formSysRole:fragmentSysRole', 1, '角色管理', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114904, 1317453102286114902, 'formSysRole:fragmentSysRoleUser', 1, '用户授权', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114905, 1317453102286114903, 'formSysRole:fragmentSysRole:add', 2, '新增', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114906, 1317453102286114903, 'formSysRole:fragmentSysRole:update', 2, '编辑', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114907, 1317453102286114903, 'formSysRole:fragmentSysRole:delete', 2, '删除', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114908, 1317453102286114904, 'formSysRole:fragmentSysRoleUser:addUserRole', 2, '授权用户', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114909, 1317453102286114904, 'formSysRole:fragmentSysRoleUser:deleteUserRole', 2, '移除用户', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114916, NULL, 'formSysMenu', 0, '菜单管理', 10600, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114917, 1317453102286114916, 'formSysMenu:fragmentSysMenu', 1, '菜单管理', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114918, 1317453102286114917, 'formSysMenu:fragmentSysMenu:add', 2, '新增', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114919, 1317453102286114917, 'formSysMenu:fragmentSysMenu:update', 2, '编辑', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114920, 1317453102286114917, 'formSysMenu:fragmentSysMenu:delete', 2, '删除', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102286114921, 1317453102286114917, 'formSysMenu:fragmentSysMenu:listMenuPerm', 2, '权限列表', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309125, NULL, 'formSysPermCode', 0, '权限字管理', 10700, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309126, 1317453102290309125, 'formSysPermCode:fragmentSysPermCode', 1, '权限字管理', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309127, 1317453102290309126, 'formSysPermCode:fragmentSysPermCode:add', 2, '新增', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309128, 1317453102290309126, 'formSysPermCode:fragmentSysPermCode:update', 2, '编辑', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309129, 1317453102290309126, 'formSysPermCode:fragmentSysPermCode:delete', 2, '删除', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309138, NULL, 'formSysPerm', 0, '权限管理', 10800, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309139, 1317453102290309138, 'formSysPerm:fragmentSysPerm', 1, '权限管理', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309140, 1317453102290309139, 'formSysPerm:fragmentSysPerm:addPermModule', 2, '新增模块', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309141, 1317453102290309139, 'formSysPerm:fragmentSysPerm:updatePermModule', 2, '编辑模块', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309142, 1317453102290309139, 'formSysPerm:fragmentSysPerm:deletePermModule', 2, '删除模块', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309143, 1317453102290309139, 'formSysPerm:fragmentSysPerm:addPerm', 2, '新增权限', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309144, 1317453102290309139, 'formSysPerm:fragmentSysPerm:updatePerm', 2, '编辑权限', 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309145, 1317453102290309139, 'formSysPerm:fragmentSysPerm:deletePerm', 2, '删除权限', 6, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309152, NULL, 'formSysDict', 0, '字典管理', 10900, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309153, 1317453102290309152, 'formSysDict:fragmentSysDict', 1, '字典管理', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309154, 1317453102290309153, 'formSysDict:fragmentSysDict:add', 2, '新增', 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309155, 1317453102290309153, 'formSysDict:fragmentSysDict:update', 2, '编辑', 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309156, 1317453102290309153, 'formSysDict:fragmentSysDict:delete', 2, '删除', 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_code` VALUES (1317453102290309157, 1317453102290309153, 'formSysDict:fragmentSysDict:reloadCache', 2, '同步缓存', 4, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379392, NULL, 'formStudent', 0, '学生管理', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379393, 1450785767000379392, 'formStudent:formStudent', 1, '学生管理', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379394, 1450785767000379393, 'formStudent:formStudent:formCreateStudent', 2, '新建', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379395, 1450785767000379393, 'formStudent:formStudent:formEditStudent', 2, '编辑', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379396, 1450785767000379393, 'formStudent:formStudent:delete', 2, '删除', 20, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379397, NULL, 'formCreateStudent', 0, '新建学生', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379398, 1450785767000379397, 'formCreateStudent:formCreateStudent', 1, '新建学生', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379399, 1450785767000379398, 'formCreateStudent:formCreateStudent:cancel', 2, '取消', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379400, 1450785767000379398, 'formCreateStudent:formCreateStudent:add', 2, '保存', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379401, NULL, 'formEditStudent', 0, '编辑学生', 20, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379402, 1450785767000379401, 'formEditStudent:formEditStudent', 1, '编辑学生', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379403, 1450785767000379402, 'formEditStudent:formEditStudent:cancel', 2, '取消', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379404, 1450785767000379402, 'formEditStudent:formEditStudent:update', 2, '保存', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379405, NULL, 'formCreateCourse', 0, '新建课程', 30, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379406, 1450785767000379405, 'formCreateCourse:formCreateCourse', 1, '新建课程', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379407, 1450785767000379406, 'formCreateCourse:formCreateCourse:cancel', 2, '取消', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379408, 1450785767000379406, 'formCreateCourse:formCreateCourse:add', 2, '保存', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379409, NULL, 'formEditCourse', 0, '编辑课程', 40, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379410, 1450785767000379409, 'formEditCourse:formEditCourse', 1, '编辑课程', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379411, 1450785767000379410, 'formEditCourse:formEditCourse:cancel', 2, '取消', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379412, 1450785767000379410, 'formEditCourse:formEditCourse:update', 2, '保存', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379413, NULL, 'formCourse', 0, '课程管理', 50, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379414, 1450785767000379413, 'formCourse:formCourse', 1, '课程管理', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379415, 1450785767000379414, 'formCourse:formCourse:formCreateCourse', 2, '新建', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379416, 1450785767000379414, 'formCourse:formCourse:formEditCourse', 2, '编辑', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379417, 1450785767000379414, 'formCourse:formCourse:delete', 2, '删除', 20, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379418, NULL, 'formCourseStats', 0, '课程统计', 60, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379419, 1450785767000379418, 'formCourseStats:formCourseStats', 1, '课程统计', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379420, NULL, 'formStudentActionStats', 0, '学生行为统计', 70, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379421, 1450785767000379420, 'formStudentActionStats:formStudentActionStats', 1, '学生行为统计', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379422, 1450785767000379421, 'formStudentActionStats:formStudentActionStats:formBuyCourseDetail', 2, '学生行为详情', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379423, 1450785767000379421, 'formStudentActionStats:formStudentActionStats:formBuyVideoDetail', 2, '学生行为详情', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379424, 1450785767000379421, 'formStudentActionStats:formStudentActionStats:formBuyFlowerDetail', 2, '学生行为详情', 20, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379425, 1450785767000379421, 'formStudentActionStats:formStudentActionStats:formBuyPaperDetail', 2, '学生行为详情', 30, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379426, 1450785767000379421, 'formStudentActionStats:formStudentActionStats:formBuyCoinDetail', 2, '学生行为详情', 40, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379427, 1450785767000379421, 'formStudentActionStats:formStudentActionStats:formDoCourseDetail', 2, '学生行为详情', 50, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379428, 1450785767000379421, 'formStudentActionStats:formStudentActionStats:formWatchVideoDetail', 2, '学生行为详情', 60, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379429, 1450785767000379421, 'formStudentActionStats:formStudentActionStats:formRfreshDetail', 2, '学生行为详情', 70, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379430, NULL, 'formStudentActionDetail', 0, '学生行为详情', 80, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379431, 1450785767000379430, 'formStudentActionDetail:formStudentActionDetail', 1, '学生行为详情', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379432, NULL, 'formCreateClass', 0, '新建班级', 90, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379433, 1450785767000379432, 'formCreateClass:formCreateClass', 1, '新建班级', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379434, 1450785767000379433, 'formCreateClass:formCreateClass:cancel', 2, '取消', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379435, 1450785767000379433, 'formCreateClass:formCreateClass:add', 2, '保存', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379436, NULL, 'formEditClass', 0, '编辑班级', 100, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379437, 1450785767000379436, 'formEditClass:formEditClass', 1, '编辑班级', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379438, 1450785767000379437, 'formEditClass:formEditClass:cancel', 2, '取消', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379439, 1450785767000379437, 'formEditClass:formEditClass:update', 2, '保存', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379440, NULL, 'formSetClassStudent', 0, '设置班级学生', 110, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379441, 1450785767000379440, 'formSetClassStudent:formSetClassStudent', 1, '设置班级学生', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379442, 1450785767000379441, 'formSetClassStudent:formSetClassStudent:addClassStudent', 2, '添加', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379443, NULL, 'formSetClassCourse', 0, '设置班级课程', 120, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379444, 1450785767000379443, 'formSetClassCourse:formSetClassCourse', 1, '设置班级课程', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379445, 1450785767000379444, 'formSetClassCourse:formSetClassCourse:addClassCourse', 2, '添加', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379446, NULL, 'formEditClassCourseOrder', 0, '编辑课程顺序', 130, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767000379447, 1450785767000379446, 'formEditClassCourseOrder:formEditClassCourseOrder', 1, '编辑课程顺序', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573696, 1450785767000379447, 'formEditClassCourseOrder:formEditClassCourseOrder:cancel', 2, '取消', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573697, 1450785767000379447, 'formEditClassCourseOrder:formEditClassCourseOrder:updateClassCourse', 2, '保存', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573698, NULL, 'formClass', 0, '班级管理', 140, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573699, 1450785767004573698, 'formClass:formClass', 1, '班级管理', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573700, 1450785767004573699, 'formClass:formClass:formSetClassCourse', 2, '设置班级课程', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573701, 1450785767004573699, 'formClass:formClass:formEditClass', 2, '编辑', 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573702, 1450785767004573699, 'formClass:formClass:delete', 2, '删除', 20, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573703, 1450785767004573699, 'formClass:formClass:deleteClassCourse', 2, '移除', 30, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573704, 1450785767004573699, 'formClass:formClass:deleteClassStudent', 2, '移除', 40, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573705, 1450785767004573699, 'formClass:formClass:formSetClassStudent', 2, '设置班级学生', 50, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573706, 1450785767004573699, 'formClass:formClass:formCreateClass', 2, '新建', 60, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573715, NULL, 'formSysUser', 0, '用户管理', 10000, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573716, 1450785767004573715, 'formSysUser:fragmentSysUser', 1, '用户管理', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573717, 1450785767004573716, 'formSysUser:fragmentSysUser:add', 2, '新增', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573718, 1450785767004573716, 'formSysUser:fragmentSysUser:update', 2, '编辑', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573719, 1450785767004573716, 'formSysUser:fragmentSysUser:delete', 2, '删除', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573720, 1450785767004573716, 'formSysUser:fragmentSysUser:resetPassword', 2, '重置密码', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573721, 1450785767004573716, 'formSysUser:fragmentSysUser:listSysUserPermDetail', 2, '权限详情', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573733, NULL, 'formSysRole', 0, '角色管理', 10200, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573734, 1450785767004573733, 'formSysRole:fragmentSysRole', 1, '角色管理', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573735, 1450785767004573733, 'formSysRole:fragmentSysRoleUser', 1, '用户授权', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573736, 1450785767004573734, 'formSysRole:fragmentSysRole:add', 2, '新增', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573737, 1450785767004573734, 'formSysRole:fragmentSysRole:update', 2, '编辑', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573738, 1450785767004573734, 'formSysRole:fragmentSysRole:delete', 2, '删除', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573739, 1450785767004573734, 'formSysRole:fragmentSysRole:listSysRolePermDetail', 2, '权限详情', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573740, 1450785767004573735, 'formSysRole:fragmentSysRoleUser:addUserRole', 2, '授权用户', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573741, 1450785767004573735, 'formSysRole:fragmentSysRoleUser:deleteUserRole', 2, '移除用户', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573748, NULL, 'formSysMenu', 0, '菜单管理', 10600, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573749, 1450785767004573748, 'formSysMenu:fragmentSysMenu', 1, '菜单管理', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573750, 1450785767004573749, 'formSysMenu:fragmentSysMenu:add', 2, '新增', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573751, 1450785767004573749, 'formSysMenu:fragmentSysMenu:update', 2, '编辑', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573752, 1450785767004573749, 'formSysMenu:fragmentSysMenu:delete', 2, '删除', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573753, 1450785767004573749, 'formSysMenu:fragmentSysMenu:listSysMenuPermDetail', 2, '权限详情', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573760, NULL, 'formSysPermCode', 0, '权限字管理', 10700, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573761, 1450785767004573760, 'formSysPermCode:fragmentSysPermCode', 1, '权限字管理', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573762, 1450785767004573761, 'formSysPermCode:fragmentSysPermCode:add', 2, '新增', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573763, 1450785767004573761, 'formSysPermCode:fragmentSysPermCode:update', 2, '编辑', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573764, 1450785767004573761, 'formSysPermCode:fragmentSysPermCode:delete', 2, '删除', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573765, 1450785767004573761, 'formSysPermCode:fragmentSysPermCode:listSysPermCodePermDetail', 2, '权限详情', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573775, NULL, 'formSysPerm', 0, '权限管理', 10800, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573776, 1450785767004573775, 'formSysPerm:fragmentSysPerm', 1, '权限管理', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573777, 1450785767004573776, 'formSysPerm:fragmentSysPerm:addPermModule', 2, '新增模块', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573778, 1450785767004573776, 'formSysPerm:fragmentSysPerm:updatePermModule', 2, '编辑模块', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573779, 1450785767004573776, 'formSysPerm:fragmentSysPerm:deletePermModule', 2, '删除模块', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573780, 1450785767004573776, 'formSysPerm:fragmentSysPerm:addPerm', 2, '新增权限', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573781, 1450785767004573776, 'formSysPerm:fragmentSysPerm:updatePerm', 2, '编辑权限', 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573782, 1450785767004573776, 'formSysPerm:fragmentSysPerm:deletePerm', 2, '删除权限', 6, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573783, 1450785767004573776, 'formSysPerm:fragmentSysPerm:listSysPermPermDetail', 2, '权限详情', 7, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573790, NULL, 'formSysDict', 0, '字典管理', 10900, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573791, 1450785767004573790, 'formSysDict:fragmentSysDict', 1, '字典管理', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573792, 1450785767004573791, 'formSysDict:fragmentSysDict:add', 2, '新增', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573793, 1450785767004573791, 'formSysDict:fragmentSysDict:update', 2, '编辑', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573794, 1450785767004573791, 'formSysDict:fragmentSysDict:delete', 2, '删除', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573795, 1450785767004573791, 'formSysDict:fragmentSysDict:reloadCache', 2, '同步缓存', 4, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573833, NULL, 'formSysLoginUser', 0, '在线用户', 11200, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573834, 1450785767004573833, 'formSysLoginUser:fragmentLoginUser', 1, '在线用户', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573835, 1450785767004573834, 'formSysLoginUser:fragmentLoginUser:delete', 2, '强制下线', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573838, NULL, 'formSysOperationLog', 0, '操作日志', 11100, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573839, 1450785767004573838, 'formSysOperationLog:fragmentSysOperationLog', 1, '操作日志', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573850, NULL, 'formSysDataPerm', 0, '数据权限管理', 10400, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573851, 1450785767004573850, 'formSysDataPerm:fragmentSysDataPerm', 1, '数据权限管理', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573852, 1450785767004573850, 'formSysDataPerm:fragmentSysDataPermUser', 1, '用户授权', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573853, 1450785767004573851, 'formSysDataPerm:fragmentSysDataPerm:add', 2, '新增', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573854, 1450785767004573851, 'formSysDataPerm:fragmentSysDataPerm:update', 2, '编辑', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573855, 1450785767004573851, 'formSysDataPerm:fragmentSysDataPerm:delete', 2, '删除', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573856, 1450785767004573852, 'formSysDataPerm:fragmentSysDataPermUser:addDataPermUser', 2, '授权用户', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573857, 1450785767004573852, 'formSysDataPerm:fragmentSysDataPermUser:deleteDataPermUser', 2, '移除用户', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573863, NULL, 'formSysDept', 0, '部门管理', 10100, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573864, 1450785767004573863, 'formSysDept:fragmentSysDept', 1, '部门管理', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573865, 1450785767004573864, 'formSysDept:fragmentSysDept:add', 2, '新增', 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573866, 1450785767004573864, 'formSysDept:fragmentSysDept:update', 2, '编辑', 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_code` VALUES (1450785767004573867, 1450785767004573864, 'formSysDept:fragmentSysDept:delete', 2, '删除', 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); COMMIT; -- ---------------------------- @@ -4828,99 +4638,128 @@ CREATE TABLE `zz_sys_perm_code_perm` ( -- Records of zz_sys_perm_code_perm -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114827, 1317453102206423040); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114831, 1317453102206423041); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114836, 1317453102206423042); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114833, 1317453102206423043); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114829, 1317453102206423045); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114827, 1317453102206423047); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114831, 1317453102206423047); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114829, 1317453102206423048); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114833, 1317453102206423048); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102281920520, 1317453102206423050); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102281920524, 1317453102206423051); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102281920516, 1317453102206423052); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102281920513, 1317453102206423053); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102281920522, 1317453102206423055); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114819, 1317453102206423058); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114823, 1317453102206423059); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102281920529, 1317453102206423060); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102281920526, 1317453102206423061); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114821, 1317453102206423063); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114888, 1317453102206423066); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114889, 1317453102206423067); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114890, 1317453102206423068); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114887, 1317453102206423069); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114887, 1317453102206423070); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114889, 1317453102206423071); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114889, 1317453102206423072); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114891, 1317453102206423073); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114854, 1317453102206423075); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114858, 1317453102206423076); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114873, 1317453102210617344); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114870, 1317453102210617345); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114856, 1317453102210617347); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114864, 1317453102210617349); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114866, 1317453102210617350); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114868, 1317453102210617351); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114874, 1317453102210617352); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114870, 1317453102210617353); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114863, 1317453102210617354); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114861, 1317453102210617355); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114876, 1317453102210617356); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114870, 1317453102210617357); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114860, 1317453102210617358); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114838, 1317453102210617360); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114838, 1317453102210617361); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114840, 1317453102210617366); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114840, 1317453102210617367); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114850, 1317453102210617375); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114905, 1317453102210617380); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114906, 1317453102210617381); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114907, 1317453102210617382); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114888, 1317453102210617383); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114889, 1317453102210617383); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114903, 1317453102210617383); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114906, 1317453102210617384); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114908, 1317453102210617385); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114909, 1317453102210617386); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114904, 1317453102210617387); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114908, 1317453102210617388); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114918, 1317453102210617390); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114919, 1317453102210617391); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114920, 1317453102210617392); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114905, 1317453102210617393); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114906, 1317453102210617393); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114917, 1317453102210617393); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114919, 1317453102210617394); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114921, 1317453102210617395); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309127, 1317453102210617397); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309128, 1317453102210617398); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309129, 1317453102210617399); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114918, 1317453102210617400); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102286114919, 1317453102210617400); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309126, 1317453102210617400); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309128, 1317453102210617401); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309140, 1317453102210617403); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309141, 1317453102210617404); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309142, 1317453102210617405); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309139, 1317453102210617406); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309127, 1317453102210617407); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309128, 1317453102210617407); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309139, 1317453102210617407); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309143, 1317453102210617409); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309144, 1317453102210617410); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309145, 1317453102210617411); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309139, 1317453102210617412); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309144, 1317453102210617413); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309153, 1317453102210617416); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309153, 1317453102210617417); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309153, 1317453102210617418); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309153, 1317453102210617419); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309153, 1317453102210617421); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309153, 1317453102210617422); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309153, 1317453102210617423); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317453102290309153, 1317453102210617424); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379408, 1450785766991990785); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379412, 1450785766991990786); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379417, 1450785766991990787); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379414, 1450785766991990788); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379410, 1450785766991990790); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379408, 1450785766991990792); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379412, 1450785766991990792); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379410, 1450785766991990793); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379414, 1450785766991990793); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379400, 1450785766991990795); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379404, 1450785766991990796); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379396, 1450785766991990797); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379393, 1450785766991990798); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379402, 1450785766991990800); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573865, 1450785766991990803); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573866, 1450785766991990804); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573867, 1450785766991990805); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573717, 1450785766991990806); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573718, 1450785766991990806); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573864, 1450785766991990806); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573864, 1450785766991990807); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573866, 1450785766991990808); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573866, 1450785766991990809); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573717, 1450785766991990811); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573718, 1450785766991990812); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573719, 1450785766991990813); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573716, 1450785766991990814); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573716, 1450785766991990815); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573718, 1450785766991990816); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573718, 1450785766991990817); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573720, 1450785766991990818); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573721, 1450785766991990819); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573721, 1450785766991990820); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573721, 1450785766991990821); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379435, 1450785766991990823); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379439, 1450785766991990824); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573702, 1450785766991990825); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573699, 1450785766991990826); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379437, 1450785766991990828); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379445, 1450785766991990830); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379447, 1450785766991990831); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573697, 1450785766991990832); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573703, 1450785766991990833); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573699, 1450785766991990834); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379444, 1450785766991990835); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379442, 1450785766991990836); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573704, 1450785766991990837); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573699, 1450785766991990838); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379441, 1450785766991990839); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379419, 1450785766991990841); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379419, 1450785766991990842); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379421, 1450785766991990847); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379421, 1450785766991990848); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767000379431, 1450785766991990856); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573736, 1450785766991990861); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573737, 1450785766991990862); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573738, 1450785766991990863); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573717, 1450785766991990864); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573718, 1450785766991990864); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573734, 1450785766991990864); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573737, 1450785766991990865); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573740, 1450785766991990866); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573741, 1450785766991990867); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573735, 1450785766991990868); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573740, 1450785766991990869); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573739, 1450785766991990870); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573739, 1450785766991990871); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573853, 1450785766991990873); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573854, 1450785766991990874); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573855, 1450785766991990875); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573717, 1450785766991990876); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573718, 1450785766991990876); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573851, 1450785766991990876); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573854, 1450785766991990877); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573856, 1450785766991990878); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573857, 1450785766991990879); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573852, 1450785766991990880); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573856, 1450785766991990881); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573750, 1450785766991990883); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573752, 1450785766991990884); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573751, 1450785766991990885); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573736, 1450785766991990886); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573737, 1450785766991990886); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573749, 1450785766991990886); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573751, 1450785766991990887); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573753, 1450785766991990888); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573753, 1450785766991990889); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573762, 1450785766991990891); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573763, 1450785766991990892); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573764, 1450785766991990893); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573750, 1450785766991990894); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573751, 1450785766991990894); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573761, 1450785766991990894); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573763, 1450785766991990895); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573765, 1450785766991990896); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573765, 1450785766991990897); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573777, 1450785766991990899); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573778, 1450785766991990900); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573779, 1450785766991990901); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573776, 1450785766991990902); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573762, 1450785766991990903); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573763, 1450785766991990903); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573776, 1450785766991990903); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573780, 1450785766991990905); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573781, 1450785766991990906); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573782, 1450785766991990907); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573776, 1450785766991990908); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573781, 1450785766991990909); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573783, 1450785766991990910); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573783, 1450785766991990911); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573783, 1450785766991990912); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573791, 1450785766991990915); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573791, 1450785766991990916); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573791, 1450785766991990917); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573791, 1450785766991990918); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573791, 1450785766991990920); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573791, 1450785766991990921); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573791, 1450785766991990922); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573791, 1450785766991990923); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573839, 1450785766991990925); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573834, 1450785766991990927); +INSERT INTO `zz_sys_perm_code_perm` VALUES (1450785767004573835, 1450785766991990928); COMMIT; -- ---------------------------- @@ -4933,7 +4772,7 @@ CREATE TABLE `zz_sys_perm_module` ( `module_name` varchar(64) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '权限模块名称', `module_type` int(11) NOT NULL COMMENT '模块类型(0: 普通模块 1: Controller模块)', `show_order` int(11) NOT NULL DEFAULT '0' COMMENT '权限模块在当前层级下的顺序,由小到大', - `create_user_id` bigint(20) NOT NULL COMMENT '创建者', + `create_user_id` bigint(20) NOT NULL COMMENT '创建者Id', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user_id` bigint(20) NOT NULL COMMENT '更新者Id', `update_time` datetime NOT NULL COMMENT '最后更新时间', @@ -4948,25 +4787,28 @@ CREATE TABLE `zz_sys_perm_module` ( -- Records of zz_sys_perm_module -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_perm_module` VALUES (1309065501174927363, NULL, '用户权限', 0, 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1309065501191704576, NULL, '系统配置', 0, 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1309065501191704577, NULL, '缺省分组', 0, 3, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102202228736, 1309065501191704577, '课程数据', 1, 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102206423049, 1309065501191704577, '校区数据', 1, 5, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102206423057, 1309065501191704577, '学生数据', 1, 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102206423065, 1309065501174927363, '用户管理', 1, 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102206423074, 1309065501191704577, '班级数据', 1, 15, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102210617359, 1309065501191704577, '课程统计', 1, 20, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102210617365, 1309065501191704577, '学生行为统计', 1, 25, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102210617371, 1309065501191704577, '学生行为流水', 1, 30, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102210617379, 1309065501174927363, '角色管理', 1, 10, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102210617389, 1309065501174927363, '菜单管理', 1, 15, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102210617396, 1309065501174927363, '权限字管理', 1, 20, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102210617402, 1309065501174927363, '权限模块管理', 1, 25, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102210617408, 1309065501174927363, '权限资源管理', 1, 30, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102210617414, 1309065501191704576, '字典管理', 0, 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102210617415, 1317453102210617414, '行政区划', 1, 1, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_perm_module` VALUES (1317453102210617420, 1317453102210617414, '年级', 1, 2, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1309065501174927363, NULL, '用户权限', 0, 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1309065501191704576, NULL, '系统配置', 0, 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1309065501191704577, NULL, '缺省分组', 0, 3, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990784, 1309065501191704577, '课程数据', 1, 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990794, 1309065501191704577, '学生数据', 1, 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990802, 1309065501174927363, '部门管理', 1, 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990810, 1309065501174927363, '用户管理', 1, 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990822, 1309065501191704577, '班级数据', 1, 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990840, 1309065501191704577, '课程统计', 1, 15, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990846, 1309065501191704577, '学生行为统计', 1, 20, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990852, 1309065501191704577, '学生行为流水', 1, 25, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990860, 1309065501174927363, '角色管理', 1, 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990872, 1309065501174927363, '数据权限管理', 1, 15, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990882, 1309065501174927363, '菜单管理', 1, 20, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990890, 1309065501174927363, '权限字管理', 1, 25, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990898, 1309065501174927363, '权限模块管理', 1, 30, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990904, 1309065501174927363, '权限资源管理', 1, 35, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990913, 1309065501191704576, '字典管理', 0, 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990914, 1450785766991990913, '行政区划', 1, 1, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990919, 1450785766991990913, '年级', 1, 2, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990924, 1309065501191704576, '操作日志', 1, 5, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); +INSERT INTO `zz_sys_perm_module` VALUES (1450785766991990926, 1309065501191704576, '在线用户', 1, 10, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); COMMIT; -- ---------------------------- @@ -4984,13 +4826,22 @@ CREATE TABLE `zz_sys_perm_whitelist` ( -- Records of zz_sys_perm_whitelist -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/areaCode/listDictAreaCode', '行政区划', '行政区划列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/areaCode/listDictAreaCodeByParentId', '行政区划', '行政区划过滤列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/course/listDictCourse', '课程数据', '课程字典列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/grade/listDictGrade', '年级', '字典列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/schoolInfo/listDictSchoolInfo', '校区数据', '校区字典列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/student/listDictStudent', '学生数据', '学生字典列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/areaCode/listAll', '行政区划', '字典全部列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/areaCode/listDict', '行政区划', '行政区划列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/areaCode/listDictByIds', '行政区划', '行政区划批量Id列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/areaCode/listDictByParentId', '行政区划', '行政区划过滤列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/course/listDict', '课程数据', '课程字典列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/course/listDictByIds', '课程数据', '课程字典批量Id列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/grade/listAll', '年级', '字典全部列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/grade/listDict', '年级', '字典列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/grade/listDictByIds', '年级', '字典批量Id列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/student/listDict', '学生数据', '学生字典列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/app/student/listDictByIds', '学生数据', '学生字典批量Id列表'); INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/login/doLogout', '登录模块', '退出登陆'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/login/getLoginInfo', '登录模块', '获取登录信息'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/sysDept/listDict', '部门管理', '部门字典字典列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/sysDept/listDictByIds', '部门管理', '部门字典字典批量Id列表'); +INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/sysDept/listDictByParentId', '部门管理', '部门字典下一级字典列表'); COMMIT; -- ---------------------------- @@ -5000,21 +4851,14 @@ DROP TABLE IF EXISTS `zz_sys_role`; CREATE TABLE `zz_sys_role` ( `role_id` bigint(20) NOT NULL COMMENT '主键Id', `role_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '角色名称', - `create_user_id` bigint(20) NOT NULL COMMENT '创建者', + `create_user_id` bigint(20) NOT NULL COMMENT '创建者Id', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user_id` bigint(20) NOT NULL COMMENT '更新者Id', - `update_time` datetime NOT NULL COMMENT '更新时间', + `update_time` datetime NOT NULL COMMENT '最后更新时间', `deleted_flag` int(11) NOT NULL COMMENT '逻辑删除标记(1: 正常 -1: 已删除)', PRIMARY KEY (`role_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPACT COMMENT='系统角色表'; --- ---------------------------- --- Records of zz_sys_role --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_role` VALUES (1317455469953945600, '111', 1317453102294503425, '2020-10-17 21:20:36', 1317453102294503425, '2020-10-17 21:20:36', 1); -COMMIT; - -- ---------------------------- -- Table structure for zz_sys_role_menu -- ---------------------------- @@ -5026,80 +4870,6 @@ CREATE TABLE `zz_sys_role_menu` ( KEY `idx_menu_id` (`menu_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPACT COMMENT='角色与菜单对应关系表'; --- ---------------------------- --- Records of zz_sys_role_menu --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309065501179121664); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309065501183315968); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309065501183315969); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309065501183315970); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309065501183315971); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309065501183315972); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309065501183315973); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309149272268083200); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309149401033216000); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309149467043172352); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309149536341463040); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1309149599981637632); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114881); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114882); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114883); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114884); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114885); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114893); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114894); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114895); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114896); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114897); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114898); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114899); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114900); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114901); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114911); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114912); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114913); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114914); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102286114915); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309121); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309122); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309123); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309124); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309131); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309132); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309133); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309134); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309135); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309136); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309137); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309147); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309148); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309149); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309150); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309151); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309161); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309162); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309163); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309164); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309166); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309167); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309168); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309169); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309171); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309172); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309173); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309174); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309176); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309177); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309178); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309179); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309180); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309181); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309182); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309183); -INSERT INTO `zz_sys_role_menu` VALUES (1317455469953945600, 1317453102290309184); -COMMIT; - -- ---------------------------- -- Table structure for zz_sys_user -- ---------------------------- @@ -5109,16 +4879,18 @@ CREATE TABLE `zz_sys_user` ( `login_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '用户登录名称', `password` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '密码', `show_name` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '用户显示名称', + `dept_id` bigint(20) NOT NULL COMMENT '用户所在部门Id', `user_type` int(11) NOT NULL COMMENT '用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)', `head_image_url` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户头像的Url', `user_status` int(11) NOT NULL COMMENT '状态(0: 正常 1: 锁定)', - `create_user_id` bigint(20) NOT NULL COMMENT '创建者', + `create_user_id` bigint(20) NOT NULL COMMENT '创建者Id', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user_id` bigint(20) NOT NULL COMMENT '更新者Id', `update_time` datetime NOT NULL COMMENT '最后更新时间', `deleted_flag` int(11) NOT NULL COMMENT '删除标记(1: 正常 -1: 已删除)', PRIMARY KEY (`user_id`) USING BTREE, UNIQUE KEY `uk_login_name` (`login_name`) USING BTREE, + KEY `idx_dept_id` (`dept_id`) USING BTREE, KEY `idx_status` (`user_status`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPACT COMMENT='系统用户表'; @@ -5126,8 +4898,7 @@ CREATE TABLE `zz_sys_user` ( -- Records of zz_sys_user -- ---------------------------- BEGIN; -INSERT INTO `zz_sys_user` VALUES (1317453102294503425, 'admin', '$2a$10$xBslnuRm.kzZ3aYbMB/HPe3cdYp1LWQFXGxXadbPkePg2TeVu.EWy', '管理员', 0, 'CHANGE TO YOUR HEAD IMAGE URL!!!', 0, 1317453102294503425, '2020-10-17 00:00:00', 1317453102294503425, '2020-10-17 00:00:00', 1); -INSERT INTO `zz_sys_user` VALUES (1317455515172737024, '111', '$2a$10$oiJwJAALeSAsphcCmZYHcOuiq4fvcNZ3Av8JCSpmHWfYQESbQZeqe', '111', 2, NULL, 0, 1317453102294503425, '2020-10-17 21:20:47', 1317453102294503425, '2020-10-17 21:20:50', -1); +INSERT INTO `zz_sys_user` VALUES (1450785767004573869, 'admin', '$2a$10$F8e1cPvOId3pPbcEyKm2ouj4oA741mfCSc4NesTkEHz99yd7DLfWW', '管理员', 1450785767004573868, 0, 'CHANGE TO YOUR HEAD IMAGE URL!!!', 0, 1450785767004573869, '2021-10-20 00:00:00', 1450785767004573869, '2021-10-20 00:00:00', 1); COMMIT; -- ---------------------------- diff --git a/orange-demo-single/orange-demo-single-service/zz-resource/upload-files/app/image/Course/pictureUrl/46296fa64fa94bc2a1dacde9bfd146cb.png b/orange-demo-single/orange-demo-single-service/zz-resource/upload-files/app/image/Course/pictureUrl/46296fa64fa94bc2a1dacde9bfd146cb.png new file mode 100644 index 0000000000000000000000000000000000000000..f2df5bb8023bc0ad62ecb69d3958e000d8198ea9 GIT binary patch literal 9808 zcmV-WCa>9vP)Rs>p5P=;1%8$!2n zWRzJZ6;Ncb4H%FlgqRp0$dn0Qk~iG>OjWhl>Obn7JDzigmq*t3?eCsjReSHX*WR_( z+H2S)?(7Y&gX15YgSjSxp!q5@Pd(1U*ALPCdY#$RkF(O7Wa9WLMYBe)UPB5&6x;z3 z(1dz-743ED9X_2_8dz9dCRG7}*v`&sK4|6c*3-N6|D%3ysrxy=nK*|KnE|f>4FJcx zg7k3~5RN;3gl@PoyI1#{I$<|;u4>(oOqSnw7h+)?n3<%V8;xVPQ`Ty98Vy2ppz6CS zO4jd^cDu9>O)_0uV*b`yvIiE-o_(D8f0)CXH4sQ{>T%$y$Km07BVV#dGM_RKcf@V@ zZzlL-T=d6*`{`u)fbPGy&O#k&I1Cqo!1_PKOENw9an9g>Xc_r;>$nSH(!TF5*Wz*= z;+F!K0=c*$dtP0q4(?P!3lKxdNV12QMez&mJbyw6;hbu@0|rtXOv1^~!a!0-a4^mS zISY772;qOU+ufT=!ly0CK4coM0NST$SbKsyjnIM|CYI0cr`gYtW)Ii0Bmy#^@ejCn ziP7$=*o)f}lP?zcuc+AvLEZ%%y%P|)QwV)F@KSgG8St}ZjU5Pg28o9-oX`Q=I$x0U z5iY|0qaYUp-}^!KucyArwRgTH@H%&{0e&6)>{H*@9frFgyac!wcpWhFgX-wi6Iv8^ z`2{z<(uG$8vv;JqisOz))7|kqEZlq+_g6c9g$vKVgN==ZQ^q<}jbQOEtF5UwAv{wf zoD^^HwR$~Ajt1hbBDPR^x+>6id}*MBOgr96l61n&W}?M2MC7mtbr`6W`vft&XOX1u zDJIgV1uI{wYPX!k2u8xGA+$K1ZtJHlCV$~7rwPt})dq)BoXaKH7eTJ^$hV?|TUvCF z2I;eC2MH24)iHCL%{s9kS?RV9Ckc14sOLIzpAh^ZZhoN)&Hc@{;3_}s7A|aeniq-q zNA^{H44gcn4QPO*9@O}s{chtGssq((HxRJ4qIF+Hxe|--5w|ZP=`94$-G)1eA?p}V zstv5;C~(xHTon;Q;;6^FI`RmY@Lcc*0|)jpG{LbLPV1G;54*@8N@A~~fng^vzE7Ia z+BD*~!)$ph`H-geSkZl~;K&X2`*z-0e!u<^?}h7q<4Se#Qjm2Pvg72*R_#SLajYA` zZ&cCuy4!sXdxjv-1p_URpM?d+0`l_W}DRw20tlKkPmI2g{QC zX=b~!V~ug4mglc@eq2l`f-P#rmyu5dbf5FiQ?pLkZJD~+s;$6zJ{D_Fm?DonDz6$&rBF{$T zTc%sPa?Aq(qm{Oq%vMRHsC4H2D=pjmcPA1sWUM$f6kNV3&M&(2E5Pz@Dyg6|rPxOi zJ7+&Q?pYX?k{&iqKdWN**zH+Yxx$QJ6|-w(%v4$$2qEV{x`>3hiLjD52=@h^0G!6& z7Q{U8IpB&-{g_i?s4^h=2z&t%-X^77Y3gs4z(aN-q7v_3wrZa$Tj?VcisO60jfBtc za5q3_sY$mxffw@LI1%o(2Vw95;FnyaJB~UoO1f0g&=U|?-=qkHv}EbBnKvYTdy%Nm z?ClM8a6yD_NaA0+^I~@|7&L1b7C}@{Vf6YI@W{X8{^KZb2l<6@y@@$-M$cRN>cRK= zcgrU=yKS1w-D)gjAmO$h@J}HgQ~E3Q|Cuz4$7^jT!RO%eZV{fhD{U0|mo4>b_d}W;0E)@XU~o? zdrJsA58RP=0x#Q9j`)B#hycnO3)<*KaXHUnddJT82xjGjMPxLg#c|hNWtqUsfCCP{ zH13%YBfVPVt?fgNFRyy*$hg;V2Vp3JjhCTh!>$zEFofqIdRN^hEMr6B3|M(-gUED2es z*}4>X*tXm5YhIF#zej@0{M_N&&Li_00wrUnSOE9!|qUM z!fbmULSVTyg~pPg0#vfdgD^e6Ks&T3YqhFU0+I^ie8kP3F}8R2MaS<0n-yo>5Ir({ z_g}sK%<{;45nGb1Ch5CS@wcm z8yh)L-r-w}(rfLiK*Fv%^bkxGiXPL)7V%`zVDuYTW~cvmr_p+Sh~v~=c|Pz4hZDmq zNn9JJqwu_-GCOwLD|`#F|Fw}g?Knl-Ckaw+cxHtZ1MIhC<} zTSSm}wWj80W~onh*(S6ET>PyPdF0+mQaKkwQM^<7`Rb-!y*m<}vYz59yDS1`fhKUf znib+saASFDntrW8C@U9(1udkEZvy^wBrX8xa}OUpc1e;I1qMmCR;%u$>BE%~dg73M z7xI1Y%X=#oKSLXiqv(Lax^qCp-+;@n6p||f>iU)F@-`9wi*3!ifh%Rw03w^2yQ9X( z-MJNEr2e@TEQDfq;l%rrm3)00=0E~533O?)Ix&TAWmOeC1b9C17^>KgZ*=R8x5W_N zQ{f4{dPdSSq$f}~;=G$0zb&bsHR=sf@dxC2_G3k<|AIr3o_kLK78jR(-g-Hz+h;s3 z1zJD4@|Vqrtgcq05*9x?M_d$0t6oI>{qFwcEeq!SAa?%h>cnF$CjUj%j&C$^i92fG zCWy&~S6V<=Li~dWzp*=+g;19NwAyNXP3rY^{_GHIDK+b(y)A?=!^IKd6)OIF?(0?` zaX;K^wJyZ{K4Sc~xIhP{AGt#PUY%k4tL-mOytRG#5gD)`)nm z#OozqDr>02U zFtf8=!n*|?y-n-cim}N@foCE>DOfM5v=>0?23hfGB2O4o-7VVVf&Zr&kwpB*cM`;2 z`g<+S@rj%;*&(!Y+!QMnaleFfZBN=SQ>;h7;dM+zUt zAw1sPKPdYMW;Caz>W>3?_W&P4o}q&vA6L6H&w4#!v}Ip}^Q{+9J;doA_5S0POaF2V z;Z_SNmIZ1Da7Rm8s~ge0s*(nuNUWUbeC8;wgsj3*T^B*-HKIVcFhm6!;5X5^_+q?D#|*|>#j zE8&dkr_A3YS-EuT9?}|3C=thExH^^zod(4xjffKsmgko!#lVFi90?)$bBC9&)$1zB>G?k#`03@(BcQ2s{8Lku$CRYLhEJl% zyS$WV-ND3yLjiw^VDEv-Op+&+vhD)n{uQy&b{=UN?av>$ds5t7yO*?#QO<35Dbmbt zNV6O-h3o-+I*myHtgG~Isy#l$a(l&nLWuF)_Qd38B*f=vVV{mk%0ylg`aKqBX3!XM z{P*4c$3ZR-5v=4GHGfI^LpcB|*G$m4rB35OrLnkknhNhhc>EnkunK#80`6;s&dQB} zXx!)`1tZ+Ek~!TQvU?`f<2mD^B;Ea1GrI|?qCaOJwL~&gskP-&a&GS}r#)KIJL*VX zgE^1k?-Bb|fw!9|t(6{Ay2SGIG+vfV&3gR_?*5y3Kh{*_&n@~5085umGyj=cbh1B) zaMB+``~$!_dzR8Wf`jN2a!(E!avUIFWU^*;zsX&0^D2#GGZ=)Xos)>jnIoHa2&%W$ z((E`6J_E~tH;0Q=vOUU$+KjbRFp7(Q$c~Q0(j?ObQ;Ta`q3#cMH&)DWb9wiJ;V!Ucbo@T$hICtn1Kn_rf zP>bt)Q8K5vJzyr(XZyI3;Ni_~Ve*u4i&5Zmcc-!m1dN$vmErCqh^>wyGJuHBBuJI= z3!7J@2w04(Ww|cwR6-T$Q~i5nPtpA+0pd<9lXJ=#Ca7ZSu%bZfQY9%N0O|LPQqQw0|OKT2W6KmZrQMvUHVP_;bHd#(a(q%n?hP{M_!Rh*I|o!bWUey;GlfP^_gKojYxCLIM~v-l6T@Pe3}OI;hmUFrnG{ zb{5Uhevh&!P_0Z9We6WkqJ0QB3#d^w)&siWeUKh&+aV!I3bHh((`k+Hp9&_5TS<8| zrTg_Jov$`vC6ENL%+Y3_nfZCNW7GK0Tph`rjOG!<7EHaDK zBI34gy_Gc#Dk6>xssk{g)m^6DnqUXcxv82Ldw4EF*-Y@Ja*%~8Gl4brZg!k{hs%k? z;mD}lB4B2xcY3`;0vpl?`iKaL>X^aqFdnZARjLN=xF{2=3v?!0cv536)va2JX9GV1 z90C4q6Jp!pyusgZKxLUoihR(aS0=DQ0J@nI!v56~!9k$gY@rFHWzGgA;IJd7kFV_C zQ}5_aVB&7g<#~pj83OTqQ$ss=Xfc9A;{$je=l&k zATJs=qh(q70AsbW5s^OvuE4oG;Qu7TGb+MVP`wNlk+UqL*{Wlux_|n)3f{E^nA>Y#z{@}Zbhn;$;J{W(_|z++6dX1Ig&WhjAlKfUayh& zgd(r8HFZwKLT=eh+HvyB8vVt<&<2y4`)^0{1EoXK>yy`N z*hf_S<9SxQ&&KxMoscACS&ExO8JL({W*B6z&GE)Dai>UAP8>Qw5riU<%H^6W{Y)uU z&%sAWc6%w*@7n*CPCaJ%JJuP!q+J}a2Z>oF5Z6kqiu;zC9R`6^uKeaBI+YCqtArT> zL)NjzbRBUXEATJwa&biGwn;J9Ib08Fbe0;E+&(kM(V02sCue?mqu*~>%SE2rZcTl~ zMPG}r>(WEkF~n503OkaX)BQ?wti3=ivf6CX%bFxbL`z2oMN3DF^T*kEysfkzwfJ3K z{^ZPe!-S1V84|?&;YqZRn6aruBVdHJXn;yUsg;B>2OP`SS;q(k5;dD^Pfq=D49Ta( zcvuzAvHeLApBM2}5E@yJR@$bSbZBUAaWvi_ZViFoMfA%K&m8rP4>AHgSMskn32NIi ztHcHIKvD>`9FkH=N+lhZLK1a<Z_ zN<>No=2s5T>m{JzCO5gn>jk;*_!cS%5?;{nh4#&SCf(iC}WE&3-y#+uZ#&|fEHXpEZZsY!)Z*RS4tAW)|wknEk zL0aq8Kvd*sdwKpEcfYT0%L(5Z9F`L7%9Kht2XT^GCE!JbqV%hZJU)LfhW_1>6#M=tirb3Pde{ot-9|@!b+2pPvvW=JLT!zRy;CJE${QvZ<}U+Kf z^m;jE8UIZ-hJx+2RUpr6|J6;e0D0CZLc0l4i|AxAvUn1o<#9aQFqcnKP*8xh|DZBj zc_NSMOip}m$>fwg1U=;)x~!`3}A;o04`Cr|GtUf>Ud8nd%kW4@QS5~$b@9}AEcZ)iha8a6O$_! zO6r&4kTi?cDiEFIOKq9BPJBd+w1XsmrX>EHp#Enn8&4w;iZb0qOIOYi_=INhtdk%7 zuyy;wrnz@RJ!Jy|J(u`3;0_SlariZJX{*R9H`+`jbFwViBn!<9bALWMn#cppug%i_ zhz?1@(((DM+v)yh(9wPqcP9jY z*XrtAv1Vb`2vrfp+$di0qRLUZ>Cx?0{gVI-`bAgCH(hi{wu`>6f*b`ud`J6qd~W!5 zx;kYnSY2Mm%&T~C^ShOWy)1+s1^YYPnco=8q^L72Qtj&Ah_JK`f%UEQ6zH3Xf~cc) zLsK8j`j&4$hB2U zkq}T~QIh95MJy>w!%BM-Fg7^H-4`6ccwm`bE5lr$jpYc=o3|mbQ5cK=OoG2qHIihJ zkVQxq9q4(W``m zIt15ex%hho*PV8aJBl=lga31JY`1quIbN{}OnA5~}7k>Bu`{@r-(MViF$*YxB^ z-K8TU1cx{@Dmm{Lbiv^g*!{q(jSxN1(Dv6Rlcnw^Wk$h!%1V9!+j4@VnOqk_c^o*j zpT2NGL%ddy7g4Tn=UtL2L(PR~OyKfi5g&iDfkTocFSp>^hzyX-&dzVYD&Qs`JAQob zW9H$fbmYM(jyw0q^u6Ld0}L9o)srmfX)@svu)RV zp0UuaPJ>%BsXCw>$)x}FAa>z?-k{R-eKXUGzm^yEg?_(=1P4v=wbLU}g!c)4zj1B2 zI}-HoXAd6ufT%KRoI8q65xaW$ zLJ*^0rXN4vKgh;%qCd-gK1+{mbCHa;*C{=GZbv`n=3C1_!V3_d4ZeUmk_w)rxFl;2 zJG>3pSx0w{;`U-<3FYV_{-GV}tFXE_`P1#r<&_~-mCnrU zG5Y-md0DIYbrir5kvEP#ylMb3BuuoIf2y^#`f*9dk14$7sZ^0SBZ>&*i|IG|E3H)3 zFO;nzTASg=aJh#Fe_NfwR7verfgmK^oJ8#AqTc+g5ap1GT`(pu`sx=V0i|?af87k zcn9!b$BtGj(`mHuhT3ZP&uS<7kUR87mt>6Zb}$VPG9&ADUqxRph|A%Lnr=6vuJLd2 z=QvUmcp*qTh>?VnToMvWa6w$V66IGVD?aZgza{X1^_Jvn5iWAK8+X78ALM6`nkPrz zATG1GT*QV**+6+!VfMOOZTb_r7xZ!?q)PBeuU{u|N3#+ltpSmLZYLb9RKl!%Dx2uN zGIXrU_1YmYV9%#Cl>d<)TKxFz=dG#tl@Ttl%^|;jm7Bi^_%{s!)yP!;1WPuJg%;9R z%0?d-G>QHsSGlW;-x6Z-kFHkQhOFeZq|c!^k;*$s^vbcjc7M=$04oF)eJH6vL7*O8 zubq+k4=;6VJ~4M1Wxrsxv%>7`G^?E+MT{gSNNNwT$lEbJf2S}fQz0C+>!*Km{=)P@ zdp$C9kC0@=an<69r8PenLb**{+bAsEE zQDwjEgx`+)XO%N1wC9CXhg}m~9s%JSyKZ?!F!x_5 zEnMFAiC2MDX}k`qj=B)NQdAR9h!PPkE1S!p?e*>Om@bC*MJpel2%ZTpPEr}@aWPhz zAZo%euvJ9rtL@IKJ=*2!{Jg_>6&7$+knoM*@(3qhv)|3`NoA6{r(Z8Z^5jsI*IKT- zda(_iF1-HwkodpHmGJB3?b#V&Dk6hDLA7=j-*kxE$$=vkLlj3vD&kpnc(>LKTn;<_ zA`!hh&x_YZ_o*F;rUSvZTz-|(e-a7TpA23nMd)ZkD2f{oJY@bc;k5YKaUo?xs7~%T zq~Z7M-(3Gc?W_PO35<)nKN(2fxjXQDg@2+eU+7)mcnyKE2K!B@N@c1gm)}q4iYJA8 z$793uN=^n&{yQv671Lje8T?MY+r83i>7PgRjJ>Q&Z5qI|AdijMV*v!Y+CBWUJ6D5$ z2e{ecwjIC2vVQLj;4T7p$K{7b{E;!*LqTeSfDZcH!#p}dh<0nR_CFnP75$(zBRaWV^2ga^5W2RV)ixx?+5#@oOa%%x40GBG^dZ_1IW zn&eIJ8HdvmP7^1SO%|~6h>S`=tv2@dVJ+=9TfNTr`n9nJyM4ha`&O1|Ae!AWG0}Kt z-pgOm@8>TUmHX^ob1ST^(ahoOAbvL3+Eqa|@L(ByHss_o9=8(N(C^fw_xeNkzbS~zJH_Q8D6eHxw!r?OvY2d*iQV|~l%$m&bC=h+`$KTvb&5ptCOGwk zULW-;$ZOpF0pM=}ZaQUsoH|O}1iaDVfgrDCkfr;BfFHnzBe%g3hnL}Yfr`A;kuUh# zZtw@Oc1D8_Vgm;WrC-7Q-cjm`^kGm%q*J|BA38DLAtEQ|JjB+-~_5?=^g%L>VU|%xNxnyTxY8PJh8I$x#e`C)WoX9pV5wk9~j)}-vzH; z-L(Z=2z=Is&kl@oXNqw5XmYmT_Y&c*h@9o-heVihye>#(V|KcZ_e5lYO5lDUmm4JT qEsJ(D$PKP?WLuQkAQ%14hW`)3lpI^^)lqf;0000 { - sender.doUrl('/admin/app/schoolInfo/listDict', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase('校区'); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } static dictStudent (sender, params, axiosOption, httpOption) { return new Promise((resolve, reject) => { sender.doUrl('/admin/app/student/listDict', 'get', params, axiosOption, httpOption).then(res => { @@ -155,4 +144,31 @@ export default class DictionaryController { }); }); } + static dictSysDept (sender, params, axiosOption, httpOption) { + return new Promise((resolve, reject) => { + sender.doUrl('/admin/upms/sysDept/listDict', 'get', params, axiosOption, httpOption).then(res => { + let dictData = new staticDict.DictionaryBase('部门字典'); + dictData.setList(res.data); + resolve(dictData); + }).catch(err => { + reject(err); + }); + }); + } + static dictSysDeptByParentId (sender, params, axiosOption, httpOption) { + return new Promise((resolve, reject) => { + sender.doUrl('/admin/upms/sysDept/listDictByParentId', 'get', params, axiosOption, httpOption).then(res => { + let dictData = new staticDict.DictionaryBase('部门字典'); + dictData.setList(res.data); + resolve(dictData); + }).catch(err => { + reject(err); + }); + }); + } + static dictSysDataPermType () { + return new Promise((resolve) => { + resolve(staticDict.SysDataPermType); + }); + } } diff --git a/orange-demo-single/orange-demo-single-web/src/api/Controller/SchoolInfoController.js b/orange-demo-single/orange-demo-single-web/src/api/Controller/SchoolInfoController.js deleted file mode 100644 index c66096ee..00000000 --- a/orange-demo-single/orange-demo-single-web/src/api/Controller/SchoolInfoController.js +++ /dev/null @@ -1,25 +0,0 @@ -export default class SchoolInfoController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/schoolInfo/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/schoolInfo/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('/admin/app/schoolInfo/export', params, fileName); - } - - static add (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/schoolInfo/add', 'post', params, axiosOption, httpOption); - } - - static update (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/schoolInfo/update', 'post', params, axiosOption, httpOption); - } - - static delete (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/schoolInfo/delete', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-single/orange-demo-single-web/src/api/Controller/SysDataPermController.js b/orange-demo-single/orange-demo-single-web/src/api/Controller/SysDataPermController.js new file mode 100644 index 00000000..15fd5ccc --- /dev/null +++ b/orange-demo-single/orange-demo-single-web/src/api/Controller/SysDataPermController.js @@ -0,0 +1,61 @@ +export default class SysDataPermController { + /** + * @param params {dataPermId, dataPermName, deptIdListString} + */ + static add (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDataPerm/add', 'post', params, axiosOption, httpOption); + } + + /** + * @param params {dataPermId, dataPermName, deptIdListString} + */ + static update (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDataPerm/update', 'post', params, axiosOption, httpOption); + } + + /** + * @param params {dataPermId} + */ + static delete (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDataPerm/delete', 'post', params, axiosOption, httpOption); + } + + /** + * @param params {dataPermName} + */ + static list (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDataPerm/list', 'post', params, axiosOption, httpOption); + } + + /** + * @param params {dataPermId} + */ + static view (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDataPerm/view', 'get', params, axiosOption, httpOption); + } + + /** + * @param params {dataPermId, searchString} + */ + static listDataPermUser (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDataPerm/listDataPermUser', 'post', params, axiosOption, httpOption); + } + + /** + * @param params {dataPermId, userIdListString} + */ + static addDataPermUser (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDataPerm/addDataPermUser', 'post', params, axiosOption, httpOption); + } + + /** + * @param params {dataPermId, userId} + */ + static deleteDataPermUser (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDataPerm/deleteDataPermUser', 'post', params, axiosOption, httpOption); + } + + static listNotInDataPermUser (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDataPerm/listNotInDataPermUser', 'post', params, axiosOption, httpOption); + } +} diff --git a/orange-demo-single/orange-demo-single-web/src/api/Controller/SysDeptController.js b/orange-demo-single/orange-demo-single-web/src/api/Controller/SysDeptController.js new file mode 100644 index 00000000..ff96ce55 --- /dev/null +++ b/orange-demo-single/orange-demo-single-web/src/api/Controller/SysDeptController.js @@ -0,0 +1,25 @@ +export default class SysDeptController { + static list (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDept/list', 'post', params, axiosOption, httpOption); + } + + static view (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDept/view', 'get', params, axiosOption, httpOption); + } + + static export (sender, params, fileName) { + return sender.download('admin/upms/sysDept/export', params, fileName); + } + + static add (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDept/add', 'post', params, axiosOption, httpOption); + } + + static update (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDept/update', 'post', params, axiosOption, httpOption); + } + + static delete (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDept/delete', 'post', params, axiosOption, httpOption); + } +} diff --git a/orange-demo-single/orange-demo-single-web/src/api/Controller/SystemController.js b/orange-demo-single/orange-demo-single-web/src/api/Controller/SystemController.js index a17ae123..33d59b2d 100644 --- a/orange-demo-single/orange-demo-single-web/src/api/Controller/SystemController.js +++ b/orange-demo-single/orange-demo-single-web/src/api/Controller/SystemController.js @@ -63,6 +63,22 @@ export default class SystemController { return sender.doUrl('admin/upms/sysUser/update', 'post', params, axiosOption, httpOption); } + static addDepartment (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDept/add', 'post', params, axiosOption, httpOption); + } + + static deleteDepartment (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDept/delete', 'post', params, axiosOption, httpOption); + } + + static updateDepartment (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDept/update', 'post', params, axiosOption, httpOption); + } + + static getDepartmentList (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysDept/list', 'post', params, axiosOption, httpOption); + } + // 菜单接口 static getMenuPermList (sender, params, axiosOption, httpOption) { return sender.doUrl('admin/upms/sysMenu/list', 'post', params, axiosOption, httpOption); @@ -225,6 +241,10 @@ export default class SystemController { static listSysMenuByPermIdWithDetail (sender, params, axiosOption, httpOption) { return sender.doUrl('admin/upms/sysPerm/listSysMenuWithDetail', 'get', params, axiosOption, httpOption); } + // 操作日志 + static listSysOperationLog (sender, params, axiosOption, httpOption) { + return sender.doUrl('admin/upms/sysOperationLog/list', 'post', params, axiosOption, httpOption); + } // 在线用户 static listSysLoginUser (sender, params, axiosOption, httpOption) { return sender.doUrl('admin/upms/loginUser/list', 'post', params, axiosOption, httpOption); diff --git a/orange-demo-single/orange-demo-single-web/src/api/index.js b/orange-demo-single/orange-demo-single-web/src/api/index.js index 369b02b2..0d5b1a16 100644 --- a/orange-demo-single/orange-demo-single-web/src/api/index.js +++ b/orange-demo-single/orange-demo-single-web/src/api/index.js @@ -1,8 +1,9 @@ import SystemController from './Controller/SystemController' +import SysDataPermController from './Controller/SysDataPermController' import DictionaryController from './Controller/DictionaryController' import CourseController from './Controller/CourseController.js'; -import SchoolInfoController from './Controller/SchoolInfoController.js'; import StudentController from './Controller/StudentController.js'; +import SysDeptController from './Controller/SysDeptController.js'; import SysUserController from './Controller/SysUserController.js'; import StudentClassController from './Controller/StudentClassController.js'; import CourseTransStatsController from './Controller/CourseTransStatsController.js'; @@ -11,10 +12,11 @@ import StudentActionTransController from './Controller/StudentActionTransControl export { SystemController, + SysDataPermController, DictionaryController, CourseController, - SchoolInfoController, StudentController, + SysDeptController, SysUserController, StudentClassController, CourseTransStatsController, diff --git a/orange-demo-single/orange-demo-single-web/src/router/systemRouters.js b/orange-demo-single/orange-demo-single-web/src/router/systemRouters.js index 6a48eaf8..4ed7ed90 100644 --- a/orange-demo-single/orange-demo-single-web/src/router/systemRouters.js +++ b/orange-demo-single/orange-demo-single-web/src/router/systemRouters.js @@ -28,22 +28,72 @@ const routers = [ }, children: [ {path: 'formSysUser', component: _import('upms/formSysUser/index'), name: 'formSysUser', meta: {title: '用户管理'}}, + {path: 'formSysDept', component: _import('upms/formSysDept/index'), name: 'formSysDept', meta: {title: '部门管理'}}, {path: 'formSysRole', component: _import('upms/formSysRole/index'), name: 'formSysRole', meta: {title: '角色管理'}}, + {path: 'formSysDataPerm', component: _import('upms/formSysDataPerm/index'), name: 'formSysDataPerm', meta: {title: '数据权限管理'}}, {path: 'formSysMenu', component: _import(state.supportColumn ? 'upms/formSysMenu/formSysColumnMenu' : 'upms/formSysMenu/index'), name: 'formSysMenu', meta: {title: '菜单列表'}}, {path: 'formSysDict', component: _import('upms/formDictManagement/index'), name: 'formSysDict', meta: {title: '字典管理'}}, {path: 'formSysPermCode', component: _import('upms/formSysPermCode/index'), name: 'formSysPermCode', meta: {title: '权限字管理'}}, {path: 'formSysPerm', component: _import('upms/formSysPerm/index'), name: 'formSysPerm', meta: {title: '权限资源管理'}}, + {path: 'formSysOperationLog', component: _import('upms/formSysOperationLog/index'), name: 'formSysOperationLog', meta: {title: '操作日志'}}, {path: 'formSysLoginUser', component: _import('upms/formSysLoginUser/index'), name: 'formSysLoginUser', meta: {title: '在线用户'}}, {path: 'welcome', component: _import('welcome/index'), name: 'welcome', meta: {title: '欢迎'}}, - {path: 'formSchool', component: _import('generated/formSchool'), name: 'formSchool', props: getProps, meta: {title: '校区管理'}}, - {path: 'formStudent', component: _import('generated/formStudent'), name: 'formStudent', props: getProps, meta: {title: '学生管理'}}, - {path: 'formCourse', component: _import('generated/formCourse'), name: 'formCourse', props: getProps, meta: {title: '课程管理'}}, - {path: 'formCourseStats', component: _import('generated/formCourseStats'), name: 'formCourseStats', props: getProps, meta: {title: '课程统计'}}, - {path: 'formStudentActionStats', component: _import('generated/formStudentActionStats'), name: 'formStudentActionStats', props: getProps, meta: {title: '学生行为统计'}}, - {path: 'formStudentActionDetail', component: _import('generated/formStudentActionDetail'), name: 'formStudentActionDetail', props: getProps, meta: {title: '学生行为详情'}}, - {path: 'formSetClassStudent', component: _import('generated/formSetClassStudent'), name: 'formSetClassStudent', props: getProps, meta: {title: '设置班级学生'}}, - {path: 'formSetClassCourse', component: _import('generated/formSetClassCourse'), name: 'formSetClassCourse', props: getProps, meta: {title: '设置班级课程'}}, - {path: 'formClass', component: _import('generated/formClass'), name: 'formClass', props: getProps, meta: {title: '班级管理'}} + { + path: 'formStudent', + component: _import('generated/formStudent'), + name: 'formStudent', + props: getProps, + meta: {title: '学生管理'} + }, + { + path: 'formCourse', + component: _import('generated/formCourse'), + name: 'formCourse', + props: getProps, + meta: {title: '课程管理'} + }, + { + path: 'formCourseStats', + component: _import('generated/formCourseStats'), + name: 'formCourseStats', + props: getProps, + meta: {title: '课程统计'} + }, + { + path: 'formStudentActionStats', + component: _import('generated/formStudentActionStats'), + name: 'formStudentActionStats', + props: getProps, + meta: {title: '学生行为统计'} + }, + { + path: 'formStudentActionDetail', + component: _import('generated/formStudentActionDetail'), + name: 'formStudentActionDetail', + props: getProps, + meta: {title: '学生行为详情'} + }, + { + path: 'formSetClassStudent', + component: _import('generated/formSetClassStudent'), + name: 'formSetClassStudent', + props: getProps, + meta: {title: '设置班级学生'} + }, + { + path: 'formSetClassCourse', + component: _import('generated/formSetClassCourse'), + name: 'formSetClassCourse', + props: getProps, + meta: {title: '设置班级课程'} + }, + { + path: 'formClass', + component: _import('generated/formClass'), + name: 'formClass', + props: getProps, + meta: {title: '班级管理'} + } ] } ]; diff --git a/orange-demo-single/orange-demo-single-web/src/staticDict/index.js b/orange-demo-single/orange-demo-single-web/src/staticDict/index.js index c8d77ac0..000bd5c7 100644 --- a/orange-demo-single/orange-demo-single-web/src/staticDict/index.js +++ b/orange-demo-single/orange-demo-single-web/src/staticDict/index.js @@ -285,6 +285,75 @@ const CourseDifficult = new DictionaryBase('课程难度', [ ]); Vue.prototype.CourseDifficult = CourseDifficult; +const SysOperationType = new DictionaryBase('操作日志操作类型', [ + { + id: 0, + name: '登录', + symbol: 'LOGIN' + }, + { + id: 5, + name: '登出', + symbol: 'LOGOUT' + }, + { + id: 10, + name: '新增', + symbol: 'ADD' + }, + { + id: 15, + name: '修改', + symbol: 'UPDATE' + }, + { + id: 20, + name: '删除', + symbol: 'DELETE' + }, + { + id: 35, + name: '查询', + symbol: 'LIST' + }, + { + id: 40, + name: '分组查询', + symbol: 'LIST_WITH_GROUP' + }, + { + id: 45, + name: '导出', + symbol: 'EXPORT' + }, + { + id: 25, + name: '新增多对多关联', + symbol: 'ADD_M2M' + }, + { + id: 30, + name: '移除多对多关联', + symbol: 'DELETE_M2M' + }, + { + id: 50, + name: '上传', + symbol: 'UPLOAD' + }, + { + id: 55, + name: '下载', + symbol: 'DOWNLOAD' + }, + { + id: 60, + name: '重置缓存', + symbol: 'RELOAD_CACHE' + } +]); +Vue.prototype.SysOperationType = SysOperationType; + const SysPermModuleType = new DictionaryBase('权限分组类型', [ { id: 0, @@ -336,6 +405,41 @@ const SysMenuType = new DictionaryBase('菜单类型', [ } ]); Vue.prototype.SysMenuType = SysMenuType; + +const SysDataPermType = new DictionaryBase('数据权限类型', [ + { + id: 0, + name: '查看全部', + symbol: 'ALL' + }, + { + id: 1, + name: '仅看自己', + symbol: 'ONLY_USER' + }, + { + id: 2, + name: '仅看所在部门', + symbol: 'ONLY_DEPT' + }, + { + id: 3, + name: '仅看所在部门及子部门', + symbol: 'ONLY_DEPT_AND_CHILD' + }, + { + id: 4, + name: '自选部门及子部门', + symbol: 'CUSTOM_DEPT_AND_CHILD' + }, + { + id: 5, + name: '仅自选部门', + symbol: 'CUSTOM_DEPT' + } +]); +Vue.prototype.SysDataPermType = SysDataPermType; + export { DictionaryBase, SysUserStatus, @@ -349,6 +453,8 @@ export { ClassStatus, ClassLevel, CourseDifficult, + SysDataPermType, + SysOperationType, SysPermModuleType, SysPermCodeType, SysMenuType diff --git a/orange-demo-single/orange-demo-single-web/src/utils/index.js b/orange-demo-single/orange-demo-single-web/src/utils/index.js index 6b8a54a6..c622c222 100644 --- a/orange-demo-single/orange-demo-single-web/src/utils/index.js +++ b/orange-demo-single/orange-demo-single-web/src/utils/index.js @@ -136,8 +136,12 @@ export function objectToQueryString (params) { return null; } else { return Object.keys(params).map((key) => { - return `${key}=${params[key]}`; - }).join('&'); + if (params[key] !== undefined) { + return `${key}=${params[key]}`; + } else { + return undefined; + } + }).filter(item => item != null).join('&'); } } /** diff --git a/orange-demo-single/orange-demo-single-web/src/views/generated/formClass.vue b/orange-demo-single/orange-demo-single-web/src/views/generated/formClass.vue index 819a21bc..130c56f5 100644 --- a/orange-demo-single/orange-demo-single-web/src/views/generated/formClass.vue +++ b/orange-demo-single/orange-demo-single-web/src/views/generated/formClass.vue @@ -12,7 +12,8 @@ + :clearable="true" placeholder="班级名称" + /> 查询 @@ -183,7 +184,7 @@ diff --git a/orange-demo-single/orange-demo-single-web/src/views/generated/formCreateStudent.vue b/orange-demo-single/orange-demo-single-web/src/views/generated/formCreateStudent.vue index 8ced1ede..c6f72690 100644 --- a/orange-demo-single/orange-demo-single-web/src/views/generated/formCreateStudent.vue +++ b/orange-demo-single/orange-demo-single-web/src/views/generated/formCreateStudent.vue @@ -6,7 +6,8 @@ + :clearable="true" placeholder="学生姓名" + /> @@ -22,14 +23,18 @@ + format="yyyy-MM-dd" + value-format="yyyy-MM-dd 00:00:00" + type="date" align="left" + placeholder="出生日期" + /> + :clearable="true" placeholder="手机号码" + /> @@ -84,12 +89,12 @@ - - - + @change="onSchoolIdValueChange" + /> @@ -111,6 +116,8 @@ diff --git a/orange-demo-single/orange-demo-single-web/src/views/generated/formEditStudent.vue b/orange-demo-single/orange-demo-single-web/src/views/generated/formEditStudent.vue index c50cd2bb..56fdfca8 100644 --- a/orange-demo-single/orange-demo-single-web/src/views/generated/formEditStudent.vue +++ b/orange-demo-single/orange-demo-single-web/src/views/generated/formEditStudent.vue @@ -6,7 +6,8 @@ + :clearable="true" placeholder="学生姓名" + /> @@ -22,14 +23,18 @@ + format="yyyy-MM-dd" + value-format="yyyy-MM-dd 00:00:00" + type="date" align="left" + placeholder="出生日期" + /> + :clearable="true" placeholder="手机号码" + /> @@ -84,24 +89,28 @@ - - - + @change="onSchoolIdValueChange" + /> + :clearable="true" + placeholder="充值学币" + /> + :clearable="true" + placeholder="剩余学币" + /> @@ -133,6 +142,8 @@ diff --git a/orange-demo-single/orange-demo-single-web/src/views/generated/formSetClassCourse.vue b/orange-demo-single/orange-demo-single-web/src/views/generated/formSetClassCourse.vue index cec29ee9..0216cea0 100644 --- a/orange-demo-single/orange-demo-single-web/src/views/generated/formSetClassCourse.vue +++ b/orange-demo-single/orange-demo-single-web/src/views/generated/formSetClassCourse.vue @@ -28,7 +28,8 @@ + :clearable="true" placeholder="课程名称" + /> 查询 - + - + diff --git a/orange-demo-single/orange-demo-single-web/src/views/generated/formSetClassStudent.vue b/orange-demo-single/orange-demo-single-web/src/views/generated/formSetClassStudent.vue index 74afe36b..0a69da5b 100644 --- a/orange-demo-single/orange-demo-single-web/src/views/generated/formSetClassStudent.vue +++ b/orange-demo-single/orange-demo-single-web/src/views/generated/formSetClassStudent.vue @@ -19,10 +19,14 @@ - + - + @@ -153,7 +157,7 @@ export default { loadSchoolIdDropdownList () { return new Promise((resolve, reject) => { let params = {}; - DictionaryController.dictSchoolInfo(this, params).then(res => { + DictionaryController.dictSysDeptByParentId(this, params).then(res => { resolve(res.getList()); }).catch(e => { reject(e); diff --git a/orange-demo-single/orange-demo-single-web/src/views/generated/formStudent.vue b/orange-demo-single/orange-demo-single-web/src/views/generated/formStudent.vue index 68fdc06d..103ad863 100644 --- a/orange-demo-single/orange-demo-single-web/src/views/generated/formStudent.vue +++ b/orange-demo-single/orange-demo-single-web/src/views/generated/formStudent.vue @@ -32,7 +32,8 @@ + :clearable="true" placeholder="输入学生姓名 / 手机号码 模糊查询" + /> 查询 { let params = {}; - DictionaryController.dictSchoolInfo(this, params).then(res => { + DictionaryController.dictSysDept(this, params).then(res => { resolve(res.getList()); }).catch(e => { reject(e); diff --git a/orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysDataPerm/index.vue b/orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysDataPerm/index.vue new file mode 100644 index 00000000..9bfc6079 --- /dev/null +++ b/orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysDataPerm/index.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysDept/index.vue b/orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysDept/index.vue new file mode 100644 index 00000000..7cc506f5 --- /dev/null +++ b/orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysDept/index.vue @@ -0,0 +1,201 @@ + + + diff --git a/orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysUser/index.vue b/orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysUser/index.vue index 3c7794f4..d0747ad7 100644 --- a/orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysUser/index.vue +++ b/orange-demo-single/orange-demo-single-web/src/views/upms/formEditSysUser/index.vue @@ -27,12 +27,25 @@ + + + + + + + + + @@ -51,7 +64,7 @@ import { findTreeNodePath } from '@/utils'; /* eslint-disable-next-line */ import { DropdownWidget, TableWidget, UploadWidget, ChartWidget } from '@/utils/widget.js'; -import { SystemController } from '@/api'; +import { SystemController, SysDeptController, SysDataPermController } from '@/api'; import { uploadMixin } from '@/core/mixins'; export default { @@ -68,6 +81,7 @@ export default { showName: undefined, userType: 2, userStatus: 0, + dataPermIdList: [], roleIdList: [] }, params: { @@ -75,23 +89,55 @@ export default { loginName: undefined, password: undefined, showName: undefined, - + deptId: '', userType: 2, userStatus: 0, + dataPermIdListString: undefined, roleIdListString: undefined }, + deptId: { + impl: new DropdownWidget(this.loadDeptmentDropdownList, true, 'deptId'), + value: [] + }, rules: { loginName: [{required: true, message: '用户名称不能为空', trigger: 'blur'}], password: [{required: true, message: '用户密码不能为空', trigger: 'blur'}], passwordRepeat: [{required: true, message: '重输密码不能为空', trigger: 'blur'}], showName: [{required: true, message: '用户昵称不能为空', trigger: 'blur'}], + dataPermIdList: [{required: true, message: '数据权限不能为空', trigger: 'change'}], roleIdList: [{required: true, message: '用户角色不能为空', trigger: 'change'}] }, showHeaderSelect: false, + dataPermList: [], roleList: [] } }, methods: { + /** + * 所属部门下拉数据获取函数 + */ + loadDeptmentDropdownList () { + return new Promise((resolve, reject) => { + let params = {}; + SysDeptController.list(this, params).then(res => { + resolve(res.data.dataList); + }).catch(e => { + reject(e); + }); + }); + }, + /** + * 所属部门下拉框显隐 + */ + onDeptIdVisibleChange (show) { + this.deptId.impl.onVisibleChange(show).catch(e => {}); + }, + /** + * 所属部门选中值改变 + */ + onDeptIdValueChange (value) { + this.formData.deptId = Array.isArray(value) ? value[value.length - 1] : undefined; + }, onCancel (isSuccess = false) { if (this.observer != null) { this.observer.cancel(isSuccess); @@ -112,9 +158,10 @@ export default { password: this.formData.password, showName: this.formData.showName, userType: this.formData.userType, - + deptId: this.formData.deptId, userStatus: this.formData.userStatus }, + dataPermIdListString: Array.isArray(this.formData.dataPermIdList) ? this.formData.dataPermIdList.join(',') : undefined, roleIdListString: Array.isArray(this.formData.roleIdList) ? this.formData.roleIdList.join(',') : undefined } @@ -139,6 +186,11 @@ export default { this.roleList = res.data.dataList; }).catch(e => {}); }, + loadDataPerm () { + SysDataPermController.list(this, {}).then(res => { + this.dataPermList = res.data.dataList; + }).catch(e => {}); + }, loadRowData (id) { var params = { userId: id @@ -153,12 +205,19 @@ export default { }, mounted () { if (this.rowData != null) { - this.formData = {...this.rowData, roleIdList: []}; + this.formData = {...this.rowData, dataPermIdList: [], roleIdList: []}; + if (Array.isArray(this.formData.sysDataPermUserList)) { + this.formData.dataPermIdList = this.formData.sysDataPermUserList.map(item => item.dataPermId); + } if (Array.isArray(this.formData.sysUserRoleList)) { this.formData.roleIdList = this.formData.sysUserRoleList.map(item => item.roleId); } } + this.deptId.impl.onVisibleChange(true).then(res => { + this.deptId.value = findTreeNodePath(this.deptId.impl.dropdownList, this.formData.deptId, 'deptId'); + }); this.loadRole(); + this.loadDataPerm(); } } diff --git a/orange-demo-single/orange-demo-single-web/src/views/upms/formSetSysDataPermUser/index.vue b/orange-demo-single/orange-demo-single-web/src/views/upms/formSetSysDataPermUser/index.vue new file mode 100644 index 00000000..04b5712a --- /dev/null +++ b/orange-demo-single/orange-demo-single-web/src/views/upms/formSetSysDataPermUser/index.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/orange-demo-single/orange-demo-single-web/src/views/upms/formSysDataPerm/index.vue b/orange-demo-single/orange-demo-single-web/src/views/upms/formSysDataPerm/index.vue new file mode 100644 index 00000000..2bc0a993 --- /dev/null +++ b/orange-demo-single/orange-demo-single-web/src/views/upms/formSysDataPerm/index.vue @@ -0,0 +1,479 @@ + + + diff --git a/orange-demo-single/orange-demo-single-web/src/views/upms/formSysDept/index.vue b/orange-demo-single/orange-demo-single-web/src/views/upms/formSysDept/index.vue new file mode 100644 index 00000000..02d1d973 --- /dev/null +++ b/orange-demo-single/orange-demo-single-web/src/views/upms/formSysDept/index.vue @@ -0,0 +1,178 @@ + + + diff --git a/orange-demo-single/orange-demo-single-web/src/views/upms/formSysOperationLog/index.vue b/orange-demo-single/orange-demo-single-web/src/views/upms/formSysOperationLog/index.vue new file mode 100644 index 00000000..587599f1 --- /dev/null +++ b/orange-demo-single/orange-demo-single-web/src/views/upms/formSysOperationLog/index.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/orange-demo-single/orange-demo-single-web/src/views/upms/formViewSysOperationLog/index.vue b/orange-demo-single/orange-demo-single-web/src/views/upms/formViewSysOperationLog/index.vue new file mode 100644 index 00000000..f9e4137f --- /dev/null +++ b/orange-demo-single/orange-demo-single-web/src/views/upms/formViewSysOperationLog/index.vue @@ -0,0 +1,120 @@ + + + + +