Copy disabled (too large)
Download .txt
Showing preview only (10,036K chars total). Download the full file to get everything.
Repository: godcheese/nimrod
Branch: master
Commit: 88f8a5fd75c1
Files: 1166
Total size: 9.1 MB
Directory structure:
gitextract_ccqzqvp9/
├── .github/
│ └── ISSUE_TEMPLATE/
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── .gitlab-ci.yml
├── .sonarcloud.properties
├── .travis.yml
├── CHANGELOG.md
├── LICENSE
├── README.md
├── TODO.md
├── db/
│ ├── mysql/
│ │ ├── example/
│ │ │ └── example.sql
│ │ ├── nimrod/
│ │ │ ├── nimrod.sql
│ │ │ ├── table/
│ │ │ │ ├── api_category_table.sql
│ │ │ │ ├── api_table.sql
│ │ │ │ ├── attachment_table.sql
│ │ │ │ ├── department_table.sql
│ │ │ │ ├── dictionary_category_table.sql
│ │ │ │ ├── dictionary_table.sql
│ │ │ │ ├── job_runtime_log_table.sql
│ │ │ │ ├── mail_attachment_table.sql
│ │ │ │ ├── mail_table.sql
│ │ │ │ ├── operation_log_table.sql
│ │ │ │ ├── role_authority_table.sql
│ │ │ │ ├── role_table.sql
│ │ │ │ ├── user_password_reset_table.sql
│ │ │ │ ├── user_role_table.sql
│ │ │ │ ├── user_table.sql
│ │ │ │ ├── view_menu_category_table.sql
│ │ │ │ ├── view_menu_table.sql
│ │ │ │ ├── view_page_api_table.sql
│ │ │ │ ├── view_page_category_table.sql
│ │ │ │ ├── view_page_component_api_table.sql
│ │ │ │ ├── view_page_component_table.sql
│ │ │ │ └── view_page_table.sql
│ │ │ └── util.sql
│ │ └── quartz/
│ │ └── tables_mysql_innodb.sql
│ └── oracle/
│ ├── install_oracle_11g_r2.sh
│ └── quartz/
│ └── tables_oracle.sql
├── docs/
│ ├── cron.md
│ ├── getting_started.md
│ └── java.md
├── lib/
│ └── tile-1.0.0.jar
├── pom.xml
├── scripts/
│ ├── git_clear_history_commit.sh.do_not_run
│ ├── git_config.sh.do_not_run
│ ├── gitlabci.build.sh
│ ├── package.bat
│ ├── package.sh
│ ├── run_dev.bat
│ ├── run_dev.sh
│ ├── run_prod.bat
│ ├── run_prod.sh
│ └── travisci.build.sh
└── src/
├── main/
│ ├── java/
│ │ └── com/
│ │ └── godcheese/
│ │ ├── NimrodApplication.java
│ │ ├── example/
│ │ │ ├── Example.java
│ │ │ ├── api/
│ │ │ │ └── ExampleRestController.java
│ │ │ ├── controller/
│ │ │ │ └── ExampleController.java
│ │ │ ├── entity/
│ │ │ │ └── ExampleEntity.java
│ │ │ ├── mapper/
│ │ │ │ ├── ExampleMapper.java
│ │ │ │ └── ExampleMapper.xml
│ │ │ └── service/
│ │ │ ├── ExampleService.java
│ │ │ └── impl/
│ │ │ └── ExampleServiceImpl.java
│ │ └── nimrod/
│ │ ├── common/
│ │ │ ├── Url.java
│ │ │ ├── activemq/
│ │ │ │ └── ActiveMqConfiguration.java
│ │ │ ├── controller/
│ │ │ │ ├── CustomBasicErrorController.java
│ │ │ │ └── RestControllerAdviceHandler.java
│ │ │ ├── druid/
│ │ │ │ └── DruidConfiguration.java
│ │ │ ├── easyui/
│ │ │ │ ├── ComboTree.java
│ │ │ │ ├── EasyUi.java
│ │ │ │ ├── Pagination.java
│ │ │ │ ├── Tree.java
│ │ │ │ ├── TreeGrid.java
│ │ │ │ └── TreeGridAdapter.java
│ │ │ ├── exportbyexcel/
│ │ │ │ ├── ExportByExcel.java
│ │ │ │ ├── ExportByExcelHandler.java
│ │ │ │ ├── ExportByExcelUtil.java
│ │ │ │ ├── IsOrNotExportByExcelHandler.java
│ │ │ │ └── SimpleDateFormatExportByExcelHandler.java
│ │ │ ├── interceptor/
│ │ │ │ ├── WebInterceptor.java
│ │ │ │ └── WebMvcConfiguration.java
│ │ │ ├── operationlog/
│ │ │ │ ├── OperationLog.java
│ │ │ │ ├── OperationLogAspect.java
│ │ │ │ ├── OperationLogEvent.java
│ │ │ │ ├── OperationLogListener.java
│ │ │ │ └── OperationLogType.java
│ │ │ ├── others/
│ │ │ │ ├── BaseEntityAdapter.java
│ │ │ │ ├── Common.java
│ │ │ │ ├── FailureEntity.java
│ │ │ │ └── SpringContextUtil.java
│ │ │ ├── properties/
│ │ │ │ ├── AppProperties.java
│ │ │ │ ├── LogProperties.java
│ │ │ │ ├── MultipartProperties.java
│ │ │ │ └── UpdatableMultipartConfigElement.java
│ │ │ ├── security/
│ │ │ │ ├── AuthenticationFailureHandler.java
│ │ │ │ ├── AuthenticationSuccessHandler.java
│ │ │ │ ├── LogoutSuccessHandler.java
│ │ │ │ ├── SimpleUser.java
│ │ │ │ ├── SimpleUserDetails.java
│ │ │ │ ├── SimpleUserDetailsServiceImpl.java
│ │ │ │ ├── VerifyCodeFilter.java
│ │ │ │ └── WebSecurityConfiguration.java
│ │ │ └── thymeleaf/
│ │ │ ├── NimrodDialect.java
│ │ │ └── SecurityAuthorityElementProcessor.java
│ │ ├── mail/
│ │ │ ├── Mail.java
│ │ │ ├── api/
│ │ │ │ └── MailRestController.java
│ │ │ ├── controller/
│ │ │ │ └── MailController.java
│ │ │ ├── entity/
│ │ │ │ ├── MailEntity.java
│ │ │ │ └── MailFileEntity.java
│ │ │ ├── mapper/
│ │ │ │ ├── MailMapper.java
│ │ │ │ └── MailMapper.xml
│ │ │ └── service/
│ │ │ ├── MailService.java
│ │ │ └── impl/
│ │ │ └── MailServiceImpl.java
│ │ ├── quartz/
│ │ │ ├── Quartz.java
│ │ │ ├── api/
│ │ │ │ ├── JobRestController.java
│ │ │ │ └── JobRuntimeLogRestController.java
│ │ │ ├── controller/
│ │ │ │ ├── JobController.java
│ │ │ │ └── JobRuntimeLogController.java
│ │ │ ├── entity/
│ │ │ │ ├── JobEntity.java
│ │ │ │ └── JobRuntimeLogEntity.java
│ │ │ ├── job/
│ │ │ │ ├── BaseJob.java
│ │ │ │ ├── SimpleJob.java
│ │ │ │ └── SimpleJob2.java
│ │ │ ├── listener/
│ │ │ │ └── GlobalJobListener.java
│ │ │ ├── mapper/
│ │ │ │ ├── JobMapper.java
│ │ │ │ ├── JobMapper.xml
│ │ │ │ ├── JobRuntimeLogMapper.java
│ │ │ │ └── JobRuntimeLogMapper.xml
│ │ │ └── service/
│ │ │ ├── JobRuntimeLogService.java
│ │ │ ├── JobService.java
│ │ │ └── impl/
│ │ │ ├── JobRuntimeLogServiceImpl.java
│ │ │ └── JobServiceImpl.java
│ │ ├── system/
│ │ │ ├── System.java
│ │ │ ├── api/
│ │ │ │ ├── DictionaryCategoryRestController.java
│ │ │ │ ├── DictionaryRestController.java
│ │ │ │ ├── FileRestController.java
│ │ │ │ ├── OperationLogRestController.java
│ │ │ │ └── SystemRestController.java
│ │ │ ├── controller/
│ │ │ │ ├── DictionaryCategoryController.java
│ │ │ │ ├── DictionaryController.java
│ │ │ │ ├── FileController.java
│ │ │ │ ├── OperationLogController.java
│ │ │ │ └── SystemController.java
│ │ │ ├── entity/
│ │ │ │ ├── DictionaryCategoryEntity.java
│ │ │ │ ├── DictionaryEntity.java
│ │ │ │ ├── FileEntity.java
│ │ │ │ └── OperationLogEntity.java
│ │ │ ├── mapper/
│ │ │ │ ├── DictionaryCategoryMapper.java
│ │ │ │ ├── DictionaryCategoryMapper.xml
│ │ │ │ ├── DictionaryMapper.java
│ │ │ │ ├── DictionaryMapper.xml
│ │ │ │ ├── FileMapper.java
│ │ │ │ ├── FileMapper.xml
│ │ │ │ ├── OperationLogMapper.java
│ │ │ │ └── OperationLogMapper.xml
│ │ │ └── service/
│ │ │ ├── DictionaryCategoryService.java
│ │ │ ├── DictionaryService.java
│ │ │ ├── FileService.java
│ │ │ ├── OperationLogService.java
│ │ │ └── impl/
│ │ │ ├── DictionaryCategoryServiceImpl.java
│ │ │ ├── DictionaryServiceImpl.java
│ │ │ ├── FileServiceImpl.java
│ │ │ └── OperationLogServiceImpl.java
│ │ └── user/
│ │ ├── User.java
│ │ ├── api/
│ │ │ ├── ApiCategoryRestController.java
│ │ │ ├── ApiRestController.java
│ │ │ ├── DepartmentRestController.java
│ │ │ ├── RoleAuthorityRestController.java
│ │ │ ├── RoleRestController.java
│ │ │ ├── RoleViewMenuCategoryRestController.java
│ │ │ ├── RoleViewMenuRestController.java
│ │ │ ├── UserRestController.java
│ │ │ ├── UserRoleRestController.java
│ │ │ ├── ViewMenuCategoryRestController.java
│ │ │ ├── ViewMenuRestController.java
│ │ │ ├── ViewPageApiRestController.java
│ │ │ ├── ViewPageCategoryRestController.java
│ │ │ ├── ViewPageComponentApiRestController.java
│ │ │ ├── ViewPageComponentRestController.java
│ │ │ └── ViewPageRestController.java
│ │ ├── controller/
│ │ │ ├── ApiCategoryController.java
│ │ │ ├── ApiController.java
│ │ │ ├── DepartmentController.java
│ │ │ ├── RoleAuthorityController.java
│ │ │ ├── RoleController.java
│ │ │ ├── RoleViewMenuController.java
│ │ │ ├── UserController.java
│ │ │ ├── UserRoleController.java
│ │ │ ├── ViewMenuCategoryController.java
│ │ │ ├── ViewMenuController.java
│ │ │ ├── ViewPageApiController.java
│ │ │ ├── ViewPageCategoryController.java
│ │ │ ├── ViewPageComponentApiController.java
│ │ │ ├── ViewPageComponentController.java
│ │ │ └── ViewPageController.java
│ │ ├── entity/
│ │ │ ├── ApiCategoryEntity.java
│ │ │ ├── ApiEntity.java
│ │ │ ├── DepartmentEntity.java
│ │ │ ├── RoleAuthorityEntity.java
│ │ │ ├── RoleEntity.java
│ │ │ ├── RoleViewMenuCategoryEntity.java
│ │ │ ├── RoleViewMenuEntity.java
│ │ │ ├── UserEntity.java
│ │ │ ├── UserRoleEntity.java
│ │ │ ├── UserVerifyCodeEntity.java
│ │ │ ├── ViewMenuCategoryEntity.java
│ │ │ ├── ViewMenuEntity.java
│ │ │ ├── ViewPageApiEntity.java
│ │ │ ├── ViewPageCategoryEntity.java
│ │ │ ├── ViewPageComponentApiEntity.java
│ │ │ ├── ViewPageComponentEntity.java
│ │ │ └── ViewPageEntity.java
│ │ ├── mapper/
│ │ │ ├── ApiCategoryMapper.java
│ │ │ ├── ApiCategoryMapper.xml
│ │ │ ├── ApiMapper.java
│ │ │ ├── ApiMapper.xml
│ │ │ ├── DepartmentMapper.java
│ │ │ ├── DepartmentMapper.xml
│ │ │ ├── RoleAuthorityMapper.java
│ │ │ ├── RoleAuthorityMapper.xml
│ │ │ ├── RoleMapper.java
│ │ │ ├── RoleMapper.xml
│ │ │ ├── RoleViewMenuCategoryMapper.java
│ │ │ ├── RoleViewMenuCategoryMapper.xml
│ │ │ ├── RoleViewMenuMapper.java
│ │ │ ├── RoleViewMenuMapper.xml
│ │ │ ├── UserMapper.java
│ │ │ ├── UserMapper.xml
│ │ │ ├── UserRoleMapper.java
│ │ │ ├── UserRoleMapper.xml
│ │ │ ├── UserVerifyCodeMapper.java
│ │ │ ├── UserVerifyCodeMapper.xml
│ │ │ ├── ViewMenuCategoryMapper.java
│ │ │ ├── ViewMenuCategoryMapper.xml
│ │ │ ├── ViewMenuMapper.java
│ │ │ ├── ViewMenuMapper.xml
│ │ │ ├── ViewPageApiMapper.java
│ │ │ ├── ViewPageApiMapper.xml
│ │ │ ├── ViewPageCategoryMapper.java
│ │ │ ├── ViewPageCategoryMapper.xml
│ │ │ ├── ViewPageComponentApiMapper.java
│ │ │ ├── ViewPageComponentApiMapper.xml
│ │ │ ├── ViewPageComponentMapper.java
│ │ │ ├── ViewPageComponentMapper.xml
│ │ │ ├── ViewPageMapper.java
│ │ │ └── ViewPageMapper.xml
│ │ └── service/
│ │ ├── ApiCategoryService.java
│ │ ├── ApiService.java
│ │ ├── DepartmentService.java
│ │ ├── RoleAuthorityService.java
│ │ ├── RoleService.java
│ │ ├── RoleViewMenuCategoryService.java
│ │ ├── RoleViewMenuService.java
│ │ ├── UserRoleService.java
│ │ ├── UserService.java
│ │ ├── UserVerifyCodeService.java
│ │ ├── ViewMenuCategoryService.java
│ │ ├── ViewMenuService.java
│ │ ├── ViewPageApiService.java
│ │ ├── ViewPageCategoryService.java
│ │ ├── ViewPageComponentApiService.java
│ │ ├── ViewPageComponentService.java
│ │ ├── ViewPageService.java
│ │ └── impl/
│ │ ├── ApiCategoryServiceImpl.java
│ │ ├── ApiServiceImpl.java
│ │ ├── DepartmentServiceImpl.java
│ │ ├── RoleAuthorityServiceImpl.java
│ │ ├── RoleServiceImpl.java
│ │ ├── RoleViewMenuCategoryServiceImpl.java
│ │ ├── RoleViewMenuServiceImpl.java
│ │ ├── UserRoleServiceImpl.java
│ │ ├── UserServiceImpl.java
│ │ ├── UserVerifyCodeServiceImpl.java
│ │ ├── ViewMenuCategoryServiceImpl.java
│ │ ├── ViewMenuServiceImpl.java
│ │ ├── ViewPageApiServiceImpl.java
│ │ ├── ViewPageCategoryServiceImpl.java
│ │ ├── ViewPageComponentApiServiceImpl.java
│ │ ├── ViewPageComponentServiceImpl.java
│ │ └── ViewPageServiceImpl.java
│ └── resources/
│ ├── application-dev.properties
│ ├── application-prod.properties
│ ├── application.properties
│ ├── i18n/
│ │ └── zh_cn.properties
│ ├── logback-spring.xml
│ ├── static/
│ │ ├── assets/
│ │ │ ├── css/
│ │ │ │ ├── base.css
│ │ │ │ ├── global.css
│ │ │ │ ├── index.css
│ │ │ │ ├── login.css
│ │ │ │ └── workbench.css
│ │ │ ├── img/
│ │ │ │ └── login/
│ │ │ │ └── login_body_left.jpg2
│ │ │ ├── js/
│ │ │ │ ├── global.js
│ │ │ │ ├── index.js
│ │ │ │ ├── login.js
│ │ │ │ ├── url.js
│ │ │ │ ├── util.js
│ │ │ │ └── workbench.js
│ │ │ └── vendor/
│ │ │ ├── easyui-plus-1.0.0/
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── README.md
│ │ │ │ ├── css/
│ │ │ │ │ └── easyui.plus.css
│ │ │ │ ├── js/
│ │ │ │ │ └── easyui.plus.js
│ │ │ │ └── themes/
│ │ │ │ ├── angular.css
│ │ │ │ ├── blue/
│ │ │ │ │ └── easyui.css
│ │ │ │ ├── color.css
│ │ │ │ ├── icon.css
│ │ │ │ ├── mobile.css
│ │ │ │ └── vue.css
│ │ │ ├── echarts.min.js
│ │ │ ├── html5shiv-3.7.3.min.js
│ │ │ ├── iconfont/
│ │ │ │ ├── demo.css
│ │ │ │ ├── demo_index.html
│ │ │ │ ├── iconfont.css
│ │ │ │ ├── iconfont.js
│ │ │ │ └── iconfont.json
│ │ │ ├── jquery/
│ │ │ │ ├── jquery-1.12.4.js
│ │ │ │ └── jquery-1.12.4.min.js
│ │ │ ├── jquery-easyui-1.9.7/
│ │ │ │ ├── changelog.txt
│ │ │ │ ├── demo/
│ │ │ │ │ ├── accordion/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── ajax.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── datagrid_data1.json
│ │ │ │ │ │ ├── expandable.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── horizontal.html
│ │ │ │ │ │ ├── multiple.html
│ │ │ │ │ │ └── tools.html
│ │ │ │ │ ├── calendar/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── custom.html
│ │ │ │ │ │ ├── disabledate.html
│ │ │ │ │ │ ├── firstday.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ └── weeknumber.html
│ │ │ │ │ ├── checkbox/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── combo/
│ │ │ │ │ │ ├── animation.html
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── combobox/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── combobox_data1.json
│ │ │ │ │ │ ├── combobox_data2.json
│ │ │ │ │ │ ├── customformat.html
│ │ │ │ │ │ ├── dynamicdata.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ ├── icons.html
│ │ │ │ │ │ ├── itemicon.html
│ │ │ │ │ │ ├── multiline.html
│ │ │ │ │ │ ├── multiple.html
│ │ │ │ │ │ ├── navigation.html
│ │ │ │ │ │ ├── remotedata.html
│ │ │ │ │ │ └── remotejsonp.html
│ │ │ │ │ ├── combogrid/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── datagrid_data1.json
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── initvalue.html
│ │ │ │ │ │ ├── multiple.html
│ │ │ │ │ │ ├── navigation.html
│ │ │ │ │ │ └── setvalue.html
│ │ │ │ │ ├── combotree/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── initvalue.html
│ │ │ │ │ │ ├── multiple.html
│ │ │ │ │ │ ├── test.html
│ │ │ │ │ │ └── tree_data1.json
│ │ │ │ │ ├── combotreegrid/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── multiple.html
│ │ │ │ │ │ └── treegrid_data1.json
│ │ │ │ │ ├── datagrid/
│ │ │ │ │ │ ├── aligncolumns.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── cacheeditor.html
│ │ │ │ │ │ ├── cellediting.html
│ │ │ │ │ │ ├── cellstyle.html
│ │ │ │ │ │ ├── checkbox.html
│ │ │ │ │ │ ├── clientpagination.html
│ │ │ │ │ │ ├── columngroup.html
│ │ │ │ │ │ ├── complextoolbar.html
│ │ │ │ │ │ ├── contextmenu.html
│ │ │ │ │ │ ├── custompager.html
│ │ │ │ │ │ ├── datagrid_data1.json
│ │ │ │ │ │ ├── datagrid_data2.json
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── footer.html
│ │ │ │ │ │ ├── formatcolumns.html
│ │ │ │ │ │ ├── frozencolumns.html
│ │ │ │ │ │ ├── frozenrows.html
│ │ │ │ │ │ ├── mergecells.html
│ │ │ │ │ │ ├── multisorting.html
│ │ │ │ │ │ ├── products.json
│ │ │ │ │ │ ├── rowborder.html
│ │ │ │ │ │ ├── rowediting.html
│ │ │ │ │ │ ├── rowstyle.html
│ │ │ │ │ │ ├── selection.html
│ │ │ │ │ │ ├── simpletoolbar.html
│ │ │ │ │ │ └── transform.html
│ │ │ │ │ ├── datalist/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── checkbox.html
│ │ │ │ │ │ ├── datalist_data1.json
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ ├── multiselect.html
│ │ │ │ │ │ └── remotedata.html
│ │ │ │ │ ├── datebox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── buttons.html
│ │ │ │ │ │ ├── clone.html
│ │ │ │ │ │ ├── dateformat.html
│ │ │ │ │ │ ├── events.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── restrict.html
│ │ │ │ │ │ ├── sharedcalendar.html
│ │ │ │ │ │ └── validate.html
│ │ │ │ │ ├── datetimebox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── initvalue.html
│ │ │ │ │ │ └── showseconds.html
│ │ │ │ │ ├── datetimespinner/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── clearicon.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ └── format.html
│ │ │ │ │ ├── demo.css
│ │ │ │ │ ├── dialog/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── complextoolbar.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ └── toolbarbuttons.html
│ │ │ │ │ ├── draggable/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── constrain.html
│ │ │ │ │ │ └── snap.html
│ │ │ │ │ ├── droppable/
│ │ │ │ │ │ ├── accept.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── sort.html
│ │ │ │ │ ├── easyloader/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── filebox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── buttonalign.html
│ │ │ │ │ │ └── fluid.html
│ │ │ │ │ ├── form/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── floatinglabel.html
│ │ │ │ │ │ ├── form_data1.json
│ │ │ │ │ │ ├── load.html
│ │ │ │ │ │ └── validateonsubmit.html
│ │ │ │ │ ├── layout/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── addremove.html
│ │ │ │ │ │ ├── autoheight.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── collapsetitle.html
│ │ │ │ │ │ ├── complex.html
│ │ │ │ │ │ ├── customcollapsetitle.html
│ │ │ │ │ │ ├── datagrid_data1.json
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── full.html
│ │ │ │ │ │ ├── nestedlayout.html
│ │ │ │ │ │ ├── nocollapsible.html
│ │ │ │ │ │ ├── propertygrid_data1.json
│ │ │ │ │ │ └── tree_data1.json
│ │ │ │ │ ├── linkbutton/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ ├── iconalign.html
│ │ │ │ │ │ ├── plain.html
│ │ │ │ │ │ ├── size.html
│ │ │ │ │ │ ├── style.html
│ │ │ │ │ │ └── toggle.html
│ │ │ │ │ ├── maskedbox/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── menu/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── customitem.html
│ │ │ │ │ │ ├── events.html
│ │ │ │ │ │ ├── inline.html
│ │ │ │ │ │ └── nav.html
│ │ │ │ │ ├── menubutton/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── alignment.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── nav.html
│ │ │ │ │ ├── messager/
│ │ │ │ │ │ ├── alert.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── interactive.html
│ │ │ │ │ │ └── position.html
│ │ │ │ │ ├── numberbox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── format.html
│ │ │ │ │ │ └── range.html
│ │ │ │ │ ├── numberspinner/
│ │ │ │ │ │ ├── align.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── increment.html
│ │ │ │ │ │ └── range.html
│ │ │ │ │ ├── pagination/
│ │ │ │ │ │ ├── attaching.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── custombuttons.html
│ │ │ │ │ │ ├── layout.html
│ │ │ │ │ │ ├── links.html
│ │ │ │ │ │ └── simple.html
│ │ │ │ │ ├── panel/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── customtools.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── footer.html
│ │ │ │ │ │ ├── halign.html
│ │ │ │ │ │ ├── loadcontent.html
│ │ │ │ │ │ ├── nestedpanel.html
│ │ │ │ │ │ └── paneltools.html
│ │ │ │ │ ├── passwordbox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── flash.html
│ │ │ │ │ │ └── validatepassword.html
│ │ │ │ │ ├── progressbar/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── fluid.html
│ │ │ │ │ ├── propertygrid/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── customcolumns.html
│ │ │ │ │ │ ├── groupformat.html
│ │ │ │ │ │ └── propertygrid_data1.json
│ │ │ │ │ ├── radiobutton/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── resizable/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── searchbox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── category.html
│ │ │ │ │ │ └── fluid.html
│ │ │ │ │ ├── sidemenu/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── sidemenu_style.css
│ │ │ │ │ │ └── style.html
│ │ │ │ │ ├── slider/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── formattip.html
│ │ │ │ │ │ ├── nonlinear.html
│ │ │ │ │ │ ├── range.html
│ │ │ │ │ │ ├── rule.html
│ │ │ │ │ │ └── vertical.html
│ │ │ │ │ ├── splitbutton/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── switchbutton/
│ │ │ │ │ │ ├── action.html
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── tabs/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── autoheight.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── dropdown.html
│ │ │ │ │ │ ├── fixedwidth.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── hover.html
│ │ │ │ │ │ ├── nestedtabs.html
│ │ │ │ │ │ ├── striptools.html
│ │ │ │ │ │ ├── style.html
│ │ │ │ │ │ ├── tabimage.html
│ │ │ │ │ │ ├── tabposition.html
│ │ │ │ │ │ ├── tabstools.html
│ │ │ │ │ │ └── tree_data1.json
│ │ │ │ │ ├── tagbox/
│ │ │ │ │ │ ├── autocomplete.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── button.html
│ │ │ │ │ │ ├── format.html
│ │ │ │ │ │ ├── style.html
│ │ │ │ │ │ ├── tagbox_data1.json
│ │ │ │ │ │ └── validate.html
│ │ │ │ │ ├── textbox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── button.html
│ │ │ │ │ │ ├── clearicon.html
│ │ │ │ │ │ ├── custom.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── icons.html
│ │ │ │ │ │ ├── multiline.html
│ │ │ │ │ │ └── size.html
│ │ │ │ │ ├── timepicker/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── timespinner/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── hour12.html
│ │ │ │ │ │ └── range.html
│ │ │ │ │ ├── tooltip/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── _dialog.html
│ │ │ │ │ │ ├── ajax.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── customcontent.html
│ │ │ │ │ │ ├── customstyle.html
│ │ │ │ │ │ ├── position.html
│ │ │ │ │ │ ├── toolbar.html
│ │ │ │ │ │ └── tooltipdialog.html
│ │ │ │ │ ├── tree/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── animation.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── checkbox.html
│ │ │ │ │ │ ├── contextmenu.html
│ │ │ │ │ │ ├── customcheckbox.html
│ │ │ │ │ │ ├── dnd.html
│ │ │ │ │ │ ├── editable.html
│ │ │ │ │ │ ├── formatting.html
│ │ │ │ │ │ ├── icons.html
│ │ │ │ │ │ ├── lazyload.html
│ │ │ │ │ │ ├── lines.html
│ │ │ │ │ │ ├── tree_data1.json
│ │ │ │ │ │ └── tree_data2.json
│ │ │ │ │ ├── treegrid/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── checkbox.html
│ │ │ │ │ │ ├── clientpagination.html
│ │ │ │ │ │ ├── contextmenu.html
│ │ │ │ │ │ ├── customcheckbox.html
│ │ │ │ │ │ ├── editable.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── footer.html
│ │ │ │ │ │ ├── lines.html
│ │ │ │ │ │ ├── reports.html
│ │ │ │ │ │ ├── treegrid_data1.json
│ │ │ │ │ │ ├── treegrid_data2.json
│ │ │ │ │ │ └── treegrid_data3.json
│ │ │ │ │ ├── validatebox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── customtooltip.html
│ │ │ │ │ │ ├── errorplacement.html
│ │ │ │ │ │ └── validateonblur.html
│ │ │ │ │ └── window/
│ │ │ │ │ ├── basic.html
│ │ │ │ │ ├── borderstyle.html
│ │ │ │ │ ├── customtools.html
│ │ │ │ │ ├── fluid.html
│ │ │ │ │ ├── footer.html
│ │ │ │ │ ├── inlinewindow.html
│ │ │ │ │ ├── modalwindow.html
│ │ │ │ │ └── windowlayout.html
│ │ │ │ ├── demo-mobile/
│ │ │ │ │ ├── accordion/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── header.html
│ │ │ │ │ ├── animation/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fade.html
│ │ │ │ │ │ ├── pop.html
│ │ │ │ │ │ └── slide.html
│ │ │ │ │ ├── badge/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── button.html
│ │ │ │ │ │ ├── list.html
│ │ │ │ │ │ └── tabs.html
│ │ │ │ │ ├── button/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ ├── style.html
│ │ │ │ │ │ └── switch.html
│ │ │ │ │ ├── datagrid/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── rowediting.html
│ │ │ │ │ ├── datalist/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ └── selection.html
│ │ │ │ │ ├── dialog/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── message.html
│ │ │ │ │ ├── form/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── input/
│ │ │ │ │ │ ├── numberspinner.html
│ │ │ │ │ │ └── textbox.html
│ │ │ │ │ ├── layout/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── menu/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── menubar.html
│ │ │ │ │ ├── panel/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── ajax.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── nav.html
│ │ │ │ │ ├── simplelist/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── button.html
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ ├── image.html
│ │ │ │ │ │ └── link.html
│ │ │ │ │ ├── tabs/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── nav.html
│ │ │ │ │ │ └── pill.html
│ │ │ │ │ ├── toolbar/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── button.html
│ │ │ │ │ │ └── menu.html
│ │ │ │ │ └── tree/
│ │ │ │ │ ├── basic.html
│ │ │ │ │ └── dnd.html
│ │ │ │ ├── easyloader.js
│ │ │ │ ├── jquery.easyui.min.js
│ │ │ │ ├── jquery.easyui.mobile.js
│ │ │ │ ├── jquery.min.js
│ │ │ │ ├── license_freeware.txt
│ │ │ │ ├── locale/
│ │ │ │ │ ├── easyui-lang-af.js
│ │ │ │ │ ├── easyui-lang-am.js
│ │ │ │ │ ├── easyui-lang-ar.js
│ │ │ │ │ ├── easyui-lang-bg.js
│ │ │ │ │ ├── easyui-lang-ca.js
│ │ │ │ │ ├── easyui-lang-cs.js
│ │ │ │ │ ├── easyui-lang-cz.js
│ │ │ │ │ ├── easyui-lang-da.js
│ │ │ │ │ ├── easyui-lang-de.js
│ │ │ │ │ ├── easyui-lang-el.js
│ │ │ │ │ ├── easyui-lang-en.js
│ │ │ │ │ ├── easyui-lang-es.js
│ │ │ │ │ ├── easyui-lang-fa.js
│ │ │ │ │ ├── easyui-lang-fr.js
│ │ │ │ │ ├── easyui-lang-it.js
│ │ │ │ │ ├── easyui-lang-jp.js
│ │ │ │ │ ├── easyui-lang-ko.js
│ │ │ │ │ ├── easyui-lang-nl.js
│ │ │ │ │ ├── easyui-lang-pl.js
│ │ │ │ │ ├── easyui-lang-pt_BR.js
│ │ │ │ │ ├── easyui-lang-ru.js
│ │ │ │ │ ├── easyui-lang-sv_SE.js
│ │ │ │ │ ├── easyui-lang-tr.js
│ │ │ │ │ ├── easyui-lang-ua.js
│ │ │ │ │ ├── easyui-lang-zh_CN.js
│ │ │ │ │ └── easyui-lang-zh_TW.js
│ │ │ │ ├── plugins/
│ │ │ │ │ ├── jquery.accordion.js
│ │ │ │ │ ├── jquery.calendar
│ │ │ │ │ ├── jquery.calendar.js
│ │ │ │ │ ├── jquery.checkbox.js
│ │ │ │ │ ├── jquery.combo.js
│ │ │ │ │ ├── jquery.combobox.js
│ │ │ │ │ ├── jquery.combogrid.js
│ │ │ │ │ ├── jquery.combotree.js
│ │ │ │ │ ├── jquery.combotreegrid.js
│ │ │ │ │ ├── jquery.datagrid.js
│ │ │ │ │ ├── jquery.datalist.js
│ │ │ │ │ ├── jquery.datebox.js
│ │ │ │ │ ├── jquery.datetimebox.js
│ │ │ │ │ ├── jquery.datetimespinner.js
│ │ │ │ │ ├── jquery.dialog.js
│ │ │ │ │ ├── jquery.draggable.js
│ │ │ │ │ ├── jquery.droppable.js
│ │ │ │ │ ├── jquery.filebox.js
│ │ │ │ │ ├── jquery.form.js
│ │ │ │ │ ├── jquery.layout.js
│ │ │ │ │ ├── jquery.linkbutton.js
│ │ │ │ │ ├── jquery.maskedbox.js
│ │ │ │ │ ├── jquery.menu.js
│ │ │ │ │ ├── jquery.menubutton.js
│ │ │ │ │ ├── jquery.messager.js
│ │ │ │ │ ├── jquery.mobile.js
│ │ │ │ │ ├── jquery.numberbox.js
│ │ │ │ │ ├── jquery.numberspinner.js
│ │ │ │ │ ├── jquery.pagination.js
│ │ │ │ │ ├── jquery.panel.js
│ │ │ │ │ ├── jquery.parser.js
│ │ │ │ │ ├── jquery.passwordbox.js
│ │ │ │ │ ├── jquery.progressbar.js
│ │ │ │ │ ├── jquery.propertygrid.js
│ │ │ │ │ ├── jquery.radiobutton.js
│ │ │ │ │ ├── jquery.resizable.js
│ │ │ │ │ ├── jquery.searchbox.js
│ │ │ │ │ ├── jquery.sidemenu.js
│ │ │ │ │ ├── jquery.slider.js
│ │ │ │ │ ├── jquery.spinner.js
│ │ │ │ │ ├── jquery.splitbutton.js
│ │ │ │ │ ├── jquery.switchbutton.js
│ │ │ │ │ ├── jquery.tabs.js
│ │ │ │ │ ├── jquery.tagbox.js
│ │ │ │ │ ├── jquery.textbox.js
│ │ │ │ │ ├── jquery.timepicker.js
│ │ │ │ │ ├── jquery.timespinner.js
│ │ │ │ │ ├── jquery.tooltip.js
│ │ │ │ │ ├── jquery.tree.js
│ │ │ │ │ ├── jquery.treegrid.js
│ │ │ │ │ ├── jquery.validatebox.js
│ │ │ │ │ └── jquery.window.js
│ │ │ │ ├── readme.txt
│ │ │ │ ├── src/
│ │ │ │ │ ├── easyloader.js
│ │ │ │ │ ├── jquery.accordion.js
│ │ │ │ │ ├── jquery.calendar.js
│ │ │ │ │ ├── jquery.combobox.js
│ │ │ │ │ ├── jquery.datebox.js
│ │ │ │ │ ├── jquery.draggable.js
│ │ │ │ │ ├── jquery.droppable.js
│ │ │ │ │ ├── jquery.form.js
│ │ │ │ │ ├── jquery.linkbutton.js
│ │ │ │ │ ├── jquery.menu.js
│ │ │ │ │ ├── jquery.parser.js
│ │ │ │ │ ├── jquery.progressbar.js
│ │ │ │ │ ├── jquery.propertygrid.js
│ │ │ │ │ ├── jquery.resizable.js
│ │ │ │ │ ├── jquery.slider.js
│ │ │ │ │ ├── jquery.tabs.js
│ │ │ │ │ └── jquery.window.js
│ │ │ │ └── themes/
│ │ │ │ ├── angular.css
│ │ │ │ ├── black/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── bootstrap/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── color.css
│ │ │ │ ├── default/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── gray/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── icon.css
│ │ │ │ ├── material/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── material-blue/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── material-teal/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── metro/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── mobile.css
│ │ │ │ ├── react.css
│ │ │ │ └── vue.css
│ │ │ ├── jquery.form.min.js
│ │ │ ├── jquery.placeholder-2.3.1.js
│ │ │ └── webuploader-0.1.5/
│ │ │ ├── README.md
│ │ │ ├── Uploader.swf
│ │ │ ├── webuploader.css
│ │ │ ├── webuploader.custom.js
│ │ │ ├── webuploader.custom.min.js
│ │ │ ├── webuploader.fis.js
│ │ │ ├── webuploader.flashonly.js
│ │ │ ├── webuploader.flashonly.min.js
│ │ │ ├── webuploader.html5only.js
│ │ │ ├── webuploader.html5only.min.js
│ │ │ ├── webuploader.js
│ │ │ ├── webuploader.min.js
│ │ │ ├── webuploader.noimage.js
│ │ │ ├── webuploader.noimage.min.js
│ │ │ ├── webuploader.nolog.js
│ │ │ ├── webuploader.nolog.min.js
│ │ │ ├── webuploader.withoutimage.js
│ │ │ └── webuploader.withoutimage.min.js
│ │ └── robots.txt
│ └── templates/
│ ├── 403.html
│ ├── 404.html
│ ├── 500.html
│ ├── example/
│ │ └── test.html
│ ├── mail/
│ │ ├── list.html
│ │ ├── send.html
│ │ ├── send_dialog.html
│ │ ├── template/
│ │ │ ├── change_email_verify_code.html.bak
│ │ │ ├── change_password_verify_code.html
│ │ │ └── email_verify_code.html
│ │ └── view_dialog.html
│ ├── quartz/
│ │ ├── job/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ └── job_runtime_log/
│ │ ├── add_dialog.html
│ │ ├── edit_dialog.html
│ │ └── list.html
│ ├── system/
│ │ ├── close.html
│ │ ├── dictionary/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── dictionary_category/
│ │ │ ├── add_dialog.html
│ │ │ └── edit_dialog.html
│ │ ├── file/
│ │ │ ├── edit_dialog.html
│ │ │ ├── list.html
│ │ │ ├── upload_all_dialog.html
│ │ │ ├── upload_one_dialog.html
│ │ │ └── upload_one_dialog.html.bak
│ │ ├── index.html
│ │ ├── loading.html
│ │ ├── operation_log/
│ │ │ ├── list.html
│ │ │ └── view_dialog.html
│ │ └── workbench.html
│ ├── user/
│ │ ├── add_dialog.html
│ │ ├── api/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── api_category/
│ │ │ ├── add_dialog.html
│ │ │ └── edit_dialog.html
│ │ ├── change_avatar_dialog.html
│ │ ├── change_email_dialog.html
│ │ ├── change_password_dialog.html
│ │ ├── department/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── edit_dialog.html
│ │ ├── list.html
│ │ ├── login.html
│ │ ├── logout.html
│ │ ├── profile.html
│ │ ├── role/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── role_authority/
│ │ │ ├── api.html
│ │ │ └── view_page.html
│ │ ├── role_view_menu/
│ │ │ └── list.html
│ │ ├── user_role/
│ │ │ ├── add_dialog.html
│ │ │ └── list.html
│ │ ├── view_menu/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── view_menu_category/
│ │ │ ├── add_dialog.html
│ │ │ └── edit_dialog.html
│ │ ├── view_page/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── view_page_api/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── view_page_category/
│ │ │ ├── add_dialog.html
│ │ │ └── edit_dialog.html
│ │ ├── view_page_component/
│ │ │ ├── add_dialog.html
│ │ │ └── edit_dialog.html
│ │ └── view_page_component_api/
│ │ ├── add_dialog.html
│ │ ├── edit_dialog.html
│ │ └── list.html
│ └── widget/
│ ├── base.html
│ └── basejs.html
└── test/
└── java/
└── com/
└── godcheese/
└── nimrod/
└── NimrodApplicationTests.java
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
================================================
FILE: .gitignore
================================================
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### VS Code ###
.vscode/
### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### macOS ###
.DS_Store
### JRebel ###
rebel.xml
### Project ###
/upload
/logs
================================================
FILE: .gitlab-ci.yml
================================================
stages:
- install
job:
stage: install
script:
- chmod +x ./scripts/gitlabci.build.sh
- ./scripts/gitlabci.build.sh
================================================
FILE: .sonarcloud.properties
================================================
# Path to sources
#sonar.sources=.
sonar.exclusions=src/main/resources/**
sonar.inclusions=src/main/java/**
# Path to tests
#sonar.tests=
#sonar.test.exclusions=
#sonar.test.inclusions=
# Source encoding
sonar.sourceEncoding=UTF-8
# Exclusions for copy-paste detection
#sonar.cpd.exclusions=
================================================
FILE: .travis.yml
================================================
os: linux
dist: trusty
sudo: true
group: stable
script:
- chmod +x ./scripts/travisci.build.sh
- ./scripts/travisci.build.sh
cache:
directories:
- $HOME/.m2
================================================
FILE: CHANGELOG.md
================================================
## Changelog
- v0.8.0 2020.07.24
- refactor:更改包名(20200721)
- refactor:优化代码(20200712)
- v0.7.3 2020.05.31
- feat:升级 Spring Boot 至 2.3.0(20200530)
- feat:升级 Easy UI 至 1.9.5(20200530)
- v0.7.2 2020.03.17
- fix:修复运行 jar 报 org.springframework.beans.factory.UnsatisfiedDependencyException 异常的问题(20200316)
- v0.7.1 2020.03.15
- fix:修复 jar 包运行登录界面验证码图片生成失败问题(20200315)
- v0.7.0 2020.03.08
- feat:新的界面(20200307)
- v0.6.5 2019.11.26
- fix:修复大量 bug(20191126)
- v0.5.5 2019.05.12
- fix:修复无法新建用户问题(20190506)
- feat:升级 EasyUI 至 1.8.1(20190507)
- fix:优化部门显示(20190507)
- feat:新增用户禁用字段(20190508)
- v0.5.4 2019.04.18
- fix:修复 Duird 数据库连接池 Monitor 页部署上线后无权限访问的问题(20190418)
- refactor:优化 Druid 数据库连接池配置(20190418)
- v0.5.3 2019.04.17
- fix:修复部署到 Linux 系统中验证码生成乱码的问题(20190417)
- v0.5.2 2019.04.15
- feat:升级 Spring Boot Starter Parent 至 2.1.4.RELEASE 版本(20190415)
- feat:升级 MyBatis Spring Boot Starter 至 2.0.1(20190415)
- feat:升级 Druid Spring Boot Starter 至 1.1.16
- feat:升级 EasyUI 至 1.7.6(20190415)
- refactor:移除工作流 Flowable(20190415)
- refactor:优化代码(20190309)(20190415)
- v0.5.1 2019.03.09
- refactor:优化代码(20190309)
- v0.5.0 2019.02.01
- feat:集成 Quartz 定时任务(201902114)
- refactor:程序运行时自动载入之前等待发送的电子邮件到发送队列并发送(20190201)
- refactor:不再兼容 IE8 浏览器(20190202)
- v0.4.0 2019.01.25
- feat:新增工作台界面(20190125)
- feat:集成工作流(Flowable)(20190121)
- refactor:优化 URL(20190121)
- refactor:优化登录界面(20190125)
- v0.3.0 2019.01.11
- fix:修复 IE8 浏览器下登录页登录框变形的问题(20190104)
- fix:修复帐号注销登录后还能访问系统的问题(20190105)
- refactor:优化系统登录页布局和表单布局(20190109)
- refactor:优化 Excel 导出/导入实体数据(20190110)
- feat:升级 EasyUI 到 v1.7.1 版(20190110)
- feat:新增 jar 打包支持,并设置为默认打包方式(20190108)
- feat:新增一个帐号只允许同时在线一个 session 的功能(20190104)
- docs:新增 MIT 开源协议(20190110)
- v0.2.0 2018.12.21
- feat:整合 ActiveMQ(20181221)
- feat:新增部门管理(20181221)
- v0.1.0 2018.11.05
- feat:最新版发布(20181105)
- v0.0.1 2018.02.22
- feat:第一版发布(20180222)
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2019 Rakesh Zhang (godcheese@outlook.com)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
<p align="center">
<img width="320" src="https://github.com/godcheese/nimrod/blob/master/nimrod_banner.png?raw=true">
</p>
<p align="center">
<a href="https://github.com/godcheese/nimrod">
<img src="https://img.shields.io/github/last-commit/godcheese/nimrod.svg" alt="GitHub Last Commit">
</a>
<a href="https://github.com/godcheese/nimrod/releases">
<img src="https://img.shields.io/github/release/godcheese/nimrod.svg" alt="GitHub release">
</a>
<a href="https://travis-ci.org/godcheese/nimrod" rel="nofollow">
<img src="https://travis-ci.org/godcheese/nimrod.svg?branch=master" alt="Build Status">
</a>
<a href="https://sonarcloud.io/dashboard?id=godcheese_nimrod" rel="nofollow">
<img src="https://sonarcloud.io/api/project_badges/measure?project=godcheese_nimrod&metric=alert_status" alt="Quality Gate Status">
</a>
<a href="https://www.codacy.com/app/godcheese/nimrod?utm_source=github.com&utm_medium=referral&utm_content=godcheese/nimrod&utm_campaign=Badge_Grade"><img src="https://api.codacy.com/project/badge/Grade/a8b58a98bd3541548e5705c65372734d" alt="Codacy Badge"/></a>
<a href="https://github.com/godcheese/nirmod/blob/master/LICENSE">
<img src="https://img.shields.io/github/license/mashape/apistatus.svg" alt="license">
</a>
<!-- <a href="https://gitter.im/repo-name/discuss">
<img src="https://badges.gitter.im/Join%20Chat.svg" alt="gitter">
</a> -->
<!-- <a href="https://godcheese.github.io/nimrod/donate">
<img src="https://img.shields.io/badge/%24-donate-ff69b4.svg" alt="donate">
</a> -->
</p>
## 简介 Introduction 作者QQ:1176394803(可有尝提供技术支持或改代码)
> nimrod 英[ˈnimrɔd] 美[ˈnɪmˌrɑd] n. 好猎手,猎人;
Nimrod - 基于 Spring Boot 构建 的 Java Web 平台企业级单体应用快速开发框架,适合中小型项目的应用和开发。所采用的技术栈包括 Spring Boot、Spring、Spring Web MVC、MyBatis、Thymeleaf 等,遵守[阿里巴巴 Java 开发规约](https://github.com/alibaba/p3c),帮助养成良好的编码习惯。整体采用 RBAC ( Role-Based Access Control ,基于角色的访问控制),具有严格的权限控制模块,支持系统与模块分离开发。最后希望这个项目能够对你有所帮助。
- Nimrod 开发交流群(微信群):<img width="170" height="250" src="https://github.com/godcheese/nimrod/blob/master/WechatGroup.png?raw=true">
- Nimrod 开发交流群(QQ 群):[547252502](https://jq.qq.com/?_wv=1027&k=5yxyg73)
- [码云 Gitee](https://gitee.com/godcheese/nimrod)
| 环境 | 版本 |
| :--- | :--- |
| [Java](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) | 1.8 |
| [MySQL](https://dev.mysql.com/downloads/mysql/5.7.html#downloads) | 5.7 |
| [Maven](http://maven.apache.org/download.cgi) | 3.5 |
| [Tomcat](https://tomcat.apache.org/download-90.cgi) | 9.0 |
| 依赖 | 版本 |
| :--- | :--- |
| [Spring Boot](http://mvnrepository.com/artifact/org.springframework.boot/spring-boot) | 2.1.9.RELEASE |
| [Spring Web MVC](http://mvnrepository.com/artifact/org.springframework/spring-webmvc) | 5.1.6.RELEASE |
| [Spring Security Web](http://mvnrepository.com/artifact/org.springframework.security/spring-security-web) | 5.1.5.RELEASE |
| [MyBatis](http://mvnrepository.com/artifact/org.mybatis/mybatis) | 3.5.1 |
| [Thymeleaf](http://mvnrepository.com/artifact/org.thymeleaf/thymeleaf) | 3.0.11.RELEASE |
| [Druid](http://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter) | 1.1.16 |
| 测试账号 | 测试账号 | |
| :------ | :------ | :------ |
| Username | Password | Role & Authority |
| system_admin | 123456 | ROLE_USER,ROLE_ADMIN,ROLE_SYSTEM_ADMIN |
| admin |123456 | ROLE_USER,ROLE_ADMIN,/API/SYSTEM/INDEX |
| user |123456 | ROLE_USER |
## 特性 Features
- 数据字典 ✓
- 角色管理 ✓
- 用户管理 ✓
- 在线用户 ✗
- 权限管理 ✓
- 视图菜单 ✓
- 视图页面 ✓
- 视图页面组件 ✓
- API ✓
- 消息中间件(ActiveMQ) ✓
- 电子邮件管理 ✓
- 操作日志 ✓
- 附件管理 ✓
- 定时任务 ✓
- 部门管理 ✓
- ~~工作流(Flowable)~~ ✓
## 起步 Getting started
```bash
# clone the project
git clone https://github.com/godcheese/nimrod.git && cd nimrod
# package
mvn clean package
# develop
mvn spring-boot:run
```
## [开发文档 Documentation](https://github.com/godcheese/nimrod/blob/master/docs/getting_started.md)
## [更新日志 Changelog](https://github.com/godcheese/nimrod/releases)
> 参照 [Commit message 和 Change log 编写指南](http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html)
## [在线演示 Online Demo](http://demo.godcheese.com:8083/nimrod)
登录用户名密码加QQ群547252502获取。
#### 截图 Screenshots



## 反馈 Feedback
[Issues](https://github.com/godcheese/nimrod/issues)
## 捐赠 Donation
如果此项目对你有所帮助,不妨请我喝咖啡。
If you find Nimrod useful, you can buy us a cup of coffee.
[Paypal Me](https://www.paypal.me/godcheese)
## 浏览器支持 Browsers support
Modern browsers and Internet Explorer 9+.
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
| --------- | --------- | --------- | --------- |
| IE9, IE10, IE11, Edge| last 15 versions| last 15 versions| last 10 versions
================================================
FILE: TODO.md
================================================
## Todo list
- (20191018)修复 IE 上传文件异常 ✗
- (20190920)验证码字体路径乱码 ✔
- (20190920)项目启动时 Quartz 任务重复运行多次 ✔
- (20190920)新的登录界面 ✔
================================================
FILE: db/mysql/example/example.sql
================================================
-- example 表
CREATE TABLE `example` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT '',
`sort` bigint(20) DEFAULT 0,
`remark` varchar(255) DEFAULT '',
`gmt_modified` datetime DEFAULT NULL,
`gmt_created` datetime DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = 'example 表';
================================================
FILE: db/mysql/nimrod/nimrod.sql
================================================
/*
Navicat Premium Data Transfer
Source Server : localhost
Source Server Type : MySQL
Source Server Version : 50724
Source Host : localhost:3306
Source Schema : nimrod
Target Server Type : MySQL
Target Server Version : 50724
File Encoding : 65001
Date: 17/07/2020 12:37:59
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for QRTZ_BLOB_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_BLOB_TRIGGERS`;
CREATE TABLE `QRTZ_BLOB_TRIGGERS` (
`SCHED_NAME` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`BLOB_DATA` blob NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for QRTZ_CALENDARS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_CALENDARS`;
CREATE TABLE `QRTZ_CALENDARS` (
`SCHED_NAME` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`CALENDAR_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`CALENDAR` blob NOT NULL,
PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for QRTZ_CRON_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_CRON_TRIGGERS`;
CREATE TABLE `QRTZ_CRON_TRIGGERS` (
`SCHED_NAME` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`CRON_EXPRESSION` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TIME_ZONE_ID` varchar(80) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of QRTZ_CRON_TRIGGERS
-- ----------------------------
INSERT INTO `QRTZ_CRON_TRIGGERS` VALUES ('quartzScheduler', 'com.gioov.nimrod.quartz.job.SimpleJob', '1', '0/50 * * * * ? *', 'Asia/Shanghai');
-- ----------------------------
-- Table structure for QRTZ_FIRED_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_FIRED_TRIGGERS`;
CREATE TABLE `QRTZ_FIRED_TRIGGERS` (
`SCHED_NAME` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`ENTRY_ID` varchar(95) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`INSTANCE_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`FIRED_TIME` bigint(13) NOT NULL,
`SCHED_TIME` bigint(13) NOT NULL,
`PRIORITY` int(11) NOT NULL,
`STATE` varchar(16) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`JOB_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
`JOB_GROUP` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
`IS_NONCONCURRENT` varchar(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
`REQUESTS_RECOVERY` varchar(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE,
INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE,
INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for QRTZ_JOB_DETAILS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_JOB_DETAILS`;
CREATE TABLE `QRTZ_JOB_DETAILS` (
`SCHED_NAME` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`JOB_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`JOB_GROUP` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`DESCRIPTION` varchar(250) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
`JOB_CLASS_NAME` varchar(250) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`IS_DURABLE` varchar(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`IS_NONCONCURRENT` varchar(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`IS_UPDATE_DATA` varchar(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`REQUESTS_RECOVERY` varchar(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`JOB_DATA` blob NULL,
PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of QRTZ_JOB_DETAILS
-- ----------------------------
INSERT INTO `QRTZ_JOB_DETAILS` VALUES ('quartzScheduler', 'com.gioov.nimrod.quartz.job.SimpleJob', '1', '', 'com.gioov.nimrod.quartz.job.SimpleJob', '0', '1', '1', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787000737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F40000000000010770800000010000000007800);
-- ----------------------------
-- Table structure for QRTZ_LOCKS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_LOCKS`;
CREATE TABLE `QRTZ_LOCKS` (
`SCHED_NAME` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`LOCK_NAME` varchar(40) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of QRTZ_LOCKS
-- ----------------------------
INSERT INTO `QRTZ_LOCKS` VALUES ('quartzScheduler', 'TRIGGER_ACCESS');
-- ----------------------------
-- Table structure for QRTZ_PAUSED_TRIGGER_GRPS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_PAUSED_TRIGGER_GRPS`;
CREATE TABLE `QRTZ_PAUSED_TRIGGER_GRPS` (
`SCHED_NAME` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for QRTZ_SCHEDULER_STATE
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_SCHEDULER_STATE`;
CREATE TABLE `QRTZ_SCHEDULER_STATE` (
`SCHED_NAME` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`INSTANCE_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`LAST_CHECKIN_TIME` bigint(13) NOT NULL,
`CHECKIN_INTERVAL` bigint(13) NOT NULL,
PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for QRTZ_SIMPLE_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_SIMPLE_TRIGGERS`;
CREATE TABLE `QRTZ_SIMPLE_TRIGGERS` (
`SCHED_NAME` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`REPEAT_COUNT` bigint(7) NOT NULL,
`REPEAT_INTERVAL` bigint(12) NOT NULL,
`TIMES_TRIGGERED` bigint(10) NOT NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for QRTZ_SIMPROP_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_SIMPROP_TRIGGERS`;
CREATE TABLE `QRTZ_SIMPROP_TRIGGERS` (
`SCHED_NAME` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`STR_PROP_1` varchar(512) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
`STR_PROP_2` varchar(512) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
`STR_PROP_3` varchar(512) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
`INT_PROP_1` int(11) NULL DEFAULT NULL,
`INT_PROP_2` int(11) NULL DEFAULT NULL,
`LONG_PROP_1` bigint(20) NULL DEFAULT NULL,
`LONG_PROP_2` bigint(20) NULL DEFAULT NULL,
`DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL,
`DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL,
`BOOL_PROP_1` varchar(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
`BOOL_PROP_2` varchar(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for QRTZ_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_TRIGGERS`;
CREATE TABLE `QRTZ_TRIGGERS` (
`SCHED_NAME` varchar(120) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_GROUP` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`JOB_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`JOB_GROUP` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`DESCRIPTION` varchar(250) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
`NEXT_FIRE_TIME` bigint(13) NULL DEFAULT NULL,
`PREV_FIRE_TIME` bigint(13) NULL DEFAULT NULL,
`PRIORITY` int(11) NULL DEFAULT NULL,
`TRIGGER_STATE` varchar(16) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`TRIGGER_TYPE` varchar(8) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`START_TIME` bigint(13) NOT NULL,
`END_TIME` bigint(13) NULL DEFAULT NULL,
`CALENDAR_NAME` varchar(190) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
`MISFIRE_INSTR` smallint(2) NULL DEFAULT NULL,
`JOB_DATA` blob NULL,
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE,
INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE,
INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE,
INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE,
INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE,
INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE,
INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE,
INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of QRTZ_TRIGGERS
-- ----------------------------
INSERT INTO `QRTZ_TRIGGERS` VALUES ('quartzScheduler', 'com.gioov.nimrod.quartz.job.SimpleJob', '1', 'com.gioov.nimrod.quartz.job.SimpleJob', '1', '', 1568951270000, 1568951220000, 5, 'PAUSED', 'CRON', 1568728277000, 0, NULL, 2, '');
-- ----------------------------
-- Table structure for api
-- ----------------------------
DROP TABLE IF EXISTS `api`;
CREATE TABLE `api` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'API 名称',
`url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求地址(url)',
`authority` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限(authority)',
`api_category_id` bigint(20) UNSIGNED NOT NULL COMMENT 'API 分类 id',
`sort` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_authority`(`authority`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 143 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'API 表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of api
-- ----------------------------
INSERT INTO `api` VALUES (1, '分页获取所有电子邮件队列', '/api/mail/page_all', '/API/MAIL/PAGE_ALL', 21, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (2, '新增电子邮件', '/api/mail/add_one', '/API/MAIL/ADD_ONE', 21, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (3, '指定电子邮件 id,获取电子邮件', '/api/mail/one', '/API/MAIL/ONE', 21, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (4, '指定队列电子邮件 id,批量删除队列电子邮件', '/api/mail/delete_all', '/API/MAIL/DELETE_ALL', 21, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (5, '新增任务', '/api/quartz/job/add_one', '/API/QUARTZ/JOB/ADD_ONE', 24, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (6, '指定 JobClassName、JobGroup,获取任务', '/api/quartz/job/one', '/API/QUARTZ/JOB/ONE', 24, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (7, '分页获取所有任务', '/api/quartz/job/page_all', '/API/QUARTZ/JOB/PAGE_ALL', 24, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (8, '指定 JobClassName list、JobGroup list,暂停所有任务', '/api/quartz/job/pause_all', '/API/QUARTZ/JOB/PAUSE_ALL', 24, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (9, '指定 JobClassName list、JobGroup list,恢复所有任务', '/api/quartz/job/resume_all', '/API/QUARTZ/JOB/RESUME_ALL', 24, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (10, '指定 JobClassName list、JobGroup list,删除所有任务', '/api/quartz/job/delete_all', '/API/QUARTZ/JOB/DELETE_ALL', 24, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (11, '保存任务', '/api/quartz/job/save_one', '/API/QUARTZ/JOB/SAVE_ONE', 24, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (12, '指定任务运行日志 id,获取任务运行日志', '/api/quartz/job_runtime_log/one', '/API/QUARTZ/JOB_RUNTIME_LOG/ONE', 25, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (13, '分页获取所有任务运行日志', '/api/quartz/job_runtime_log/page_all', '/API/QUARTZ/JOB_RUNTIME_LOG/PAGE_ALL', 25, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (14, '清空所有任务运行日志', '/api/quartz/job_runtime_log/clear_all', '/API/QUARTZ/JOB_RUNTIME_LOG/CLEAR_ALL', 25, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (15, '新增数据字典分类', '/api/system/dictionary_category/add_one', '/API/SYSTEM/DICTIONARY_CATEGORY/ADD_ONE', 6, 0, '', '2019-09-27 01:02:29', NULL);
INSERT INTO `api` VALUES (16, '保存数据字典分类', '/api/system/dictionary_category/save_one', '/API/SYSTEM/DICTIONARY_CATEGORY/SAVE_ONE', 6, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (17, '指定数据字典分类 id list,批量删除数据字典分类', '/api/system/dictionary_category/delete_all', '/API/SYSTEM/DICTIONARY_CATEGORY/DELETE_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (18, '指定数据字典分类 id,获取数据字典分类', '/api/system/dictionary_category/one', '/API/SYSTEM/DICTIONARY_CATEGORY/ONE', 6, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (19, '获取所有数据字典分类,以 Antd Table 形式展示', '/api/system/dictionary_category/list_all_as_antd_table', '/API/SYSTEM/DICTIONARY_CATEGORY/LIST_ALL_AS_ANTD_TABLE', 6, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (20, '获取所有数据字典分类,以 Antd TreeNode 形式展示', '/api/system/dictionary_category/list_all_as_antd_tree_node', '/API/SYSTEM/DICTIONARY_CATEGORY/LIST_ALL_AS_ANTD_TREE_NODE', 6, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (21, '新增数据字典', '/api/system/dictionary/add_one', '/API/SYSTEM/DICTIONARY/ADD_ONE', 7, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (22, '保存数据字典', '/api/system/dictionary/save_one', '/API/SYSTEM/DICTIONARY/SAVE_ONE', 7, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (23, '指定数据字典 id,批量删除数据字典', '/api/system/dictionary/delete_all', '/API/SYSTEM/DICTIONARY/DELETE_ALL', 7, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (24, '指定数据字典 id,获取数据字典', '/api/system/dictionary/one', '/API/SYSTEM/DICTIONARY/ONE', 7, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (25, '指定数据字典键,从内存中获取所有数据字典', '/api/system/dictionary/list_all_by_key', '/API/SYSTEM/DICTIONARY/LIST_ALL_BY_KEY', 7, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (26, '同步数据字典到内存', '/api/system/dictionary/sync_to_memory', '/API/SYSTEM/DICTIONARY/SYNC_TO_MEMORY', 7, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (27, '指定数据字典分类 id list,导出数据字典', '/api/system/dictionary/export_all_by_dictionary_category_id_list', '/API/SYSTEM/DICTIONARY/EXPORT_ALL_BY_DICTIONARY_CATEGORY_ID_LIST', 7, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (28, '指定数据字典分类 id,导入数据字典', '/api/system/dictionary/import_all_by_dictionary_category_id', '/API/SYSTEM/DICTIONARY/IMPORT_ALL_BY_DICTIONARY_CATEGORY_ID', 7, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (29, '指定数据字典分类 id,分页获取数据字典', '/api/system/dictionary/page_all_by_dictionary_category_id_list', '/API/SYSTEM/DICTIONARY/PAGE_ALL_BY_DICTIONARY_CATEGORY_ID_LIST', 7, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (30, '分页获取所有文件', '/api/system/file/page_all', '/API/SYSTEM/FILE/PAGE_ALL', 19, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (31, '单个文件上传', '/api/system/file/upload_one', '/API/SYSTEM/FILE/UPLOAD_ONE', 19, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (32, '保存文件', '/api/system/file/save_one', '/API/SYSTEM/FILE/SAVE_ONE', 19, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (33, '指定文件 id list,批量删除文件', '/api/system/file/delete_all', '/API/SYSTEM/FILE/DELETE_ALL', 19, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (34, '指定文件 id,获取文件', '/api/system/file/one', '/API/SYSTEM/FILE/ONE', 19, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (35, '指定文件 guid,下载文件', '/api/system/file/download', '/API/SYSTEM/FILE/DOWNLOAD', 19, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (36, '分页获取所有图片文件', '/api/system/file/page_all_image', '/API/SYSTEM/FILE/PAGE_ALL_IMAGE', 19, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (37, '分页获取所有操作日志', '/api/system/operation_log/page_all', '/API/SYSTEM/OPERATION_LOG/PAGE_ALL', 22, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (38, '指定操作日志 id,获取操作日志', '/api/system/operation_log/one', '/API/SYSTEM/OPERATION_LOG/ONE', 22, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (39, '清空所有操作日志', '/api/system/operation_log/clear_all', '/API/SYSTEM/OPERATION_LOG/CLEAR_ALL', 22, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (40, '获取验证码', '/api/system/verify_code', '/API/SYSTEM/VERIFY_CODE', 2, 0, '', '2019-10-24 13:50:31', NULL);
INSERT INTO `api` VALUES (41, '获取系统信息', '/api/system/system_info', '/API/SYSTEM/SYSTEM_INFO', 2, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (42, '新增 API 分类', '/api/user/api_category/add_one', '/API/USER/API_CATEGORY/ADD_ONE', 4, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (43, '保存 API 分类', '/api/user/api_category/save_one', '/API/USER/API_CATEGORY/SAVE_ONE', 4, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (44, '指定 API 分类 id list,批量删除 API 分类', '/api/user/api_category/delete_all', '/API/USER/API_CATEGORY/DELETE_ALL', 4, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (45, '指定 API 分类 id,获取所有 API 分类', '/api/user/api_category/one', '/API/USER/API_CATEGORY/ONE', 4, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (46, '获取所有 API 分类,以 Antd Table 形式展示', '/api/user/api_category/list_all_as_antd_table', '/API/USER/API_CATEGORY/LIST_ALL_AS_ANTD_TABLE', 4, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (47, '指定 API 分类 id,分页获取所有 API', '/api/user/api/page_all_by_api_category_id', '/API/USER/API/PAGE_ALL_BY_API_CATEGORY_ID', 5, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (48, '新增 API', '/api/user/api/add_one', '/API/USER/API/ADD_ONE', 5, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (49, '指定 API id list,批量删除 API', '/api/user/api/delete_all', '/API/USER/API/DELETE_ALL', 5, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (50, '指定 API id,获取所有 API', '/api/user/api/one', '/API/USER/API/ONE', 5, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (51, '指定角色 id、API 分类 id list,分页获取所有 API,以 Antd Table 形式展示', '/api/user/api/page_all_as_antd_table_by_role_id_and_api_category_id_list', '/API/USER/API/PAGE_ALL_AS_ANTD_TABLE_BY_ROLE_ID_AND_API_CATEGORY_ID_LIST', 5, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (52, '指定 API 分类 id list,分页获取所有 API,以 Antd Table 形式展示', '/api/user/api/page_all_as_antd_table_by_api_category_id_list', '/API/USER/API/PAGE_ALL_AS_ANTD_TABLE_BY_API_CATEGORY_ID_LIST', 5, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (53, '指定角色 id、API id list,批量授权', '/api/user/api/grant_all_by_role_id_and_api_id_list', '/API/USER/API/GRANT_ALL_BY_ROLE_ID_AND_API_ID_LIST', 5, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (54, '指定角色 id、API id list,批量撤销授权', '/api/user/api/revoke_all_by_role_id_and_api_id_list', '/API/USER/API/REVOKE_ALL_BY_ROLE_ID_AND_API_ID_LIST', 5, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (55, '指定视图页面 id、API 分类 id list,分页获取所有 API,以 Antd Table 形式展示', '/api/user/api/page_all_as_antd_table_by_view_page_id_and_api_category_id_list', '/API/USER/API/PAGE_ALL_AS_ANTD_TABLE_BY_VIEW_PAGE_ID_AND_API_CATEGORY_ID_LIST', 5, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (56, '指定视图页面组件 id、API 分类 id list,分页获取 API,以 Antd Table 形式展示', '/api/user/api/page_all_as_antd_table_by_view_page_component_id_and_api_category_id_list', '/API/USER/API/PAGE_ALL_AS_ANTD_TABLE_BY_VIEW_PAGE_COMPONENT_ID_AND_API_CATEGORY_ID_LIST', 5, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (57, '新增部门', '/api/user/department/add_one', '/API/USER/DEPARTMENT/ADD_ONE', 20, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (58, '保存部门', '/api/user/department/save_one', '/API/USER/DEPARTMENT/SAVE_ONE', 20, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (59, '指定部门 id list,批量删除部门', '/api/user/department/delete_all', '/API/USER/DEPARTMENT/DELETE_ALL', 20, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (60, '指定部门 id,获取部门', '/api/user/department/one', '/API/USER/DEPARTMENT/ONE', 20, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (61, '获取所有部门,以 Antd TreeNode 形式展示', '/api/user/department/list_all_as_antd_tree_node', '/API/USER/DEPARTMENT/LIST_ALL_AS_ANTD_TREE_NODE', 20, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (62, '获取所有部门,以 Antd Tree 形式展示', '/api/user/department/list_all_as_antd_tree', '/API/USER/DEPARTMENT/LIST_ALL_AS_ANTD_TREE', 20, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (63, '获取所有部门,以 Antd Table 形式展示', '/api/user/department/list_all_as_antd_table', '/API/USER/DEPARTMENT/LIST_ALL_AS_ANTD_TABLE', 20, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (64, '分页获取所有角色', '/api/user/role/page_all', '/API/USER/ROLE/PAGE_ALL', 14, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (65, '新增角色', '/api/user/role/add_one', '/API/USER/ROLE/ADD_ONE', 14, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (66, '指定角色 id list,批量删除角色', '/api/user/role/delete_all', '/API/USER/ROLE/DELETE_ALL', 14, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (67, '指定角色 id,获取角色', '/api/user/role/one', '/API/USER/ROLE/ONE', 14, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (68, '指定用户 id,分页获取所有角色,以 Antd Table 形式展示', '/api/user/role/page_all_as_antd_table_by_user_id', '/API/USER/ROLE/PAGE_ALL_AS_ANTD_TABLE_BY_USER_ID', 14, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (69, '指定用户 id、角色 id list,批量授权', '/api/user/role/grant_all_by_user_id_and_role_id_list', '/API/USER/ROLE/GRANT_ALL_BY_USER_ID_AND_ROLE_ID_LIST', 14, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (70, '指定用户 id、角色 id list,批量撤销授权', '/api/user/role/revoke_all_by_user_id_and_role_id_list', '/API/USER/ROLE/REVOKE_ALL_BY_USER_ID_AND_ROLE_ID_LIST', 14, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (71, '分页获取所有用户', '/api/user/page_all', '/API/USER/PAGE_ALL', 15, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (72, '指定部门 id,分页获取所有用户', '/api/user/page_all_by_department_id', '/API/USER/PAGE_ALL_BY_DEPARTMENT_ID', 15, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (73, '新增用户', '/api/user/add_one', '/API/USER/ADD_ONE', 15, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (74, '保存用户', '/api/user/save_one', '/API/USER/SAVE_ONE', 15, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (75, '指定用户 id list,删除用户', '/api/user/fake_delete_all', '/API/USER/FAKE_DELETE_ALL', 15, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (76, '指定用户 id list,撤销删除用户', '/api/user/revoke_fake_delete_all', '/API/USER/REVOKE_FAKE_DELETE_ALL', 15, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (77, '指定用户 id list,批量永久删除用户', '/api/user/delete_all', '/API/USER/DELETE_ALL', 15, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (78, '指定用户 id,获取用户(除密码和角色)', '/api/user/one', '/API/USER/ONE', 15, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (79, '获取当前用户(用户 id、用户名、头像、电子邮箱、权限、部门)', '/api/user/get_current_user', '/API/USER/GET_CURRENT_USER', 15, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (80, '分页获取所有用户角色', '/api/user/user_role/page_all', '/API/USER/USER_ROLE/PAGE_ALL', 16, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (81, '新增用户角色', '/api/user/user_role/add_one', '/API/USER/USER_ROLE/ADD_ONE', 16, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (82, '指定用户 id、角色 id list,批量删除用户角色', '/api/user/user_role/delete_all_by_user_id_and_role_id_list', '/API/USER/USER_ROLE/DELETE_ALL_BY_USER_ID_AND_ROLE_ID_LIST', 16, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (83, '指定角色 id,分页获取所有父级视图菜单分类', '/api/user/view_menu_category/page_all_parent_by_role_id', '/API/USER/VIEW_MENU_CATEGORY/PAGE_ALL_PARENT_BY_ROLE_ID', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (84, '指定父级视图菜单分类 id、角色 id,获取所有视图菜单分类', '/api/user/view_menu_category/list_all_by_parent_id_and_role_id', '/API/USER/VIEW_MENU_CATEGORY/LIST_ALL_BY_PARENT_ID_AND_ROLE_ID', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (85, '新增视图菜单分类', '/api/user/view_menu_category/add_one', '/API/USER/VIEW_MENU_CATEGORY/ADD_ONE', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (86, '保存视图菜单分类', '/api/user/view_menu_category/save_one', '/API/USER/VIEW_MENU_CATEGORY/SAVE_ONE', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (87, '指定视图菜单分类 id,批量删除视图菜单分类', '/api/user/view_menu_category/delete_all', '/API/USER/VIEW_MENU_CATEGORY/DELETE_ALL', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (88, '指定视图菜单分类 id,获取视图菜单分类', '/api/user/view_menu_category/one', '/API/USER/VIEW_MENU_CATEGORY/ONE', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (89, '指定角色 id,获取所有父级视图菜单分类', '/api/user/view_menu_category/list_all_parent_by_role_id', '/API/USER/VIEW_MENU_CATEGORY/LIST_ALL_PARENT_BY_ROLE_ID', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (90, '指定用户 id,获取所有父级视图菜单分类', '/api/user/view_menu_category/list_all_parent_by_user_id', '/API/USER/VIEW_MENU_CATEGORY/LIST_ALL_PARENT_BY_USER_ID', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (91, '指定用户 id、父级视图菜单分类 id,获取所有子级视图菜单分类', '/api/user/view_menu_category/list_all_child_by_parent_id_and_user_id', '/API/USER/VIEW_MENU_CATEGORY/LIST_ALL_CHILD_BY_PARENT_ID_AND_USER_ID', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (92, '获取所有视图菜单分类', '/api/user/view_menu_category/list_all', '/API/USER/VIEW_MENU_CATEGORY/LIST_ALL', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (93, '指定视图菜单分类名称,模糊搜索获取所有视图菜单分类', '/api/user/view_menu_category/search_all_by_name', '/API/USER/VIEW_MENU_CATEGORY/SEARCH_ALL_BY_NAME', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (94, '指定角色 id,获取视图菜单分类,以 Antd Table 形式展示', '/api/user/view_menu_category/list_all_as_antd_table_by_role_id', '/API/USER/VIEW_MENU_CATEGORY/LIST_ALL_AS_ANTD_TABLE_BY_ROLE_ID', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (95, '获取视图菜单分类,以 Antd Table 形式展示', '/api/user/view_menu_category/list_all_as_antd_table', '/API/USER/VIEW_MENU_CATEGORY/LIST_ALL_AS_ANTD_TABLE', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (96, '获取所有视图菜单分类,以 Antd TreeNode 形式展示', '/api/user/view_menu_category/list_all_as_antd_tree_node', '/API/USER/VIEW_MENU_CATEGORY/LIST_ALL_AS_ANTD_TREE_NODE', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (97, '指定角色 id、视图菜单分类 id list,批量授权', '/api/user/view_menu_category/grant_all_by_role_id_and_view_menu_category_id_list', '/API/USER/VIEW_MENU_CATEGORY/GRANT_ALL_BY_ROLE_ID_AND_VIEW_MENU_CATEGORY_ID_LIST', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (98, '指定角色 id、视图菜单分类 id list,批量撤销授权', '/api/user/view_menu_category/revoke_all_by_role_id_and_view_menu_category_id_list', '/API/USER/VIEW_MENU_CATEGORY/REVOKE_ALL_BY_ROLE_ID_AND_VIEW_MENU_CATEGORY_ID_LIST', 17, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (99, '指定视图菜单分类 id、角色 id,分页获取所有视图菜单', '/api/user/view_menu/page_all_by_view_menu_category_id_and_role_id', '/API/USER/VIEW_MENU/PAGE_ALL_BY_VIEW_MENU_CATEGORY_ID_AND_ROLE_ID', 18, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (100, '新增视图菜单', '/api/user/view_menu/add_one', '/API/USER/VIEW_MENU/ADD_ONE', 18, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (101, '保存视图菜单', '/api/user/view_menu/save_one', '/API/USER/VIEW_MENU/SAVE_ONE', 18, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (102, '指定视图菜单 id list,批量删除视图菜单', '/api/user/view_menu/delete_all', '/API/USER/VIEW_MENU/DELETE_ALL', 18, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (103, '指定视图菜单 id,获取视图菜单', '/api/user/view_menu/one', '/API/USER/VIEW_MENU/ONE', 18, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (104, '指定视图菜单名称,模糊搜索获取所有视图菜单', '/api/user/view_menu/search_all_by_name', '/API/USER/VIEW_MENU/SEARCH_ALL_BY_NAME', 18, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (105, '获取当前用户视图菜单,以 Antd VueMenu 形式展示', '/api/user/view_menu/list_all_as_vue_menu_by_current_user', '/API/USER/VIEW_MENU/LIST_ALL_AS_VUE_MENU_BY_CURRENT_USER', 18, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (106, '指定角色 id、视图菜单分类 id list,分页获取视图菜单,以 Antd Table 形式展示', '/api/user/view_menu/page_all_as_antd_table_by_role_id_and_menu_category_id_list', '/API/USER/VIEW_MENU/PAGE_ALL_AS_ANTD_TABLE_BY_ROLE_ID_AND_MENU_CATEGORY_ID_LIST', 18, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (107, '指定视图菜单分类 id list,分页获取视图菜单,以 Antd Table 形式展示', '/api/user/view_menu/page_all_as_antd_table_by_view_menu_category_id_list', '/API/USER/VIEW_MENU/PAGE_ALL_AS_ANTD_TABLE_BY_VIEW_MENU_CATEGORY_ID_LIST', 18, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (108, '指定角色 id、视图菜单 id list,批量授权', '/api/user/view_menu/grant_all_by_role_id_and_view_menu_id_list', '/API/USER/VIEW_MENU/GRANT_ALL_BY_ROLE_ID_AND_VIEW_MENU_ID_LIST', 18, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (109, '指定角色 id、视图菜单 id list,批量撤销授权', '/api/user/view_menu/revoke_all_by_role_id_and_view_menu_id_list', '/API/USER/VIEW_MENU/REVOKE_ALL_BY_ROLE_ID_AND_VIEW_MENU_ID_LIST', 18, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (110, '指定视图页面 id,API id list,批量关联', '/api/user/view_page_api/associate_all_by_view_page_id_and_api_id_list', '/API/USER/VIEW_PAGE_API/ASSOCIATE_ALL_BY_VIEW_PAGE_ID_AND_API_ID_LIST', 8, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (111, '指定视图页面 id,API id list,批量撤销关联', '/api/user/view_page_api/revoke_associate_all_by_view_page_id_and_api_id_list', '/API/USER/VIEW_PAGE_API/REVOKE_ASSOCIATE_ALL_BY_VIEW_PAGE_ID_AND_API_ID_LIST', 8, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (112, '分页获取所有父级视图页面分类', '/api/user/view_page_category/page_all_parent', '/API/USER/VIEW_PAGE_CATEGORY/PAGE_ALL_PARENT', 9, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (113, '指定父级视图页面分类 id,获取所有视图页面分类', '/api/user/view_page_category/list_all_by_parent_id', '/API/USER/VIEW_PAGE_CATEGORY/LIST_ALL_BY_PARENT_ID', 9, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (114, '新增视图页面分类', '/api/user/view_page_category/add_one', '/API/USER/VIEW_PAGE_CATEGORY/ADD_ONE', 9, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (115, '保存视图页面分类', '/api/user/view_page_category/save_one', '/API/USER/VIEW_PAGE_CATEGORY/SAVE_ONE', 9, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (116, '指定视图页面分类 id ,批量删除视图页面分类', '/api/user/view_page_category/delete_all', '/API/USER/VIEW_PAGE_CATEGORY/DELETE_ALL', 9, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (117, '指定视图页面分类 id,获取视图页面分类', '/api/user/view_page_category/one', '/API/USER/VIEW_PAGE_CATEGORY/ONE', 9, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (118, '指定角色 id,获取所有视图页面分类,以 Antd Table 形式展示', '/api/user/view_page_category/list_all_as_antd_table_by_role_id', '/API/USER/VIEW_PAGE_CATEGORY/LIST_ALL_AS_ANTD_TABLE_BY_ROLE_ID', 9, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (119, '获取视图页面分类,以 Antd Table 形式展示', '/api/user/view_page_category/list_all_as_antd_table', '/API/USER/VIEW_PAGE_CATEGORY/LIST_ALL_AS_ANTD_TABLE', 9, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (120, '获取所有视图页面分类,以 Antd TreeNode 形式展示', '/api/user/view_page_category/list_all_as_antd_tree_node', '/API/USER/VIEW_PAGE_CATEGORY/LIST_ALL_AS_ANTD_TREE_NODE', 9, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (121, '指定视图页面 id,获取视图页面分类', '/api/user/view_page_category/get_one_by_view_page_id', '/API/USER/VIEW_PAGE_CATEGORY/GET_ONE_BY_VIEW_PAGE_ID', 9, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (122, '指定视图页面组件 id、API id list,批量关联', '/api/user/view_page_component_api/associate_all_by_view_page_component_id_and_api_id_list', '/API/USER/VIEW_PAGE_COMPONENT_API/ASSOCIATE_ALL_BY_VIEW_PAGE_COMPONENT_ID_AND_API_ID_LIST', 12, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (123, '指定视图页面组件 id、API id,批量撤销关联', '/api/user/view_page_component_api/revoke_associate_all_by_role_id_and_authority', '/API/USER/VIEW_PAGE_COMPONENT_API/REVOKE_ASSOCIATE_ALL_BY_ROLE_ID_AND_AUTHORITY', 12, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (124, '指定视图页面 id,分页获取所有视图页面组件', '/api/user/view_page_component/page_all_by_view_page_id', '/API/USER/VIEW_PAGE_COMPONENT/PAGE_ALL_BY_VIEW_PAGE_ID', 11, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (125, '新增视图页面组件', '/api/user/view_page_component/add_one', '/API/USER/VIEW_PAGE_COMPONENT/ADD_ONE', 11, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (126, '保存视图页面组件', '/api/user/view_page_component/save_one', '/API/USER/VIEW_PAGE_COMPONENT/SAVE_ONE', 11, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (127, '指定视图页面组件 id,批量删除视图页面组件', '/api/user/view_page_component/delete_all', '/API/USER/VIEW_PAGE_COMPONENT/DELETE_ALL', 11, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (128, '指定视图组件 id,获取视图组件', '/api/user/view_page_component/one', '/API/USER/VIEW_PAGE_COMPONENT/ONE', 11, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (129, '指定角色 id、视图页面 id list,分页获取所有视图页面组件,以 Antd Table 形式展示', '/api/user/view_page_component/page_all_as_antd_table_by_role_id_and_view_page_id_list', '/API/USER/VIEW_PAGE_COMPONENT/PAGE_ALL_AS_ANTD_TABLE_BY_ROLE_ID_AND_VIEW_PAGE_ID_LIST', 11, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (130, '指定视图页面 id list,分页获取视图页面组件,以 Antd Table 形式展示', '/api/user/view_page_component/page_all_as_antd_table_by_view_page_id_list', '/API/USER/VIEW_PAGE_COMPONENT/PAGE_ALL_AS_ANTD_TABLE_BY_VIEW_PAGE_ID_LIST', 11, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (131, '指定角色 id、视图页面组件 id list,批量授权', '/api/user/view_page_component/grant_all_by_role_id_and_view_page_component_id_list', '/API/USER/VIEW_PAGE_COMPONENT/GRANT_ALL_BY_ROLE_ID_AND_VIEW_PAGE_COMPONENT_ID_LIST', 11, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (132, '指定角色 id、视图页面组件 id list,批量撤销授权', '/api/user/view_page_component/revoke_all_by_role_id_and_view_page_component_id_list', '/API/USER/VIEW_PAGE_COMPONENT/REVOKE_ALL_BY_ROLE_ID_AND_VIEW_PAGE_COMPONENT_ID_LIST', 11, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (133, '指定视图页面分类 id ,分页获取所有视图页面', '/api/user/view_page/page_all_by_view_page_category_id', '/API/USER/VIEW_PAGE/PAGE_ALL_BY_VIEW_PAGE_CATEGORY_ID', 10, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (134, '新增视图页面', '/api/user/view_page/add_one', '/API/USER/VIEW_PAGE/ADD_ONE', 10, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (135, '保存视图页面', '/api/user/view_page/save_one', '/API/USER/VIEW_PAGE/SAVE_ONE', 10, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (136, '指定视图页面 id ,批量删除视图页面', '/api/user/view_page/delete_all', '/API/USER/VIEW_PAGE/DELETE_ALL', 10, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (137, '指定视图页面 id,获取视图页面', '/api/user/view_page/one', '/API/USER/VIEW_PAGE/ONE', 10, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (138, '指定角色 id,视图页面分类 id list,分页获取视图页面,以 Antd Table 形式展示', '/api/user/view_page/page_all_as_antd_table_by_role_id_and_view_page_category_id_list', '/API/USER/VIEW_PAGE/PAGE_ALL_AS_ANTD_TABLE_BY_ROLE_ID_AND_VIEW_PAGE_CATEGORY_ID_LIST', 10, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (139, '指定视图页面分类 id list,分页获取所有视图页面,以 Antd Table 形式展示', '/api/user/view_page/page_all_as_antd_table_by_view_page_category_id_list', '/API/USER/VIEW_PAGE/PAGE_ALL_AS_ANTD_TABLE_BY_VIEW_PAGE_CATEGORY_ID_LIST', 10, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (140, '指定角色 id、视图页面 id list,批量授权', '/api/user/view_page/grant_all_by_role_id_and_view_page_id_list', '/API/USER/VIEW_PAGE/GRANT_ALL_BY_ROLE_ID_AND_VIEW_PAGE_ID_LIST', 10, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (141, '指定角色 id、视图页面 id list,批量撤销授权', '/api/user/view_page/revoke_all_by_role_id_and_view_page_id_list', '/API/USER/VIEW_PAGE/REVOKE_ALL_BY_ROLE_ID_AND_VIEW_PAGE_ID_LIST', 10, 0, '', NULL, NULL);
INSERT INTO `api` VALUES (142, '指定视图页面分类 id,获取所有视图页面', '/api/user/view_page/list_all_by_view_page_category_id', '/API/USER/VIEW_PAGE/LIST_ALL_BY_VIEW_PAGE_CATEGORY_ID', 10, 0, '', NULL, NULL);
-- ----------------------------
-- Table structure for api_category
-- ----------------------------
DROP TABLE IF EXISTS `api_category`;
CREATE TABLE `api_category` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分类名称',
`parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父级分类 id',
`sort` bigint(20) NULL DEFAULT 0 COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 26 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'API 分类表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of api_category
-- ----------------------------
INSERT INTO `api_category` VALUES (1, '系统管理', NULL, 0, '', '2018-06-20 14:36:43', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (2, '系统配置', 1, 0, '', '2018-06-20 14:36:43', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (3, '用户配置', 1, 0, '', '2018-06-20 14:36:43', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (4, 'API 分类', 3, 0, '', '2019-06-27 11:39:12', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (5, 'API', 3, 0, '', '2019-06-27 11:39:23', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (6, '数据字典分类', 2, 0, '', '2019-09-27 01:01:22', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (7, '数据字典', 2, 0, '', '2019-09-26 08:32:16', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (8, '视图页面关联 API', 3, 0, '', '2019-06-27 11:39:31', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (9, '视图页面分类', 3, 0, '', '2019-06-27 11:39:59', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (10, '视图页面', 3, 0, '', '2019-06-27 11:39:39', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (11, '视图页面组件', 3, 0, '', '2019-06-27 11:39:46', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (12, '视图页面组件关联 API', 3, 0, '', '2019-06-27 11:39:52', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (13, '角色关联权限', 3, 0, '', '2018-06-20 14:36:43', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (14, '角色管理', 3, 0, '', '2018-06-20 14:36:43', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (15, '用户管理', 3, 0, '', '2018-06-20 14:36:43', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (16, '用户关联角色', 3, 0, '', '2018-06-20 14:36:43', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (17, '视图菜单分类', 3, 0, '', '2018-06-20 14:36:43', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (18, '视图菜单', 3, 0, '', '2018-06-20 14:36:43', '2018-06-20 14:36:43');
INSERT INTO `api_category` VALUES (19, '文件管理', 2, 0, '', '2019-06-27 11:38:43', '2019-06-27 11:38:43');
INSERT INTO `api_category` VALUES (20, '部门管理', 2, 0, '', '2019-07-16 12:50:58', '2019-07-16 12:50:03');
INSERT INTO `api_category` VALUES (21, '电子邮件管理', 2, 0, '', '2019-07-16 12:50:37', '2019-07-16 12:50:37');
INSERT INTO `api_category` VALUES (22, '操作日志', 2, 0, '', '2019-08-07 12:45:40', '2019-08-07 12:45:40');
INSERT INTO `api_category` VALUES (23, 'Quartz 任务', 2, 0, '', '2019-08-07 12:46:17', '2019-08-07 12:46:01');
INSERT INTO `api_category` VALUES (24, 'Quartz 任务管理', 21, 0, '', NULL, NULL);
INSERT INTO `api_category` VALUES (25, 'Quartz 任务日志', 21, 0, '', NULL, NULL);
-- ----------------------------
-- Table structure for department
-- ----------------------------
DROP TABLE IF EXISTS `department`;
CREATE TABLE `department` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '部门名称',
`parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父级部门 id',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of department
-- ----------------------------
INSERT INTO `department` VALUES (1, '测试部门', NULL, '', '2018-12-20 06:08:12', '2018-12-20 03:43:04');
-- ----------------------------
-- Table structure for dictionary
-- ----------------------------
DROP TABLE IF EXISTS `dictionary`;
CREATE TABLE `dictionary` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典键',
`key_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典键名',
`value_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典值名',
`value_slug` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典值别名',
`value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '字典值',
`dictionary_category_id` bigint(20) UNSIGNED NOT NULL COMMENT '字典分类 id',
`enabled` tinyint(1) UNSIGNED NULL DEFAULT NULL COMMENT '是否有效(0=否,1=是,默认=0)',
`sort` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_key_value_slug`(`key`, `value_slug`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 47 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据字典表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of dictionary
-- ----------------------------
INSERT INTO `dictionary` VALUES (1, 'WEB', '网站配置', '网站名', 'NAME', 'Nimrod', 3, 1, 0, '', '2019-09-24 03:24:39', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (2, 'WEB', '网站配置', '页脚版权', 'FOOTER', 'Copyright © 2020 Nimrod.All rights reserved.', 3, 1, 0, '', '2020-03-07 03:41:46', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (3, 'MAIL', '电子邮箱发信配置', '主机', 'HOST', 'smtp.mail.example.com', 4, 1, 0, '企业邮箱:https://mail.example.com/', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (4, 'MAIL', '电子邮箱发信配置', '协议', 'PROTOCOL', 'smtp', 4, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (5, 'MAIL', '电子邮箱发信配置', '端口号', 'PORT', '25', 4, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (6, 'MAIL', '电子邮箱发信配置', '用户名', 'USERNAME', 'no-reply@example.com', 4, 1, 0, '', '2019-02-28 08:34:20', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (7, 'MAIL', '电子邮箱发信配置', '密码', 'PASSWORD', '123456', 4, 1, 0, '', '2019-11-07 02:16:18', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (8, 'MAIL', '电子邮箱发信配置', '显示邮箱', 'FROM', 'no-reply@example.com', 4, 1, 0, '', '2019-02-28 08:34:27', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (9, 'MAIL', '电子邮箱发信配置', '默认编码', 'DEFAULT_ENCODING', 'UTF-8', 4, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (10, 'MAIL', '电子邮箱发信配置', '测试连接', 'TEST_CONNECTION', 'false', 4, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (11, 'VIEW_PAGE_COMPONENT_TYPE', '视图页面组件类型', '按钮', 'BUTTON', '1', 5, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (12, 'VIEW_PAGE_COMPONENT_TYPE', '视图页面组件类型', '搜索框', 'SEARCH', '2', 5, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (16, 'SMS_STATUS', '信息状态', '等待', 'WAIT', '0', 7, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (17, 'SMS_STATUS', '信息状态', '失败', 'FAIL', '1', 7, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (18, 'SMS_STATUS', '信息状态', '成功', 'SUCCESS', '2', 7, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (19, 'IS_OR_NOT', '是或否', '否', 'NOT', '0', 8, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (20, 'IS_OR_NOT', '是或否', '是', 'IS', '1', 8, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (21, 'GENDER', '性别', '未知', 'UNKNOWN', '0', 9, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (22, 'GENDER', '性别', '男', 'MALE', '1', 9, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (23, 'GENDER', '性别', '女', 'FEMALE', '2', 9, 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary` VALUES (24, 'FILE', '文件上传配置', '上传路径', 'UPLOAD_PATH', '/upload', 11, 1, 0, '', '2019-10-25 07:46:40', '2018-11-19 07:41:07');
INSERT INTO `dictionary` VALUES (25, 'OPERATION_TYPE', '操作类型', '访问页面', 'PAGE', '0', 12, 1, 0, '', '2018-12-27 03:18:00', '2018-12-17 12:13:32');
INSERT INTO `dictionary` VALUES (26, 'OPERATION_TYPE', '操作类型', '调用 API', 'API', '1', 12, 1, 0, '', '2018-12-27 03:18:08', '2018-12-17 12:14:42');
INSERT INTO `dictionary` VALUES (27, 'FILE', '文件上传配置', '附件类型', 'TYPE', '.jpg,.png,.zip', 11, 1, 0, '允许上传的文件类型', '2019-01-09 06:53:11', '2018-12-17 13:08:13');
INSERT INTO `dictionary` VALUES (28, 'FILE', '文件上传配置', '最大单文件上传大小', 'MAX_FILE_SIZE', '200MB', 11, 1, 0, '允许上传的最大文件大小', '2019-10-25 07:01:08', '2018-12-17 13:10:23');
INSERT INTO `dictionary` VALUES (29, 'SYSTEM', '系统配置', '语言', 'LANGUAGE', 'zh', 13, 0, 0, '', '2019-01-09 06:32:49', '2018-12-19 08:25:09');
INSERT INTO `dictionary` VALUES (30, 'SYSTEM', '系统配置', '国家/区域', 'COUNTY', 'CN', 13, 0, 0, '', '2019-01-09 06:32:55', '2018-12-19 08:27:08');
INSERT INTO `dictionary` VALUES (31, 'SYSTEM', '系统配置', '时区标识符', 'TIME_ZONE_ID', 'GMT+8', 13, 1, 0, '', '2019-01-09 06:32:59', '2018-12-19 08:30:44');
INSERT INTO `dictionary` VALUES (32, 'SYSTEM', '系统配置', '日期格式', 'DATE_FORMAT_PATTERN', 'yyyy-MM-dd HH:mm:ss', 13, 0, 0, '', '2019-01-09 06:33:04', '2018-12-19 08:32:46');
INSERT INTO `dictionary` VALUES (33, 'FILE', '文件上传配置', '最大请求上传大小', 'MAX_REQUEST_SIZE', '1000MB', 11, 1, 0, '', '2019-10-25 07:01:17', '2018-12-21 01:05:54');
INSERT INTO `dictionary` VALUES (34, 'VERIFY_CODE', '验证码', '过期时间(秒)', 'EXPIRATION', '60', 14, 1, 0, '', '2019-01-09 06:56:53', '2019-01-09 06:56:53');
INSERT INTO `dictionary` VALUES (35, 'VERIFY_CODE', '验证码', '噪点', 'YAWP', 'false', 14, 1, 0, '', '2019-01-09 06:57:56', '2019-01-09 06:57:43');
INSERT INTO `dictionary` VALUES (36, 'VERIFY_CODE', '验证码', '字符长度', 'STRING_LENGTH', '4', 14, 1, 0, '建议字典值设置为4', '2019-01-10 01:02:27', '2019-01-09 06:58:19');
INSERT INTO `dictionary` VALUES (37, 'VERIFY_CODE', '验证码', '干扰线条数', 'INTER_LINE', '0', 14, 1, 0, '建议字典值设置为4', '2019-01-10 01:02:56', '2019-01-09 06:59:09');
INSERT INTO `dictionary` VALUES (38, 'QUARTZ_TRIGGER_STATE', 'Quartz 任务状态', '等待中', 'WAITING', 'WAITING', 15, 1, 0, '', NULL, NULL);
INSERT INTO `dictionary` VALUES (39, 'QUARTZ_TRIGGER_STATE', 'Quartz 任务状态', '运行中', 'ACQUIRED', 'ACQUIRED', 15, 1, 0, '', NULL, NULL);
INSERT INTO `dictionary` VALUES (40, 'QUARTZ_TRIGGER_STATE', 'Quartz 任务状态', '已暂停', 'PAUSED', 'PAUSED', 15, 1, 0, '', '2019-09-24 03:25:28', NULL);
INSERT INTO `dictionary` VALUES (41, 'QUARTZ_TRIGGER_STATE', 'Quartz 任务状态', '已阻塞', 'BLOCKED', 'BLOCKED', 15, 1, 0, '', NULL, NULL);
INSERT INTO `dictionary` VALUES (42, 'QUARTZ_TRIGGER_STATE', 'Quartz 任务状态', '错误', 'ERROR', 'ERROR', 15, 1, 0, '', NULL, NULL);
INSERT INTO `dictionary` VALUES (43, 'VERIFY_CODE', '验证码', '背景色', 'HEX_BACKGROUND_COLOR', '#0064c8', 14, 1, 0, '', NULL, NULL);
INSERT INTO `dictionary` VALUES (44, 'VERIFY_CODE', '验证码', '字体色', 'FONT_COLOR', '#ffffff', 14, 1, 0, '', NULL, NULL);
INSERT INTO `dictionary` VALUES (45, 'WEB', '网站配置', '网站地址', 'URL', 'http://localhost:8080', 3, 1, 0, '', NULL, NULL);
INSERT INTO `dictionary` VALUES (46, 'VERIFY_CODE', '验证码', '字体路径', 'FONT_PATH', 'classpath:/fonts/Arial.ttf', 14, 1, 0, '', '2019-11-09 02:54:48', '2019-11-09 02:54:48');
-- ----------------------------
-- Table structure for dictionary_category
-- ----------------------------
DROP TABLE IF EXISTS `dictionary_category`;
CREATE TABLE `dictionary_category` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分类名称',
`parent_id` bigint(20) UNSIGNED NULL DEFAULT NULL COMMENT '父级分类 id',
`sort` bigint(20) NULL DEFAULT 0 COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据字典分类表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of dictionary_category
-- ----------------------------
INSERT INTO `dictionary_category` VALUES (1, '系统缺省字段', NULL, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary_category` VALUES (2, '通用缺省字段', NULL, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary_category` VALUES (3, '网站配置', 1, 0, '', '2019-09-26 12:47:14', '2018-07-08 15:29:33');
INSERT INTO `dictionary_category` VALUES (4, '电子邮箱配置', 1, 0, '', '2019-09-24 03:15:58', '2018-07-08 15:29:33');
INSERT INTO `dictionary_category` VALUES (5, '视图页面组件类型', 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary_category` VALUES (7, '信息状态', 1, 0, '', '2018-07-08 15:29:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary_category` VALUES (8, '是否', 2, 0, '', '2019-02-26 00:41:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary_category` VALUES (9, '性别', 2, 0, '', '2019-02-26 00:41:33', '2018-07-08 15:29:33');
INSERT INTO `dictionary_category` VALUES (11, '文件上传配置', 1, 0, '', '2018-11-19 07:39:44', '2018-11-19 07:39:44');
INSERT INTO `dictionary_category` VALUES (12, '操作类型', 1, 0, '', '2018-12-17 12:02:51', '2018-12-17 12:02:51');
INSERT INTO `dictionary_category` VALUES (13, '系统配置', 1, 0, '', '2018-12-19 08:23:57', '2018-12-19 08:23:57');
INSERT INTO `dictionary_category` VALUES (14, '验证码', 1, 0, '', '2019-01-04 08:23:15', '2019-01-04 08:23:15');
INSERT INTO `dictionary_category` VALUES (15, 'Quartz 任务状态', 1, 0, '', NULL, NULL);
-- ----------------------------
-- Table structure for file
-- ----------------------------
DROP TABLE IF EXISTS `file`;
CREATE TABLE `file` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`user_id` bigint(20) UNSIGNED NULL DEFAULT NULL COMMENT '用户 id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件名',
`guid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一标识符',
`size` bigint(20) NOT NULL COMMENT '文件大小',
`pretty_size` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件美化大小',
`mime_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'MIME 类型',
`path` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '文件路径',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文件表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for job_runtime_log
-- ----------------------------
DROP TABLE IF EXISTS `job_runtime_log`;
CREATE TABLE `job_runtime_log` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`job_class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '任务类名',
`job_group` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务分组',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '描述',
`fire_time` datetime(0) NULL DEFAULT NULL COMMENT 'fireTime',
`next_fire_time` datetime(0) NULL DEFAULT NULL COMMENT 'nextFireTime',
`consuming_time` bigint(20) NULL DEFAULT NULL COMMENT '任务运行耗时(毫秒)',
`log` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '日志',
`job_exception` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '任务异常信息',
`gmt_created` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Quartz 任务运行日志' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for mail
-- ----------------------------
DROP TABLE IF EXISTS `mail`;
CREATE TABLE `mail` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`status` tinyint(1) NOT NULL COMMENT '发信状态',
`from` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '发件人',
`to` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '收件人',
`subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '主题',
`text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容',
`html` tinyint(1) NULL DEFAULT 0 COMMENT '是否为 html,0=否,1=是',
`error` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '发信报错信息',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '电子邮件表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for operation_log
-- ----------------------------
DROP TABLE IF EXISTS `operation_log`;
CREATE TABLE `operation_log` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`user_id` bigint(20) NULL DEFAULT NULL COMMENT '访问用户 id',
`ip_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户 IP',
`operation_type` tinyint(1) NULL DEFAULT NULL COMMENT '操作类型',
`operation` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '操作说明',
`consuming_time` bigint(255) NULL DEFAULT 0 COMMENT '操作耗时(毫秒)',
`request_url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求地址',
`request_method` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '请求方法',
`request_parameter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求参数',
`accept_language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '请求语言',
`referer` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求来源',
`user_agent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户代理',
`handler` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'Handler',
`stack_trace` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '异常堆栈',
`session_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'Session ID',
`cookie` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'Cookie',
`status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '响应状态码',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for role
-- ----------------------------
DROP TABLE IF EXISTS `role`;
CREATE TABLE `role` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色名称',
`value` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色值',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_value`(`value`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1000 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of role
-- ----------------------------
INSERT INTO `role` VALUES (1, '普通用户', 'NORMAL_USER', '', '2018-06-27 21:22:40', '2018-06-27 21:22:40');
INSERT INTO `role` VALUES (2, '管理员', 'ADMIN', '', '2018-06-27 21:22:40', '2018-06-27 21:22:40');
INSERT INTO `role` VALUES (999, '系统管理员', 'SYSTEM_ADMIN', '', '2018-06-27 21:22:40', '2018-06-27 21:22:40');
-- ----------------------------
-- Table structure for role_authority
-- ----------------------------
DROP TABLE IF EXISTS `role_authority`;
CREATE TABLE `role_authority` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`role_id` bigint(20) UNSIGNED NOT NULL COMMENT '角色 id',
`authority` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限(authority)',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色关联权限表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for role_view_menu
-- ----------------------------
DROP TABLE IF EXISTS `role_view_menu`;
CREATE TABLE `role_view_menu` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`role_id` bigint(20) UNSIGNED NOT NULL COMMENT '角色 id',
`view_menu_id` bigint(20) UNSIGNED NOT NULL COMMENT '视图菜单 id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色关联视图菜单表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of role_view_menu
-- ----------------------------
INSERT INTO `role_view_menu` VALUES (2, 999, 2);
INSERT INTO `role_view_menu` VALUES (3, 999, 3);
INSERT INTO `role_view_menu` VALUES (4, 999, 4);
INSERT INTO `role_view_menu` VALUES (5, 999, 5);
INSERT INTO `role_view_menu` VALUES (6, 999, 6);
INSERT INTO `role_view_menu` VALUES (7, 999, 7);
INSERT INTO `role_view_menu` VALUES (8, 999, 8);
INSERT INTO `role_view_menu` VALUES (9, 999, 9);
INSERT INTO `role_view_menu` VALUES (10, 999, 10);
INSERT INTO `role_view_menu` VALUES (11, 999, 11);
INSERT INTO `role_view_menu` VALUES (12, 999, 12);
INSERT INTO `role_view_menu` VALUES (13, 999, 13);
INSERT INTO `role_view_menu` VALUES (14, 999, 14);
INSERT INTO `role_view_menu` VALUES (15, 999, 15);
INSERT INTO `role_view_menu` VALUES (16, 999, 16);
INSERT INTO `role_view_menu` VALUES (18, 999, 1);
-- ----------------------------
-- Table structure for role_view_menu_category
-- ----------------------------
DROP TABLE IF EXISTS `role_view_menu_category`;
CREATE TABLE `role_view_menu_category` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`role_id` bigint(20) UNSIGNED NOT NULL COMMENT '角色 id',
`view_menu_category_id` bigint(20) UNSIGNED NOT NULL COMMENT '视图菜单分类名称',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色关联视图菜单分类表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of role_view_menu_category
-- ----------------------------
INSERT INTO `role_view_menu_category` VALUES (1, 999, 1);
INSERT INTO `role_view_menu_category` VALUES (2, 999, 2);
INSERT INTO `role_view_menu_category` VALUES (3, 999, 3);
INSERT INTO `role_view_menu_category` VALUES (4, 999, 4);
INSERT INTO `role_view_menu_category` VALUES (5, 999, 5);
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`username` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '头像',
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电子邮箱',
`email_is_verified` tinyint(1) UNSIGNED NULL DEFAULT NULL COMMENT '电子邮箱是否验证(0=未验证,1=已验证,默认=0)',
`department_id` bigint(20) UNSIGNED NOT NULL COMMENT '部门 id',
`enabled` tinyint(1) UNSIGNED NULL DEFAULT NULL COMMENT '是否启用(0=否,1=是,默认=0)',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_password_last_modified` datetime(0) NULL DEFAULT NULL COMMENT '最后更改密码时间',
`gmt_last_login` datetime(0) NULL DEFAULT NULL COMMENT '最后登录时间',
`gmt_deleted` datetime(0) NULL DEFAULT NULL COMMENT '删除时间',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1000 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, 'normal_user', '$2a$10$IEK236NdbYiZzYVAHTl4qeIgPInJQwMqRh/c986PKwEN4/T1DbsSm', '', 'normal_user@outlook.com', 1, 1, 0, '测试备注', NULL, NULL, NULL, '2019-10-31 13:54:41', '2018-06-27 21:22:40');
INSERT INTO `user` VALUES (2, 'admin', '$2a$10$IEK236NdbYiZzYVAHTl4qeIgPInJQwMqRh/c986PKwEN4/T1DbsSm', '', 'admin@outlook.com', 1, 1, 1, '测试备注', NULL, NULL, NULL, '2019-11-05 02:29:23', '2018-06-27 21:22:40');
INSERT INTO `user` VALUES (999, 'system_admin', '$2a$10$IEK236NdbYiZzYVAHTl4qeIgPInJQwMqRh/c986PKwEN4/T1DbsSm', '', 'system_admin@outlook.com', 1, 1, 1, '测试备注', NULL, NULL, NULL, '2020-03-06 10:52:51', '2018-06-27 21:22:40');
-- ----------------------------
-- Table structure for user_role
-- ----------------------------
DROP TABLE IF EXISTS `user_role`;
CREATE TABLE `user_role` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`user_id` bigint(20) UNSIGNED NOT NULL COMMENT '用户 id',
`role_id` bigint(20) UNSIGNED NOT NULL COMMENT '角色 id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户关联角色表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of user_role
-- ----------------------------
INSERT INTO `user_role` VALUES (1, 999, 999);
INSERT INTO `user_role` VALUES (2, 1, 1);
INSERT INTO `user_role` VALUES (3, 2, 2);
INSERT INTO `user_role` VALUES (4, 2, 999);
-- ----------------------------
-- Table structure for user_verify_code
-- ----------------------------
DROP TABLE IF EXISTS `user_verify_code`;
CREATE TABLE `user_verify_code` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`user_id` bigint(20) UNSIGNED NOT NULL COMMENT '用户 id',
`verify_from` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户绑定的电子邮箱或手机号码',
`verify_code` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '电子邮箱或手机号码验证码',
`gmt_expires` datetime(0) NOT NULL COMMENT '过期时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_verify_code`(`verify_code`) USING BTREE,
INDEX `uk_user_id`(`user_id`) USING BTREE,
INDEX `uk_verify_from`(`verify_from`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户验证码表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for view_menu
-- ----------------------------
DROP TABLE IF EXISTS `view_menu`;
CREATE TABLE `view_menu` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '视图菜单名称',
`icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '图标(icon)',
`url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求地址(url)',
`view_menu_category_id` bigint(20) UNSIGNED NOT NULL COMMENT '视图菜单分类 id',
`sort` bigint(20) NULL DEFAULT 0 COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '视图菜单表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of view_menu
-- ----------------------------
INSERT INTO `view_menu` VALUES (1, 'API 管理', 'api', '/user/api/list', 3, 0, '', '2019-06-06 02:52:53', '2018-07-01 21:28:04');
INSERT INTO `view_menu` VALUES (2, '数据字典', 'book', '/system/dictionary/list', 2, 0, '', '2019-06-06 02:51:54', '2018-07-01 21:28:04');
INSERT INTO `view_menu` VALUES (3, '视图页面管理', 'desktop', '/user/view_page/list', 3, 0, '', '2019-06-06 02:50:52', '2018-07-01 21:28:04');
INSERT INTO `view_menu` VALUES (4, 'Druid Monitor', 'alibaba', '/druid/list', 2, 0, '', '2019-06-13 04:16:42', '2018-07-01 21:28:04');
INSERT INTO `view_menu` VALUES (5, '用户管理', 'user', '/user/list', 3, 0, '', '2018-07-01 21:28:04', '2018-07-01 21:28:04');
INSERT INTO `view_menu` VALUES (6, '角色管理', 'team', '/user/role/list', 3, 0, '', '2019-06-06 03:16:52', '2018-07-01 21:28:04');
INSERT INTO `view_menu` VALUES (7, '电子邮件管理', 'mail', '/mail/list', 2, 0, '', '2019-01-21 02:59:02', '2018-07-08 13:22:30');
INSERT INTO `view_menu` VALUES (8, '操作日志', 'exception', '/system/operation_log/list', 2, 0, '', '2019-08-07 12:30:57', '2018-08-06 16:47:15');
INSERT INTO `view_menu` VALUES (9, '文件管理', 'file', '/system/file/list', 2, 0, '', '2018-10-20 19:07:33', '2018-10-20 19:01:23');
INSERT INTO `view_menu` VALUES (10, '部门管理', 'cluster', '/user/department/list', 3, 0, '', '2018-12-20 02:43:28', '2018-12-20 02:43:28');
INSERT INTO `view_menu` VALUES (11, '视图菜单管理', 'bars', '/user/view_menu/list', 3, 0, '', '2019-06-13 04:21:31', '2019-06-13 11:37:14');
INSERT INTO `view_menu` VALUES (12, 'Quartz 任务管理', 'bars', '/quartz/job/list', 4, 0, '', '2019-06-17 06:31:23', '2019-06-17 06:28:37');
INSERT INTO `view_menu` VALUES (13, 'Quartz 任务日志', 'exception', '/quartz/job_runtime_log/list', 4, 0, '', NULL, NULL);
INSERT INTO `view_menu` VALUES (14, '工作台', 'dashboard', '/workbench', 1, 0, '', '2019-07-27 16:11:47', '2019-02-11 01:17:37');
-- ----------------------------
-- Table structure for view_menu_category
-- ----------------------------
DROP TABLE IF EXISTS `view_menu_category`;
CREATE TABLE `view_menu_category` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '视图菜单分类名称',
`icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '图标(icon)',
`parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父级视图菜单分类 id',
`sort` bigint(20) NULL DEFAULT 0 COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '视图菜单分类表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of view_menu_category
-- ----------------------------
INSERT INTO `view_menu_category` VALUES (1, '系统管理', 'iconfont icon-cog', NULL, 0, '', '2019-12-30 06:11:27', '2018-07-01 21:28:04');
INSERT INTO `view_menu_category` VALUES (2, '系统配置', 'fa fa-cog', 1, 0, '', '2019-06-13 04:16:55', '2018-07-01 21:28:04');
INSERT INTO `view_menu_category` VALUES (3, '用户配置', 'fa fa-user', 1, 0, '', '2019-06-13 07:22:32', '2018-07-01 21:28:04');
INSERT INTO `view_menu_category` VALUES (4, 'Quartz 任务', 'fa fa-bars', 2, 0, '', NULL, NULL);
INSERT INTO `view_menu_category` VALUES (5, '测试菜单', 'iconfont icon-cog', NULL, 0, '', '2019-12-30 06:11:41', '2019-12-17 10:38:53');
INSERT INTO `view_menu_category` VALUES (6, '系统管理系统管', 'iconfont icon-cog', NULL, 0, '', '2019-12-30 06:11:46', '2019-12-17 10:51:36');
INSERT INTO `view_menu_category` VALUES (7, '系统管理系统管2', 'iconfont icon-cog', NULL, 0, '', '2019-12-30 06:11:52', '2019-12-17 10:55:09');
INSERT INTO `view_menu_category` VALUES (8, '系统管理系统管3', 'iconfont icon-cog', NULL, 0, '', '2019-12-30 06:11:56', '2019-12-17 10:55:19');
INSERT INTO `view_menu_category` VALUES (9, '系统管理系统管4', 'iconfont icon-cog', NULL, 0, '', '2019-12-30 06:12:00', '2019-12-17 10:56:24');
INSERT INTO `view_menu_category` VALUES (10, '系统管理系统管5', 'iconfont icon-cog', NULL, 0, '', '2019-12-30 06:12:03', '2019-12-17 10:56:30');
INSERT INTO `view_menu_category` VALUES (11, '系统管理系统管6', 'iconfont icon-cog', NULL, 0, '', '2019-12-30 06:12:07', '2019-12-17 10:56:36');
-- ----------------------------
-- Table structure for view_page
-- ----------------------------
DROP TABLE IF EXISTS `view_page`;
CREATE TABLE `view_page` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '视图页面名称',
`url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求地址(url)',
`authority` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限(authority)',
`view_page_category_id` bigint(20) UNSIGNED NOT NULL COMMENT '视图页面分类 id',
`sort` bigint(20) NULL DEFAULT 0 COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_authority`(`authority`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '视图页面表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of view_page
-- ----------------------------
INSERT INTO `view_page` VALUES (1, 'API 管理', '/user/api/page_all', '/USER/API/PAGE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (2, '数据字典', '/system/dictionary/page_all', '/SYSTEM/DICTIONARY/PAGE_ALL', 2, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (3, '视图页面管理', '/user/view_page/page_all', '/USER/VIEW_PAGE/PAGE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (4, 'Druid Monitor', '/druid', '/DRUID', 2, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (5, '用户管理', '/user/page_all', '/USER/PAGE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (6, '角色管理', '/user/role/page_all', '/USER/ROLE/PAGE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (7, '电子邮件管理', '/mail/page_all', '/MAIL/PAGE_ALL', 2, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (8, '操作日志', '/system/operation_log/page_all', '/SYSTEM/OPERATION_LOG/PAGE_ALL', 2, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (9, '文件管理', '/system/file/page_all', '/SYSTEM/FILE/PAGE_ALL', 2, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (10, '部门管理', '/user/department/list_all', '/USER/DEPARTMENT/LIST_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (11, '视图菜单管理', '/user/view_menu/page_all', '/USER/VIEW_MENU/PAGE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (12, 'Quartz 任务管理', '/quartz/job/page_all', '/QUARTZ/JOB/PAGE_ALL', 4, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (13, 'Quartz 任务日志', '/quartz/job_runtime_log/page_all', '/QUARTZ/JOB_RUNTIME_LOG/PAGE_ALL', 4, 0, '', NULL, NULL);
INSERT INTO `view_page` VALUES (14, '工作台', '/workbench', '/WORKBENCH', 1, 0, '', NULL, NULL);
-- ----------------------------
-- Table structure for view_page_api
-- ----------------------------
DROP TABLE IF EXISTS `view_page_api`;
CREATE TABLE `view_page_api` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`view_page_id` bigint(20) UNSIGNED NOT NULL COMMENT '视图页面 id',
`api_id` bigint(20) UNSIGNED NOT NULL COMMENT 'API id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '视图页面关联 API 表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for view_page_category
-- ----------------------------
DROP TABLE IF EXISTS `view_page_category`;
CREATE TABLE `view_page_category` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '视图页面分类名称',
`parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父级视图页面分类 id',
`sort` bigint(20) NULL DEFAULT 0 COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '视图页面分类表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of view_page_category
-- ----------------------------
INSERT INTO `view_page_category` VALUES (1, '系统管理', NULL, 0, '', '2019-08-07 12:55:27', '2019-08-07 12:55:27');
INSERT INTO `view_page_category` VALUES (2, '系统配置', 1, 0, '', '2019-08-07 13:54:02', '2019-08-07 13:54:02');
INSERT INTO `view_page_category` VALUES (3, '用户配置', 1, 0, '', '2019-08-07 14:03:00', '2019-08-07 14:03:00');
INSERT INTO `view_page_category` VALUES (4, 'Quartz 任务', 2, 0, '', '2019-08-07 14:17:54', '2019-08-07 14:17:43');
-- ----------------------------
-- Table structure for view_page_component
-- ----------------------------
DROP TABLE IF EXISTS `view_page_component`;
CREATE TABLE `view_page_component` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`view_page_component_type` tinyint(2) NOT NULL COMMENT '视图页面组件类型 id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '视图页面组件名称',
`authority` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限(authority)',
`view_page_id` bigint(20) UNSIGNED NOT NULL COMMENT '视图页面 id',
`sort` bigint(20) NULL DEFAULT 0 COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
`gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_authority`(`authority`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 76 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '视图页面组件表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of view_page_component
-- ----------------------------
INSERT INTO `view_page_component` VALUES (1, 1, '新增发送邮件', '/COMPONENT/MAIL/SEND_ONE', 7, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (2, 1, '删除', '/COMPONENT/MAIL/DELETE_ALL', 7, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (3, 1, '删除', '/COMPONENT/MAIL/REFRESH', 7, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (4, 1, '新增', '/COMPONENT/QUARTZ/JOB/ADD_ONE', 12, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (5, 1, '编辑', '/COMPONENT/QUARTZ/JOB/EDIT_ONE', 12, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (6, 1, '删除', '/COMPONENT/QUARTZ/JOB/DELETE_ALL', 12, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (7, 1, '暂停', '/COMPONENT/QUARTZ/JOB/PAUSE_ALL', 12, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (8, 1, '恢复', '/COMPONENT/QUARTZ/JOB/RESUME_ALL', 12, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (9, 1, '刷新', '/COMPONENT/QUARTZ/JOB/REFRESH', 12, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (10, 1, '清空', '/COMPONENT/QUARTZ/JOB_RUNTIME_LOG/CLEAR_ALL', 13, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (11, 1, '新增', '/COMPONENT/SYSTEM/DICTIONARY/DICTIONARY_CATEGORY_ADD_ONE', 2, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (12, 1, '编辑', '/COMPONENT/SYSTEM/DICTIONARY/DICTIONARY_CATEGORY_EDIT_ONE', 2, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (13, 1, '删除', '/COMPONENT/SYSTEM/DICTIONARY/DICTIONARY_CATEGORY_DELETE_ALL', 2, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (14, 1, '新增', '/COMPONENT/SYSTEM/DICTIONARY/DICTIONARY_ADD_ONE', 2, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (15, 1, '编辑', '/COMPONENT/SYSTEM/DICTIONARY/DICTIONARY_EDIT_ONE', 2, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (16, 1, '删除', '/COMPONENT/SYSTEM/DICTIONARY/DICTIONARY_DELETE_ALL', 2, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (17, 1, '同步到内存', '/COMPONENT/SYSTEM/DICTIONARY/DICTIONARY_SYNC_TO_MEMORY', 2, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (18, 1, '单文件上传', '/COMPONENT/SYSTEM/FILE/UPLOAD_ONE', 9, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (19, 1, '编辑', '/COMPONENT/SYSTEM/FILE/EDIT_ONE', 9, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (20, 1, '删除', '/COMPONENT/SYSTEM/FILE/DELETE_ALL', 9, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (21, 1, '清空', '/COMPONENT/SYSTEM/OPERATION_LOG/CLEAR_ALL', 8, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (22, 1, '新增', '/COMPONENT/USER/ADD_ONE', 5, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (23, 1, '编辑', '/COMPONENT/USER/EDIT_ONE', 5, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (24, 1, '删除', '/COMPONENT/USER/FAKE_DELETE_ALL', 5, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (25, 1, '撤销删除', '/COMPONENT/USER/REVOKE_FAKE_DELETE_ALL', 5, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (26, 1, '永久删除', '/COMPONENT/USER/DELETE_ALL', 5, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (27, 1, '角色分配', '/COMPONENT/USER/USER_ROLE_PAGE_ALL', 5, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (28, 1, '新增', '/COMPONENT/USER/API/API_CATEGORY_ADD_ONE', 1, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (29, 1, '编辑', '/COMPONENT/USER/API/API_CATEGORY_EDIT_ONE', 1, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (30, 1, '删除', '/COMPONENT/USER/API/API_CATEGORY_DELETE_ALL', 1, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (31, 1, '新增', '/COMPONENT/USER/API/API_ADD_ONE', 1, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (32, 1, '编辑', '/COMPONENT/USER/API/API_EDIT_ONE', 1, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (33, 1, '删除', '/COMPONENT/USER/API/API_DELETE_ALL', 1, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (34, 1, '新增', '/COMPONENT/USER/DEPARTMENT/ADD_ONE', 10, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (35, 1, '编辑', '/COMPONENT/USER/DEPARTMENT/EDIT_ONE', 10, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (36, 1, '删除', '/COMPONENT/USER/DEPARTMENT/DELETE_ALL', 10, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (37, 1, '新增', '/COMPONENT/USER/ROLE/ADD_ONE', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (38, 1, '编辑', '/COMPONENT/USER/ROLE/EDIT_ONE', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (39, 1, '删除', '/COMPONENT/USER/ROLE/DELETE_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (40, 1, '视图菜单管理', '/COMPONENT/USER/ROLE/VIEW_MENU_PAGE_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (41, 1, '视图页面管理', '/COMPONENT/USER/ROLE/VIEW_PAGE_PAGE_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (42, 1, 'API 管理', '/COMPONENT/USER/ROLE/API_PAGE_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (43, 1, '授权', '/COMPONENT/USER/ROLE/API/API_GRANT_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (44, 1, '撤销授权', '/COMPONENT/USER/ROLE/API/API_REVOKE_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (45, 1, '授权', '/COMPONENT/USER/ROLE/VIEW_MENU/VIEW_MENU_CATEGORY_GRANT_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (46, 1, '撤销授权', '/COMPONENT/USER/ROLE/VIEW_MENU/VIEW_MENU_CATEGORY_REVOKE_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (47, 1, '授权', '/COMPONENT/USER/ROLE/VIEW_MENU/VIEW_MENU_GRANT_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (48, 1, '撤销授权', '/COMPONENT/USER/ROLE/VIEW_MENU/VIEW_MENU_REVOKE_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (49, 1, '授权', '/COMPONENT/USER/ROLE/VIEW_PAGE/VIEW_PAGE_GRANT_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (50, 1, '撤销授权', '/COMPONENT/USER/ROLE/VIEW_PAGE/VIEW_PAGE_REVOKE_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (51, 1, '授权', '/COMPONENT/USER/ROLE/VIEW_PAGE/VIEW_PAGE_COMPONENT_GRANT_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (52, 1, '撤销授权', '/COMPONENT/USER/ROLE/VIEW_PAGE/VIEW_PAGE_COMPONENT_REVOKE_ALL', 6, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (53, 1, '授权', '/COMPONENT/USER/USER_ROLE/GRANT_ALL', 5, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (54, 1, '撤销授权', '/COMPONENT/USER/USER_ROLE/REVOKE_ALL', 5, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (55, 1, '新增', '/COMPONENT/USER/VIEW_MENU/VIEW_MENU_CATEGORY_ADD_ONE', 11, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (56, 1, '编辑', '/COMPONENT/USER/VIEW_MENU/VIEW_MENU_CATEGORY_EDIT_ONE', 11, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (57, 1, '删除', '/COMPONENT/USER/VIEW_MENU/VIEW_MENU_CATEGORY_DELETE_ALL', 11, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (58, 1, '新增', '/COMPONENT/USER/VIEW_MENU/VIEW_MENU_ADD_ONE', 11, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (59, 1, '编辑', '/COMPONENT/USER/VIEW_MENU/VIEW_MENU_EDIT_ONE', 11, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (60, 1, '删除', '/COMPONENT/USER/VIEW_MENU/VIEW_MENU_DELETE_ALL', 11, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (61, 1, '新增', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_CATEGORY_ADD_ONE', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (62, 1, '编辑', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_CATEGORY_EDIT_ONE', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (63, 1, '删除', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_CATEGORY_DELETE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (64, 1, '新增', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_ADD_ONE', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (65, 1, '编辑', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_EDIT_ONE', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (66, 1, '删除', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_DELETE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (67, 1, '关联 API', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_API_PAGE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (68, 1, '新增', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_COMPONENT_ADD_ONE', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (69, 1, '编辑', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_COMPONENT_EDIT_ONE', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (70, 1, '删除', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_COMPONENT_DELETE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (71, 1, '关联 API', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_COMPONENT_API_PAGE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (72, 1, '关联', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_API/ASSOCIATE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (73, 1, '撤销关联', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_API/REVOKE_ASSOCIATE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (74, 1, '关联', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_COMPONENT_API/ASSOCIATE_ALL', 3, 0, '', NULL, NULL);
INSERT INTO `view_page_component` VALUES (75, 1, '撤销关联', '/COMPONENT/USER/VIEW_PAGE/VIEW_PAGE_COMPONENT_API/REVOKE_ASSOCIATE_ALL', 3, 0, '', NULL, NULL);
-- ----------------------------
-- Table structure for view_page_component_api
-- ----------------------------
DROP TABLE IF EXISTS `view_page_component_api`;
CREATE TABLE `view_page_component_api` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`view_page_component_id` bigint(20) UNSIGNED NOT NULL COMMENT '视图页面组件 id',
`api_id` bigint(20) UNSIGNED NOT NULL COMMENT 'API id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '视图页面组件关联 API 表' ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
================================================
FILE: db/mysql/nimrod/table/api_category_table.sql
================================================
-- API 分类表
DROP TABLE IF EXISTS `api_category`;
CREATE TABLE `api_category` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) NOT NULL COMMENT '分类名称',
`parent_id` bigint(20) DEFAULT NULL COMMENT '父级分类 id',
`sort` bigint(20) unsigned DEFAULT 0 COMMENT '排序',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id`(`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = 'API 分类表';
================================================
FILE: db/mysql/nimrod/table/api_table.sql
================================================
-- API 表
-- ----------------------------
-- Table structure for api
-- ----------------------------
DROP TABLE IF EXISTS `api`;
CREATE TABLE `api` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) NOT NULL COMMENT 'API 名称',
`url` text COMMENT '请求地址(url)',
`authority` varchar(255) NOT NULL COMMENT '权限(authority)',
`api_category_id` bigint(20) unsigned NOT NULL COMMENT 'API 分类 id',
`sort` bigint(20) unsigned DEFAULT 0 COMMENT '排序',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_authority`(`authority`) USING BTREE
) ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = 'API 表';
================================================
FILE: db/mysql/nimrod/table/attachment_table.sql
================================================
-- 附件表
DROP TABLE
IF EXISTS `attachment`;
CREATE TABLE `attachment` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) NOT NULL COMMENT '文件名',
`guid` varchar(255) DEFAULT '' COMMENT '唯一标识符',
`size` bigint(20) unsigned DEFAULT 0 COMMENT '文件大小',
`pretty_size` varchar(255) NOT NULL COMMENT '文件美化大小',
`mime_type` varchar(255) DEFAULT '' COMMENT 'MIME 类型',
`path` text COMMENT '文件路径',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id`(`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '附件表';
================================================
FILE: db/mysql/nimrod/table/department_table.sql
================================================
-- 部门表
DROP TABLE
IF EXISTS `department`;
CREATE TABLE `department` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) NOT NULL COMMENT '部门名称',
`parent_id` bigint(20) DEFAULT NULL COMMENT '父级部门 id',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id` (`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '部门表';
================================================
FILE: db/mysql/nimrod/table/dictionary_category_table.sql
================================================
-- 数据字典分类表
DROP TABLE
IF EXISTS `dictionary_category`;
CREATE TABLE `dictionary_category` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) NOT NULL COMMENT '分类名称',
`parent_id` bigint(20) unsigned DEFAULT NULL COMMENT '父级分类 id',
`sort` bigint(20) DEFAULT 0 COMMENT '排序',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '数据字典分类表';
================================================
FILE: db/mysql/nimrod/table/dictionary_table.sql
================================================
-- 数据字典表
DROP TABLE
IF EXISTS `dictionary`;
CREATE TABLE `dictionary` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`key_name` varchar(255) NOT NULL COMMENT '字典键名',
`key` varchar(255) NOT NULL COMMENT '字典键',
`value_name` varchar(255) NOT NULL COMMENT '字典值名',
`value_slug` varchar(255) NOT NULL COMMENT '字典值别名',
`value` text COMMENT '字典值',
`enabled` tinyint(1) unsigned NOT NULL COMMENT '是否启用(0=否,1=是,默认=0)',
`dictionary_category_id` bigint(20) unsigned NOT NULL COMMENT '字典分类 id',
`sort` bigint(20) unsigned DEFAULT 0 COMMENT '排序',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT NULL COMMENT '更新时间',
`gmt_created` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '数据字典表';
================================================
FILE: db/mysql/nimrod/table/job_runtime_log_table.sql
================================================
-- Quartz 定时任务运行日志
DROP TABLE IF EXISTS `job_runtime_log`;
CREATE TABLE `job_runtime_log` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`job_class_name` varchar(255) DEFAULT '' COMMENT '任务类名',
`job_group` varchar(255) NOT NULL COMMENT '任务分组',
`description` varchar(255) DEFAULT '' COMMENT '描述',
`fire_time` datetime COMMENT 'fireTime',
`next_fire_time` datetime COMMENT 'nextFireTime',
`job_run_time` bigint(20) COMMENT '任务运行耗时',
`log` varchar(255) DEFAULT '' COMMENT '日志',
`job_exception` varchar(255) DEFAULT '' COMMENT '任务异常信息',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id`(`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = 'Quartz 定时任务运行日志';
================================================
FILE: db/mysql/nimrod/table/mail_attachment_table.sql
================================================
-- 电子邮件文件表
DROP TABLE
IF EXISTS `mail_attachment`;
CREATE TABLE `mail_attachment` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`mail_id` bigint(20) NOT NULL COMMENT '电子邮件 id',
`attachment_id` bigint(20) NOT NULL COMMENT '文件 id',
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '电子邮件附件表';
================================================
FILE: db/mysql/nimrod/table/mail_table.sql
================================================
-- 电子邮件表
DROP TABLE IF EXISTS `mail`;
CREATE TABLE `mail` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`status` tinyint(1) NOT NULL COMMENT '发信状态',
`from` varchar(255) DEFAULT '' COMMENT '发件人',
`to` varchar(255) NOT NULL COMMENT '收件人',
`subject` varchar(255) DEFAULT '' COMMENT '主题',
`text` text COMMENT '内容',
`html` tinyint(1) DEFAULT 0 COMMENT '是否为 html,0=否,1=是',
`error` text COMMENT '发信报错信息',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id`(`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '电子邮件表';
================================================
FILE: db/mysql/nimrod/table/operation_log_table.sql
================================================
-- 系统请求日志表
DROP TABLE
IF EXISTS `operation_log`;
CREATE TABLE `operation_log` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`user_id` bigint(20) DEFAULT NULL COMMENT '访问用户 id',
`ip_address` varchar(255) DEFAULT '' COMMENT '用户 IP',
`operation_type` tinyint(1) DEFAULT NULL COMMENT '操作类型',
`operation` text COMMENT '操作说明',
`request_time` bigint(255) DEFAULT 0 COMMENT '请求耗时(毫秒)',
`request_url` text COMMENT '请求地址',
`request_method` varchar(50) DEFAULT '' COMMENT '请求方法',
`request_parameter` text COMMENT '请求参数',
`accept_language` varchar(255) DEFAULT '' COMMENT '请求语言',
`referer` text COMMENT '请求来源',
`user_agent` varchar(255) DEFAULT '' COMMENT '用户代理',
`handler` text COMMENT 'Handler',
`session_id` varchar(255) DEFAULT '' COMMENT 'Session ID',
`cookie` text COMMENT 'Cookie',
`content_type` varchar(255) DEFAULT '' COMMENT '响应文本类型',
`status` varchar(255) DEFAULT '' COMMENT '响应状态码',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id`(`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '系统操作日志表';
================================================
FILE: db/mysql/nimrod/table/role_authority_table.sql
================================================
-- 角色关联权限表
DROP TABLE
IF EXISTS `role_authority`;
CREATE TABLE `role_authority` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`role_id` bigint(20) unsigned NOT NULL COMMENT '角色 id',
`authority` varchar(255) NOT NULL COMMENT '权限(authority)',
PRIMARY KEY `pk_id` (`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '角色关联权限表';
================================================
FILE: db/mysql/nimrod/table/role_table.sql
================================================
-- 角色表
DROP TABLE
IF EXISTS `role`;
CREATE TABLE `role` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) NOT NULL COMMENT '角色名称',
`value` varchar(255) NOT NULL COMMENT '角色值',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id`(`id`),
UNIQUE KEY `uk_value` (`value`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '角色表';
================================================
FILE: db/mysql/nimrod/table/user_password_reset_table.sql
================================================
-- 用户密码重置表
DROP TABLE
IF EXISTS `user_password_reset`;
CREATE TABLE `user_password_reset` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户 id',
`verify_from` varchar(255) NOT NULL COMMENT '用户绑定的电子邮箱或手机号码',
`verify_code` varchar(255) NOT NULL COMMENT '电子邮箱或手机号码验证码',
`gmt_expires` datetime NOT NULL COMMENT '过期时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_id` (`user_id`),
UNIQUE KEY `uk_verify_from` (`verify_from`),
UNIQUE KEY `uk_verify_code` (`verify_code`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '用户密码重置表';
================================================
FILE: db/mysql/nimrod/table/user_role_table.sql
================================================
-- 用户关联角色表
DROP TABLE
IF EXISTS `user_role`;
CREATE TABLE `user_role` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户 id',
`role_id` bigint(20) unsigned NOT NULL COMMENT '角色 id',
PRIMARY KEY `pk_id` (`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '用户关联角色表';
================================================
FILE: db/mysql/nimrod/table/user_table.sql
================================================
-- 用户表
DROP TABLE
IF EXISTS `user`;
-- 123456
-- $2a$10$tYdoCZPLiG2bMX9Cn09JCOV.g0BZeblQ39Rq0HL.jJy5OtCnUMOmC
CREATE TABLE `user` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`password` varchar(255) NOT NULL COMMENT '用户密码',
`username` varchar(255) NOT NULL COMMENT '用户名',
`email` varchar(255) DEFAULT '' COMMENT '电子邮箱',
`email_is_verified` tinyint(1) unsigned COMMENT '电子邮箱是否验证通过(0=未验证,1=已验证)',
`department_id` bigint(20) unsigned NOT NULL COMMENT '部门 id',
`enabled` tinyint(20) unsigned NULL COMMENT '是否启用(0=否,1=是,默认=0)',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_deleted` datetime DEFAULT NULL COMMENT '删除时间',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id` (`id`),
UNIQUE KEY `uk_username` (`username`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '用户表';
================================================
FILE: db/mysql/nimrod/table/view_menu_category_table.sql
================================================
-- 视图菜单分类表
DROP TABLE
IF EXISTS `view_menu_category`;
CREATE TABLE `view_menu_category` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) NOT NULL COMMENT '分类名称',
`icon` varchar(255) DEFAULT '' COMMENT '图标(icon)',
`parent_id` bigint(20) DEFAULT NULL COMMENT '父级分类 id',
`role_id` bigint(20) unsigned NOT NULL COMMENT '角色 id',
`sort` bigint(20) DEFAULT 0 COMMENT '排序',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id`(`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '视图菜单分类表';
================================================
FILE: db/mysql/nimrod/table/view_menu_table.sql
================================================
-- 视图菜单表
DROP TABLE
IF EXISTS `view_menu`;
CREATE TABLE `view_menu` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) NOT NULL COMMENT '菜单名称',
`icon` varchar(255) DEFAULT '' COMMENT '图标(icon)',
`url` text COMMENT '请求地址(url)',
`menu_category_id` bigint(20) unsigned NOT NULL COMMENT '菜单分类 id',
`role_id` bigint(20) unsigned NOT NULL COMMENT '角色 id',
`sort` bigint(20) DEFAULT 0 COMMENT '排序',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id`(`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '视图菜单表';
================================================
FILE: db/mysql/nimrod/table/view_page_api_table.sql
================================================
-- 视图页面关联 API 表
DROP TABLE
IF EXISTS `view_page_api`;
CREATE TABLE `view_page_api` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`page_id` bigint(20) unsigned NOT NULL COMMENT '视图页面 id',
`api_id` bigint(20) unsigned NOT NULL COMMENT 'API id',
PRIMARY KEY `pk_id`(`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '视图页面关联 API 表';
================================================
FILE: db/mysql/nimrod/table/view_page_category_table.sql
================================================
-- 视图页面分类表
DROP TABLE
IF EXISTS `view_page_category`;
CREATE TABLE `view_page_category` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) NOT NULL COMMENT '分类名称',
`parent_id` bigint(20) DEFAULT NULL COMMENT '父级分类 id',
`sort` bigint(20) DEFAULT 0 COMMENT '排序',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id`(`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '视图页面分类表';
================================================
FILE: db/mysql/nimrod/table/view_page_component_api_table.sql
================================================
-- 视图页面组件关联 API 表
DROP TABLE
IF EXISTS `view_page_component_api`;
CREATE TABLE `view_page_component_api` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`page_component_id` bigint(20) unsigned NOT NULL COMMENT '视图页面组件 id',
`api_id` bigint(20) unsigned NOT NULL COMMENT 'API id',
PRIMARY KEY `pk_id`(`id`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '视图页面组件关联 API 表';
================================================
FILE: db/mysql/nimrod/table/view_page_component_table.sql
================================================
-- 视图页面组件表
DROP TABLE
IF EXISTS `view_page_component`;
CREATE TABLE `view_page_component` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`page_component_type` tinyint(2) NOT NULL COMMENT '组件类型 id',
`name` varchar(255) NOT NULL COMMENT '组件名称',
`authority` varchar(255) NOT NULL COMMENT '权限(authority)',
`page_id` bigint(20) unsigned NOT NULL COMMENT '视图页面 id',
`sort` bigint(20) DEFAULT 0 COMMENT '排序',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id`(`id`),
UNIQUE KEY `uk_authority` (`authority`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '视图页面组件表';
================================================
FILE: db/mysql/nimrod/table/view_page_table.sql
================================================
-- 视图页面表
DROP TABLE
IF EXISTS `view_page`;
CREATE TABLE `view_page` (
`id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) NOT NULL COMMENT '页面名称',
`url` text COMMENT '请求地址(url)',
`authority` varchar(255) NOT NULL COMMENT '权限(authority)',
`page_category_id` bigint(20) unsigned NOT NULL COMMENT '页面分类 id',
`sort` bigint(20) DEFAULT 0 COMMENT '排序',
`remark` varchar(255) DEFAULT '' COMMENT '备注',
`gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`gmt_created` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY `pk_id`(`id`),
UNIQUE KEY `uk_authority` (`authority`)
)
ENGINE = INNODB
DEFAULT CHARACTER
SET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = '视图页面表';
================================================
FILE: db/mysql/nimrod/util.sql
================================================
-- 修改MySQL时区
set global time_zone = '+08:00'; -- 修改mysql全局时区为北京时间,即我们所在的东8区
set time_zone = '+08:00'; -- 修改当前会话时区
flush privileges; -- 立即生效
================================================
FILE: db/mysql/quartz/tables_mysql_innodb.sql
================================================
#
# In your Quartz properties file, you'll need to set
# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
#
#
# By: Ron Cordell - roncordell
# I didn't see this anywhere, so I thought I'd post it here. This is the script from Quartz to create the tables in a MySQL database, modified to use INNODB instead of MYISAM.
DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS;
DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS;
DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE;
DROP TABLE IF EXISTS QRTZ_LOCKS;
DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS;
DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS;
DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS;
DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS;
DROP TABLE IF EXISTS QRTZ_TRIGGERS;
DROP TABLE IF EXISTS QRTZ_JOB_DETAILS;
DROP TABLE IF EXISTS QRTZ_CALENDARS;
CREATE TABLE QRTZ_JOB_DETAILS(
SCHED_NAME VARCHAR(120) NOT NULL,
JOB_NAME VARCHAR(190) NOT NULL,
JOB_GROUP VARCHAR(190) NOT NULL,
DESCRIPTION VARCHAR(250) NULL,
JOB_CLASS_NAME VARCHAR(250) NOT NULL,
IS_DURABLE VARCHAR(1) NOT NULL,
IS_NONCONCURRENT VARCHAR(1) NOT NULL,
IS_UPDATE_DATA VARCHAR(1) NOT NULL,
REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
JOB_DATA BLOB NULL,
PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP))
ENGINE=InnoDB;
CREATE TABLE QRTZ_TRIGGERS (
SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(190) NOT NULL,
TRIGGER_GROUP VARCHAR(190) NOT NULL,
JOB_NAME VARCHAR(190) NOT NULL,
JOB_GROUP VARCHAR(190) NOT NULL,
DESCRIPTION VARCHAR(250) NULL,
NEXT_FIRE_TIME BIGINT(13) NULL,
PREV_FIRE_TIME BIGINT(13) NULL,
PRIORITY INTEGER NULL,
TRIGGER_STATE VARCHAR(16) NOT NULL,
TRIGGER_TYPE VARCHAR(8) NOT NULL,
START_TIME BIGINT(13) NOT NULL,
END_TIME BIGINT(13) NULL,
CALENDAR_NAME VARCHAR(190) NULL,
MISFIRE_INSTR SMALLINT(2) NULL,
JOB_DATA BLOB NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP))
ENGINE=InnoDB;
CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(190) NOT NULL,
TRIGGER_GROUP VARCHAR(190) NOT NULL,
REPEAT_COUNT BIGINT(7) NOT NULL,
REPEAT_INTERVAL BIGINT(12) NOT NULL,
TIMES_TRIGGERED BIGINT(10) NOT NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
ENGINE=InnoDB;
CREATE TABLE QRTZ_CRON_TRIGGERS (
SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(190) NOT NULL,
TRIGGER_GROUP VARCHAR(190) NOT NULL,
CRON_EXPRESSION VARCHAR(120) NOT NULL,
TIME_ZONE_ID VARCHAR(80),
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
ENGINE=InnoDB;
CREATE TABLE QRTZ_SIMPROP_TRIGGERS
(
SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(190) NOT NULL,
TRIGGER_GROUP VARCHAR(190) NOT NULL,
STR_PROP_1 VARCHAR(512) NULL,
STR_PROP_2 VARCHAR(512) NULL,
STR_PROP_3 VARCHAR(512) NULL,
INT_PROP_1 INT NULL,
INT_PROP_2 INT NULL,
LONG_PROP_1 BIGINT NULL,
LONG_PROP_2 BIGINT NULL,
DEC_PROP_1 NUMERIC(13,4) NULL,
DEC_PROP_2 NUMERIC(13,4) NULL,
BOOL_PROP_1 VARCHAR(1) NULL,
BOOL_PROP_2 VARCHAR(1) NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
ENGINE=InnoDB;
CREATE TABLE QRTZ_BLOB_TRIGGERS (
SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(190) NOT NULL,
TRIGGER_GROUP VARCHAR(190) NOT NULL,
BLOB_DATA BLOB NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP),
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
ENGINE=InnoDB;
CREATE TABLE QRTZ_CALENDARS (
SCHED_NAME VARCHAR(120) NOT NULL,
CALENDAR_NAME VARCHAR(190) NOT NULL,
CALENDAR BLOB NOT NULL,
PRIMARY KEY (SCHED_NAME,CALENDAR_NAME))
ENGINE=InnoDB;
CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS (
SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_GROUP VARCHAR(190) NOT NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP))
ENGINE=InnoDB;
CREATE TABLE QRTZ_FIRED_TRIGGERS (
SCHED_NAME VARCHAR(120) NOT NULL,
ENTRY_ID VARCHAR(95) NOT NULL,
TRIGGER_NAME VARCHAR(190) NOT NULL,
TRIGGER_GROUP VARCHAR(190) NOT NULL,
INSTANCE_NAME VARCHAR(190) NOT NULL,
FIRED_TIME BIGINT(13) NOT NULL,
SCHED_TIME BIGINT(13) NOT NULL,
PRIORITY INTEGER NOT NULL,
STATE VARCHAR(16) NOT NULL,
JOB_NAME VARCHAR(190) NULL,
JOB_GROUP VARCHAR(190) NULL,
IS_NONCONCURRENT VARCHAR(1) NULL,
REQUESTS_RECOVERY VARCHAR(1) NULL,
PRIMARY KEY (SCHED_NAME,ENTRY_ID))
ENGINE=InnoDB;
CREATE TABLE QRTZ_SCHEDULER_STATE (
SCHED_NAME VARCHAR(120) NOT NULL,
INSTANCE_NAME VARCHAR(190) NOT NULL,
LAST_CHECKIN_TIME BIGINT(13) NOT NULL,
CHECKIN_INTERVAL BIGINT(13) NOT NULL,
PRIMARY KEY (SCHED_NAME,INSTANCE_NAME))
ENGINE=InnoDB;
CREATE TABLE QRTZ_LOCKS (
SCHED_NAME VARCHAR(120) NOT NULL,
LOCK_NAME VARCHAR(40) NOT NULL,
PRIMARY KEY (SCHED_NAME,LOCK_NAME))
ENGINE=InnoDB;
CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY);
CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP);
CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP);
CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME);
CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME);
CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME);
CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP);
CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
commit;
================================================
FILE: db/oracle/install_oracle_11g_r2.sh
================================================
#!/usr/bin/env bash
# CentOS 7 自动化安装 oracle 11g r2
# 安装一些必要的软件
# wget 下载用的
# unzip 解压oracle安装文件
# net-tools 查看本机网络情况 比如netstat
yum install wget unzip net-tools -y
# 使用oracle提供的环境配置工具
# 这个工具会调整内核参数,建立一些必要的linux用户&组
# 可能网络不好会安装不成功,多install一下
wget http://public-yum.oracle.com/public-yum-ol7.repo -O /etc/yum.repos.d/public-yum-ol7.repo
wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
yum install oracle-rdbms-server-11gR2-preinstall -y
# 完成后备份一下这个目录的文件到其他目录
# 这个文件夹是修改系统后日志和原本的内核配置备份
# /var/log/oracle-rdbms-server-11gR2-preinstall
# 加载内核参数 和sysctl -p一样
sysctl -f
# 创建一些目录和配置
# 配置oracle系统配置文件&授权
cat >> /etc/oraInst.loc <<EOF
inventory_loc=/home/oracle/ora11g/oraInventory
inst_group=oinstall
EOF
chmod 664 /etc/oraInst.loc
# 创建oracle安装的目录&授权
mkdir -p /u01/app/
mkdir /u01/tmp
chown -R oracle:oinstall /u01/app/
chmod -R 775 /u01/app/
chmod a+wr /u01/tmp
# 设置oracle用户密码 oracle是安装工具自己创建的,参考我之前讲的
passwd oracle
# 为oracle用户添加一些必要的环境
cat >> /home/oracle/.bash_profile <<EOF
TMP=/u01/tmp
TMPDIR=/u01/tmp
export TMP TMPDIR
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_SID ORACLE_HOME PATH
EOF
# 生效
source .bash_profile
# linux.x64_11gR2_database_2of2.zip
# linux.x64_11gR2_database_1of2.zip 上传至/home/oracle/
# 解压 解压后文件会在/home/oracle/database/
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
# 由于某些原因文件权限问题 运行这个命令(选)
chown -R oracle:oinstall /home/oracle/database
# 备份到/home/oracle/rsp/
cp -r /home/oracle/database/response /home/oracle/rsp
# 配置安装响应文件db_install.rsp文件 这里配置参数先下载到本地 用记事本根据自己情况修改 在上传过去
# 我的/home/oracle/rsp/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
# INSTALL_DB_AND_CONFIG安装并自动配置数据库实例和监听 建议首次安装用这个
# 不然配置另外两个文件,新建实例和监听
oracle.install.option=INSTALL_DB_AND_CONFIG
ORACLE_HOSTNAME=localhost
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/ora11g/oraInventory
SELECTED_LANGUAGES=zh_CN,en
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
# 这个是服务名
oracle.install.db.config.starterdb.globalDBName=orcl.lan
# 实例sid
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
# 最小256M 我是学习就选择最小了
oracle.install.db.config.starterdb.memoryLimit=256
# 是否安装学习的scott和hr(我就知道这两个)
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
# 密码全设置成oracle (安装时会提示,个人学习忽略)
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata
# true
DECLINE_SECURITY_UPDATES=true
# 修改完成保存|上传到/home/oracle/rsp
# 安装
# 会出现密码不规范的警告,忽略
/home/oracle/database/runInstaller -silent -ignorePrereq -responseFile /home/oracle/rsp/db_install.rsp
# 查看安装过程 另开一个shell 稍等
tail -f /home/oracle/ora11g/oraInventory/logs/installActions2017-09-24_12-26-49PM.log
# sqlplus 登录
sqlplus / as sysdba
# 查看状态
select status from v$instance;
# 查看1521端口
netstat -an|grep 1521
# 防火墙 放行1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
# 重新加载防火墙规则
firewall-cmd --reload
# 修改oracle服务启动配置
vi /etc/oratab
# orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y
# :wq保存
[oracle]
# 启动oracle
# 因为修改了/etc/oratab N->y 所以启动服务也会同时启动实例
# N的情况不会同时启动实例 sqlplus登录会提示 an idle instance
# 用sqlplus 然后---> startup启动实例
# 重启系统后用这个命令启动
dbstart $ORACLE_HOME
# 关闭
dbshut $ORACLE_HOME
# 远程连接oracle
sqlplus sys/oracle@192.168.100.131:1521/ORCL.LAN as sysdba
conn sys/oracle@192.168.100.131:1521/ORCL.LAN as sysdba
ORCL.LAN是服务名 不是sid
================================================
FILE: db/oracle/quartz/tables_oracle.sql
================================================
--
-- A hint submitted by a user: Oracle DB MUST be created as "shared" and the
-- job_queue_processes parameter must be greater than 2
-- However, these settings are pretty much standard after any
-- Oracle install, so most users need not worry about this.
--
-- Many other users (including the primary author of Quartz) have had success
-- runing in dedicated mode, so only consider the above as a hint ;-)
--
delete from qrtz_fired_triggers;
delete from qrtz_simple_triggers;
delete from qrtz_simprop_triggers;
delete from qrtz_cron_triggers;
delete from qrtz_blob_triggers;
delete from qrtz_triggers;
delete from qrtz_job_details;
delete from qrtz_calendars;
delete from qrtz_paused_trigger_grps;
delete from qrtz_locks;
delete from qrtz_scheduler_state;
drop table qrtz_calendars;
drop table qrtz_fired_triggers;
drop table qrtz_blob_triggers;
drop table qrtz_cron_triggers;
drop table qrtz_simple_triggers;
drop table qrtz_simprop_triggers;
drop table qrtz_triggers;
drop table qrtz_job_details;
drop table qrtz_paused_trigger_grps;
drop table qrtz_locks;
drop table qrtz_scheduler_state;
CREATE TABLE qrtz_job_details
(
SCHED_NAME VARCHAR2(120) NOT NULL,
JOB_NAME VARCHAR2(200) NOT NULL,
JOB_GROUP VARCHAR2(200) NOT NULL,
DESCRIPTION VARCHAR2(250) NULL,
JOB_CLASS_NAME VARCHAR2(250) NOT NULL,
IS_DURABLE VARCHAR2(1) NOT NULL,
IS_NONCONCURRENT VARCHAR2(1) NOT NULL,
IS_UPDATE_DATA VARCHAR2(1) NOT NULL,
REQUESTS_RECOVERY VARCHAR2(1) NOT NULL,
JOB_DATA BLOB NULL,
CONSTRAINT QRTZ_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
);
CREATE TABLE qrtz_triggers
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
JOB_NAME VARCHAR2(200) NOT NULL,
JOB_GROUP VARCHAR2(200) NOT NULL,
DESCRIPTION VARCHAR2(250) NULL,
NEXT_FIRE_TIME NUMBER(13) NULL,
PREV_FIRE_TIME NUMBER(13) NULL,
PRIORITY NUMBER(13) NULL,
TRIGGER_STATE VARCHAR2(16) NOT NULL,
TRIGGER_TYPE VARCHAR2(8) NOT NULL,
START_TIME NUMBER(13) NOT NULL,
END_TIME NUMBER(13) NULL,
CALENDAR_NAME VARCHAR2(200) NULL,
MISFIRE_INSTR NUMBER(2) NULL,
JOB_DATA BLOB NULL,
CONSTRAINT QRTZ_TRIGGERS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT QRTZ_TRIGGER_TO_JOBS_FK FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
);
CREATE TABLE qrtz_simple_triggers
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
REPEAT_COUNT NUMBER(7) NOT NULL,
REPEAT_INTERVAL NUMBER(12) NOT NULL,
TIMES_TRIGGERED NUMBER(10) NOT NULL,
CONSTRAINT QRTZ_SIMPLE_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT QRTZ_SIMPLE_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
);
CREATE TABLE qrtz_cron_triggers
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
CRON_EXPRESSION VARCHAR2(120) NOT NULL,
TIME_ZONE_ID VARCHAR2(80),
CONSTRAINT QRTZ_CRON_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT QRTZ_CRON_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
);
CREATE TABLE qrtz_simprop_triggers
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
STR_PROP_1 VARCHAR2(512) NULL,
STR_PROP_2 VARCHAR2(512) NULL,
STR_PROP_3 VARCHAR2(512) NULL,
INT_PROP_1 NUMBER(10) NULL,
INT_PROP_2 NUMBER(10) NULL,
LONG_PROP_1 NUMBER(13) NULL,
LONG_PROP_2 NUMBER(13) NULL,
DEC_PROP_1 NUMERIC(13,4) NULL,
DEC_PROP_2 NUMERIC(13,4) NULL,
BOOL_PROP_1 VARCHAR2(1) NULL,
BOOL_PROP_2 VARCHAR2(1) NULL,
CONSTRAINT QRTZ_SIMPROP_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT QRTZ_SIMPROP_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
);
CREATE TABLE qrtz_blob_triggers
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
BLOB_DATA BLOB NULL,
CONSTRAINT QRTZ_BLOB_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT QRTZ_BLOB_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
);
CREATE TABLE qrtz_calendars
(
SCHED_NAME VARCHAR2(120) NOT NULL,
CALENDAR_NAME VARCHAR2(200) NOT NULL,
CALENDAR BLOB NOT NULL,
CONSTRAINT QRTZ_CALENDARS_PK PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
);
CREATE TABLE qrtz_paused_trigger_grps
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
CONSTRAINT QRTZ_PAUSED_TRIG_GRPS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
);
CREATE TABLE qrtz_fired_triggers
(
SCHED_NAME VARCHAR2(120) NOT NULL,
ENTRY_ID VARCHAR2(95) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
INSTANCE_NAME VARCHAR2(200) NOT NULL,
FIRED_TIME NUMBER(13) NOT NULL,
SCHED_TIME NUMBER(13) NOT NULL,
PRIORITY NUMBER(13) NOT NULL,
STATE VARCHAR2(16) NOT NULL,
JOB_NAME VARCHAR2(200) NULL,
JOB_GROUP VARCHAR2(200) NULL,
IS_NONCONCURRENT VARCHAR2(1) NULL,
REQUESTS_RECOVERY VARCHAR2(1) NULL,
CONSTRAINT QRTZ_FIRED_TRIGGER_PK PRIMARY KEY (SCHED_NAME,ENTRY_ID)
);
CREATE TABLE qrtz_scheduler_state
(
SCHED_NAME VARCHAR2(120) NOT NULL,
INSTANCE_NAME VARCHAR2(200) NOT NULL,
LAST_CHECKIN_TIME NUMBER(13) NOT NULL,
CHECKIN_INTERVAL NUMBER(13) NOT NULL,
CONSTRAINT QRTZ_SCHEDULER_STATE_PK PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
);
CREATE TABLE qrtz_locks
(
SCHED_NAME VARCHAR2(120) NOT NULL,
LOCK_NAME VARCHAR2(40) NOT NULL,
CONSTRAINT QRTZ_LOCKS_PK PRIMARY KEY (SCHED_NAME,LOCK_NAME)
);
create index idx_qrtz_j_req_recovery on qrtz_job_details(SCHED_NAME,REQUESTS_RECOVERY);
create index idx_qrtz_j_grp on qrtz_job_details(SCHED_NAME,JOB_GROUP);
create index idx_qrtz_t_j on qrtz_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
create index idx_qrtz_t_jg on qrtz_triggers(SCHED_NAME,JOB_GROUP);
create index idx_qrtz_t_c on qrtz_triggers(SCHED_NAME,CALENDAR_NAME);
create index idx_qrtz_t_g on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP);
create index idx_qrtz_t_state on qrtz_triggers(SCHED_NAME,TRIGGER_STATE);
create index idx_qrtz_t_n_state on qrtz_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
create index idx_qrtz_t_n_g_state on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
create index idx_qrtz_t_next_fire_time on qrtz_triggers(SCHED_NAME,NEXT_FIRE_TIME);
create index idx_qrtz_t_nft_st on qrtz_triggers(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
create index idx_qrtz_t_nft_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME);
create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP);
create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP);
================================================
FILE: docs/cron.md
================================================
## Cron 表达式详解
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:
Seconds Minutes Hours DayofMonth Month DayofWeek Year或
Seconds Minutes Hours DayofMonth Month DayofWeek
每一个域可出现的字符如下:
Seconds:可出现", - * /"四个字符,有效范围为0-59的整数
Minutes:可出现", - * /"四个字符,有效范围为0-59的整数
Hours:可出现", - * /"四个字符,有效范围为0-23的整数
DayofMonth:可出现", - * / ? L W C"八个字符,有效范围为0-31的整数
Month:可出现", - * /"四个字符,有效范围为1-12的整数或JAN-DEC
DayofWeek:可出现", - * / ? L C #"四个字符,有效范围为1-7的整数或SUN-SAT两个范围。1表示星期天,2表示星期一, 依次类推
Year:可出现", - * /"四个字符,有效范围为1970-2099年
每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是:
(1)*:表示匹配该域的任意值,假如在Minutes域使用*, 即表示每分钟都会触发事件。
(2)?:只能用在DayofMonth和DayofWeek两个域。它也匹配域的任意值,但实际不会。因为DayofMonth和DayofWeek会相互影响。例如想在每月的20日触发调度,不管20日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?, 其中最后一位只能用?,而不能使用*,如果使用*表示不管星期几都会触发,实际上并不是这样。
(3)-:表示范围,例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次
(4)/:表示起始时间开始触发,然后每隔固定时间触发一次,例如在Minutes域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次.
(5),:表示列出枚举值值。例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。
(6)L:表示最后,只能出现在DayofWeek和DayofMonth域,如果在DayofWeek域使用5L,意味着在最后的一个星期四触发。
(7)W:表示有效工作日(周一到周五),只能出现在DayofMonth域,系统将在离指定日期的最近的有效工作日触发事件。例如:在 DayofMonth使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。如果5日是星期天,则在6日(周一)触发;如果5日在星期一到星期五中的一天,则就在5日触发。另外一点,W的最近寻找不会跨过月份
(8)LW:这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。
(9)#:用于确定每个月第几个星期几,只能出现在DayofMonth域。例如在4#2,表示某月的第二个星期三。
举几个例子:
0 0 2 1 * ? * 表示在每月的1日的凌晨2点调度任务
0 15 10 ? * MON-FRI 表示周一到周五每天上午10:15执行作业
0 15 10 ? 6L 2002-2006 表示2002-2006年的每个月的最后一个星期五上午10:15执行作
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
按顺序依次为
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
年份(1970-2099)
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发
有些子表达式能包含一些范围或列表
例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”
“*”字符代表所有可能的值
因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天
“/”字符用来指定数值的增量
例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟
在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样
“?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值
当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”
“L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写
但是它在两个子表达式里的含义是不同的。
在天(月)子表达式中,“L”表示一个月的最后一天
在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT
如果在“L”前有具体的内容,它就具有其他的含义了
例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最一个星期五
注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题
字段 允许值 允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选) 留空, 1970-2099 , - * /
================================================
FILE: docs/getting_started.md
================================================
### 项目目录结构
```
│
├── main
│ │
│ ├── java
│ │ │
│ │ └── com.godcheese ----------------- 项目主类包
│ │ │
│ │ ├── nimrod ---------------- Nimrod 核心模块存放目录
│ │ │ │
│ │ │ ├─ common ------------- 项目公用部分
│ │ │ │
│ │ │ ├─ mail --------------- 电子邮箱模块
│ │ │ │
│ │ │ ├─ quartz ------------- Quartz 定时任务模块
│ │ │ │
│ │ │ ├─ system ------------- 系统模块
│ │ │ │
│ │ │ ├─ user --------------- 用户模块
│ │ │ │
│ │
│ ├── resources ------------------------------- 项目资源目录
│ │ │
│ │ ├─ fonts ------------------------------- 字体存放目录
│ │ │
│ │ ├─ static ------------------------------ js/css/png 等静态文件存放目录
│ │ │
│ │ ├─ templates --------------------------- Web 模板
│ │ │
│ │ ├─ application.properties -------------- 项目环境配置文件
│ │ │
│ │ ├─ application-dev.properties ---------- 项目 dev 环境配置文件
│ │ │
│ │ ├─ application-prod.properties --------- 项目 prod 环境配置文件
│ │ │
│ │ ├─ banner.txt -------------------------- 项目启动 Banner
│ │ │
│ │ ├─ logback.sql ------------------------- Logback 数据库文件
│ │ │
│ │ ├─ logback-spring.xml ------------------ Logback 配置文件
│ │ │
│ │ ├─ mybatis-config.xml ------------------ MyBatis 配置文件
│ │ │
```
### 运行实例
- 一、安装 JDK 8+、MySQL 5.7+
- 二、导入数据库
`/db/mysql/nimrod/nimrod.sql`
- 三、运行 `java -jar nimrod-*.jar`,浏览器打开 `http://localhost:8083/nimrod`
### 开发调试
- 一、安装 JDK 8+、MySQL 5.7+、Maven 3.5+
- 二、在 Intelli IDEA 中打开项目
- 三、在 Terminal 中运行 `mvn spring-boot:run`,浏览器打开 `http://localhost:8083/nimrod`
### [环境搭建](https://github.com/godcheese/nimrod/blob/master/docs/java.md)
================================================
FILE: docs/java.md
================================================
### Java 8 Install
1. 安装。Windows/Linux/macOS 系统下载安装对应的安装包。
- [Download](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
2. 环境变量配置。
- Windows 配置环境变量
- 计算机=>属性=>高级系统设置=>高级=>环境变量=>系统变量=>新建变量
- 变量名:`JAVA_HOME`,变量值:JDK 路径(如:`C:\Program Files\Java\jdk1.8.0_181`)
- 变量名:`CLASSPATH`,变量值:`.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar`
- 在已有 `Path` 变量的变量值最前增加:`%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;`
- macOS 配置环境变量
- `cd ~ && vim .bash_profile`
- 输入以下内容,再保存,然后输入 `source .bash_profile` 生效:
- `# JDK 路径`
- `JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home`
- `PATH=$JAVA_HOME/bin:$PATH:.`
- `CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.`
- `export JAVA_HOME`
- `export PATH`
- `export CLASSPATH`
3. 检验安装是否成功。
### MySQL 5.7 Install
1. 安装。Windows/Linux/macOS 系统下载安装对应的安装包。
- [Download](https://dev.mysql.com/downloads/mysql/5.7.html#downloads)
### Maven 3.5 Install
1. 安装。Windows/Linux/macOS 系统下载安装对应的安装包。
- [Download](http://maven.apache.org/download.cgi)
2. 环境变量配置。
- Windows 配置环境变量
- 计算机=>属性=>高级系统设置=>高级=>环境变量=>系统变量=>新建变量
- 变量名:`MAVEN`,变量值:Maven 路径(如:`C:\apache-maven-3.5.4 2`)
- 在已有 `Path` 变量的变量值最前增加:`%MAVEN_HOME%\bin;`
- macOS 配置环境变量
- `cd ~ && vim .bash_profile`
- 输入以下内容,再保存,然后输入 `source .bash_profile` 生效:
- `# Maven 路径`
- `export M2_HOME=/Volumes/office/dev/apache-maven-3.5.0`
- `export PATH=$PATH:$M2_HOME/bin`
================================================
FILE: pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.godcheese</groupId>
<artifactId>nimrod</artifactId>
<version>0.8.0</version>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<url>http://www.godcheese.com/</url>
<description>Nimrod - 基于 Spring Boot 构建 的 Java Web 平台企业级单体应用快速开发框架,适合中小型项目的应用和开发。</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<finalName>${project.name}-${project.version}</finalName>
<resource.delimiter>${}</resource.delimiter>
<skipTests>true</skipTests>
<libPath>${project.basedir}/lib</libPath>
</properties>
<developers>
<developer>
<id>godcheese</id>
<name>Rakesh Zhang</name>
<email>godcheese@outlook.com</email>
</developer>
</developers>
<scm>
<url>https://github.com/godcheese/nimrod</url>
<connection>scm:git:git://github.com/godcheese/nimrod.git</connection>
<developerConnection>scm:git@github.com:godcheese/nimrod.git</developerConnection>
</scm>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/godcheese/nimrod/issues</url>
</issueManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.thymeleaf.extras/thymeleaf-extras-springsecurity5 -->
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.13</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.23</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<!-- https://github.com/godcheese/tile -->
<dependency>
<groupId>com.godcheese</groupId>
<artifactId>tile</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${libPath}/tile-1.0.0.jar</systemPath>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${finalName}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.*</include>
</includes>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.yaml</exclude>
</excludes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
<include>**/*.yaml</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}</directory>
<targetPath>${project.build.directory}</targetPath>
<includes>
<include>*.md</include>
<include>LICENSE</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/db</directory>
<targetPath>${project.build.directory}/db</targetPath>
<includes>
<include>db/*.*</include>
</includes>
</resource>
<resource>
<directory>${libPath}</directory>
<!-- jar 打包引用此属性值 -->
<targetPath>BOOT-INF/lib</targetPath>
<!-- war 打包引用此属性值 -->
<!-- <targetPath>${project.build.directory}/${finalName}/WEB-INF/lib</targetPath> -->
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
</build>
</project>
================================================
FILE: scripts/git_clear_history_commit.sh.do_not_run
================================================
#!/usr/bin/env bash
echo "author godcheese [godcheese@outlook.com]"
CURRENT_DIR=$(pwd)
SCRIPTS_DIR=$(cd "$(dirname $0)" || exit; pwd)
cd "${SCRIPTS_DIR}" || exit
cd ..
echo "Chceckout new branch..."
git checkout --orphan new_branch
echo "Add file..."
git add -A
echo -n "Submit remark...Please input anything(Initial commit):"
read REMARK
if [ ! -n "$REMARK" ];then
REMARK="Initial commit"
fi
git commit -m "$REMARK"
echo "Delete master branch..."
git branch -D master
echo "Rename new branch to master..."
git branch -m master
echo "Force submit code..."
git push -f origin master
echo "Submit complete,close..."
cd "${CURRENT_DIR}" || exit
================================================
FILE: scripts/git_config.sh.do_not_run
================================================
#!/usr/bin/env bash
echo "author godcheese [godcheese@outlook.com]"
git config --global user.name "godcheese"
git config --global user.email "godcheese@outlook.com"
ssh-keygen -o -t rsa -b 4096 -C "godcheese@outlook.com"
cat ~/.ssh/id_rsa.pub
================================================
FILE: scripts/gitlabci.build.sh
================================================
#!/usr/bin/env bash
# encoding: utf-8.0
# http://github.com/godcheese/shell_bag
# author: godcheese [godcheese@outlook.com]
# description: gitlabci.build.sh
echo "author godcheese [godcheese@outlook.com]"
curl -o install.sh https://raw.githubusercontent.com/godcheese/shell_bag/master/linux/install_jdk.sh && bash install.sh install /webwork/software/jdk https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz jdk1.8.0_202
curl -o install.sh https://raw.githubusercontent.com/godcheese/shell_bag/master/linux/install_maven.sh && bash install.sh install /webwork/software/maven https://downloads.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz apache-maven-3.6.3
curl -o install.sh https://raw.githubusercontent.com/godcheese/shell_bag/master/linux/install_mysql.sh && bash install.sh install /webwork/software/mysql https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz mysql-5.7.31-linux-glibc2.12-x86_64
mysql -uroot -p123456 -e "use mysql;create user 'nimrod'@'%';update user set authentication_string=PASSWORD('123456') where User='nimrod';update user set plugin='mysql_native_password';grant usage on *.* to 'nimrod' require none with max_queries_per_hour 0 max_connections_per_hour 0 max_updates_per_hour 0 max_user_connections 0;create database if not exists nimrod;grant all privileges on nimrod.* to 'nimrod'@'%';flush privileges;"
mysql -unimrod -p123456 nimrod < db/mysql/nimrod/nimrod.sql
mvn -e clean install -DskipTests=true -Dmaven.javadoc.skip=true -Dspring-boot.run.profiles=dev
mvn -e clean install -DskipTests=true -Dmaven.javadoc.skip=true -Dspring-boot:run.prifiles=prod
================================================
FILE: scripts/package.bat
================================================
CHCP 65001
@echo off
echo.author godcheese [godcheese@outlook.com]
set "CURRENT_DIR=%~dp0"
cd %CURRENT_DIR%
cd ..
call mvnw clean package -DskipTests=true -Dmaven.javadoc.skip=true -Dspring-boot.run.profiles=prod
cd %CURRENT_DIR%
================================================
FILE: scripts/package.sh
================================================
#!/usr/bin/env bash
echo "author godcheese [godcheese@outlook.com]"
CURRENT_DIR=$(pwd)
SCRIPTS_DIR=$(cd "$(dirname $0)" || exit; pwd)
cd "${SCRIPTS_DIR}" || exit
cd ..
./mvnw clean package -DskipTests=true -Dmaven.javadoc.skip=true -Dspring-boot.run.profiles=prod
cd "${CURRENT_DIR}" || exit
================================================
FILE: scripts/run_dev.bat
================================================
CHCP 65001
@echo off
echo.author godcheese [godcheese@outlook.com]
set "CURRENT_DIR=%~dp0"
cd %CURRENT_DIR%
cd ..
call mvnw spring-boot:run -DskipTests=true -Dmaven.javadoc.skip=true -Dspring-boot.run.profiles=dev
cd %CURRENT_DIR%
================================================
FILE: scripts/run_dev.sh
================================================
#!/usr/bin/env bash
echo "author godcheese [godcheese@outlook.com]"
CURRENT_DIR=$(pwd)
SCRIPTS_DIR=$(cd "$(dirname $0)" || exit; pwd)
cd "${SCRIPTS_DIR}" || exit
cd ..
./mvnw spring-boot:run -DskipTests=true -Dmaven.javadoc.skip=true -Dspring-boot.run.profiles=dev
cd "${CURRENT_DIR}" || exit
================================================
FILE: scripts/run_prod.bat
================================================
CHCP 65001
@echo off
echo.author godcheese [godcheese@outlook.com]
set "CURRENT_DIR=%~dp0"
cd %CURRENT_DIR%
cd ..
call mvnw spring-boot:run -DskipTests=true -Dmaven.javadoc.skip=true -Dspring-boot.run.profiles=prod
cd %CURRENT_DIR%
================================================
FILE: scripts/run_prod.sh
================================================
#!/usr/bin/env bash
echo "author godcheese [godcheese@outlook.com]"
CURRENT_DIR=$(pwd)
SCRIPTS_DIR=$(cd "$(dirname $0)" || exit; pwd)
cd "${SCRIPTS_DIR}" || exit
cd ..
./mvnw spring-boot:run -DskipTests=true -Dmaven.javadoc.skip=true -Dspring-boot.run.profiles=prod
cd "${CURRENT_DIR}" || exit
================================================
FILE: scripts/travisci.build.sh
================================================
#!/usr/bin/env bash
# encoding: utf-8.0
# http://github.com/godcheese/shell_bag
# author: godcheese [godcheese@outlook.com]
# description: travisci.build.sh
echo "author godcheese [godcheese@outlook.com]"
sudo curl -o install.sh https://raw.githubusercontent.com/godcheese/shell_bag/master/linux/install_jdk.sh && sudo bash install.sh install /webwork/software/jdk https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz jdk1.8.0_202
sudo curl -o install.sh https://raw.githubusercontent.com/godcheese/shell_bag/master/linux/install_maven.sh && sudo bash install.sh install /webwork/software/maven https://downloads.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz apache-maven-3.6.3
sudo curl -o install.sh https://raw.githubusercontent.com/godcheese/shell_bag/master/linux/install_mysql.sh && sudo bash install.sh install /webwork/software/mysql https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz mysql-5.7.31-linux-glibc2.12-x86_64
sudo mysql -uroot -p123456 -e "use mysql;create user 'nimrod'@'%';update user set authentication_string=PASSWORD('123456') where User='nimrod';update user set plugin='mysql_native_password';grant usage on *.* to 'nimrod' require none with max_queries_per_hour 0 max_connections_per_hour 0 max_updates_per_hour 0 max_user_connections 0;create database if not exists nimrod;grant all privileges on nimrod.* to 'nimrod'@'%';flush privileges;"
sudo mysql -unimrod -p123456 nimrod < db/mysql/nimrod/nimrod.sql
sudo mvn -e clean install -DskipTests=true -Dmaven.javadoc.skip=true -Dspring-boot.run.profiles=dev
sudo mvn -e clean install -DskipTests=true -Dmaven.javadoc.skip=true -Dspring-boot:run.prifiles=prod
================================================
FILE: src/main/java/com/godcheese/NimrodApplication.java
================================================
package com.godcheese;
import com.godcheese.nimrod.common.others.Common;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.Banner;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.annotation.Order;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.stereotype.Component;
import org.springframework.web.context.WebApplicationContext;
/**
* Nimrod 启动类
*
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
@EnableAsync
@SpringBootApplication
public class NimrodApplication extends SpringBootServletInitializer {
private static final String NIMROD_VERSION = "0.8.0";
private static final String NIMROD_URL = "https://github.com/godcheese/nimrod";
private static final Logger LOGGER = LoggerFactory.getLogger(NimrodApplication.class);
public static void main(String[] args) {
SpringApplication application = new SpringApplication(NimrodApplication.class);
application.setBannerMode(Banner.Mode.OFF);
ConfigurableApplicationContext configurableApplicationContext = application.run(args);
bootstrap((WebApplicationContext) configurableApplicationContext);
}
private static void bootstrap(WebApplicationContext webApplicationContext) {
// @formatter:off
String banner =
" .__ __. __ .___ ___. .______ ______ _______ \n" +
" | \\ | | | | | \\/ | | _ \\ / __ \\ | \\ \n" +
" | \\| | | | | \\ / | | |_) | | | | | | .--. |\n" +
" | . ` | | | | |\\/| | | / | | | | | | | |\n" +
" | |\\ | | | | | | | | |\\ \\----.| `--' | | '--' |\n" +
" |__| \\__| |__| |__| |__| | _| `._____| \\______/ |_______/ ";
String nimrod =
"\n -------------------------------------------------" +
"\n | Nimrod version: " + NIMROD_VERSION + " |" +
"\n | Homepage: " + NIMROD_URL + " |" +
"\n -------------------------------------------------";
Common.getHost(webApplicationContext);
String scheme = Common.Host.scheme;
String port = Common.Host.port;
String contextPath = Common.Host.contextPath;
String ip = Common.Host.ip;
String local = scheme + "://localhost" + ":" + port + contextPath + "/";
String network = scheme + "://" + ip + ":" + port + contextPath + "/";
if (ip == null) {
network = "unavailable";
}
String appRunningAt =
"\n App running at:" +
"\n - Server: " + Common.Host.serverInfo +
"\n - Local: " + local +
"\n - Network: " + network;
// @formatter:on
LOGGER.info("\n\n" + banner + "\n" + nimrod + "\n" + appRunningAt + "\n");
}
@Override
protected WebApplicationContext run(SpringApplication application) {
application.setBannerMode(Banner.Mode.OFF);
WebApplicationContext webApplicationContext = super.run(application);
bootstrap(webApplicationContext);
return webApplicationContext;
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(NimrodApplication.class);
}
@Order
@Component
public static class ApplicationStartupRunner implements CommandLineRunner {
@Autowired
private Common common;
@Override
public void run(String... strings) {
common.initialize();
}
}
}
================================================
FILE: src/main/java/com/godcheese/example/Example.java
================================================
package com.godcheese.example;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2019-01-18
*/
public class Example {
public static class Page {
public static final String EXAMPLE = "/example";
}
public static class Api {
public static final String EXAMPLE = com.godcheese.nimrod.common.Url.API + Example.Page.EXAMPLE;
}
}
================================================
FILE: src/main/java/com/godcheese/example/api/ExampleRestController.java
================================================
package com.godcheese.example.api;
import com.godcheese.example.Example;
import com.godcheese.example.service.ExampleService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
@RestController
@RequestMapping(Example.Api.EXAMPLE)
public class ExampleRestController {
private static final Logger LOGGER = LoggerFactory.getLogger(ExampleRestController.class);
private static final String EXAMPLE = "/EXAMPLE";
@Autowired
private ExampleService exampleService;
@RequestMapping("/test")
public String test() {
return "test";
}
}
================================================
FILE: src/main/java/com/godcheese/example/controller/ExampleController.java
================================================
package com.godcheese.example.controller;
import com.godcheese.example.Example;
import com.godcheese.nimrod.common.others.Common;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
@Controller
@RequestMapping(Example.Page.EXAMPLE)
public class ExampleController {
/**
* 测试页面
*
* @return String
*/
@PreAuthorize("isAuthenticated()")
@RequestMapping("/test")
public String pageAll() {
return Common.trimSlash(Example.Page.EXAMPLE + "/test");
}
}
================================================
FILE: src/main/java/com/godcheese/example/entity/ExampleEntity.java
================================================
package com.godcheese.example.entity;
import java.io.Serializable;
import java.util.Date;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
public class ExampleEntity implements Serializable {
private static final long serialVersionUID = 5619353235596663560L;
/**
* id
*/
private Long id;
/**
* 名
*/
private String name;
/**
* 排序
*/
private Long sort;
/**
* 备注
*/
private String remark;
/**
* 更新时间
*/
private Date gmtModified;
/**
* 创建时间
*/
private Date gmtCreated;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getSort() {
return sort;
}
public void setSort(Long sort) {
this.sort = sort;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Date getGmtModified() {
return gmtModified;
}
public void setGmtModified(Date gmtModified) {
this.gmtModified = gmtModified;
}
public Date getGmtCreated() {
return gmtCreated;
}
public void setGmtCreated(Date gmtCreated) {
this.gmtCreated = gmtCreated;
}
}
================================================
FILE: src/main/java/com/godcheese/example/mapper/ExampleMapper.java
================================================
package com.godcheese.example.mapper;
import com.godcheese.example.entity.ExampleEntity;
import com.godcheese.tile.mybatis.CrudMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
@Component("exampleMapper")
@Mapper
public interface ExampleMapper extends CrudMapper<ExampleEntity, Long> {
}
================================================
FILE: src/main/java/com/godcheese/example/mapper/ExampleMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.godcheese.example.mapper.ExampleMapper">
<resultMap id="BaseResultMap" type="com.godcheese.example.entity.ExampleEntity">
<id column="id" property="id" jdbcType="BIGINT"/> <!-- id -->
<result column="name" property="name" jdbcType="VARCHAR"/> <!-- 名 -->
<result column="sort" property="sort" jdbcType="BIGINT"/> <!-- 排序 -->
<result column="remark" property="remark" jdbcType="VARCHAR"/> <!-- 备注 -->
<result column="gmt_modified" property="gmtModified" jdbcType="TIMESTAMP"/> <!-- 更新时间 -->
<result column="gmt_created" property="gmtCreated" jdbcType="TIMESTAMP"/> <!-- 创建时间 -->
</resultMap>
<sql id="TableName">
`example`
</sql>
<sql id="BaseColumnList">
`id`, `name`, `sort`, `remark`, `gmt_modified`, `gmt_created`
</sql>
<select id="getOne" resultMap="BaseResultMap">
SELECT
<include refid="BaseColumnList"/>
FROM
<include refid="TableName"/>
WHERE `id` = #{id} LIMIT 1
</select>
</mapper>
================================================
FILE: src/main/java/com/godcheese/example/service/ExampleService.java
================================================
package com.godcheese.example.service;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
public interface ExampleService {
}
================================================
FILE: src/main/java/com/godcheese/example/service/impl/ExampleServiceImpl.java
================================================
package com.godcheese.example.service.impl;
import com.godcheese.example.service.ExampleService;
import org.springframework.stereotype.Service;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
@Service
public class ExampleServiceImpl implements ExampleService {
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/Url.java
================================================
package com.godcheese.nimrod.common;
import com.godcheese.nimrod.system.System;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
public class Url {
public static final String PATH_SEPARATOR = "/";
public static final String ALL_PATH_PATTERN = "/**";
public static final String API = "/api";
public static final String API_ALL_PATTERN = API + "/**";
/**
* 静态资源 url
*/
public static final String[] STATIC = {"robots.txt", "/**.ico", "/assets/**", "/css/**", "/js/**", "/img/**", "/vendor/**"};
public static class Api {
public static final String API_PATH_PATTERN = API + ALL_PATH_PATTERN;
}
public static class Page {
public static final String INDEX = "/index";
public static final String[] INDEX_ARRAY = {PATH_SEPARATOR, INDEX, System.Page.SYSTEM, System.Page.INDEX};
}
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/activemq/ActiveMqConfiguration.java
================================================
package com.godcheese.nimrod.common.activemq;
import org.springframework.context.annotation.Configuration;
import org.springframework.jms.annotation.EnableJms;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
@EnableJms
@Configuration
public class ActiveMqConfiguration {
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/controller/CustomBasicErrorController.java
================================================
package com.godcheese.nimrod.common.controller;
import com.godcheese.nimrod.common.others.FailureEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.web.servlet.error.AbstractErrorController;
import org.springframework.boot.web.error.ErrorAttributeOptions;
import org.springframework.boot.web.servlet.error.ErrorAttributes;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Collections;
import java.util.Map;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
@Controller
@RequestMapping("${server.error.path:${error.path:/error}}")
public class CustomBasicErrorController extends AbstractErrorController {
private static final Logger LOGGER = LoggerFactory.getLogger(CustomBasicErrorController.class);
@Value("${server.error.path:${error.path:/error}}")
public String errorPath = "/error";
@Override
public String getErrorPath() {
return errorPath;
}
public CustomBasicErrorController(ErrorAttributes errorAttributes) {
super(errorAttributes);
}
/**
* html
*
* @param request HttpServletRequest
* @param response HttpServletResponse
* @return ModelAndView
*/
@RequestMapping(produces = MediaType.TEXT_HTML_VALUE)
public ModelAndView errorHtml(HttpServletRequest request, HttpServletResponse response) {
HttpStatus httpStatus = getStatus(request);
int code = httpStatus.value();
// Map<String, Object> errorAttributes = getErrorAttributes(request, true);
Map<String, Object> errorAttributes = getErrorAttributes(request, ErrorAttributeOptions.defaults());
LOGGER.info("status={},exception={}", code, errorAttributes);
code = RestControllerAdviceHandler.codeSwitch(code);
httpStatus = HttpStatus.valueOf(code);
// Map<String, Object> model = Collections.unmodifiableMap(getErrorAttributes(
// request, true));
Map<String, Object> model = Collections.unmodifiableMap(getErrorAttributes(request, ErrorAttributeOptions.defaults()));
ModelAndView modelAndView = resolveErrorView(request, response, httpStatus, model);
return (modelAndView == null ? new ModelAndView(code + "", model, httpStatus) : modelAndView);
}
/**
* json
*
* @param request HttpServletRequest
* @param response HttpServletResponse
* @return ResponseEntity<FailureEntity>
*/
@RequestMapping
@ResponseBody
public ResponseEntity<FailureEntity> error(HttpServletRequest request, HttpServletResponse response) {
HttpStatus httpStatus = getStatus(request);
int code = httpStatus.value();
Map<String, Object> errorAttributes = getErrorAttributes(request, ErrorAttributeOptions.defaults());
LOGGER.info("status={},exception={}", code, errorAttributes);
code = RestControllerAdviceHandler.codeSwitch(code);
httpStatus = HttpStatus.valueOf(code);
return new ResponseEntity<>(new FailureEntity((String) errorAttributes.get("error"), httpStatus.value()), httpStatus);
}
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/controller/RestControllerAdviceHandler.java
================================================
package com.godcheese.nimrod.common.controller;
import com.godcheese.nimrod.common.others.FailureEntity;
import com.godcheese.nimrod.system.service.DictionaryService;
import com.godcheese.tile.util.DataSizeUtil;
import com.godcheese.tile.web.exception.BaseResponseException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.util.unit.DataSize;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.multipart.MaxUploadSizeExceededException;
import org.springframework.web.multipart.MultipartException;
import javax.servlet.http.HttpServletRequest;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
@RestControllerAdvice
public class RestControllerAdviceHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(RestControllerAdviceHandler.class);
@Autowired
private DictionaryService dictionaryService;
@Autowired
private FailureEntity failureEntity;
@ExceptionHandler({BaseResponseException.class})
public ResponseEntity<FailureEntity> defaultExceptionHandler(HttpServletRequest httpServletRequest, Throwable throwable) {
HttpStatus httpStatus = getStatus(httpServletRequest);
throwable.printStackTrace();
String message = throwable.getMessage();
int code = 0;
if (throwable instanceof BaseResponseException) {
code = ((BaseResponseException) throwable).getCode();
}
return new ResponseEntity<>(new FailureEntity(message, code), httpStatus);
}
@ExceptionHandler(MultipartException.class)
public ResponseEntity<FailureEntity> sizeLimitExceededExceptionHandler(HttpServletRequest httpServletRequest, Throwable throwable) {
HttpStatus httpStatus = getStatus(httpServletRequest);
FailureEntity fm = failureEntity.i18n("file.upload_fail");
if (throwable instanceof MaxUploadSizeExceededException) {
String maxFileSize = DataSizeUtil.pretty(DataSize.parse((String) dictionaryService.get("FILE", "MAX_FILE_SIZE")).toBytes());
String maxRequestSize = DataSizeUtil.pretty(DataSize.parse((String) dictionaryService.get("FILE", "MAX_REQUEST_SIZE")).toBytes());
fm = failureEntity.i18n("file.upload_fail_max_upload_size_exceeded", maxFileSize, maxRequestSize);
}
throwable.printStackTrace();
return new ResponseEntity<>(fm, httpStatus);
}
@ExceptionHandler(BadCredentialsException.class)
public ResponseEntity<FailureEntity> badCredentialsExceptionHandler(HttpServletRequest httpServletRequest, Throwable throwable) {
HttpStatus httpStatus = getStatus(httpServletRequest);
throwable.printStackTrace();
return new ResponseEntity<>(new FailureEntity(throwable.getMessage(), httpStatus.value()), httpStatus);
}
public static HttpStatus getStatus(HttpServletRequest request) {
Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code");
if (statusCode == null) {
return HttpStatus.INTERNAL_SERVER_ERROR;
} else {
try {
return HttpStatus.valueOf(statusCode);
} catch (Exception var4) {
return HttpStatus.INTERNAL_SERVER_ERROR;
}
}
}
public static int codeSwitch(int code) {
switch (code) {
case 400:
break;
case 403:
break;
case 404:
break;
case 500:
break;
default:
code = 500;
break;
}
return code;
}
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/druid/DruidConfiguration.java
================================================
package com.godcheese.nimrod.common.druid;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
@Configuration
public class DruidConfiguration {
public static final String DRUID_URL = "/druid";
/**
* DataSource 配置注入
*
* @return DataSource
* @Primary 注释在同样的 DataSource 中,首先使用被标注的 DataSource
* 声明其为 Bean 实例
*/
@Primary
@Bean(initMethod = "init", destroyMethod = "close")
@ConfigurationProperties("spring.datasource.druid")
public DataSource dataSource() {
return DruidDataSourceBuilder.create().build();
}
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/easyui/ComboTree.java
================================================
package com.godcheese.nimrod.common.easyui;
import java.io.Serializable;
import java.util.List;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2019-05-04
*/
public class ComboTree implements Serializable {
private static final long serialVersionUID = 962965761257333089L;
private Long id;
private String text;
private Long parentId;
private List<ComboTree> children;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public List<ComboTree> getChildren() {
return children;
}
public void setChildren(List<ComboTree> children) {
this.children = children;
}
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/easyui/EasyUi.java
================================================
package com.godcheese.nimrod.common.easyui;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2019-09-26
*/
public class EasyUi {
/**
* Tree TreeGrid state: The node state, 'open' or 'closed'.
*/
public static class State {
public static final String CLOSED = "closed";
public static final String OPEN = "open";
}
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/easyui/Pagination.java
================================================
package com.godcheese.nimrod.common.easyui;
import java.io.Serializable;
import java.util.List;
/**
* 返回例如:{rows:[{},{}], total:2}
*
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
public class Pagination<E> implements Serializable {
private static final long serialVersionUID = -7480580436678839700L;
private List<E> rows;
private long total;
private boolean inputTotal;
public List<E> getRows() {
return rows;
}
public void setRows(List<E> rows) {
this.rows = rows;
}
public long getTotal() {
if (!inputTotal && getRows() != null) {
total = getRows().size();
}
return total;
}
public void setTotal(long total) {
this.total = total;
inputTotal = true;
}
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/easyui/Tree.java
================================================
package com.godcheese.nimrod.common.easyui;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
public class Tree implements Serializable {
private static final long serialVersionUID = -7372612079113611533L;
/**
* node id, which is important to load remote data
*/
private long id;
/**
* node text to show
*/
private String text;
/**
* The css class to display icon.
*/
private String iconCls;
/**
* node state, 'open' or 'closed', default is 'open'. When set to 'closed', the node have children nodes and will load them from remote site
*/
private String state = "open";
/**
* Indicate whether the node is checked selected.
*/
private boolean checked;
/**
* custom attributes can be added to a node.
*/
private List<Map<String, String>> attributes;
/**
* an array nodes defines some children nodes.
*/
private List<Tree> children = Collections.emptyList();
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public String getIconCls() {
return iconCls;
}
public void setIconCls(String iconCls) {
this.iconCls = iconCls;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public boolean getChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
public List<Map<String, String>> getAttributes() {
return attributes;
}
public void setAttributes(List<Map<String, String>> attributes) {
this.attributes = attributes;
}
public List<Tree> getChildren() {
return children;
}
public void setChildren(List<Tree> children) {
this.children = children;
}
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/easyui/TreeGrid.java
================================================
package com.godcheese.nimrod.common.easyui;
import java.io.Serializable;
import java.util.List;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2019-05-04
*/
public class TreeGrid implements Serializable {
private static final long serialVersionUID = -1416104562832619797L;
private Long id;
private String name;
private Long parentId;
private List<TreeGrid> children;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public List<TreeGrid> getChildren() {
return children;
}
public void setChildren(List<TreeGrid> children) {
this.children = children;
}
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/easyui/TreeGridAdapter.java
================================================
package com.godcheese.nimrod.common.easyui;
import com.godcheese.nimrod.common.others.BaseEntityAdapter;
import java.util.List;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2019-09-26
*/
public class TreeGridAdapter<T> extends BaseEntityAdapter<T> {
public List<T> children;
public String state;
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public List<T> getChildren() {
return children;
}
public void setChildren(List<T> children) {
this.children = children;
}
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/exportbyexcel/ExportByExcel.java
================================================
package com.godcheese.nimrod.common.exportbyexcel;
import org.springframework.core.annotation.AliasFor;
import java.lang.annotation.*;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface ExportByExcel {
/**
* 导出显示名
*
* @return String
*/
@AliasFor("name")
String value() default "";
/**
* 导出显示名
*
* @return String
*/
@AliasFor("value")
String name() default "";
/**
* 导入时忽略此字段
*
* @return boolean
*/
boolean importIgnore() default false;
boolean exportIgnore() default false;
Class<? extends ExportByExcelHandler> handler() default ExportByExcelHandler.class;
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/exportbyexcel/ExportByExcelHandler.java
================================================
package com.godcheese.nimrod.common.exportbyexcel;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2019-01-09
*/
public class ExportByExcelHandler {
public Object exportHandler(Object object) {
return object;
}
public Object importHandler(Object object) {
return object;
}
}
================================================
FILE: src/main/java/com/godcheese/nimrod/common/exportbyexcel/ExportByExcelUtil.java
================================================
package com.godcheese.nimrod.common.exportbyexcel;
import com.godcheese.tile.office.ExcelUtil;
import com.godcheese.tile.util.ClassUtil;
import com.godcheese.tile.web.exception.BaseResponseException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018-02-22
*/
public class ExportByExcelUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(ExportByExcelUtil.class);
private static final String DEFAULT_KEY = "default";
private static final String EXPORT_HANDLER = "exportHandler";
private static final String IMPORT_HANDLER = "importHandler";
private ExportByExcelUtil() {
}
/**
* 实体导出数据成 Excel 表
*
* @param httpServletRequest httpServletRequest
* @param httpServletResponse httpServletResponse
* @param objectList objectList
* @param clazz clazz
* @param exportFilename exportFilename
* @throws BaseResponseException
*/
public static void exportEntity(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, List<? extends Object> objectList, Class<?> clazz, String exportFilename) throws BaseResponseException {
try (Workbook workbook = new HSSFWorkbook()) {
Sheet sheet = workbook.createSheet();
Row row = sheet.createRow(0);
int fieldIndex = 0;
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
ExportByExcel annotation = field.getAnnotation(ExportByExcel.class);
if (annotation != null) {
if (!annotation.exportIgnore()) {
String name = annotation.name();
if ("".equals(name)) {
name = annotation.value();
}
Cell cell1 = row.createCell(fieldIndex);
cell1.setCellValue(name);
fieldIndex++;
}
}
}
int rowIndex = 1;
for (Object object : objectList) {
row = sheet.createRow(rowIndex);
ExportByExcelUtil.exportFieldValue(row, object);
rowIndex++;
}
ExcelUtil.read2003AndDownloadExportExcel(httpServletRequest, httpServletResponse, workbook, exportFilename);
} catch (IOException e) {
e.printStackTrace();
throw new BaseResponseException("导出失败");
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException | InstantiationException e) {
e.printStackTrace();
}
}
/**
* @param row Row
* @param entity Object
* @throws IllegalAccessException IllegalAccessException
* @throws NoSuchMethodException NoSuchMethodException
* @throws InvocationTargetException InvocationTargetException
* @throws InstantiationException InstantiationException
*/
private static void exportFieldValue(Row row, Object entity) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException {
Object value;
Field[] fields = entity.getClass().getDeclaredFields();
int fieldIndex = 0;
for (Field field : fields) {
ExportByExcel exportByExcel = field.getAnnotation(ExportByExcel.class);
if (exportByExcel != null) {
if (!exportByExcel.exportIgnore()) {
field.setAccessible(true);
Cell cell = row.createCell(fieldIndex);
// 导出所有值时自动调用 handler
value = ClassUtil.invokeMethod(exportByExcel.handler(), EXPORT_HANDLER, field.get(entity), Object.class);
// 获取字段值
if (value == null) {
value = field.get(entity);
}
cell.setCellValue(String.valueOf(value));
fieldIndex++;
}
}
}
}
/**
* 将实例化的实体遍历赋值
*
* @param entity T
* @param map Map<Integer, Cell>
* @param <T> <T>
* @return T T
* @throws NoSuchMethodException NoSuchMethodException
* @throws InstantiationException InstantiationException
* @throws IllegalAccessException IllegalAccessException
* @throws InvocationTargetException InvocationTargetException
*/
public static <T> T importEntity(T entity, Map<Integer, Cell> map) throws NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException {
Fiel
gitextract_ccqzqvp9/
├── .github/
│ └── ISSUE_TEMPLATE/
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── .gitlab-ci.yml
├── .sonarcloud.properties
├── .travis.yml
├── CHANGELOG.md
├── LICENSE
├── README.md
├── TODO.md
├── db/
│ ├── mysql/
│ │ ├── example/
│ │ │ └── example.sql
│ │ ├── nimrod/
│ │ │ ├── nimrod.sql
│ │ │ ├── table/
│ │ │ │ ├── api_category_table.sql
│ │ │ │ ├── api_table.sql
│ │ │ │ ├── attachment_table.sql
│ │ │ │ ├── department_table.sql
│ │ │ │ ├── dictionary_category_table.sql
│ │ │ │ ├── dictionary_table.sql
│ │ │ │ ├── job_runtime_log_table.sql
│ │ │ │ ├── mail_attachment_table.sql
│ │ │ │ ├── mail_table.sql
│ │ │ │ ├── operation_log_table.sql
│ │ │ │ ├── role_authority_table.sql
│ │ │ │ ├── role_table.sql
│ │ │ │ ├── user_password_reset_table.sql
│ │ │ │ ├── user_role_table.sql
│ │ │ │ ├── user_table.sql
│ │ │ │ ├── view_menu_category_table.sql
│ │ │ │ ├── view_menu_table.sql
│ │ │ │ ├── view_page_api_table.sql
│ │ │ │ ├── view_page_category_table.sql
│ │ │ │ ├── view_page_component_api_table.sql
│ │ │ │ ├── view_page_component_table.sql
│ │ │ │ └── view_page_table.sql
│ │ │ └── util.sql
│ │ └── quartz/
│ │ └── tables_mysql_innodb.sql
│ └── oracle/
│ ├── install_oracle_11g_r2.sh
│ └── quartz/
│ └── tables_oracle.sql
├── docs/
│ ├── cron.md
│ ├── getting_started.md
│ └── java.md
├── lib/
│ └── tile-1.0.0.jar
├── pom.xml
├── scripts/
│ ├── git_clear_history_commit.sh.do_not_run
│ ├── git_config.sh.do_not_run
│ ├── gitlabci.build.sh
│ ├── package.bat
│ ├── package.sh
│ ├── run_dev.bat
│ ├── run_dev.sh
│ ├── run_prod.bat
│ ├── run_prod.sh
│ └── travisci.build.sh
└── src/
├── main/
│ ├── java/
│ │ └── com/
│ │ └── godcheese/
│ │ ├── NimrodApplication.java
│ │ ├── example/
│ │ │ ├── Example.java
│ │ │ ├── api/
│ │ │ │ └── ExampleRestController.java
│ │ │ ├── controller/
│ │ │ │ └── ExampleController.java
│ │ │ ├── entity/
│ │ │ │ └── ExampleEntity.java
│ │ │ ├── mapper/
│ │ │ │ ├── ExampleMapper.java
│ │ │ │ └── ExampleMapper.xml
│ │ │ └── service/
│ │ │ ├── ExampleService.java
│ │ │ └── impl/
│ │ │ └── ExampleServiceImpl.java
│ │ └── nimrod/
│ │ ├── common/
│ │ │ ├── Url.java
│ │ │ ├── activemq/
│ │ │ │ └── ActiveMqConfiguration.java
│ │ │ ├── controller/
│ │ │ │ ├── CustomBasicErrorController.java
│ │ │ │ └── RestControllerAdviceHandler.java
│ │ │ ├── druid/
│ │ │ │ └── DruidConfiguration.java
│ │ │ ├── easyui/
│ │ │ │ ├── ComboTree.java
│ │ │ │ ├── EasyUi.java
│ │ │ │ ├── Pagination.java
│ │ │ │ ├── Tree.java
│ │ │ │ ├── TreeGrid.java
│ │ │ │ └── TreeGridAdapter.java
│ │ │ ├── exportbyexcel/
│ │ │ │ ├── ExportByExcel.java
│ │ │ │ ├── ExportByExcelHandler.java
│ │ │ │ ├── ExportByExcelUtil.java
│ │ │ │ ├── IsOrNotExportByExcelHandler.java
│ │ │ │ └── SimpleDateFormatExportByExcelHandler.java
│ │ │ ├── interceptor/
│ │ │ │ ├── WebInterceptor.java
│ │ │ │ └── WebMvcConfiguration.java
│ │ │ ├── operationlog/
│ │ │ │ ├── OperationLog.java
│ │ │ │ ├── OperationLogAspect.java
│ │ │ │ ├── OperationLogEvent.java
│ │ │ │ ├── OperationLogListener.java
│ │ │ │ └── OperationLogType.java
│ │ │ ├── others/
│ │ │ │ ├── BaseEntityAdapter.java
│ │ │ │ ├── Common.java
│ │ │ │ ├── FailureEntity.java
│ │ │ │ └── SpringContextUtil.java
│ │ │ ├── properties/
│ │ │ │ ├── AppProperties.java
│ │ │ │ ├── LogProperties.java
│ │ │ │ ├── MultipartProperties.java
│ │ │ │ └── UpdatableMultipartConfigElement.java
│ │ │ ├── security/
│ │ │ │ ├── AuthenticationFailureHandler.java
│ │ │ │ ├── AuthenticationSuccessHandler.java
│ │ │ │ ├── LogoutSuccessHandler.java
│ │ │ │ ├── SimpleUser.java
│ │ │ │ ├── SimpleUserDetails.java
│ │ │ │ ├── SimpleUserDetailsServiceImpl.java
│ │ │ │ ├── VerifyCodeFilter.java
│ │ │ │ └── WebSecurityConfiguration.java
│ │ │ └── thymeleaf/
│ │ │ ├── NimrodDialect.java
│ │ │ └── SecurityAuthorityElementProcessor.java
│ │ ├── mail/
│ │ │ ├── Mail.java
│ │ │ ├── api/
│ │ │ │ └── MailRestController.java
│ │ │ ├── controller/
│ │ │ │ └── MailController.java
│ │ │ ├── entity/
│ │ │ │ ├── MailEntity.java
│ │ │ │ └── MailFileEntity.java
│ │ │ ├── mapper/
│ │ │ │ ├── MailMapper.java
│ │ │ │ └── MailMapper.xml
│ │ │ └── service/
│ │ │ ├── MailService.java
│ │ │ └── impl/
│ │ │ └── MailServiceImpl.java
│ │ ├── quartz/
│ │ │ ├── Quartz.java
│ │ │ ├── api/
│ │ │ │ ├── JobRestController.java
│ │ │ │ └── JobRuntimeLogRestController.java
│ │ │ ├── controller/
│ │ │ │ ├── JobController.java
│ │ │ │ └── JobRuntimeLogController.java
│ │ │ ├── entity/
│ │ │ │ ├── JobEntity.java
│ │ │ │ └── JobRuntimeLogEntity.java
│ │ │ ├── job/
│ │ │ │ ├── BaseJob.java
│ │ │ │ ├── SimpleJob.java
│ │ │ │ └── SimpleJob2.java
│ │ │ ├── listener/
│ │ │ │ └── GlobalJobListener.java
│ │ │ ├── mapper/
│ │ │ │ ├── JobMapper.java
│ │ │ │ ├── JobMapper.xml
│ │ │ │ ├── JobRuntimeLogMapper.java
│ │ │ │ └── JobRuntimeLogMapper.xml
│ │ │ └── service/
│ │ │ ├── JobRuntimeLogService.java
│ │ │ ├── JobService.java
│ │ │ └── impl/
│ │ │ ├── JobRuntimeLogServiceImpl.java
│ │ │ └── JobServiceImpl.java
│ │ ├── system/
│ │ │ ├── System.java
│ │ │ ├── api/
│ │ │ │ ├── DictionaryCategoryRestController.java
│ │ │ │ ├── DictionaryRestController.java
│ │ │ │ ├── FileRestController.java
│ │ │ │ ├── OperationLogRestController.java
│ │ │ │ └── SystemRestController.java
│ │ │ ├── controller/
│ │ │ │ ├── DictionaryCategoryController.java
│ │ │ │ ├── DictionaryController.java
│ │ │ │ ├── FileController.java
│ │ │ │ ├── OperationLogController.java
│ │ │ │ └── SystemController.java
│ │ │ ├── entity/
│ │ │ │ ├── DictionaryCategoryEntity.java
│ │ │ │ ├── DictionaryEntity.java
│ │ │ │ ├── FileEntity.java
│ │ │ │ └── OperationLogEntity.java
│ │ │ ├── mapper/
│ │ │ │ ├── DictionaryCategoryMapper.java
│ │ │ │ ├── DictionaryCategoryMapper.xml
│ │ │ │ ├── DictionaryMapper.java
│ │ │ │ ├── DictionaryMapper.xml
│ │ │ │ ├── FileMapper.java
│ │ │ │ ├── FileMapper.xml
│ │ │ │ ├── OperationLogMapper.java
│ │ │ │ └── OperationLogMapper.xml
│ │ │ └── service/
│ │ │ ├── DictionaryCategoryService.java
│ │ │ ├── DictionaryService.java
│ │ │ ├── FileService.java
│ │ │ ├── OperationLogService.java
│ │ │ └── impl/
│ │ │ ├── DictionaryCategoryServiceImpl.java
│ │ │ ├── DictionaryServiceImpl.java
│ │ │ ├── FileServiceImpl.java
│ │ │ └── OperationLogServiceImpl.java
│ │ └── user/
│ │ ├── User.java
│ │ ├── api/
│ │ │ ├── ApiCategoryRestController.java
│ │ │ ├── ApiRestController.java
│ │ │ ├── DepartmentRestController.java
│ │ │ ├── RoleAuthorityRestController.java
│ │ │ ├── RoleRestController.java
│ │ │ ├── RoleViewMenuCategoryRestController.java
│ │ │ ├── RoleViewMenuRestController.java
│ │ │ ├── UserRestController.java
│ │ │ ├── UserRoleRestController.java
│ │ │ ├── ViewMenuCategoryRestController.java
│ │ │ ├── ViewMenuRestController.java
│ │ │ ├── ViewPageApiRestController.java
│ │ │ ├── ViewPageCategoryRestController.java
│ │ │ ├── ViewPageComponentApiRestController.java
│ │ │ ├── ViewPageComponentRestController.java
│ │ │ └── ViewPageRestController.java
│ │ ├── controller/
│ │ │ ├── ApiCategoryController.java
│ │ │ ├── ApiController.java
│ │ │ ├── DepartmentController.java
│ │ │ ├── RoleAuthorityController.java
│ │ │ ├── RoleController.java
│ │ │ ├── RoleViewMenuController.java
│ │ │ ├── UserController.java
│ │ │ ├── UserRoleController.java
│ │ │ ├── ViewMenuCategoryController.java
│ │ │ ├── ViewMenuController.java
│ │ │ ├── ViewPageApiController.java
│ │ │ ├── ViewPageCategoryController.java
│ │ │ ├── ViewPageComponentApiController.java
│ │ │ ├── ViewPageComponentController.java
│ │ │ └── ViewPageController.java
│ │ ├── entity/
│ │ │ ├── ApiCategoryEntity.java
│ │ │ ├── ApiEntity.java
│ │ │ ├── DepartmentEntity.java
│ │ │ ├── RoleAuthorityEntity.java
│ │ │ ├── RoleEntity.java
│ │ │ ├── RoleViewMenuCategoryEntity.java
│ │ │ ├── RoleViewMenuEntity.java
│ │ │ ├── UserEntity.java
│ │ │ ├── UserRoleEntity.java
│ │ │ ├── UserVerifyCodeEntity.java
│ │ │ ├── ViewMenuCategoryEntity.java
│ │ │ ├── ViewMenuEntity.java
│ │ │ ├── ViewPageApiEntity.java
│ │ │ ├── ViewPageCategoryEntity.java
│ │ │ ├── ViewPageComponentApiEntity.java
│ │ │ ├── ViewPageComponentEntity.java
│ │ │ └── ViewPageEntity.java
│ │ ├── mapper/
│ │ │ ├── ApiCategoryMapper.java
│ │ │ ├── ApiCategoryMapper.xml
│ │ │ ├── ApiMapper.java
│ │ │ ├── ApiMapper.xml
│ │ │ ├── DepartmentMapper.java
│ │ │ ├── DepartmentMapper.xml
│ │ │ ├── RoleAuthorityMapper.java
│ │ │ ├── RoleAuthorityMapper.xml
│ │ │ ├── RoleMapper.java
│ │ │ ├── RoleMapper.xml
│ │ │ ├── RoleViewMenuCategoryMapper.java
│ │ │ ├── RoleViewMenuCategoryMapper.xml
│ │ │ ├── RoleViewMenuMapper.java
│ │ │ ├── RoleViewMenuMapper.xml
│ │ │ ├── UserMapper.java
│ │ │ ├── UserMapper.xml
│ │ │ ├── UserRoleMapper.java
│ │ │ ├── UserRoleMapper.xml
│ │ │ ├── UserVerifyCodeMapper.java
│ │ │ ├── UserVerifyCodeMapper.xml
│ │ │ ├── ViewMenuCategoryMapper.java
│ │ │ ├── ViewMenuCategoryMapper.xml
│ │ │ ├── ViewMenuMapper.java
│ │ │ ├── ViewMenuMapper.xml
│ │ │ ├── ViewPageApiMapper.java
│ │ │ ├── ViewPageApiMapper.xml
│ │ │ ├── ViewPageCategoryMapper.java
│ │ │ ├── ViewPageCategoryMapper.xml
│ │ │ ├── ViewPageComponentApiMapper.java
│ │ │ ├── ViewPageComponentApiMapper.xml
│ │ │ ├── ViewPageComponentMapper.java
│ │ │ ├── ViewPageComponentMapper.xml
│ │ │ ├── ViewPageMapper.java
│ │ │ └── ViewPageMapper.xml
│ │ └── service/
│ │ ├── ApiCategoryService.java
│ │ ├── ApiService.java
│ │ ├── DepartmentService.java
│ │ ├── RoleAuthorityService.java
│ │ ├── RoleService.java
│ │ ├── RoleViewMenuCategoryService.java
│ │ ├── RoleViewMenuService.java
│ │ ├── UserRoleService.java
│ │ ├── UserService.java
│ │ ├── UserVerifyCodeService.java
│ │ ├── ViewMenuCategoryService.java
│ │ ├── ViewMenuService.java
│ │ ├── ViewPageApiService.java
│ │ ├── ViewPageCategoryService.java
│ │ ├── ViewPageComponentApiService.java
│ │ ├── ViewPageComponentService.java
│ │ ├── ViewPageService.java
│ │ └── impl/
│ │ ├── ApiCategoryServiceImpl.java
│ │ ├── ApiServiceImpl.java
│ │ ├── DepartmentServiceImpl.java
│ │ ├── RoleAuthorityServiceImpl.java
│ │ ├── RoleServiceImpl.java
│ │ ├── RoleViewMenuCategoryServiceImpl.java
│ │ ├── RoleViewMenuServiceImpl.java
│ │ ├── UserRoleServiceImpl.java
│ │ ├── UserServiceImpl.java
│ │ ├── UserVerifyCodeServiceImpl.java
│ │ ├── ViewMenuCategoryServiceImpl.java
│ │ ├── ViewMenuServiceImpl.java
│ │ ├── ViewPageApiServiceImpl.java
│ │ ├── ViewPageCategoryServiceImpl.java
│ │ ├── ViewPageComponentApiServiceImpl.java
│ │ ├── ViewPageComponentServiceImpl.java
│ │ └── ViewPageServiceImpl.java
│ └── resources/
│ ├── application-dev.properties
│ ├── application-prod.properties
│ ├── application.properties
│ ├── i18n/
│ │ └── zh_cn.properties
│ ├── logback-spring.xml
│ ├── static/
│ │ ├── assets/
│ │ │ ├── css/
│ │ │ │ ├── base.css
│ │ │ │ ├── global.css
│ │ │ │ ├── index.css
│ │ │ │ ├── login.css
│ │ │ │ └── workbench.css
│ │ │ ├── img/
│ │ │ │ └── login/
│ │ │ │ └── login_body_left.jpg2
│ │ │ ├── js/
│ │ │ │ ├── global.js
│ │ │ │ ├── index.js
│ │ │ │ ├── login.js
│ │ │ │ ├── url.js
│ │ │ │ ├── util.js
│ │ │ │ └── workbench.js
│ │ │ └── vendor/
│ │ │ ├── easyui-plus-1.0.0/
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── README.md
│ │ │ │ ├── css/
│ │ │ │ │ └── easyui.plus.css
│ │ │ │ ├── js/
│ │ │ │ │ └── easyui.plus.js
│ │ │ │ └── themes/
│ │ │ │ ├── angular.css
│ │ │ │ ├── blue/
│ │ │ │ │ └── easyui.css
│ │ │ │ ├── color.css
│ │ │ │ ├── icon.css
│ │ │ │ ├── mobile.css
│ │ │ │ └── vue.css
│ │ │ ├── echarts.min.js
│ │ │ ├── html5shiv-3.7.3.min.js
│ │ │ ├── iconfont/
│ │ │ │ ├── demo.css
│ │ │ │ ├── demo_index.html
│ │ │ │ ├── iconfont.css
│ │ │ │ ├── iconfont.js
│ │ │ │ └── iconfont.json
│ │ │ ├── jquery/
│ │ │ │ ├── jquery-1.12.4.js
│ │ │ │ └── jquery-1.12.4.min.js
│ │ │ ├── jquery-easyui-1.9.7/
│ │ │ │ ├── changelog.txt
│ │ │ │ ├── demo/
│ │ │ │ │ ├── accordion/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── ajax.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── datagrid_data1.json
│ │ │ │ │ │ ├── expandable.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── horizontal.html
│ │ │ │ │ │ ├── multiple.html
│ │ │ │ │ │ └── tools.html
│ │ │ │ │ ├── calendar/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── custom.html
│ │ │ │ │ │ ├── disabledate.html
│ │ │ │ │ │ ├── firstday.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ └── weeknumber.html
│ │ │ │ │ ├── checkbox/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── combo/
│ │ │ │ │ │ ├── animation.html
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── combobox/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── combobox_data1.json
│ │ │ │ │ │ ├── combobox_data2.json
│ │ │ │ │ │ ├── customformat.html
│ │ │ │ │ │ ├── dynamicdata.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ ├── icons.html
│ │ │ │ │ │ ├── itemicon.html
│ │ │ │ │ │ ├── multiline.html
│ │ │ │ │ │ ├── multiple.html
│ │ │ │ │ │ ├── navigation.html
│ │ │ │ │ │ ├── remotedata.html
│ │ │ │ │ │ └── remotejsonp.html
│ │ │ │ │ ├── combogrid/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── datagrid_data1.json
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── initvalue.html
│ │ │ │ │ │ ├── multiple.html
│ │ │ │ │ │ ├── navigation.html
│ │ │ │ │ │ └── setvalue.html
│ │ │ │ │ ├── combotree/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── initvalue.html
│ │ │ │ │ │ ├── multiple.html
│ │ │ │ │ │ ├── test.html
│ │ │ │ │ │ └── tree_data1.json
│ │ │ │ │ ├── combotreegrid/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── multiple.html
│ │ │ │ │ │ └── treegrid_data1.json
│ │ │ │ │ ├── datagrid/
│ │ │ │ │ │ ├── aligncolumns.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── cacheeditor.html
│ │ │ │ │ │ ├── cellediting.html
│ │ │ │ │ │ ├── cellstyle.html
│ │ │ │ │ │ ├── checkbox.html
│ │ │ │ │ │ ├── clientpagination.html
│ │ │ │ │ │ ├── columngroup.html
│ │ │ │ │ │ ├── complextoolbar.html
│ │ │ │ │ │ ├── contextmenu.html
│ │ │ │ │ │ ├── custompager.html
│ │ │ │ │ │ ├── datagrid_data1.json
│ │ │ │ │ │ ├── datagrid_data2.json
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── footer.html
│ │ │ │ │ │ ├── formatcolumns.html
│ │ │ │ │ │ ├── frozencolumns.html
│ │ │ │ │ │ ├── frozenrows.html
│ │ │ │ │ │ ├── mergecells.html
│ │ │ │ │ │ ├── multisorting.html
│ │ │ │ │ │ ├── products.json
│ │ │ │ │ │ ├── rowborder.html
│ │ │ │ │ │ ├── rowediting.html
│ │ │ │ │ │ ├── rowstyle.html
│ │ │ │ │ │ ├── selection.html
│ │ │ │ │ │ ├── simpletoolbar.html
│ │ │ │ │ │ └── transform.html
│ │ │ │ │ ├── datalist/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── checkbox.html
│ │ │ │ │ │ ├── datalist_data1.json
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ ├── multiselect.html
│ │ │ │ │ │ └── remotedata.html
│ │ │ │ │ ├── datebox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── buttons.html
│ │ │ │ │ │ ├── clone.html
│ │ │ │ │ │ ├── dateformat.html
│ │ │ │ │ │ ├── events.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── restrict.html
│ │ │ │ │ │ ├── sharedcalendar.html
│ │ │ │ │ │ └── validate.html
│ │ │ │ │ ├── datetimebox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── initvalue.html
│ │ │ │ │ │ └── showseconds.html
│ │ │ │ │ ├── datetimespinner/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── clearicon.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ └── format.html
│ │ │ │ │ ├── demo.css
│ │ │ │ │ ├── dialog/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── complextoolbar.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ └── toolbarbuttons.html
│ │ │ │ │ ├── draggable/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── constrain.html
│ │ │ │ │ │ └── snap.html
│ │ │ │ │ ├── droppable/
│ │ │ │ │ │ ├── accept.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── sort.html
│ │ │ │ │ ├── easyloader/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── filebox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── buttonalign.html
│ │ │ │ │ │ └── fluid.html
│ │ │ │ │ ├── form/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── floatinglabel.html
│ │ │ │ │ │ ├── form_data1.json
│ │ │ │ │ │ ├── load.html
│ │ │ │ │ │ └── validateonsubmit.html
│ │ │ │ │ ├── layout/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── addremove.html
│ │ │ │ │ │ ├── autoheight.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── collapsetitle.html
│ │ │ │ │ │ ├── complex.html
│ │ │ │ │ │ ├── customcollapsetitle.html
│ │ │ │ │ │ ├── datagrid_data1.json
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── full.html
│ │ │ │ │ │ ├── nestedlayout.html
│ │ │ │ │ │ ├── nocollapsible.html
│ │ │ │ │ │ ├── propertygrid_data1.json
│ │ │ │ │ │ └── tree_data1.json
│ │ │ │ │ ├── linkbutton/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ ├── iconalign.html
│ │ │ │ │ │ ├── plain.html
│ │ │ │ │ │ ├── size.html
│ │ │ │ │ │ ├── style.html
│ │ │ │ │ │ └── toggle.html
│ │ │ │ │ ├── maskedbox/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── menu/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── customitem.html
│ │ │ │ │ │ ├── events.html
│ │ │ │ │ │ ├── inline.html
│ │ │ │ │ │ └── nav.html
│ │ │ │ │ ├── menubutton/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── alignment.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── nav.html
│ │ │ │ │ ├── messager/
│ │ │ │ │ │ ├── alert.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── interactive.html
│ │ │ │ │ │ └── position.html
│ │ │ │ │ ├── numberbox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── format.html
│ │ │ │ │ │ └── range.html
│ │ │ │ │ ├── numberspinner/
│ │ │ │ │ │ ├── align.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── increment.html
│ │ │ │ │ │ └── range.html
│ │ │ │ │ ├── pagination/
│ │ │ │ │ │ ├── attaching.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── custombuttons.html
│ │ │ │ │ │ ├── layout.html
│ │ │ │ │ │ ├── links.html
│ │ │ │ │ │ └── simple.html
│ │ │ │ │ ├── panel/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── customtools.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── footer.html
│ │ │ │ │ │ ├── halign.html
│ │ │ │ │ │ ├── loadcontent.html
│ │ │ │ │ │ ├── nestedpanel.html
│ │ │ │ │ │ └── paneltools.html
│ │ │ │ │ ├── passwordbox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── flash.html
│ │ │ │ │ │ └── validatepassword.html
│ │ │ │ │ ├── progressbar/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── fluid.html
│ │ │ │ │ ├── propertygrid/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── customcolumns.html
│ │ │ │ │ │ ├── groupformat.html
│ │ │ │ │ │ └── propertygrid_data1.json
│ │ │ │ │ ├── radiobutton/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── resizable/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── searchbox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── category.html
│ │ │ │ │ │ └── fluid.html
│ │ │ │ │ ├── sidemenu/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── sidemenu_style.css
│ │ │ │ │ │ └── style.html
│ │ │ │ │ ├── slider/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── formattip.html
│ │ │ │ │ │ ├── nonlinear.html
│ │ │ │ │ │ ├── range.html
│ │ │ │ │ │ ├── rule.html
│ │ │ │ │ │ └── vertical.html
│ │ │ │ │ ├── splitbutton/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── switchbutton/
│ │ │ │ │ │ ├── action.html
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── tabs/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── autoheight.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── dropdown.html
│ │ │ │ │ │ ├── fixedwidth.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── hover.html
│ │ │ │ │ │ ├── nestedtabs.html
│ │ │ │ │ │ ├── striptools.html
│ │ │ │ │ │ ├── style.html
│ │ │ │ │ │ ├── tabimage.html
│ │ │ │ │ │ ├── tabposition.html
│ │ │ │ │ │ ├── tabstools.html
│ │ │ │ │ │ └── tree_data1.json
│ │ │ │ │ ├── tagbox/
│ │ │ │ │ │ ├── autocomplete.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── button.html
│ │ │ │ │ │ ├── format.html
│ │ │ │ │ │ ├── style.html
│ │ │ │ │ │ ├── tagbox_data1.json
│ │ │ │ │ │ └── validate.html
│ │ │ │ │ ├── textbox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── button.html
│ │ │ │ │ │ ├── clearicon.html
│ │ │ │ │ │ ├── custom.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── icons.html
│ │ │ │ │ │ ├── multiline.html
│ │ │ │ │ │ └── size.html
│ │ │ │ │ ├── timepicker/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── timespinner/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── hour12.html
│ │ │ │ │ │ └── range.html
│ │ │ │ │ ├── tooltip/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── _dialog.html
│ │ │ │ │ │ ├── ajax.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── customcontent.html
│ │ │ │ │ │ ├── customstyle.html
│ │ │ │ │ │ ├── position.html
│ │ │ │ │ │ ├── toolbar.html
│ │ │ │ │ │ └── tooltipdialog.html
│ │ │ │ │ ├── tree/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── animation.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── checkbox.html
│ │ │ │ │ │ ├── contextmenu.html
│ │ │ │ │ │ ├── customcheckbox.html
│ │ │ │ │ │ ├── dnd.html
│ │ │ │ │ │ ├── editable.html
│ │ │ │ │ │ ├── formatting.html
│ │ │ │ │ │ ├── icons.html
│ │ │ │ │ │ ├── lazyload.html
│ │ │ │ │ │ ├── lines.html
│ │ │ │ │ │ ├── tree_data1.json
│ │ │ │ │ │ └── tree_data2.json
│ │ │ │ │ ├── treegrid/
│ │ │ │ │ │ ├── actions.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── checkbox.html
│ │ │ │ │ │ ├── clientpagination.html
│ │ │ │ │ │ ├── contextmenu.html
│ │ │ │ │ │ ├── customcheckbox.html
│ │ │ │ │ │ ├── editable.html
│ │ │ │ │ │ ├── fluid.html
│ │ │ │ │ │ ├── footer.html
│ │ │ │ │ │ ├── lines.html
│ │ │ │ │ │ ├── reports.html
│ │ │ │ │ │ ├── treegrid_data1.json
│ │ │ │ │ │ ├── treegrid_data2.json
│ │ │ │ │ │ └── treegrid_data3.json
│ │ │ │ │ ├── validatebox/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── customtooltip.html
│ │ │ │ │ │ ├── errorplacement.html
│ │ │ │ │ │ └── validateonblur.html
│ │ │ │ │ └── window/
│ │ │ │ │ ├── basic.html
│ │ │ │ │ ├── borderstyle.html
│ │ │ │ │ ├── customtools.html
│ │ │ │ │ ├── fluid.html
│ │ │ │ │ ├── footer.html
│ │ │ │ │ ├── inlinewindow.html
│ │ │ │ │ ├── modalwindow.html
│ │ │ │ │ └── windowlayout.html
│ │ │ │ ├── demo-mobile/
│ │ │ │ │ ├── accordion/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── header.html
│ │ │ │ │ ├── animation/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── fade.html
│ │ │ │ │ │ ├── pop.html
│ │ │ │ │ │ └── slide.html
│ │ │ │ │ ├── badge/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── button.html
│ │ │ │ │ │ ├── list.html
│ │ │ │ │ │ └── tabs.html
│ │ │ │ │ ├── button/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ ├── style.html
│ │ │ │ │ │ └── switch.html
│ │ │ │ │ ├── datagrid/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── rowediting.html
│ │ │ │ │ ├── datalist/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ └── selection.html
│ │ │ │ │ ├── dialog/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── message.html
│ │ │ │ │ ├── form/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── input/
│ │ │ │ │ │ ├── numberspinner.html
│ │ │ │ │ │ └── textbox.html
│ │ │ │ │ ├── layout/
│ │ │ │ │ │ └── basic.html
│ │ │ │ │ ├── menu/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── menubar.html
│ │ │ │ │ ├── panel/
│ │ │ │ │ │ ├── _content.html
│ │ │ │ │ │ ├── ajax.html
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ └── nav.html
│ │ │ │ │ ├── simplelist/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── button.html
│ │ │ │ │ │ ├── group.html
│ │ │ │ │ │ ├── image.html
│ │ │ │ │ │ └── link.html
│ │ │ │ │ ├── tabs/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── nav.html
│ │ │ │ │ │ └── pill.html
│ │ │ │ │ ├── toolbar/
│ │ │ │ │ │ ├── basic.html
│ │ │ │ │ │ ├── button.html
│ │ │ │ │ │ └── menu.html
│ │ │ │ │ └── tree/
│ │ │ │ │ ├── basic.html
│ │ │ │ │ └── dnd.html
│ │ │ │ ├── easyloader.js
│ │ │ │ ├── jquery.easyui.min.js
│ │ │ │ ├── jquery.easyui.mobile.js
│ │ │ │ ├── jquery.min.js
│ │ │ │ ├── license_freeware.txt
│ │ │ │ ├── locale/
│ │ │ │ │ ├── easyui-lang-af.js
│ │ │ │ │ ├── easyui-lang-am.js
│ │ │ │ │ ├── easyui-lang-ar.js
│ │ │ │ │ ├── easyui-lang-bg.js
│ │ │ │ │ ├── easyui-lang-ca.js
│ │ │ │ │ ├── easyui-lang-cs.js
│ │ │ │ │ ├── easyui-lang-cz.js
│ │ │ │ │ ├── easyui-lang-da.js
│ │ │ │ │ ├── easyui-lang-de.js
│ │ │ │ │ ├── easyui-lang-el.js
│ │ │ │ │ ├── easyui-lang-en.js
│ │ │ │ │ ├── easyui-lang-es.js
│ │ │ │ │ ├── easyui-lang-fa.js
│ │ │ │ │ ├── easyui-lang-fr.js
│ │ │ │ │ ├── easyui-lang-it.js
│ │ │ │ │ ├── easyui-lang-jp.js
│ │ │ │ │ ├── easyui-lang-ko.js
│ │ │ │ │ ├── easyui-lang-nl.js
│ │ │ │ │ ├── easyui-lang-pl.js
│ │ │ │ │ ├── easyui-lang-pt_BR.js
│ │ │ │ │ ├── easyui-lang-ru.js
│ │ │ │ │ ├── easyui-lang-sv_SE.js
│ │ │ │ │ ├── easyui-lang-tr.js
│ │ │ │ │ ├── easyui-lang-ua.js
│ │ │ │ │ ├── easyui-lang-zh_CN.js
│ │ │ │ │ └── easyui-lang-zh_TW.js
│ │ │ │ ├── plugins/
│ │ │ │ │ ├── jquery.accordion.js
│ │ │ │ │ ├── jquery.calendar
│ │ │ │ │ ├── jquery.calendar.js
│ │ │ │ │ ├── jquery.checkbox.js
│ │ │ │ │ ├── jquery.combo.js
│ │ │ │ │ ├── jquery.combobox.js
│ │ │ │ │ ├── jquery.combogrid.js
│ │ │ │ │ ├── jquery.combotree.js
│ │ │ │ │ ├── jquery.combotreegrid.js
│ │ │ │ │ ├── jquery.datagrid.js
│ │ │ │ │ ├── jquery.datalist.js
│ │ │ │ │ ├── jquery.datebox.js
│ │ │ │ │ ├── jquery.datetimebox.js
│ │ │ │ │ ├── jquery.datetimespinner.js
│ │ │ │ │ ├── jquery.dialog.js
│ │ │ │ │ ├── jquery.draggable.js
│ │ │ │ │ ├── jquery.droppable.js
│ │ │ │ │ ├── jquery.filebox.js
│ │ │ │ │ ├── jquery.form.js
│ │ │ │ │ ├── jquery.layout.js
│ │ │ │ │ ├── jquery.linkbutton.js
│ │ │ │ │ ├── jquery.maskedbox.js
│ │ │ │ │ ├── jquery.menu.js
│ │ │ │ │ ├── jquery.menubutton.js
│ │ │ │ │ ├── jquery.messager.js
│ │ │ │ │ ├── jquery.mobile.js
│ │ │ │ │ ├── jquery.numberbox.js
│ │ │ │ │ ├── jquery.numberspinner.js
│ │ │ │ │ ├── jquery.pagination.js
│ │ │ │ │ ├── jquery.panel.js
│ │ │ │ │ ├── jquery.parser.js
│ │ │ │ │ ├── jquery.passwordbox.js
│ │ │ │ │ ├── jquery.progressbar.js
│ │ │ │ │ ├── jquery.propertygrid.js
│ │ │ │ │ ├── jquery.radiobutton.js
│ │ │ │ │ ├── jquery.resizable.js
│ │ │ │ │ ├── jquery.searchbox.js
│ │ │ │ │ ├── jquery.sidemenu.js
│ │ │ │ │ ├── jquery.slider.js
│ │ │ │ │ ├── jquery.spinner.js
│ │ │ │ │ ├── jquery.splitbutton.js
│ │ │ │ │ ├── jquery.switchbutton.js
│ │ │ │ │ ├── jquery.tabs.js
│ │ │ │ │ ├── jquery.tagbox.js
│ │ │ │ │ ├── jquery.textbox.js
│ │ │ │ │ ├── jquery.timepicker.js
│ │ │ │ │ ├── jquery.timespinner.js
│ │ │ │ │ ├── jquery.tooltip.js
│ │ │ │ │ ├── jquery.tree.js
│ │ │ │ │ ├── jquery.treegrid.js
│ │ │ │ │ ├── jquery.validatebox.js
│ │ │ │ │ └── jquery.window.js
│ │ │ │ ├── readme.txt
│ │ │ │ ├── src/
│ │ │ │ │ ├── easyloader.js
│ │ │ │ │ ├── jquery.accordion.js
│ │ │ │ │ ├── jquery.calendar.js
│ │ │ │ │ ├── jquery.combobox.js
│ │ │ │ │ ├── jquery.datebox.js
│ │ │ │ │ ├── jquery.draggable.js
│ │ │ │ │ ├── jquery.droppable.js
│ │ │ │ │ ├── jquery.form.js
│ │ │ │ │ ├── jquery.linkbutton.js
│ │ │ │ │ ├── jquery.menu.js
│ │ │ │ │ ├── jquery.parser.js
│ │ │ │ │ ├── jquery.progressbar.js
│ │ │ │ │ ├── jquery.propertygrid.js
│ │ │ │ │ ├── jquery.resizable.js
│ │ │ │ │ ├── jquery.slider.js
│ │ │ │ │ ├── jquery.tabs.js
│ │ │ │ │ └── jquery.window.js
│ │ │ │ └── themes/
│ │ │ │ ├── angular.css
│ │ │ │ ├── black/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── bootstrap/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── color.css
│ │ │ │ ├── default/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── gray/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── icon.css
│ │ │ │ ├── material/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── material-blue/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── material-teal/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── metro/
│ │ │ │ │ ├── accordion.css
│ │ │ │ │ ├── calendar.css
│ │ │ │ │ ├── checkbox.css
│ │ │ │ │ ├── combo.css
│ │ │ │ │ ├── combobox.css
│ │ │ │ │ ├── datagrid.css
│ │ │ │ │ ├── datalist.css
│ │ │ │ │ ├── datebox.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── easyui.css
│ │ │ │ │ ├── filebox.css
│ │ │ │ │ ├── flex.css
│ │ │ │ │ ├── layout.css
│ │ │ │ │ ├── linkbutton.css
│ │ │ │ │ ├── menu.css
│ │ │ │ │ ├── menubutton.css
│ │ │ │ │ ├── messager.css
│ │ │ │ │ ├── numberbox.css
│ │ │ │ │ ├── pagination.css
│ │ │ │ │ ├── panel.css
│ │ │ │ │ ├── passwordbox.css
│ │ │ │ │ ├── progressbar.css
│ │ │ │ │ ├── propertygrid.css
│ │ │ │ │ ├── radiobutton.css
│ │ │ │ │ ├── searchbox.css
│ │ │ │ │ ├── sidemenu.css
│ │ │ │ │ ├── slider.css
│ │ │ │ │ ├── spinner.css
│ │ │ │ │ ├── splitbutton.css
│ │ │ │ │ ├── switchbutton.css
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tagbox.css
│ │ │ │ │ ├── textbox.css
│ │ │ │ │ ├── timepicker.css
│ │ │ │ │ ├── tooltip.css
│ │ │ │ │ ├── tree.css
│ │ │ │ │ ├── validatebox.css
│ │ │ │ │ └── window.css
│ │ │ │ ├── mobile.css
│ │ │ │ ├── react.css
│ │ │ │ └── vue.css
│ │ │ ├── jquery.form.min.js
│ │ │ ├── jquery.placeholder-2.3.1.js
│ │ │ └── webuploader-0.1.5/
│ │ │ ├── README.md
│ │ │ ├── Uploader.swf
│ │ │ ├── webuploader.css
│ │ │ ├── webuploader.custom.js
│ │ │ ├── webuploader.custom.min.js
│ │ │ ├── webuploader.fis.js
│ │ │ ├── webuploader.flashonly.js
│ │ │ ├── webuploader.flashonly.min.js
│ │ │ ├── webuploader.html5only.js
│ │ │ ├── webuploader.html5only.min.js
│ │ │ ├── webuploader.js
│ │ │ ├── webuploader.min.js
│ │ │ ├── webuploader.noimage.js
│ │ │ ├── webuploader.noimage.min.js
│ │ │ ├── webuploader.nolog.js
│ │ │ ├── webuploader.nolog.min.js
│ │ │ ├── webuploader.withoutimage.js
│ │ │ └── webuploader.withoutimage.min.js
│ │ └── robots.txt
│ └── templates/
│ ├── 403.html
│ ├── 404.html
│ ├── 500.html
│ ├── example/
│ │ └── test.html
│ ├── mail/
│ │ ├── list.html
│ │ ├── send.html
│ │ ├── send_dialog.html
│ │ ├── template/
│ │ │ ├── change_email_verify_code.html.bak
│ │ │ ├── change_password_verify_code.html
│ │ │ └── email_verify_code.html
│ │ └── view_dialog.html
│ ├── quartz/
│ │ ├── job/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ └── job_runtime_log/
│ │ ├── add_dialog.html
│ │ ├── edit_dialog.html
│ │ └── list.html
│ ├── system/
│ │ ├── close.html
│ │ ├── dictionary/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── dictionary_category/
│ │ │ ├── add_dialog.html
│ │ │ └── edit_dialog.html
│ │ ├── file/
│ │ │ ├── edit_dialog.html
│ │ │ ├── list.html
│ │ │ ├── upload_all_dialog.html
│ │ │ ├── upload_one_dialog.html
│ │ │ └── upload_one_dialog.html.bak
│ │ ├── index.html
│ │ ├── loading.html
│ │ ├── operation_log/
│ │ │ ├── list.html
│ │ │ └── view_dialog.html
│ │ └── workbench.html
│ ├── user/
│ │ ├── add_dialog.html
│ │ ├── api/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── api_category/
│ │ │ ├── add_dialog.html
│ │ │ └── edit_dialog.html
│ │ ├── change_avatar_dialog.html
│ │ ├── change_email_dialog.html
│ │ ├── change_password_dialog.html
│ │ ├── department/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── edit_dialog.html
│ │ ├── list.html
│ │ ├── login.html
│ │ ├── logout.html
│ │ ├── profile.html
│ │ ├── role/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── role_authority/
│ │ │ ├── api.html
│ │ │ └── view_page.html
│ │ ├── role_view_menu/
│ │ │ └── list.html
│ │ ├── user_role/
│ │ │ ├── add_dialog.html
│ │ │ └── list.html
│ │ ├── view_menu/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── view_menu_category/
│ │ │ ├── add_dialog.html
│ │ │ └── edit_dialog.html
│ │ ├── view_page/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── view_page_api/
│ │ │ ├── add_dialog.html
│ │ │ ├── edit_dialog.html
│ │ │ └── list.html
│ │ ├── view_page_category/
│ │ │ ├── add_dialog.html
│ │ │ └── edit_dialog.html
│ │ ├── view_page_component/
│ │ │ ├── add_dialog.html
│ │ │ └── edit_dialog.html
│ │ └── view_page_component_api/
│ │ ├── add_dialog.html
│ │ ├── edit_dialog.html
│ │ └── list.html
│ └── widget/
│ ├── base.html
│ └── basejs.html
└── test/
└── java/
└── com/
└── godcheese/
└── nimrod/
└── NimrodApplicationTests.java
Showing preview only (371K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (4472 symbols across 320 files)
FILE: db/mysql/example/example.sql
type `example` (line 3) | CREATE TABLE `example` (
FILE: db/mysql/nimrod/nimrod.sql
type `QRTZ_BLOB_TRIGGERS` (line 24) | CREATE TABLE `QRTZ_BLOB_TRIGGERS` (
type `QRTZ_CALENDARS` (line 37) | CREATE TABLE `QRTZ_CALENDARS` (
type `QRTZ_CRON_TRIGGERS` (line 48) | CREATE TABLE `QRTZ_CRON_TRIGGERS` (
type `QRTZ_FIRED_TRIGGERS` (line 66) | CREATE TABLE `QRTZ_FIRED_TRIGGERS` (
type `QRTZ_JOB_DETAILS` (line 93) | CREATE TABLE `QRTZ_JOB_DETAILS` (
type `QRTZ_LOCKS` (line 118) | CREATE TABLE `QRTZ_LOCKS` (
type `QRTZ_PAUSED_TRIGGER_GRPS` (line 133) | CREATE TABLE `QRTZ_PAUSED_TRIGGER_GRPS` (
type `QRTZ_SCHEDULER_STATE` (line 143) | CREATE TABLE `QRTZ_SCHEDULER_STATE` (
type `QRTZ_SIMPLE_TRIGGERS` (line 155) | CREATE TABLE `QRTZ_SIMPLE_TRIGGERS` (
type `QRTZ_SIMPROP_TRIGGERS` (line 169) | CREATE TABLE `QRTZ_SIMPROP_TRIGGERS` (
type `QRTZ_TRIGGERS` (line 191) | CREATE TABLE `QRTZ_TRIGGERS` (
type `api` (line 232) | CREATE TABLE `api` (
type `api_category` (line 396) | CREATE TABLE `api_category` (
type `department` (line 440) | CREATE TABLE `department` (
type `dictionary` (line 459) | CREATE TABLE `dictionary` (
type `dictionary_category` (line 527) | CREATE TABLE `dictionary_category` (
type `file` (line 559) | CREATE TABLE `file` (
type `job_runtime_log` (line 578) | CREATE TABLE `job_runtime_log` (
type `mail` (line 596) | CREATE TABLE `mail` (
type `operation_log` (line 615) | CREATE TABLE `operation_log` (
type `role` (line 641) | CREATE TABLE `role` (
type `role_authority` (line 663) | CREATE TABLE `role_authority` (
type `role_view_menu` (line 674) | CREATE TABLE `role_view_menu` (
type `role_view_menu_category` (line 705) | CREATE TABLE `role_view_menu_category` (
type `user` (line 725) | CREATE TABLE `user` (
type `user_role` (line 755) | CREATE TABLE `user_role` (
type `user_verify_code` (line 774) | CREATE TABLE `user_verify_code` (
type `view_menu` (line 791) | CREATE TABLE `view_menu` (
type `view_menu_category` (line 826) | CREATE TABLE `view_menu_category` (
type `view_page` (line 857) | CREATE TABLE `view_page` (
type `view_page_api` (line 893) | CREATE TABLE `view_page_api` (
type `view_page_category` (line 904) | CREATE TABLE `view_page_category` (
type `view_page_component` (line 927) | CREATE TABLE `view_page_component` (
type `view_page_component_api` (line 1024) | CREATE TABLE `view_page_component_api` (
FILE: db/mysql/nimrod/table/api_category_table.sql
type `api_category` (line 5) | CREATE TABLE `api_category` (
FILE: db/mysql/nimrod/table/api_table.sql
type `api` (line 7) | CREATE TABLE `api` (
FILE: db/mysql/nimrod/table/attachment_table.sql
type `attachment` (line 6) | CREATE TABLE `attachment` (
FILE: db/mysql/nimrod/table/department_table.sql
type `department` (line 6) | CREATE TABLE `department` (
FILE: db/mysql/nimrod/table/dictionary_category_table.sql
type `dictionary_category` (line 6) | CREATE TABLE `dictionary_category` (
FILE: db/mysql/nimrod/table/dictionary_table.sql
type `dictionary` (line 6) | CREATE TABLE `dictionary` (
FILE: db/mysql/nimrod/table/job_runtime_log_table.sql
type `job_runtime_log` (line 5) | CREATE TABLE `job_runtime_log` (
FILE: db/mysql/nimrod/table/mail_attachment_table.sql
type `mail_attachment` (line 6) | CREATE TABLE `mail_attachment` (
FILE: db/mysql/nimrod/table/mail_table.sql
type `mail` (line 5) | CREATE TABLE `mail` (
FILE: db/mysql/nimrod/table/operation_log_table.sql
type `operation_log` (line 6) | CREATE TABLE `operation_log` (
FILE: db/mysql/nimrod/table/role_authority_table.sql
type `role_authority` (line 6) | CREATE TABLE `role_authority` (
FILE: db/mysql/nimrod/table/role_table.sql
type `role` (line 6) | CREATE TABLE `role` (
FILE: db/mysql/nimrod/table/user_password_reset_table.sql
type `user_password_reset` (line 7) | CREATE TABLE `user_password_reset` (
FILE: db/mysql/nimrod/table/user_role_table.sql
type `user_role` (line 6) | CREATE TABLE `user_role` (
FILE: db/mysql/nimrod/table/user_table.sql
type `user` (line 9) | CREATE TABLE `user` (
FILE: db/mysql/nimrod/table/view_menu_category_table.sql
type `view_menu_category` (line 7) | CREATE TABLE `view_menu_category` (
FILE: db/mysql/nimrod/table/view_menu_table.sql
type `view_menu` (line 6) | CREATE TABLE `view_menu` (
FILE: db/mysql/nimrod/table/view_page_api_table.sql
type `view_page_api` (line 6) | CREATE TABLE `view_page_api` (
FILE: db/mysql/nimrod/table/view_page_category_table.sql
type `view_page_category` (line 6) | CREATE TABLE `view_page_category` (
FILE: db/mysql/nimrod/table/view_page_component_api_table.sql
type `view_page_component_api` (line 6) | CREATE TABLE `view_page_component_api` (
FILE: db/mysql/nimrod/table/view_page_component_table.sql
type `view_page_component` (line 6) | CREATE TABLE `view_page_component` (
FILE: db/mysql/nimrod/table/view_page_table.sql
type `view_page` (line 6) | CREATE TABLE `view_page` (
FILE: db/oracle/quartz/tables_oracle.sql
type qrtz_job_details (line 36) | CREATE TABLE qrtz_job_details
type qrtz_triggers (line 50) | CREATE TABLE qrtz_triggers
type qrtz_simple_triggers (line 72) | CREATE TABLE qrtz_simple_triggers
type qrtz_cron_triggers (line 84) | CREATE TABLE qrtz_cron_triggers
type qrtz_simprop_triggers (line 95) | CREATE TABLE qrtz_simprop_triggers
type qrtz_blob_triggers (line 115) | CREATE TABLE qrtz_blob_triggers
type qrtz_calendars (line 125) | CREATE TABLE qrtz_calendars
type qrtz_paused_trigger_grps (line 132) | CREATE TABLE qrtz_paused_trigger_grps
type qrtz_fired_triggers (line 138) | CREATE TABLE qrtz_fired_triggers
type qrtz_scheduler_state (line 155) | CREATE TABLE qrtz_scheduler_state
type qrtz_locks (line 163) | CREATE TABLE qrtz_locks
type idx_qrtz_j_req_recovery (line 170) | create index idx_qrtz_j_req_recovery on qrtz_job_details(SCHED_NAME,REQU...
type idx_qrtz_j_grp (line 171) | create index idx_qrtz_j_grp on qrtz_job_details(SCHED_NAME,JOB_GROUP)
type idx_qrtz_t_j (line 173) | create index idx_qrtz_t_j on qrtz_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP)
type idx_qrtz_t_jg (line 174) | create index idx_qrtz_t_jg on qrtz_triggers(SCHED_NAME,JOB_GROUP)
type idx_qrtz_t_c (line 175) | create index idx_qrtz_t_c on qrtz_triggers(SCHED_NAME,CALENDAR_NAME)
type idx_qrtz_t_g (line 176) | create index idx_qrtz_t_g on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP)
type idx_qrtz_t_state (line 177) | create index idx_qrtz_t_state on qrtz_triggers(SCHED_NAME,TRIGGER_STATE)
type idx_qrtz_t_n_state (line 178) | create index idx_qrtz_t_n_state on qrtz_triggers(SCHED_NAME,TRIGGER_NAME...
type idx_qrtz_t_n_g_state (line 179) | create index idx_qrtz_t_n_g_state on qrtz_triggers(SCHED_NAME,TRIGGER_GR...
type idx_qrtz_t_next_fire_time (line 180) | create index idx_qrtz_t_next_fire_time on qrtz_triggers(SCHED_NAME,NEXT_...
type idx_qrtz_t_nft_st (line 181) | create index idx_qrtz_t_nft_st on qrtz_triggers(SCHED_NAME,TRIGGER_STATE...
type idx_qrtz_t_nft_misfire (line 182) | create index idx_qrtz_t_nft_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_...
type idx_qrtz_t_nft_st_misfire (line 183) | create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(SCHED_NAME,MISFI...
type idx_qrtz_t_nft_st_misfire_grp (line 184) | create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(SCHED_NAME,M...
type idx_qrtz_ft_trig_inst_name (line 186) | create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(SCHED_NAM...
type idx_qrtz_ft_inst_job_req_rcvry (line 187) | create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED...
type idx_qrtz_ft_j_g (line 188) | create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,...
type idx_qrtz_ft_jg (line 189) | create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP)
type idx_qrtz_ft_t_g (line 190) | create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_N...
type idx_qrtz_ft_tg (line 191) | create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GR...
FILE: src/main/java/com/godcheese/NimrodApplication.java
class NimrodApplication (line 25) | @EnableAsync
method main (line 34) | public static void main(String[] args) {
method bootstrap (line 41) | private static void bootstrap(WebApplicationContext webApplicationCont...
method run (line 76) | @Override
method configure (line 84) | @Override
class ApplicationStartupRunner (line 89) | @Order
method run (line 95) | @Override
FILE: src/main/java/com/godcheese/example/Example.java
class Example (line 8) | public class Example {
class Page (line 10) | public static class Page {
class Api (line 14) | public static class Api {
FILE: src/main/java/com/godcheese/example/api/ExampleRestController.java
class ExampleRestController (line 15) | @RestController
method test (line 26) | @RequestMapping("/test")
FILE: src/main/java/com/godcheese/example/controller/ExampleController.java
class ExampleController (line 13) | @Controller
method pageAll (line 22) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/example/entity/ExampleEntity.java
class ExampleEntity (line 10) | public class ExampleEntity implements Serializable {
method getId (line 44) | public Long getId() {
method setId (line 48) | public void setId(Long id) {
method getName (line 52) | public String getName() {
method setName (line 56) | public void setName(String name) {
method getSort (line 60) | public Long getSort() {
method setSort (line 64) | public void setSort(Long sort) {
method getRemark (line 68) | public String getRemark() {
method setRemark (line 72) | public void setRemark(String remark) {
method getGmtModified (line 76) | public Date getGmtModified() {
method setGmtModified (line 80) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 84) | public Date getGmtCreated() {
method setGmtCreated (line 88) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/example/mapper/ExampleMapper.java
type ExampleMapper (line 12) | @Component("exampleMapper")
FILE: src/main/java/com/godcheese/example/service/ExampleService.java
type ExampleService (line 8) | public interface ExampleService {
FILE: src/main/java/com/godcheese/example/service/impl/ExampleServiceImpl.java
class ExampleServiceImpl (line 12) | @Service
FILE: src/main/java/com/godcheese/nimrod/common/Url.java
class Url (line 9) | public class Url {
class Api (line 23) | public static class Api {
class Page (line 28) | public static class Page {
FILE: src/main/java/com/godcheese/nimrod/common/activemq/ActiveMqConfiguration.java
class ActiveMqConfiguration (line 10) | @EnableJms
FILE: src/main/java/com/godcheese/nimrod/common/controller/CustomBasicErrorController.java
class CustomBasicErrorController (line 27) | @Controller
method getErrorPath (line 36) | @Override
method CustomBasicErrorController (line 41) | public CustomBasicErrorController(ErrorAttributes errorAttributes) {
method errorHtml (line 52) | @RequestMapping(produces = MediaType.TEXT_HTML_VALUE)
method error (line 75) | @RequestMapping
FILE: src/main/java/com/godcheese/nimrod/common/controller/RestControllerAdviceHandler.java
class RestControllerAdviceHandler (line 25) | @RestControllerAdvice
method defaultExceptionHandler (line 35) | @ExceptionHandler({BaseResponseException.class})
method sizeLimitExceededExceptionHandler (line 47) | @ExceptionHandler(MultipartException.class)
method badCredentialsExceptionHandler (line 60) | @ExceptionHandler(BadCredentialsException.class)
method getStatus (line 67) | public static HttpStatus getStatus(HttpServletRequest request) {
method codeSwitch (line 80) | public static int codeSwitch(int code) {
FILE: src/main/java/com/godcheese/nimrod/common/druid/DruidConfiguration.java
class DruidConfiguration (line 15) | @Configuration
method dataSource (line 27) | @Primary
FILE: src/main/java/com/godcheese/nimrod/common/easyui/ComboTree.java
class ComboTree (line 10) | public class ComboTree implements Serializable {
method getId (line 19) | public Long getId() {
method setId (line 23) | public void setId(Long id) {
method getText (line 27) | public String getText() {
method setText (line 31) | public void setText(String text) {
method getParentId (line 35) | public Long getParentId() {
method setParentId (line 39) | public void setParentId(Long parentId) {
method getChildren (line 43) | public List<ComboTree> getChildren() {
method setChildren (line 47) | public void setChildren(List<ComboTree> children) {
FILE: src/main/java/com/godcheese/nimrod/common/easyui/EasyUi.java
class EasyUi (line 7) | public class EasyUi {
class State (line 11) | public static class State {
FILE: src/main/java/com/godcheese/nimrod/common/easyui/Pagination.java
class Pagination (line 12) | public class Pagination<E> implements Serializable {
method getRows (line 20) | public List<E> getRows() {
method setRows (line 24) | public void setRows(List<E> rows) {
method getTotal (line 28) | public long getTotal() {
method setTotal (line 35) | public void setTotal(long total) {
FILE: src/main/java/com/godcheese/nimrod/common/easyui/Tree.java
class Tree (line 12) | public class Tree implements Serializable {
method getId (line 51) | public long getId() {
method setId (line 55) | public void setId(long id) {
method getText (line 59) | public String getText() {
method setText (line 63) | public void setText(String text) {
method getIconCls (line 67) | public String getIconCls() {
method setIconCls (line 71) | public void setIconCls(String iconCls) {
method getState (line 75) | public String getState() {
method setState (line 79) | public void setState(String state) {
method getChecked (line 83) | public boolean getChecked() {
method setChecked (line 87) | public void setChecked(boolean checked) {
method getAttributes (line 91) | public List<Map<String, String>> getAttributes() {
method setAttributes (line 95) | public void setAttributes(List<Map<String, String>> attributes) {
method getChildren (line 99) | public List<Tree> getChildren() {
method setChildren (line 103) | public void setChildren(List<Tree> children) {
FILE: src/main/java/com/godcheese/nimrod/common/easyui/TreeGrid.java
class TreeGrid (line 10) | public class TreeGrid implements Serializable {
method getId (line 19) | public Long getId() {
method setId (line 23) | public void setId(Long id) {
method getName (line 27) | public String getName() {
method setName (line 31) | public void setName(String name) {
method getParentId (line 35) | public Long getParentId() {
method setParentId (line 39) | public void setParentId(Long parentId) {
method getChildren (line 43) | public List<TreeGrid> getChildren() {
method setChildren (line 47) | public void setChildren(List<TreeGrid> children) {
FILE: src/main/java/com/godcheese/nimrod/common/easyui/TreeGridAdapter.java
class TreeGridAdapter (line 11) | public class TreeGridAdapter<T> extends BaseEntityAdapter<T> {
method getState (line 16) | public String getState() {
method setState (line 20) | public void setState(String state) {
method getChildren (line 24) | public List<T> getChildren() {
method setChildren (line 28) | public void setChildren(List<T> children) {
FILE: src/main/java/com/godcheese/nimrod/common/exportbyexcel/ExportByExcelHandler.java
class ExportByExcelHandler (line 8) | public class ExportByExcelHandler {
method exportHandler (line 10) | public Object exportHandler(Object object) {
method importHandler (line 14) | public Object importHandler(Object object) {
FILE: src/main/java/com/godcheese/nimrod/common/exportbyexcel/ExportByExcelUtil.java
class ExportByExcelUtil (line 26) | public class ExportByExcelUtil {
method ExportByExcelUtil (line 35) | private ExportByExcelUtil() {
method exportEntity (line 48) | public static void exportEntity(HttpServletRequest httpServletRequest,...
method exportFieldValue (line 91) | private static void exportFieldValue(Row row, Object entity) throws Il...
method importEntity (line 128) | public static <T> T importEntity(T entity, Map<Integer, Cell> map) thr...
FILE: src/main/java/com/godcheese/nimrod/common/exportbyexcel/IsOrNotExportByExcelHandler.java
class IsOrNotExportByExcelHandler (line 14) | public class IsOrNotExportByExcelHandler extends ExportByExcelHandler {
method IsOrNotExportByExcelHandler (line 18) | public IsOrNotExportByExcelHandler() {
method exportHandler (line 23) | @Override
method importHandler (line 33) | @Override
FILE: src/main/java/com/godcheese/nimrod/common/exportbyexcel/SimpleDateFormatExportByExcelHandler.java
class SimpleDateFormatExportByExcelHandler (line 12) | public class SimpleDateFormatExportByExcelHandler extends ExportByExcelH...
method exportHandler (line 14) | @Override
method importHandler (line 24) | @Override
FILE: src/main/java/com/godcheese/nimrod/common/interceptor/WebInterceptor.java
class WebInterceptor (line 24) | public class WebInterceptor implements HandlerInterceptor {
method preHandle (line 37) | @Override
method postHandle (line 42) | @Override
method afterCompletion (line 71) | @Override
FILE: src/main/java/com/godcheese/nimrod/common/interceptor/WebMvcConfiguration.java
class WebMvcConfiguration (line 13) | @Configuration
method webInterceptor (line 16) | @Bean
method addInterceptors (line 21) | @Override
FILE: src/main/java/com/godcheese/nimrod/common/operationlog/OperationLogAspect.java
class OperationLogAspect (line 34) | @Aspect
method operationLogAspect (line 51) | @Pointcut("@annotation(com.godcheese.nimrod.common.operationlog.Operat...
method before (line 55) | @Before(value = "operationLogAspect()")
method afterReturning (line 111) | @AfterReturning(pointcut = "operationLogAspect()", returning = "return...
method afterThrowing (line 117) | @AfterThrowing(pointcut = "operationLogAspect()", throwing = "throwing")
FILE: src/main/java/com/godcheese/nimrod/common/operationlog/OperationLogEvent.java
class OperationLogEvent (line 12) | public class OperationLogEvent extends ApplicationEvent implements Seria...
method OperationLogEvent (line 16) | public OperationLogEvent(OperationLogEntity source) {
FILE: src/main/java/com/godcheese/nimrod/common/operationlog/OperationLogListener.java
class OperationLogListener (line 14) | @Component
method handleEvent (line 20) | @Async
FILE: src/main/java/com/godcheese/nimrod/common/operationlog/OperationLogType.java
type OperationLogType (line 7) | public enum OperationLogType {
method OperationLogType (line 22) | OperationLogType(int value) {
method value (line 26) | public int value() {
FILE: src/main/java/com/godcheese/nimrod/common/others/BaseEntityAdapter.java
class BaseEntityAdapter (line 12) | public abstract class BaseEntityAdapter<T> {
method getUsername (line 39) | public String getUsername() {
method setUsername (line 43) | public void setUsername(String username) {
method getRoles (line 47) | public List<RoleEntity> getRoles() {
method setRoles (line 51) | public void setRoles(List<RoleEntity> roles) {
method getDepartments (line 55) | public List<DepartmentEntity> getDepartments() {
method setDepartments (line 59) | public void setDepartments(List<DepartmentEntity> departments) {
method getIsAssociated (line 63) | public Integer getIsAssociated() {
method setIsAssociated (line 67) | public void setIsAssociated(Integer isAssociated) {
method getIsGranted (line 71) | public Integer getIsGranted() {
method setIsGranted (line 75) | public void setIsGranted(Integer isGranted) {
FILE: src/main/java/com/godcheese/nimrod/common/others/Common.java
class Common (line 28) | @Component
method initialize (line 48) | public void initialize() {
class Host (line 71) | public static class Host {
method getHost (line 79) | public void getHost() {
method getHost (line 83) | public static void getHost(WebApplicationContext webApplicationContext) {
method objectToJson (line 106) | public String objectToJson(Object object) throws JsonProcessingExcepti...
method jsonToObject (line 119) | public <T> T jsonToObject(String json, Class<T> clazz) throws IOExcept...
method trimSlash (line 123) | public static String trimSlash(String string) {
method i18n (line 143) | public Object i18n(String key, Object... params) {
method i18n (line 158) | public Object i18n(String key) {
FILE: src/main/java/com/godcheese/nimrod/common/others/FailureEntity.java
class FailureEntity (line 10) | @Component
method i18n (line 21) | public FailureEntity i18n(String key, Object... params) {
method i18n (line 31) | public FailureEntity i18n(String key) {
method getMessage (line 36) | @Override
method getCode (line 41) | @Override
method getTimestamp (line 46) | @Override
method FailureEntity (line 51) | public FailureEntity() {
method FailureEntity (line 54) | public FailureEntity(String message, int code) {
FILE: src/main/java/com/godcheese/nimrod/common/others/SpringContextUtil.java
class SpringContextUtil (line 18) | @Component
method setApplicationContext (line 23) | @Override
method getApplicationContext (line 30) | public static ApplicationContext getApplicationContext() {
method getBean (line 34) | public static Object getBean(String name) {
method getBean (line 38) | public static Object getBean(String name, Class<?> clazz) {
method getBean (line 42) | public static Object getBean(Class<?> clazz) {
method registerBean (line 46) | public static void registerBean(String beanId, String className) {
FILE: src/main/java/com/godcheese/nimrod/common/properties/AppProperties.java
class AppProperties (line 15) | @Component
method getName (line 25) | public String getName() {
method setName (line 29) | public void setName(String name) {
method getVersion (line 33) | public String getVersion() {
method setVersion (line 37) | public void setVersion(String version) {
method getSystemAdminRole (line 41) | public List<String> getSystemAdminRole() {
method setSystemAdminRole (line 45) | public void setSystemAdminRole(List<String> systemAdminRole) {
method getPermitUrl (line 49) | public String[] getPermitUrl() {
method setPermitUrl (line 53) | public void setPermitUrl(String[] permitUrl) {
method getI18n (line 57) | public String getI18n() {
method setI18n (line 61) | public void setI18n(String i18n) {
FILE: src/main/java/com/godcheese/nimrod/common/properties/LogProperties.java
class LogProperties (line 10) | @Component
method getDir (line 34) | public String getDir() {
method setDir (line 38) | public void setDir(String dir) {
method getMaxHistory (line 42) | public String getMaxHistory() {
method setMaxHistory (line 46) | public void setMaxHistory(String maxHistory) {
method getMaxFileSize (line 50) | public String getMaxFileSize() {
method setMaxFileSize (line 54) | public void setMaxFileSize(String maxFileSize) {
method getTotalSizeCap (line 58) | public String getTotalSizeCap() {
method setTotalSizeCap (line 62) | public void setTotalSizeCap(String totalSizeCap) {
FILE: src/main/java/com/godcheese/nimrod/common/properties/MultipartProperties.java
class MultipartProperties (line 13) | @Configuration
method MultipartProperties (line 19) | public MultipartProperties(org.springframework.boot.autoconfigure.web....
method multipartConfigElement (line 23) | @Bean
FILE: src/main/java/com/godcheese/nimrod/common/properties/UpdatableMultipartConfigElement.java
class UpdatableMultipartConfigElement (line 9) | public class UpdatableMultipartConfigElement extends MultipartConfigElem...
method UpdatableMultipartConfigElement (line 15) | public UpdatableMultipartConfigElement(String location, long maxFileSi...
method getMaxFileSize (line 19) | @Override
method setMaxFileSize (line 24) | public void setMaxFileSize(long maxFileSize) {
method getMaxRequestSize (line 28) | @Override
method setMaxRequestSize (line 33) | public void setMaxRequestSize(long maxRequestSize) {
FILE: src/main/java/com/godcheese/nimrod/common/security/AuthenticationFailureHandler.java
class AuthenticationFailureHandler (line 26) | @Component
method onAuthenticationFailure (line 37) | @Override
FILE: src/main/java/com/godcheese/nimrod/common/security/AuthenticationSuccessHandler.java
class AuthenticationSuccessHandler (line 22) | @Component
method onAuthenticationSuccess (line 28) | @Override
FILE: src/main/java/com/godcheese/nimrod/common/security/LogoutSuccessHandler.java
class LogoutSuccessHandler (line 24) | @Component
method onLogoutSuccess (line 32) | @Override
FILE: src/main/java/com/godcheese/nimrod/common/security/SimpleUser.java
class SimpleUser (line 22) | public class SimpleUser implements SimpleUserDetails, CredentialsContain...
method SimpleUser (line 45) | public SimpleUser(Long id, String username, String password,
method SimpleUser (line 69) | public SimpleUser(Long id, String username, String password, boolean e...
method getId (line 91) | @Override
method getAuthorities (line 96) | @Override
method getPassword (line 101) | @Override
method getUsername (line 106) | @Override
method isEnabled (line 111) | @Override
method isAccountNonExpired (line 116) | @Override
method isAccountNonLocked (line 121) | @Override
method isCredentialsNonExpired (line 126) | @Override
method eraseCredentials (line 131) | @Override
method sortAuthorities (line 136) | private static SortedSet<GrantedAuthority> sortAuthorities(
class AuthorityComparator (line 153) | private static class AuthorityComparator implements Comparator<Granted...
method compare (line 157) | @Override
method equals (line 182) | @Override
method hashCode (line 193) | @Override
method toString (line 198) | @Override
method withId (line 231) | public static SimpleUser.SimpleUserBuilder withId(Long id) {
method withUsername (line 241) | public static SimpleUser.SimpleUserBuilder withUsername(String usernam...
method builder (line 250) | public static SimpleUser.SimpleUserBuilder builder() {
method withDefaultPasswordEncoder (line 312) | @Deprecated
method withSimpleUserDetails (line 319) | public static SimpleUser.SimpleUserBuilder withSimpleUserDetails(Simpl...
class SimpleUserBuilder (line 334) | public static class SimpleUserBuilder {
method SimpleUserBuilder (line 348) | private SimpleUserBuilder() {
method id (line 352) | public SimpleUser.SimpleUserBuilder id(Long id) {
method username (line 365) | public SimpleUser.SimpleUserBuilder username(String username) {
method password (line 378) | public SimpleUser.SimpleUserBuilder password(String password) {
method passwordEncoder (line 392) | public SimpleUser.SimpleUserBuilder passwordEncoder(Function<String,...
method roles (line 423) | public SimpleUser.SimpleUserBuilder roles(String... roles) {
method authorities (line 443) | public SimpleUser.SimpleUserBuilder authorities(GrantedAuthority... ...
method authorities (line 456) | public SimpleUser.SimpleUserBuilder authorities(Collection<? extends...
method authorities (line 470) | public SimpleUser.SimpleUserBuilder authorities(String... authoritie...
method accountExpired (line 481) | public SimpleUser.SimpleUserBuilder accountExpired(boolean accountEx...
method accountLocked (line 493) | public SimpleUser.SimpleUserBuilder accountLocked(boolean accountLoc...
method credentialsExpired (line 505) | public SimpleUser.SimpleUserBuilder credentialsExpired(boolean crede...
method disabled (line 517) | public SimpleUser.SimpleUserBuilder disabled(boolean disabled) {
method build (line 522) | public SimpleUserDetails build() {
FILE: src/main/java/com/godcheese/nimrod/common/security/SimpleUserDetails.java
type SimpleUserDetails (line 13) | public interface SimpleUserDetails extends UserDetails, Serializable {
method getAuthorities (line 20) | @Override
method getPassword (line 28) | @Override
method getId (line 36) | Long getId();
method getUsername (line 43) | @Override
method isAccountNonExpired (line 51) | @Override
method isAccountNonLocked (line 59) | @Override
method isCredentialsNonExpired (line 67) | @Override
method isEnabled (line 75) | @Override
FILE: src/main/java/com/godcheese/nimrod/common/security/SimpleUserDetailsServiceImpl.java
class SimpleUserDetailsServiceImpl (line 37) | @Service
method loadUserByUsername (line 74) | @Override
method getUserEntity (line 110) | public UserEntity getUserEntity() {
method isExistSystemAdminRole (line 120) | private boolean isExistSystemAdminRole(String roleValue) {
method listAllSimpleGrantedAuthorityByUserId (line 138) | private List<SimpleGrantedAuthority> listAllSimpleGrantedAuthorityByUs...
method listAllSimpleGrantedAuthorityByRoleId (line 183) | private List<SimpleGrantedAuthority> listAllSimpleGrantedAuthorityByRo...
method getCurrentSimpleUser (line 194) | public static SimpleUser getCurrentSimpleUser() {
method getCurrentSimpleUser (line 205) | public static SimpleUser getCurrentSimpleUser(HttpServletRequest reque...
method isExistsAuthority (line 229) | public static boolean isExistsAuthority(Collection<GrantedAuthority> a...
FILE: src/main/java/com/godcheese/nimrod/common/security/VerifyCodeFilter.java
class VerifyCodeFilter (line 24) | @Component
method doFilterInternal (line 32) | @Override
method verifyCodeCheck (line 43) | private void verifyCodeCheck(HttpServletRequest httpServletRequest) th...
class VerifyCodeCheckException (line 60) | public class VerifyCodeCheckException extends AuthenticationException {
method VerifyCodeCheckException (line 63) | public VerifyCodeCheckException(String msg) {
FILE: src/main/java/com/godcheese/nimrod/common/security/WebSecurityConfiguration.java
class WebSecurityConfiguration (line 30) | @Configuration
method configure (line 53) | @Override
method configure (line 58) | @Override
method passwordEncoder (line 113) | @Bean
FILE: src/main/java/com/godcheese/nimrod/common/thymeleaf/NimrodDialect.java
class NimrodDialect (line 16) | @Component
method NimrodDialect (line 22) | protected NimrodDialect() {
method getProcessors (line 26) | @Override
FILE: src/main/java/com/godcheese/nimrod/common/thymeleaf/SecurityAuthorityElementProcessor.java
class SecurityAuthorityElementProcessor (line 23) | public class SecurityAuthorityElementProcessor extends AbstractElementTa...
method SecurityAuthorityElementProcessor (line 30) | public SecurityAuthorityElementProcessor(String dialectPrefix) {
method doProcess (line 34) | @Override
method hashCode (line 80) | @Override
method equals (line 85) | @Override
FILE: src/main/java/com/godcheese/nimrod/mail/Mail.java
class Mail (line 8) | public class Mail {
class Page (line 10) | public static class Page {
class Api (line 14) | public static class Api {
FILE: src/main/java/com/godcheese/nimrod/mail/api/MailRestController.java
class MailRestController (line 22) | @RestController
method addOne (line 42) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + MA...
method deleteAll (line 62) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + MA...
method getOne (line 74) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + MA...
method pageAll (line 87) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + MA...
FILE: src/main/java/com/godcheese/nimrod/mail/controller/MailController.java
class MailController (line 15) | @Controller
method send (line 24) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/MAIL/...
method sendDialog (line 35) | @PreAuthorize("isAuthenticated()")
method viewDialog (line 46) | @PreAuthorize("isAuthenticated()")
method list (line 57) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/MAIL/...
FILE: src/main/java/com/godcheese/nimrod/mail/entity/MailEntity.java
class MailEntity (line 10) | public class MailEntity implements Serializable {
method getId (line 56) | public Long getId() {
method setId (line 60) | public void setId(Long id) {
method getStatus (line 64) | public Integer getStatus() {
method setStatus (line 68) | public void setStatus(Integer status) {
method getFrom (line 72) | public String getFrom() {
method setFrom (line 76) | public void setFrom(String from) {
method getTo (line 80) | public String getTo() {
method setTo (line 84) | public void setTo(String to) {
method getSubject (line 88) | public String getSubject() {
method setSubject (line 92) | public void setSubject(String subject) {
method getText (line 96) | public String getText() {
method setText (line 100) | public void setText(String text) {
method getHtml (line 104) | public Integer getHtml() {
method setHtml (line 108) | public void setHtml(Integer html) {
method getError (line 112) | public String getError() {
method setError (line 116) | public void setError(String error) {
method getRemark (line 120) | public String getRemark() {
method setRemark (line 124) | public void setRemark(String remark) {
method getGmtModified (line 128) | public Date getGmtModified() {
method setGmtModified (line 132) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 136) | public Date getGmtCreated() {
method setGmtCreated (line 140) | public void setGmtCreated(Date gmtCreated) {
method toString (line 144) | @Override
FILE: src/main/java/com/godcheese/nimrod/mail/entity/MailFileEntity.java
class MailFileEntity (line 9) | public class MailFileEntity implements Serializable {
method getId (line 17) | public Long getId() {
method setId (line 21) | public void setId(Long id) {
method getMailId (line 25) | public Long getMailId() {
method setMailId (line 29) | public void setMailId(Long mailId) {
method getFileId (line 33) | public Long getFileId() {
method setFileId (line 37) | public void setFileId(Long fileId) {
FILE: src/main/java/com/godcheese/nimrod/mail/mapper/MailMapper.java
type MailMapper (line 16) | @Component("mailMapper")
method pageAll (line 25) | Page<MailEntity> pageAll();
method listAllByStatus (line 33) | List<MailEntity> listAllByStatus(@Param("statusList") List<Integer> st...
FILE: src/main/java/com/godcheese/nimrod/mail/service/MailService.java
type MailService (line 14) | public interface MailService {
method addOne (line 23) | MailEntity addOne(MailEntity mailEntity) throws BaseResponseException;
method deleteAll (line 31) | int deleteAll(List<Long> idList);
method getOne (line 39) | MailEntity getOne(Long id);
method pageAll (line 48) | Pagination<MailEntity> pageAll(Integer page, Integer rows);
method initialize (line 53) | void initialize();
method consume (line 60) | void consume(String message);
method produce (line 67) | void produce(String message);
method retry (line 74) | void retry(List<MailEntity> mailEntityList);
method retry (line 81) | void retry(boolean fail);
method loadHtmlTemplate (line 83) | String loadHtmlTemplate(String templatePath, Map<String, Object> varia...
FILE: src/main/java/com/godcheese/nimrod/mail/service/impl/MailServiceImpl.java
class MailServiceImpl (line 38) | @Service
method addOne (line 63) | @Override
method deleteAll (line 83) | @Override
method getOne (line 89) | @Override
method pageAll (line 94) | @Override
method initialize (line 104) | @Override
method consume (line 152) | @JmsListener(destination = MAIL_QUEUE)
method produce (line 166) | @Override
method send (line 172) | @Transactional(rollbackFor = Throwable.class)
method sendSimpleMailMessage (line 207) | private void sendSimpleMailMessage(String from, String to, String subj...
method sendSimpleMailMessage (line 211) | private void sendSimpleMailMessage(String from, String[] toArray, Stri...
method sendSimpleMailMessage (line 220) | private void sendSimpleMailMessage(String from, List<String> toList, S...
method sendMimeMailMessage (line 225) | private void sendMimeMailMessage(String from, String[] toArray, String...
method sendMimeMailMessage (line 235) | private void sendMimeMailMessage(String from, String to, String subjec...
method sendMimeMailMessage (line 239) | private void sendMimeMailMessage(String from, List<String> toList, Str...
method setFrom (line 249) | private void setFrom(MailEntity mailEntity) {
method retry (line 260) | @Override
method retry (line 272) | @Override
method loadHtmlTemplate (line 287) | @Override
FILE: src/main/java/com/godcheese/nimrod/quartz/Quartz.java
class Quartz (line 8) | public class Quartz {
class Page (line 10) | public static class Page {
class Api (line 16) | public static class Api {
FILE: src/main/java/com/godcheese/nimrod/quartz/api/JobRestController.java
class JobRestController (line 25) | @RestController
method addJob (line 46) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
method deleteAll (line 60) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
method saveOne (line 76) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
method getOne (line 89) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
method pageAll (line 102) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
method pauseAll (line 116) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
method resumeAll (line 130) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
method resetState (line 144) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
FILE: src/main/java/com/godcheese/nimrod/quartz/api/JobRuntimeLogRestController.java
class JobRuntimeLogRestController (line 23) | @RestController
method deleteAll (line 39) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
method getOne (line 51) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
method pageAll (line 64) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
method clearAll (line 75) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + JO...
FILE: src/main/java/com/godcheese/nimrod/quartz/controller/JobController.java
class JobController (line 15) | @RequestMapping(Quartz.Page.JOB)
method addDialog (line 24) | @PreAuthorize("isAuthenticated()")
method editDialog (line 35) | @PreAuthorize("isAuthenticated()")
method list (line 46) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/QUART...
FILE: src/main/java/com/godcheese/nimrod/quartz/controller/JobRuntimeLogController.java
class JobRuntimeLogController (line 15) | @RequestMapping(Quartz.Page.JOB_RUNTIME_LOG)
method list (line 23) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/QUART...
FILE: src/main/java/com/godcheese/nimrod/quartz/entity/JobEntity.java
class JobEntity (line 9) | public class JobEntity implements Serializable {
method getSchedName (line 36) | public String getSchedName() {
method setSchedName (line 40) | public void setSchedName(String schedName) {
method getJobName (line 44) | public String getJobName() {
method setJobName (line 48) | public void setJobName(String jobName) {
method getJobGroup (line 52) | public String getJobGroup() {
method setJobGroup (line 56) | public void setJobGroup(String jobGroup) {
method getDescription (line 60) | public String getDescription() {
method setDescription (line 64) | public void setDescription(String description) {
method getJobClassName (line 68) | public String getJobClassName() {
method setJobClassName (line 72) | public void setJobClassName(String jobClassName) {
method getIsDurable (line 76) | public String getIsDurable() {
method setIsDurable (line 80) | public void setIsDurable(String isDurable) {
method getIsNonconcurrent (line 84) | public String getIsNonconcurrent() {
method setIsNonconcurrent (line 88) | public void setIsNonconcurrent(String isNonconcurrent) {
method getIsUpdateDate (line 92) | public String getIsUpdateDate() {
method setIsUpdateDate (line 96) | public void setIsUpdateDate(String isUpdateDate) {
method getRequestsRecovery (line 100) | public String getRequestsRecovery() {
method setRequestsRecovery (line 104) | public void setRequestsRecovery(String requestsRecovery) {
method getTriggerName (line 108) | public String getTriggerName() {
method setTriggerName (line 112) | public void setTriggerName(String triggerName) {
method getTriggerGroup (line 116) | public String getTriggerGroup() {
method setTriggerGroup (line 120) | public void setTriggerGroup(String triggerGroup) {
method getNextFireTime (line 124) | public Long getNextFireTime() {
method setNextFireTime (line 128) | public void setNextFireTime(Long nextFireTime) {
method getPrevFireTime (line 132) | public Long getPrevFireTime() {
method setPrevFireTime (line 136) | public void setPrevFireTime(Long prevFireTime) {
method getPriority (line 140) | public Integer getPriority() {
method setPriority (line 144) | public void setPriority(Integer priority) {
method getTriggerState (line 148) | public String getTriggerState() {
method setTriggerState (line 152) | public void setTriggerState(String triggerState) {
method getTriggerType (line 156) | public String getTriggerType() {
method setTriggerType (line 160) | public void setTriggerType(String triggerType) {
method getStartTime (line 164) | public Long getStartTime() {
method setStartTime (line 168) | public void setStartTime(Long startTime) {
method getEndTime (line 172) | public Long getEndTime() {
method setEndTime (line 176) | public void setEndTime(Long endTime) {
method getCalendarName (line 180) | public String getCalendarName() {
method setCalendarName (line 184) | public void setCalendarName(String calendarName) {
method getMisfireInstr (line 188) | public Integer getMisfireInstr() {
method setMisfireInstr (line 192) | public void setMisfireInstr(Integer misfireInstr) {
method getCronExpression (line 196) | public String getCronExpression() {
method setCronExpression (line 200) | public void setCronExpression(String cronExpression) {
method getTimeZoneId (line 204) | public String getTimeZoneId() {
method setTimeZoneId (line 208) | public void setTimeZoneId(String timeZoneId) {
FILE: src/main/java/com/godcheese/nimrod/quartz/entity/JobRuntimeLogEntity.java
class JobRuntimeLogEntity (line 10) | public class JobRuntimeLogEntity implements Serializable {
method getId (line 21) | public Long getId() {
method setId (line 25) | public void setId(Long id) {
method getJobClassName (line 29) | public String getJobClassName() {
method setJobClassName (line 33) | public void setJobClassName(String jobClassName) {
method getJobGroup (line 37) | public String getJobGroup() {
method setJobGroup (line 41) | public void setJobGroup(String jobGroup) {
method getConsumingTime (line 45) | public Long getConsumingTime() {
method setConsumingTime (line 49) | public void setConsumingTime(Long consumingTime) {
method getJobException (line 53) | public String getJobException() {
method setJobException (line 57) | public void setJobException(String jobException) {
method getGmtCreated (line 61) | public Date getGmtCreated() {
method setGmtCreated (line 65) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/quartz/job/BaseJob.java
type BaseJob (line 11) | public interface BaseJob extends Job {
method execute (line 19) | @Override
FILE: src/main/java/com/godcheese/nimrod/quartz/job/SimpleJob.java
class SimpleJob (line 16) | @PersistJobDataAfterExecution
method execute (line 22) | @Override
FILE: src/main/java/com/godcheese/nimrod/quartz/job/SimpleJob2.java
class SimpleJob2 (line 16) | @PersistJobDataAfterExecution
method execute (line 22) | @Override
FILE: src/main/java/com/godcheese/nimrod/quartz/listener/GlobalJobListener.java
class GlobalJobListener (line 24) | @Component
method GlobalJobListener (line 35) | public GlobalJobListener() {
method jobRuntimeLogService (line 39) | @Autowired
method getName (line 45) | @Override
method jobToBeExecuted (line 50) | @Override
method jobExecutionVetoed (line 57) | @Override
method jobWasExecuted (line 61) | @Override
FILE: src/main/java/com/godcheese/nimrod/quartz/mapper/JobMapper.java
type JobMapper (line 14) | @Component("jobMapper")
method pageAll (line 23) | Page<JobEntity> pageAll();
method updateJobDetailsDescriptionByJobClassNameAndJobGroup (line 33) | int updateJobDetailsDescriptionByJobClassNameAndJobGroup(@Param("jobCl...
method getOneByJobClassNameAndJobGroup (line 42) | JobEntity getOneByJobClassNameAndJobGroup(@Param("jobClassName") Strin...
FILE: src/main/java/com/godcheese/nimrod/quartz/mapper/JobRuntimeLogMapper.java
type JobRuntimeLogMapper (line 13) | @Component("jobRuntimeLogMapper")
method pageAll (line 22) | Page<JobRuntimeLogEntity> pageAll();
FILE: src/main/java/com/godcheese/nimrod/quartz/service/JobRuntimeLogService.java
type JobRuntimeLogService (line 12) | public interface JobRuntimeLogService {
method deleteAll (line 15) | int deleteAll(List<Long> idList);
method getOne (line 23) | JobRuntimeLogEntity getOne(Long id);
method pageAll (line 32) | Pagination<JobRuntimeLogEntity> pageAll(Integer page, Integer rows);
method clearAll (line 37) | void clearAll();
FILE: src/main/java/com/godcheese/nimrod/quartz/service/JobService.java
type JobService (line 14) | public interface JobService {
method addOne (line 26) | Date addOne(String jobClassName, String jobGroup, String cronExpressio...
method deleteAll (line 36) | int deleteAll(List<String> jobClassNameList, List<String> jobGroupList...
method getOne (line 45) | JobEntity getOne(String jobClassName, String jobGroup);
method pageAll (line 54) | Pagination<JobEntity> pageAll(Integer page, Integer rows);
method updateCronExpressionByJobClassNameAndJobGroup (line 66) | Date updateCronExpressionByJobClassNameAndJobGroup(String jobClassName...
method pauseAll (line 76) | int pauseAll(List<String> jobClassNameList, List<String> jobGroupList)...
method resumeAll (line 86) | int resumeAll(List<String> jobClassNameList, List<String> jobGroupList...
method resetTriggerFromErrorState (line 96) | int resetTriggerFromErrorState(List<String> jobClassNameList, List<Str...
FILE: src/main/java/com/godcheese/nimrod/quartz/service/impl/JobRuntimeLogServiceImpl.java
class JobRuntimeLogServiceImpl (line 20) | @Service
method JobRuntimeLogServiceImpl (line 27) | public JobRuntimeLogServiceImpl() {
method deleteAll (line 31) | @Override
method getOne (line 36) | @Override
method pageAll (line 41) | @Override
method clearAll (line 51) | @Override
FILE: src/main/java/com/godcheese/nimrod/quartz/service/impl/JobServiceImpl.java
class JobServiceImpl (line 26) | @Service
method addOne (line 37) | @Transactional(rollbackFor = Throwable.class)
method deleteAll (line 54) | @Transactional(rollbackFor = Throwable.class)
method getOne (line 74) | @Override
method pageAll (line 79) | @Override
method updateCronExpressionByJobClassNameAndJobGroup (line 89) | @Transactional(rollbackFor = Throwable.class)
method pauseAll (line 107) | @Override
method resumeAll (line 124) | @Override
method resetTriggerFromErrorState (line 141) | @Override
method getClass (line 159) | private static BaseJob getClass(String classname) throws ClassNotFound...
FILE: src/main/java/com/godcheese/nimrod/system/System.java
class System (line 10) | public class System extends Url {
class Page (line 12) | public static class Page {
class Api (line 30) | public static class Api {
FILE: src/main/java/com/godcheese/nimrod/system/api/DictionaryCategoryRestController.java
class DictionaryCategoryRestController (line 25) | @RestController
method addOne (line 44) | @OperationLog(value = "新增数据字典分类", type = OperationLogType.API)
method deleteAll (line 64) | @OperationLog(value = "指定数据字典分类 id list,批量删除数据字典分类", type = OperationL...
method saveOne (line 80) | @OperationLog(value = "保存数据字典分类", type = OperationLogType.API)
method getOne (line 100) | @OperationLog(value = "指定数据字典分类 id,获取数据字典分类", type = OperationLogType....
method listAllParent (line 112) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + DI...
method listAllByParentId (line 124) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + DI...
method listAllAsComboTree (line 135) | @OperationLog(value = "获取所有数据字典分类,以 ComboTree 形式展示", type = OperationL...
FILE: src/main/java/com/godcheese/nimrod/system/api/DictionaryRestController.java
class DictionaryRestController (line 30) | @RestController
method addOne (line 56) | @OperationLog(value = "新增数据字典", type = OperationLogType.API)
method deleteAll (line 80) | @OperationLog(value = "指定数据字典 id,批量删除数据字典", type = OperationLogType.API)
method saveOne (line 102) | @OperationLog(value = "保存数据字典", type = OperationLogType.API)
method getOne (line 126) | @OperationLog(value = "指定数据字典 id,获取数据字典", type = OperationLogType.API)
method listAll (line 151) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + DI...
method listAllByKey (line 163) | @OperationLog(value = "指定数据字典键,从内存中获取所有数据字典", type = OperationLogType....
method syncToMemory (line 175) | @OperationLog(value = "同步数据字典到内存", type = OperationLogType.API)
method exportAllByDictionaryCategoryIdList (line 191) | @OperationLog(value = "指定数据字典分类 id list,导出数据字典", type = OperationLogTy...
method importAllByDictionaryCategoryId (line 205) | @OperationLog(value = "指定数据字典分类 id,导入数据字典", type = OperationLogType.API)
method pageAllByDictionaryCategoryId (line 220) | @OperationLog(value = "指定数据字典分类 id,分页获取数据字典", type = OperationLogType....
FILE: src/main/java/com/godcheese/nimrod/system/api/FileRestController.java
class FileRestController (line 31) | @RestController
method deleteAll (line 49) | @OperationLog(value = "指定文件 id list,批量删除文件", type = OperationLogType.API)
method saveOne (line 64) | @OperationLog(value = "保存文件", type = OperationLogType.API)
method getOne (line 82) | @OperationLog(value = "指定文件 id,获取文件", type = OperationLogType.API)
method pageAll (line 96) | @OperationLog(value = "分页获取所有文件", type = OperationLogType.API)
method uploadOne (line 109) | @OperationLog(value = "单个文件上传", type = OperationLogType.API)
method uploadAll (line 123) | @OperationLog(value = "多个文件上传", type = OperationLogType.API)
method download (line 138) | @OperationLog(value = "指定文件 guid,下载文件", type = OperationLogType.API)
method pageAllImage (line 152) | @OperationLog(value = "分页获取所有图片文件", type = OperationLogType.API)
method pageAllImageByCurrentUser (line 166) | @OperationLog(value = "根据当前用户,分页获取所有图片文件", type = OperationLogType.API)
FILE: src/main/java/com/godcheese/nimrod/system/api/OperationLogRestController.java
class OperationLogRestController (line 25) | @RestController
method deleteAll (line 39) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + OP...
method getOne (line 51) | @OperationLog(value = "指定操作日志 id,获取操作日志", type = OperationLogType.API)
method pageAll (line 65) | @OperationLog(value = "分页获取所有操作日志", type = OperationLogType.API)
method clearAll (line 77) | @OperationLog(value = "清空所有操作日志", type = OperationLogType.API)
FILE: src/main/java/com/godcheese/nimrod/system/api/SystemRestController.java
class SystemRestController (line 41) | @RestController
method verifyCode (line 64) | @OperationLog(value = "获取验证码", type = OperationLogType.API)
method systemInfo (line 119) | @OperationLog(value = "获取系统信息", type = OperationLogType.API)
FILE: src/main/java/com/godcheese/nimrod/system/controller/DictionaryCategoryController.java
class DictionaryCategoryController (line 13) | @Controller
method addDialog (line 16) | @PreAuthorize("isAuthenticated()")
method editDialog (line 22) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/system/controller/DictionaryController.java
class DictionaryController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/SYSTE...
method addDialog (line 24) | @PreAuthorize("isAuthenticated()")
method editDialog (line 30) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/system/controller/FileController.java
class FileController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/SYSTE...
method uploadOneDialog (line 24) | @PreAuthorize("isAuthenticated()")
method uploadAllDialog (line 30) | @PreAuthorize("isAuthenticated()")
method editDialog (line 36) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/system/controller/OperationLogController.java
class OperationLogController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/SYSTE...
method viewDialog (line 24) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/system/controller/SystemController.java
class SystemController (line 20) | @Controller
method index (line 33) | @OperationLog(value = "首页")
method workbench (line 45) | @OperationLog(value = "工作台")
FILE: src/main/java/com/godcheese/nimrod/system/entity/DictionaryCategoryEntity.java
class DictionaryCategoryEntity (line 12) | public class DictionaryCategoryEntity extends TreeGridAdapter<Dictionary...
method getId (line 42) | public Long getId() {
method setId (line 46) | public void setId(Long id) {
method getName (line 50) | public String getName() {
method setName (line 54) | public void setName(String name) {
method getParentId (line 58) | public Long getParentId() {
method setParentId (line 62) | public void setParentId(Long parentId) {
method getSort (line 66) | public Long getSort() {
method setSort (line 70) | public void setSort(Long sort) {
method getRemark (line 74) | public String getRemark() {
method setRemark (line 78) | public void setRemark(String remark) {
method getGmtModified (line 82) | public Date getGmtModified() {
method setGmtModified (line 86) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 90) | public Date getGmtCreated() {
method setGmtCreated (line 94) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/system/entity/DictionaryEntity.java
class DictionaryEntity (line 14) | public class DictionaryEntity implements Serializable {
method getId (line 90) | public Long getId() {
method setId (line 94) | public void setId(Long id) {
method getKeyName (line 98) | public String getKeyName() {
method setKeyName (line 102) | public void setKeyName(String keyName) {
method getKey (line 106) | public String getKey() {
method setKey (line 110) | public void setKey(String key) {
method getValueName (line 114) | public String getValueName() {
method setValueName (line 118) | public void setValueName(String valueName) {
method getValueSlug (line 122) | public String getValueSlug() {
method setValueSlug (line 126) | public void setValueSlug(String valueSlug) {
method getValue (line 130) | public String getValue() {
method setValue (line 134) | public void setValue(String value) {
method getEnabled (line 138) | public Integer getEnabled() {
method setEnabled (line 142) | public void setEnabled(Integer enabled) {
method getDictionaryCategoryId (line 146) | public Long getDictionaryCategoryId() {
method setDictionaryCategoryId (line 150) | public void setDictionaryCategoryId(Long dictionaryCategoryId) {
method getSort (line 154) | public Long getSort() {
method setSort (line 158) | public void setSort(Long sort) {
method getRemark (line 162) | public String getRemark() {
method setRemark (line 166) | public void setRemark(String remark) {
method getGmtModified (line 170) | public Date getGmtModified() {
method setGmtModified (line 174) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 178) | public Date getGmtCreated() {
method setGmtCreated (line 182) | public void setGmtCreated(Date gmtCreated) {
method toString (line 186) | @Override
FILE: src/main/java/com/godcheese/nimrod/system/entity/FileEntity.java
class FileEntity (line 12) | public class FileEntity extends BaseEntityAdapter<FileEntity> implements...
method getId (line 71) | public Long getId() {
method setId (line 75) | public void setId(Long id) {
method getUserId (line 79) | public Long getUserId() {
method setUserId (line 83) | public void setUserId(Long userId) {
method getName (line 87) | public String getName() {
method setName (line 91) | public void setName(String name) {
method getSize (line 95) | public Long getSize() {
method setSize (line 99) | public void setSize(Long size) {
method getPrettySize (line 103) | public String getPrettySize() {
method setPrettySize (line 107) | public void setPrettySize(String prettySize) {
method getMimeType (line 111) | public String getMimeType() {
method setMimeType (line 115) | public void setMimeType(String mimeType) {
method getPath (line 119) | public String getPath() {
method setPath (line 123) | public void setPath(String path) {
method getGuid (line 127) | public String getGuid() {
method setGuid (line 131) | public void setGuid(String guid) {
method getRemark (line 135) | public String getRemark() {
method setRemark (line 139) | public void setRemark(String remark) {
method getGmtModified (line 143) | public Date getGmtModified() {
method setGmtModified (line 147) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 151) | public Date getGmtCreated() {
method setGmtCreated (line 155) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/system/entity/OperationLogEntity.java
class OperationLogEntity (line 12) | public class OperationLogEntity extends BaseEntityAdapter<OperationLogEn...
method getId (line 103) | public Long getId() {
method setId (line 107) | public void setId(Long id) {
method getUserId (line 111) | public Long getUserId() {
method setUserId (line 115) | public void setUserId(Long userId) {
method getIpAddress (line 119) | public String getIpAddress() {
method setIpAddress (line 123) | public void setIpAddress(String ipAddress) {
method getOperationType (line 127) | public Integer getOperationType() {
method setOperationType (line 131) | public void setOperationType(Integer operationType) {
method getOperation (line 135) | public String getOperation() {
method setOperation (line 139) | public void setOperation(String operation) {
method getConsumingTime (line 143) | public Long getConsumingTime() {
method setConsumingTime (line 147) | public void setConsumingTime(Long consumingTime) {
method getRequestUrl (line 151) | public String getRequestUrl() {
method setRequestUrl (line 155) | public void setRequestUrl(String requestUrl) {
method getRequestMethod (line 159) | public String getRequestMethod() {
method setRequestMethod (line 163) | public void setRequestMethod(String requestMethod) {
method getRequestParameter (line 167) | public String getRequestParameter() {
method setRequestParameter (line 171) | public void setRequestParameter(String requestParameter) {
method getAcceptLanguage (line 175) | public String getAcceptLanguage() {
method setAcceptLanguage (line 179) | public void setAcceptLanguage(String acceptLanguage) {
method getReferer (line 183) | public String getReferer() {
method setReferer (line 187) | public void setReferer(String referer) {
method getUserAgent (line 191) | public String getUserAgent() {
method setUserAgent (line 195) | public void setUserAgent(String userAgent) {
method getHandler (line 199) | public String getHandler() {
method setHandler (line 203) | public void setHandler(String handler) {
method getStackTrace (line 207) | public String getStackTrace() {
method setStackTrace (line 211) | public void setStackTrace(String stackTrace) {
method getSessionId (line 215) | public String getSessionId() {
method setSessionId (line 219) | public void setSessionId(String sessionId) {
method getCookie (line 223) | public String getCookie() {
method setCookie (line 227) | public void setCookie(String cookie) {
method getStatus (line 231) | public String getStatus() {
method setStatus (line 235) | public void setStatus(String status) {
method getGmtCreated (line 239) | public Date getGmtCreated() {
method setGmtCreated (line 243) | public void setGmtCreated(Date gmtCreated) {
method toString (line 247) | @Override
FILE: src/main/java/com/godcheese/nimrod/system/mapper/DictionaryCategoryMapper.java
type DictionaryCategoryMapper (line 15) | @Component("dictionaryCategoryMapper")
method listAllByParentIdIsNull (line 24) | List<DictionaryCategoryEntity> listAllByParentIdIsNull();
method listAllByParentId (line 32) | List<DictionaryCategoryEntity> listAllByParentId(@Param("parentId") Lo...
method getOneByParentId (line 40) | DictionaryCategoryEntity getOneByParentId(@Param("parentId") Long pare...
FILE: src/main/java/com/godcheese/nimrod/system/mapper/DictionaryMapper.java
type DictionaryMapper (line 16) | @Component("dictionaryMapper")
method getOneByDictionaryCategoryId (line 26) | DictionaryEntity getOneByDictionaryCategoryId(@Param("dictionaryCatego...
method pageAllByDictionaryCategoryId (line 34) | Page<DictionaryEntity> pageAllByDictionaryCategoryId(@Param("dictionar...
method getOneByKeyAndValueSlug (line 43) | DictionaryEntity getOneByKeyAndValueSlug(@Param("key") String key, @Pa...
method listAllByKey (line 51) | List<DictionaryEntity> listAllByKey(@Param("key") String key);
method listAllByDictionaryCategoryId (line 59) | List<DictionaryEntity> listAllByDictionaryCategoryId(@Param("dictionar...
FILE: src/main/java/com/godcheese/nimrod/system/mapper/FileMapper.java
type FileMapper (line 14) | @Component("fileMapper")
method getOneByGuid (line 24) | FileEntity getOneByGuid(@Param("guid") String guid);
method pageAll (line 31) | Page<FileEntity> pageAll();
method pageAllByUserId (line 33) | Page<FileEntity> pageAllByUserId();
method pageAllImage (line 40) | Page<FileEntity> pageAllImage();
method pageAllImageByUserId (line 42) | Page<FileEntity> pageAllImageByUserId(@Param("userId") Long userId);
FILE: src/main/java/com/godcheese/nimrod/system/mapper/OperationLogMapper.java
type OperationLogMapper (line 13) | @Component("operationLogMapper")
method pageAll (line 22) | Page<OperationLogEntity> pageAll();
FILE: src/main/java/com/godcheese/nimrod/system/service/DictionaryCategoryService.java
type DictionaryCategoryService (line 13) | public interface DictionaryCategoryService {
method listAllParent (line 20) | List<DictionaryCategoryEntity> listAllParent();
method listAllByParentId (line 28) | List<DictionaryCategoryEntity> listAllByParentId(Long parentId);
method insertOne (line 36) | DictionaryCategoryEntity insertOne(DictionaryCategoryEntity dictionary...
method updateOne (line 44) | DictionaryCategoryEntity updateOne(DictionaryCategoryEntity dictionary...
method deleteAll (line 53) | int deleteAll(List<Long> idList) throws BaseResponseException;
method getOne (line 61) | DictionaryCategoryEntity getOne(Long id);
method listAllDictionaryCategoryComboTree (line 68) | List<ComboTree> listAllDictionaryCategoryComboTree();
method getDictionaryCategoryChildrenComboTree (line 77) | List<ComboTree> getDictionaryCategoryChildrenComboTree(long parentId, ...
FILE: src/main/java/com/godcheese/nimrod/system/service/DictionaryService.java
type DictionaryService (line 17) | public interface DictionaryService {
method addDictionaryToServletContext (line 22) | void addDictionaryToServletContext();
method getFromDatabase (line 31) | Object getFromDatabase(String key, String valueSlug);
method get (line 40) | Object get(String key, String valueSlug);
method get (line 50) | Object get(String key, String valueSlug, Object defaultValue);
method get (line 58) | List<DictionaryEntity> get(String key);
method keyValueMap (line 65) | Map<String, Map<String, Object>> keyValueMap();
method addOne (line 73) | DictionaryEntity addOne(DictionaryEntity dictionaryEntity);
method saveOne (line 81) | DictionaryEntity saveOne(DictionaryEntity dictionaryEntity);
method deleteAll (line 89) | int deleteAll(List<Long> idList);
method getOne (line 97) | DictionaryEntity getOne(Long id);
method exportAllByDictionaryCategoryIdList (line 107) | void exportAllByDictionaryCategoryIdList(HttpServletRequest httpServle...
method importAllByDictionaryCategoryId (line 116) | void importAllByDictionaryCategoryId(MultipartFile multipartFile, Long...
method pageAllByDictionaryCategoryId (line 126) | Pagination<DictionaryEntity> pageAllByDictionaryCategoryId(Long dictio...
FILE: src/main/java/com/godcheese/nimrod/system/service/FileService.java
type FileService (line 16) | public interface FileService {
method pageAll (line 25) | Pagination<FileEntity> pageAll(Integer page, Integer rows);
method uploadOne (line 34) | FileEntity uploadOne(MultipartFile file) throws BaseResponseException;
method uploadAll (line 43) | List<FileEntity> uploadAll(List<MultipartFile> fileList) throws BaseRe...
method saveOne (line 51) | FileEntity saveOne(FileEntity fileEntity);
method deleteAll (line 59) | int deleteAll(List<Long> idList);
method getOne (line 67) | FileEntity getOne(Long id);
method download (line 77) | void download(HttpServletRequest httpServletRequest, HttpServletRespon...
method pageAllImage (line 86) | Pagination<FileEntity> pageAllImage(Integer page, Integer rows, Long u...
FILE: src/main/java/com/godcheese/nimrod/system/service/OperationLogService.java
type OperationLogService (line 12) | public interface OperationLogService {
method pageAll (line 21) | Pagination<OperationLogEntity> pageAll(Integer page, Integer rows);
method addOne (line 29) | OperationLogEntity addOne(OperationLogEntity operationLogEntity);
method deleteAll (line 37) | int deleteAll(List<Long> idList);
method getOne (line 45) | OperationLogEntity getOne(Long id);
method clearAll (line 50) | void clearAll();
FILE: src/main/java/com/godcheese/nimrod/system/service/impl/DictionaryCategoryServiceImpl.java
class DictionaryCategoryServiceImpl (line 26) | @Service
method listAllParent (line 40) | @Override
method listAllByParentId (line 53) | @Override
method insertOne (line 66) | @Override
method updateOne (line 75) | @Override
method deleteAll (line 86) | @Override
method getOne (line 105) | @Override
method listAllDictionaryCategoryComboTree (line 110) | @Override
method getDictionaryCategoryChildrenComboTree (line 124) | @Override
FILE: src/main/java/com/godcheese/nimrod/system/service/impl/DictionaryServiceImpl.java
class DictionaryServiceImpl (line 37) | @Service
method addDictionaryToServletContext (line 49) | @Override
method getFromDatabase (line 101) | @Override
method getValueByKeyAndValueSlug (line 117) | private Object getValueByKeyAndValueSlug(String key, String valueSlug) {
method get (line 133) | @Override
method get (line 146) | @Override
method get (line 161) | @Override
method keyValueMap (line 167) | @Override
method pageAllByDictionaryCategoryId (line 189) | @Override
method addOne (line 199) | @Override
method saveOne (line 211) | @Override
method deleteAll (line 230) | @Override
method getOne (line 236) | @Override
method exportAllByDictionaryCategoryIdList (line 241) | @Override
method importAllByDictionaryCategoryId (line 251) | @Override
method uploadAndReadExcel (line 276) | private List<Map<Integer, Cell>> uploadAndReadExcel(MultipartFile mult...
FILE: src/main/java/com/godcheese/nimrod/system/service/impl/FileServiceImpl.java
class FileServiceImpl (line 33) | @Service
method pageAll (line 46) | @Override
method upload (line 75) | private FileEntity upload(MultipartFile file) throws BaseResponseExcep...
method uploadOne (line 104) | @Override
method uploadAll (line 117) | @Override
method saveOne (line 135) | @Override
method deleteAll (line 146) | @Override
method getOne (line 163) | @Override
method download (line 178) | @Override
method pageAllImage (line 193) | @Override
FILE: src/main/java/com/godcheese/nimrod/system/service/impl/OperationLogServiceImpl.java
class OperationLogServiceImpl (line 25) | @Service
method pageAll (line 38) | @Override
method addOne (line 57) | @Override
method deleteAll (line 64) | @Override
method getOne (line 69) | @Override
method clearAll (line 79) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/User.java
class User (line 9) | public class User extends Url {
class Page (line 11) | public static class Page {
class Api (line 52) | public static class Api {
FILE: src/main/java/com/godcheese/nimrod/user/api/ApiCategoryRestController.java
class ApiCategoryRestController (line 26) | @RestController
method listAllParent (line 40) | @OperationLog(value = "分页获取所有父级 API 分类", type = OperationLogType.API)
method listAllByParentId (line 53) | @OperationLog(value = "获取所有 API 分类", type = OperationLogType.API)
method addOne (line 69) | @OperationLog(value = "新增 API 分类", type = OperationLogType.API)
method saveOne (line 92) | @OperationLog(value = "保存 API 分类", type = OperationLogType.API)
method deleteAll (line 113) | @OperationLog(value = "指定 API 分类 id list,批量删除 API 分类", type = Operatio...
method getOne (line 126) | @OperationLog(value = "指定 API 分类 id,获取所有 API 分类", type = OperationLogT...
method listAllAsComboTree (line 138) | @OperationLog(value = "获取所有 API 分类,以 ComboTree 形式展示", type = Operation...
FILE: src/main/java/com/godcheese/nimrod/user/api/ApiRestController.java
class ApiRestController (line 25) | @RestController
method pageAllByApiCategoryId (line 42) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + AP...
method addOne (line 60) | @OperationLog(value = "新增 API", type = OperationLogType.API)
method saveOne (line 85) | @OperationLog(value = "保存 API", type = OperationLogType.API)
method deleteAll (line 107) | @OperationLog(value = "指定 API id list,批量删除 API", type = OperationLogTy...
method getOne (line 120) | @OperationLog(value = "指定 API id,获取所有 API", type = OperationLogType.API)
FILE: src/main/java/com/godcheese/nimrod/user/api/DepartmentRestController.java
class DepartmentRestController (line 30) | @RestController
method listAllParent (line 46) | @OperationLog(value = "获取所有父级部门", type = OperationLogType.API)
method listAllByParentId (line 59) | @OperationLog(value = "获取所有子级部门", type = OperationLogType.API)
method addOne (line 74) | @OperationLog(value = "新增部门", type = OperationLogType.API)
method saveOne (line 95) | @OperationLog(value = "保存部门", type = OperationLogType.API)
method deleteAll (line 114) | @OperationLog(value = "指定部门 id list,批量删除部门", type = OperationLogType.API)
method getOne (line 127) | @OperationLog(value = "指定部门 id,获取部门", type = OperationLogType.API)
method listAllByDepartmentId (line 134) | @OperationLog(value = "根据子节点获取所有父级节点部门", type = OperationLogType.API)
method forEachParent (line 148) | public void forEachParent(DepartmentEntity departmentEntity, List<Depa...
method listAllAsComboTree (line 164) | @OperationLog(value = "分页获取所有父级部门", type = OperationLogType.API)
method listAllAsTreeGrid (line 190) | @OperationLog(value = "分页获取所有父级部门", type = OperationLogType.API)
FILE: src/main/java/com/godcheese/nimrod/user/api/RoleAuthorityRestController.java
class RoleAuthorityRestController (line 22) | @RestController
method grantAllByRoleIdAndApiAuthorityList (line 38) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method revokeAllByRoleIdAndApiAuthorityList (line 51) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method grantAllByRoleIdAndViewPageAuthorityList (line 64) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method revokeAllByRoleIdAndViewPageAuthorityList (line 77) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method grantAllByRoleIdAndViewPageComponentAuthorityList (line 90) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method revokeAllByRoleIdAndViewPageComponentAuthorityList (line 103) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method isGrantedByRoleIdAndAuthority (line 116) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method getOne (line 128) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
FILE: src/main/java/com/godcheese/nimrod/user/api/RoleRestController.java
class RoleRestController (line 25) | @RestController
method pageAll (line 41) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method listAll (line 52) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method listAllByUserId (line 64) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method addOne (line 79) | @OperationLog(value = "新增角色", type = OperationLogType.API)
method saveOne (line 101) | @OperationLog(value = "保存角色", type = OperationLogType.API)
method deleteAll (line 121) | @OperationLog(value = "指定角色 id list,批量删除角色", type = OperationLogType.API)
method getOne (line 134) | @OperationLog(value = "指定角色 id,获取角色", type = OperationLogType.API)
FILE: src/main/java/com/godcheese/nimrod/user/api/RoleViewMenuCategoryRestController.java
class RoleViewMenuCategoryRestController (line 23) | @RestController
method grantAllByRoleIdAndViewMenuCategoryIdList (line 39) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method revokeAllByRoleIdAndViewMenuCategoryIdList (line 52) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
FILE: src/main/java/com/godcheese/nimrod/user/api/RoleViewMenuRestController.java
class RoleViewMenuRestController (line 23) | @RestController
method grantAllByRoleIdAndViewMenuIdList (line 39) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
method revokeAllByRoleIdAndViewMenuIdList (line 52) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + RO...
FILE: src/main/java/com/godcheese/nimrod/user/api/UserRestController.java
class UserRestController (line 36) | @RestController
method pageAll (line 74) | @OperationLog(value = "分页获取所有用户", type = OperationLogType.API)
method pageAllByDepartmentId (line 95) | @OperationLog(value = "指定部门 id,分页获取所有用户", type = OperationLogType.API)
method addOne (line 116) | @OperationLog(value = "新增用户", type = OperationLogType.API)
method saveOne (line 148) | @OperationLog(value = "保存用户", type = OperationLogType.API)
method fakeDeleteAll (line 172) | @OperationLog(value = "指定用户 id list,删除用户", type = OperationLogType.API)
method revokeFakeDeleteAll (line 185) | @OperationLog(value = "指定用户 id list,撤销删除用户", type = OperationLogType.API)
method deleteAll (line 198) | @OperationLog(value = "指定用户 id list,批量永久删除用户", type = OperationLogType...
method getOne (line 211) | @OperationLog(value = "指定用户 id,获取用户(除密码和角色)", type = OperationLogType....
method getCurrentUser (line 224) | @OperationLog(value = "获取当前用户(用户 id、用户名、头像、电子邮箱、权限、部门)", type = Operat...
method profile (line 260) | @OperationLog(value = "指定用户 id,获取用户(除密码和角色)", type = OperationLogType....
method getProfileByCurrentUser (line 272) | @OperationLog(value = "指定用户 id,获取用户(除密码和角色)", type = OperationLogType....
method saveProfile (line 286) | @OperationLog(value = "保存用户", type = OperationLogType.API)
method sendEmailVerifyCodeByCurrentUser (line 300) | @OperationLog(value = "指定用户 id,获取用户(除密码和角色)", type = OperationLogType....
method checkEmailVerifyCodeByCurrentUser (line 317) | @OperationLog(value = "指定用户 id,获取用户(除密码和角色)", type = OperationLogType....
method changeEmailByCurrentUser (line 330) | @OperationLog(value = "指定用户 id,获取用户(除密码和角色)", type = OperationLogType....
method changePasswordByCurrentUser (line 343) | @OperationLog(value = "指定用户 id,获取用户(除密码和角色)", type = OperationLogType....
FILE: src/main/java/com/godcheese/nimrod/user/api/UserRoleRestController.java
class UserRoleRestController (line 24) | @RestController
method pageAll (line 40) | @OperationLog(value = "分页获取所有用户角色", type = OperationLogType.API)
method addOne (line 54) | @OperationLog(value = "新增用户角色", type = OperationLogType.API)
method deleteAllByUserIdAndRoleIdList (line 72) | @OperationLog(value = "指定用户 id、角色 id list,批量删除用户角色", type = OperationL...
FILE: src/main/java/com/godcheese/nimrod/user/api/ViewMenuCategoryRestController.java
class ViewMenuCategoryRestController (line 27) | @RestController
method listAllParent (line 41) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + VI...
method listAllByParentId (line 53) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + VI...
method addOne (line 69) | @OperationLog(value = "新增视图菜单分类", type = OperationLogType.API)
method saveOne (line 93) | @OperationLog(value = "保存视图菜单分类", type = OperationLogType.API)
method deleteAll (line 114) | @OperationLog(value = "指定视图菜单分类 id,批量删除视图菜单分类", type = OperationLogTyp...
method getOne (line 127) | @OperationLog(value = "指定视图菜单分类 id,获取视图菜单分类", type = OperationLogType....
method listAllParentByRoleId (line 140) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + VI...
method listAllParentByUserId (line 152) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + VI...
method listAllChildByParentIdAndUserId (line 165) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + VI...
method listAllChildViewMenuCategoryAndViewMenuByParentIdAndUserId (line 178) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + VI...
method listAll (line 189) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + VI...
method searchAllByName (line 200) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('" + VI...
method listAllAsComboTree (line 211) | @OperationLog(value = "获取所有视图菜单分类,以 ComboTree 形式展示", type = OperationL...
FILE: src/main/java/com/godcheese/nimrod/user/api/ViewMenuRestController.java
class ViewMenuRestController (line 26) | @RestController
method addOne (line 47) | @OperationLog(value = "新增视图菜单", type = OperationLogType.API)
method saveOne (line 74) | @OperationLog(value = "保存视图菜单", type = OperationLogType.API)
method deleteAll (line 96) | @OperationLog(value = "指定视图菜单 id list,批量删除视图菜单", type = OperationLogTy...
method getOne (line 109) | @OperationLog(value = "指定视图菜单 id,获取视图菜单", type = OperationLogType.API)
method pageAllByViewMenuCategoryId (line 139) | @OperationLog(value = "指定视图菜单分类 id,分页获取所有视图菜单", type = OperationLogTyp...
FILE: src/main/java/com/godcheese/nimrod/user/api/ViewPageApiRestController.java
class ViewPageApiRestController (line 24) | @RestController
method associateAllByViewPageIdAndApiIdList (line 52) | @OperationLog(value = "指定视图页面 id,API id list,批量关联", type = OperationLo...
method revokeAssociateAllByViewPageIdAndApiIdList (line 66) | @OperationLog(value = "指定视图页面 id,API id list,批量撤销关联", type = Operation...
FILE: src/main/java/com/godcheese/nimrod/user/api/ViewPageCategoryRestController.java
class ViewPageCategoryRestController (line 26) | @RestController
method addOne (line 44) | @OperationLog(value = "新增视图页面分类", type = OperationLogType.API)
method saveOne (line 67) | @OperationLog(value = "保存视图页面分类", type = OperationLogType.API)
method deleteAll (line 88) | @OperationLog(value = "指定视图页面分类 id,批量删除视图页面分类", type = OperationLogTyp...
method getOne (line 101) | @OperationLog(value = "指定视图页面分类 id,获取视图页面分类", type = OperationLogType....
method listAllParent (line 113) | @OperationLog(value = "获取所有父级视图页面分类", type = OperationLogType.API)
method listAllByParentId (line 126) | @OperationLog(value = "指定父级视图页面分类 id,获取所有视图页面分类", type = OperationLogT...
method listAllAsComboTree (line 138) | @OperationLog(value = "获取所有视图页面分类,以 ComboTree 形式展示", type = OperationL...
FILE: src/main/java/com/godcheese/nimrod/user/api/ViewPageComponentApiRestController.java
class ViewPageComponentApiRestController (line 24) | @RestController
method associateAllByViewPageComponentIdAndApiIdList (line 52) | @OperationLog(value = "指定视图页面组件 id、API id list,批量关联", type = Operation...
method revokeAssociateAllByViewPageComponentIdAndApiIdList (line 66) | @OperationLog(value = "指定视图页面组件 id、API id,批量撤销关联", type = OperationLog...
FILE: src/main/java/com/godcheese/nimrod/user/api/ViewPageComponentRestController.java
class ViewPageComponentRestController (line 25) | @RestController
method addOne (line 46) | @OperationLog(value = "新增视图页面组件", type = OperationLogType.API)
method saveOne (line 73) | @OperationLog(value = "保存视图页面组件", type = OperationLogType.API)
method deleteAll (line 94) | @OperationLog(value = "指定视图页面组件 id,批量删除视图页面组件", type = OperationLogTyp...
method getOne (line 107) | @OperationLog(value = "指定视图组件 id,获取视图组件", type = OperationLogType.API)
method pageAllByViewPageId (line 122) | @OperationLog(value = "指定视图页面 id,分页获取所有视图页面组件", type = OperationLogTyp...
FILE: src/main/java/com/godcheese/nimrod/user/api/ViewPageRestController.java
class ViewPageRestController (line 25) | @RestController
method addOne (line 46) | @OperationLog(value = "新增视图页面", type = OperationLogType.API)
method saveOne (line 74) | @OperationLog(value = "保存视图页面", type = OperationLogType.API)
method deleteAll (line 96) | @OperationLog(value = "指定视图页面 id,批量删除视图页面", type = OperationLogType.API)
method getOne (line 109) | @OperationLog(value = "指定视图页面 id,获取视图页面", type = OperationLogType.API)
method pageAllByViewPageCategoryId (line 124) | @OperationLog(value = "指定视图页面分类 id,分页获取所有视图页面", type = OperationLogTyp...
FILE: src/main/java/com/godcheese/nimrod/user/controller/ApiCategoryController.java
class ApiCategoryController (line 14) | @Controller
method addDialog (line 17) | @OperationLog(value = "新增")
method editDialog (line 24) | @OperationLog(value = "编辑")
FILE: src/main/java/com/godcheese/nimrod/user/controller/ApiController.java
class ApiController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/SYSTE...
method addDialog (line 24) | @PreAuthorize("isAuthenticated()")
method editDialog (line 30) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/user/controller/DepartmentController.java
class DepartmentController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/USER/...
method addDialog (line 24) | @PreAuthorize("isAuthenticated()")
method editDialog (line 30) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/user/controller/RoleAuthorityController.java
class RoleAuthorityController (line 15) | @Controller
method addDialog (line 18) | @PreAuthorize("isAuthenticated()")
method editDialog (line 24) | @PreAuthorize("isAuthenticated()")
method viewPage (line 30) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/USER/...
method api (line 36) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/USER/...
FILE: src/main/java/com/godcheese/nimrod/user/controller/RoleController.java
class RoleController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/USER/...
method addDialog (line 24) | @PreAuthorize("isAuthenticated()")
method editDialog (line 30) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/user/controller/RoleViewMenuController.java
class RoleViewMenuController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/USER/...
FILE: src/main/java/com/godcheese/nimrod/user/controller/UserController.java
class UserController (line 16) | @Controller
method login (line 19) | @OperationLog("登录页")
method user (line 25) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/USER/...
method addDialog (line 31) | @PreAuthorize("isAuthenticated()")
method editDialog (line 37) | @PreAuthorize("isAuthenticated()")
method changeAvatarDialog (line 43) | @PreAuthorize("isAuthenticated()")
method changeEmailDialog (line 49) | @PreAuthorize("isAuthenticated()")
method changePasswordDialog (line 55) | @PreAuthorize("isAuthenticated()")
method profile (line 61) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/user/controller/UserRoleController.java
class UserRoleController (line 15) | @Controller
method userRole (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/USER/...
method addDialog (line 24) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/user/controller/ViewMenuCategoryController.java
class ViewMenuCategoryController (line 13) | @Controller
method addDialog (line 16) | @PreAuthorize("isAuthenticated()")
method editDialog (line 22) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/user/controller/ViewMenuController.java
class ViewMenuController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/USER/...
method addDialog (line 24) | @PreAuthorize("isAuthenticated()")
method editDialog (line 30) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/user/controller/ViewPageApiController.java
class ViewPageApiController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/SYSTE...
FILE: src/main/java/com/godcheese/nimrod/user/controller/ViewPageCategoryController.java
class ViewPageCategoryController (line 13) | @Controller
method addDialog (line 16) | @PreAuthorize("isAuthenticated()")
method editDialog (line 22) | @PreAuthorize("isAuthenticated()")
FILE: src/main/java/com/godcheese/nimrod/user/controller/ViewPageComponentApiController.java
class ViewPageComponentApiController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/SYSTE...
FILE: src/main/java/com/godcheese/nimrod/user/controller/ViewPageComponentController.java
class ViewPageComponentController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/SYSTE...
method addDialog (line 24) | @RequestMapping("/add_dialog")
method editDialog (line 29) | @RequestMapping("/edit_dialog")
FILE: src/main/java/com/godcheese/nimrod/user/controller/ViewPageController.java
class ViewPageController (line 15) | @Controller
method list (line 18) | @PreAuthorize("hasRole('" + SYSTEM_ADMIN + "') OR hasAuthority('/SYSTE...
method addDialog (line 24) | @RequestMapping("/add_dialog")
method editDialog (line 29) | @RequestMapping("/edit_dialog")
FILE: src/main/java/com/godcheese/nimrod/user/entity/ApiCategoryEntity.java
class ApiCategoryEntity (line 12) | public class ApiCategoryEntity extends TreeGridAdapter<ApiCategoryEntity...
method getId (line 52) | public Long getId() {
method setId (line 56) | public void setId(Long id) {
method getName (line 60) | public String getName() {
method setName (line 64) | public void setName(String name) {
method getParentId (line 68) | public Long getParentId() {
method setParentId (line 72) | public void setParentId(Long parentId) {
method getSort (line 76) | public Long getSort() {
method setSort (line 80) | public void setSort(Long sort) {
method getRemark (line 84) | public String getRemark() {
method setRemark (line 88) | public void setRemark(String remark) {
method getGmtModified (line 92) | public Date getGmtModified() {
method setGmtModified (line 96) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 100) | public Date getGmtCreated() {
method setGmtCreated (line 104) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/ApiEntity.java
class ApiEntity (line 13) | public class ApiEntity extends BaseEntityAdapter<ApiEntity> implements S...
method getId (line 63) | public Long getId() {
method setId (line 67) | public void setId(Long id) {
method getName (line 71) | public String getName() {
method setName (line 75) | public void setName(String name) {
method getUrl (line 79) | public String getUrl() {
method setUrl (line 83) | public void setUrl(String url) {
method getAuthority (line 87) | public String getAuthority() {
method setAuthority (line 91) | public void setAuthority(String authority) {
method getApiCategoryId (line 95) | public Long getApiCategoryId() {
method setApiCategoryId (line 99) | public void setApiCategoryId(Long apiCategoryId) {
method getSort (line 103) | public Long getSort() {
method setSort (line 107) | public void setSort(Long sort) {
method getRemark (line 111) | public String getRemark() {
method setRemark (line 115) | public void setRemark(String remark) {
method getGmtModified (line 119) | public Date getGmtModified() {
method setGmtModified (line 123) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 127) | public Date getGmtCreated() {
method setGmtCreated (line 131) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/DepartmentEntity.java
class DepartmentEntity (line 10) | public class DepartmentEntity implements Serializable {
method getId (line 44) | public Long getId() {
method setId (line 48) | public void setId(Long id) {
method getName (line 52) | public String getName() {
method setName (line 56) | public void setName(String name) {
method getParentId (line 60) | public Long getParentId() {
method setParentId (line 64) | public void setParentId(Long parentId) {
method getRemark (line 68) | public String getRemark() {
method setRemark (line 72) | public void setRemark(String remark) {
method getGmtModified (line 76) | public Date getGmtModified() {
method setGmtModified (line 80) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 84) | public Date getGmtCreated() {
method setGmtCreated (line 88) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/RoleAuthorityEntity.java
class RoleAuthorityEntity (line 9) | public class RoleAuthorityEntity implements Serializable {
method getId (line 29) | public Long getId() {
method setId (line 33) | public void setId(Long id) {
method getRoleId (line 37) | public Long getRoleId() {
method setRoleId (line 41) | public void setRoleId(Long roleId) {
method getAuthority (line 45) | public String getAuthority() {
method setAuthority (line 49) | public void setAuthority(String authority) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/RoleEntity.java
class RoleEntity (line 10) | public class RoleEntity implements Serializable {
method getId (line 45) | public Long getId() {
method setId (line 49) | public void setId(Long id) {
method getName (line 53) | public String getName() {
method setName (line 57) | public void setName(String name) {
method getValue (line 61) | public String getValue() {
method setValue (line 65) | public void setValue(String value) {
method getRemark (line 69) | public String getRemark() {
method setRemark (line 73) | public void setRemark(String remark) {
method getGmtModified (line 77) | public Date getGmtModified() {
method setGmtModified (line 81) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 85) | public Date getGmtCreated() {
method setGmtCreated (line 89) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/RoleViewMenuCategoryEntity.java
class RoleViewMenuCategoryEntity (line 9) | public class RoleViewMenuCategoryEntity implements Serializable {
method getId (line 28) | public Long getId() {
method setId (line 32) | public void setId(Long id) {
method getRoleId (line 36) | public Long getRoleId() {
method setRoleId (line 40) | public void setRoleId(Long roleId) {
method getViewMenuCategoryId (line 44) | public String getViewMenuCategoryId() {
method setViewMenuCategoryId (line 48) | public void setViewMenuCategoryId(String viewMenuCategoryId) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/RoleViewMenuEntity.java
class RoleViewMenuEntity (line 9) | public class RoleViewMenuEntity implements Serializable {
method getId (line 29) | public Long getId() {
method setId (line 33) | public void setId(Long id) {
method getRoleId (line 37) | public Long getRoleId() {
method setRoleId (line 41) | public void setRoleId(Long roleId) {
method getViewMenuId (line 45) | public String getViewMenuId() {
method setViewMenuId (line 49) | public void setViewMenuId(String viewMenuId) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/UserEntity.java
class UserEntity (line 13) | public class UserEntity extends BaseEntityAdapter<UserEntity> implements...
method getId (line 86) | public Long getId() {
method setId (line 90) | public void setId(Long id) {
method getPassword (line 94) | public String getPassword() {
method setPassword (line 98) | public void setPassword(String password) {
method getUsername (line 102) | @Override
method setUsername (line 107) | @Override
method getAvatar (line 112) | public String getAvatar() {
method setAvatar (line 116) | public void setAvatar(String avatar) {
method getEmail (line 120) | public String getEmail() {
method setEmail (line 124) | public void setEmail(String email) {
method getEmailIsVerified (line 128) | public Integer getEmailIsVerified() {
method setEmailIsVerified (line 132) | public void setEmailIsVerified(Integer emailIsVerified) {
method getDepartmentId (line 136) | public Long getDepartmentId() {
method setDepartmentId (line 140) | public void setDepartmentId(Long departmentId) {
method getDepartment (line 144) | public List<DepartmentEntity> getDepartment() {
method setDepartment (line 148) | public void setDepartment(List<DepartmentEntity> department) {
method getEnabled (line 152) | public Integer getEnabled() {
method setEnabled (line 156) | public void setEnabled(Integer enabled) {
method getRemark (line 160) | public String getRemark() {
method setRemark (line 164) | public void setRemark(String remark) {
method getGmtPasswordLastModified (line 168) | public Date getGmtPasswordLastModified() {
method setGmtPasswordLastModified (line 172) | public void setGmtPasswordLastModified(Date gmtPasswordLastModified) {
method getGmtLastLogin (line 176) | public Date getGmtLastLogin() {
method setGmtLastLogin (line 180) | public void setGmtLastLogin(Date gmtLastLogin) {
method getGmtDeleted (line 184) | public Date getGmtDeleted() {
method setGmtDeleted (line 188) | public void setGmtDeleted(Date gmtDeleted) {
method getGmtModified (line 192) | public Date getGmtModified() {
method setGmtModified (line 196) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 200) | public Date getGmtCreated() {
method setGmtCreated (line 204) | public void setGmtCreated(Date gmtCreated) {
method toString (line 208) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/entity/UserRoleEntity.java
class UserRoleEntity (line 9) | public class UserRoleEntity implements Serializable {
method getId (line 29) | public Long getId() {
method setId (line 33) | public void setId(Long id) {
method getUserId (line 37) | public Long getUserId() {
method setUserId (line 41) | public void setUserId(Long userId) {
method getRoleId (line 45) | public Long getRoleId() {
method setRoleId (line 49) | public void setRoleId(Long roleId) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/UserVerifyCodeEntity.java
class UserVerifyCodeEntity (line 10) | public class UserVerifyCodeEntity implements Serializable {
method getId (line 44) | public Long getId() {
method setId (line 48) | public void setId(Long id) {
method getUserId (line 52) | public Long getUserId() {
method setUserId (line 56) | public void setUserId(Long userId) {
method getVerifyFrom (line 60) | public String getVerifyFrom() {
method setVerifyFrom (line 64) | public void setVerifyFrom(String verifyFrom) {
method getVerifyCode (line 68) | public String getVerifyCode() {
method setVerifyCode (line 72) | public void setVerifyCode(String verifyCode) {
method getGmtExpires (line 76) | public Date getGmtExpires() {
method setGmtExpires (line 80) | public void setGmtExpires(Date gmtExpires) {
method getGmtCreated (line 84) | public Date getGmtCreated() {
method setGmtCreated (line 88) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/ViewMenuCategoryEntity.java
class ViewMenuCategoryEntity (line 12) | public class ViewMenuCategoryEntity extends TreeGridAdapter<ViewMenuCate...
method getId (line 57) | public Long getId() {
method setId (line 61) | public void setId(Long id) {
method getName (line 65) | public String getName() {
method setName (line 69) | public void setName(String name) {
method getIcon (line 73) | public String getIcon() {
method setIcon (line 77) | public void setIcon(String icon) {
method getParentId (line 81) | public Long getParentId() {
method setParentId (line 85) | public void setParentId(Long parentId) {
method getSort (line 89) | public Long getSort() {
method setSort (line 93) | public void setSort(Long sort) {
method getRemark (line 97) | public String getRemark() {
method setRemark (line 101) | public void setRemark(String remark) {
method getGmtModified (line 105) | public Date getGmtModified() {
method setGmtModified (line 109) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 113) | public Date getGmtCreated() {
method setGmtCreated (line 117) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/ViewMenuEntity.java
class ViewMenuEntity (line 12) | public class ViewMenuEntity extends BaseEntityAdapter<ViewMenuEntity> im...
method getId (line 62) | public Long getId() {
method setId (line 66) | public void setId(Long id) {
method getName (line 70) | public String getName() {
method setName (line 74) | public void setName(String name) {
method getIcon (line 78) | public String getIcon() {
method setIcon (line 82) | public void setIcon(String icon) {
method getUrl (line 86) | public String getUrl() {
method setUrl (line 90) | public void setUrl(String url) {
method getViewMenuCategoryId (line 94) | public Long getViewMenuCategoryId() {
method setViewMenuCategoryId (line 98) | public void setViewMenuCategoryId(Long viewMenuCategoryId) {
method getSort (line 102) | public Long getSort() {
method setSort (line 106) | public void setSort(Long sort) {
method getRemark (line 110) | public String getRemark() {
method setRemark (line 114) | public void setRemark(String remark) {
method getGmtModified (line 118) | public Date getGmtModified() {
method setGmtModified (line 122) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 126) | public Date getGmtCreated() {
method setGmtCreated (line 130) | public void setGmtCreated(Date gmtCreated) {
method toString (line 134) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/entity/ViewPageApiEntity.java
class ViewPageApiEntity (line 9) | public class ViewPageApiEntity implements Serializable {
method getId (line 26) | public Long getId() {
method setId (line 30) | public void setId(Long id) {
method getViewPageId (line 34) | public Long getViewPageId() {
method setViewPageId (line 38) | public void setViewPageId(Long viewPageId) {
method getApiId (line 42) | public Long getApiId() {
method setApiId (line 46) | public void setApiId(Long apiId) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/ViewPageCategoryEntity.java
class ViewPageCategoryEntity (line 12) | public class ViewPageCategoryEntity extends TreeGridAdapter<ViewPageCate...
method getId (line 51) | public Long getId() {
method setId (line 55) | public void setId(Long id) {
method getName (line 59) | public String getName() {
method setName (line 63) | public void setName(String name) {
method getParentId (line 67) | public Long getParentId() {
method setParentId (line 71) | public void setParentId(Long parentId) {
method getSort (line 75) | public Long getSort() {
method setSort (line 79) | public void setSort(Long sort) {
method getRemark (line 83) | public String getRemark() {
method setRemark (line 87) | public void setRemark(String remark) {
method getGmtModified (line 91) | public Date getGmtModified() {
method setGmtModified (line 95) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 99) | public Date getGmtCreated() {
method setGmtCreated (line 103) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/ViewPageComponentApiEntity.java
class ViewPageComponentApiEntity (line 9) | public class ViewPageComponentApiEntity implements Serializable {
method getId (line 25) | public Long getId() {
method setId (line 29) | public void setId(Long id) {
method getViewPageComponentId (line 33) | public Long getViewPageComponentId() {
method setViewPageComponentId (line 37) | public void setViewPageComponentId(Long viewPageComponentId) {
method getApiId (line 41) | public Long getApiId() {
method setApiId (line 45) | public void setApiId(Long apiId) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/ViewPageComponentEntity.java
class ViewPageComponentEntity (line 13) | public class ViewPageComponentEntity extends BaseEntityAdapter<ViewPageC...
method getId (line 62) | public Long getId() {
method setId (line 66) | public void setId(Long id) {
method getViewPageComponentType (line 70) | public Long getViewPageComponentType() {
method setViewPageComponentType (line 74) | public void setViewPageComponentType(Long viewPageComponentType) {
method getName (line 78) | public String getName() {
method setName (line 82) | public void setName(String name) {
method getAuthority (line 86) | public String getAuthority() {
method setAuthority (line 90) | public void setAuthority(String authority) {
method getViewPageId (line 94) | public Long getViewPageId() {
method setViewPageId (line 98) | public void setViewPageId(Long viewPageId) {
method getSort (line 102) | public Long getSort() {
method setSort (line 106) | public void setSort(Long sort) {
method getRemark (line 110) | public String getRemark() {
method setRemark (line 114) | public void setRemark(String remark) {
method getGmtModified (line 118) | public Date getGmtModified() {
method setGmtModified (line 122) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 126) | public Date getGmtCreated() {
method setGmtCreated (line 130) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/user/entity/ViewPageEntity.java
class ViewPageEntity (line 12) | public class ViewPageEntity extends BaseEntityAdapter<ViewPageEntity> im...
method getId (line 62) | public Long getId() {
method setId (line 66) | public void setId(Long id) {
method getName (line 70) | public String getName() {
method setName (line 74) | public void setName(String name) {
method getUrl (line 78) | public String getUrl() {
method setUrl (line 82) | public void setUrl(String url) {
method getAuthority (line 86) | public String getAuthority() {
method setAuthority (line 90) | public void setAuthority(String authority) {
method getViewPageCategoryId (line 94) | public Long getViewPageCategoryId() {
method setViewPageCategoryId (line 98) | public void setViewPageCategoryId(Long viewPageCategoryId) {
method getSort (line 102) | public Long getSort() {
method setSort (line 106) | public void setSort(Long sort) {
method getRemark (line 110) | public String getRemark() {
method setRemark (line 114) | public void setRemark(String remark) {
method getGmtModified (line 118) | public Date getGmtModified() {
method setGmtModified (line 122) | public void setGmtModified(Date gmtModified) {
method getGmtCreated (line 126) | public Date getGmtCreated() {
method setGmtCreated (line 130) | public void setGmtCreated(Date gmtCreated) {
FILE: src/main/java/com/godcheese/nimrod/user/mapper/ApiCategoryMapper.java
type ApiCategoryMapper (line 15) | @Component("apiCategoryMapper")
method listAllByParentIdIsNull (line 24) | List<ApiCategoryEntity> listAllByParentIdIsNull();
method listAllByParentId (line 32) | List<ApiCategoryEntity> listAllByParentId(@Param("parentId") Long pare...
method getOneByParentId (line 40) | ApiCategoryEntity getOneByParentId(@Param("parentId") Long parentId);
FILE: src/main/java/com/godcheese/nimrod/user/mapper/ApiMapper.java
type ApiMapper (line 16) | @Component("apiMapper")
method getOneByApiCategoryId (line 26) | ApiEntity getOneByApiCategoryId(@Param("apiCategoryId") Long apiCatego...
method pageAllByApiCategoryId (line 34) | Page<ApiEntity> pageAllByApiCategoryId(@Param("apiCategoryId") Long ap...
method getOneByAuthority (line 42) | ApiEntity getOneByAuthority(@Param("authority") String authority);
method pageAllByApiCategoryIdList (line 50) | Page<ApiEntity> pageAllByApiCategoryIdList(@Param("apiCategoryIdList")...
FILE: src/main/java/com/godcheese/nimrod/user/mapper/DepartmentMapper.java
type DepartmentMapper (line 15) | @Component("departmentMapper")
method listAllParentIdIsNull (line 24) | List<DepartmentEntity> listAllParentIdIsNull();
method listAllByParentId (line 32) | List<DepartmentEntity> listAllByParentId(@Param("parentId") Long paren...
method getOneByParentId (line 40) | DepartmentEntity getOneByParentId(@Param("parentId") Long parentId);
FILE: src/main/java/com/godcheese/nimrod/user/mapper/RoleAuthorityMapper.java
type RoleAuthorityMapper (line 15) | @Component("roleAuthorityMapper")
method listAllByRoleId (line 25) | List<RoleAuthorityEntity> listAllByRoleId(@Param("roleId") Long roleId);
method getOneByRoleIdAndAuthority (line 34) | RoleAuthorityEntity getOneByRoleIdAndAuthority(@Param("roleId") Long r...
method deleteAllByRoleIdAndAuthorityList (line 43) | int deleteAllByRoleIdAndAuthorityList(@Param("roleId") Long roleId, @P...
method insertAllByRoleIdAndAuthorityList (line 52) | int insertAllByRoleIdAndAuthorityList(@Param("roleId") Long roleId, @P...
method deleteAllByRoleId (line 60) | int deleteAllByRoleId(@Param("roleId") Long roleId);
FILE: src/main/java/com/godcheese/nimrod/user/mapper/RoleMapper.java
type RoleMapper (line 14) | @Component("roleMapper")
method getOneByValue (line 24) | RoleEntity getOneByValue(@Param("value") String value);
method pageAll (line 31) | Page<RoleEntity> pageAll();
FILE: src/main/java/com/godcheese/nimrod/user/mapper/RoleViewMenuCategoryMapper.java
type RoleViewMenuCategoryMapper (line 15) | @Component("roleViewMenuCategoryMapper")
method listAllByRoleId (line 25) | List<RoleViewMenuCategoryEntity> listAllByRoleId(@Param("roleId") Long...
method deleteAllByRoleId (line 33) | int deleteAllByRoleId(@Param("roleId") Long roleId);
method insertAllByRoleIdAndViewMenuCategoryIdList (line 42) | int insertAllByRoleIdAndViewMenuCategoryIdList(@Param("roleId") Long r...
method getOneByRoleIdAndViewMenuCategoryId (line 51) | RoleViewMenuCategoryEntity getOneByRoleIdAndViewMenuCategoryId(@Param(...
method deleteAllByRoleIdAndViewMenuCategoryIdList (line 60) | int deleteAllByRoleIdAndViewMenuCategoryIdList(@Param("roleId") Long r...
method deleteAllByViewMenuCategoryId (line 68) | int deleteAllByViewMenuCategoryId(@Param("viewMenuCategoryId") Long vi...
FILE: src/main/java/com/godcheese/nimrod/user/mapper/RoleViewMenuMapper.java
type RoleViewMenuMapper (line 15) | @Component("roleViewMenuEntity")
method listAllByRoleId (line 25) | List<RoleViewMenuEntity> listAllByRoleId(@Param("roleId") Long roleId);
method deleteAllByRoleId (line 33) | int deleteAllByRoleId(@Param("roleId") Long roleId);
method insertAllByRoleIdAndViewMenuIdList (line 42) | int insertAllByRoleIdAndViewMenuIdList(@Param("roleId") Long roleId, @...
method getOneByRoleIdAndViewMenuId (line 51) | RoleViewMenuEntity getOneByRoleIdAndViewMenuId(@Param("roleId") Long r...
method deleteAllByRoleIdAndViewMenuIdList (line 60) | int deleteAllByRoleIdAndViewMenuIdList(@Param("roleId") Long roleId, @...
method deleteAllByViewMenuIdList (line 68) | int deleteAllByViewMenuIdList(@Param("viewMenuIdList") List<Long> view...
FILE: src/main/java/com/godcheese/nimrod/user/mapper/UserMapper.java
type UserMapper (line 17) | @Component("userMapper")
method getOneByUsername (line 26) | UserEntity getOneByUsername(@Param("username") String username);
method getOneByEmail (line 34) | UserEntity getOneByEmail(@Param("email") String email);
method getOneByCellphone (line 42) | UserEntity getOneByCellphone(@Param("cellphone") String cellphone);
method fakeDeleteAll (line 51) | int fakeDeleteAll(@Param("idList") List<Long> idList, @Param("gmtDelet...
method revokeFakeDeleteAll (line 59) | int revokeFakeDeleteAll(@Param("idList") List<Long> idList);
method pageAllByDepartmentId (line 67) | Page<UserEntity> pageAllByDepartmentId(@Param("departmentId") Long dep...
method getOneByDepartmentId (line 75) | UserEntity getOneByDepartmentId(@Param("departmentId") Long department...
method pageAll (line 87) | Page<UserEntity> pageAll(@Param("userEntity") UserEntity userEntity, @...
FILE: src/main/java/com/godcheese/nimrod/user/mapper/UserRoleMapper.java
type UserRoleMapper (line 16) | @Component("userRoleMapper")
method listAllByUserId (line 26) | List<UserRoleEntity> listAllByUserId(@Param("userId") Long userId);
method getOneByRoleId (line 34) | UserRoleEntity getOneByRoleId(@Param("roleId") Long roleId);
method deleteAllByUserIdAndRoleIdList (line 43) | int deleteAllByUserIdAndRoleIdList(@Param("userId") Long userId, @Para...
method getOneByUserIdAndRoleId (line 52) | UserRoleEntity getOneByUserIdAndRoleId(@Param("userId") Long userId, @...
method deleteAllByRoleId (line 60) | int deleteAllByRoleId(@Param("roleId") Long roleId);
method pageAll (line 67) | Page<UserRoleEntity> pageAll();
method insertAllByUserIdAndRoleIdList (line 76) | int insertAllByUserIdAndRoleIdList(@Param("userId") Long userId, @Para...
FILE: src/main/java/com/godcheese/nimrod/user/mapper/UserVerifyCodeMapper.java
type UserVerifyCodeMapper (line 13) | @Component("userVerifyCodeMapper")
method getOneByUserIdAndVerifyFrom (line 16) | UserVerifyCodeEntity getOneByUserIdAndVerifyFrom(@Param("userId") Long...
method updateOneByUserIdAndVerifyFrom (line 18) | int updateOneByUserIdAndVerifyFrom(UserVerifyCodeEntity userVerifyCode...
method deleteAllByEmail (line 20) | int deleteAllByEmail(String email);
FILE: src/main/java/com/godcheese/nimrod/user/mapper/ViewMenuCategoryMapper.java
type ViewMenuCategoryMapper (line 15) | @Component("viewMenuCategoryMapper")
method listAllByParentIdIsNullAndRoleId (line 25) | List<ViewMenuCategoryEntity> listAllByParentIdIsNullAndRoleId(@Param("...
method listAllByParentIdIsNull (line 32) | List<ViewMenuCategoryEntity> listAllByParentIdIsNull();
method listAllByParentIdAndRoleId (line 41) | List<ViewMenuCategoryEntity> listAllByParentIdAndRoleId(@Param("parent...
method listAllByParentId (line 49) | List<ViewMenuCategoryEntity> listAllByParentId(@Param("parentId") Long...
method getOneByParentId (line 58) | ViewMenuCategoryEntity getOneByParentId(@Param("parentId") Long parent...
method searchAllByName (line 66) | List<ViewMenuCategoryEntity> searchAllByName(@Param("name") String name);
method listAllByParentIdIsNullAndRoleIdList (line 74) | List<ViewMenuCategoryEntity> listAllByParentIdIsNullAndRoleIdList(@Par...
method listAllByParentIdAndRoleIdList (line 83) | List<ViewMenuCategoryEntity> listAllByParentIdAndRoleIdList(@Param("pa...
FILE: src/main/java/com/godcheese/nimrod/user/mapper/ViewMenuMapper.java
type ViewMenuMapper (line 16) | @Component("viewMenuMapper")
method listAllByViewMenuCategoryIdAndRoleId (line 27) | List<ViewMenuEntity> listAllByViewMenuCategoryIdAndRoleId(@Param("view...
method listAllByViewMenuCategoryIdList (line 35) | List<ViewMenuEntity> listAllByViewMenuCategoryIdList(@Param("viewMenuC...
method pageAllByViewMenuCategoryIdList (line 43) | Page<ViewMenuEntity> pageAllByViewMenuCategoryIdList(@Param("viewMenuC...
method getOneByViewMenuCategoryId (line 51) | ViewMenuEntity getOneByViewMenuCategoryId(@Param("viewMenuCategoryId")...
method pageAllByViewMenuCategoryIdAndRoleId (line 60) | Page<ViewMenuEntity> pageAllByViewMenuCategoryIdAndRoleId(@Param("view...
method pageAllByViewMenuCategoryId (line 68) | Page<ViewMenuEntity> pageAllByViewMenuCategoryId(@Param("viewMenuCateg...
method searchAllByName (line 76) | List<ViewMenuEntity> searchAllByName(@Param("name") String name);
method listAllByViewMenuCategoryIdAndRoleIdList (line 85) | List<ViewMenuEntity> listAllByViewMenuCategoryIdAndRoleIdList(@Param("...
FILE: src/main/java/com/godcheese/nimrod/user/mapper/ViewPageApiMapper.java
type ViewPageApiMapper (line 15) | @Component("viewPageApiMapper")
method getOneByViewPageIdAndApiId (line 26) | ViewPageApiEntity getOneByViewPageIdAndApiId(@Param("viewPageId") Long...
method insertAllByViewPageIdAndApiIdList (line 35) | int insertAllByViewPageIdAndApiIdList(@Param("viewPageId") Long viewPa...
method deleteAllByViewPageIdAndApiIdList (line 44) | int deleteAllByViewPageIdAndApiIdList(@Param("viewPageId") Long viewPa...
method listAllByViewPageId (line 52) | List<ViewPageApiEntity> listAllByViewPageId(@Param("viewPageId") Long ...
FILE: src/main/java/com/godcheese/nimrod/user/mapper/ViewPageCategoryMapper.java
type ViewPageCategoryMapper (line 15) | @Component("viewPageCategoryMapper")
method listAllByParentIdIsNull (line 24) | List<ViewPageCategoryEntity> listAllByParentIdIsNull();
method listAllByParentId (line 32) | List<ViewPageCategoryEntity> listAllByParentId(@Param("parentId") Long...
method getOneByParentId (line 40) | ViewPageCategoryEntity getOneByParentId(@Param("parentId") Long parent...
method getOneByViewPageId (line 48) | ViewPageCategoryEntity getOneByViewPageId(@Param("viewPageId") Long vi...
FILE: src/main/java/com/godcheese/nimrod/user/mapper/ViewPageComponentApiMapper.java
type ViewPageComponentApiMapper (line 15) | @Component("viewPageComponentApiMapper")
method getOneByViewPageComponentIdAndApiId (line 26) | ViewPageComponentApiEntity getOneByViewPageComponentIdAndApiId(@Param(...
method insertAllByViewPageComponentIdAndApiIdList (line 35) | int insertAllByViewPageComponentIdAndApiIdList(@Param("viewPageCompone...
method deleteAllByViewPageComponentIdAndApiIdList (line 44) | int deleteAllByViewPageComponentIdAndApiIdList(@Param("viewPageCompone...
method listAllByViewPageComponentId (line 52) | List<ViewPageComponentApiEntity> listAllByViewPageComponentId(@Param("...
FILE: src/main/java/com/godcheese/nimrod/user/mapper/ViewPageComponentMapper.java
type ViewPageComponentMapper (line 16) | @Component("viewPageComponentMapper")
method pageAllByViewPageId (line 26) | Page<ViewPageComponentEntity> pageAllByViewPageId(@Param("viewPageId")...
method getOneByAuthority (line 34) | ViewPageComponentEntity getOneByAuthority(@Param("authority") String a...
method pageAllByViewPageIdList (line 42) | Page<ViewPageComponentEntity> pageAllByViewPageIdList(@Param("viewPage...
FILE: src/main/java/com/godcheese/nimrod/user/mapper/ViewPageMapper.java
type ViewPageMapper (line 16) | @Component("viewPageMapper")
method pageAllByViewPageCategoryId (line 26) | Page<ViewPageEntity> pageAllByViewPageCategoryId(@Param("viewPageCateg...
method countAllByViewPageCategoryId (line 34) | int countAllByViewPageCategoryId(@Param("viewPageCategoryId") Long vie...
method getOneByAuthority (line 42) | ViewPageEntity getOneByAuthority(@Param("authority") String authority);
method listAllByViewPageCategoryId (line 50) | List<ViewPageEntity> listAllByViewPageCategoryId(@Param("viewPageCateg...
method getOneByViewPageCategoryId (line 58) | ViewPageEntity getOneByViewPageCategoryId(@Param("viewPageCategoryId")...
method pageAllByViewPageCategoryIdList (line 66) | Page<ViewPageEntity> pageAllByViewPageCategoryIdList(@Param("viewPageC...
FILE: src/main/java/com/godcheese/nimrod/user/service/ApiCategoryService.java
type ApiCategoryService (line 13) | public interface ApiCategoryService {
method addOne (line 20) | ApiCategoryEntity addOne(ApiCategoryEntity apiCategoryEntity);
method saveOne (line 28) | ApiCategoryEntity saveOne(ApiCategoryEntity apiCategoryEntity) throws ...
method deleteAll (line 37) | int deleteAll(List<Long> idList) throws BaseResponseException;
method getOne (line 45) | ApiCategoryEntity getOne(Long id);
method listAllParent (line 52) | List<ApiCategoryEntity> listAllParent();
method listAllByParentId (line 60) | List<ApiCategoryEntity> listAllByParentId(Long parentId);
method listAllApiCategoryComboTree (line 67) | List<ComboTree> listAllApiCategoryComboTree();
method getApiCategoryChildrenComboTree (line 76) | List<ComboTree> getApiCategoryChildrenComboTree(long parentId, List<Co...
FILE: src/main/java/com/godcheese/nimrod/user/service/ApiService.java
type ApiService (line 13) | public interface ApiService {
method addOne (line 22) | ApiEntity addOne(ApiEntity apiEntity) throws BaseResponseException;
method saveOne (line 30) | ApiEntity saveOne(ApiEntity apiEntity);
method deleteAll (line 38) | int deleteAll(List<Long> idList);
method getOne (line 46) | ApiEntity getOne(Long id);
method pageAllByApiCategoryId (line 58) | Pagination<ApiEntity> pageAllByApiCategoryId(Integer page, Integer row...
FILE: src/main/java/com/godcheese/nimrod/user/service/DepartmentService.java
type DepartmentService (line 15) | public interface DepartmentService {
method addOne (line 22) | DepartmentEntity addOne(DepartmentEntity departmentEntity);
method saveOne (line 30) | DepartmentEntity saveOne(DepartmentEntity departmentEntity);
method deleteAll (line 39) | int deleteAll(List<Long> idList) throws BaseResponseException;
method getOne (line 47) | DepartmentEntity getOne(Long id);
method listAllParent (line 54) | List<DepartmentEntity> listAllParent();
method listAllByParentId (line 62) | List<DepartmentEntity> listAllByParentId(Long parentId);
method pageAll (line 79) | Pagination<DepartmentEntity> pageAll(Integer page, Integer rows);
method listAll (line 86) | List<DepartmentEntity> listAll();
method listAllByDepartmentId (line 102) | List<DepartmentEntity> listAllByDepartmentId(Long id);
method listAllDepartmentComboTree (line 109) | List<ComboTree> listAllDepartmentComboTree();
method getDepartmentChildrenComboTree (line 118) | List<ComboTree> getDepartmentChildrenComboTree(long parentId, List<Com...
method listAllDepartmentTreeGrid (line 125) | List<TreeGrid> listAllDepartmentTreeGrid();
method getDepartmentChildrenTreeGrid (line 134) | List<TreeGrid> getDepartmentChildrenTreeGrid(long parentId, List<TreeG...
FILE: src/main/java/com/godcheese/nimrod/user/service/RoleAuthorityService.java
type RoleAuthorityService (line 12) | public interface RoleAuthorityService {
method getOne (line 20) | RoleAuthorityEntity getOne(Long id);
method grantAllByRoleIdAndApiAuthorityList (line 29) | int grantAllByRoleIdAndApiAuthorityList(Long roleId, List<String> apiA...
method revokeAllByRoleIdAndApiAuthorityList (line 38) | int revokeAllByRoleIdAndApiAuthorityList(Long roleId, List<String> api...
method grantAllByRoleIdAndViewPageAuthorityList (line 47) | int grantAllByRoleIdAndViewPageAuthorityList(Long roleId, List<String>...
method revokeAllByRoleIdAndViewPageAuthorityList (line 56) | int revokeAllByRoleIdAndViewPageAuthorityList(Long roleId, List<String...
method grantAllByRoleIdAndViewPageComponentAuthorityList (line 65) | int grantAllByRoleIdAndViewPageComponentAuthorityList(Long roleId, Lis...
method revokeAllByRoleIdAndViewPageComponentAuthorityList (line 74) | int revokeAllByRoleIdAndViewPageComponentAuthorityList(Long roleId, Li...
method isGrantedByRoleIdAndAuthority (line 83) | Map<String, Object> isGrantedByRoleIdAndAuthority(Long roleId, String ...
FILE: src/main/java/com/godcheese/nimrod/user/service/RoleService.java
type RoleService (line 14) | public interface RoleService {
method addOne (line 23) | RoleEntity addOne(RoleEntity roleEntity) throws BaseResponseException;
method saveOne (line 32) | RoleEntity saveOne(RoleEntity roleEntity) throws BaseResponseException;
method deleteAll (line 41) | int deleteAll(List<Long> idList) throws BaseResponseException;
method getOne (line 49) | RoleEntity getOne(Long id);
method listAllByUserRoleList (line 57) | List<RoleEntity> listAllByUserRoleList(List<UserRoleEntity> userRoleEn...
method pageAll (line 66) | Pagination<RoleEntity> pageAll(Integer page, Integer rows);
method listAll (line 73) | List<RoleEntity> listAll();
method listAllByUserId (line 81) | List<RoleEntity> listAllByUserId(Long userId);
FILE: src/main/java/com/godcheese/nimrod/user/service/RoleViewMenuCategoryService.java
type RoleViewMenuCategoryService (line 9) | public interface RoleViewMenuCategoryService {
method grantAllByRoleIdAndViewMenuCategoryIdList (line 17) | int grantAllByRoleIdAndViewMenuCategoryIdList(Long roleId, List<Long> ...
method revokeAllByRoleIdAndViewMenuCategoryIdList (line 26) | int revokeAllByRoleIdAndViewMenuCategoryIdList(Long roleId, List<Long>...
FILE: src/main/java/com/godcheese/nimrod/user/service/RoleViewMenuService.java
type RoleViewMenuService (line 9) | public interface RoleViewMenuService {
method grantAllByRoleIdAndViewMenuIdList (line 17) | int grantAllByRoleIdAndViewMenuIdList(Long roleId, List<Long> viewMenu...
method revokeAllByRoleIdAndViewMenuIdList (line 26) | int revokeAllByRoleIdAndViewMenuIdList(Long roleId, List<Long> viewMen...
FILE: src/main/java/com/godcheese/nimrod/user/service/UserRoleService.java
type UserRoleService (line 12) | public interface UserRoleService {
method addOne (line 19) | UserRoleEntity addOne(UserRoleEntity userRoleEntity);
method deleteAllByUserIdAndRoleIdList (line 28) | int deleteAllByUserIdAndRoleIdList(Long userId, List<Long> roleIdList);
method pageAll (line 37) | Pagination<UserRoleEntity> pageAll(Integer page, Integer rows);
method listAllByUserId (line 39) | List<UserRoleEntity> listAllByUserId(Long userId);
FILE: src/main/java/com/godcheese/nimrod/user/service/UserService.java
type UserService (line 14) | public interface UserService {
method addOne (line 23) | UserEntity addOne(UserEntity userEntity) throws BaseResponseException;
method saveOne (line 32) | UserEntity saveOne(UserEntity userEntity) throws BaseResponseException;
method deleteAll (line 40) | int deleteAll(List<Long> idList);
method getOne (line 48) | UserEntity getOne(Long id);
method getCurrentUser (line 55) | UserEntity getCurrentUser();
method getCurrentUserNoPassword (line 62) | UserEntity getCurrentUserNoPassword();
method getCurrentUser (line 70) | UserEntity getCurrentUser(HttpServletRequest request);
method getOneByIdAndPassword (line 92) | UserEntity getOneByIdAndPassword(Long id, String password);
method getOneByUsernameAndPassword (line 101) | UserEntity getOneByUsernameAndPassword(String username, String password);
method getOneByEmailAndPassword (line 110) | UserEntity getOneByEmailAndPassword(String email, String password);
method getOneByCellphoneAndPassword (line 119) | UserEntity getOneByCellphoneAndPassword(String cellphone, String passw...
method checkPassword (line 128) | boolean checkPassword(String plainPassword, String cipherPassword);
method encodePassword (line 136) | String encodePassword(String plainPassword);
method getOneByIdNoPassword (line 144) | UserEntity getOneByIdNoPassword(Long id);
method fakeDeleteAll (line 152) | int fakeDeleteAll(List<Long> idList);
method revokeFakeDeleteAll (line 160) | int revokeFakeDeleteAll(List<Long> idList);
method pageAll (line 183) | Pagination<UserEntity> pageAll(Integer page, Integer rows, String sort...
method pageAllByDepartmentId (line 193) | Pagination<UserEntity> pageAllByDepartmentId(Long departmentId, Intege...
method profile (line 195) | UserEntity profile(UserEntity userEntity);
method saveProfile (line 197) | UserEntity saveProfile(UserEntity userEntity) throws BaseResponseExcep...
method sendEmailVerifyCode (line 199) | boolean sendEmailVerifyCode(Long userId, String email) throws BaseResp...
method sendEmailVerifyCode (line 201) | boolean sendEmailVerifyCode(UserEntity userEntity) throws BaseResponse...
method checkEmailVerifyCode (line 203) | boolean checkEmailVerifyCode(UserEntity userEntity, String email, Stri...
method changeEmail (line 205) | boolean changeEmail(UserEntity userEntity, String emailVerifyCode, Str...
method changePassword (line 207) | boolean changePassword(UserEntity userEntity, String password, String ...
FILE: src/main/java/com/godcheese/nimrod/user/service/UserVerifyCodeService.java
type UserVerifyCodeService (line 10) | public interface UserVerifyCodeService {
method addOne (line 16) | UserVerifyCodeEntity addOne(UserVerifyCodeEntity userVerifyCodeEntity)...
method deleteAllByUserIdAndVerifyFrom (line 25) | int deleteAllByUserIdAndVerifyFrom(Long userId, String verifyFrom);
method isExpires (line 27) | boolean isExpires(UserVerifyCodeEntity userVerifyCodeEntity);
method getOneByUserIdAndVerifyFrom (line 29) | UserVerifyCodeEntity getOneByUserIdAndVerifyFrom(Long userId, String v...
FILE: src/main/java/com/godcheese/nimrod/user/service/ViewMenuCategoryService.java
type ViewMenuCategoryService (line 14) | public interface ViewMenuCategoryService {
method addOne (line 22) | ViewMenuCategoryEntity addOne(ViewMenuCategoryEntity viewMenuCategoryE...
method saveOne (line 30) | ViewMenuCategoryEntity saveOne(ViewMenuCategoryEntity viewMenuCategory...
method deleteAll (line 39) | int deleteAll(List<Long> idList) throws BaseResponseException;
method getOne (line 47) | ViewMenuCategoryEntity getOne(Long id);
method listAllParentByUserId (line 55) | List<ViewMenuCategoryEntity> listAllParentByUserId(Long userId);
method listAllChildByParentIdAndUserId (line 64) | List<ViewMenuCategoryEntity> listAllChildByParentIdAndUserId(Long pare...
method listAllByParentIdAndRoleId (line 73) | List<ViewMenuCategoryEntity> listAllByParentIdAndRoleId(Long parentId,...
method listAllByParentId (line 75) | List<ViewMenuCategoryEntity> listAllByParentId(Long parentId, Long rol...
method listAllParentByRoleId (line 83) | List<ViewMenuCategoryEntity> listAllParentByRoleId(Long roleId);
method listAllChildViewMenuCategoryAndViewMenuByParentIdAndUserId (line 85) | List<Map<String, Object>> listAllChildViewMenuCategoryAndViewMenuByPar...
method listAll (line 92) | List<ViewMenuCategoryEntity> listAll();
method searchAllByName (line 100) | List<ViewMenuCategoryEntity> searchAllByName(String name);
method listAllParent (line 107) | List<ViewMenuCategoryEntity> listAllParent(Long roleId);
method listAllViewMenuCategoryComboTree (line 114) | List<ComboTree> listAllViewMenuCategoryComboTree();
method getViewMenuCategoryChildrenComboTree (line 123) | List<ComboTree> getViewMenuCategoryChildrenComboTree(long parentId, Li...
FILE: src/main/java/com/godcheese/nimrod/user/service/ViewMenuService.java
type ViewMenuService (line 12) | public interface ViewMenuService {
method addOne (line 20) | ViewMenuEntity addOne(ViewMenuEntity viewMenuEntity);
method saveOne (line 28) | ViewMenuEntity saveOne(ViewMenuEntity viewMenuEntity);
method deleteAll (line 36) | int deleteAll(List<Long> idList);
method getOne (line 44) | ViewMenuEntity getOne(Long id);
method listAllByUserIdAndMenuCategoryId (line 53) | List<ViewMenuEntity> listAllByUserIdAndMenuCategoryId(Long userId, Lon...
method pageAllByViewMenuCategoryId (line 63) | Pagination<ViewMenuEntity> pageAllByViewMenuCategoryId(Integer page, I...
FILE: src/main/java/com/godcheese/nimrod/user/service/ViewPageApiService.java
type ViewPageApiService (line 9) | public interface ViewPageApiService {
method associateAllByViewPageIdAndApiIdList (line 26) | int associateAllByViewPageIdAndApiIdList(Long viewPageId, List<Long> a...
method revokeAssociateAllByViewPageIdAndApiIdList (line 35) | int revokeAssociateAllByViewPageIdAndApiIdList(Long viewPageId, List<L...
FILE: src/main/java/com/godcheese/nimrod/user/service/ViewPageCategoryService.java
type ViewPageCategoryService (line 13) | public interface ViewPageCategoryService {
method addOne (line 21) | ViewPageCategoryEntity addOne(ViewPageCategoryEntity viewPageCategoryE...
method saveOne (line 29) | ViewPageCategoryEntity saveOne(ViewPageCategoryEntity viewPageCategory...
method deleteAll (line 38) | int deleteAll(List<Long> idList) throws BaseResponseException;
method getOne (line 46) | ViewPageCategoryEntity getOne(Long id);
method listAllParent (line 54) | List<ViewPageCategoryEntity> listAllParent();
method listAllByParentId (line 62) | List<ViewPageCategoryEntity> listAllByParentId(Long parentId);
method listAllViewPageCategoryComboTree (line 69) | List<ComboTree> listAllViewPageCategoryComboTree();
method getViewPageCategoryChildrenComboTree (line 78) | List<ComboTree> getViewPageCategoryChildrenComboTree(long parentId, Li...
FILE: src/main/java/com/godcheese/nimrod/user/service/ViewPageComponentApiService.java
type ViewPageComponentApiService (line 9) | public interface ViewPageComponentApiService {
method associateAllByViewPageComponentIdAndApiIdList (line 26) | int associateAllByViewPageComponentIdAndApiIdList(Long viewPageCompone...
method revokeAssociateAllByViewPageComponentIdAndApiIdList (line 35) | int revokeAssociateAllByViewPageComponentIdAndApiIdList(Long viewPageC...
FILE: src/main/java/com/godcheese/nimrod/user/service/ViewPageComponentService.java
type ViewPageComponentService (line 13) | public interface ViewPageComponentService {
method addOne (line 22) | ViewPageComponentEntity addOne(ViewPageComponentEntity viewPageCompone...
method saveOne (line 31) | ViewPageComponentEntity saveOne(ViewPageComponentEntity viewPageCompon...
method deleteAll (line 39) | int deleteAll(List<Long> idList);
method getOne (line 47) | ViewPageComponentEntity getOne(Long id);
method pageAllByViewPageId (line 57) | Pagination<ViewPageComponentEntity> pageAllByViewPageId(Integer page, ...
FILE: src/main/java/com/godcheese/nimrod/user/service/ViewPageService.java
type ViewPageService (line 13) | public interface ViewPageService {
method addOne (line 21) | ViewPageEntity addOne(ViewPageEntity viewPageEntity) throws BaseRespon...
method saveOne (line 30) | ViewPageEntity saveOne(ViewPageEntity viewPageEntity) throws BaseRespo...
method deleteAll (line 38) | int deleteAll(List<Long> idList);
method getOne (line 46) | ViewPageEntity getOne(Long id);
method pageAllByViewPageCategoryId (line 57) | Pagination<ViewPageEntity> pageAllByViewPageCategoryId(Integer page, I...
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/ApiCategoryServiceImpl.java
class ApiCategoryServiceImpl (line 24) | @Service
method addOne (line 35) | @Override
method saveOne (line 45) | @Override
method deleteAll (line 56) | @Override
method getOne (line 75) | @Override
method listAllParent (line 80) | @Override
method listAllByParentId (line 93) | @Override
method listAllApiCategoryComboTree (line 106) | @Override
method getApiCategoryChildrenComboTree (line 120) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/ApiServiceImpl.java
class ApiServiceImpl (line 29) | @Service
method addOne (line 47) | @Override
method saveOne (line 62) | @Override
method deleteAll (line 77) | @Override
method getOne (line 83) | @Override
method pageAllByApiCategoryId (line 88) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/DepartmentServiceImpl.java
class DepartmentServiceImpl (line 28) | @Service
method addOne (line 40) | @Override
method saveOne (line 50) | @Override
method deleteAll (line 58) | @Override
method getOne (line 77) | @Override
method listAllParent (line 82) | @Override
method listAllByParentId (line 87) | @Override
method pageAll (line 92) | @Override
method listAll (line 116) | @Override
method listAllByDepartmentId (line 140) | @Override
method forEachDepartmentParent (line 151) | public void forEachDepartmentParent(DepartmentEntity departmentEntity,...
method listAllDepartmentComboTree (line 162) | @Override
method getDepartmentChildrenComboTree (line 176) | @Override
method listAllDepartmentTreeGrid (line 199) | @Override
method getDepartmentChildrenTreeGrid (line 213) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/RoleAuthorityServiceImpl.java
class RoleAuthorityServiceImpl (line 24) | @Service
method getOne (line 45) | @Override
method grantAllByRoleIdAndApiAuthorityList (line 50) | @Override
method revokeAllByRoleIdAndApiAuthorityList (line 77) | @Override
method grantAllByRoleIdAndViewPageAuthorityList (line 103) | @Override
method revokeAllByRoleIdAndViewPageAuthorityList (line 147) | @Override
method grantAllByRoleIdAndViewPageComponentAuthorityList (line 189) | @Override
method revokeAllByRoleIdAndViewPageComponentAuthorityList (line 231) | @Override
method isGrantedByRoleIdAndAuthority (line 276) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/RoleServiceImpl.java
class RoleServiceImpl (line 26) | @Service
method addOne (line 39) | @Override
method saveOne (line 54) | @Override
method deleteAll (line 67) | @Override
method getOne (line 83) | @Override
method listAllByUserRoleList (line 94) | @Override
method pageAll (line 107) | @Override
method listAll (line 117) | @Override
method listAllByUserId (line 122) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/RoleViewMenuCategoryServiceImpl.java
class RoleViewMenuCategoryServiceImpl (line 18) | @Service
method grantAllByRoleIdAndViewMenuCategoryIdList (line 25) | @Override
method revokeAllByRoleIdAndViewMenuCategoryIdList (line 44) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/RoleViewMenuServiceImpl.java
class RoleViewMenuServiceImpl (line 18) | @Service
method grantAllByRoleIdAndViewMenuIdList (line 25) | @Override
method revokeAllByRoleIdAndViewMenuIdList (line 44) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/UserRoleServiceImpl.java
class UserRoleServiceImpl (line 19) | @Service
method addOne (line 25) | @Override
method deleteAllByUserIdAndRoleIdList (line 35) | @Override
method pageAll (line 41) | @Override
method listAllByUserId (line 51) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/UserServiceImpl.java
class UserServiceImpl (line 39) | @Service
method addOne (line 68) | @Override
method saveOne (line 83) | @Override
method deleteAll (line 104) | @Override
method getOne (line 110) | @Override
method getCurrentUser (line 115) | @Override
method getCurrentUserNoPassword (line 124) | @Override
method getCurrentUser (line 134) | @Override
method pageAll (line 167) | @Override
method pageAllByDepartmentId (line 192) | @Override
method getOneByIdAndPassword (line 209) | @Override
method getOneByUsernameAndPassword (line 218) | @Override
method getOneByEmailAndPassword (line 227) | @Override
method getOneByCellphoneAndPassword (line 236) | @Override
method checkPassword (line 242) | @Override
method encodePassword (line 247) | @Override
method getOneByIdNoPassword (line 252) | @Override
method fakeDeleteAll (line 262) | @Override
method revokeFakeDeleteAll (line 268) | @Override
method profile (line 274) | @Override
method saveProfile (line 296) | @Override
method sendEmailVerifyCode (line 304) | @Override
method sendEmailVerifyCode (line 326) | @Override
method checkEmailVerifyCode (line 334) | @Override
method changeEmail (line 343) | @Override
method changePassword (line 357) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/UserVerifyCodeServiceImpl.java
class UserVerifyCodeServiceImpl (line 20) | @Service
method addOne (line 28) | @Override
method deleteAllByUserIdAndVerifyFrom (line 82) | @Override
method isExpires (line 95) | @Override
method getOneByUserIdAndVerifyFrom (line 103) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/ViewMenuCategoryServiceImpl.java
class ViewMenuCategoryServiceImpl (line 29) | @Service
method addOne (line 55) | @Override
method saveOne (line 65) | @Override
method deleteAll (line 79) | @Override
method getOne (line 101) | @Override
method listAllParentByUserId (line 112) | @Override
method listAllChildByParentIdAndUserId (line 135) | @Override
method listAllByParentIdAndRoleId (line 152) | @Override
method listAllByParentId (line 157) | @Override
method listAllParentByRoleId (line 181) | @Override
method listAllChildViewMenuCategoryAndViewMenuByParentIdAndUserId (line 186) | @Override
method listAll (line 215) | @Override
method searchAllByName (line 220) | @Override
method listAllParent (line 225) | @Override
method listAllViewMenuCategoryComboTree (line 247) | @Override
method getViewMenuCategoryChildrenComboTree (line 261) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/ViewMenuServiceImpl.java
class ViewMenuServiceImpl (line 27) | @Service
method addOne (line 43) | @Override
method saveOne (line 53) | @Override
method deleteAll (line 68) | @Override
method getOne (line 75) | @Override
method listAllByUserIdAndMenuCategoryId (line 87) | @Override
method pageAllByViewMenuCategoryId (line 103) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/ViewPageApiServiceImpl.java
class ViewPageApiServiceImpl (line 16) | @Service
method associateAllByViewPageIdAndApiIdList (line 33) | @Override
method revokeAssociateAllByViewPageIdAndApiIdList (line 49) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/ViewPageCategoryServiceImpl.java
class ViewPageCategoryServiceImpl (line 24) | @Service
method addOne (line 36) | @Override
method saveOne (line 45) | @Override
method deleteAll (line 57) | @Override
method getOne (line 75) | @Override
method listAllParent (line 80) | @Override
method listAllByParentId (line 93) | @Override
method listAllViewPageCategoryComboTree (line 106) | @Override
method getViewPageCategoryChildrenComboTree (line 120) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/ViewPageComponentApiServiceImpl.java
class ViewPageComponentApiServiceImpl (line 16) | @Service
method associateAllByViewPageComponentIdAndApiIdList (line 34) | @Override
method revokeAssociateAllByViewPageComponentIdAndApiIdList (line 50) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/ViewPageComponentServiceImpl.java
class ViewPageComponentServiceImpl (line 24) | @Service
method addOne (line 36) | @Override
method saveOne (line 50) | @Override
method deleteAll (line 68) | @Override
method getOne (line 73) | @Override
method pageAllByViewPageId (line 78) | @Override
FILE: src/main/java/com/godcheese/nimrod/user/service/impl/ViewPageServiceImpl.java
class ViewPageServiceImpl (line 24) | @Service
method addOne (line 36) | @Override
method saveOne (line 51) | @Override
method deleteAll (line 71) | @Override
method getOne (line 76) | @Override
method pageAllByViewPageCategoryId (line 81) | @Override
FILE: src/main/resources/static/assets/js/index.js
function pageTurning (line 24) | function pageTurning() {
function removeSelf (line 55) | function removeSelf() {
function parentViewMenuCategory (line 99) | function parentViewMenuCategory() {
function childViewMenuCategory (line 144) | function childViewMenuCategory(currentSelector, viewMenuCategoryId) {
function childViewMenuCategoryAndViewMenu (line 183) | function childViewMenuCategoryAndViewMenu(selector, parentId) {
function removeAccordionPanel (line 233) | function removeAccordionPanel() {
function removeAllFirstMenuSelectedClass (line 248) | function removeAllFirstMenuSelectedClass(currentSelector) {
function addTab (line 264) | function addTab(tabsSelector, title, url, iconCls, closable, index) {
function tabsTo (line 304) | function tabsTo(tabsSelector, index) {
function closeSelectedTab (line 312) | function closeSelectedTab(tabsSelector) {
function refreshTabIframe (line 324) | function refreshTabIframe(tabsSelector) {
function onContextMenu (line 330) | function onContextMenu(event, title, index) {
function tabsContextMenu (line 341) | function tabsContextMenu(menu, tabsSelector, type) {
FILE: src/main/resources/static/assets/js/login.js
function refreshVerifyCode (line 20) | function refreshVerifyCode(_this, verifyCodeImageSrc) {
FILE: src/main/resources/static/assets/vendor/easyui-plus-1.0.0/js/easyui.plus.js
function _selectorNode (line 116) | function _selectorNode(selector, tag) {
function f (line 589) | function f(v, vs) {
FILE: src/main/resources/static/assets/vendor/echarts.min.js
function e (line 1) | function e(t,e){ey[t]=e}
function i (line 1) | function i(t){if(null==t||"object"!=typeof t)return t;var e=t,n=qv.call(...
function n (line 1) | function n(t,e,o){if(!b(e)||!b(t))return o?i(e):t;for(var a in e)if(e.ha...
function o (line 1) | function o(t,e){for(var i=t[0],o=1,a=t.length;o<a;o++)i=n(i,t[o],e);retu...
function a (line 1) | function a(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}
function r (line 1) | function r(t,e,i){for(var n in e)e.hasOwnProperty(n)&&(i?null!=e[n]:null...
function s (line 1) | function s(){return ny||(ny=iy().getContext("2d")),ny}
function l (line 1) | function l(t,e){if(t){if(t.indexOf)return t.indexOf(e);for(var i=0,n=t.l...
function h (line 1) | function h(t,e){function i(){}var n=t.prototype;i.prototype=e.prototype,...
function u (line 1) | function u(t,e,i){r(t="prototype"in t?t.prototype:t,e="prototype"in e?e....
function c (line 1) | function c(t){if(t)return"string"!=typeof t&&"number"==typeof t.length}
function d (line 1) | function d(t,e,i){if(t&&e)if(t.forEach&&t.forEach===$v)t.forEach(e,i);el...
function f (line 1) | function f(t,e,i){if(t&&e){if(t.map&&t.map===Qv)return t.map(e,i);for(va...
function g (line 1) | function g(t,e,i,n){if(t&&e){if(t.reduce&&t.reduce===ty)return t.reduce(...
function p (line 1) | function p(t,e,i){if(t&&e){if(t.filter&&t.filter===Kv)return t.filter(e,...
function m (line 1) | function m(t,e){var i=Jv.call(arguments,2);return function(){return t.ap...
function v (line 1) | function v(t){var e=Jv.call(arguments,1);return function(){return t.appl...
function y (line 1) | function y(t){return"[object Array]"===qv.call(t)}
function x (line 1) | function x(t){return"function"==typeof t}
function _ (line 1) | function _(t){return"[object String]"===qv.call(t)}
function b (line 1) | function b(t){var e=typeof t;return"function"===e||!!t&&"object"==e}
function w (line 1) | function w(t){return!!Xv[qv.call(t)]}
function S (line 1) | function S(t){return"object"==typeof t&&"number"==typeof t.nodeType&&"ob...
function M (line 1) | function M(t){return t!==t}
function I (line 1) | function I(t){for(var e=0,i=arguments.length;e<i;e++)if(null!=arguments[...
function T (line 1) | function T(t,e){return null!=t?t:e}
function A (line 1) | function A(t,e,i){return null!=t?t:null!=e?e:i}
function C (line 1) | function C(){return Function.call.apply(Jv,arguments)}
function D (line 1) | function D(t){if("number"==typeof t)return[t,t,t,t];var e=t.length;retur...
function L (line 1) | function L(t,e){if(!t)throw new Error(e)}
function k (line 1) | function k(t){t[oy]=!0}
function P (line 1) | function P(t){return t[oy]}
function O (line 1) | function O(t){t&&d(t,function(t,e){this.set(e,t)},this)}
function z (line 1) | function z(t){return new O(t)}
function N (line 1) | function N(){}
function E (line 1) | function E(t,e){var i=new ry(2);return null==t&&(t=0),null==e&&(e=0),i[0...
function R (line 1) | function R(t,e){return t[0]=e[0],t[1]=e[1],t}
function V (line 1) | function V(t){var e=new ry(2);return e[0]=t[0],e[1]=t[1],e}
function B (line 1) | function B(t,e,i){return t[0]=e,t[1]=i,t}
function G (line 1) | function G(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t}
function W (line 1) | function W(t,e,i,n){return t[0]=e[0]+i[0]*n,t[1]=e[1]+i[1]*n,t}
function H (line 1) | function H(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t}
function F (line 1) | function F(t){return Math.sqrt(Z(t))}
function Z (line 1) | function Z(t){return t[0]*t[0]+t[1]*t[1]}
function U (line 1) | function U(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t}
function X (line 1) | function X(t,e){var i=F(e);return 0===i?(t[0]=0,t[1]=0):(t[0]=e[0]/i,t[1...
function j (line 1) | function j(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[...
function q (line 1) | function q(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}
function Y (line 1) | function Y(t,e,i,n){return t[0]=e[0]+n*(i[0]-e[0]),t[1]=e[1]+n*(i[1]-e[1...
function $ (line 1) | function $(t,e,i){var n=e[0],o=e[1];return t[0]=i[0]*n+i[2]*o+i[4],t[1]=...
function K (line 1) | function K(t,e,i){return t[0]=Math.min(e[0],i[0]),t[1]=Math.min(e[1],i[1...
function J (line 1) | function J(t,e,i){return t[0]=Math.max(e[0],i[0]),t[1]=Math.max(e[1],i[1...
function Q (line 1) | function Q(){this.on("mousedown",this._dragStart,this),this.on("mousemov...
function tt (line 1) | function tt(t,e){return{target:t,topTarget:e&&e.topTarget}}
function et (line 1) | function et(t,e,i){return{type:t,event:i,target:e.target,topTarget:e.top...
function it (line 1) | function it(){}
function nt (line 1) | function nt(t,e,i){if(t[t.rectHover?"rectContain":"contain"](e,i)){for(v...
function ot (line 1) | function ot(){var t=new vy(6);return at(t),t}
function at (line 1) | function at(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}
function rt (line 1) | function rt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4...
function st (line 1) | function st(t,e,i){var n=e[0]*i[0]+e[2]*i[1],o=e[1]*i[0]+e[3]*i[1],a=e[0...
function lt (line 1) | function lt(t,e,i){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e...
function ht (line 1) | function ht(t,e,i){var n=e[0],o=e[2],a=e[4],r=e[1],s=e[3],l=e[5],h=Math....
function ut (line 1) | function ut(t,e,i){var n=i[0],o=i[1];return t[0]=e[0]*n,t[1]=e[1]*o,t[2]...
function ct (line 1) | function ct(t,e){var i=e[0],n=e[2],o=e[4],a=e[1],r=e[3],s=e[5],l=i*r-a*n...
function dt (line 1) | function dt(t){return t>_y||t<-_y}
function ft (line 1) | function ft(t){this._target=t.target,this._life=t.life||1e3,this._delay=...
function gt (line 1) | function gt(t){return(t=Math.round(t))<0?0:t>255?255:t}
function pt (line 1) | function pt(t){return(t=Math.round(t))<0?0:t>360?360:t}
function mt (line 1) | function mt(t){return t<0?0:t>1?1:t}
function vt (line 1) | function vt(t){return gt(t.length&&"%"===t.charAt(t.length-1)?parseFloat...
function yt (line 1) | function yt(t){return mt(t.length&&"%"===t.charAt(t.length-1)?parseFloat...
function xt (line 1) | function xt(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e...
function _t (line 1) | function _t(t,e,i){return t+(e-t)*i}
function bt (line 1) | function bt(t,e,i,n,o){return t[0]=e,t[1]=i,t[2]=n,t[3]=o,t}
function wt (line 1) | function wt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}
function St (line 1) | function St(t,e){Py&&wt(Py,e),Py=ky.put(t,Py||e.slice())}
function Mt (line 1) | function Mt(t,e){if(t){e=e||[];var i=ky.get(t);if(i)return wt(e,i);var n...
function It (line 1) | function It(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=yt(t[1]),o=y...
function Tt (line 1) | function Tt(t){if(t){var e,i,n=t[0]/255,o=t[1]/255,a=t[2]/255,r=Math.min...
function At (line 1) | function At(t,e){var i=Mt(t);if(i){for(var n=0;n<3;n++)i[n]=e<0?i[n]*(1-...
function Ct (line 1) | function Ct(t){var e=Mt(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[...
function Dt (line 1) | function Dt(t,e,i){if(e&&e.length&&t>=0&&t<=1){i=i||[];var n=t*(e.length...
function Lt (line 1) | function Lt(t,e,i){if(e&&e.length&&t>=0&&t<=1){var n=t*(e.length-1),o=Ma...
function kt (line 1) | function kt(t,e,i,n){if(t=Mt(t))return t=Tt(t),null!=e&&(t[0]=pt(e)),nul...
function Pt (line 1) | function Pt(t,e){if((t=Mt(t))&&null!=e)return t[3]=mt(e),Ot(t,"rgba")}
function Ot (line 1) | function Ot(t,e){if(t&&t.length){var i=t[0]+","+t[1]+","+t[2];return"rgb...
function zt (line 1) | function zt(t,e){return t[e]}
function Nt (line 1) | function Nt(t,e,i){t[e]=i}
function Et (line 1) | function Et(t,e,i){return(e-t)*i+t}
function Rt (line 1) | function Rt(t,e,i){return i>.5?e:t}
function Vt (line 1) | function Vt(t,e,i,n,o){var a=t.length;if(1==o)for(s=0;s<a;s++)n[s]=Et(t[...
function Bt (line 1) | function Bt(t,e,i){var n=t.length,o=e.length;if(n!==o)if(n>o)t.length=o;...
function Gt (line 1) | function Gt(t,e,i){if(t===e)return!0;var n=t.length;if(n!==e.length)retu...
function Wt (line 1) | function Wt(t,e,i,n,o,a,r,s,l){var h=t.length;if(1==l)for(c=0;c<h;c++)s[...
function Ht (line 1) | function Ht(t,e,i,n,o,a,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)...
function Ft (line 1) | function Ft(t){if(c(t)){var e=t.length;if(c(t[0])){for(var i=[],n=0;n<e;...
function Zt (line 1) | function Zt(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=M...
function Ut (line 1) | function Ut(t){var e=t[t.length-1].value;return c(e&&e[0])?2:1}
function Xt (line 1) | function Xt(t,e,i,n,o,a){var r=t._getter,s=t._setter,l="spline"===e,h=n....
function jt (line 1) | function jt(t,e,i,n){i<0&&(t+=i,i=-i),n<0&&(e+=n,n=-n),this.x=t,this.y=e...
function qt (line 1) | function qt(t){for(var e=0;t>=qy;)e|=1&t,t>>=1;return t+e}
function Yt (line 1) | function Yt(t,e,i,n){var o=e+1;if(o===i)return 1;if(n(t[o++],t[e])<0){fo...
function $t (line 1) | function $t(t,e,i){for(i--;e<i;){var n=t[e];t[e++]=t[i],t[i--]=n}}
function Kt (line 1) | function Kt(t,e,i,n,o){for(n===e&&n++;n<i;n++){for(var a,r=t[n],s=e,l=n;...
function Jt (line 1) | function Jt(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])>0){for(s=n-o;l<s...
function Qt (line 1) | function Qt(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])<0){for(s=o+1;l<s...
function te (line 1) | function te(t,e){function i(i){var s=a[i],h=r[i],u=a[i+1],c=r[i+1];r[i]=...
function ee (line 1) | function ee(t,e,i,n){i||(i=0),n||(n=t.length);var o=n-i;if(!(o<2)){var a...
function ie (line 1) | function ie(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:...
function ne (line 1) | function ne(t,e,i){var n=null==e.x?0:e.x,o=null==e.x2?1:e.x2,a=null==e.y...
function oe (line 1) | function oe(t,e,i){var n=i.width,o=i.height,a=Math.min(n,o),r=null==e.x?...
function ae (line 1) | function ae(){return!1}
function re (line 1) | function re(t,e,i){var n=iy(),o=e.getWidth(),a=e.getHeight(),r=n.style;r...
function se (line 1) | function se(t){if("string"==typeof t){var e=ax.get(t);return e&&e.image}...
function le (line 1) | function le(t,e,i,n,o){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc...
function he (line 1) | function he(){var t=this.__cachedImgObj;this.onload=this.__cachedImgObj=...
function ue (line 1) | function ue(t){return t&&t.width&&t.height}
function ce (line 1) | function ce(t,e){var i=t+":"+(e=e||ux);if(rx[i])return rx[i];for(var n=(...
function de (line 1) | function de(t,e,i,n,o,a,r){return a?ge(t,e,i,n,o,a,r):fe(t,e,i,n,o,r)}
function fe (line 1) | function fe(t,e,i,n,o,a){var r=Me(t,e,o,a),s=ce(t,e);o&&(s+=o[1]+o[3]);v...
function ge (line 1) | function ge(t,e,i,n,o,a,r){var s=Ie(t,{rich:a,truncate:r,font:e,textAlig...
function pe (line 1) | function pe(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}
function me (line 1) | function me(t,e,i){return"middle"===i?t-=e/2:"bottom"===i&&(t-=e),t}
function ve (line 1) | function ve(t,e,i){var n=e.x,o=e.y,a=e.height,r=e.width,s=a/2,l="left",h...
function ye (line 1) | function ye(t,e,i,n,o){if(!e)return"";var a=(t+"").split("\n");o=xe(e,i,...
function xe (line 1) | function xe(t,e,i,n){(n=a({},n)).font=e;var i=T(i,"...");n.maxIterations...
function _e (line 1) | function _e(t,e){var i=e.containerWidth,n=e.font,o=e.contentWidth;if(!i)...
function be (line 1) | function be(t,e,i,n){for(var o=0,a=0,r=t.length;a<r&&o<e;a++){var s=t.ch...
function we (line 1) | function we(t){return ce("国",t)}
function Se (line 1) | function Se(t,e){return cx.measureText(t,e)}
function Me (line 1) | function Me(t,e,i,n){null!=t&&(t+="");var o=we(e),a=t?t.split("\n"):[],r...
function Ie (line 1) | function Ie(t,e){var i={lines:[],width:0,height:0};if(null!=t&&(t+=""),!...
function Te (line 1) | function Te(t,e,i){for(var n=""===e,o=e.split("\n"),a=t.lines,r=0;r<o.le...
function Ae (line 1) | function Ae(t){return(t.fontSize||t.fontFamily)&&[t.fontStyle,t.fontWeig...
function Ce (line 1) | function Ce(t,e){var i,n,o,a,r=e.x,s=e.y,l=e.width,h=e.height,u=e.r;l<0&...
function De (line 1) | function De(t){return Le(t),d(t.rich,Le),t}
function Le (line 1) | function Le(t){if(t){t.font=Ae(t);var e=t.textAlign;"middle"===e&&(e="ce...
function ke (line 1) | function ke(t,e,i,n,o){n.rich?Oe(t,e,i,n,o):Pe(t,e,i,n,o)}
function Pe (line 1) | function Pe(t,e,i,n,o){var a=We(e,"font",n.font||ux),r=n.textPadding,s=t...
function Oe (line 1) | function Oe(t,e,i,n,o){var a=t.__textCotentBlock;a&&!t.__dirty||(a=t.__t...
function ze (line 1) | function ze(t,e,i,n,o){var a=i.width,r=i.outerWidth,s=i.outerHeight,l=n....
function Ne (line 1) | function Ne(t,e,i,n,o){if(i&&e.textRotation){var a=e.textOrigin;"center"...
function Ee (line 1) | function Ee(t,e,i,n,o,a,r,s){var l=n.rich[i.styleName]||{},h=i.textVerti...
function Re (line 1) | function Re(t){return t.textBackgroundColor||t.textBorderWidth&&t.textBo...
function Ve (line 1) | function Ve(t,e,i,n,o,a,r){var s=i.textBackgroundColor,l=i.textBorderWid...
function Be (line 1) | function Be(t,e){e.image=t}
function Ge (line 1) | function Ge(t,e,i){var n=e.x||0,o=e.y||0,a=e.textAlign,r=e.textVerticalA...
function We (line 1) | function We(t,e,i){return t[e]=i,t[e]}
function He (line 1) | function He(t,e){return null==t||e<=0||"transparent"===t||"none"===t?nul...
function Fe (line 1) | function Fe(t){return null==t||"none"===t?null:t.image||t.colorStops?"#0...
function Ze (line 1) | function Ze(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFlo...
function Ue (line 1) | function Ue(t,e,i){return"right"===e?t-i[1]:"center"===e?t+i[3]/2-i[1]/2...
function Xe (line 1) | function Xe(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorder...
function je (line 1) | function je(t){t=t||{},Fy.call(this,t);for(var e in t)t.hasOwnProperty(e...
function qe (line 1) | function qe(t){je.call(this,t)}
function Ye (line 1) | function Ye(t){return parseInt(t,10)}
function $e (line 1) | function $e(t){return!!t&&(!!t.__builtin__||"function"==typeof t.resize&...
function Ke (line 1) | function Ke(t){t.__unusedCount++}
function Je (line 1) | function Je(t){1==t.__unusedCount&&t.clear()}
function Qe (line 1) | function Qe(t,e,i){return mx.copy(t.getBoundingRect()),t.transform&&mx.a...
function ti (line 1) | function ti(t,e){if(t==e)return!1;if(!t||!e||t.length!==e.length)return!...
function ei (line 1) | function ei(t,e){for(var i=0;i<t.length;i++){var n=t[i];n.setTransform(e...
function ii (line 1) | function ii(t,e){var i=document.createElement("div");return i.style.cssT...
function ni (line 1) | function ni(t){return t.getBoundingClientRect?t.getBoundingClientRect():...
function oi (line 1) | function oi(t,e,i,n){return i=i||{},n||!Uv.canvasSupported?ai(t,e,i):Uv....
function ai (line 1) | function ai(t,e,i){var n=ni(t);i.zrX=e.clientX-n.left,i.zrY=e.clientY-n....
function ri (line 1) | function ri(t,e,i){if(null!=(e=e||window.event).zrX)return e;var n=e.typ...
function si (line 1) | function si(t,e,i){xx?t.addEventListener(e,i):t.attachEvent("on"+e,i)}
function li (line 1) | function li(t,e,i){xx?t.removeEventListener(e,i):t.detachEvent("on"+e,i)}
function hi (line 1) | function hi(t){return t.which>1}
function ui (line 1) | function ui(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(...
function ci (line 1) | function ci(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}
function di (line 1) | function di(t){return"mousewheel"===t&&Uv.browser.firefox?"DOMMouseScrol...
function fi (line 1) | function fi(t,e,i){var n=t._gestureMgr;"start"===i&&n.clear();var o=n.re...
function gi (line 1) | function gi(t){t._touching=!0,clearTimeout(t._touchTimer),t._touchTimer=...
function pi (line 1) | function pi(t){var e=t.pointerType;return"pen"===e||"touch"===e}
function mi (line 1) | function mi(t){function e(t,e){return function(){if(!e._touching)return ...
function vi (line 1) | function vi(t){function e(e,i){d(e,function(e){si(t,di(e),i._handlers[e]...
function yi (line 1) | function yi(t,e){var i=new zx(Fv(),t,e);return Ox[i.id]=i,i}
function xi (line 1) | function xi(t,e){Px[t]=e}
function _i (line 1) | function _i(t){delete Ox[t]}
function bi (line 1) | function bi(t){return t.replace(/^\s+/,"").replace(/\s+$/,"")}
function wi (line 1) | function wi(t,e,i,n){var o=e[1]-e[0],a=i[1]-i[0];if(0===o)return 0===a?i...
function Si (line 1) | function Si(t,e){switch(t){case"center":case"middle":t="50%";break;case"...
function Mi (line 1) | function Mi(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t...
function Ii (line 1) | function Ii(t){return t.sort(function(t,e){return t-e}),t}
function Ti (line 1) | function Ti(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)...
function Ai (line 1) | function Ai(t){var e=t.toString(),i=e.indexOf("e");if(i>0){var n=+e.slic...
function Ci (line 1) | function Ci(t,e){var i=Math.log,n=Math.LN10,o=Math.floor(i(t[1]-t[0])/n)...
function Di (line 1) | function Di(t,e,i){if(!t[e])return 0;var n=g(t,function(t,e){return t+(i...
function Li (line 1) | function Li(t){var e=2*Math.PI;return(t%e+e)%e}
function ki (line 1) | function ki(t){return t>-Ex&&t<Ex}
function Pi (line 1) | function Pi(t){if(t instanceof Date)return t;if("string"==typeof t){var ...
function Oi (line 1) | function Oi(t){return Math.pow(10,zi(t))}
function zi (line 1) | function zi(t){return Math.floor(Math.log(t)/Math.LN10)}
function Ni (line 1) | function Ni(t,e){var i,n=zi(t),o=Math.pow(10,n),a=t/o;return i=e?a<1.5?1...
function Ei (line 1) | function Ei(t){function e(t,i,n){return t.interval[n]<i.interval[n]||t.i...
function Ri (line 1) | function Ri(t){return t-parseFloat(t)>=0}
function Vi (line 1) | function Vi(t){return isNaN(t)?"-":(t=(t+"").split("."))[0].replace(/(\d...
function Bi (line 1) | function Bi(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function...
function Gi (line 1) | function Gi(t){return String(t).replace(/&/g,"&").replace(/</g,"<...
function Wi (line 1) | function Wi(t,e,i){y(e)||(e=[e]);var n=e.length;if(!n)return"";for(var o...
function Hi (line 1) | function Hi(t,e,i){return d(e,function(e,n){t=t.replace("{"+n+"}",i?Gi(e...
function Fi (line 1) | function Fi(t,e){return t?'<span style="display:inline-block;margin-righ...
function Zi (line 1) | function Zi(t,e,i){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!=...
function Ui (line 1) | function Ui(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}
function Xi (line 1) | function Xi(t,e,i){return t[Yx+e]=i}
function ji (line 1) | function ji(t,e){return t[Yx+e]}
function qi (line 1) | function qi(t,e){return t.hasOwnProperty(Yx+e)}
function Yi (line 1) | function Yi(t){var e={main:"",sub:""};return t&&(t=t.split(jx),e.main=t[...
function $i (line 1) | function $i(t){L(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'component...
function Ki (line 1) | function Ki(t,e){t.$constructor=t,t.extend=function(t){var e=this,i=func...
function Ji (line 1) | function Ji(t,e){var i=C(arguments,2);return this.superClass.prototype[e...
function Qi (line 1) | function Qi(t,e,i){return this.superClass.prototype[e].apply(t,i)}
function tn (line 1) | function tn(t,e){function i(t){var e=n[t.main];return e&&e[qx]||((e=n[t....
function en (line 1) | function en(t){return t>-n_&&t<n_}
function nn (line 1) | function nn(t){return t>n_||t<-n_}
function on (line 1) | function on(t,e,i,n,o){var a=1-o;return a*a*(a*t+3*o*e)+o*o*(o*n+3*a*i)}
function an (line 1) | function an(t,e,i,n,o){var a=1-o;return 3*(((e-t)*a+2*(i-e)*o)*a+(n-i)*o...
function rn (line 1) | function rn(t,e,i,n,o,a){var r=n+3*(e-i)-t,s=3*(i-2*e+t),l=3*(e-t),h=t-o...
function sn (line 1) | function sn(t,e,i,n,o){var a=6*i-12*e+6*t,r=9*e+3*n-3*t-9*i,s=3*e-3*t,l=...
function ln (line 1) | function ln(t,e,i,n,o,a){var r=(e-t)*o+t,s=(i-e)*o+e,l=(n-i)*o+i,h=(s-r)...
function hn (line 1) | function hn(t,e,i,n,o,a,r,s,l,h,u){var c,d,f,g,p,m=.005,v=1/0;s_[0]=l,s_...
function un (line 1) | function un(t,e,i,n){var o=1-n;return o*(o*t+2*n*e)+n*n*i}
function cn (line 1) | function cn(t,e,i,n){return 2*((1-n)*(e-t)+n*(i-e))}
function dn (line 1) | function dn(t,e,i,n,o){var a=t-2*e+i,r=2*(e-t),s=t-n,l=0;if(en(a))nn(r)&...
function fn (line 1) | function fn(t,e,i){var n=t+i-2*e;return 0===n?.5:(t-e)/n}
function gn (line 1) | function gn(t,e,i,n,o){var a=(e-t)*n+t,r=(i-e)*n+e,s=(r-a)*n+a;o[0]=t,o[...
function pn (line 1) | function pn(t,e,i,n,o,a,r,s,l){var h,u=.005,c=1/0;s_[0]=r,s_[1]=s;for(va...
function mn (line 1) | function mn(t,e,i){if(0!==t.length){var n,o=t[0],a=o[0],r=o[0],s=o[1],l=...
function vn (line 1) | function vn(t,e,i,n,o,a){o[0]=u_(t,i),o[1]=u_(e,n),a[0]=c_(t,i),a[1]=c_(...
function yn (line 1) | function yn(t,e,i,n,o,a,r,s,l,h){var u,c=sn,d=on,f=c(t,i,o,r,y_);for(l[0...
function xn (line 1) | function xn(t,e,i,n,o,a,r,s){var l=fn,h=un,u=c_(u_(l(t,i,o),1),0),c=c_(u...
function _n (line 1) | function _n(t,e,i,n,o,a,r,s,l){var h=K,u=J,c=Math.abs(o-a);if(c%g_<1e-4&...
function bn (line 1) | function bn(t,e,i,n,o,a,r){if(0===o)return!1;var s=o,l=0,h=t;if(r>e+s&&r...
function wn (line 1) | function wn(t,e,i,n,o,a,r,s,l,h,u){if(0===l)return!1;var c=l;return!(u>e...
function Sn (line 1) | function Sn(t,e,i,n,o,a,r,s,l){if(0===r)return!1;var h=r;return!(l>e+h&&...
function Mn (line 1) | function Mn(t){return(t%=O_)<0&&(t+=O_),t}
function In (line 1) | function In(t,e,i,n,o,a,r,s,l){if(0===r)return!1;var h=r;s-=t,l-=e;var u...
function Tn (line 1) | function Tn(t,e,i,n,o,a){if(a>e&&a>n||a<e&&a<n)return 0;if(n===e)return ...
function An (line 1) | function An(t,e){return Math.abs(t-e)<R_}
function Cn (line 1) | function Cn(){var t=B_[0];B_[0]=B_[1],B_[1]=t}
function Dn (line 1) | function Dn(t,e,i,n,o,a,r,s,l,h){if(h>e&&h>n&&h>a&&h>s||h<e&&h<n&&h<a&&h...
function Ln (line 1) | function Ln(t,e,i,n,o,a,r,s){if(s>e&&s>n&&s>a||s<e&&s<n&&s<a)return 0;va...
function kn (line 1) | function kn(t,e,i,n,o,a,r,s){if((s-=e)>i||s<-i)return 0;h=Math.sqrt(i*i-...
function Pn (line 1) | function Pn(t,e,i,n,o){for(var a=0,r=0,s=0,l=0,h=0,u=0;u<t.length;){var ...
function On (line 1) | function On(t,e,i){return Pn(t,0,!1,e,i)}
function zn (line 1) | function zn(t,e,i,n){return Pn(t,e,!0,i,n)}
function Nn (line 1) | function Nn(t){je.call(this,t),this.path=null}
function En (line 1) | function En(t,e,i,n,o,a,r,s,l,h,u){var c=l*(J_/180),d=K_(c)*(t-i)/2+$_(c...
function Rn (line 1) | function Rn(t){if(!t)return[];var e,i=t.replace(/-/g," -").replace(/ /g...
function Vn (line 1) | function Vn(t,e){var i=Rn(t);return e=e||{},e.buildPath=function(t){if(t...
function Bn (line 1) | function Bn(t,e){return new Nn(Vn(t,e))}
function Gn (line 1) | function Gn(t,e){return Nn.extend(Vn(t,e))}
function Wn (line 1) | function Wn(t,e,i,n,o,a,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)...
function Hn (line 1) | function Hn(t,e,i){var n=e.points,o=e.smooth;if(n&&n.length>=2){if(o&&"s...
function Fn (line 1) | function Fn(t,e,i){var n=t.cpx2,o=t.cpy2;return null===n||null===o?[(i?a...
function Zn (line 1) | function Zn(t){return Nn.extend(t)}
function Un (line 1) | function Un(t,e,i,n){var o=Bn(t,e),a=o.getBoundingRect();return i&&("cen...
function Xn (line 1) | function Xn(t,e,i){var n=new qe({style:{image:t,x:e.x,y:e.y,width:e.widt...
function jn (line 1) | function jn(t,e){var i,n=e.width/e.height,o=t.height*n;return i=o<=t.wid...
function qn (line 1) | function qn(t,e){if(t.applyTransform){var i=t.getBoundingRect().calculat...
function Yn (line 1) | function Yn(t){var e=t.shape,i=t.style.lineWidth;return bb(2*e.x1)===bb(...
function $n (line 1) | function $n(t){var e=t.shape,i=t.style.lineWidth,n=e.x,o=e.y,a=e.width,r...
function Kn (line 1) | function Kn(t,e,i){var n=bb(2*t);return(n+bb(e))%2==0?n/2:(n+(i?1:-1))/2}
function Jn (line 1) | function Jn(t){return null!=t&&"none"!=t}
function Qn (line 1) | function Qn(t){return"string"==typeof t?At(t,-.1):t}
function to (line 1) | function to(t){if(t.__hoverStlDirty){var e=t.style.stroke,i=t.style.fill...
function eo (line 1) | function eo(t){if(!t.__isHover){if(to(t),t.useHoverLayer)t.__zr&&t.__zr....
function io (line 1) | function io(t){if(t.__isHover){var e=t.__normalStl;t.useHoverLayer?t.__z...
function no (line 1) | function no(t){"group"===t.type?t.traverse(function(t){"group"!==t.type&...
function oo (line 1) | function oo(t){"group"===t.type?t.traverse(function(t){"group"!==t.type&...
function ao (line 1) | function ao(t,e){t.__hoverStl=t.hoverStyle||e||{},t.__hoverStlDirty=!0,t...
function ro (line 1) | function ro(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasi...
function so (line 1) | function so(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasi...
function lo (line 1) | function lo(){this.__isEmphasis=!0,no(this)}
function ho (line 1) | function ho(){this.__isEmphasis=!1,oo(this)}
function uo (line 1) | function uo(t,e,i){t.__hoverSilentOnTouch=i&&i.hoverSilentOnTouch,"group...
function co (line 1) | function co(t,e,i,n,o,a,r){var s=(o=o||Mb).labelFetcher,l=o.labelDataInd...
function fo (line 1) | function fo(t,e,i,n,o){return go(t,e,n,o),i&&a(t,i),t.host&&t.host.dirty...
function go (line 1) | function go(t,e,i,n){if((i=i||Mb).isRectText){var o=e.getShallow("positi...
function po (line 1) | function po(t){for(var e;t&&t!==t.ecModel;){var i=(t.option||Mb).rich;if...
function mo (line 1) | function mo(t,e,i,n,o,a){if(i=!o&&i||Mb,t.textFill=vo(e.getShallow("colo...
function vo (line 1) | function vo(t,e){return"auto"!==t?t:e&&e.autoColor?e.autoColor:null}
function yo (line 1) | function yo(t,e,i){var n,o=i.useInsideStyle;return null==t.textFill&&!1!...
function xo (line 1) | function xo(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textSt...
function _o (line 1) | function _o(t,e){var i=e||e.getModel("textStyle");return[t.fontStyle||i&...
function bo (line 1) | function bo(t,e,i,n,o,a){if("function"==typeof o&&(a=o,o=null),n&&n.isAn...
function wo (line 1) | function wo(t,e,i,n,o){bo(!0,t,e,i,n,o)}
function So (line 1) | function So(t,e,i,n,o){bo(!1,t,e,i,n,o)}
function Mo (line 1) | function Mo(t,e){for(var i=at([]);t&&t!==e;)st(i,t.getLocalTransform(),i...
function Io (line 1) | function Io(t,e,i){return e&&!c(e)&&(e=by.getLocalTransform(e)),i&&(e=ct...
function To (line 1) | function To(t,e,i){var n=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/...
function Ao (line 1) | function Ao(t,e,i,n){function o(t){var e={position:V(t.position),rotatio...
function Co (line 1) | function Co(t,e){return f(t,function(t){var i=t[0];i=wb(i,e.x),i=Sb(i,e....
function Do (line 1) | function Do(t,e,i){var n=(e=a({rectHover:!0},e)).style={strokeNoScale:!0...
function Lo (line 1) | function Lo(t,e,i){this.parentModel=e,this.ecModel=i,this.option=t}
function ko (line 1) | function ko(t,e,i){for(var n=0;n<e.length&&(!e[n]||null!=(t=t&&"object"=...
function Po (line 1) | function Po(t,e){var i=ji(t,"getParent");return i?i.call(t,e):t.parentMo...
function Oo (line 1) | function Oo(t){return t instanceof Array?t:null==t?[]:[t]}
function zo (line 1) | function zo(t,e){if(t)for(var i=t.emphasis=t.emphasis||{},n=t.normal=t.n...
function No (line 1) | function No(t){return t&&(null==t.value?t:t.value)}
function Eo (line 1) | function Eo(t){return Ob(t)&&!(t instanceof Array)}
function Ro (line 1) | function Ro(t,e){var i=e&&e.type;return"ordinal"===i?t:("time"===i&&"num...
function Vo (line 1) | function Vo(t,e){e=(e||[]).slice();var i=f(t||[],function(t,e){return{ex...
function Bo (line 1) | function Bo(t){var e=z();Pb(t,function(t,i){var n=t.exist;n&&e.set(n.id,...
function Go (line 1) | function Go(t){return Ob(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}
function Wo (line 1) | function Wo(t,e){function i(t,e,i){for(var n=0,o=t.length;n<o;n++)for(va...
function Ho (line 1) | function Ho(t,e){return null!=e.dataIndexInside?e.dataIndexInside:null!=...
function Fo (line 1) | function Fo(t,e,i){if(_(e)){var n={};n[e+"Index"]=0,e=n}var o=i&&i.defau...
function Zo (line 1) | function Zo(t,e){var i=t.dimensions;e=t.getDimension(e);for(var n=0;n<i....
function Uo (line 1) | function Uo(t,e){var i=[];return Pb(t.dimensions,function(n){var o=t.get...
function Xo (line 1) | function Xo(t,e){var i=[];return Pb(t.dimensions,function(n){var o=t.get...
function jo (line 1) | function jo(t,e){return t&&t.hasOwnProperty(e)}
function qo (line 1) | function qo(t){return[t||"",Rb++,Math.random()].join(Vb)}
function Yo (line 1) | function Yo(t,e,i,n,o){var a=0,r=0;null==n&&(n=1/0),null==o&&(o=1/0);var...
function $o (line 1) | function $o(t,e,i){var n=e.width,o=e.height,a=Si(t.x,n),r=Si(t.y,o),s=Si...
function Ko (line 1) | function Ko(t,e,i){i=Gx(i||0);var n=e.width,o=e.height,a=Si(t.left,n),r=...
function Jo (line 1) | function Jo(t,e,i,n,o){var a=!o||!o.hv||o.hv[0],s=!o||!o.hv||o.hv[1],l=o...
function Qo (line 1) | function Qo(t,e){return null!=t[Wb[e][0]]||null!=t[Wb[e][1]]&&null!=t[Wb...
function ta (line 1) | function ta(t,e,i){function n(i,n){var r={},l=0,h={},u=0;if(Bb(i,functio...
function ea (line 1) | function ea(t){return ia({},t)}
function ia (line 1) | function ia(t,e){return e&&t&&Bb(Gb,function(i){e.hasOwnProperty(i)&&(t[...
function na (line 1) | function na(t,e){d(e,function(e,o){Ub.hasClass(o)||("object"==typeof e?t...
function oa (line 1) | function oa(t){t=t,this.option={},this.option[ew]=1,this._componentsMap=...
function aa (line 1) | function aa(t,e){y(e)||(e=e?[e]:[]);var i={};return Yb(e,function(e){i[e...
function ra (line 1) | function ra(t,e,i){return e.type?e.type:i?i.subType:Ub.determineSubType(...
function sa (line 1) | function sa(t){return Kb(t,function(t){return t.componentIndex})||[]}
function la (line 1) | function la(t,e){return e.hasOwnProperty("subType")?$b(t,function(t){ret...
function ha (line 1) | function ha(t){d(nw,function(e){this[e]=m(t[e],t)},this)}
function ua (line 1) | function ua(){this._coordinateSystems=[]}
function ca (line 1) | function ca(t){this._api=t,this._timelineOptions=[],this._mediaList=[],t...
function da (line 1) | function da(t,e,i){var n,o,a=[],r=[],s=t.timeline;if(t.baseOption&&(o=t....
function fa (line 1) | function fa(t,e,i){var n={width:e,height:i,aspectratio:e/i},o=!0;return ...
function ga (line 1) | function ga(t,e,i){return"min"===i?t>=e:"max"===i?t<=e:t===e}
function pa (line 1) | function pa(t,e){return t.join(",")===e.join(",")}
function ma (line 1) | function ma(t,e){aw(e=e||{},function(e,i){if(null!=e){var n=t[i];if(Ub.h...
function va (line 1) | function va(t){var e=t&&t.itemStyle;if(e)for(var i=0,o=dw.length;i<o;i++...
function ya (line 1) | function ya(t,e){var i=cw(t)&&t[e],n=cw(i)&&i.textStyle;if(n)for(var o=0...
function xa (line 1) | function xa(t){cw(t)&&(ya(t,"normal"),ya(t,"emphasis"))}
function _a (line 1) | function _a(t){if(cw(t)){va(t),xa(t.label),xa(t.upperLabel),xa(t.edgeLab...
function ba (line 1) | function ba(t){return y(t)?t:t?[t]:[]}
function wa (line 1) | function wa(t){return(y(t)?t[0]:t)||{}}
function Sa (line 1) | function Sa(t,e){e=e.split(",");for(var i=t,n=0;n<e.length&&null!=(i=i&&...
function Ma (line 1) | function Ma(t,e,i,n){e=e.split(",");for(var o,a=t,r=0;r<e.length-1;r++)n...
function Ia (line 1) | function Ia(t){d(gw,function(e){e[0]in t&&!(e[1]in t)&&(t[e[1]]=t[e[0]])})}
function Ta (line 1) | function Ta(){this.group=new jy,this.uid=qo("viewChart")}
function Aa (line 1) | function Aa(t,e){if(t&&(t.trigger(e),"group"===t.type))for(var i=0;i<t.c...
function Ca (line 1) | function Ca(t,e,i){var n=Ho(t,e);null!=n?d(Oo(n),function(e){Aa(t.getIte...
function Da (line 1) | function Da(t,e,i){function n(){u=(new Date).getTime(),c=null,t.apply(r,...
function La (line 1) | function La(t,e,i,n){var o=t[e];if(o){var a=o[ww]||o,r=o[Mw];if(o[Sw]!==...
function ka (line 1) | function ka(t,e){var i=t[e];i&&i[ww]&&(t[e]=i[ww])}
function Pa (line 1) | function Pa(t){return function(e,i,n){e=e&&e.toLowerCase(),fy.prototype[...
function Oa (line 1) | function Oa(){fy.call(this)}
function za (line 1) | function za(t,e,n){function o(t,e){return t.prio-e.prio}n=n||{},"string"...
function Na (line 1) | function Na(t,e,i){var n,o=this._model,a=this._coordSysMgr.getCoordinate...
function Ea (line 1) | function Ea(t,e,i,n,o){function a(n){n&&n.__alive&&n[e]&&n[e](n.__model,...
function Ra (line 1) | function Ra(t,e){var i=t.type,n=t.escapeConnect,o=Bw[i],s=o.actionInfo,l...
function Va (line 1) | function Va(t){for(var e=this._pendingActions;e.length;){var i=e.shift()...
function Ba (line 1) | function Ba(t){!t&&this.trigger("updated")}
function Ga (line 1) | function Ga(t,e,i){var n=this._api;Tw(this._componentsViews,function(o){...
function Wa (line 1) | function Wa(t,e){for(var i="component"===t,n=i?this._componentsViews:thi...
function Ha (line 1) | function Ha(t,e){Tw(Ww,function(i){i.func(t,e)})}
function Fa (line 1) | function Fa(t){var e={};t.eachSeries(function(t){var i=t.get("stack"),n=...
function Za (line 1) | function Za(t,e){var i=this._api;Tw(Zw,function(n){n.isLayout&&n.func(t,...
function Ua (line 1) | function Ua(t,e,i){var n=this._api;t.clearColorPalette(),t.eachSeries(fu...
function Xa (line 1) | function Xa(t,e){var i=this._api;Tw(this._componentsViews,function(n){va...
function ja (line 1) | function ja(t,e){var i=t.storage,n=0;i.traverse(function(t){t.isGroup||n...
function qa (line 1) | function qa(t,e){var i=0;e.group.traverse(function(t){"group"===t.type||...
function Ya (line 1) | function Ya(t,e){var i=t.get("z"),n=t.get("zlevel");e.group.traverse(fun...
function $a (line 1) | function $a(t){var e=t._coordSysMgr;return a(new ha(t),{getCoordinateSys...
function Ka (line 1) | function Ka(t){function e(t,e){for(var n=0;n<t.length;n++)t[n][i]=e}var ...
function Ja (line 1) | function Ja(t){qw[t]=!1}
function Qa (line 1) | function Qa(t){var e;return e=t.getAttribute?t.getAttribute(Kw):t[Kw],jw...
function tr (line 1) | function tr(t){Hw.push(t)}
function er (line 1) | function er(t,e){"function"==typeof t&&(e=t,t=Dw),Ww.push({prio:t,func:e})}
function ir (line 1) | function ir(t,e,i){"function"==typeof e&&(i=e,e="");var n=b(t)?t.type:[t...
function nr (line 1) | function nr(t,e){ua.register(t,e)}
function or (line 1) | function or(t,e){"function"==typeof t&&(e=t,t=Lw),Zw.push({prio:t,func:e...
function ar (line 1) | function ar(t,e){"function"==typeof t&&(e=t,t=kw),Zw.push({prio:t,func:e})}
function rr (line 1) | function rr(t,e){Xw[t]=e}
function sr (line 1) | function sr(t){return Ub.extend(t)}
function lr (line 1) | function lr(t){return xw.extend(t)}
function hr (line 1) | function hr(t){return yw.extend(t)}
function ur (line 1) | function ur(t){return Ta.extend(t)}
function cr (line 1) | function cr(t){return Jw[t]}
function dr (line 1) | function dr(t){return t}
function fr (line 1) | function fr(t,e,i,n,o){this._old=t,this._new=e,this._oldKeyGetter=i||dr,...
function gr (line 1) | function gr(t,e,i,n,o){for(var a=0;a<t.length;a++){var r="_ec_"+o[n](t[a...
function pr (line 1) | function pr(t,e){d(oS.concat(e.__wrappedMethods||[]),function(i){e.hasOw...
function mr (line 1) | function mr(t){this._array=t||[]}
function vr (line 1) | function vr(t){return y(t)||(t=[t]),t}
function yr (line 1) | function yr(t,e){var i=t.dimensions,n=new aS(f(i,t.getDimensionInfo,t),t...
function xr (line 1) | function xr(t,e,n){function o(t,e,i){cS[e]?t.otherDims[e]=i:(t.coordDim=...
function _r (line 1) | function _r(t){return y(t)?t:b(t)?t.value:t}
function br (line 1) | function br(t){for(var e=0;e<t.length&&null==t[e];)e++;return t[e]}
function wr (line 1) | function wr(t){var e=br(t);return null!=e&&!y(No(e))}
function Sr (line 1) | function Sr(t,e,i){t=t||[];var n=e.get("coordinateSystem"),o=fS[n],a=ua....
function Mr (line 1) | function Mr(t){return"category"!==t&&"time"!==t}
function Ir (line 1) | function Ir(t){return"category"===t?"ordinal":"time"===t?"time":"float"}
function Tr (line 1) | function Tr(t,e){var i,n=[],o=t&&t.dimensions[t.categoryIndex];if(o&&(i=...
function Ar (line 1) | function Ar(t){this._setting=t||{},this._extent=[1/0,-1/0],this._interva...
function Cr (line 1) | function Cr(t,e,i,n){var o={},a=t[1]-t[0],r=o.interval=Ni(a/e,!0);null!=...
function Dr (line 1) | function Dr(t){return Ai(t)+2}
function Lr (line 1) | function Lr(t,e,i){t[e]=Math.max(Math.min(t[e],i[1]),i[0])}
function kr (line 1) | function kr(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1...
function Pr (line 1) | function Pr(t,e,i,n){var o=[];if(!t)return o;e[0]<i[0]&&o.push(e[0]);for...
function Or (line 1) | function Or(t,e){return CS(t,AS(e))}
function zr (line 1) | function zr(t,e){var i,n,o,a=t.type,r=e.getMin(),s=e.getMax(),l=null!=r,...
function Nr (line 1) | function Nr(t,e){var i=zr(t,e),n=null!=e.getMin(),o=null!=e.getMax(),a=e...
function Er (line 1) | function Er(t,e){if(e=e||t.get("type"))switch(e){case"category":return n...
function Rr (line 1) | function Rr(t,e,i,n,o){var a,r=0,s=0,l=(n-o)/180*Math.PI,h=1;e.length>40...
function Vr (line 1) | function Vr(t,e){var i=t.scale,n=i.getTicksLabels(),o=i.getTicks();retur...
function Br (line 1) | function Br(t,e){return"category"===t.type?t.scale.getLabel(e):e}
function Gr (line 1) | function Gr(t){return b(t)&&null!=t.value?t.value:t+""}
function Wr (line 1) | function Wr(t,e){if("image"!==this.type){var i=this.style,n=this.shape;n...
function Hr (line 1) | function Hr(t,e,i,n,o,a,r){var s=0===t.indexOf("empty");s&&(t=t.substr(5...
function Fr (line 1) | function Fr(t,e){var i=(t[1]-t[0])/e/2;t[0]+=i,t[1]-=i}
function Zr (line 1) | function Zr(t,e){return Math.abs(t-e)<XS}
function Ur (line 1) | function Ur(t,e,i){var n=0,o=t[0];if(!o)return!1;for(var a=1;a<t.length;...
function Xr (line 1) | function Xr(t,e,i){if(this.name=t,this.geometries=e,i)i=[i[0],i[1]];else...
function jr (line 1) | function jr(t){if(!t.UTF8Encoding)return t;var e=t.UTF8Scale;null==e&&(e...
function qr (line 1) | function qr(t,e,i){for(var n=[],o=e[0],a=e[1],r=0;r<t.length;r+=2){var s...
function Yr (line 1) | function Yr(t){var e,i=Xo(t,"label");if(i.length)e=i[0];else for(var n,o...
function $r (line 1) | function $r(t,e){var i=t.getItemVisual(e,"symbolSize");return i instance...
function Kr (line 1) | function Kr(t){return[t[0]/2,t[1]/2]}
function Jr (line 1) | function Jr(t,e,i){jy.call(this),this.updateData(t,e,i)}
function Qr (line 1) | function Qr(t,e){this.parent.drift(t,e)}
function ts (line 1) | function ts(t){this.group=new jy,this._symbolCtor=t||Jr}
function es (line 1) | function es(t,e,i){var n=t.getItemLayout(e);return n&&!isNaN(n[0])&&!isN...
function is (line 1) | function is(t){return t>=0?1:-1}
function ns (line 1) | function ns(t,e,i){for(var n,o=t.getBaseAxis(),a=t.getOtherAxis(o),r=o.o...
function os (line 1) | function os(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:"...
function as (line 1) | function as(t){return isNaN(t[0])||isNaN(t[1])}
function rs (line 1) | function rs(t,e,i,n,o,a,r,s,l,h,u){for(var c=0,d=i,f=0;f<n;f++){var g=e[...
function ss (line 1) | function ss(t,e){var i=[1/0,1/0],n=[-1/0,-1/0];if(e)for(var o=0;o<t.leng...
function ls (line 1) | function ls(t,e){if(t.length===e.length){for(var i=0;i<t.length;i++){var...
function hs (line 1) | function hs(t){return"number"==typeof t?t:t?.3:0}
function us (line 1) | function us(t){var e=t.getGlobalExtent();if(t.onBand){var i=t.getBandWid...
function cs (line 1) | function cs(t){return t>=0?1:-1}
function ds (line 1) | function ds(t,e){var i=t.getBaseAxis(),n=t.getOtherAxis(i),o=0;if(!i.onZ...
function fs (line 1) | function fs(t,e,i){var n=us(t.getAxis("x")),o=us(t.getAxis("y")),a=t.get...
function gs (line 1) | function gs(t,e,i){var n=t.getAngleAxis(),o=t.getRadiusAxis().getExtent(...
function ps (line 1) | function ps(t,e,i){return"polar"===t.type?gs(t,e,i):fs(t,e,i)}
function ms (line 1) | function ms(t,e,i){for(var n=e.getBaseAxis(),o="x"===n.dim||"radius"===n...
function vs (line 1) | function vs(t,e){var i=t.getVisual("visualMeta");if(i&&i.length&&t.count...
function ys (line 1) | function ys(t){return this._axes[t]}
function xs (line 1) | function xs(t){pM.call(this,t)}
function _s (line 1) | function _s(t,e){return e.type||(e.data?"category":"value")}
function bs (line 1) | function bs(t,e,i){return t.getCoordSysModel()===e}
function ws (line 1) | function ws(t,e){var i=e*Math.PI/180,n=t.plain(),o=n.width,a=n.height,r=...
function Ss (line 1) | function Ss(t){var e,i=t.model,n=i.getFormattedLabels(),o=i.getModel("ax...
function Ms (line 1) | function Ms(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap=...
function Is (line 1) | function Is(t,e,i){var n=t[e];if(i.onZero){var o=i.onZeroAxisIndex;if(nu...
function Ts (line 1) | function Ts(t){return"category"===t.type||"time"===t.type||!MM(t)}
function As (line 1) | function As(t,e){var i=t.getExtent(),n=i[0]+i[1];t.toGlobalCoord="x"===t...
function Cs (line 1) | function Cs(t,e){return f(AM,function(e){return t.getReferringComponents...
function Ds (line 1) | function Ds(t){return"cartesian2d"===t.get("coordinateSystem")}
function Ls (line 1) | function Ls(t){var e={componentType:t.mainType};return e[t.mainType+"Ind...
function ks (line 1) | function ks(t,e,i,n){var o,a,r=Li(i-t.rotation),s=n[0]>n[1],l="start"===...
function Ps (line 1) | function Ps(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("t...
function Os (line 1) | function Os(t,e,i){var n=t.get("axisLabel.showMinLabel"),o=t.get("axisLa...
function zs (line 1) | function zs(t){t&&(t.ignore=!0)}
function Ns (line 1) | function Ns(t,e,i){var n=t&&t.getBoundingRect().clone(),o=e&&e.getBoundi...
function Es (line 1) | function Es(t){return"middle"===t||"center"===t}
function Rs (line 1) | function Rs(t,e,i){var n=e.axis;if(e.get("axisTick.show")&&!n.scale.isBl...
function Vs (line 1) | function Vs(t,e,i){var n=e.axis;if(I(i.axisLabelShow,e.get("axisLabel.sh...
function Bs (line 1) | function Bs(t,e){var i={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{...
function Gs (line 1) | function Gs(t,e,i){var n=e.getComponent("tooltip"),o=e.getComponent("axi...
function Ws (line 1) | function Ws(t,e,n,o,a,s){var l=e.getModel("axisPointer"),h={};zM(["type"...
function Hs (line 1) | function Hs(t,e){e.eachSeries(function(e){var i=e.coordinateSystem,n=e.g...
function Fs (line 1) | function Fs(t,e){for(var i=e.model,n=e.dim,o=0;o<t.length;o++){var a=t[o...
function Zs (line 1) | function Zs(t,e){return"all"===t||y(t)&&l(t,e)>=0||t===e}
function Us (line 1) | function Us(t){var e=Xs(t);if(e){var i=e.axisPointerModel,n=e.axis.scale...
function Xs (line 1) | function Xs(t){var e=(t.ecModel.getComponent("axisPointer")||{}).coordSy...
function js (line 1) | function js(t){var e=Xs(t);return e&&e.axisPointerModel}
function qs (line 1) | function qs(t){return!!t.get("handle.show")}
function Ys (line 1) | function Ys(t){return t.type+"||"+t.id}
function $s (line 1) | function $s(t,e,i,n,o,a){var r=EM.getAxisPointerClass(t.axisPointerClass...
function Ks (line 1) | function Ks(t,e,i){var n=t._axisPointer;n&&n.dispose(e,i),t._axisPointer...
function Js (line 1) | function Js(t,e,i){i=i||{};var n=t.coordinateSystem,o=e.axis,a={},r=o.po...
function Qs (line 1) | function Qs(t){return t.get("stack")||FM+t.seriesIndex}
function tl (line 1) | function tl(t){return t.dim+t.index}
function el (line 1) | function el(t,e){return il(f(t,function(t){var e=t.getData(),i=t.coordin...
function il (line 1) | function il(t,e){var i={};d(t,function(t,e){var n=t.axisKey,o=t.bandWidt...
function nl (line 1) | function nl(t,e,i){var n=el(p(e.getSeriesByType(t),function(t){return!e....
function ol (line 1) | function ol(t,e,i,n,o,a,r){co(t,e,i.getModel("label.normal"),i.getModel(...
function al (line 1) | function al(t,e){"outside"===t.textPosition&&(t.textPosition=e)}
function rl (line 1) | function rl(t,e,i){i.style.text=null,wo(i,{shape:{width:0}},e,t,function...
function sl (line 1) | function sl(t,e,i){i.style.text=null,wo(i,{shape:{r:i.shape.r0}},e,t,fun...
function ll (line 1) | function ll(t,e,i,n,o,a,s,l){var h=e.getItemVisual(i,"color"),u=e.getIte...
function hl (line 1) | function hl(t,e){var i=t.get(jM)||0;return Math.min(i,Math.abs(e.width),...
function ul (line 1) | function ul(t,e,i,n){var o=e.getData(),a=this.dataIndex,r=o.getName(a),s...
function cl (line 1) | function cl(t,e,i,n,o){var a=(e.startAngle+e.endAngle)/2,r=Math.cos(a),s...
function dl (line 1) | function dl(t,e){function i(){a.ignore=a.hoverIgnore,r.ignore=r.hoverIgn...
function fl (line 1) | function fl(t,e,i,n,o,a,r){function s(e,i){for(var n=e;n>=0&&(t[n].y-=i,...
function gl (line 1) | function gl(t,e,i,n,o,a){for(var r=[],s=[],l=0;l<t.length;l++)t[l].x<e?r...
function pl (line 1) | function pl(){this.group=new jy,this._symbolEl=new aI({})}
function ml (line 1) | function ml(t,e,i){US.call(this,t,e,i),this.type="value",this.angle=0,th...
function vl (line 1) | function vl(t,e,i){this._model=t,this.dimensions=[],this._indicatorAxes=...
function yl (line 1) | function yl(t,e){return r({show:e},t)}
function xl (line 1) | function xl(t){return y(t)||(t=[+t,+t]),t}
function _l (line 1) | function _l(){by.call(this)}
function bl (line 1) | function bl(t){this.name=t,this.zoomLimit,by.call(this),this._roamTransf...
function wl (line 1) | function wl(t,e,i,n){var o=i.seriesModel,a=o?o.coordinateSystem:null;ret...
function Sl (line 1) | function Sl(t,e,i,n,o){bl.call(this,t),this.map=e,this._nameCoordMap=z()...
function Ml (line 1) | function Ml(t,e,i,n){var o=i.geoModel,a=i.seriesModel,r=o?o.coordinateSy...
function Il (line 1) | function Il(t,e){var i=t.get("boundingCoords");if(null!=i){var n=i[0],o=...
function Tl (line 1) | function Tl(t,e){d(e.get("geoCoord"),function(e,i){t.addGeoCoord(i,e)})}
function Al (line 1) | function Al(t,e,i){Ll(t)[e]=i}
function Cl (line 1) | function Cl(t,e,i){var n=Ll(t);n[e]===i&&(n[e]=null)}
function Dl (line 1) | function Dl(t,e){return!!Ll(t)[e]}
function Ll (line 1) | function Ll(t){return t[bI]||(t[bI]={})}
function kl (line 1) | function kl(t){this.pointerChecker,this._zr=t,this._opt={};var e=m,n=e(P...
function Pl (line 1) | function Pl(t){if(!(hi(t)||t.target&&t.target.draggable)){var e=t.offset...
function Ol (line 1) | function Ol(t){if(!hi(t)&&Vl(this,"moveOnMouseMove",t)&&this._dragging&&...
function zl (line 1) | function zl(t){hi(t)||(this._dragging=!1)}
function Nl (line 1) | function Nl(t){if(Vl(this,"zoomOnMouseWheel",t)&&0!==t.wheelDelta){var e...
function El (line 1) | function El(t){if(!Dl(this._zr,"globalPan")){var e=t.pinchScale>1?1.1:1/...
function Rl (line 1) | function Rl(t,e,i,n){this.pointerChecker&&this.pointerChecker(t,i,n)&&(b...
function Vl (line 1) | function Vl(t,e,i){var n=t._opt[e];return n&&(!_(n)||i.event[n+"Key"])}
function Bl (line 1) | function Bl(t,e,i){var n=t.target,o=n.position;o[0]+=e,o[1]+=i,n.dirty()}
function Gl (line 1) | function Gl(t,e,i,n){var o=t.target,a=t.zoomLimit,r=o.position,s=o.scale...
function Wl (line 1) | function Wl(t,e,i){var n=e.getComponentByElement(t.topTarget),o=n&&n.coo...
function Hl (line 1) | function Hl(t,e){var i=t.getItemStyle(),n=t.get("areaColor");return null...
function Fl (line 1) | function Fl(t,e,i,n,o){i.off("click"),i.off("mousedown"),e.get("selected...
function Zl (line 1) | function Zl(t,e){e.eachChild(function(e){d(e.__regions,function(i){e.tri...
function Ul (line 1) | function Ul(t,e){var i=new jy;this._controller=new kl(t.getZr()),this._c...
function Xl (line 1) | function Xl(t,e,i){var n=t.getZoom(),o=t.getCenter(),a=e.zoom,r=t.dataTo...
function jl (line 1) | function jl(t,e){var i={},n=["value"];return d(t,function(t){t.each(n,fu...
function ql (line 1) | function ql(t){var e=t.mainData,i=t.datas;i||(i={main:e},t.datasAttr={ma...
function Yl (line 1) | function Yl(t,e){if(Ql(this)){var i=a({},this[MI]);i[this.dataType]=e,th...
function $l (line 1) | function $l(t,e){return t.struct&&t.struct.update(this),e}
function Kl (line 1) | function Kl(t,e){return SI(e[MI],function(i,n){i!==e&&eh(i.cloneShallow(...
function Jl (line 1) | function Jl(t){var e=this[II];return null==t||null==e?e:e[MI][t]}
function Ql (line 1) | function Ql(t){return t[II]===t}
function th (line 1) | function th(t,e,i){t[MI]={},SI(e,function(e,n){eh(e,n,t,i)})}
function eh (line 1) | function eh(t,e,i,n){i[MI][e]=t,t[II]=i,t.dataType=e,n.struct&&(t[n.stru...
function ih (line 1) | function ih(t,e,i){this.root,this.data,this._nodes=[],this.hostModel=t,t...
function nh (line 1) | function nh(t,e){var i=e.children;t.parentNode!==e&&(i.push(t),t.parentN...
function oh (line 1) | function oh(t){t.hierNode={defaultAncestor:null,ancestor:t,prelim:0,modi...
function ah (line 1) | function ah(t,e){var i=t.isExpand?t.children:[],n=t.parentNode.children,...
function rh (line 1) | function rh(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t....
function sh (line 1) | function sh(t){return arguments.length?t:mh}
function lh (line 1) | function lh(t,e){var i={};return t-=Math.PI/2,i.x=e*Math.cos(t),i.y=e*Ma...
function hh (line 1) | function hh(t,e){return Ko(t.getBoxLayoutParams(),{width:e.getWidth(),he...
function uh (line 1) | function uh(t){for(var e=t.children,i=e.length,n=0,o=0;--i>=0;){var a=e[...
function ch (line 1) | function ch(t,e,i,n){if(e){for(var o=t,a=t,r=a.parentNode.children[0],s=...
function dh (line 1) | function dh(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1...
function fh (line 1) | function fh(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierN...
function gh (line 1) | function gh(t,e,i){return t.hierNode.ancestor.parentNode===e.parentNode?...
function ph (line 1) | function ph(t,e,i){var n=i/(e.hierNode.i-t.hierNode.i);e.hierNode.change...
function mh (line 1) | function mh(t,e){return t.parentNode===e.parentNode?1:2}
function vh (line 1) | function vh(t,e){var i=t.getItemLayout(e);return i&&!isNaN(i.x)&&!isNaN(...
function yh (line 1) | function yh(t,e,i){return i.itemModel=e,i.itemStyle=e.getModel("itemStyl...
function xh (line 1) | function xh(t,e,i,n,o,a){var s=!i,l=t.tree.getNodeByDataIndex(e),a=yh(l,...
function _h (line 1) | function _h(t,e,i,n,o,a){for(var r,s=t.tree.getNodeByDataIndex(e),l=t.tr...
function bh (line 1) | function bh(t,e,i){var n,o,a,r,s=t.orient;if("radial"===t.layout){var l=...
function wh (line 1) | function wh(t,e,i){for(var n,o=[t],a=[];n=o.pop();)if(a.push(n),n.isExpa...
function Sh (line 1) | function Sh(t,e){for(var i,n=[t];i=n.pop();)if(e(i),i.isExpand){var o=i....
function Mh (line 1) | function Mh(t,e){if(t&&("treemapZoomToNode"===t.type||"treemapRootToNode...
function Ih (line 1) | function Ih(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reve...
function Th (line 1) | function Th(t,e){return l(Ih(t),e)>=0}
function Ah (line 1) | function Ah(t,e){for(var i=[];t;){var n=t.dataIndex;i.push({name:t.name,...
function Ch (line 1) | function Ch(t){var e=0;d(t.children,function(t){Ch(t);var i=t.value;y(i)...
function Dh (line 1) | function Dh(t,e){var i=e.get("color");if(i){var n;return d(t=t||[],funct...
function Lh (line 1) | function Lh(t){this.group=new jy,t.add(this.group)}
function kh (line 1) | function kh(t,e,i,n,o,a){var r=[[o?t:t-CI,e],[t+i,e],[t+i,e+n],[o?t:t-CI...
function Ph (line 1) | function Ph(t,e,i){t.eventData={componentType:"series",componentSubType:...
function Oh (line 1) | function Oh(){var t,e=[],i={};return{add:function(t,n,o,a,r){return _(a)...
function zh (line 1) | function zh(t,e,n,o,r,s,l,h,u,c){function d(t,e){b?!t.invisible&&s.push(...
function Nh (line 1) | function Nh(t,e){var i=t*RI+e;return(i-1)/i}
function Eh (line 1) | function Eh(t){var e=t.pieceList;t.hasSpecialVisual=!1,d(e,function(e,i)...
function Rh (line 1) | function Rh(t){var e=t.categories,i=t.visual,n=t.categoryMap={};if(ZI(e,...
function Vh (line 1) | function Vh(t,e){var i=t.visual,n=[];b(i)?ZI(i,function(t){n.push(t)}):n...
function Bh (line 1) | function Bh(t){return{applyVisual:function(e,i,n){e=this.mapValueToVisua...
function Gh (line 1) | function Gh(t){var e=this.option.visual;return e[Math.round(wi(t,[0,1],[...
function Wh (line 1) | function Wh(t){return function(e,i,n){n(t,this.mapValueToVisual(e))}}
function Hh (line 1) | function Hh(t){var e=this.option.visual;return e[this.option.loop&&t!==X...
function Fh (line 1) | function Fh(){return this.option.visual[0]}
function Zh (line 1) | function Zh(t){return{linear:function(e){return wi(e,t,this.option.visua...
function Uh (line 1) | function Uh(t){var e=this.option,i=e.pieceList;if(e.hasSpecialVisual){va...
function Xh (line 1) | function Xh(t,e){return t.visual=e,"color"===t.type&&(t.parsedVisual=f(e...
function jh (line 1) | function jh(t,e,i){return t?e<=i:e<i}
function qh (line 1) | function qh(t,e,i,n,o,a){var r=t.getModel(),s=t.getLayout();if(s&&!s.inv...
function Yh (line 1) | function Yh(t,e,i,n){var o=a({},e);return d(["color","colorAlpha","color...
function $h (line 1) | function $h(t){var e=Jh(t,"color");if(e){var i=Jh(t,"colorAlpha"),n=Jh(t...
function Kh (line 1) | function Kh(t,e){return null!=e?kt(e,null,null,t):null}
function Jh (line 1) | function Jh(t,e){var i=t[e];if(null!=i&&"none"!==i)return i}
function Qh (line 1) | function Qh(t,e,i,n,o,a){if(a&&a.length){var r=tu(e,"color")||null!=o.co...
function tu (line 1) | function tu(t,e){var i=t.get(e);return $I(i)&&i.length?{name:e,range:i}:...
function eu (line 1) | function eu(t,e,i,n,o,r){var s=a({},e);if(o){var l=o.type,h="color"===l&...
function iu (line 1) | function i
Copy disabled (too large)
Download .json
Condensed preview — 1166 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (10,329K chars).
[
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 799,
"preview": "---\nname: Bug report\nabout: Create a report to help us improve\n\n---\n\n**Describe the bug**\nA clear and concise descriptio"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.md",
"chars": 560,
"preview": "---\nname: Feature request\nabout: Suggest an idea for this project\n\n---\n\n**Is your feature request related to a problem? "
},
{
"path": ".gitignore",
"chars": 415,
"preview": "HELP.md\ntarget/\n!.mvn/wrapper/maven-wrapper.jar\n!**/src/main/**\n!**/src/test/**\n\n### STS ###\n.apt_generated\n.classpath\n."
},
{
"path": ".gitlab-ci.yml",
"chars": 122,
"preview": "stages:\n- install\njob:\n stage: install\n script:\n - chmod +x ./scripts/gitlabci.build.sh\n - ./scripts/gitlabci.build."
},
{
"path": ".sonarcloud.properties",
"chars": 294,
"preview": "# Path to sources\n#sonar.sources=.\nsonar.exclusions=src/main/resources/**\nsonar.inclusions=src/main/java/**\n\n# Path to t"
},
{
"path": ".travis.yml",
"chars": 165,
"preview": "os: linux\ndist: trusty\nsudo: true\ngroup: stable\nscript:\n - chmod +x ./scripts/travisci.build.sh\n - ./scripts/travisci."
},
{
"path": "CHANGELOG.md",
"chars": 1929,
"preview": "\n## Changelog\n- v0.8.0 2020.07.24\n - refactor:更改包名(20200721)\n - refactor:优化代码(20200712)\n- v0.7.3 2020.05.31\n - feat:升"
},
{
"path": "LICENSE",
"chars": 1093,
"preview": "MIT License\n\nCopyright (c) 2019 Rakesh Zhang (godcheese@outlook.com)\n\nPermission is hereby granted, free of charge, to a"
},
{
"path": "README.md",
"chars": 5678,
"preview": "<p align=\"center\">\n <img width=\"320\" src=\"https://github.com/godcheese/nimrod/blob/master/nimrod_banner.png?raw=true\">\n"
},
{
"path": "TODO.md",
"chars": 121,
"preview": "\n## Todo list\n- (20191018)修复 IE 上传文件异常 ✗\n- (20190920)验证码字体路径乱码 ✔\n- (20190920)项目启动时 Quartz 任务重复运行多次 ✔\n- (20190920)新的登录界面 "
},
{
"path": "db/mysql/example/example.sql",
"chars": 458,
"preview": "\n-- example 表\nCREATE TABLE `example` (\n `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,\n `name` varchar(255) DEFAUL"
},
{
"path": "db/mysql/nimrod/nimrod.sql",
"chars": 89459,
"preview": "/*\r\n Navicat Premium Data Transfer\r\n\r\n Source Server : localhost\r\n Source Server Type : MySQL\r\n Source Server"
},
{
"path": "db/mysql/nimrod/table/api_category_table.sql",
"chars": 663,
"preview": "\n-- API 分类表\nDROP TABLE IF EXISTS `api_category`;\n\nCREATE TABLE `api_category` (\n `id` bigint(20) unsigned AUTO_INCREMEN"
},
{
"path": "db/mysql/nimrod/table/api_table.sql",
"chars": 909,
"preview": "\n-- API 表\n-- ----------------------------\n-- Table structure for api\n-- ----------------------------\nDROP TABLE IF EXIST"
},
{
"path": "db/mysql/nimrod/table/attachment_table.sql",
"chars": 784,
"preview": "\n-- 附件表\nDROP TABLE\nIF EXISTS `attachment`;\n\nCREATE TABLE `attachment` (\n `id` bigint(20) unsigned AUTO_INCREMENT COMMEN"
},
{
"path": "db/mysql/nimrod/table/department_table.sql",
"chars": 595,
"preview": "\n-- 部门表\nDROP TABLE\nIF EXISTS `department`;\n\nCREATE TABLE `department` (\n `id` bigint(20) unsigned AUTO_INCREMENT COMMEN"
},
{
"path": "db/mysql/nimrod/table/dictionary_category_table.sql",
"chars": 667,
"preview": "\n-- 数据字典分类表\nDROP TABLE\nIF EXISTS `dictionary_category`;\n\nCREATE TABLE `dictionary_category` (\n `id` bigint(20) unsigned"
},
{
"path": "db/mysql/nimrod/table/dictionary_table.sql",
"chars": 892,
"preview": "\n-- 数据字典表\nDROP TABLE\nIF EXISTS `dictionary`;\n\nCREATE TABLE `dictionary` (\n `id` bigint(20) unsigned AUTO_INCREMENT COMM"
},
{
"path": "db/mysql/nimrod/table/job_runtime_log_table.sql",
"chars": 819,
"preview": "\n-- Quartz 定时任务运行日志\nDROP TABLE IF EXISTS `job_runtime_log`;\n\nCREATE TABLE `job_runtime_log` (\n `id` bigint(20) unsigned"
},
{
"path": "db/mysql/nimrod/table/mail_attachment_table.sql",
"chars": 402,
"preview": "\n-- 电子邮件文件表\nDROP TABLE\nIF EXISTS `mail_attachment`;\n\nCREATE TABLE `mail_attachment` (\n `id` bigint(20) unsigned AUTO_IN"
},
{
"path": "db/mysql/nimrod/table/mail_table.sql",
"chars": 790,
"preview": "\n-- 电子邮件表\nDROP TABLE IF EXISTS `mail`;\n\nCREATE TABLE `mail` (\n `id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',\n "
},
{
"path": "db/mysql/nimrod/table/operation_log_table.sql",
"chars": 1179,
"preview": "\n-- 系统请求日志表\nDROP TABLE\nIF EXISTS `operation_log`;\n\nCREATE TABLE `operation_log` (\n `id` bigint(20) unsigned AUTO_INCREM"
},
{
"path": "db/mysql/nimrod/table/role_authority_table.sql",
"chars": 442,
"preview": "\n-- 角色关联权限表\nDROP TABLE\nIF EXISTS `role_authority`;\n\nCREATE TABLE `role_authority` (\n `id` bigint(20) unsigned AUTO_INCR"
},
{
"path": "db/mysql/nimrod/table/role_table.sql",
"chars": 607,
"preview": "\n-- 角色表\nDROP TABLE\nIF EXISTS `role`;\n\nCREATE TABLE `role` (\n `id` bigint(20) unsigned AUTO_INCREMENT COMMENT 'id',\n `n"
},
{
"path": "db/mysql/nimrod/table/user_password_reset_table.sql",
"chars": 760,
"preview": "\n\n-- 用户密码重置表\nDROP TABLE\nIF EXISTS `user_password_reset`;\n\nCREATE TABLE `user_password_reset` (\n `id` bigint(20) unsigne"
},
{
"path": "db/mysql/nimrod/table/user_role_table.sql",
"chars": 429,
"preview": "\n-- 用户关联角色表\nDROP TABLE\nIF EXISTS `user_role`;\n\nCREATE TABLE `user_role` (\n `id` bigint(20) unsigned AUTO_INCREMENT COMM"
},
{
"path": "db/mysql/nimrod/table/user_table.sql",
"chars": 1009,
"preview": "\n-- 用户表\nDROP TABLE\nIF EXISTS `user`;\n\n-- 123456\n-- $2a$10$tYdoCZPLiG2bMX9Cn09JCOV.g0BZeblQ39Rq0HL.jJy5OtCnUMOmC\n\nCREATE "
},
{
"path": "db/mysql/nimrod/table/view_menu_category_table.sql",
"chars": 774,
"preview": "\n\n-- 视图菜单分类表\nDROP TABLE\nIF EXISTS `view_menu_category`;\n\nCREATE TABLE `view_menu_category` (\n `id` bigint(20) unsigned "
},
{
"path": "db/mysql/nimrod/table/view_menu_table.sql",
"chars": 797,
"preview": "\n-- 视图菜单表\nDROP TABLE\nIF EXISTS `view_menu`;\n\nCREATE TABLE `view_menu` (\n `id` bigint(20) unsigned AUTO_INCREMENT COMMEN"
},
{
"path": "db/mysql/nimrod/table/view_page_api_table.sql",
"chars": 450,
"preview": "\n-- 视图页面关联 API 表\nDROP TABLE\nIF EXISTS `view_page_api`;\n\nCREATE TABLE `view_page_api` (\n `id` bigint(20) unsigned AUTO_I"
},
{
"path": "db/mysql/nimrod/table/view_page_category_table.sql",
"chars": 662,
"preview": "\n-- 视图页面分类表\nDROP TABLE\nIF EXISTS `view_page_category`;\n\nCREATE TABLE `view_page_category` (\n `id` bigint(20) unsigned A"
},
{
"path": "db/mysql/nimrod/table/view_page_component_api_table.sql",
"chars": 486,
"preview": "\n-- 视图页面组件关联 API 表\nDROP TABLE\nIF EXISTS `view_page_component_api`;\n\nCREATE TABLE `view_page_component_api` (\n `id` bigi"
},
{
"path": "db/mysql/nimrod/table/view_page_component_table.sql",
"chars": 834,
"preview": "\n-- 视图页面组件表\nDROP TABLE\nIF EXISTS `view_page_component`;\n\nCREATE TABLE `view_page_component` (\n `id` bigint(20) unsigned"
},
{
"path": "db/mysql/nimrod/table/view_page_table.sql",
"chars": 789,
"preview": "\n-- 视图页面表\nDROP TABLE\nIF EXISTS `view_page`;\n\nCREATE TABLE `view_page` (\n `id` bigint(20) unsigned AUTO_INCREMENT COMMEN"
},
{
"path": "db/mysql/nimrod/util.sql",
"chars": 141,
"preview": "\n-- 修改MySQL时区\nset global time_zone = '+08:00'; -- 修改mysql全局时区为北京时间,即我们所在的东8区\nset time_zone = '+08:00'; -- 修改当前会话时区\nflush"
},
{
"path": "db/mysql/quartz/tables_mysql_innodb.sql",
"chars": 6860,
"preview": "#\n# In your Quartz properties file, you'll need to set\n# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcj"
},
{
"path": "db/oracle/install_oracle_11g_r2.sh",
"chars": 4634,
"preview": "#!/usr/bin/env bash\n\n# CentOS 7 自动化安装 oracle 11g r2\n\n# 安装一些必要的软件\n# wget 下载用的\n# unzip 解压oracle安装文件\n# net-t"
},
{
"path": "db/oracle/quartz/tables_oracle.sql",
"chars": 7946,
"preview": "--\n-- A hint submitted by a user: Oracle DB MUST be created as \"shared\" and the \n-- job_queue_processes parameter must "
},
{
"path": "docs/cron.md",
"chars": 3120,
"preview": "## Cron 表达式详解\n\nCron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:\n\nSeconds Minutes Hours DayofMonth Month Dayo"
},
{
"path": "docs/getting_started.md",
"chars": 1697,
"preview": "### 项目目录结构\n```\n│\n├── main\n│ │ \n│ ├── java\n│ │ │\n│ │ └── com.godcheese ----------------- 项目主类包\n│ │ │"
},
{
"path": "docs/java.md",
"chars": 1515,
"preview": "### Java 8 Install\n1. 安装。Windows/Linux/macOS 系统下载安装对应的安装包。\n - [Download](https://www.oracle.com/technetwork/java/javase"
},
{
"path": "pom.xml",
"chars": 8695,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
},
{
"path": "scripts/git_clear_history_commit.sh.do_not_run",
"chars": 646,
"preview": "#!/usr/bin/env bash\n\necho \"author godcheese [godcheese@outlook.com]\"\nCURRENT_DIR=$(pwd)\nSCRIPTS_DIR=$(cd \"$(dirname $0)\""
},
{
"path": "scripts/git_config.sh.do_not_run",
"chars": 244,
"preview": "#!/usr/bin/env bash\n\necho \"author godcheese [godcheese@outlook.com]\"\ngit config --global user.name \"godcheese\"\ngit confi"
},
{
"path": "scripts/gitlabci.build.sh",
"chars": 1670,
"preview": "#!/usr/bin/env bash\n# encoding: utf-8.0\n\n# http://github.com/godcheese/shell_bag\n# author: godcheese [godcheese@outlook."
},
{
"path": "scripts/package.bat",
"chars": 229,
"preview": "CHCP 65001\n@echo off\necho.author godcheese [godcheese@outlook.com]\nset \"CURRENT_DIR=%~dp0\"\ncd %CURRENT_DIR%\ncd ..\ncall m"
},
{
"path": "scripts/package.sh",
"chars": 292,
"preview": "#!/usr/bin/env bash\n\necho \"author godcheese [godcheese@outlook.com]\"\nCURRENT_DIR=$(pwd)\nSCRIPTS_DIR=$(cd \"$(dirname $0)\""
},
{
"path": "scripts/run_dev.bat",
"chars": 230,
"preview": "CHCP 65001\n@echo off\necho.author godcheese [godcheese@outlook.com]\nset \"CURRENT_DIR=%~dp0\"\ncd %CURRENT_DIR%\ncd ..\ncall m"
},
{
"path": "scripts/run_dev.sh",
"chars": 293,
"preview": "#!/usr/bin/env bash\n\necho \"author godcheese [godcheese@outlook.com]\"\nCURRENT_DIR=$(pwd)\nSCRIPTS_DIR=$(cd \"$(dirname $0)\""
},
{
"path": "scripts/run_prod.bat",
"chars": 231,
"preview": "CHCP 65001\n@echo off\necho.author godcheese [godcheese@outlook.com]\nset \"CURRENT_DIR=%~dp0\"\ncd %CURRENT_DIR%\ncd ..\ncall m"
},
{
"path": "scripts/run_prod.sh",
"chars": 294,
"preview": "#!/usr/bin/env bash\n\necho \"author godcheese [godcheese@outlook.com]\"\nCURRENT_DIR=$(pwd)\nSCRIPTS_DIR=$(cd \"$(dirname $0)\""
},
{
"path": "scripts/travisci.build.sh",
"chars": 1720,
"preview": "#!/usr/bin/env bash\n# encoding: utf-8.0\n\n# http://github.com/godcheese/shell_bag\n# author: godcheese [godcheese@outlook."
},
{
"path": "src/main/java/com/godcheese/NimrodApplication.java",
"chars": 4233,
"preview": "package com.godcheese;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport org.slf4j.Logger;\nimport org.slf4j.Logg"
},
{
"path": "src/main/java/com/godcheese/example/Example.java",
"chars": 368,
"preview": "package com.godcheese.example;\n\n\n/**\n * @author godcheese [godcheese@outlook.com]\n * @date 2019-01-18\n */\npublic class E"
},
{
"path": "src/main/java/com/godcheese/example/api/ExampleRestController.java",
"chars": 834,
"preview": "package com.godcheese.example.api;\n\nimport com.godcheese.example.Example;\nimport com.godcheese.example.service.ExampleSe"
},
{
"path": "src/main/java/com/godcheese/example/controller/ExampleController.java",
"chars": 695,
"preview": "package com.godcheese.example.controller;\n\nimport com.godcheese.example.Example;\nimport com.godcheese.nimrod.common.othe"
},
{
"path": "src/main/java/com/godcheese/example/entity/ExampleEntity.java",
"chars": 1454,
"preview": "package com.godcheese.example.entity;\n\nimport java.io.Serializable;\nimport java.util.Date;\n\n/**\n * @author godcheese [go"
},
{
"path": "src/main/java/com/godcheese/example/mapper/ExampleMapper.java",
"chars": 415,
"preview": "package com.godcheese.example.mapper;\n\nimport com.godcheese.example.entity.ExampleEntity;\nimport com.godcheese.tile.myba"
},
{
"path": "src/main/java/com/godcheese/example/mapper/ExampleMapper.xml",
"chars": 1202,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"http://mybatis.org"
},
{
"path": "src/main/java/com/godcheese/example/service/ExampleService.java",
"chars": 153,
"preview": "package com.godcheese.example.service;\n\n\n/**\n * @author godcheese [godcheese@outlook.com]\n * @date 2018-02-22\n */\npublic"
},
{
"path": "src/main/java/com/godcheese/example/service/impl/ExampleServiceImpl.java",
"chars": 292,
"preview": "package com.godcheese.example.service.impl;\n\n\nimport com.godcheese.example.service.ExampleService;\nimport org.springfram"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/Url.java",
"chars": 883,
"preview": "package com.godcheese.nimrod.common;\n\nimport com.godcheese.nimrod.system.System;\n\n/**\n * @author godcheese [godcheese@ou"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/activemq/ActiveMqConfiguration.java",
"chars": 300,
"preview": "package com.godcheese.nimrod.common.activemq;\n\nimport org.springframework.context.annotation.Configuration;\nimport org.s"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/controller/CustomBasicErrorController.java",
"chars": 3600,
"preview": "package com.godcheese.nimrod.common.controller;\n\nimport com.godcheese.nimrod.common.others.FailureEntity;\nimport org.slf"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/controller/RestControllerAdviceHandler.java",
"chars": 3979,
"preview": "package com.godcheese.nimrod.common.controller;\n\nimport com.godcheese.nimrod.common.others.FailureEntity;\nimport com.god"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/druid/DruidConfiguration.java",
"chars": 945,
"preview": "package com.godcheese.nimrod.common.druid;\n\nimport com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;\ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/easyui/ComboTree.java",
"chars": 971,
"preview": "package com.godcheese.nimrod.common.easyui;\n\nimport java.io.Serializable;\nimport java.util.List;\n\n/**\n * @author godchee"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/easyui/EasyUi.java",
"chars": 364,
"preview": "package com.godcheese.nimrod.common.easyui;\n\n/**\n * @author godcheese [godcheese@outlook.com]\n * @date 2019-09-26\n */\npu"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/easyui/Pagination.java",
"chars": 804,
"preview": "package com.godcheese.nimrod.common.easyui;\n\nimport java.io.Serializable;\nimport java.util.List;\n\n/**\n * 返回例如:{rows:[{},"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/easyui/Tree.java",
"chars": 2169,
"preview": "package com.godcheese.nimrod.common.easyui;\n\nimport java.io.Serializable;\nimport java.util.Collections;\nimport java.util"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/easyui/TreeGrid.java",
"chars": 969,
"preview": "package com.godcheese.nimrod.common.easyui;\n\nimport java.io.Serializable;\nimport java.util.List;\n\n/**\n * @author godchee"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/easyui/TreeGridAdapter.java",
"chars": 616,
"preview": "package com.godcheese.nimrod.common.easyui;\n\nimport com.godcheese.nimrod.common.others.BaseEntityAdapter;\n\nimport java.u"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/exportbyexcel/ExportByExcel.java",
"chars": 783,
"preview": "package com.godcheese.nimrod.common.exportbyexcel;\n\nimport org.springframework.core.annotation.AliasFor;\n\nimport java.la"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/exportbyexcel/ExportByExcelHandler.java",
"chars": 322,
"preview": "package com.godcheese.nimrod.common.exportbyexcel;\n\n\n/**\n * @author godcheese [godcheese@outlook.com]\n * @date 2019-01-0"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/exportbyexcel/ExportByExcelUtil.java",
"chars": 6787,
"preview": "package com.godcheese.nimrod.common.exportbyexcel;\n\nimport com.godcheese.tile.office.ExcelUtil;\nimport com.godcheese.til"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/exportbyexcel/IsOrNotExportByExcelHandler.java",
"chars": 1407,
"preview": "package com.godcheese.nimrod.common.exportbyexcel;\n\nimport com.godcheese.nimrod.common.others.SpringContextUtil;\nimport "
},
{
"path": "src/main/java/com/godcheese/nimrod/common/exportbyexcel/SimpleDateFormatExportByExcelHandler.java",
"chars": 974,
"preview": "package com.godcheese.nimrod.common.exportbyexcel;\n\nimport com.godcheese.tile.util.DateUtil;\n\nimport java.text.ParseExce"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/interceptor/WebInterceptor.java",
"chars": 3008,
"preview": "package com.godcheese.nimrod.common.interceptor;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/interceptor/WebMvcConfiguration.java",
"chars": 875,
"preview": "package com.godcheese.nimrod.common.interceptor;\n\nimport com.godcheese.nimrod.common.Url;\nimport org.springframework.con"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/operationlog/OperationLog.java",
"chars": 681,
"preview": "package com.godcheese.nimrod.common.operationlog;\n\n\nimport org.springframework.core.annotation.AliasFor;\n\nimport java.la"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/operationlog/OperationLogAspect.java",
"chars": 5658,
"preview": "package com.godcheese.nimrod.common.operationlog;\n\nimport com.fasterxml.jackson.core.JsonProcessingException;\nimport com"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/operationlog/OperationLogEvent.java",
"chars": 515,
"preview": "package com.godcheese.nimrod.common.operationlog;\n\nimport com.godcheese.nimrod.system.entity.OperationLogEntity;\nimport "
},
{
"path": "src/main/java/com/godcheese/nimrod/common/operationlog/OperationLogListener.java",
"chars": 854,
"preview": "package com.godcheese.nimrod.common.operationlog;\n\nimport com.godcheese.nimrod.system.entity.OperationLogEntity;\nimport "
},
{
"path": "src/main/java/com/godcheese/nimrod/common/operationlog/OperationLogType.java",
"chars": 400,
"preview": "package com.godcheese.nimrod.common.operationlog;\n\n/**\n * @author godcheese [godcheese@outlook.com]\n * @date 2018-02-22\n"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/others/BaseEntityAdapter.java",
"chars": 1476,
"preview": "package com.godcheese.nimrod.common.others;\n\nimport com.godcheese.nimrod.user.entity.DepartmentEntity;\nimport com.godche"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/others/Common.java",
"chars": 8589,
"preview": "package com.godcheese.nimrod.common.others;\n\nimport com.fasterxml.jackson.core.JsonProcessingException;\nimport com.faste"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/others/FailureEntity.java",
"chars": 1380,
"preview": "package com.godcheese.nimrod.common.others;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.s"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/others/SpringContextUtil.java",
"chars": 2207,
"preview": "package com.godcheese.nimrod.common.others;\n\nimport org.springframework.beans.BeansException;\nimport org.springframework"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/properties/AppProperties.java",
"chars": 1499,
"preview": "package com.godcheese.nimrod.common.properties;\n\n\nimport org.springframework.boot.context.properties.ConfigurationProper"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/properties/LogProperties.java",
"chars": 1313,
"preview": "package com.godcheese.nimrod.common.properties;\n\nimport org.springframework.boot.context.properties.ConfigurationPropert"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/properties/MultipartProperties.java",
"chars": 1224,
"preview": "package com.godcheese.nimrod.common.properties;\n\nimport org.springframework.boot.context.properties.EnableConfigurationP"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/properties/UpdatableMultipartConfigElement.java",
"chars": 1022,
"preview": "package com.godcheese.nimrod.common.properties;\n\nimport javax.servlet.MultipartConfigElement;\n\n/**\n * @author godcheese "
},
{
"path": "src/main/java/com/godcheese/nimrod/common/security/AuthenticationFailureHandler.java",
"chars": 2466,
"preview": "package com.godcheese.nimrod.common.security;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/security/AuthenticationSuccessHandler.java",
"chars": 1608,
"preview": "package com.godcheese.nimrod.common.security;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ti"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/security/LogoutSuccessHandler.java",
"chars": 1663,
"preview": "package com.godcheese.nimrod.common.security;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ti"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/security/SimpleUser.java",
"chars": 20592,
"preview": "package com.godcheese.nimrod.common.security;\n\nimport org.apache.commons.logging.Log;\nimport org.apache.commons.logging."
},
{
"path": "src/main/java/com/godcheese/nimrod/common/security/SimpleUserDetails.java",
"chars": 1167,
"preview": "package com.godcheese.nimrod.common.security;\n\nimport org.springframework.security.core.GrantedAuthority;\nimport org.spr"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/security/SimpleUserDetailsServiceImpl.java",
"chars": 9712,
"preview": "package com.godcheese.nimrod.common.security;\n\nimport com.godcheese.nimrod.common.operationlog.OperationLog;\nimport com."
},
{
"path": "src/main/java/com/godcheese/nimrod/common/security/VerifyCodeFilter.java",
"chars": 2952,
"preview": "package com.godcheese.nimrod.common.security;\n\nimport com.godcheese.nimrod.user.User;\nimport com.godcheese.tile.util.Ima"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/security/WebSecurityConfiguration.java",
"chars": 5260,
"preview": "package com.godcheese.nimrod.common.security;\n\nimport com.godcheese.nimrod.common.Url;\nimport com.godcheese.nimrod.commo"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/thymeleaf/NimrodDialect.java",
"chars": 883,
"preview": "package com.godcheese.nimrod.common.thymeleaf;\n\n\nimport org.springframework.stereotype.Component;\nimport org.thymeleaf.d"
},
{
"path": "src/main/java/com/godcheese/nimrod/common/thymeleaf/SecurityAuthorityElementProcessor.java",
"chars": 3632,
"preview": "package com.godcheese.nimrod.common.thymeleaf;\n\nimport com.godcheese.nimrod.common.security.SimpleUser;\nimport com.godch"
},
{
"path": "src/main/java/com/godcheese/nimrod/mail/Mail.java",
"chars": 354,
"preview": "package com.godcheese.nimrod.mail;\n\n\n/**\n * @author godcheese [godcheese@outlook.com]\n * @date 2019-01-18\n */\npublic cla"
},
{
"path": "src/main/java/com/godcheese/nimrod/mail/api/MailRestController.java",
"chars": 3300,
"preview": "package com.godcheese.nimrod.mail.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nimro"
},
{
"path": "src/main/java/com/godcheese/nimrod/mail/controller/MailController.java",
"chars": 1573,
"preview": "package com.godcheese.nimrod.mail.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/mail/entity/MailEntity.java",
"chars": 2954,
"preview": "package com.godcheese.nimrod.mail.entity;\n\nimport java.io.Serializable;\nimport java.util.Date;\n\n/**\n * @author godcheese"
},
{
"path": "src/main/java/com/godcheese/nimrod/mail/entity/MailFileEntity.java",
"chars": 736,
"preview": "package com.godcheese.nimrod.mail.entity;\n\nimport java.io.Serializable;\n\n/**\n * @author godcheese [godcheese@outlook.com"
},
{
"path": "src/main/java/com/godcheese/nimrod/mail/mapper/MailMapper.java",
"chars": 820,
"preview": "package com.godcheese.nimrod.mail.mapper;\n\nimport com.godcheese.nimrod.mail.entity.MailEntity;\nimport com.godcheese.tile"
},
{
"path": "src/main/java/com/godcheese/nimrod/mail/mapper/MailMapper.xml",
"chars": 3526,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"http://mybatis.org"
},
{
"path": "src/main/java/com/godcheese/nimrod/mail/service/MailService.java",
"chars": 1658,
"preview": "package com.godcheese.nimrod.mail.service;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.n"
},
{
"path": "src/main/java/com/godcheese/nimrod/mail/service/impl/MailServiceImpl.java",
"chars": 11593,
"preview": "package com.godcheese.nimrod.mail.service.impl;\n\nimport com.fasterxml.jackson.core.JsonProcessingException;\nimport com.g"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/Quartz.java",
"chars": 659,
"preview": "package com.godcheese.nimrod.quartz;\n\n\n/**\n * @author godcheese [godcheese@outlook.com]\n * @date 2019-01-18\n */\npublic c"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/api/JobRestController.java",
"chars": 6573,
"preview": "package com.godcheese.nimrod.quartz.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nim"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/api/JobRuntimeLogRestController.java",
"chars": 2927,
"preview": "package com.godcheese.nimrod.quartz.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nim"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/controller/JobController.java",
"chars": 1320,
"preview": "package com.godcheese.nimrod.quartz.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese."
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/controller/JobRuntimeLogController.java",
"chars": 881,
"preview": "package com.godcheese.nimrod.quartz.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese."
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/entity/JobEntity.java",
"chars": 4736,
"preview": "package com.godcheese.nimrod.quartz.entity;\n\nimport java.io.Serializable;\n\n/**\n * @author godcheese [godcheese@outlook.c"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/entity/JobRuntimeLogEntity.java",
"chars": 1448,
"preview": "package com.godcheese.nimrod.quartz.entity;\n\nimport java.io.Serializable;\nimport java.util.Date;\n\n/**\n * @author godchee"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/job/BaseJob.java",
"chars": 469,
"preview": "package com.godcheese.nimrod.quartz.job;\n\nimport org.quartz.Job;\nimport org.quartz.JobExecutionContext;\nimport org.quart"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/job/SimpleJob.java",
"chars": 764,
"preview": "package com.godcheese.nimrod.quartz.job;\n\nimport com.godcheese.tile.util.DateUtil;\nimport org.quartz.DisallowConcurrentE"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/job/SimpleJob2.java",
"chars": 767,
"preview": "package com.godcheese.nimrod.quartz.job;\n\nimport com.godcheese.tile.util.DateUtil;\nimport org.quartz.DisallowConcurrentE"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/listener/GlobalJobListener.java",
"chars": 2435,
"preview": "package com.godcheese.nimrod.quartz.listener;\n\nimport com.godcheese.nimrod.common.others.SpringContextUtil;\nimport com.g"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/mapper/JobMapper.java",
"chars": 1256,
"preview": "package com.godcheese.nimrod.quartz.mapper;\n\nimport com.godcheese.nimrod.quartz.entity.JobEntity;\nimport com.godcheese.t"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/mapper/JobMapper.xml",
"chars": 3709,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"http://mybatis.org"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/mapper/JobRuntimeLogMapper.java",
"chars": 612,
"preview": "package com.godcheese.nimrod.quartz.mapper;\n\nimport com.godcheese.nimrod.quartz.entity.JobRuntimeLogEntity;\nimport com.g"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/mapper/JobRuntimeLogMapper.xml",
"chars": 2474,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"http://mybatis.org"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/service/JobRuntimeLogService.java",
"chars": 765,
"preview": "package com.godcheese.nimrod.quartz.service;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/service/JobService.java",
"chars": 2976,
"preview": "package com.godcheese.nimrod.quartz.service;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/service/impl/JobRuntimeLogServiceImpl.java",
"chars": 1790,
"preview": "package com.godcheese.nimrod.quartz.service.impl;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godc"
},
{
"path": "src/main/java/com/godcheese/nimrod/quartz/service/impl/JobServiceImpl.java",
"chars": 7200,
"preview": "package com.godcheese.nimrod.quartz.service.impl;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godc"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/System.java",
"chars": 1270,
"preview": "package com.godcheese.nimrod.system;\n\nimport com.godcheese.nimrod.common.Url;\n\n\n/**\n * @author godcheese [godcheese@outl"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/api/DictionaryCategoryRestController.java",
"chars": 6860,
"preview": "package com.godcheese.nimrod.system.api;\n\nimport com.godcheese.nimrod.common.easyui.ComboTree;\nimport com.godcheese.nimr"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/api/DictionaryRestController.java",
"chars": 10675,
"preview": "package com.godcheese.nimrod.system.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nim"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/api/FileRestController.java",
"chars": 7003,
"preview": "package com.godcheese.nimrod.system.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nim"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/api/OperationLogRestController.java",
"chars": 3237,
"preview": "package com.godcheese.nimrod.system.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nim"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/api/SystemRestController.java",
"chars": 6714,
"preview": "package com.godcheese.nimrod.system.api;\n\nimport com.godcheese.nimrod.common.operationlog.OperationLog;\nimport com.godch"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/controller/DictionaryCategoryController.java",
"chars": 892,
"preview": "package com.godcheese.nimrod.system.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese."
},
{
"path": "src/main/java/com/godcheese/nimrod/system/controller/DictionaryController.java",
"chars": 1179,
"preview": "package com.godcheese.nimrod.system.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese."
},
{
"path": "src/main/java/com/godcheese/nimrod/system/controller/FileController.java",
"chars": 1363,
"preview": "package com.godcheese.nimrod.system.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese."
},
{
"path": "src/main/java/com/godcheese/nimrod/system/controller/OperationLogController.java",
"chars": 1007,
"preview": "package com.godcheese.nimrod.system.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese."
},
{
"path": "src/main/java/com/godcheese/nimrod/system/controller/SystemController.java",
"chars": 1649,
"preview": "package com.godcheese.nimrod.system.controller;\n\nimport com.godcheese.nimrod.common.Url;\nimport com.godcheese.nimrod.com"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/entity/DictionaryCategoryEntity.java",
"chars": 1762,
"preview": "package com.godcheese.nimrod.system.entity;\n\nimport com.godcheese.nimrod.common.easyui.TreeGridAdapter;\n\nimport java.io."
},
{
"path": "src/main/java/com/godcheese/nimrod/system/entity/DictionaryEntity.java",
"chars": 4227,
"preview": "package com.godcheese.nimrod.system.entity;\n\nimport com.godcheese.nimrod.common.exportbyexcel.ExportByExcel;\nimport com."
},
{
"path": "src/main/java/com/godcheese/nimrod/system/entity/FileEntity.java",
"chars": 2566,
"preview": "package com.godcheese.nimrod.system.entity;\n\nimport com.godcheese.nimrod.common.others.BaseEntityAdapter;\n\nimport java.i"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/entity/OperationLogEntity.java",
"chars": 5423,
"preview": "package com.godcheese.nimrod.system.entity;\n\nimport com.godcheese.nimrod.common.others.BaseEntityAdapter;\n\nimport java.i"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/mapper/DictionaryCategoryMapper.java",
"chars": 1149,
"preview": "package com.godcheese.nimrod.system.mapper;\n\nimport com.godcheese.nimrod.system.entity.DictionaryCategoryEntity;\nimport "
},
{
"path": "src/main/java/com/godcheese/nimrod/system/mapper/DictionaryCategoryMapper.xml",
"chars": 3327,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"http://mybatis.org"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/mapper/DictionaryMapper.java",
"chars": 1715,
"preview": "package com.godcheese.nimrod.system.mapper;\n\nimport com.godcheese.nimrod.system.entity.DictionaryEntity;\nimport com.godc"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/mapper/DictionaryMapper.xml",
"chars": 5522,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"http://mybatis.org"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/mapper/FileMapper.java",
"chars": 975,
"preview": "package com.godcheese.nimrod.system.mapper;\n\nimport com.godcheese.nimrod.system.entity.FileEntity;\nimport com.godcheese."
},
{
"path": "src/main/java/com/godcheese/nimrod/system/mapper/FileMapper.xml",
"chars": 4451,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"http://mybatis.org"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/mapper/OperationLogMapper.java",
"chars": 604,
"preview": "package com.godcheese.nimrod.system.mapper;\n\nimport com.godcheese.nimrod.system.entity.OperationLogEntity;\nimport com.go"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/mapper/OperationLogMapper.xml",
"chars": 4125,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"http://mybatis.org"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/service/DictionaryCategoryService.java",
"chars": 2152,
"preview": "package com.godcheese.nimrod.system.service;\n\nimport com.godcheese.nimrod.common.easyui.ComboTree;\nimport com.godcheese."
},
{
"path": "src/main/java/com/godcheese/nimrod/system/service/DictionaryService.java",
"chars": 3342,
"preview": "package com.godcheese.nimrod.system.service;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/service/FileService.java",
"chars": 2205,
"preview": "package com.godcheese.nimrod.system.service;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/service/OperationLogService.java",
"chars": 1050,
"preview": "package com.godcheese.nimrod.system.service;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/service/impl/DictionaryCategoryServiceImpl.java",
"chars": 6289,
"preview": "package com.godcheese.nimrod.system.service.impl;\n\nimport com.godcheese.nimrod.common.easyui.ComboTree;\nimport com.godch"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/service/impl/DictionaryServiceImpl.java",
"chars": 12325,
"preview": "package com.godcheese.nimrod.system.service.impl;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godc"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/service/impl/FileServiceImpl.java",
"chars": 9138,
"preview": "package com.godcheese.nimrod.system.service.impl;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godc"
},
{
"path": "src/main/java/com/godcheese/nimrod/system/service/impl/OperationLogServiceImpl.java",
"chars": 3016,
"preview": "package com.godcheese.nimrod.system.service.impl;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godc"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/User.java",
"chars": 3785,
"preview": "package com.godcheese.nimrod.user;\n\nimport com.godcheese.nimrod.common.Url;\n\n/**\n * @author godcheese [godcheese@outlook"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/ApiCategoryRestController.java",
"chars": 6675,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.easyui.ComboTree;\nimport com.godcheese.nimrod"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/ApiRestController.java",
"chars": 5312,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nimro"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/DepartmentRestController.java",
"chars": 8853,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.easyui.ComboTree;\nimport com.godcheese.nimrod"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/RoleAuthorityRestController.java",
"chars": 6471,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.user.User;\nimport com.godcheese.nimrod.user.entity.R"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/RoleRestController.java",
"chars": 5334,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nimro"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/RoleViewMenuCategoryRestController.java",
"chars": 2749,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.user.User;\nimport com.godcheese.nimrod.user.service."
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/RoleViewMenuRestController.java",
"chars": 2516,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.user.User;\nimport com.godcheese.nimrod.user.service."
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/UserRestController.java",
"chars": 16417,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nimro"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/UserRoleRestController.java",
"chars": 3191,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nimro"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/ViewMenuCategoryRestController.java",
"chars": 10403,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.easyui.ComboTree;\nimport com.godcheese.nimrod"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/ViewMenuRestController.java",
"chars": 7149,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nimro"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/ViewPageApiRestController.java",
"chars": 3368,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.operationlog.OperationLog;\nimport com.godchee"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/ViewPageCategoryRestController.java",
"chars": 6974,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.easyui.ComboTree;\nimport com.godcheese.nimrod"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/ViewPageComponentApiRestController.java",
"chars": 3686,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.operationlog.OperationLog;\nimport com.godchee"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/ViewPageComponentRestController.java",
"chars": 6231,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nimro"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/api/ViewPageRestController.java",
"chars": 5856,
"preview": "package com.godcheese.nimrod.user.api;\n\nimport com.godcheese.nimrod.common.easyui.Pagination;\nimport com.godcheese.nimro"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/ApiCategoryController.java",
"chars": 979,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.operationlog.OperationLog;\nimport com."
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/ApiController.java",
"chars": 1123,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/DepartmentController.java",
"chars": 1163,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/RoleAuthorityController.java",
"chars": 1431,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/RoleController.java",
"chars": 1127,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/RoleViewMenuController.java",
"chars": 806,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/UserController.java",
"chars": 2119,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.operationlog.OperationLog;\nimport com."
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/UserRoleController.java",
"chars": 974,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/ViewMenuCategoryController.java",
"chars": 876,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/ViewMenuController.java",
"chars": 1156,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/ViewPageApiController.java",
"chars": 804,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/ViewPageCategoryController.java",
"chars": 876,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/ViewPageComponentApiController.java",
"chars": 843,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/ViewPageComponentController.java",
"chars": 1139,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/controller/ViewPageController.java",
"chars": 1080,
"preview": "package com.godcheese.nimrod.user.controller;\n\nimport com.godcheese.nimrod.common.others.Common;\nimport com.godcheese.ni"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/entity/ApiCategoryEntity.java",
"chars": 1780,
"preview": "package com.godcheese.nimrod.user.entity;\n\nimport com.godcheese.nimrod.common.easyui.TreeGridAdapter;\n\nimport java.io.Se"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/entity/ApiEntity.java",
"chars": 2216,
"preview": "package com.godcheese.nimrod.user.entity;\n\n\nimport com.godcheese.nimrod.common.others.BaseEntityAdapter;\n\nimport java.io"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/entity/DepartmentEntity.java",
"chars": 1497,
"preview": "package com.godcheese.nimrod.user.entity;\n\nimport java.io.Serializable;\nimport java.util.Date;\n\n/**\n * @author godcheese"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/entity/RoleAuthorityEntity.java",
"chars": 865,
"preview": "package com.godcheese.nimrod.user.entity;\n\nimport java.io.Serializable;\n\n/**\n * @author godcheese [godcheese@outlook.com"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/entity/RoleEntity.java",
"chars": 1475,
"preview": "package com.godcheese.nimrod.user.entity;\n\nimport java.io.Serializable;\nimport java.util.Date;\n\n/**\n * @author godcheese"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/entity/RoleViewMenuCategoryEntity.java",
"chars": 929,
"preview": "package com.godcheese.nimrod.user.entity;\n\nimport java.io.Serializable;\n\n/**\n * @author godcheese [godcheese@outlook.com"
},
{
"path": "src/main/java/com/godcheese/nimrod/user/entity/RoleViewMenuEntity.java",
"chars": 863,
"preview": "package com.godcheese.nimrod.user.entity;\n\nimport java.io.Serializable;\n\n/**\n * @author godcheese [godcheese@outlook.com"
}
]
// ... and 966 more files (download for full content)
About this extraction
This page contains the full source code of the godcheese/nimrod GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1166 files (9.1 MB), approximately 2.5M tokens, and a symbol index with 4472 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.