├── src
└── main
│ ├── resources
│ ├── static
│ │ ├── file
│ │ │ └── rml.txt
│ │ ├── ruoyi.png
│ │ ├── favicon.ico
│ │ ├── img
│ │ │ ├── blue.png
│ │ │ ├── locked.png
│ │ │ ├── user.png
│ │ │ ├── loading.gif
│ │ │ ├── profile.jpg
│ │ │ ├── progress.png
│ │ │ ├── qr_code.png
│ │ │ ├── loading-upload.gif
│ │ │ └── login-background.jpg
│ │ ├── fonts
│ │ │ ├── zenicon.woff
│ │ │ ├── FontAwesome.otf
│ │ │ ├── Simple-Line-Icons.woff2
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ ├── fontawesome-webfont.woff
│ │ │ ├── fontawesome-webfont.woff2
│ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ └── glyphicons-halflings-regular.woff2
│ │ ├── ajax
│ │ │ └── libs
│ │ │ │ ├── iCheck
│ │ │ │ ├── green.png
│ │ │ │ ├── green@2x.png
│ │ │ │ ├── green-login.png
│ │ │ │ └── custom.css
│ │ │ │ ├── layer
│ │ │ │ └── theme
│ │ │ │ │ ├── default
│ │ │ │ │ ├── icon.png
│ │ │ │ │ ├── icon-ext.png
│ │ │ │ │ ├── loading-0.gif
│ │ │ │ │ ├── loading-1.gif
│ │ │ │ │ └── loading-2.gif
│ │ │ │ │ └── moon
│ │ │ │ │ └── default.png
│ │ │ │ ├── bootstrap-fileinput
│ │ │ │ ├── loading.gif
│ │ │ │ └── loading-sm.gif
│ │ │ │ ├── summernote
│ │ │ │ └── font
│ │ │ │ │ ├── summernote.eot
│ │ │ │ │ ├── summernote.ttf
│ │ │ │ │ ├── summernote.woff
│ │ │ │ │ └── summernote.woff2
│ │ │ │ ├── jquery-ztree
│ │ │ │ └── 3.5
│ │ │ │ │ └── css
│ │ │ │ │ ├── metro
│ │ │ │ │ └── img
│ │ │ │ │ │ ├── metro.gif
│ │ │ │ │ │ ├── metro.png
│ │ │ │ │ │ ├── line_conn.gif
│ │ │ │ │ │ ├── line_conn.png
│ │ │ │ │ │ └── loading.gif
│ │ │ │ │ ├── default
│ │ │ │ │ └── img
│ │ │ │ │ │ ├── diy
│ │ │ │ │ │ ├── 2.png
│ │ │ │ │ │ ├── 3.png
│ │ │ │ │ │ ├── 4.png
│ │ │ │ │ │ ├── 5.png
│ │ │ │ │ │ ├── 6.png
│ │ │ │ │ │ ├── 7.png
│ │ │ │ │ │ ├── 8.png
│ │ │ │ │ │ ├── 9.png
│ │ │ │ │ │ ├── 1_close.png
│ │ │ │ │ │ └── 1_open.png
│ │ │ │ │ │ ├── loading.gif
│ │ │ │ │ │ ├── line_conn.gif
│ │ │ │ │ │ ├── zTreeStandard.gif
│ │ │ │ │ │ └── zTreeStandard.png
│ │ │ │ │ └── simple
│ │ │ │ │ └── img
│ │ │ │ │ ├── loading.gif
│ │ │ │ │ ├── left_menu.gif
│ │ │ │ │ ├── left_menu.png
│ │ │ │ │ ├── line_conn.gif
│ │ │ │ │ ├── zTreeStandard.gif
│ │ │ │ │ └── zTreeStandard.png
│ │ │ │ ├── bootstrap-table
│ │ │ │ └── extensions
│ │ │ │ │ ├── editable
│ │ │ │ │ ├── clear.png
│ │ │ │ │ └── loading.gif
│ │ │ │ │ └── resizable
│ │ │ │ │ └── bootstrap-table-resizable.js
│ │ │ │ ├── layui
│ │ │ │ └── css
│ │ │ │ │ └── modules
│ │ │ │ │ └── laydate
│ │ │ │ │ └── default
│ │ │ │ │ └── font
│ │ │ │ │ ├── iconfont.eot
│ │ │ │ │ ├── iconfont.ttf
│ │ │ │ │ └── iconfont.woff
│ │ │ │ ├── validate
│ │ │ │ └── messages_zh.js
│ │ │ │ ├── jsonview
│ │ │ │ └── jquery.jsonview.css
│ │ │ │ ├── highlight
│ │ │ │ └── default.min.css
│ │ │ │ └── duallistbox
│ │ │ │ └── bootstrap-duallistbox.min.css
│ │ └── i18n
│ │ │ └── messages.properties
│ ├── templates
│ │ ├── error
│ │ │ ├── service.html
│ │ │ ├── 500.html
│ │ │ ├── unauth.html
│ │ │ └── 404.html
│ │ ├── shop
│ │ │ ├── info
│ │ │ │ └── charts.html
│ │ │ └── car
│ │ │ │ ├── add.html
│ │ │ │ └── edit.html
│ │ └── system
│ │ │ ├── user
│ │ │ └── resetPwd.html
│ │ │ ├── dict
│ │ │ └── type
│ │ │ │ └── tree.html
│ │ │ ├── menu
│ │ │ └── tree.html
│ │ │ └── dept
│ │ │ └── tree.html
│ ├── mybatis
│ │ ├── mybatis-config.xml
│ │ └── system
│ │ │ ├── UserPostMapper.xml
│ │ │ ├── RoleDeptMapper.xml
│ │ │ ├── RoleMenuMapper.xml
│ │ │ └── UserRoleMapper.xml
│ └── application-druid.yml
│ └── java
│ └── com
│ └── book
│ ├── framework
│ ├── aspectj
│ │ ├── lang
│ │ │ ├── enums
│ │ │ │ ├── DataSourceType.java
│ │ │ │ ├── BusinessStatus.java
│ │ │ │ ├── OperatorType.java
│ │ │ │ └── BusinessType.java
│ │ │ └── annotation
│ │ │ │ ├── Excels.java
│ │ │ │ ├── DataScope.java
│ │ │ │ ├── DataSource.java
│ │ │ │ └── Log.java
│ │ └── DataSourceAspect.java
│ ├── config
│ │ ├── ApplicationConfig.java
│ │ ├── ServerConfig.java
│ │ ├── I18nConfig.java
│ │ ├── GenConfig.java
│ │ ├── FilterConfig.java
│ │ ├── ResourcesConfig.java
│ │ └── ThreadPoolConfig.java
│ ├── interceptor
│ │ ├── annotation
│ │ │ └── RepeatSubmit.java
│ │ └── RepeatSubmitInterceptor.java
│ ├── web
│ │ ├── service
│ │ │ ├── ConfigService.java
│ │ │ ├── DictService.java
│ │ │ └── CacheService.java
│ │ ├── domain
│ │ │ ├── CxSelect.java
│ │ │ ├── TreeEntity.java
│ │ │ └── Ztree.java
│ │ └── page
│ │ │ ├── TableSupport.java
│ │ │ ├── TableDataInfo.java
│ │ │ └── PageDomain.java
│ ├── datasource
│ │ ├── DynamicDataSource.java
│ │ └── DynamicDataSourceContextHolder.java
│ ├── manager
│ │ └── AsyncManager.java
│ └── shiro
│ │ ├── web
│ │ └── filter
│ │ │ └── sync
│ │ │ └── SyncOnlineSessionFilter.java
│ │ └── session
│ │ └── OnlineSessionFactory.java
│ ├── common
│ ├── exception
│ │ ├── DemoModeException.java
│ │ ├── user
│ │ │ ├── CaptchaException.java
│ │ │ ├── UserBlockedException.java
│ │ │ ├── RoleBlockedException.java
│ │ │ ├── UserDeleteException.java
│ │ │ ├── UserNotExistsException.java
│ │ │ ├── UserPasswordNotMatchException.java
│ │ │ ├── UserException.java
│ │ │ ├── UserPasswordRetryLimitCountException.java
│ │ │ └── UserPasswordRetryLimitExceedException.java
│ │ ├── file
│ │ │ ├── FileException.java
│ │ │ ├── FileSizeLimitExceededException.java
│ │ │ └── FileNameLengthLimitExceededException.java
│ │ ├── UtilException.java
│ │ ├── job
│ │ │ └── TaskException.java
│ │ ├── GlobalException.java
│ │ └── ServiceException.java
│ ├── utils
│ │ ├── poi
│ │ │ └── ExcelHandlerAdapter.java
│ │ ├── MessageUtils.java
│ │ ├── bean
│ │ │ └── BeanValidators.java
│ │ ├── security
│ │ │ ├── AuthorizationUtils.java
│ │ │ ├── CipherUtils.java
│ │ │ └── ShiroUtils.java
│ │ ├── PageUtils.java
│ │ ├── ExceptionUtil.java
│ │ ├── uuid
│ │ │ ├── IdUtils.java
│ │ │ └── Seq.java
│ │ ├── sql
│ │ │ └── SqlUtil.java
│ │ ├── AddressUtils.java
│ │ ├── MapDataUtil.java
│ │ ├── Md5Utils.java
│ │ └── file
│ │ │ ├── MimeTypeUtils.java
│ │ │ └── FileTypeUtils.java
│ ├── constant
│ │ ├── PermissionConstants.java
│ │ ├── CommonMap.java
│ │ └── ShiroConstants.java
│ └── xss
│ │ ├── Xss.java
│ │ ├── XssValidator.java
│ │ └── XssHttpServletRequestWrapper.java
│ ├── project
│ ├── system
│ │ ├── user
│ │ │ ├── domain
│ │ │ │ ├── UserStatus.java
│ │ │ │ ├── UserPost.java
│ │ │ │ └── UserRole.java
│ │ │ ├── mapper
│ │ │ │ ├── UserPostMapper.java
│ │ │ │ └── UserRoleMapper.java
│ │ │ └── controller
│ │ │ │ └── RegisterController.java
│ │ ├── role
│ │ │ ├── mapper
│ │ │ │ ├── RoleDeptMapper.java
│ │ │ │ ├── RoleMenuMapper.java
│ │ │ │ └── RoleMapper.java
│ │ │ └── domain
│ │ │ │ ├── RoleDept.java
│ │ │ │ └── RoleMenu.java
│ │ ├── notice
│ │ │ ├── mapper
│ │ │ │ └── NoticeMapper.java
│ │ │ └── service
│ │ │ │ ├── INoticeService.java
│ │ │ │ └── NoticeServiceImpl.java
│ │ ├── dict
│ │ │ ├── service
│ │ │ │ └── IDictDataService.java
│ │ │ └── mapper
│ │ │ │ ├── DictTypeMapper.java
│ │ │ │ └── DictDataMapper.java
│ │ ├── config
│ │ │ ├── mapper
│ │ │ │ └── ConfigMapper.java
│ │ │ └── service
│ │ │ │ └── IConfigService.java
│ │ └── post
│ │ │ ├── mapper
│ │ │ └── PostMapper.java
│ │ │ └── service
│ │ │ └── IPostService.java
│ ├── monitor
│ │ ├── druid
│ │ │ └── DruidController.java
│ │ ├── logininfor
│ │ │ ├── service
│ │ │ │ ├── ILogininforService.java
│ │ │ │ └── LogininforServiceImpl.java
│ │ │ └── mapper
│ │ │ │ └── LogininforMapper.java
│ │ ├── server
│ │ │ ├── controller
│ │ │ │ └── ServerController.java
│ │ │ └── domain
│ │ │ │ ├── Mem.java
│ │ │ │ ├── Sys.java
│ │ │ │ ├── Cpu.java
│ │ │ │ └── SysFile.java
│ │ ├── operlog
│ │ │ ├── service
│ │ │ │ ├── IOperLogService.java
│ │ │ │ └── OperLogServiceImpl.java
│ │ │ └── mapper
│ │ │ │ └── OperLogMapper.java
│ │ └── online
│ │ │ ├── mapper
│ │ │ └── UserOnlineMapper.java
│ │ │ └── service
│ │ │ └── IUserOnlineService.java
│ └── shop
│ │ ├── car
│ │ ├── mapper
│ │ │ └── BookCarMapper.java
│ │ └── service
│ │ │ └── IBookCarService.java
│ │ ├── pic
│ │ ├── mapper
│ │ │ └── BookPicMapper.java
│ │ ├── service
│ │ │ └── IBookPicService.java
│ │ └── domain
│ │ │ └── BookPic.java
│ │ ├── order
│ │ ├── mapper
│ │ │ └── BookOrderMapper.java
│ │ └── service
│ │ │ ├── IBookOrderService.java
│ │ │ └── impl
│ │ │ └── BookOrderServiceImpl.java
│ │ ├── comments
│ │ ├── mapper
│ │ │ └── BookCommentsMapper.java
│ │ └── service
│ │ │ └── IBookCommentsService.java
│ │ └── info
│ │ ├── mapper
│ │ └── BookInfoMapper.java
│ │ └── service
│ │ └── IBookInfoService.java
│ └── BookApplication.java
├── .DS_Store
├── .gitattributes
└── README.md
/src/main/resources/static/file/rml.txt:
--------------------------------------------------------------------------------
1 | 下载临时目录
--------------------------------------------------------------------------------
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/.DS_Store
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.js linguist-language=java
2 | *.css linguist-language=java
3 | *.html linguist-language=java
4 | *.vue linguist-language=java
--------------------------------------------------------------------------------
/src/main/resources/static/ruoyi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ruoyi.png
--------------------------------------------------------------------------------
/src/main/resources/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/favicon.ico
--------------------------------------------------------------------------------
/src/main/resources/static/img/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/img/blue.png
--------------------------------------------------------------------------------
/src/main/resources/static/img/locked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/img/locked.png
--------------------------------------------------------------------------------
/src/main/resources/static/img/user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/img/user.png
--------------------------------------------------------------------------------
/src/main/resources/static/img/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/img/loading.gif
--------------------------------------------------------------------------------
/src/main/resources/static/img/profile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/img/profile.jpg
--------------------------------------------------------------------------------
/src/main/resources/static/img/progress.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/img/progress.png
--------------------------------------------------------------------------------
/src/main/resources/static/img/qr_code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/img/qr_code.png
--------------------------------------------------------------------------------
/src/main/resources/static/fonts/zenicon.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/fonts/zenicon.woff
--------------------------------------------------------------------------------
/src/main/resources/static/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/src/main/resources/static/img/loading-upload.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/img/loading-upload.gif
--------------------------------------------------------------------------------
/src/main/resources/static/img/login-background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/img/login-background.jpg
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/iCheck/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/iCheck/green.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/iCheck/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/iCheck/green@2x.png
--------------------------------------------------------------------------------
/src/main/resources/static/fonts/Simple-Line-Icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/fonts/Simple-Line-Icons.woff2
--------------------------------------------------------------------------------
/src/main/resources/static/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/src/main/resources/static/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/src/main/resources/static/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/src/main/resources/static/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/iCheck/green-login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/iCheck/green-login.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/layer/theme/default/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/layer/theme/default/icon.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/layer/theme/moon/default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/layer/theme/moon/default.png
--------------------------------------------------------------------------------
/src/main/resources/static/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/src/main/resources/static/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/src/main/resources/static/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/summernote/font/summernote.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/summernote/font/summernote.eot
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/summernote/font/summernote.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/summernote/font/summernote.ttf
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/summernote/font/summernote.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/summernote/font/summernote.woff
--------------------------------------------------------------------------------
/src/main/resources/static/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading-sm.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading-sm.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/layer/theme/default/icon-ext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/layer/theme/default/icon-ext.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/layer/theme/default/loading-0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/layer/theme/default/loading-0.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/layer/theme/default/loading-1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/layer/theme/default/loading-1.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/layer/theme/default/loading-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/layer/theme/default/loading-2.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/summernote/font/summernote.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/summernote/font/summernote.woff2
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/2.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/3.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/4.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/5.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/6.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/7.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/8.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/9.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/loading.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/loading.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/loading.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/clear.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/line_conn.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/line_conn.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/line_conn.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/line_conn.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/loading.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_close.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_open.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.gif
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.png
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.eot
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.ttf
--------------------------------------------------------------------------------
/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/BookstoreManagementSystem/HEAD/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.woff
--------------------------------------------------------------------------------
/src/main/java/com/book/framework/aspectj/lang/enums/DataSourceType.java:
--------------------------------------------------------------------------------
1 | package com.book.framework.aspectj.lang.enums;
2 |
3 | /**
4 | * 数据源
5 | *
6 | * @author ruoyi
7 | */
8 | public enum DataSourceType
9 | {
10 | /**
11 | * 主库
12 | */
13 | MASTER,
14 |
15 | /**
16 | * 从库
17 | */
18 | SLAVE
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/com/book/framework/aspectj/lang/enums/BusinessStatus.java:
--------------------------------------------------------------------------------
1 | package com.book.framework.aspectj.lang.enums;
2 |
3 | /**
4 | * 操作状态
5 | *
6 | * @author ruoyi
7 | *
8 | */
9 | public enum BusinessStatus
10 | {
11 | /**
12 | * 成功
13 | */
14 | SUCCESS,
15 |
16 | /**
17 | * 失败
18 | */
19 | FAIL,
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/DemoModeException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception;
2 |
3 | /**
4 | * 演示模式异常
5 | *
6 | * @author ruoyi
7 | */
8 | public class DemoModeException extends RuntimeException
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | public DemoModeException()
13 | {
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/user/CaptchaException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.user;
2 |
3 | /**
4 | * 验证码错误异常类
5 | *
6 | * @author ruoyi
7 | */
8 | public class CaptchaException extends UserException
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | public CaptchaException()
13 | {
14 | super("user.jcaptcha.error", null);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/user/UserBlockedException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.user;
2 |
3 | /**
4 | * 用户锁定异常类
5 | *
6 | * @author ruoyi
7 | */
8 | public class UserBlockedException extends UserException
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | public UserBlockedException()
13 | {
14 | super("user.blocked", null);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/book/framework/aspectj/lang/enums/OperatorType.java:
--------------------------------------------------------------------------------
1 | package com.book.framework.aspectj.lang.enums;
2 |
3 | /**
4 | * 操作人类别
5 | *
6 | * @author ruoyi
7 | *
8 | */
9 | public enum OperatorType
10 | {
11 | /**
12 | * 其它
13 | */
14 | OTHER,
15 |
16 | /**
17 | * 后台用户
18 | */
19 | MANAGE,
20 |
21 | /**
22 | * 手机端用户
23 | */
24 | MOBILE
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/user/RoleBlockedException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.user;
2 |
3 | /**
4 | * 角色锁定异常类
5 | *
6 | * @author ruoyi
7 | */
8 | public class RoleBlockedException extends UserException
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | public RoleBlockedException()
13 | {
14 | super("role.blocked", null);
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/user/UserDeleteException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.user;
2 |
3 | /**
4 | * 用户账号已被删除
5 | *
6 | * @author ruoyi
7 | */
8 | public class UserDeleteException extends UserException
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | public UserDeleteException()
13 | {
14 | super("user.password.delete", null);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/user/UserNotExistsException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.user;
2 |
3 | /**
4 | * 用户不存在异常类
5 | *
6 | * @author ruoyi
7 | */
8 | public class UserNotExistsException extends UserException
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | public UserNotExistsException()
13 | {
14 | super("user.not.exists", null);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/utils/poi/ExcelHandlerAdapter.java:
--------------------------------------------------------------------------------
1 | package com.book.common.utils.poi;
2 |
3 | /**
4 | * Excel数据格式处理适配器
5 | *
6 | * @author ruoyi
7 | */
8 | public interface ExcelHandlerAdapter
9 | {
10 | /**
11 | * 格式化
12 | *
13 | * @param value 单元格数据值
14 | * @param args excel注解args参数组
15 | *
16 | * @return 处理后的值
17 | */
18 | Object format(Object value, String[] args);
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/user/UserPasswordNotMatchException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.user;
2 |
3 | /**
4 | * 用户密码不正确或不符合规范异常类
5 | *
6 | * @author ruoyi
7 | */
8 | public class UserPasswordNotMatchException extends UserException
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | public UserPasswordNotMatchException()
13 | {
14 | super("user.password.not.match", null);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/user/UserException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.user;
2 |
3 | import com.book.common.exception.base.BaseException;
4 |
5 | /**
6 | * 用户信息异常类
7 | *
8 | * @author ruoyi
9 | */
10 | public class UserException extends BaseException
11 | {
12 | private static final long serialVersionUID = 1L;
13 |
14 | public UserException(String code, Object[] args)
15 | {
16 | super("user", code, args, null);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/file/FileException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.file;
2 |
3 | import com.book.common.exception.base.BaseException;
4 |
5 | /**
6 | * 文件信息异常类
7 | *
8 | * @author ruoyi
9 | */
10 | public class FileException extends BaseException
11 | {
12 | private static final long serialVersionUID = 1L;
13 |
14 | public FileException(String code, Object[] args)
15 | {
16 | super("file", code, args, null);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/file/FileSizeLimitExceededException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.file;
2 |
3 | /**
4 | * 文件名大小限制异常类
5 | *
6 | * @author ruoyi
7 | */
8 | public class FileSizeLimitExceededException extends FileException
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | public FileSizeLimitExceededException(long defaultMaxSize)
13 | {
14 | super("upload.exceed.maxSize", new Object[] { defaultMaxSize });
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/book/framework/aspectj/lang/annotation/Excels.java:
--------------------------------------------------------------------------------
1 | package com.book.framework.aspectj.lang.annotation;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * Excel注解集
10 | *
11 | * @author ruoyi
12 | */
13 | @Target(ElementType.FIELD)
14 | @Retention(RetentionPolicy.RUNTIME)
15 | public @interface Excels
16 | {
17 | Excel[] value();
18 | }
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/user/UserPasswordRetryLimitCountException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.user;
2 |
3 | /**
4 | * 用户错误记数异常类
5 | *
6 | * @author ruoyi
7 | */
8 | public class UserPasswordRetryLimitCountException extends UserException
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | public UserPasswordRetryLimitCountException(int retryLimitCount)
13 | {
14 | super("user.password.retry.limit.count", new Object[] { retryLimitCount });
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/user/UserPasswordRetryLimitExceedException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.user;
2 |
3 | /**
4 | * 用户错误最大次数异常类
5 | *
6 | * @author ruoyi
7 | */
8 | public class UserPasswordRetryLimitExceedException extends UserException
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | public UserPasswordRetryLimitExceedException(int retryLimitCount)
13 | {
14 | super("user.password.retry.limit.exceed", new Object[] { retryLimitCount });
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/file/FileNameLengthLimitExceededException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.file;
2 |
3 | /**
4 | * 文件名称超长限制异常类
5 | *
6 | * @author ruoyi
7 | */
8 | public class FileNameLengthLimitExceededException extends FileException
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | public FileNameLengthLimitExceededException(int defaultFileNameLength)
13 | {
14 | super("upload.filename.exceed.length", new Object[] { defaultFileNameLength });
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/book/framework/config/ApplicationConfig.java:
--------------------------------------------------------------------------------
1 | package com.book.framework.config;
2 |
3 | import org.mybatis.spring.annotation.MapperScan;
4 | import org.springframework.context.annotation.Configuration;
5 | import org.springframework.context.annotation.EnableAspectJAutoProxy;
6 |
7 | /**
8 | * 程序注解配置
9 | *
10 | * @author ruoyi
11 | */
12 | @Configuration
13 | // 表示通过aop框架暴露该代理对象,AopContext能够访问
14 | @EnableAspectJAutoProxy(exposeProxy = true)
15 | // 指定要扫描的Mapper类的包的路径
16 | @MapperScan("com.book.project.**.mapper")
17 | public class ApplicationConfig
18 | {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/UtilException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception;
2 |
3 | /**
4 | * 工具类异常
5 | *
6 | * @author ruoyi
7 | */
8 | public class UtilException extends RuntimeException
9 | {
10 | private static final long serialVersionUID = 8247610319171014183L;
11 |
12 | public UtilException(Throwable e)
13 | {
14 | super(e.getMessage(), e);
15 | }
16 |
17 | public UtilException(String message)
18 | {
19 | super(message);
20 | }
21 |
22 | public UtilException(String message, Throwable throwable)
23 | {
24 | super(message, throwable);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/com/book/project/system/user/domain/UserStatus.java:
--------------------------------------------------------------------------------
1 | package com.book.project.system.user.domain;
2 |
3 | /**
4 | * 用户状态
5 | *
6 | * @author ruoyi
7 | *
8 | */
9 | public enum UserStatus
10 | {
11 | OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除");
12 |
13 | private final String code;
14 | private final String info;
15 |
16 | UserStatus(String code, String info)
17 | {
18 | this.code = code;
19 | this.info = info;
20 | }
21 |
22 | public String getCode()
23 | {
24 | return code;
25 | }
26 |
27 | public String getInfo()
28 | {
29 | return info;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/com/book/BookApplication.java:
--------------------------------------------------------------------------------
1 | package com.book;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 | import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
6 |
7 | /**
8 | * 启动程序
9 | *
10 | * @author
11 | */
12 | @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
13 | public class BookApplication
14 | {
15 | public static void main(String[] args)
16 | {
17 | // System.setProperty("spring.devtools.restart.enabled", "false");
18 | SpringApplication.run(BookApplication.class, args);
19 | System.out.println("启动成功\n");
20 | }
21 | }
--------------------------------------------------------------------------------
/src/main/resources/templates/error/service.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | RuoYi - 500
7 |
8 |
9 |
10 |
11 |
12 |
13 |
操作异常!
14 |
15 |
16 | [[${errorMessage}]]
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/constant/PermissionConstants.java:
--------------------------------------------------------------------------------
1 | package com.book.common.constant;
2 |
3 | /**
4 | * 权限通用常量
5 | *
6 | * @author ruoyi
7 | */
8 | public class PermissionConstants
9 | {
10 | /** 新增权限 */
11 | public static final String ADD_PERMISSION = "add";
12 |
13 | /** 修改权限 */
14 | public static final String EDIT_PERMISSION = "edit";
15 |
16 | /** 删除权限 */
17 | public static final String REMOVE_PERMISSION = "remove";
18 |
19 | /** 导出权限 */
20 | public static final String EXPORT_PERMISSION = "export";
21 |
22 | /** 显示权限 */
23 | public static final String VIEW_PERMISSION = "view";
24 |
25 | /** 查询权限 */
26 | public static final String LIST_PERMISSION = "list";
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/com/book/framework/aspectj/lang/annotation/DataScope.java:
--------------------------------------------------------------------------------
1 | package com.book.framework.aspectj.lang.annotation;
2 |
3 | import java.lang.annotation.Documented;
4 | import java.lang.annotation.ElementType;
5 | import java.lang.annotation.Retention;
6 | import java.lang.annotation.RetentionPolicy;
7 | import java.lang.annotation.Target;
8 |
9 | /**
10 | * 数据权限过滤注解
11 | *
12 | * @author ruoyi
13 | */
14 | @Target(ElementType.METHOD)
15 | @Retention(RetentionPolicy.RUNTIME)
16 | @Documented
17 | public @interface DataScope
18 | {
19 | /**
20 | * 部门表的别名
21 | */
22 | public String deptAlias() default "";
23 |
24 | /**
25 | * 用户表的别名
26 | */
27 | public String userAlias() default "";
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/com/book/framework/interceptor/annotation/RepeatSubmit.java:
--------------------------------------------------------------------------------
1 | package com.book.framework.interceptor.annotation;
2 |
3 | import java.lang.annotation.Documented;
4 | import java.lang.annotation.ElementType;
5 | import java.lang.annotation.Retention;
6 | import java.lang.annotation.RetentionPolicy;
7 | import java.lang.annotation.Target;
8 |
9 | /**
10 | * 自定义注解防止表单重复提交
11 | *
12 | * @author ruoyi
13 | *
14 | */
15 | @Target(ElementType.METHOD)
16 | @Retention(RetentionPolicy.RUNTIME)
17 | @Documented
18 | public @interface RepeatSubmit
19 | {
20 | /**
21 | * 间隔时间(ms),小于此时间视为重复提交
22 | */
23 | public int interval() default 5000;
24 |
25 | /**
26 | * 提示消息
27 | */
28 | public String message() default "不允许重复提交,请稍后再试";
29 | }
--------------------------------------------------------------------------------
/src/main/java/com/book/framework/web/service/ConfigService.java:
--------------------------------------------------------------------------------
1 | package com.book.framework.web.service;
2 |
3 | import org.springframework.beans.factory.annotation.Autowired;
4 | import org.springframework.stereotype.Service;
5 | import com.book.project.system.config.service.IConfigService;
6 |
7 | /**
8 | * RuoYi首创 html调用 thymeleaf 实现参数管理
9 | *
10 | * @author ruoyi
11 | */
12 | @Service("config")
13 | public class ConfigService
14 | {
15 | @Autowired
16 | private IConfigService configService;
17 |
18 | /**
19 | * 根据键名查询参数配置信息
20 | *
21 | * @param configKey 参数键名
22 | * @return 参数键值
23 | */
24 | public String getKey(String configKey)
25 | {
26 | return configService.selectConfigByKey(configKey);
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/utils/MessageUtils.java:
--------------------------------------------------------------------------------
1 | package com.book.common.utils;
2 |
3 | import org.springframework.context.MessageSource;
4 | import org.springframework.context.i18n.LocaleContextHolder;
5 | import com.book.common.utils.spring.SpringUtils;
6 |
7 | /**
8 | * 获取i18n资源文件
9 | *
10 | * @author ruoyi
11 | */
12 | public class MessageUtils
13 | {
14 | /**
15 | * 根据消息键和参数 获取消息 委托给spring messageSource
16 | *
17 | * @param code 消息键
18 | * @param args 参数
19 | * @return 获取国际化翻译值
20 | */
21 | public static String message(String code, Object... args)
22 | {
23 | MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
24 | return messageSource.getMessage(code, args, LocaleContextHolder.getLocale());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/xss/Xss.java:
--------------------------------------------------------------------------------
1 | package com.book.common.xss;
2 |
3 | import javax.validation.Constraint;
4 | import javax.validation.Payload;
5 | import java.lang.annotation.ElementType;
6 | import java.lang.annotation.Retention;
7 | import java.lang.annotation.RetentionPolicy;
8 | import java.lang.annotation.Target;
9 |
10 | /**
11 | * 自定义xss校验注解
12 | *
13 | * @author ruoyi
14 | */
15 | @Retention(RetentionPolicy.RUNTIME)
16 | @Target(value = { ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.PARAMETER })
17 | @Constraint(validatedBy = { XssValidator.class })
18 | public @interface Xss
19 | {
20 | String message()
21 |
22 | default "不允许任何脚本运行";
23 |
24 | Class>[] groups() default {};
25 |
26 | Class extends Payload>[] payload() default {};
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/utils/bean/BeanValidators.java:
--------------------------------------------------------------------------------
1 | package com.book.common.utils.bean;
2 |
3 | import java.util.Set;
4 | import javax.validation.ConstraintViolation;
5 | import javax.validation.ConstraintViolationException;
6 | import javax.validation.Validator;
7 |
8 | /**
9 | * bean对象属性验证
10 | *
11 | * @author ruoyi
12 | */
13 | public class BeanValidators
14 | {
15 | public static void validateWithException(Validator validator, Object object, Class>... groups)
16 | throws ConstraintViolationException
17 | {
18 | Set> constraintViolations = validator.validate(object, groups);
19 | if (!constraintViolations.isEmpty())
20 | {
21 | throw new ConstraintViolationException(constraintViolations);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/exception/job/TaskException.java:
--------------------------------------------------------------------------------
1 | package com.book.common.exception.job;
2 |
3 | /**
4 | * 计划策略异常
5 | *
6 | * @author ruoyi
7 | */
8 | public class TaskException extends Exception
9 | {
10 | private static final long serialVersionUID = 1L;
11 |
12 | private Code code;
13 |
14 | public TaskException(String msg, Code code)
15 | {
16 | this(msg, code, null);
17 | }
18 |
19 | public TaskException(String msg, Code code, Exception nestedEx)
20 | {
21 | super(msg, nestedEx);
22 | this.code = code;
23 | }
24 |
25 | public Code getCode()
26 | {
27 | return code;
28 | }
29 |
30 | public enum Code
31 | {
32 | TASK_EXISTS, NO_TASK_EXISTS, TASK_ALREADY_STARTED, UNKNOWN, CONFIG_ERROR, TASK_NODE_NOT_AVAILABLE
33 | }
34 | }
--------------------------------------------------------------------------------
/src/main/java/com/book/project/monitor/druid/DruidController.java:
--------------------------------------------------------------------------------
1 | package com.book.project.monitor.druid;
2 |
3 | import org.apache.shiro.authz.annotation.RequiresPermissions;
4 | import org.springframework.stereotype.Controller;
5 | import org.springframework.web.bind.annotation.GetMapping;
6 | import org.springframework.web.bind.annotation.RequestMapping;
7 | import com.book.framework.web.controller.BaseController;
8 |
9 | /**
10 | * druid 监控
11 | *
12 | * @author ruoyi
13 | */
14 | @Controller
15 | @RequestMapping("/monitor/data")
16 | public class DruidController extends BaseController
17 | {
18 | private String prefix = "/druid";
19 |
20 | @RequiresPermissions("monitor:data:view")
21 | @GetMapping()
22 | public String index()
23 | {
24 | return redirect(prefix + "/index.html");
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/com/book/common/utils/security/AuthorizationUtils.java:
--------------------------------------------------------------------------------
1 | package com.book.common.utils.security;
2 |
3 | import org.apache.shiro.SecurityUtils;
4 | import org.apache.shiro.mgt.RealmSecurityManager;
5 | import com.book.framework.shiro.realm.UserRealm;
6 |
7 | /**
8 | * 用户授权信息
9 | *
10 | * @author ruoyi
11 | */
12 | public class AuthorizationUtils
13 | {
14 | /**
15 | * 清理所有用户授权信息缓存
16 | */
17 | public static void clearAllCachedAuthorizationInfo()
18 | {
19 | getUserRealm().clearAllCachedAuthorizationInfo();
20 | }
21 |
22 | /**
23 | * 获取自定义Realm
24 | */
25 | public static UserRealm getUserRealm()
26 | {
27 | RealmSecurityManager rsm = (RealmSecurityManager) SecurityUtils.getSecurityManager();
28 | return (UserRealm) rsm.getRealms().iterator().next();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/com/book/framework/aspectj/lang/enums/BusinessType.java:
--------------------------------------------------------------------------------
1 | package com.book.framework.aspectj.lang.enums;
2 |
3 | /**
4 | * 业务操作类型
5 | *
6 | * @author ruoyi
7 | *
8 | */
9 | public enum BusinessType
10 | {
11 | /**
12 | * 其它
13 | */
14 | OTHER,
15 |
16 | /**
17 | * 新增
18 | */
19 | INSERT,
20 |
21 | /**
22 | * 修改
23 | */
24 | UPDATE,
25 |
26 | /**
27 | * 删除
28 | */
29 | DELETE,
30 |
31 | /**
32 | * 授权
33 | */
34 | GRANT,
35 |
36 | /**
37 | * 导出
38 | */
39 | EXPORT,
40 |
41 | /**
42 | * 导入
43 | */
44 | IMPORT,
45 |
46 | /**
47 | * 强退
48 | */
49 | FORCE,
50 |
51 | /**
52 | * 生成代码
53 | */
54 | GENCODE,
55 |
56 | /**
57 | * 清空数据
58 | */
59 | CLEAN,
60 | }
61 |
--------------------------------------------------------------------------------
/src/main/java/com/book/framework/datasource/DynamicDataSource.java:
--------------------------------------------------------------------------------
1 | package com.book.framework.datasource;
2 |
3 | import java.util.Map;
4 | import javax.sql.DataSource;
5 | import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
6 |
7 | /**
8 | * 动态数据源
9 | *
10 | * @author ruoyi
11 | */
12 | public class DynamicDataSource extends AbstractRoutingDataSource
13 | {
14 | public DynamicDataSource(DataSource defaultTargetDataSource, Map