├── .gitignore ├── .mvn └── wrapper │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── Dockerfile ├── LICENSE ├── README.md ├── README_en.md ├── client ├── pom.xml └── src │ └── main │ └── java │ └── io │ └── ddd │ └── framework │ └── client │ └── package-info.java ├── core ├── .DS_Store ├── acl │ ├── .DS_Store │ ├── pom.xml │ └── src │ │ ├── .DS_Store │ │ └── main │ │ ├── .DS_Store │ │ └── java │ │ ├── .DS_Store │ │ └── io │ │ ├── .DS_Store │ │ └── ddd │ │ ├── .DS_Store │ │ └── framework │ │ ├── .DS_Store │ │ └── acl │ │ ├── authorize │ │ ├── AuthorizeService.java │ │ └── dto │ │ │ ├── CaptchaGetDTO.java │ │ │ └── CaptchaValidateDTO.java │ │ ├── cache │ │ ├── AbstractCacheService.java │ │ └── CacheService.java │ │ └── event │ │ ├── Consumer.java │ │ └── Producer.java ├── adapter │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── ddd │ │ └── framework │ │ └── adapter │ │ ├── common │ │ ├── annotation │ │ │ ├── DecryRequestBody.java │ │ │ ├── EncryptResponseBody.java │ │ │ ├── Log.java │ │ │ └── Permissions.java │ │ ├── aspect │ │ │ ├── DecryptRequestBodyAdvice.java │ │ │ ├── EncryptResponseBodyAdvice.java │ │ │ ├── LogAspect.java │ │ │ └── PermissionsAspect.java │ │ ├── convert │ │ │ └── StringToDateConverter.java │ │ └── exception │ │ │ └── GlobalExceptionHandler.java │ │ ├── config │ │ ├── CorsConfig.java │ │ ├── SwaggerConfig.java │ │ └── WebMvcConfig.java │ │ ├── rest │ │ ├── biz │ │ │ └── package-info.java │ │ ├── common │ │ │ └── BasicController.java │ │ └── sys │ │ │ ├── CaptchaController.java │ │ │ ├── DictionaryController.java │ │ │ ├── LogController.java │ │ │ ├── MenuController.java │ │ │ ├── RoleController.java │ │ │ └── UserController.java │ │ └── util │ │ ├── AesEncryptUtils.java │ │ ├── IPUtil.java │ │ └── ShortUrl.java ├── application │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── io │ │ │ └── ddd │ │ │ └── framework │ │ │ └── application │ │ │ ├── biz │ │ │ └── package-info.java │ │ │ ├── common │ │ │ ├── assembler │ │ │ │ └── Assembler.java │ │ │ └── event │ │ │ │ ├── ApplicationContextHelper.java │ │ │ │ ├── EventBus.java │ │ │ │ ├── EventBusI.java │ │ │ │ ├── EventHandler.java │ │ │ │ ├── EventHandlerI.java │ │ │ │ ├── EventHub.java │ │ │ │ ├── EventRegister.java │ │ │ │ └── EventRegisterConfig.java │ │ │ └── sys │ │ │ ├── dictionary │ │ │ ├── assembler │ │ │ │ ├── Dictionary2DTOAssembler.java │ │ │ │ └── Dictionary2DTOMapStruct.java │ │ │ ├── command │ │ │ │ ├── DictionaryAddCmdExe.java │ │ │ │ ├── DictionaryDeleteCmdExe.java │ │ │ │ ├── DictionaryUpdateCmdExe.java │ │ │ │ └── query │ │ │ │ │ ├── DictionaryGetQryExe.java │ │ │ │ │ ├── DictionaryListQryExe.java │ │ │ │ │ └── DictionaryPageQryExe.java │ │ │ ├── handler │ │ │ │ ├── DictionaryCreateEventHandler.java │ │ │ │ ├── DictionaryDeleteEventHandler.java │ │ │ │ └── DictionaryUpdateEventHandler.java │ │ │ └── service │ │ │ │ └── DictionaryAppAppServiceImpl.java │ │ │ ├── log │ │ │ ├── assembler │ │ │ │ ├── Log2DTOAssembler.java │ │ │ │ └── Log2DTOMapStruct.java │ │ │ ├── command │ │ │ │ ├── LogAddCmdExe.java │ │ │ │ ├── LogDeleteCmdExe.java │ │ │ │ ├── LogUpdateCmdExe.java │ │ │ │ └── query │ │ │ │ │ ├── LogGetQryExe.java │ │ │ │ │ ├── LogListQryExe.java │ │ │ │ │ └── LogPageQryExe.java │ │ │ └── service │ │ │ │ └── LogAppAppServiceImpl.java │ │ │ ├── menu │ │ │ ├── assembler │ │ │ │ ├── Menu2DTOAssembler.java │ │ │ │ └── Menu2DTOMapStruct.java │ │ │ ├── command │ │ │ │ ├── MenuAddCmdExe.java │ │ │ │ ├── MenuDeleteCmdExe.java │ │ │ │ ├── MenuUpdateCmdExe.java │ │ │ │ └── query │ │ │ │ │ ├── AuthMenuGetQryExe.java │ │ │ │ │ ├── MenuGetQryExe.java │ │ │ │ │ ├── MenuListQryExe.java │ │ │ │ │ ├── MenuPageQryExe.java │ │ │ │ │ └── MenuSelectQryExe.java │ │ │ └── service │ │ │ │ └── MenuAppAppServiceImpl.java │ │ │ ├── role │ │ │ ├── assembler │ │ │ │ ├── Role2DTOAssembler.java │ │ │ │ └── Role2DTOMapStruct.java │ │ │ ├── command │ │ │ │ ├── RoleAddCmdExe.java │ │ │ │ ├── RoleDeleteCmdExe.java │ │ │ │ ├── RoleUpdateCmdExe.java │ │ │ │ └── query │ │ │ │ │ ├── RoleGetQryExe.java │ │ │ │ │ ├── RoleListQryExe.java │ │ │ │ │ └── RolePageQryExe.java │ │ │ └── service │ │ │ │ └── RoleAppAppServiceImpl.java │ │ │ ├── roleofmenu │ │ │ ├── assembler │ │ │ │ ├── RoleOfMenu2DTOAssembler.java │ │ │ │ └── RoleOfMenu2DTOMapStruct.java │ │ │ ├── command │ │ │ │ ├── RoleOfMenuAddCmdExe.java │ │ │ │ ├── RoleOfMenuDeleteCmdExe.java │ │ │ │ ├── RoleOfMenuUpdateCmdExe.java │ │ │ │ └── query │ │ │ │ │ ├── RoleOfMenuGetQryExe.java │ │ │ │ │ ├── RoleOfMenuListQryExe.java │ │ │ │ │ └── RoleOfMenuPageQryExe.java │ │ │ └── service │ │ │ │ └── RoleOfMenuAppAppServiceImpl.java │ │ │ ├── user │ │ │ ├── assembler │ │ │ │ ├── User2DTOAssembler.java │ │ │ │ └── User2DTOMapStruct.java │ │ │ ├── command │ │ │ │ ├── UserAddCmdExe.java │ │ │ │ ├── UserDeleteCmdExe.java │ │ │ │ ├── UserUpdateCmdExe.java │ │ │ │ └── query │ │ │ │ │ ├── UserGetQryExe.java │ │ │ │ │ ├── UserInfoGetQryExe.java │ │ │ │ │ ├── UserListQryExe.java │ │ │ │ │ └── UserPageQryExe.java │ │ │ ├── handler │ │ │ │ ├── UserCreateEventHandler.java │ │ │ │ ├── UserDeleteEventHandler.java │ │ │ │ └── UserUpdateEventHandler.java │ │ │ └── service │ │ │ │ └── UserAppAppServiceImpl.java │ │ │ └── userofrole │ │ │ ├── assembler │ │ │ ├── UserOfRole2DTOAssembler.java │ │ │ └── UserOfRole2DTOMapStruct.java │ │ │ ├── command │ │ │ ├── UserOfRoleAddCmdExe.java │ │ │ ├── UserOfRoleDeleteCmdExe.java │ │ │ ├── UserOfRoleUpdateCmdExe.java │ │ │ └── query │ │ │ │ ├── UserOfRoleGetQryExe.java │ │ │ │ ├── UserOfRoleListQryExe.java │ │ │ │ └── UserOfRolePageQryExe.java │ │ │ └── service │ │ │ └── UserOfRoleAppAppServiceImpl.java │ │ └── test │ │ └── resources │ │ └── logback-test.xml ├── core-client │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── ddd │ │ └── framework │ │ └── coreclient │ │ ├── api │ │ ├── biz │ │ │ └── package-info.java │ │ └── sys │ │ │ ├── DictionaryAppService.java │ │ │ ├── LogAppService.java │ │ │ ├── MenuAppService.java │ │ │ ├── RoleAppService.java │ │ │ ├── RoleOfMenuAppService.java │ │ │ ├── UserAppService.java │ │ │ └── UserOfRoleAppService.java │ │ ├── context │ │ ├── UserThreadContext.java │ │ └── sys │ │ │ └── UserContext.java │ │ ├── dto │ │ ├── biz │ │ │ └── package-info.java │ │ ├── common │ │ │ ├── command │ │ │ │ ├── Command.java │ │ │ │ ├── CommonCommand.java │ │ │ │ ├── CommonDTO.java │ │ │ │ ├── DTO.java │ │ │ │ ├── PageQuery.java │ │ │ │ └── Query.java │ │ │ ├── event │ │ │ │ ├── DomainEventI.java │ │ │ │ ├── EventI.java │ │ │ │ └── MessageQueueEventI.java │ │ │ ├── page │ │ │ │ └── Page.java │ │ │ └── response │ │ │ │ ├── MapResponse.java │ │ │ │ ├── MultiResponse.java │ │ │ │ ├── PageResponse.java │ │ │ │ ├── Response.java │ │ │ │ └── SingleResponse.java │ │ └── sys │ │ │ ├── dictionary │ │ │ ├── DictionaryAddCmd.java │ │ │ ├── DictionaryDTO.java │ │ │ ├── DictionaryDeleteCmd.java │ │ │ ├── DictionaryGetQry.java │ │ │ ├── DictionaryListQry.java │ │ │ ├── DictionaryPageQry.java │ │ │ ├── DictionaryUpdateCmd.java │ │ │ └── event │ │ │ │ ├── DictionaryCreateEvent.java │ │ │ │ ├── DictionaryDeleteEvent.java │ │ │ │ └── DictionaryUpdateEvent.java │ │ │ ├── log │ │ │ ├── LogAddCmd.java │ │ │ ├── LogDTO.java │ │ │ ├── LogDeleteCmd.java │ │ │ ├── LogGetQry.java │ │ │ ├── LogListQry.java │ │ │ ├── LogPageQry.java │ │ │ └── LogUpdateCmd.java │ │ │ ├── menu │ │ │ ├── AuthMenuGetQry.java │ │ │ ├── MenuAddCmd.java │ │ │ ├── MenuDTO.java │ │ │ ├── MenuDeleteCmd.java │ │ │ ├── MenuGetQry.java │ │ │ ├── MenuGetSelectQry.java │ │ │ ├── MenuListQry.java │ │ │ ├── MenuPageQry.java │ │ │ ├── MenuUpdateCmd.java │ │ │ └── enums │ │ │ │ └── MenuEnum.java │ │ │ ├── role │ │ │ ├── RoleAddCmd.java │ │ │ ├── RoleDTO.java │ │ │ ├── RoleDeleteCmd.java │ │ │ ├── RoleGetQry.java │ │ │ ├── RoleListQry.java │ │ │ ├── RolePageQry.java │ │ │ └── RoleUpdateCmd.java │ │ │ ├── roleofmenu │ │ │ ├── RoleOfMenuAddCmd.java │ │ │ ├── RoleOfMenuDTO.java │ │ │ ├── RoleOfMenuDeleteCmd.java │ │ │ ├── RoleOfMenuGetQry.java │ │ │ ├── RoleOfMenuListQry.java │ │ │ ├── RoleOfMenuPageQry.java │ │ │ └── RoleOfMenuUpdateCmd.java │ │ │ ├── user │ │ │ ├── UserAddCmd.java │ │ │ ├── UserDTO.java │ │ │ ├── UserDeleteCmd.java │ │ │ ├── UserFullGetQry.java │ │ │ ├── UserGetQry.java │ │ │ ├── UserListQry.java │ │ │ ├── UserPageQry.java │ │ │ ├── UserUpdateCmd.java │ │ │ ├── enums │ │ │ │ └── UserStatusEnum.java │ │ │ └── event │ │ │ │ ├── UserCreateEvent.java │ │ │ │ ├── UserDeleteEvent.java │ │ │ │ └── UserUpdateEvent.java │ │ │ └── userofrole │ │ │ ├── UserOfRoleAddCmd.java │ │ │ ├── UserOfRoleDTO.java │ │ │ ├── UserOfRoleDeleteCmd.java │ │ │ ├── UserOfRoleGetQry.java │ │ │ ├── UserOfRoleListQry.java │ │ │ ├── UserOfRolePageQry.java │ │ │ └── UserOfRoleUpdateCmd.java │ │ └── exception │ │ ├── AuthException.java │ │ ├── BaseException.java │ │ ├── BizException.java │ │ ├── EventException.java │ │ └── code │ │ ├── AuthErrorCode.java │ │ ├── BaseErrorCode.java │ │ ├── BizErrorCode.java │ │ ├── ErrorCode.java │ │ └── EventErrorCode.java ├── domain │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── ddd │ │ └── framework │ │ └── domain │ │ ├── common │ │ ├── CommonEntity.java │ │ ├── Entity.java │ │ ├── IdentityEntity.java │ │ └── UUIDEntity.java │ │ ├── domain │ │ ├── package-info.java │ │ └── sys │ │ │ ├── Dictionary.java │ │ │ ├── Log.java │ │ │ ├── Menu.java │ │ │ ├── Role.java │ │ │ ├── RoleOfMenu.java │ │ │ ├── User.java │ │ │ └── UserOfRole.java │ │ ├── factory │ │ ├── DomainFactory.java │ │ ├── package-info.java │ │ └── sys │ │ │ ├── DictionaryFactory.java │ │ │ ├── LogFactory.java │ │ │ ├── MenuFactory.java │ │ │ ├── RoleFactory.java │ │ │ ├── RoleOfMenuFactory.java │ │ │ ├── UserFactory.java │ │ │ └── UserOfRoleFactory.java │ │ ├── repository │ │ ├── biz │ │ │ └── package-info.java │ │ └── sys │ │ │ ├── DictionaryRepository.java │ │ │ ├── LogRepository.java │ │ │ ├── MenuRepository.java │ │ │ ├── RoleOfMenuRepository.java │ │ │ ├── RoleRepository.java │ │ │ ├── UserOfRoleRepository.java │ │ │ └── UserRepository.java │ │ └── service │ │ └── package-info.java ├── infrastructure │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── io │ │ │ │ └── ddd │ │ │ │ └── framework │ │ │ │ └── infrastructure │ │ │ │ ├── common │ │ │ │ ├── convector │ │ │ │ │ └── Convector.java │ │ │ │ └── package-info.java │ │ │ │ ├── config │ │ │ │ └── InfrastructureConfig.java │ │ │ │ └── repositoryimpl │ │ │ │ ├── biz │ │ │ │ └── package-info.java │ │ │ │ └── sys │ │ │ │ ├── DictionaryRepositoryImpl.java │ │ │ │ ├── LogRepositoryImpl.java │ │ │ │ ├── MenuRepositoryImpl.java │ │ │ │ ├── RoleOfMenuRepositoryImpl.java │ │ │ │ ├── RoleRepositoryImpl.java │ │ │ │ ├── UserOfRoleRepositoryImpl.java │ │ │ │ ├── UserRepositoryImpl.java │ │ │ │ ├── database │ │ │ │ ├── convertor │ │ │ │ │ ├── Dictionary2DOConvector.java │ │ │ │ │ ├── Dictionary2DOMapStruct.java │ │ │ │ │ ├── Log2DOConvector.java │ │ │ │ │ ├── Log2DOMapStruct.java │ │ │ │ │ ├── Menu2DOConvector.java │ │ │ │ │ ├── Menu2DOMapStruct.java │ │ │ │ │ ├── Role2DOConvector.java │ │ │ │ │ ├── Role2DOMapStruct.java │ │ │ │ │ ├── RoleOfMenu2DOConvector.java │ │ │ │ │ ├── RoleOfMenu2DOMapStruct.java │ │ │ │ │ ├── User2DOConvector.java │ │ │ │ │ ├── User2DOMapStruct.java │ │ │ │ │ ├── UserOfRole2DOConvector.java │ │ │ │ │ └── UserOfRole2DOMapStruct.java │ │ │ │ ├── dataobject │ │ │ │ │ ├── BaseDO.java │ │ │ │ │ ├── CaptchaDO.java │ │ │ │ │ ├── DictionaryDO.java │ │ │ │ │ ├── LogDO.java │ │ │ │ │ ├── MenuDO.java │ │ │ │ │ ├── MetricDO.java │ │ │ │ │ ├── RoleDO.java │ │ │ │ │ ├── RoleOfMenuDO.java │ │ │ │ │ ├── UserDO.java │ │ │ │ │ ├── UserOfDeptDO.java │ │ │ │ │ └── UserOfRoleDO.java │ │ │ │ └── mapper │ │ │ │ │ ├── CaptchaMapper.java │ │ │ │ │ ├── CodeGeneratorMapper.java │ │ │ │ │ ├── DictionaryMapper.java │ │ │ │ │ ├── LogMapper.java │ │ │ │ │ ├── MenuMapper.java │ │ │ │ │ ├── RoleMapper.java │ │ │ │ │ ├── RoleOfMenuMapper.java │ │ │ │ │ ├── UserMapper.java │ │ │ │ │ ├── UserOfDeptMapper.java │ │ │ │ │ └── UserOfRoleMapper.java │ │ │ │ └── rpc │ │ │ │ ├── RPCUserMapper.java │ │ │ │ └── dataobject │ │ │ │ └── UserDO.java │ │ └── resources │ │ │ ├── mybatis-config.xml │ │ │ └── mybatis │ │ │ ├── CaptchaMapper.xml │ │ │ ├── DictionaryMapper.xml │ │ │ ├── LogMapper.xml │ │ │ ├── MenuMapper.xml │ │ │ ├── RoleOfMenuMapper.xml │ │ │ ├── UserMapper.xml │ │ │ └── UserOfRoleMapper.xml │ │ └── test │ │ ├── java │ │ └── io │ │ │ └── ddd │ │ │ └── framework │ │ │ └── repositoryimpl │ │ │ └── Mybatis3Utils.java │ │ └── resources │ │ ├── logback-test.xml │ │ └── mybatis-config-test.xml ├── pom.xml └── share-dataobject │ ├── pom.xml │ └── src │ └── main │ └── java │ └── io │ └── ddd │ └── framework │ └── sharedataobject │ ├── common │ └── validator │ │ ├── group │ │ ├── Delete.java │ │ ├── Insert.java │ │ ├── Query.java │ │ └── Update.java │ │ └── package-info.java │ └── package-info.java ├── dependencies └── pom.xml ├── deploy.sh ├── doc ├── README.md ├── ddd-layer.png └── script │ ├── DDL.sql │ └── sys │ ├── DictionaryMenu.sql │ ├── LogMenu.sql │ ├── MenuMenu.sql │ ├── RoleMenu.sql │ ├── RoleOfMenuMenu.sql │ ├── UserMenu.sql │ └── UserOfRoleMenu.sql ├── extensions ├── acl-implements │ ├── acl-impl-authorize-default │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── io │ │ │ └── ddd │ │ │ └── framework │ │ │ └── acl │ │ │ └── authorize │ │ │ ├── config │ │ │ ├── JWTConfig.java │ │ │ ├── KaptchaConfig.java │ │ │ └── SpringSecurityConfig.java │ │ │ ├── constant │ │ │ └── Constant.java │ │ │ ├── filter │ │ │ ├── JWTAuthenticationFilter.java │ │ │ └── JWTLoginFilter.java │ │ │ ├── handler │ │ │ ├── CustomAccessDeniedHandler.java │ │ │ ├── CustomAuthenticationEntryPoint.java │ │ │ └── CustomLogoutSuccessHandler.java │ │ │ ├── impl │ │ │ ├── AuthenticationProviderImpl.java │ │ │ ├── AuthorizeServiceImpl.java │ │ │ ├── GrantedAuthorityImpl.java │ │ │ └── UserDetailsServiceImpl.java │ │ │ └── util │ │ │ └── ResponseUtil.java │ ├── acl-impl-cached-default │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── io │ │ │ └── ddd │ │ │ └── framework │ │ │ └── acl │ │ │ └── impl │ │ │ └── cached │ │ │ ├── AuthCachedImpl.java │ │ │ └── package-info.java │ ├── acl-impl-database-default │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── io │ │ │ └── ddd │ │ │ └── framework │ │ │ └── acl │ │ │ └── impl │ │ │ └── database │ │ │ ├── config │ │ │ └── Config.java │ │ │ └── package-info.java │ ├── acl-impl-event-default │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── io │ │ │ └── ddd │ │ │ └── framework │ │ │ └── acl │ │ │ └── impl │ │ │ └── event │ │ │ ├── EventConsumerImpl.java │ │ │ └── EventProducerImpl.java │ └── pom.xml └── pom.xml ├── mvnw ├── mvnw.cmd ├── pom.xml └── starter ├── pom.xml └── src ├── main ├── java │ └── io │ │ └── ddd │ │ └── framework │ │ └── Application.java └── resources │ ├── application-dev.properties │ ├── application-prod.properties │ ├── application-test.properties │ ├── application.properties │ ├── banner.txt │ ├── logback-spring.xml │ ├── messages.properties │ ├── messages_en.properties │ └── messages_zh_CN.properties └── test ├── java └── io │ └── ddd │ └── framework │ └── ApplicationTests.java └── resources └── logback-test.xml /.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | 33 | ### MAC DIR ### 34 | **/.DS_Store 35 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 麦奇 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /client/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | ddd-framework 7 | io.ddd.framework 8 | 0.0.1-SNAPSHOT 9 | 10 | 4.0.0 11 | 12 | client 13 | 14 | 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/ddd/framework/client/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 外部二方包 3 | */ 4 | package io.ddd.framework.client; -------------------------------------------------------------------------------- /core/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/core/.DS_Store -------------------------------------------------------------------------------- /core/acl/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/core/acl/.DS_Store -------------------------------------------------------------------------------- /core/acl/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | io.ddd.framework 7 | core 8 | 0.0.1-SNAPSHOT 9 | 10 | 4.0.0 11 | 12 | acl 13 | 14 | 15 | 16 | org.projectlombok 17 | lombok 18 | 19 | 20 | javax.validation 21 | validation-api 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /core/acl/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/core/acl/src/.DS_Store -------------------------------------------------------------------------------- /core/acl/src/main/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/core/acl/src/main/.DS_Store -------------------------------------------------------------------------------- /core/acl/src/main/java/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/core/acl/src/main/java/.DS_Store -------------------------------------------------------------------------------- /core/acl/src/main/java/io/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/core/acl/src/main/java/io/.DS_Store -------------------------------------------------------------------------------- /core/acl/src/main/java/io/ddd/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/core/acl/src/main/java/io/ddd/.DS_Store -------------------------------------------------------------------------------- /core/acl/src/main/java/io/ddd/framework/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/core/acl/src/main/java/io/ddd/framework/.DS_Store -------------------------------------------------------------------------------- /core/acl/src/main/java/io/ddd/framework/acl/authorize/AuthorizeService.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.authorize; 2 | 3 | import io.ddd.framework.acl.authorize.dto.CaptchaGetDTO; 4 | import io.ddd.framework.acl.authorize.dto.CaptchaValidateDTO; 5 | 6 | import java.awt.image.BufferedImage; 7 | import java.util.List; 8 | 9 | public interface AuthorizeService { 10 | /** 11 | * 获取用户授权列表 12 | * @return 13 | */ 14 | List getPermissions(); 15 | 16 | /** 17 | * 生成验证码 18 | * @param captchaGetQry 19 | * @return 20 | */ 21 | BufferedImage generateCaptcha(CaptchaGetDTO captchaGetQry); 22 | 23 | /** 24 | * 验证验证码 25 | */ 26 | Boolean captchaValidate(CaptchaValidateDTO captchaValidateDTO); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /core/acl/src/main/java/io/ddd/framework/acl/authorize/dto/CaptchaGetDTO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.authorize.dto; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | import javax.validation.constraints.NotBlank; 7 | 8 | /** 9 | * @Author: 麦奇 10 | * @Date: 21-11-21 下午4:37 11 | */ 12 | @Accessors(chain = true) 13 | @Data 14 | public class CaptchaGetDTO{ 15 | @NotBlank 16 | private String uuid; 17 | } -------------------------------------------------------------------------------- /core/acl/src/main/java/io/ddd/framework/acl/authorize/dto/CaptchaValidateDTO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.authorize.dto; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | import javax.validation.constraints.NotBlank; 7 | 8 | /** 9 | * @Author: 麦奇 10 | * @Date: 21-11-21 下午4:37 11 | */ 12 | @Accessors(chain = true) 13 | @Data 14 | public class CaptchaValidateDTO { 15 | @NotBlank 16 | private String uuid; 17 | @NotBlank 18 | private String code; 19 | } -------------------------------------------------------------------------------- /core/acl/src/main/java/io/ddd/framework/acl/cache/AbstractCacheService.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.cache; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | /** 7 | * @Author: 麦奇 8 | * @Date: 21-11-13 下午2:00 9 | */ 10 | public abstract class AbstractCacheService implements CacheService { 11 | 12 | Map cacheMap = new HashMap<>(); 13 | /** 14 | * 缓存加载 15 | */ 16 | protected abstract void load(); 17 | /** 18 | * 重新加载 19 | */ 20 | protected abstract void reload(); 21 | } 22 | -------------------------------------------------------------------------------- /core/acl/src/main/java/io/ddd/framework/acl/cache/CacheService.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.cache; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | /** 6 | * @author mikey 7 | */ 8 | public interface CacheService { 9 | V get(K k); 10 | void set(K k,V v); 11 | /** 12 | * 设置缓存 13 | * @param k 键 14 | * @param v 值 15 | * @param expire 过期时间 16 | * @param timeUnit 过期时间单位 17 | */ 18 | void set(K k, V v, Long expire, TimeUnit timeUnit); 19 | } 20 | -------------------------------------------------------------------------------- /core/acl/src/main/java/io/ddd/framework/acl/event/Consumer.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.event; 2 | 3 | public interface Consumer { 4 | void consumer(); 5 | } 6 | -------------------------------------------------------------------------------- /core/acl/src/main/java/io/ddd/framework/acl/event/Producer.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.event; 2 | 3 | import java.util.Map; 4 | 5 | /** 6 | * 跨应用事件通知,生产事件 7 | */ 8 | public interface Producer { 9 | void produce(String messageKey, byte[] message, Map attributes) throws Exception; 10 | } 11 | -------------------------------------------------------------------------------- /core/adapter/src/main/java/io/ddd/framework/adapter/common/annotation/DecryRequestBody.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.adapter.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * 解密参数请求体 7 | */ 8 | @Target(ElementType.METHOD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @Documented 11 | public @interface DecryRequestBody { 12 | 13 | String value() default ""; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /core/adapter/src/main/java/io/ddd/framework/adapter/common/annotation/EncryptResponseBody.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.adapter.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * 加密响应体 7 | */ 8 | @Target(ElementType.METHOD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @Documented 11 | public @interface EncryptResponseBody { 12 | 13 | String value() default ""; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /core/adapter/src/main/java/io/ddd/framework/adapter/common/annotation/Log.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.adapter.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.METHOD) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | @Documented 8 | public @interface Log { 9 | 10 | String value() default ""; 11 | } 12 | -------------------------------------------------------------------------------- /core/adapter/src/main/java/io/ddd/framework/adapter/common/annotation/Permissions.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.adapter.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author: 麦奇 7 | * @Date: 21-11-13 上午10:48 8 | */ 9 | @Target({ ElementType.TYPE, ElementType.METHOD}) 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Documented 12 | public @interface Permissions { 13 | String value() default ""; 14 | } 15 | -------------------------------------------------------------------------------- /core/adapter/src/main/java/io/ddd/framework/adapter/config/CorsConfig.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.adapter.config; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.web.servlet.config.annotation.CorsRegistry; 5 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 6 | 7 | @Configuration 8 | public class CorsConfig implements WebMvcConfigurer { 9 | 10 | public void addCorsMappings(CorsRegistry registry) { 11 | registry.addMapping("/**") 12 | .allowedOrigins("*") 13 | .allowCredentials(true) 14 | .allowedMethods("GET", "POST", "DELETE", "PUT","PATCH") 15 | .maxAge(3600); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /core/adapter/src/main/java/io/ddd/framework/adapter/config/WebMvcConfig.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.adapter.config; 2 | 3 | import io.ddd.framework.adapter.common.convert.StringToDateConverter; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.format.FormatterRegistry; 6 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 7 | 8 | @Configuration 9 | public class WebMvcConfig implements WebMvcConfigurer { 10 | 11 | public void addFormatters(FormatterRegistry registry) { 12 | registry.addConverter(new StringToDateConverter()); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /core/adapter/src/main/java/io/ddd/framework/adapter/rest/biz/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * biz adapter 3 | */ 4 | package io.ddd.framework.adapter.rest.biz; -------------------------------------------------------------------------------- /core/adapter/src/main/java/io/ddd/framework/adapter/rest/common/BasicController.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.adapter.rest.common; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.springframework.security.core.Authentication; 5 | import org.springframework.security.core.GrantedAuthority; 6 | import org.springframework.security.core.context.SecurityContextHolder; 7 | 8 | import java.util.ArrayList; 9 | import java.util.Collection; 10 | import java.util.List; 11 | 12 | /** 13 | * 控制器根基类 14 | */ 15 | @Slf4j 16 | public class BasicController { 17 | /** 18 | * 获取用户所拥有的权限列表 19 | * @return 20 | */ 21 | public List getAuthentication() { 22 | Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); 23 | Collection authorities = authentication.getAuthorities(); 24 | List list = new ArrayList<>(); 25 | for (GrantedAuthority grantedAuthority : authorities) { 26 | log.info("权限列表:{}", grantedAuthority.getAuthority()); 27 | list.add(grantedAuthority.getAuthority()); 28 | } 29 | return list; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/biz/package-info.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.biz; -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/common/assembler/Assembler.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.common.assembler; 2 | 3 | import io.ddd.framework.coreclient.dto.common.page.Page; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * @Author: 麦奇 9 | * @Date: 21-11-26 下午9:48 10 | */ 11 | public interface Assembler { 12 | DTO toDTO(Domain dO); 13 | Domain toDomain(DTO dTO); 14 | List toDTOList(List domainList); 15 | List toDomainList(List dTOList); 16 | Page toDTOPage(Page page); 17 | } 18 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/common/event/EventBusI.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.common.event; 2 | 3 | 4 | import io.ddd.framework.coreclient.dto.common.event.EventI; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | 7 | public interface EventBusI { 8 | /** 9 | * 发送事件 10 | * @param event 11 | * @return 12 | */ 13 | Response publish(EventI event); 14 | /** 15 | * 发送事件 16 | * @param event 17 | * @return Response 18 | */ 19 | void publishAll(EventI event); 20 | /** 21 | * 异步发送事件 22 | * @param event 23 | */ 24 | void asyncPublish(EventI event); 25 | } 26 | 27 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/common/event/EventHandler.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.common.event; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | import java.lang.annotation.*; 6 | 7 | @Inherited 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target({ElementType.TYPE}) 10 | @Component 11 | public @interface EventHandler { 12 | } 13 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/common/event/EventHandlerI.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.common.event; 2 | 3 | import io.ddd.framework.coreclient.dto.common.event.EventI; 4 | import io.ddd.framework.coreclient.dto.common.response.Response; 5 | 6 | import java.util.concurrent.ExecutorService; 7 | 8 | /** 9 | * 事件处理器顶层接口 10 | * @param 11 | * @param 12 | */ 13 | public interface EventHandlerI { 14 | 15 | default ExecutorService getExecutor(){ 16 | return null; 17 | } 18 | 19 | R execute(E e); 20 | } 21 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/common/event/EventRegisterConfig.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.common.event; 2 | import org.springframework.beans.factory.InitializingBean; 3 | import org.springframework.context.ApplicationContext; 4 | import org.springframework.stereotype.Service; 5 | 6 | import javax.annotation.Resource; 7 | import java.util.Map; 8 | @Service 9 | public class EventRegisterConfig implements InitializingBean { 10 | 11 | @Resource 12 | private EventRegister eventRegister; 13 | 14 | @Resource 15 | private ApplicationContext applicationContext; 16 | 17 | @Override 18 | public void afterPropertiesSet() { 19 | Map eventHandlerBeans = applicationContext.getBeansWithAnnotation(EventHandler.class); 20 | eventHandlerBeans.values().forEach( 21 | eventHandler -> eventRegister.doRegistration((EventHandlerI) eventHandler) 22 | ); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/dictionary/assembler/Dictionary2DTOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.dictionary.assembler; 2 | 3 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryDTO; 4 | import io.ddd.framework.domain.domain.sys.Dictionary; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | import java.util.List; 10 | /** 11 | * 12 | * @author mikey 13 | * @date 2022-01-28 21:50:48 14 | */ 15 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 16 | public interface Dictionary2DTOMapStruct { 17 | 18 | Dictionary2DTOMapStruct INSTANCE = Mappers.getMapper(Dictionary2DTOMapStruct.class); 19 | 20 | @Mappings({}) 21 | DictionaryDTO toDTO(Dictionary dictionary); 22 | 23 | @Mappings({}) 24 | Dictionary toDomain(DictionaryDTO dictionaryDTO); 25 | 26 | List toDTOList(List DictionaryList); 27 | 28 | List toDomainList(List DictionaryDTOList); 29 | } 30 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/dictionary/command/DictionaryAddCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.dictionary.command; 2 | 3 | import io.ddd.framework.application.sys.dictionary.assembler.Dictionary2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.response.Response; 5 | import io.ddd.framework.domain.repository.sys.DictionaryRepository; 6 | import io.ddd.framework.domain.domain.sys.Dictionary; 7 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryAddCmd; 8 | import org.springframework.stereotype.Component; 9 | import javax.annotation.Resource; 10 | /** 11 | * 12 | * @author mikey 13 | * @date 2022-01-28 21:50:48 14 | */ 15 | @Component 16 | public class DictionaryAddCmdExe { 17 | 18 | @Resource 19 | private DictionaryRepository dictionaryRepository; 20 | @Resource 21 | private Dictionary2DTOAssembler dictionary2DTOAssembler; 22 | 23 | public Response execute(DictionaryAddCmd cmd) { 24 | Dictionary dictionary = dictionary2DTOAssembler.toDomain(cmd.getDictionaryDTO()); 25 | dictionaryRepository.create(dictionary); 26 | return Response.success(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/dictionary/command/DictionaryDeleteCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.dictionary.command; 2 | 3 | import io.ddd.framework.coreclient.context.UserThreadContext; 4 | import io.ddd.framework.coreclient.dto.common.response.Response; 5 | import io.ddd.framework.domain.repository.sys.DictionaryRepository; 6 | import io.ddd.framework.domain.domain.sys.Dictionary; 7 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryDeleteCmd; 8 | import org.springframework.stereotype.Component; 9 | import javax.annotation.Resource; 10 | /** 11 | * 12 | * @author mikey 13 | * @date 2022-01-28 21:50:48 14 | */ 15 | @Component 16 | public class DictionaryDeleteCmdExe { 17 | @Resource 18 | private DictionaryRepository dictionaryRepository; 19 | 20 | public Response execute(DictionaryDeleteCmd cmd) { 21 | for(Long id:cmd.getIds()) { 22 | Dictionary dictionary =dictionaryRepository.getById(id); 23 | dictionary.deleted(UserThreadContext.get()); 24 | dictionaryRepository.update(dictionary); 25 | } 26 | return Response.success(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/dictionary/command/DictionaryUpdateCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.dictionary.command; 2 | 3 | import io.ddd.framework.application.sys.dictionary.assembler.Dictionary2DTOAssembler; 4 | import io.ddd.framework.domain.domain.sys.Dictionary; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryUpdateCmd; 7 | import io.ddd.framework.domain.repository.sys.DictionaryRepository; 8 | import org.springframework.stereotype.Component; 9 | import javax.annotation.Resource; 10 | /** 11 | * 12 | * @author mikey 13 | * @date 2022-01-28 21:50:48 14 | */ 15 | @Component 16 | public class DictionaryUpdateCmdExe { 17 | 18 | @Resource 19 | private DictionaryRepository dictionaryRepository; 20 | @Resource 21 | private Dictionary2DTOAssembler dictionary2DTOAssembler; 22 | 23 | public Response execute(DictionaryUpdateCmd cmd) { 24 | Dictionary dictionary = dictionary2DTOAssembler.toDomain(cmd.getDictionaryDTO()); 25 | dictionaryRepository.update(dictionary); 26 | return Response.success(); 27 | } 28 | } -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/dictionary/command/query/DictionaryGetQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.dictionary.command.query; 2 | 3 | import io.ddd.framework.application.sys.dictionary.assembler.Dictionary2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryDTO; 5 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 6 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryGetQry; 7 | import io.ddd.framework.domain.repository.sys.DictionaryRepository; 8 | import org.springframework.stereotype.Component; 9 | import javax.annotation.Resource; 10 | /** 11 | * 12 | * @author mikey 13 | * @date 2022-01-28 21:50:48 14 | */ 15 | @Component 16 | public class DictionaryGetQryExe { 17 | 18 | @Resource 19 | private DictionaryRepository dictionaryRepository; 20 | @Resource 21 | private Dictionary2DTOAssembler dictionary2DTOAssembler; 22 | 23 | public SingleResponse execute(DictionaryGetQry qry) { 24 | return SingleResponse.of(dictionary2DTOAssembler.toDTO(dictionaryRepository.getById(qry.getId()))); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/dictionary/command/query/DictionaryListQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.dictionary.command.query; 2 | 3 | import io.ddd.framework.application.sys.dictionary.assembler.Dictionary2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 5 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryDTO; 6 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryListQry; 7 | import io.ddd.framework.domain.domain.sys.Dictionary; 8 | import io.ddd.framework.domain.repository.sys.DictionaryRepository; 9 | import org.springframework.stereotype.Component; 10 | import javax.annotation.Resource; 11 | import java.util.List; 12 | /** 13 | * 14 | * @author mikey 15 | * @date 2022-01-28 21:50:48 16 | */ 17 | @Component 18 | public class DictionaryListQryExe { 19 | @Resource 20 | private DictionaryRepository dictionaryRepository; 21 | @Resource 22 | private Dictionary2DTOAssembler dictionary2DTOAssembler; 23 | 24 | public MultiResponse execute(DictionaryListQry qry) { 25 | List dictionaryDTOList = dictionaryRepository.list(qry); 26 | return MultiResponse.of(dictionary2DTOAssembler.toDTOList(dictionaryDTOList)); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/dictionary/command/query/DictionaryPageQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.dictionary.command.query; 2 | 3 | import io.ddd.framework.application.sys.dictionary.assembler.Dictionary2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryDTO; 5 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryPageQry; 6 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 7 | import io.ddd.framework.domain.repository.sys.DictionaryRepository; 8 | import org.springframework.stereotype.Component; 9 | import io.ddd.framework.domain.domain.sys.Dictionary; 10 | import javax.annotation.Resource; 11 | import io.ddd.framework.coreclient.dto.common.page.Page; 12 | /** 13 | * 14 | * @author mikey 15 | * @date 2022-01-28 21:50:48 16 | */ 17 | @Component 18 | public class DictionaryPageQryExe { 19 | 20 | @Resource 21 | private DictionaryRepository dictionaryRepository; 22 | @Resource 23 | private Dictionary2DTOAssembler dictionary2DTOAssembler; 24 | 25 | public PageResponse execute(DictionaryPageQry qry) { 26 | Page page = dictionaryRepository.page(qry); 27 | return PageResponse.of(dictionary2DTOAssembler.toDTOPage(page)); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/dictionary/handler/DictionaryCreateEventHandler.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.dictionary.handler; 2 | 3 | import io.ddd.framework.application.common.event.EventHandler; 4 | import io.ddd.framework.application.common.event.EventHandlerI; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.dictionary.event.DictionaryCreateEvent; 7 | import lombok.extern.slf4j.Slf4j; 8 | /** 9 | * 10 | * @author mikey 11 | * @date 2022-01-28 21:50:48 12 | */ 13 | @Slf4j 14 | @EventHandler 15 | public class DictionaryCreateEventHandler implements EventHandlerI { 16 | 17 | public Response execute(DictionaryCreateEvent event) { 18 | log.debug("Handling Event:{}",event); 19 | return Response.success(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/dictionary/handler/DictionaryDeleteEventHandler.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.dictionary.handler; 2 | 3 | 4 | import io.ddd.framework.application.common.event.EventHandler; 5 | import io.ddd.framework.application.common.event.EventHandlerI; 6 | import io.ddd.framework.coreclient.dto.common.response.Response; 7 | import io.ddd.framework.coreclient.dto.sys.dictionary.event.DictionaryDeleteEvent; 8 | import lombok.extern.slf4j.Slf4j; 9 | 10 | /** 11 | * 12 | * @author mikey 13 | * @date 2022-01-28 21:50:48 14 | */ 15 | @Slf4j 16 | @EventHandler 17 | public class DictionaryDeleteEventHandler implements EventHandlerI { 18 | 19 | public Response execute(DictionaryDeleteEvent event) { 20 | log.debug("Handling Event:{}",event); 21 | return Response.success(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/dictionary/handler/DictionaryUpdateEventHandler.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.dictionary.handler; 2 | 3 | import io.ddd.framework.application.common.event.EventHandler; 4 | import io.ddd.framework.application.common.event.EventHandlerI; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.dictionary.event.DictionaryUpdateEvent; 7 | import lombok.extern.slf4j.Slf4j; 8 | /** 9 | * 10 | * @author mikey 11 | * @date 2022-01-28 21:50:48 12 | */ 13 | @Slf4j 14 | @EventHandler 15 | public class DictionaryUpdateEventHandler implements EventHandlerI { 16 | 17 | public Response execute(DictionaryUpdateEvent event) { 18 | log.debug("Handling Event:{}",event); 19 | return Response.success(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/log/assembler/Log2DTOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.log.assembler; 2 | 3 | import io.ddd.framework.coreclient.dto.sys.log.LogDTO; 4 | import io.ddd.framework.domain.domain.sys.Log; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * 系统日志 14 | * @author mikey 15 | * @date 2021-12-03 17:28:52 16 | */ 17 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 18 | public interface Log2DTOMapStruct { 19 | 20 | Log2DTOMapStruct INSTANCE = Mappers.getMapper(Log2DTOMapStruct.class); 21 | 22 | @Mappings({}) 23 | LogDTO toDTO(Log log); 24 | 25 | @Mappings({}) 26 | Log toDomain(LogDTO logDTO); 27 | 28 | 29 | List toDTOList(List logList); 30 | 31 | 32 | List toDomainList(List logDTOList); 33 | } 34 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/log/command/LogAddCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.log.command; 2 | 3 | import io.ddd.framework.application.sys.log.assembler.Log2DTOAssembler; 4 | import io.ddd.framework.domain.domain.sys.Log; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.log.LogAddCmd; 7 | import io.ddd.framework.domain.repository.sys.LogRepository; 8 | import org.springframework.stereotype.Component; 9 | 10 | import javax.annotation.Resource; 11 | 12 | /** 13 | * 系统日志 14 | * @author mikey 15 | * @date 2021-11-20 23:04:11 16 | */ 17 | @Component 18 | public class LogAddCmdExe { 19 | 20 | @Resource 21 | private LogRepository logRepository; 22 | @Resource 23 | private Log2DTOAssembler log2DTOAssembler; 24 | 25 | public Response execute(LogAddCmd cmd) { 26 | Log log = log2DTOAssembler.toDomain(cmd.getLogDTO()); 27 | logRepository.create(log); 28 | return Response.success(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/log/command/LogDeleteCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.log.command; 2 | 3 | import io.ddd.framework.coreclient.context.UserThreadContext; 4 | import io.ddd.framework.domain.domain.sys.Log; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.log.LogDeleteCmd; 7 | import io.ddd.framework.domain.repository.sys.LogRepository; 8 | import org.springframework.stereotype.Component; 9 | 10 | import javax.annotation.Resource; 11 | /** 12 | * 系统日志 13 | * @author mikey 14 | * @date 2021-11-20 23:04:11 15 | */ 16 | @Component 17 | public class LogDeleteCmdExe { 18 | @Resource 19 | private LogRepository logRepository; 20 | 21 | public Response execute(LogDeleteCmd cmd) { 22 | for(Long id:cmd.getIds()) { 23 | Log log = logRepository.getById(id); 24 | log.deleted(UserThreadContext.get()); 25 | logRepository.update(log); 26 | } 27 | return Response.success(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/log/command/LogUpdateCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.log.command; 2 | 3 | import io.ddd.framework.application.sys.log.assembler.Log2DTOAssembler; 4 | import io.ddd.framework.domain.domain.sys.Log; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.log.LogUpdateCmd; 7 | import io.ddd.framework.domain.repository.sys.LogRepository; 8 | import org.springframework.stereotype.Component; 9 | import javax.annotation.Resource; 10 | /** 11 | * 系统日志 12 | * @author mikey 13 | * @date 2021-11-20 23:04:11 14 | */ 15 | @Component 16 | public class LogUpdateCmdExe { 17 | 18 | @Resource 19 | private LogRepository logRepository; 20 | @Resource 21 | private Log2DTOAssembler log2DTOAssembler; 22 | 23 | public Response execute(LogUpdateCmd cmd) { 24 | Log log = log2DTOAssembler.toDomain(cmd.getLogDTO()); 25 | logRepository.update(log); 26 | return Response.success(); 27 | } 28 | } -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/log/command/query/LogGetQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.log.command.query; 2 | 3 | 4 | import io.ddd.framework.application.sys.log.assembler.Log2DTOAssembler; 5 | import io.ddd.framework.coreclient.dto.sys.log.LogDTO; 6 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 7 | import io.ddd.framework.coreclient.dto.sys.log.LogGetQry; 8 | import io.ddd.framework.domain.repository.sys.LogRepository; 9 | import org.springframework.stereotype.Component; 10 | 11 | import javax.annotation.Resource; 12 | 13 | /** 14 | * 系统日志 15 | * @author mikey 16 | * @date 2021-11-20 23:04:11 17 | */ 18 | @Component 19 | public class LogGetQryExe { 20 | 21 | @Resource 22 | private LogRepository logRepository; 23 | @Resource 24 | private Log2DTOAssembler log2DTOAssembler; 25 | 26 | public SingleResponse execute(LogGetQry qry) { 27 | return SingleResponse.of(log2DTOAssembler.toDTO(logRepository.getById(qry.getId()))); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/log/command/query/LogListQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.log.command.query; 2 | 3 | import io.ddd.framework.application.sys.log.assembler.Log2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 5 | import io.ddd.framework.coreclient.dto.sys.log.LogDTO; 6 | import io.ddd.framework.coreclient.dto.sys.log.LogListQry; 7 | import io.ddd.framework.domain.domain.sys.Log; 8 | import io.ddd.framework.domain.repository.sys.LogRepository; 9 | import org.springframework.stereotype.Component; 10 | 11 | import javax.annotation.Resource; 12 | import java.util.List; 13 | 14 | /** 15 | * 系统日志 16 | * @author mikey 17 | * @date 2021-11-20 23:04:11 18 | */ 19 | @Component 20 | public class LogListQryExe { 21 | @Resource 22 | private LogRepository logRepository; 23 | @Resource 24 | private Log2DTOAssembler log2DTOAssembler; 25 | public MultiResponse execute(LogListQry qry) { 26 | List logDTOList = logRepository.list(qry); 27 | return MultiResponse.of(log2DTOAssembler.toDTOList(logDTOList)); 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/log/command/query/LogPageQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.log.command.query; 2 | 3 | import io.ddd.framework.application.sys.log.assembler.Log2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.page.Page; 5 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 6 | import io.ddd.framework.coreclient.dto.sys.log.LogDTO; 7 | import io.ddd.framework.coreclient.dto.sys.log.LogPageQry; 8 | import io.ddd.framework.domain.domain.sys.Log; 9 | import io.ddd.framework.domain.repository.sys.LogRepository; 10 | import org.springframework.stereotype.Component; 11 | 12 | import javax.annotation.Resource; 13 | 14 | /** 15 | * 系统日志 16 | * @author mikey 17 | * @date 2021-11-20 23:04:11 18 | */ 19 | @Component 20 | public class LogPageQryExe { 21 | 22 | @Resource 23 | private LogRepository logRepository; 24 | @Resource 25 | private Log2DTOAssembler log2DTOAssembler; 26 | 27 | public PageResponse execute(LogPageQry qry) { 28 | Page page = logRepository.page(qry); 29 | return PageResponse.of(log2DTOAssembler.toDTOPage(page)); 30 | } 31 | 32 | } 33 | 34 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/menu/assembler/Menu2DTOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.menu.assembler; 2 | 3 | import io.ddd.framework.coreclient.dto.sys.menu.MenuDTO; 4 | import io.ddd.framework.domain.domain.sys.Menu; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * 菜单表 14 | * @author mikey 15 | * @date 2021-12-03 17:18:36 16 | */ 17 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 18 | public interface Menu2DTOMapStruct { 19 | 20 | Menu2DTOMapStruct INSTANCE = Mappers.getMapper(Menu2DTOMapStruct.class); 21 | 22 | @Mappings({}) 23 | MenuDTO toDTO(Menu menu); 24 | 25 | 26 | List toDTOList(List menuList); 27 | 28 | @Mappings({}) 29 | Menu toDomain(MenuDTO menuCO); 30 | 31 | 32 | List toDomainList(List menuDTOList); 33 | } 34 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/menu/command/MenuAddCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.menu.command; 2 | 3 | import io.ddd.framework.application.sys.menu.assembler.Menu2DTOAssembler; 4 | import io.ddd.framework.coreclient.context.UserThreadContext; 5 | import io.ddd.framework.domain.domain.sys.Menu; 6 | import io.ddd.framework.coreclient.dto.common.response.Response; 7 | import io.ddd.framework.coreclient.dto.sys.menu.MenuAddCmd; 8 | import io.ddd.framework.domain.repository.sys.MenuRepository; 9 | import org.springframework.stereotype.Component; 10 | 11 | import javax.annotation.Resource; 12 | 13 | /** 14 | * 菜单表 15 | * @author mikey 16 | * @date 2021-11-17 14:43:50 17 | */ 18 | @Component 19 | public class MenuAddCmdExe { 20 | 21 | @Resource 22 | private MenuRepository menuRepository; 23 | @Resource 24 | private Menu2DTOAssembler menu2DTOAssembler; 25 | 26 | public Response execute(MenuAddCmd cmd) { 27 | Menu menu = menu2DTOAssembler.toDomain(cmd.getMenuDTO()); 28 | menu.create(UserThreadContext.get()); 29 | menu.validate(); 30 | menuRepository.create(menu); 31 | return Response.success(); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/menu/command/MenuDeleteCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.menu.command; 2 | 3 | import io.ddd.framework.coreclient.context.UserThreadContext; 4 | import io.ddd.framework.domain.domain.sys.Menu; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.menu.MenuDeleteCmd; 7 | import io.ddd.framework.domain.repository.sys.MenuRepository; 8 | import org.springframework.stereotype.Component; 9 | 10 | import javax.annotation.Resource; 11 | import java.util.stream.Stream; 12 | 13 | /** 14 | * 菜单表 15 | * @author mikey 16 | * @date 2021-11-17 14:43:50 17 | */ 18 | @Component 19 | public class MenuDeleteCmdExe { 20 | @Resource 21 | private MenuRepository menuRepository; 22 | 23 | public Response execute(MenuDeleteCmd cmd) { 24 | Stream.of(cmd.getIds()).forEach(id->{ 25 | Menu menu = menuRepository.getById(id); 26 | menu.deleted(UserThreadContext.get()); 27 | menuRepository.update(menu); 28 | }); 29 | return Response.success(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/menu/command/MenuUpdateCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.menu.command; 2 | 3 | import io.ddd.framework.application.sys.menu.assembler.Menu2DTOAssembler; 4 | import io.ddd.framework.domain.domain.sys.Menu; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.menu.MenuUpdateCmd; 7 | import io.ddd.framework.domain.repository.sys.MenuRepository; 8 | import org.springframework.stereotype.Component; 9 | import javax.annotation.Resource; 10 | /** 11 | * 菜单表 12 | * @author mikey 13 | * @date 2021-11-17 14:43:50 14 | */ 15 | @Component 16 | public class MenuUpdateCmdExe { 17 | 18 | @Resource 19 | private MenuRepository menuRepository; 20 | @Resource 21 | private Menu2DTOAssembler menu2DTOAssembler; 22 | 23 | public Response execute(MenuUpdateCmd cmd) { 24 | Menu menu = menu2DTOAssembler.toDomain(cmd.getMenuDTO()); 25 | menuRepository.update(menu); 26 | return Response.success(); 27 | } 28 | } -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/menu/command/query/MenuGetQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.menu.command.query; 2 | 3 | import io.ddd.framework.application.sys.menu.assembler.Menu2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 5 | import io.ddd.framework.coreclient.dto.sys.menu.MenuDTO; 6 | import io.ddd.framework.coreclient.dto.sys.menu.MenuGetQry; 7 | import io.ddd.framework.domain.repository.sys.MenuRepository; 8 | import org.springframework.stereotype.Component; 9 | 10 | import javax.annotation.Resource; 11 | 12 | /** 13 | * 菜单表 14 | * @author mikey 15 | * @date 2021-11-17 14:43:50 16 | */ 17 | @Component 18 | public class MenuGetQryExe { 19 | 20 | @Resource 21 | private MenuRepository menuRepository; 22 | @Resource 23 | private Menu2DTOAssembler menu2DTOAssembler; 24 | 25 | public SingleResponse execute(MenuGetQry qry) { 26 | return SingleResponse.of(menu2DTOAssembler.toDTO(menuRepository.getById(qry.getId()))); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/role/assembler/Role2DTOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.role.assembler; 2 | 3 | import io.ddd.framework.coreclient.dto.sys.role.RoleDTO; 4 | import io.ddd.framework.domain.domain.sys.Role; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * 角色表 14 | * @author mikey 15 | * @date 2021-12-03 17:27:04 16 | */ 17 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 18 | public interface Role2DTOMapStruct { 19 | 20 | Role2DTOMapStruct INSTANCE = Mappers.getMapper(Role2DTOMapStruct.class); 21 | 22 | @Mappings({}) 23 | RoleDTO toDTO(Role role); 24 | 25 | List toDTOList(List roleList); 26 | @Mappings({}) 27 | Role toDomain(RoleDTO roleDTO); 28 | 29 | List toDomainList(List roleDTOList); 30 | } 31 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/role/command/RoleDeleteCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.role.command; 2 | 3 | import io.ddd.framework.coreclient.context.UserThreadContext; 4 | import io.ddd.framework.domain.domain.sys.Role; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.role.RoleDeleteCmd; 7 | import io.ddd.framework.domain.repository.sys.RoleRepository; 8 | import org.springframework.stereotype.Component; 9 | 10 | import javax.annotation.Resource; 11 | import java.util.stream.Stream; 12 | 13 | /** 14 | * 角色表 15 | * @author mikey 16 | * @date 2021-11-17 14:27:15 17 | */ 18 | @Component 19 | public class RoleDeleteCmdExe { 20 | @Resource 21 | private RoleRepository roleRepository; 22 | 23 | public Response execute(RoleDeleteCmd cmd) { 24 | Stream.of(cmd.getIds()).forEach(v->{ 25 | Role role = roleRepository.getById(v); 26 | role.deleted(UserThreadContext.get()); 27 | roleRepository.update(role); 28 | }); 29 | return Response.success(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/role/command/query/RoleListQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.role.command.query; 2 | 3 | import io.ddd.framework.application.sys.role.assembler.Role2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 5 | import io.ddd.framework.coreclient.dto.sys.role.RoleDTO; 6 | import io.ddd.framework.coreclient.dto.sys.role.RoleListQry; 7 | import io.ddd.framework.domain.domain.sys.Role; 8 | import io.ddd.framework.domain.repository.sys.RoleRepository; 9 | import org.springframework.stereotype.Component; 10 | 11 | import javax.annotation.Resource; 12 | import java.util.List; 13 | 14 | /** 15 | * 角色表 16 | * @author mikey 17 | * @date 2021-11-17 14:27:15 18 | */ 19 | @Component 20 | public class RoleListQryExe { 21 | 22 | @Resource 23 | private RoleRepository roleRepository; 24 | @Resource 25 | private Role2DTOAssembler role2DTOAssembler; 26 | 27 | public MultiResponse execute(RoleListQry qry) { 28 | List list = roleRepository.list(qry.getRoleName()); 29 | return MultiResponse.of(role2DTOAssembler.toDTOList(list)); 30 | } 31 | 32 | } 33 | 34 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/role/command/query/RolePageQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.role.command.query; 2 | 3 | import io.ddd.framework.application.sys.role.assembler.Role2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.page.Page; 5 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 6 | import io.ddd.framework.coreclient.dto.sys.role.RoleDTO; 7 | import io.ddd.framework.coreclient.dto.sys.role.RolePageQry; 8 | import io.ddd.framework.domain.domain.sys.Role; 9 | import io.ddd.framework.domain.repository.sys.RoleRepository; 10 | import org.springframework.stereotype.Component; 11 | 12 | import javax.annotation.Resource; 13 | 14 | /** 15 | * 角色表 16 | * @author mikey 17 | * @date 2021-11-17 14:27:15 18 | */ 19 | @Component 20 | public class RolePageQryExe { 21 | 22 | @Resource 23 | private RoleRepository roleRepository; 24 | @Resource 25 | private Role2DTOAssembler role2DTOAssembler; 26 | 27 | public PageResponse execute(RolePageQry qry) { 28 | Page page = roleRepository.page(qry); 29 | return PageResponse.of(role2DTOAssembler.toDTOPage(page)); 30 | } 31 | 32 | } 33 | 34 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/roleofmenu/assembler/RoleOfMenu2DTOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.roleofmenu.assembler; 2 | 3 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuDTO; 4 | import io.ddd.framework.domain.domain.sys.RoleOfMenu; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * 角色关联菜单表 14 | * @author mikey 15 | * @date 2021-12-03 17:39:58 16 | */ 17 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 18 | public interface RoleOfMenu2DTOMapStruct { 19 | 20 | RoleOfMenu2DTOMapStruct INSTANCE = Mappers.getMapper(RoleOfMenu2DTOMapStruct.class); 21 | 22 | @Mappings({}) 23 | RoleOfMenuDTO toDTO(RoleOfMenu roleOfMenu); 24 | 25 | 26 | List toDTOList(List roleOfMenuList); 27 | 28 | @Mappings({}) 29 | RoleOfMenu toDomain(RoleOfMenuDTO roleOfMenuDTO); 30 | 31 | 32 | List toDomainList(List roleOfMenuDTOList); 33 | } 34 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/roleofmenu/command/RoleOfMenuAddCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.roleofmenu.command; 2 | 3 | import io.ddd.framework.application.sys.roleofmenu.assembler.RoleOfMenu2DTOAssembler; 4 | import io.ddd.framework.domain.domain.sys.RoleOfMenu; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuAddCmd; 7 | import io.ddd.framework.domain.repository.sys.RoleOfMenuRepository; 8 | import org.springframework.stereotype.Component; 9 | 10 | import javax.annotation.Resource; 11 | 12 | /** 13 | * 角色关联菜单表 14 | * @author mikey 15 | * @date 2021-11-19 14:47:31 16 | */ 17 | @Component 18 | public class RoleOfMenuAddCmdExe { 19 | 20 | @Resource 21 | private RoleOfMenuRepository roleOfMenuRepository; 22 | @Resource 23 | private RoleOfMenu2DTOAssembler roleOfMenu2DTOAssembler; 24 | 25 | public Response execute(RoleOfMenuAddCmd cmd) { 26 | RoleOfMenu roleOfMenu = roleOfMenu2DTOAssembler.toDomain(cmd.getRoleOfMenuDTO()); 27 | roleOfMenuRepository.create(roleOfMenu); 28 | return Response.success(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/roleofmenu/command/RoleOfMenuDeleteCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.roleofmenu.command; 2 | 3 | import io.ddd.framework.coreclient.context.UserThreadContext; 4 | import io.ddd.framework.domain.domain.sys.RoleOfMenu; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuDeleteCmd; 7 | import io.ddd.framework.domain.repository.sys.RoleOfMenuRepository; 8 | import org.springframework.stereotype.Component; 9 | 10 | import javax.annotation.Resource; 11 | /** 12 | * 角色关联菜单表 13 | * @author mikey 14 | * @date 2021-11-19 14:47:31 15 | */ 16 | @Component 17 | public class RoleOfMenuDeleteCmdExe { 18 | @Resource 19 | private RoleOfMenuRepository roleOfMenuRepository; 20 | 21 | public Response execute(RoleOfMenuDeleteCmd cmd) { 22 | RoleOfMenu roleOfMenu = roleOfMenuRepository.getById(cmd.getId()); 23 | roleOfMenu.deleted(UserThreadContext.get()); 24 | roleOfMenuRepository.update(roleOfMenu); 25 | return Response.success(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/roleofmenu/command/RoleOfMenuUpdateCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.roleofmenu.command; 2 | 3 | import io.ddd.framework.application.sys.roleofmenu.assembler.RoleOfMenu2DTOAssembler; 4 | import io.ddd.framework.domain.domain.sys.RoleOfMenu; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuUpdateCmd; 7 | import io.ddd.framework.domain.repository.sys.RoleOfMenuRepository; 8 | import org.springframework.stereotype.Component; 9 | import javax.annotation.Resource; 10 | /** 11 | * 角色关联菜单表 12 | * @author mikey 13 | * @date 2021-11-19 14:47:31 14 | */ 15 | @Component 16 | public class RoleOfMenuUpdateCmdExe { 17 | 18 | @Resource 19 | private RoleOfMenuRepository roleOfMenuRepository; 20 | @Resource 21 | private RoleOfMenu2DTOAssembler roleOfMenu2DTOAssembler; 22 | 23 | public Response execute(RoleOfMenuUpdateCmd cmd) { 24 | RoleOfMenu roleOfMenu = roleOfMenu2DTOAssembler.toDomain(cmd.getRoleOfMenuDTO()); 25 | roleOfMenuRepository.update(roleOfMenu); 26 | return Response.success(); 27 | } 28 | } -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/roleofmenu/command/query/RoleOfMenuGetQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.roleofmenu.command.query; 2 | 3 | 4 | import io.ddd.framework.application.sys.roleofmenu.assembler.RoleOfMenu2DTOAssembler; 5 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuDTO; 6 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 7 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuGetQry; 8 | import io.ddd.framework.domain.repository.sys.RoleOfMenuRepository; 9 | import org.springframework.stereotype.Component; 10 | 11 | import javax.annotation.Resource; 12 | 13 | /** 14 | * 角色关联菜单表 15 | * @author mikey 16 | * @date 2021-11-19 14:47:31 17 | */ 18 | @Component 19 | public class RoleOfMenuGetQryExe { 20 | 21 | @Resource 22 | private RoleOfMenuRepository roleOfMenuRepository; 23 | @Resource 24 | private RoleOfMenu2DTOAssembler roleOfMenu2DTOAssembler; 25 | 26 | public SingleResponse execute(RoleOfMenuGetQry qry) { 27 | return SingleResponse.of(roleOfMenu2DTOAssembler.toDTO(roleOfMenuRepository.getById(qry.getId()))); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/roleofmenu/command/query/RoleOfMenuListQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.roleofmenu.command.query; 2 | 3 | import io.ddd.framework.application.sys.roleofmenu.assembler.RoleOfMenu2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 5 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuDTO; 6 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuListQry; 7 | import io.ddd.framework.domain.domain.sys.RoleOfMenu; 8 | import io.ddd.framework.domain.repository.sys.RoleOfMenuRepository; 9 | import org.springframework.stereotype.Component; 10 | import javax.annotation.Resource; 11 | import java.util.List; 12 | 13 | /** 14 | * 角色关联菜单表 15 | * @author mikey 16 | * @date 2021-11-19 14:47:31 17 | */ 18 | @Component 19 | public class RoleOfMenuListQryExe { 20 | 21 | @Resource 22 | private RoleOfMenuRepository roleOfMenuRepository; 23 | @Resource 24 | private RoleOfMenu2DTOAssembler roleOfMenu2DTOAssembler; 25 | 26 | public MultiResponse execute(RoleOfMenuListQry qry) { 27 | List roleOfMenuList = roleOfMenuRepository.list(qry); 28 | return MultiResponse.of(roleOfMenu2DTOAssembler.toDTOList(roleOfMenuList)); 29 | } 30 | 31 | } 32 | 33 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/roleofmenu/command/query/RoleOfMenuPageQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.roleofmenu.command.query; 2 | 3 | import io.ddd.framework.application.sys.roleofmenu.assembler.RoleOfMenu2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.page.Page; 5 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuDTO; 6 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 7 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuPageQry; 8 | import io.ddd.framework.domain.domain.sys.RoleOfMenu; 9 | import io.ddd.framework.domain.repository.sys.RoleOfMenuRepository; 10 | import org.springframework.stereotype.Component; 11 | 12 | import javax.annotation.Resource; 13 | 14 | /** 15 | * 角色关联菜单表 16 | * @author mikey 17 | * @date 2021-11-19 14:47:31 18 | */ 19 | @Component 20 | public class RoleOfMenuPageQryExe { 21 | 22 | @Resource 23 | private RoleOfMenuRepository roleOfMenuRepository; 24 | @Resource 25 | private RoleOfMenu2DTOAssembler roleOfMenu2DTOAssembler; 26 | 27 | public PageResponse execute(RoleOfMenuPageQry qry) { 28 | Page page = roleOfMenuRepository.page(qry); 29 | return PageResponse.of(roleOfMenu2DTOAssembler.toDTOPage(page)); 30 | } 31 | 32 | } 33 | 34 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/user/assembler/User2DTOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.user.assembler; 2 | 3 | import io.ddd.framework.domain.domain.sys.User; 4 | import io.ddd.framework.coreclient.dto.sys.user.UserDTO; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * @Author: 麦奇 14 | * @Date: 21-11-26 下午9:31 15 | */ 16 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 17 | public interface User2DTOMapStruct { 18 | 19 | User2DTOMapStruct INSTANCE = Mappers.getMapper(User2DTOMapStruct.class); 20 | 21 | @Mappings({}) 22 | UserDTO toDTO(User user); 23 | 24 | @Mappings({}) 25 | User toDomain(UserDTO userCO); 26 | 27 | 28 | List toDomainList(List userDTOList); 29 | 30 | 31 | List toDTOList(List userList); 32 | } 33 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/user/command/query/UserListQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.user.command.query; 2 | 3 | import io.ddd.framework.application.sys.user.assembler.User2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 5 | import io.ddd.framework.coreclient.dto.sys.user.UserDTO; 6 | import io.ddd.framework.coreclient.dto.sys.user.UserListQry; 7 | import io.ddd.framework.domain.repository.sys.UserRepository; 8 | import org.springframework.stereotype.Component; 9 | import javax.annotation.Resource; 10 | 11 | /** 12 | * 13 | */ 14 | @Component 15 | public class UserListQryExe { 16 | 17 | @Resource 18 | private UserRepository userRepository; 19 | @Resource 20 | private User2DTOAssembler user2DTOAssembler; 21 | 22 | public MultiResponse execute(UserListQry qry) { 23 | return MultiResponse.of(user2DTOAssembler.toDTOList(userRepository.list(qry))); 24 | } 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/user/command/query/UserPageQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.user.command.query; 2 | 3 | import io.ddd.framework.application.sys.user.assembler.User2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.page.Page; 5 | import io.ddd.framework.coreclient.dto.sys.user.UserDTO; 6 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 7 | import io.ddd.framework.coreclient.dto.sys.user.UserPageQry; 8 | import io.ddd.framework.domain.domain.sys.User; 9 | import io.ddd.framework.domain.repository.sys.UserRepository; 10 | import org.springframework.stereotype.Component; 11 | 12 | import javax.annotation.Resource; 13 | 14 | @Component 15 | public class UserPageQryExe { 16 | @Resource 17 | private User2DTOAssembler user2DTOAssembler; 18 | @Resource 19 | private UserRepository userRepository; 20 | 21 | public PageResponse execute(UserPageQry qry) { 22 | Page page = userRepository.page(qry); 23 | return PageResponse.of(user2DTOAssembler.toDTOPage(page));} 24 | 25 | } 26 | 27 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/user/handler/UserCreateEventHandler.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.user.handler; 2 | 3 | import io.ddd.framework.application.common.event.EventHandler; 4 | import io.ddd.framework.application.common.event.EventHandlerI; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.user.event.UserCreateEvent; 7 | import lombok.extern.slf4j.Slf4j; 8 | 9 | @Slf4j 10 | @EventHandler 11 | public class UserCreateEventHandler implements EventHandlerI { 12 | 13 | public Response execute(UserCreateEvent event) { 14 | log.debug("Handling Event:{}",event); 15 | return Response.success(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/user/handler/UserDeleteEventHandler.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.user.handler; 2 | 3 | import io.ddd.framework.application.common.event.EventHandler; 4 | import io.ddd.framework.application.common.event.EventHandlerI; 5 | import io.ddd.framework.coreclient.api.sys.UserOfRoleAppService; 6 | import io.ddd.framework.coreclient.dto.common.response.Response; 7 | import io.ddd.framework.coreclient.dto.sys.user.event.UserDeleteEvent; 8 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRoleDeleteCmd; 9 | import lombok.extern.slf4j.Slf4j; 10 | 11 | import javax.annotation.Resource; 12 | 13 | @Slf4j 14 | @EventHandler 15 | public class UserDeleteEventHandler implements EventHandlerI { 16 | 17 | @Resource 18 | private UserOfRoleAppService userOfRoleAppService; 19 | 20 | public Response execute(UserDeleteEvent event) { 21 | log.debug("Handling Event:{}",event); 22 | UserOfRoleDeleteCmd cmd = new UserOfRoleDeleteCmd(); 23 | cmd.setUserUuids(new String[]{event.getUserUuid()}); 24 | userOfRoleAppService.delete(cmd); 25 | return Response.success(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/user/handler/UserUpdateEventHandler.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.user.handler; 2 | 3 | import io.ddd.framework.application.common.event.EventHandler; 4 | import io.ddd.framework.application.common.event.EventHandlerI; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.user.event.UserUpdateEvent; 7 | import lombok.extern.slf4j.Slf4j; 8 | 9 | @Slf4j 10 | @EventHandler 11 | public class UserUpdateEventHandler implements EventHandlerI { 12 | 13 | public Response execute(UserUpdateEvent event) { 14 | log.debug("Handling Event:{}",event); 15 | return Response.success(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/userofrole/assembler/UserOfRole2DTOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.userofrole.assembler; 2 | 3 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRoleDTO; 4 | import io.ddd.framework.domain.domain.sys.UserOfRole; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * 用户关联角色表 14 | * @author mikey 15 | * @date 2021-12-03 17:56:55 16 | */ 17 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 18 | public interface UserOfRole2DTOMapStruct { 19 | 20 | UserOfRole2DTOMapStruct INSTANCE = Mappers.getMapper(UserOfRole2DTOMapStruct.class); 21 | 22 | @Mappings({}) 23 | UserOfRoleDTO toDTO(UserOfRole userOfRole); 24 | 25 | @Mappings({}) 26 | UserOfRole toDomain(UserOfRoleDTO userOfRoleDTO); 27 | 28 | 29 | List toDomainList(List userOfRoleDTOList); 30 | 31 | 32 | List toDTOList(List userOfRoleDTOList); 33 | } 34 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/userofrole/command/UserOfRoleAddCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.userofrole.command; 2 | 3 | import io.ddd.framework.application.sys.userofrole.assembler.UserOfRole2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.response.Response; 5 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRoleAddCmd; 6 | import io.ddd.framework.domain.domain.sys.UserOfRole; 7 | import io.ddd.framework.domain.repository.sys.UserOfRoleRepository; 8 | import org.springframework.stereotype.Component; 9 | import javax.annotation.Resource; 10 | 11 | /** 12 | * 用户关联角色表 13 | * @author mikey 14 | * @date 2021-11-19 15:22:41 15 | */ 16 | @Component 17 | public class UserOfRoleAddCmdExe { 18 | @Resource 19 | private UserOfRoleRepository userOfRoleRepository; 20 | @Resource 21 | private UserOfRole2DTOAssembler userOfRole2DTOAssembler; 22 | 23 | public Response execute(UserOfRoleAddCmd cmd) { 24 | UserOfRole userOfRole = userOfRole2DTOAssembler.toDomain(cmd.getUserOfRoleDTO()); 25 | userOfRoleRepository.create(userOfRole); 26 | return Response.success(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/userofrole/command/UserOfRoleUpdateCmdExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.userofrole.command; 2 | 3 | import io.ddd.framework.application.sys.userofrole.assembler.UserOfRole2DTOAssembler; 4 | import io.ddd.framework.domain.domain.sys.UserOfRole; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRoleUpdateCmd; 7 | import io.ddd.framework.domain.repository.sys.UserOfRoleRepository; 8 | import org.springframework.stereotype.Component; 9 | import javax.annotation.Resource; 10 | /** 11 | * 用户关联角色表 12 | * @author mikey 13 | * @date 2021-11-19 15:22:41 14 | */ 15 | @Component 16 | public class UserOfRoleUpdateCmdExe { 17 | 18 | @Resource 19 | private UserOfRoleRepository userOfRoleRepository; 20 | @Resource 21 | private UserOfRole2DTOAssembler userOfRole2DTOAssembler; 22 | 23 | public Response execute(UserOfRoleUpdateCmd cmd) { 24 | UserOfRole userOfRole = userOfRole2DTOAssembler.toDomain(cmd.getUserOfRoleDTO()); 25 | userOfRoleRepository.update(userOfRole); 26 | return Response.success(); 27 | } 28 | } -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/userofrole/command/query/UserOfRoleGetQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.userofrole.command.query; 2 | 3 | 4 | import io.ddd.framework.application.sys.userofrole.assembler.UserOfRole2DTOAssembler; 5 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRoleDTO; 6 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 7 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRoleGetQry; 8 | import io.ddd.framework.domain.domain.sys.UserOfRole; 9 | import io.ddd.framework.domain.repository.sys.UserOfRoleRepository; 10 | import org.springframework.stereotype.Component; 11 | 12 | import javax.annotation.Resource; 13 | 14 | /** 15 | * 用户关联角色表 16 | * @author mikey 17 | * @date 2021-11-19 15:22:41 18 | */ 19 | @Component 20 | public class UserOfRoleGetQryExe { 21 | 22 | @Resource 23 | private UserOfRoleRepository userOfRoleRepository; 24 | @Resource 25 | private UserOfRole2DTOAssembler userOfRole2DTOAssembler; 26 | 27 | public SingleResponse execute(UserOfRoleGetQry qry) { 28 | UserOfRole userOfRole = userOfRoleRepository.getById(qry.getId()); 29 | return SingleResponse.of(userOfRole2DTOAssembler.toDTO(userOfRole)); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/userofrole/command/query/UserOfRoleListQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.userofrole.command.query; 2 | 3 | import io.ddd.framework.application.sys.userofrole.assembler.UserOfRole2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 5 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRoleDTO; 6 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRoleListQry; 7 | import io.ddd.framework.domain.repository.sys.UserOfRoleRepository; 8 | import org.springframework.stereotype.Component; 9 | 10 | import javax.annotation.Resource; 11 | 12 | /** 13 | * 用户关联角色表 14 | * @author mikey 15 | * @date 2021-11-19 15:22:41 16 | */ 17 | @Component 18 | public class UserOfRoleListQryExe { 19 | 20 | @Resource 21 | private UserOfRoleRepository userOfRoleRepository; 22 | @Resource 23 | private UserOfRole2DTOAssembler userOfRole2DTOAssembler; 24 | 25 | public MultiResponse execute(UserOfRoleListQry qry) { 26 | return MultiResponse.of(userOfRole2DTOAssembler.toDTOList(userOfRoleRepository.list(qry))); 27 | } 28 | 29 | } 30 | 31 | -------------------------------------------------------------------------------- /core/application/src/main/java/io/ddd/framework/application/sys/userofrole/command/query/UserOfRolePageQryExe.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.application.sys.userofrole.command.query; 2 | 3 | import io.ddd.framework.application.sys.userofrole.assembler.UserOfRole2DTOAssembler; 4 | import io.ddd.framework.coreclient.dto.common.page.Page; 5 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRoleDTO; 6 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 7 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRolePageQry; 8 | import io.ddd.framework.domain.domain.sys.UserOfRole; 9 | import io.ddd.framework.domain.repository.sys.UserOfRoleRepository; 10 | import org.springframework.stereotype.Component; 11 | 12 | import javax.annotation.Resource; 13 | 14 | /** 15 | * 用户关联角色表 16 | * @author mikey 17 | * @date 2021-11-19 15:22:41 18 | */ 19 | @Component 20 | public class UserOfRolePageQryExe { 21 | 22 | @Resource 23 | private UserOfRoleRepository userOfRoleRepository; 24 | @Resource 25 | private UserOfRole2DTOAssembler userOfRole2DTOAssembler; 26 | 27 | public PageResponse execute(UserOfRolePageQry qry) { 28 | Page page = userOfRoleRepository.page(qry); 29 | return PageResponse.of(userOfRole2DTOAssembler.toDTOPage(page)); 30 | } 31 | 32 | } 33 | 34 | -------------------------------------------------------------------------------- /core/application/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n 9 | utf8 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /core/core-client/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | io.ddd.framework 6 | core 7 | 0.0.1-SNAPSHOT 8 | 9 | core-client 10 | core-client 11 | 12 | 13 | org.projectlombok 14 | lombok 15 | 16 | 17 | javax.validation 18 | validation-api 19 | 20 | 21 | ${groupId} 22 | share-dataobject 23 | 24 | 25 | io.springfox 26 | springfox-swagger2 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/api/biz/package-info.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.api.biz; -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/api/sys/DictionaryAppService.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.api.sys; 2 | 3 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 4 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 7 | import io.ddd.framework.coreclient.dto.sys.dictionary.*; 8 | /** 9 | * 10 | * @author mikey 11 | * @date 2022-01-28 21:50:48 12 | */ 13 | public interface DictionaryAppService { 14 | Response add(DictionaryAddCmd cmd); 15 | Response update(DictionaryUpdateCmd cmd); 16 | Response delete(DictionaryDeleteCmd userDeleteCmd); 17 | SingleResponse getById(DictionaryGetQry qry); 18 | MultiResponse list(DictionaryListQry qry); 19 | PageResponse page(DictionaryPageQry userPageQry); 20 | } 21 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/api/sys/LogAppService.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.api.sys; 2 | 3 | 4 | import io.ddd.framework.coreclient.dto.sys.log.*; 5 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 6 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 7 | import io.ddd.framework.coreclient.dto.common.response.Response; 8 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 9 | 10 | /** 11 | * 系统日志 12 | * @author mikey 13 | * @date 2021-11-20 23:04:11 14 | */ 15 | public interface LogAppService { 16 | Response add(LogAddCmd cmd); 17 | Response update(LogUpdateCmd cmd); 18 | Response delete(LogDeleteCmd userDeleteCmd); 19 | SingleResponse getById(LogGetQry qry); 20 | MultiResponse list(LogListQry qry); 21 | PageResponse page(LogPageQry userPageQry); 22 | } 23 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/api/sys/MenuAppService.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.api.sys; 2 | 3 | 4 | import io.ddd.framework.coreclient.dto.sys.menu.*; 5 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 6 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 7 | import io.ddd.framework.coreclient.dto.common.response.Response; 8 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 9 | 10 | 11 | /** 12 | * 菜单表 13 | * @author mikey 14 | * @date 2021-11-17 14:43:50 15 | */ 16 | public interface MenuAppService { 17 | Response add(MenuAddCmd cmd); 18 | Response update(MenuUpdateCmd cmd); 19 | Response delete(MenuDeleteCmd userDeleteCmd); 20 | SingleResponse getById(MenuGetQry qry); 21 | MultiResponse list(MenuListQry qry); 22 | PageResponse page(MenuPageQry userPageQry); 23 | //下拉框选择 24 | Response select(MenuGetSelectQry menuGetSelectQry); 25 | //获取授权菜单 26 | Response getAuthMenu(AuthMenuGetQry authMenuGetQry); 27 | } 28 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/api/sys/RoleAppService.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.api.sys; 2 | 3 | 4 | import io.ddd.framework.coreclient.dto.sys.role.*; 5 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 6 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 7 | import io.ddd.framework.coreclient.dto.common.response.Response; 8 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 9 | 10 | /** 11 | * 角色表 12 | * @author mikey 13 | * @date 2021-11-17 14:27:15 14 | */ 15 | public interface RoleAppService { 16 | Response add(RoleAddCmd cmd); 17 | Response update(RoleUpdateCmd cmd); 18 | Response delete(RoleDeleteCmd userDeleteCmd); 19 | SingleResponse getById(RoleGetQry qry); 20 | MultiResponse list(RoleListQry qry); 21 | PageResponse page(RolePageQry userPageQry); 22 | } 23 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/api/sys/RoleOfMenuAppService.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.api.sys; 2 | 3 | 4 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.*; 5 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 6 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 7 | import io.ddd.framework.coreclient.dto.common.response.Response; 8 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 9 | 10 | 11 | /** 12 | * 角色关联菜单表 13 | * @author mikey 14 | * @date 2021-11-19 14:47:31 15 | */ 16 | public interface RoleOfMenuAppService { 17 | Response add(RoleOfMenuAddCmd cmd); 18 | Response update(RoleOfMenuUpdateCmd cmd); 19 | Response delete(RoleOfMenuDeleteCmd userDeleteCmd); 20 | SingleResponse getById(RoleOfMenuGetQry qry); 21 | MultiResponse list(RoleOfMenuListQry qry); 22 | PageResponse page(RoleOfMenuPageQry userPageQry); 23 | } 24 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/api/sys/UserAppService.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.api.sys; 2 | 3 | 4 | import io.ddd.framework.coreclient.dto.sys.user.*; 5 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 6 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 7 | import io.ddd.framework.coreclient.dto.common.response.Response; 8 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 9 | 10 | /** 11 | * UserAppService 12 | */ 13 | public interface UserAppService { 14 | Response add(UserAddCmd cmd); 15 | Response update(UserUpdateCmd cmd); 16 | Response delete(UserDeleteCmd userDeleteCmd); 17 | SingleResponse getById(UserGetQry qry); 18 | MultiResponse list(UserListQry qry); 19 | PageResponse page(UserPageQry userPageQry); 20 | //获取用户登陆信息(角色) 21 | Response getInfoByUserId(UserFullGetQry userFullGetQry); 22 | } 23 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/api/sys/UserOfRoleAppService.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.api.sys; 2 | 3 | 4 | import io.ddd.framework.coreclient.dto.sys.userofrole.*; 5 | import io.ddd.framework.coreclient.dto.common.response.MultiResponse; 6 | import io.ddd.framework.coreclient.dto.common.response.PageResponse; 7 | import io.ddd.framework.coreclient.dto.common.response.Response; 8 | import io.ddd.framework.coreclient.dto.common.response.SingleResponse; 9 | 10 | 11 | /** 12 | * 用户关联角色表 13 | * @author mikey 14 | * @date 2021-11-19 15:22:41 15 | */ 16 | public interface UserOfRoleAppService { 17 | Response add(UserOfRoleAddCmd cmd); 18 | Response update(UserOfRoleUpdateCmd cmd); 19 | Response delete(UserOfRoleDeleteCmd userDeleteCmd); 20 | SingleResponse getById(UserOfRoleGetQry qry); 21 | MultiResponse list(UserOfRoleListQry qry); 22 | PageResponse page(UserOfRolePageQry userPageQry); 23 | } 24 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/context/UserThreadContext.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.context; 2 | 3 | 4 | import io.ddd.framework.coreclient.dto.sys.user.UserDTO; 5 | 6 | import java.util.Optional; 7 | 8 | /** 9 | * @Author: 麦奇 10 | * @desc: 用户本地线程上下文 11 | * @Date: 21-11-14 上午10:13 12 | */ 13 | public class UserThreadContext { 14 | 15 | private static final ThreadLocal threadLocal = new ThreadLocal(); 16 | 17 | public UserThreadContext() { 18 | } 19 | 20 | public static void set(UserDTO userCO) { 21 | threadLocal.set(userCO); 22 | } 23 | 24 | public static String get() { 25 | return (String) Optional.ofNullable(threadLocal.get()).map(UserDTO::getUserId).orElse(null); 26 | } 27 | 28 | public static UserDTO getUser() { 29 | return (UserDTO)threadLocal.get(); 30 | } 31 | 32 | public static void remove() { 33 | threadLocal.remove(); 34 | } 35 | 36 | public static ThreadLocal getThreadLocal() { 37 | return threadLocal; 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/context/sys/UserContext.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.context.sys; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * UserContext 7 | */ 8 | @Data 9 | public class UserContext { 10 | private String operator; 11 | private String loginUserId; 12 | private String loginUserName; 13 | private String loginUserRole; 14 | private String loginUserPrivilege; 15 | } 16 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/biz/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * biz DTO 3 | */ 4 | package io.ddd.framework.coreclient.dto.biz; -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/common/command/Command.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.common.command; 2 | 3 | public abstract class Command extends DTO { 4 | 5 | private static final long serialVersionUID = 1L; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/common/command/CommonCommand.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.common.command; 2 | 3 | /** 4 | * 通用的Command 5 | */ 6 | public class CommonCommand extends Command{ 7 | 8 | private String operator; 9 | private boolean needsOperator; 10 | 11 | public String getOperator() { 12 | return this.operator; 13 | } 14 | 15 | public void setOperator(String operator) { 16 | this.operator = operator; 17 | needsOperator = true; 18 | } 19 | 20 | public boolean isNeedsOperator(){ 21 | return needsOperator; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/common/command/CommonDTO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.common.command; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.Date; 6 | 7 | @Data 8 | public class CommonDTO extends DTO { 9 | private Long id; 10 | private String uuid; 11 | private Date gmtCreate; 12 | private Date gmtModified; 13 | private String creator; 14 | private String modifier; 15 | private Boolean deleted; 16 | } 17 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/common/command/DTO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.common.command; 2 | 3 | import java.io.Serializable; 4 | 5 | public abstract class DTO implements Serializable { 6 | 7 | private static final long serialVersionUID = 1L; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/common/command/Query.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.common.command; 2 | 3 | public abstract class Query extends Command { 4 | 5 | private static final long serialVersionUID = 1L; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/common/event/DomainEventI.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.common.event; 2 | 3 | /** 4 | * Domain Event (领域事件) 5 | */ 6 | public interface DomainEventI extends EventI { 7 | } 8 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/common/event/EventI.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.common.event; 2 | 3 | public interface EventI { 4 | } 5 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/common/event/MessageQueueEventI.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.common.event; 2 | 3 | public interface MessageQueueEventI extends EventI { 4 | public String getEventType(); 5 | public String getEventTopic(); 6 | } 7 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/common/response/MapResponse.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.common.response; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | public class MapResponse extends Response { 7 | 8 | private static final long serialVersionUID = 1L; 9 | 10 | private Map data = new HashMap<>(); 11 | 12 | public Map getData() { 13 | return data; 14 | } 15 | 16 | public void setData(Map data) { 17 | this.data = data; 18 | } 19 | 20 | public boolean isEmpty() { 21 | return data == null || data.size() == 0; 22 | } 23 | 24 | public boolean isNotEmpty() { 25 | return !isEmpty(); 26 | } 27 | 28 | public static MapResponse success() { 29 | MapResponse response = new MapResponse(); 30 | return response; 31 | } 32 | 33 | public static MapResponse error(Integer code, String message) { 34 | MapResponse response = new MapResponse(); 35 | response.setCode(code); 36 | response.setMessage(message); 37 | return response; 38 | } 39 | 40 | public MapResponse of(String key,Object value) { 41 | this.data.put(key,value); 42 | return this; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/common/response/SingleResponse.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.common.response; 2 | 3 | public class SingleResponse extends Response { 4 | 5 | private T data; 6 | 7 | public T getData() { 8 | return data; 9 | } 10 | 11 | public void setData(T data) { 12 | this.data = data; 13 | } 14 | 15 | public static SingleResponse of(T data) { 16 | SingleResponse response = new SingleResponse<>(); 17 | response.setData(data); 18 | return response; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/dictionary/DictionaryAddCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.dictionary; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import javax.validation.constraints.NotNull; 6 | import lombok.experimental.Accessors; 7 | 8 | /** 9 | * 10 | * @author mikey 11 | * @date 2022-01-28 21:50:48 12 | */ 13 | @Data 14 | @Accessors(chain = true) 15 | public class DictionaryAddCmd extends CommonCommand { 16 | @NotNull 17 | private DictionaryDTO dictionaryDTO; 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/dictionary/DictionaryDTO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.dictionary; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonDTO; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | /** 7 | * 8 | * @author mikey 9 | * @date 2022-01-28 21:50:48 10 | */ 11 | @Data 12 | @Accessors(chain = true) 13 | public class DictionaryDTO extends CommonDTO { 14 | /** 15 | * 查询的key 16 | */ 17 | private String uniqueKey; 18 | /** 19 | * 字典值 20 | */ 21 | private String value; 22 | /** 23 | * 是否可更改 24 | */ 25 | private Integer fixed; 26 | /** 27 | * 备注 28 | */ 29 | private String remark; 30 | } 31 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/dictionary/DictionaryDeleteCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.dictionary; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 10 | * @author mikey 11 | * @date 2022-01-28 21:50:48 12 | */ 13 | @Data 14 | @Accessors(chain = true) 15 | public class DictionaryDeleteCmd extends CommonCommand { 16 | @NotNull 17 | private Long[] ids; 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/dictionary/DictionaryGetQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.dictionary; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | /** 7 | * 8 | * @author mikey 9 | * @date 2022-01-28 21:50:48 10 | */ 11 | @Data 12 | @Accessors(chain = true) 13 | public class DictionaryGetQry extends CommonCommand { 14 | 15 | private Long id; 16 | /** 17 | * 查询的key 18 | */ 19 | private String key; 20 | /** 21 | * 字典值 22 | */ 23 | private String value; 24 | /** 25 | * 是否可更改 26 | */ 27 | private Integer fixed; 28 | } -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/dictionary/DictionaryListQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.dictionary; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | /** 7 | * 8 | * @author mikey 9 | * @date 2022-01-28 21:50:48 10 | */ 11 | @Data 12 | @Accessors(chain = true) 13 | public class DictionaryListQry extends CommonCommand { 14 | /** 15 | * 查询的key 16 | */ 17 | private String key; 18 | /** 19 | * 字典值 20 | */ 21 | private String value; 22 | /** 23 | * 是否可更改 24 | */ 25 | private Integer fixed; 26 | } 27 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/dictionary/DictionaryPageQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.dictionary; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.PageQuery; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | /** 8 | * 9 | * @author mikey 10 | * @date 2022-01-28 21:50:48 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class DictionaryPageQry extends PageQuery { 15 | 16 | private DictionaryDTO dictionaryDTO; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/dictionary/DictionaryUpdateCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.dictionary; 2 | 3 | import lombok.Data; 4 | import javax.validation.constraints.NotNull; 5 | import lombok.experimental.Accessors; 6 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 7 | /** 8 | * 9 | * @author mikey 10 | * @date 2022-01-28 21:50:48 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class DictionaryUpdateCmd extends CommonCommand { 15 | 16 | @NotNull 17 | private DictionaryDTO dictionaryDTO; 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/dictionary/event/DictionaryCreateEvent.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.dictionary.event; 2 | 3 | import io.ddd.framework.coreclient.dto.common.event.DomainEventI; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | 7 | /** 8 | * 9 | * @author mikey 10 | * @date 2022-01-28 21:50:48 11 | */ 12 | @Data 13 | @AllArgsConstructor 14 | public class DictionaryCreateEvent implements DomainEventI { 15 | private String uuid; 16 | } 17 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/dictionary/event/DictionaryDeleteEvent.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.dictionary.event; 2 | 3 | import io.ddd.framework.coreclient.dto.common.event.DomainEventI; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | 7 | /** 8 | * 9 | * @author mikey 10 | * @date 2022-01-28 21:50:48 11 | */ 12 | @Data 13 | @AllArgsConstructor 14 | public class DictionaryDeleteEvent implements DomainEventI { 15 | private String uuid; 16 | } 17 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/dictionary/event/DictionaryUpdateEvent.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.dictionary.event; 2 | 3 | import io.ddd.framework.coreclient.dto.common.event.DomainEventI; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | 7 | /** 8 | * 9 | * @author mikey 10 | * @date 2022-01-28 21:50:48 11 | */ 12 | @Data 13 | @AllArgsConstructor 14 | public class DictionaryUpdateEvent implements DomainEventI { 15 | private String uuid; 16 | } 17 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/log/LogAddCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.log; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import javax.validation.constraints.NotNull; 6 | import lombok.experimental.Accessors; 7 | 8 | /** 9 | * 系统日志 10 | * @author mikey 11 | * @date 2021-11-20 23:04:11 12 | */ 13 | @Data 14 | @Accessors(chain = true) 15 | public class LogAddCmd extends CommonCommand { 16 | @NotNull 17 | private LogDTO logDTO; 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/log/LogDTO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.log; 2 | 3 | 4 | import io.ddd.framework.coreclient.dto.common.command.CommonDTO; 5 | import lombok.Data; 6 | import lombok.experimental.Accessors; 7 | 8 | import java.util.Date; 9 | 10 | /** 11 | * 系统日志 12 | * @author mikey 13 | * @date 2021-11-20 23:04:11 14 | */ 15 | @Data 16 | @Accessors(chain = true) 17 | public class LogDTO extends CommonDTO { 18 | /** 19 | * 用户名 20 | */ 21 | private String username; 22 | /** 23 | * 用户操作 24 | */ 25 | private String operation; 26 | /** 27 | * 请求方法 28 | */ 29 | private String method; 30 | /** 31 | * 请求参数 32 | */ 33 | private String params; 34 | /** 35 | * 执行时长(毫秒) 36 | */ 37 | private Long executeTime; 38 | /** 39 | * IP地址 40 | */ 41 | private String ip; 42 | /** 43 | * 发生时间 44 | */ 45 | private Date occurTime; 46 | } 47 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/log/LogDeleteCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.log; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 系统日志 10 | * @author mikey 11 | * @date 2021-11-20 23:04:11 12 | */ 13 | @Data 14 | @Accessors(chain = true) 15 | public class LogDeleteCmd extends CommonCommand { 16 | @NotNull 17 | private Long[] ids; 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/log/LogGetQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.log; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | /** 7 | * 系统日志 8 | * @author mikey 9 | * @date 2021-11-20 23:04:11 10 | */ 11 | @Data 12 | @Accessors(chain = true) 13 | public class LogGetQry extends CommonCommand { 14 | 15 | private Long id; 16 | /** 17 | * 用户名 18 | */ 19 | private String username; 20 | /** 21 | * 用户操作 22 | */ 23 | private String operation; 24 | /** 25 | * 请求方法 26 | */ 27 | private String method; 28 | /** 29 | * 请求参数 30 | */ 31 | private String params; 32 | /** 33 | * 执行时长(毫秒) 34 | */ 35 | private Long executeTime; 36 | /** 37 | * IP地址 38 | */ 39 | private String ip; 40 | } -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/log/LogListQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.log; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | /** 7 | * 系统日志 8 | * @author mikey 9 | * @date 2021-11-20 23:04:11 10 | */ 11 | @Data 12 | @Accessors(chain = true) 13 | public class LogListQry extends CommonCommand { 14 | /** 15 | * 用户名 16 | */ 17 | private String username; 18 | /** 19 | * 用户操作 20 | */ 21 | private String operation; 22 | /** 23 | * 请求方法 24 | */ 25 | private String method; 26 | /** 27 | * 请求参数 28 | */ 29 | private String params; 30 | /** 31 | * 执行时长(毫秒) 32 | */ 33 | private Long executeTime; 34 | /** 35 | * IP地址 36 | */ 37 | private String ip; 38 | } 39 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/log/LogPageQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.log; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.PageQuery; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | /** 8 | * 系统日志 9 | * @author mikey 10 | * @date 2021-11-20 23:04:11 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class LogPageQry extends PageQuery { 15 | 16 | private LogDTO logDTO; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/log/LogUpdateCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.log; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import javax.validation.constraints.NotNull; 6 | import lombok.experimental.Accessors; 7 | /** 8 | * 系统日志 9 | * @author mikey 10 | * @date 2021-11-20 23:04:11 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class LogUpdateCmd extends CommonCommand { 15 | 16 | @NotNull 17 | private LogDTO logDTO; 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/menu/AuthMenuGetQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.menu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | @Data 8 | @Accessors(chain = true) 9 | public class AuthMenuGetQry extends CommonCommand { 10 | private String userId; 11 | } 12 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/menu/MenuAddCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.menu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import javax.validation.constraints.NotNull; 6 | /** 7 | * 菜单表 8 | * @author mikey 9 | * @date 2021-11-17 14:43:50 10 | */ 11 | @Data 12 | public class MenuAddCmd extends CommonCommand { 13 | @NotNull 14 | private MenuDTO menuDTO; 15 | } 16 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/menu/MenuDTO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.menu; 2 | 3 | 4 | import io.ddd.framework.coreclient.dto.common.command.CommonDTO; 5 | import lombok.Data; 6 | import lombok.experimental.Accessors; 7 | 8 | /** 9 | * 菜单表 10 | * @author mikey 11 | * @date 2021-11-17 14:43:50 12 | */ 13 | @Data 14 | @Accessors(chain = true) 15 | public class MenuDTO extends CommonDTO { 16 | /** 17 | * 父菜单uuid 18 | */ 19 | private String menuParentUuid; 20 | /** 21 | * 父级菜单名称 22 | */ 23 | private String menuParentName; 24 | /** 25 | * 菜单名 26 | */ 27 | private String menuName; 28 | /** 29 | * 菜单url 30 | */ 31 | private String menuUrl; 32 | /** 33 | * 授权标识 34 | */ 35 | private String menuPerms; 36 | /** 37 | * 0:目录 1:菜单 2:按钮 38 | */ 39 | private Integer menuType; 40 | /** 41 | * 图标 42 | */ 43 | private String menuIcon; 44 | /** 45 | * 排序 46 | */ 47 | private Integer menuOrder; 48 | /** 49 | * 备注 50 | */ 51 | private String menuRemark; 52 | /** 53 | * 是否有之菜单 54 | */ 55 | private Boolean hasChildren; 56 | } 57 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/menu/MenuDeleteCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.menu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 菜单表 10 | * @author mikey 11 | * @date 2021-11-17 14:43:50 12 | */ 13 | @Data 14 | public class MenuDeleteCmd extends CommonCommand { 15 | @NotNull 16 | private Long[] ids; 17 | } 18 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/menu/MenuGetQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.menu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | /** 6 | * 菜单表 7 | * @author mikey 8 | * @date 2021-11-17 14:43:50 9 | */ 10 | @Data 11 | public class MenuGetQry extends CommonCommand { 12 | 13 | private Long id; 14 | /** 15 | * 父菜单uuid 16 | */ 17 | private String menuParentUuid; 18 | /** 19 | * 菜单名 20 | */ 21 | private String menuName; 22 | /** 23 | * 菜单url 24 | */ 25 | private String menuUrl; 26 | /** 27 | * 授权标识 28 | */ 29 | private String menuPerms; 30 | /** 31 | * 0:目录 1:菜单 2:按钮 32 | */ 33 | private String menuType; 34 | /** 35 | * 图标 36 | */ 37 | private String menuIcon; 38 | /** 39 | * 排序 40 | */ 41 | private Integer menuOrder; 42 | /** 43 | * 备注 44 | */ 45 | private String menuRemark; 46 | } -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/menu/MenuGetSelectQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.menu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | /** 6 | * @Author: 麦奇 7 | * @Date: 21-11-28 上午10:20 8 | */ 9 | @Data 10 | public class MenuGetSelectQry extends CommonCommand { 11 | private String excludeTypes; 12 | private String includeTypes; 13 | private Boolean needRoot; 14 | } 15 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/menu/MenuListQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.menu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | /** 6 | * 菜单表 7 | * @author mikey 8 | * @date 2021-11-17 14:43:50 9 | */ 10 | @Data 11 | public class MenuListQry extends CommonCommand { 12 | /** 13 | * 父菜单uuid 14 | */ 15 | private String menuParentUuid; 16 | /** 17 | * 菜单名 18 | */ 19 | private String menuName; 20 | /** 21 | * 菜单url 22 | */ 23 | private String menuUrl; 24 | /** 25 | * 授权标识 26 | */ 27 | private String menuPerms; 28 | /** 29 | * 0:目录 1:菜单 2:按钮 30 | */ 31 | private String menuType; 32 | /** 33 | * 图标 34 | */ 35 | private String menuIcon; 36 | /** 37 | * 排序 38 | */ 39 | private Integer menuOrder; 40 | /** 41 | * 备注 42 | */ 43 | private String menuRemark; 44 | } 45 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/menu/MenuPageQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.menu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.PageQuery; 4 | import lombok.Data; 5 | 6 | /** 7 | * 菜单表 8 | * @author mikey 9 | * @date 2021-11-17 14:43:50 10 | */ 11 | @Data 12 | public class MenuPageQry extends PageQuery { 13 | 14 | private MenuDTO menuCO; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/menu/MenuUpdateCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.menu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import javax.validation.constraints.NotNull; 6 | /** 7 | * 菜单表 8 | * @author mikey 9 | * @date 2021-11-17 14:43:50 10 | */ 11 | @Data 12 | public class MenuUpdateCmd extends CommonCommand { 13 | 14 | @NotNull 15 | private MenuDTO menuDTO; 16 | } 17 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/menu/enums/MenuEnum.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.menu.enums; 2 | 3 | public enum MenuEnum { 4 | CONTENTS(0,"目录"), 5 | MENU(1,"菜单"), 6 | BUTTON(2,"按钮"); 7 | 8 | private int code; 9 | private String desc; 10 | 11 | MenuEnum(int code, String desc) { 12 | this.code = code; 13 | this.desc = desc; 14 | } 15 | 16 | public int getCode() { 17 | return code; 18 | } 19 | 20 | public void setCode(int code) { 21 | this.code = code; 22 | } 23 | 24 | public String getDesc() { 25 | return desc; 26 | } 27 | 28 | public void setDesc(String desc) { 29 | this.desc = desc; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/role/RoleAddCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.role; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import javax.validation.constraints.NotNull; 6 | /** 7 | * 角色表 8 | * @author mikey 9 | * @date 2021-11-17 14:27:15 10 | */ 11 | @Data 12 | public class RoleAddCmd extends CommonCommand { 13 | @NotNull 14 | private RoleDTO roleDTO; 15 | } 16 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/role/RoleDTO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.role; 2 | 3 | 4 | import io.ddd.framework.coreclient.dto.common.command.CommonDTO; 5 | import lombok.Data; 6 | import lombok.experimental.Accessors; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * 角色表 12 | * @author mikey 13 | * @date 2021-11-17 14:27:15 14 | */ 15 | @Data 16 | @Accessors(chain = true) 17 | public class RoleDTO extends CommonDTO { 18 | /** 19 | * 角色名 20 | */ 21 | private String roleName; 22 | /** 23 | * 备注 24 | */ 25 | private String roleRemark; 26 | /** 27 | * 关联的菜单 28 | */ 29 | private List menuList; 30 | } 31 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/role/RoleDeleteCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.role; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 角色表 10 | * @author mikey 11 | * @date 2021-11-17 14:27:15 12 | */ 13 | @Data 14 | public class RoleDeleteCmd extends CommonCommand { 15 | @NotNull 16 | private Long[] ids; 17 | } 18 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/role/RoleGetQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.role; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | /** 6 | * 角色表 7 | * @author mikey 8 | * @date 2021-11-17 14:27:15 9 | */ 10 | @Data 11 | public class RoleGetQry extends CommonCommand { 12 | 13 | private Long id; 14 | /** 15 | * 角色名 16 | */ 17 | private String roleName; 18 | /** 19 | * 备注 20 | */ 21 | private String roleRemark; 22 | } -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/role/RoleListQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.role; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | /** 6 | * 角色表 7 | * @author mikey 8 | * @date 2021-11-17 14:27:15 9 | */ 10 | @Data 11 | public class RoleListQry extends CommonCommand { 12 | /** 13 | * 角色名 14 | */ 15 | private String roleName; 16 | /** 17 | * 备注 18 | */ 19 | private String roleRemark; 20 | } 21 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/role/RolePageQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.role; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.PageQuery; 4 | import lombok.Data; 5 | 6 | /** 7 | * 角色表 8 | * @author mikey 9 | * @date 2021-11-17 14:27:15 10 | */ 11 | @Data 12 | public class RolePageQry extends PageQuery { 13 | 14 | private RoleDTO roleDTO; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/role/RoleUpdateCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.role; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import javax.validation.constraints.NotNull; 6 | /** 7 | * 角色表 8 | * @author mikey 9 | * @date 2021-11-17 14:27:15 10 | */ 11 | @Data 12 | public class RoleUpdateCmd extends CommonCommand { 13 | @NotNull 14 | private RoleDTO roleDTO; 15 | } 16 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/roleofmenu/RoleOfMenuAddCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.roleofmenu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import javax.validation.constraints.NotNull; 6 | import lombok.experimental.Accessors; 7 | /** 8 | * 角色关联菜单表 9 | * @author mikey 10 | * @date 2021-11-19 14:47:31 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class RoleOfMenuAddCmd extends CommonCommand { 15 | @NotNull 16 | private RoleOfMenuDTO roleOfMenuDTO; 17 | } 18 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/roleofmenu/RoleOfMenuDTO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.roleofmenu; 2 | 3 | 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | /** 8 | * 角色关联菜单表 9 | * @author mikey 10 | * @date 2021-11-19 14:47:31 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class RoleOfMenuDTO { 15 | /** 16 | * 角色UUID 17 | */ 18 | private String roleUuid; 19 | /** 20 | * 菜单UUID 21 | */ 22 | private String menuUuid; 23 | } 24 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/roleofmenu/RoleOfMenuDeleteCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.roleofmenu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | 6 | import lombok.experimental.Accessors; 7 | import javax.validation.constraints.NotNull; 8 | 9 | /** 10 | * 角色关联菜单表 11 | * @author mikey 12 | * @date 2021-11-19 14:47:31 13 | */ 14 | @Data 15 | @Accessors(chain = true) 16 | public class RoleOfMenuDeleteCmd extends CommonCommand { 17 | @NotNull 18 | private int id; 19 | } 20 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/roleofmenu/RoleOfMenuGetQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.roleofmenu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | /** 7 | * 角色关联菜单表 8 | * @author mikey 9 | * @date 2021-11-19 14:47:31 10 | */ 11 | @Data 12 | @Accessors(chain = true) 13 | public class RoleOfMenuGetQry extends CommonCommand { 14 | 15 | private Long id; 16 | /** 17 | * 角色UUID 18 | */ 19 | private String roleUuid; 20 | /** 21 | * 菜单UUID 22 | */ 23 | private String menuUuid; 24 | } -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/roleofmenu/RoleOfMenuListQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.roleofmenu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | /** 7 | * 角色关联菜单表 8 | * @author mikey 9 | * @date 2021-11-19 14:47:31 10 | */ 11 | @Data 12 | @Accessors(chain = true) 13 | public class RoleOfMenuListQry extends CommonCommand { 14 | /** 15 | * 角色UUID 16 | */ 17 | private String roleUuid; 18 | /** 19 | * 菜单UUID 20 | */ 21 | private String menuUuid; 22 | } 23 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/roleofmenu/RoleOfMenuPageQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.roleofmenu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.PageQuery; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | /** 8 | * 角色关联菜单表 9 | * @author mikey 10 | * @date 2021-11-19 14:47:31 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class RoleOfMenuPageQry extends PageQuery { 15 | 16 | private RoleOfMenuDTO roleOfMenuDTO; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/roleofmenu/RoleOfMenuUpdateCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.roleofmenu; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import javax.validation.constraints.NotNull; 6 | import lombok.experimental.Accessors; 7 | /** 8 | * 角色关联菜单表 9 | * @author mikey 10 | * @date 2021-11-19 14:47:31 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class RoleOfMenuUpdateCmd extends CommonCommand { 15 | 16 | @NotNull 17 | private RoleOfMenuDTO roleOfMenuDTO; 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/UserAddCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * UserAddCmd 10 | * 11 | * @date 2019-02-28 6:20 PM 12 | */ 13 | @Data 14 | public class UserAddCmd extends CommonCommand { 15 | 16 | @NotNull 17 | private UserDTO userDTO; 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/UserDTO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonDTO; 4 | import io.ddd.framework.coreclient.dto.sys.menu.MenuDTO; 5 | import io.ddd.framework.coreclient.dto.sys.role.RoleDTO; 6 | import io.ddd.framework.sharedataobject.common.validator.group.Insert; 7 | import lombok.Data; 8 | import lombok.experimental.Accessors; 9 | 10 | import javax.validation.constraints.NotEmpty; 11 | import java.util.List; 12 | import java.util.Set; 13 | 14 | @Data 15 | @Accessors(chain = true) 16 | public class UserDTO extends CommonDTO { 17 | @NotEmpty(message = "用户账号不能为空",groups = {Insert.class}) 18 | private String userId; 19 | @NotEmpty(message = "密码不能为空",groups = {Insert.class}) 20 | private String userPassword; 21 | private String userName; 22 | //验证码 23 | private String code; 24 | private String email; 25 | private String avatar; 26 | private Integer status; 27 | private Set roles; 28 | private Set menus; 29 | //角色uuid 30 | private List roleIdList; 31 | } 32 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/UserDeleteCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * @Author: 麦奇 10 | * @Date: 21-11-13 下午11:17 11 | */ 12 | @Data 13 | public class UserDeleteCmd extends CommonCommand { 14 | @NotNull 15 | private Long[] ids; 16 | } 17 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/UserFullGetQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | @Accessors(chain = true) 8 | @Data 9 | public class UserFullGetQry extends CommonCommand { 10 | private String userId; 11 | } -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/UserGetQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | @Accessors(chain = true) 8 | @Data 9 | public class UserGetQry extends CommonCommand { 10 | private String userId; 11 | private Long id; 12 | private String uuid; 13 | } -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/UserListQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class UserListQry extends CommonCommand { 8 | private String email; 9 | } 10 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/UserPageQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.PageQuery; 4 | import lombok.Data; 5 | 6 | /** 7 | * @Author: 麦奇 8 | * @Date: 21-11-14 上午12:22 9 | */ 10 | @Data 11 | public class UserPageQry extends PageQuery { 12 | 13 | private UserDTO userDTO; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/UserUpdateCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | @Data 9 | public class UserUpdateCmd extends CommonCommand { 10 | 11 | @NotNull 12 | private UserDTO userCO; 13 | private String bCryptPassword; 14 | } 15 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/enums/UserStatusEnum.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user.enums; 2 | 3 | public enum UserStatusEnum { 4 | 5 | NORMAL(0,"正常"), 6 | FREEZE(1,"冻结"); 7 | 8 | private int code; 9 | private String desc; 10 | 11 | UserStatusEnum(int code, String desc) { 12 | this.code = code; 13 | this.desc = desc; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/event/UserCreateEvent.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user.event; 2 | 3 | import io.ddd.framework.coreclient.dto.common.event.DomainEventI; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | 7 | /** 8 | * 删除用户领域事件 9 | */ 10 | @Data 11 | @AllArgsConstructor 12 | public class UserCreateEvent implements DomainEventI { 13 | private String userUuid; 14 | } 15 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/event/UserDeleteEvent.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user.event; 2 | 3 | import io.ddd.framework.coreclient.dto.common.event.DomainEventI; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | 7 | /** 8 | * 删除用户领域事件 9 | */ 10 | @Data 11 | @AllArgsConstructor 12 | public class UserDeleteEvent implements DomainEventI { 13 | private String userUuid; 14 | } 15 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/user/event/UserUpdateEvent.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.user.event; 2 | 3 | import io.ddd.framework.coreclient.dto.common.event.DomainEventI; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | 7 | /** 8 | * 删除用户领域事件 9 | */ 10 | @Data 11 | @AllArgsConstructor 12 | public class UserUpdateEvent implements DomainEventI { 13 | private String userUuid; 14 | } 15 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/userofrole/UserOfRoleAddCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.userofrole; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import javax.validation.constraints.NotNull; 6 | import lombok.experimental.Accessors; 7 | /** 8 | * 用户关联角色表 9 | * @author mikey 10 | * @date 2021-11-19 15:22:41 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class UserOfRoleAddCmd extends CommonCommand { 15 | @NotNull 16 | private UserOfRoleDTO userOfRoleDTO; 17 | } 18 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/userofrole/UserOfRoleDTO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.userofrole; 2 | 3 | 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | /** 8 | * 用户关联角色表 9 | * @author mikey 10 | * @date 2021-11-19 15:22:41 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class UserOfRoleDTO { 15 | /** 16 | * 用户UUID 17 | */ 18 | private String userUuid; 19 | /** 20 | * 角色UUID 21 | */ 22 | private String roleUuid; 23 | } 24 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/userofrole/UserOfRoleDeleteCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.userofrole; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | 6 | import lombok.experimental.Accessors; 7 | import javax.validation.constraints.NotNull; 8 | 9 | /** 10 | * 用户关联角色表 11 | * @author mikey 12 | * @date 2021-11-19 15:22:41 13 | */ 14 | @Data 15 | @Accessors(chain = true) 16 | public class UserOfRoleDeleteCmd extends CommonCommand { 17 | @NotNull 18 | private Long[] ids; 19 | private String[] userUuids; 20 | } 21 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/userofrole/UserOfRoleGetQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.userofrole; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | /** 7 | * 用户关联角色表 8 | * @author mikey 9 | * @date 2021-11-19 15:22:41 10 | */ 11 | @Data 12 | @Accessors(chain = true) 13 | public class UserOfRoleGetQry extends CommonCommand { 14 | 15 | private Long id; 16 | /** 17 | * 用户UUID 18 | */ 19 | private String userUuid; 20 | /** 21 | * 角色UUID 22 | */ 23 | private String roleUuid; 24 | } -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/userofrole/UserOfRoleListQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.userofrole; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | /** 7 | * 用户关联角色表 8 | * @author mikey 9 | * @date 2021-11-19 15:22:41 10 | */ 11 | @Data 12 | @Accessors(chain = true) 13 | public class UserOfRoleListQry extends CommonCommand { 14 | /** 15 | * 用户UUID 16 | */ 17 | private String userUuid; 18 | /** 19 | * 角色UUID 20 | */ 21 | private String roleUuid; 22 | } 23 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/userofrole/UserOfRolePageQry.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.userofrole; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.PageQuery; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | /** 8 | * 用户关联角色表 9 | * @author mikey 10 | * @date 2021-11-19 15:22:41 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class UserOfRolePageQry extends PageQuery { 15 | 16 | private UserOfRoleDTO userOfRoleDTO; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/dto/sys/userofrole/UserOfRoleUpdateCmd.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.dto.sys.userofrole; 2 | 3 | import io.ddd.framework.coreclient.dto.common.command.CommonCommand; 4 | import lombok.Data; 5 | import javax.validation.constraints.NotNull; 6 | import lombok.experimental.Accessors; 7 | /** 8 | * 用户关联角色表 9 | * @author mikey 10 | * @date 2021-11-19 15:22:41 11 | */ 12 | @Data 13 | @Accessors(chain = true) 14 | public class UserOfRoleUpdateCmd extends CommonCommand { 15 | 16 | @NotNull 17 | private UserOfRoleDTO userOfRoleDTO; 18 | } 19 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/exception/AuthException.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.exception; 2 | 3 | import io.ddd.framework.coreclient.exception.code.AuthErrorCode; 4 | 5 | public class AuthException extends BaseException { 6 | 7 | private AuthErrorCode errorCode; 8 | 9 | public AuthException(String message) { 10 | super(message); 11 | } 12 | 13 | public AuthException(String message, Throwable e) { 14 | super(message, e); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/exception/BaseException.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.exception; 2 | 3 | import io.ddd.framework.coreclient.exception.code.ErrorCode; 4 | 5 | public abstract class BaseException extends RuntimeException{ 6 | 7 | private static final long serialVersionUID = 1L; 8 | 9 | private ErrorCode code; 10 | 11 | public BaseException(String message){ 12 | super(message); 13 | } 14 | 15 | public BaseException(String message, Throwable e) { 16 | super(message, e); 17 | } 18 | 19 | public ErrorCode getCode() { 20 | return code; 21 | } 22 | 23 | public void setCode(ErrorCode code) { 24 | this.code = code; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/exception/BizException.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.exception; 2 | import lombok.experimental.Accessors; 3 | /** 4 | * 自定义业务异常 5 | */ 6 | @Accessors(chain = true) 7 | public class BizException extends BaseException { 8 | 9 | private static final long serialVersionUID = 1L; 10 | 11 | private String msg; 12 | private int code = 500; 13 | 14 | public BizException() { 15 | super(null); 16 | } 17 | 18 | public BizException(String msg) { 19 | super(msg); 20 | this.msg = msg; 21 | } 22 | 23 | public BizException(String msg, Throwable e) { 24 | super(msg, e); 25 | this.msg = msg; 26 | } 27 | 28 | public BizException(String msg, int code) { 29 | super(msg); 30 | this.msg = msg; 31 | this.code = code; 32 | } 33 | 34 | public BizException(String msg, int code, Throwable e) { 35 | super(msg, e); 36 | this.msg = msg; 37 | this.code = code; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/exception/EventException.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.exception; 2 | 3 | import io.ddd.framework.coreclient.exception.code.EventErrorCode; 4 | 5 | public class EventException extends BaseException{ 6 | 7 | public EventException(String message){ 8 | super(message); 9 | this.setCode(EventErrorCode.EVENT_ERROR); 10 | } 11 | 12 | public EventException(String errMessage, Throwable e) { 13 | super(errMessage, e); 14 | this.setCode(EventErrorCode.EVENT_ERROR); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/exception/code/AuthErrorCode.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.exception.code; 2 | 3 | public enum AuthErrorCode implements ErrorCode{ 4 | 5 | NEED_LOGIN(4010,"请先登录"), 6 | EXPIRED_TOKEN(4011,"Token已过期"), 7 | ERROR_FORMAT_TOKEN(4012,"Token格式错误"), 8 | SIGNATURE_FAIL(4013,"签名失败"), 9 | NOT_HAVE_PERMISSION(403,"没有该操作权限"), 10 | ILLEGAL_ARGUMENT(4014,"非法参数异常"); 11 | 12 | public int code; 13 | public String desc; 14 | 15 | AuthErrorCode(int code, String desc) { 16 | this.code = code; 17 | this.desc = desc; 18 | } 19 | 20 | @Override 21 | public Integer getCode() { 22 | return code; 23 | } 24 | 25 | @Override 26 | public String getDesc() { 27 | return desc; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/exception/code/BaseErrorCode.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.exception.code; 2 | 3 | public enum BaseErrorCode implements ErrorCode { 4 | 5 | BIZ_ERROR(5000, "通用的业务逻辑错误"), 6 | 7 | SYS_ERROR(8000, "未知的系统错误" ); 8 | 9 | private Integer errCode; 10 | private String errDesc; 11 | 12 | private BaseErrorCode(Integer errCode, String errDesc){ 13 | this.errCode = errCode; 14 | this.errDesc = errDesc; 15 | } 16 | 17 | 18 | public Integer getCode() { 19 | return errCode; 20 | } 21 | 22 | 23 | public String getDesc() { 24 | return errDesc; 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/exception/code/BizErrorCode.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.exception.code; 2 | 3 | public enum BizErrorCode implements ErrorCode { 4 | 5 | BIZ_ERROR_CODE(5231, "业务异常"); 6 | 7 | private final Integer errCode; 8 | private final String errDesc; 9 | 10 | private BizErrorCode(Integer errCode, String errDesc) { 11 | this.errCode = errCode; 12 | this.errDesc = errDesc; 13 | } 14 | 15 | @Override 16 | public Integer getCode() { 17 | return errCode; 18 | } 19 | 20 | @Override 21 | public String getDesc() { 22 | return errDesc; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/exception/code/ErrorCode.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.exception.code; 2 | 3 | /** 4 | * 状态码获取接口 5 | */ 6 | public interface ErrorCode { 7 | 8 | Integer getCode(); 9 | 10 | String getDesc(); 11 | } 12 | -------------------------------------------------------------------------------- /core/core-client/src/main/java/io/ddd/framework/coreclient/exception/code/EventErrorCode.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.coreclient.exception.code; 2 | 3 | public enum EventErrorCode implements ErrorCode { 4 | 5 | EVENT_ERROR(7000, "事件错误"), 6 | EVENT_HANDLER_NOT_FOUND_ERROR(7001, "查找不到事件处理器"); 7 | 8 | private Integer errCode; 9 | private String errDesc; 10 | 11 | private EventErrorCode(Integer errCode, String errDesc){ 12 | this.errCode = errCode; 13 | this.errDesc = errDesc; 14 | } 15 | 16 | 17 | public Integer getCode() { 18 | return errCode; 19 | } 20 | 21 | 22 | public String getDesc() { 23 | return errDesc; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/common/Entity.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.common; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * @Author: 麦奇 7 | * @Date: 21-11-13 下午11:35 8 | */ 9 | public abstract class Entity implements Serializable { 10 | 11 | private static final long serialVersionUID = 1L; 12 | 13 | public Entity() { 14 | } 15 | 16 | public void validate() throws Exception { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/common/IdentityEntity.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.common; 2 | 3 | /** 4 | * @Author: 麦奇 5 | * @Date: 21-11-13 下午11:35 6 | */ 7 | public abstract class IdentityEntity extends Entity { 8 | 9 | private Long id; 10 | 11 | public IdentityEntity() { 12 | } 13 | 14 | public Long getId() { 15 | return this.id; 16 | } 17 | 18 | public void setId(Long id) { 19 | this.id = id; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/common/UUIDEntity.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.common; 2 | 3 | /** 4 | * @Author: 麦奇 5 | * @Date: 21-11-13 下午11:34 6 | */ 7 | public abstract class UUIDEntity extends IdentityEntity { 8 | 9 | private String uuid; 10 | 11 | public UUIDEntity() { 12 | } 13 | 14 | public String getUuid() { 15 | return this.uuid; 16 | } 17 | 18 | public void setUuid(String uuid) { 19 | this.uuid = uuid; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/domain/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 领域对象 3 | */ 4 | package io.ddd.framework.domain.domain; -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/domain/sys/Dictionary.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.domain.sys; 2 | 3 | import io.ddd.framework.domain.common.CommonEntity; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | /** 8 | * 9 | * @author mikey 10 | * @date 2022-01-28 21:50:48 11 | */ 12 | @Data 13 | @NoArgsConstructor 14 | @AllArgsConstructor 15 | public class Dictionary extends CommonEntity { 16 | /** 17 | * 查询的key 18 | */ 19 | private String uniqueKey; 20 | /** 21 | * 字典值 22 | */ 23 | private String value; 24 | /** 25 | * 是否可更改 26 | */ 27 | private Integer fixed; 28 | /** 29 | * 备注 30 | */ 31 | private String remark; 32 | } 33 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/domain/sys/Log.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.domain.sys; 2 | 3 | import io.ddd.framework.domain.common.CommonEntity; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | 10 | /** 11 | * 系统日志 12 | * @author mikey 13 | * @date 2021-11-20 23:04:11 14 | */ 15 | @Data 16 | @NoArgsConstructor 17 | @AllArgsConstructor 18 | public class Log extends CommonEntity { 19 | /** 20 | * 用户名 21 | */ 22 | private String username; 23 | /** 24 | * 用户操作 25 | */ 26 | private String operation; 27 | /** 28 | * 请求方法 29 | */ 30 | private String method; 31 | /** 32 | * 请求参数 33 | */ 34 | private String params; 35 | /** 36 | * 执行时长(毫秒) 37 | */ 38 | private Long executeTime; 39 | /** 40 | * IP地址 41 | */ 42 | private String ip; 43 | /** 44 | * 发生时间 45 | */ 46 | private Date occurTime; 47 | } 48 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/domain/sys/Role.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.domain.sys; 2 | 3 | import io.ddd.framework.domain.common.CommonEntity; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 角色表 10 | * @author mikey 11 | * @date 2021-11-17 14:27:15 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | public class Role extends CommonEntity { 17 | /** 18 | * 角色名 19 | */ 20 | private String roleName; 21 | /** 22 | * 备注 23 | */ 24 | private String roleRemark; 25 | } 26 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/domain/sys/RoleOfMenu.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.domain.sys; 2 | 3 | import io.ddd.framework.domain.common.CommonEntity; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 角色关联菜单表 10 | * @author mikey 11 | * @date 2021-11-19 14:47:31 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | public class RoleOfMenu extends CommonEntity { 17 | /** 18 | * 角色UUID 19 | */ 20 | private String roleUuid; 21 | /** 22 | * 菜单UUID 23 | */ 24 | private String menuUuid; 25 | 26 | /** 27 | * 创建 28 | * @param operator 29 | * @param roleUuid 30 | * @param menuUuid 31 | */ 32 | public void create(String operator,String roleUuid,String menuUuid) { 33 | super.create(operator); 34 | this.roleUuid = roleUuid; 35 | this.menuUuid=menuUuid; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/domain/sys/User.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.domain.sys; 2 | 3 | import io.ddd.framework.domain.common.CommonEntity; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 员工档案 10 | */ 11 | @Data 12 | @NoArgsConstructor 13 | @AllArgsConstructor 14 | public class User extends CommonEntity { 15 | private String userId; 16 | private String userName; 17 | private String userPassword; 18 | private String email; 19 | private Integer status; 20 | } 21 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/domain/sys/UserOfRole.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.domain.sys; 2 | 3 | import io.ddd.framework.domain.common.CommonEntity; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | import org.springframework.util.Assert; 8 | 9 | /** 10 | * 用户关联角色表 11 | * @author mikey 12 | * @date 2021-11-19 15:22:41 13 | */ 14 | @Data 15 | @NoArgsConstructor 16 | @AllArgsConstructor 17 | public class UserOfRole extends CommonEntity { 18 | /** 19 | * 用户UUID 20 | */ 21 | private String userUuid; 22 | /** 23 | * 角色UUID 24 | */ 25 | private String roleUuid; 26 | 27 | 28 | public void validate() { 29 | Assert.notNull(userUuid,"userUuid should not be null"); 30 | Assert.notNull(roleUuid,"roleUuid should not be null"); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/factory/DomainFactory.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.factory; 2 | 3 | import io.ddd.framework.domain.domain.sys.User; 4 | import io.ddd.framework.domain.domain.sys.UserOfRole; 5 | 6 | public class DomainFactory { 7 | 8 | public static User getUser(){ 9 | return new User(); 10 | } 11 | 12 | public static UserOfRole getUserOfRole(){ 13 | return new UserOfRole(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/factory/package-info.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.factory; -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/factory/sys/DictionaryFactory.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.factory.sys; 2 | 3 | import io.ddd.framework.domain.domain.sys.Dictionary; 4 | /** 5 | * 6 | * @author mikey 7 | * @date 2022-01-28 21:50:48 8 | */ 9 | public class DictionaryFactory { 10 | public static Dictionary getDictionary(){ 11 | return new Dictionary(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/factory/sys/LogFactory.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.factory.sys; 2 | 3 | import io.ddd.framework.domain.domain.sys.Log; 4 | /** 5 | * 系统日志 6 | * @author mikey 7 | * @date 2021-12-03 17:28:52 8 | */ 9 | public class LogFactory { 10 | public static Log getLog(){ 11 | return new Log(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/factory/sys/MenuFactory.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.factory.sys; 2 | 3 | import io.ddd.framework.domain.domain.sys.Menu; 4 | /** 5 | * 菜单表 6 | * @author mikey 7 | * @date 2021-12-03 17:22:00 8 | */ 9 | public class MenuFactory { 10 | public static Menu getMenu(){ 11 | return new Menu(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/factory/sys/RoleFactory.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.factory.sys; 2 | 3 | import io.ddd.framework.domain.domain.sys.Role; 4 | /** 5 | * 角色表 6 | * @author mikey 7 | * @date 2021-12-03 17:27:04 8 | */ 9 | public class RoleFactory { 10 | public static Role getRole(){ 11 | return new Role(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/factory/sys/RoleOfMenuFactory.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.factory.sys; 2 | 3 | import io.ddd.framework.domain.domain.sys.RoleOfMenu; 4 | /** 5 | * 角色关联菜单表 6 | * @author mikey 7 | * @date 2021-12-03 17:39:58 8 | */ 9 | public class RoleOfMenuFactory { 10 | public static RoleOfMenu getRoleOfMenu(){ 11 | return new RoleOfMenu(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/factory/sys/UserFactory.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.factory.sys; 2 | 3 | import io.ddd.framework.domain.domain.sys.User; 4 | 5 | public class UserFactory { 6 | 7 | public static User getUser(){ 8 | //init the domain object 9 | return new User(); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/factory/sys/UserOfRoleFactory.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.factory.sys; 2 | 3 | import io.ddd.framework.domain.domain.sys.UserOfRole; 4 | /** 5 | * 用户关联角色表 6 | * @author mikey 7 | * @date 2021-12-03 17:56:55 8 | */ 9 | public class UserOfRoleFactory { 10 | public static UserOfRole getUserOfRole(){ 11 | return new UserOfRole(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/repository/biz/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * biz repository 3 | */ 4 | package io.ddd.framework.domain.repository.biz; -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/repository/sys/DictionaryRepository.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.repository.sys; 2 | 3 | import io.ddd.framework.coreclient.dto.common.page.Page; 4 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryListQry; 5 | import io.ddd.framework.coreclient.dto.sys.dictionary.DictionaryPageQry; 6 | import io.ddd.framework.domain.domain.sys.Dictionary; 7 | import java.util.List; 8 | /** 9 | * 10 | * @author mikey 11 | * @date 2022-01-28 21:50:48 12 | */ 13 | public interface DictionaryRepository { 14 | void create(Dictionary dictionary); 15 | void update(Dictionary dictionary); 16 | Dictionary getById(Long id); 17 | List list(DictionaryListQry dictionaryListQry); 18 | Page page(DictionaryPageQry qry); 19 | } 20 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/repository/sys/LogRepository.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.repository.sys; 2 | 3 | import io.ddd.framework.coreclient.dto.common.page.Page; 4 | import io.ddd.framework.coreclient.dto.sys.log.LogListQry; 5 | import io.ddd.framework.coreclient.dto.sys.log.LogPageQry; 6 | import io.ddd.framework.domain.domain.sys.Log; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * 系统日志 12 | * @author mikey 13 | * @date 2021-11-20 23:04:11 14 | */ 15 | public interface LogRepository { 16 | void create(Log log); 17 | void update(Log log); 18 | Log getById(Long id); 19 | List list(LogListQry logListQry); 20 | Page page(LogPageQry qry); 21 | } 22 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/repository/sys/MenuRepository.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.repository.sys; 2 | 3 | import io.ddd.framework.coreclient.dto.common.page.Page; 4 | import io.ddd.framework.coreclient.dto.sys.menu.MenuGetSelectQry; 5 | import io.ddd.framework.coreclient.dto.sys.menu.MenuPageQry; 6 | import io.ddd.framework.domain.domain.sys.Menu; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * 菜单表 12 | * @author mikey 13 | * @date 2021-11-17 14:43:50 14 | */ 15 | public interface MenuRepository { 16 | void create(Menu menu); 17 | void update(Menu menu); 18 | Menu getById(Long id); 19 | List getByParentUuid(String uuid); 20 | List list(String menuParentUuid); 21 | Page page(MenuPageQry qry); 22 | List listForSelect(MenuGetSelectQry qry); 23 | } 24 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/repository/sys/RoleOfMenuRepository.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.repository.sys; 2 | 3 | import io.ddd.framework.coreclient.dto.common.page.Page; 4 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuListQry; 5 | import io.ddd.framework.coreclient.dto.sys.roleofmenu.RoleOfMenuPageQry; 6 | import io.ddd.framework.domain.domain.sys.Menu; 7 | import io.ddd.framework.domain.domain.sys.RoleOfMenu; 8 | 9 | import java.util.List; 10 | import java.util.Set; 11 | 12 | /** 13 | * 角色关联菜单表 14 | * @author mikey 15 | * @date 2021-11-19 14:47:31 16 | */ 17 | public interface RoleOfMenuRepository { 18 | void create(RoleOfMenu roleOfMenu); 19 | void update(RoleOfMenu roleOfMenu); 20 | RoleOfMenu getById(long id); 21 | //查询所关联的菜单 22 | Set getMenuByRoleUuids(List roleUuids); 23 | List getRoleOfMenu(String roleUuid); 24 | void deleteByRoleUuid(String roleUuid); 25 | 26 | List list(RoleOfMenuListQry qry); 27 | 28 | Page page(RoleOfMenuPageQry qry); 29 | } 30 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/repository/sys/RoleRepository.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.repository.sys; 2 | 3 | import io.ddd.framework.coreclient.dto.common.page.Page; 4 | import io.ddd.framework.coreclient.dto.sys.role.RolePageQry; 5 | import io.ddd.framework.domain.domain.sys.Role; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * 角色表 11 | * @author mikey 12 | * @date 2021-11-17 14:27:15 13 | */ 14 | public interface RoleRepository { 15 | void create(Role role); 16 | void update(Role role); 17 | Role getById(Long id); 18 | Page page(RolePageQry qry); 19 | List list(String roleName); 20 | } 21 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/repository/sys/UserOfRoleRepository.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.repository.sys; 2 | 3 | import io.ddd.framework.coreclient.dto.common.page.Page; 4 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRoleListQry; 5 | import io.ddd.framework.coreclient.dto.sys.userofrole.UserOfRolePageQry; 6 | import io.ddd.framework.domain.domain.sys.Role; 7 | import io.ddd.framework.domain.domain.sys.UserOfRole; 8 | 9 | import java.util.List; 10 | import java.util.Set; 11 | 12 | /** 13 | * 用户关联角色表 14 | * @author mikey 15 | * @date 2021-11-19 15:22:41 16 | */ 17 | public interface UserOfRoleRepository { 18 | void create(UserOfRole userOfRole); 19 | void update(UserOfRole userOfRole); 20 | UserOfRole getById(long id); 21 | Set getByUserId(String userUUID); 22 | void removeByUserUuid(String uuid); 23 | void save(List roleIdList, String uuid); 24 | List list(UserOfRoleListQry qry); 25 | Page page(UserOfRolePageQry qry); 26 | } 27 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/repository/sys/UserRepository.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.domain.repository.sys; 2 | import io.ddd.framework.coreclient.dto.common.page.Page; 3 | import io.ddd.framework.coreclient.dto.sys.user.UserListQry; 4 | import io.ddd.framework.coreclient.dto.sys.user.UserPageQry; 5 | import io.ddd.framework.domain.domain.sys.User; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * UserRepository 11 | * 12 | * @date 2020-07-02 12:16 PM 13 | */ 14 | public interface UserRepository { 15 | void create(User user); 16 | void update(User user); 17 | User getById(Long id); 18 | User getByUserId(String userId); 19 | Page page(UserPageQry qry); 20 | List list(UserListQry qry); 21 | } 22 | -------------------------------------------------------------------------------- /core/domain/src/main/java/io/ddd/framework/domain/service/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * domain service 3 | */ 4 | package io.ddd.framework.domain.service; -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/common/convector/Convector.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.common.convector; 2 | 3 | import java.util.List; 4 | 5 | public interface Convector { 6 | /** 7 | * 序列化 8 | * @param domain 9 | * @return 10 | */ 11 | DO toDO(Domain domain); 12 | 13 | /** 14 | * 反序列化 15 | * @param dO 16 | * @return 17 | */ 18 | Domain toDomain(DO dO); 19 | 20 | /** 21 | * 转DO列表 22 | * @param domainList 23 | * @return 24 | */ 25 | List toDOList(List domainList); 26 | 27 | /** 28 | * 转Domain列表 29 | * @param doList 30 | * @return 31 | */ 32 | List toDomainList(List doList); 33 | } 34 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/common/package-info.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.common; -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/config/InfrastructureConfig.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.config; 2 | 3 | import com.baomidou.mybatisplus.annotation.DbType; 4 | import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; 5 | import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; 6 | import org.springframework.context.annotation.Bean; 7 | import org.springframework.context.annotation.Configuration; 8 | 9 | 10 | /** 11 | * 配置 12 | */ 13 | @Configuration 14 | public class InfrastructureConfig { 15 | 16 | /** 17 | * mbp分页 18 | * @return 19 | */ 20 | @Bean 21 | public MybatisPlusInterceptor mybatisPlusInterceptor() { 22 | MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); 23 | interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); 24 | return interceptor; 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/biz/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 其他业务模块 3 | */ 4 | package io.ddd.framework.infrastructure.repositoryimpl.biz; -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/Dictionary2DOConvector.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.Dictionary; 4 | import io.ddd.framework.infrastructure.common.convector.Convector; 5 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.DictionaryDO; 6 | import org.springframework.stereotype.Component; 7 | import java.util.List; 8 | /** 9 | * 10 | * @author mikey 11 | * @date 2022-01-28 21:50:48 12 | */ 13 | @Component 14 | public class Dictionary2DOConvector implements Convector { 15 | 16 | public DictionaryDO toDO(Dictionary dictionary) { 17 | return Dictionary2DOMapStruct.INSTANCE.toDO(dictionary); 18 | } 19 | 20 | public Dictionary toDomain(DictionaryDO dictionaryDO) { 21 | return Dictionary2DOMapStruct.INSTANCE.toDomain(dictionaryDO); 22 | } 23 | 24 | public List toDOList(List dictionaryList) { 25 | return Dictionary2DOMapStruct.INSTANCE.toDOList(dictionaryList); 26 | } 27 | 28 | public List toDomainList(List dictionaryDOList) { 29 | return Dictionary2DOMapStruct.INSTANCE.toDomainList(dictionaryDOList); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/Dictionary2DOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.Dictionary; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.DictionaryDO; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | import java.util.List; 10 | /** 11 | * 12 | * @author mikey 13 | * @date 2022-01-28 21:50:48 14 | */ 15 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 16 | public interface Dictionary2DOMapStruct { 17 | 18 | Dictionary2DOMapStruct INSTANCE = Mappers.getMapper(Dictionary2DOMapStruct.class); 19 | 20 | @Mappings({}) 21 | DictionaryDO toDO(Dictionary dictionary); 22 | 23 | @Mappings({}) 24 | Dictionary toDomain(DictionaryDO dictionaryDO); 25 | 26 | List toDOList(List dictionaryList); 27 | 28 | List toDomainList(List dictionaryDOList); 29 | } 30 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/Log2DOConvector.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.Log; 4 | import io.ddd.framework.infrastructure.common.convector.Convector; 5 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.LogDO; 6 | import org.springframework.stereotype.Component; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * 系统日志 12 | * @author mikey 13 | * @date 2021-12-03 17:28:52 14 | */ 15 | @Component 16 | public class Log2DOConvector implements Convector { 17 | public LogDO toDO(Log log) { 18 | return Log2DOMapStruct.INSTANCE.toDO(log); 19 | } 20 | public Log toDomain(LogDO logDO) { 21 | return Log2DOMapStruct.INSTANCE.toDomain(logDO); 22 | } 23 | public List toDOList(List logList) { 24 | return Log2DOMapStruct.INSTANCE.toDOList(logList); 25 | } 26 | public List toDomainList(List logDOList) { 27 | return Log2DOMapStruct.INSTANCE.toDomainList(logDOList); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/Log2DOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.Log; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.LogDO; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * 系统日志 14 | * @author mikey 15 | * @date 2021-12-03 17:28:52 16 | */ 17 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 18 | public interface Log2DOMapStruct { 19 | Log2DOMapStruct INSTANCE = Mappers.getMapper(Log2DOMapStruct.class); 20 | @Mappings({}) 21 | LogDO toDO(Log log); 22 | @Mappings({}) 23 | Log toDomain(LogDO logDO); 24 | List toDOList(List logList); 25 | List toDomainList(List logDOList); 26 | } 27 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/Menu2DOConvector.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.Menu; 4 | import io.ddd.framework.infrastructure.common.convector.Convector; 5 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.MenuDO; 6 | import org.springframework.stereotype.Component; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * 菜单表 12 | * @author mikey 13 | * @date 2021-12-03 17:22:00 14 | */ 15 | @Component 16 | public class Menu2DOConvector implements Convector { 17 | 18 | @Override 19 | public MenuDO toDO(Menu menu) { 20 | return Menu2DOMapStruct.INSTANCE.toDO(menu); 21 | } 22 | 23 | @Override 24 | public Menu toDomain(MenuDO menuDO) { 25 | return Menu2DOMapStruct.INSTANCE.toDomain(menuDO); 26 | } 27 | 28 | @Override 29 | public List toDOList(List menuList) { 30 | return Menu2DOMapStruct.INSTANCE.toDOList(menuList); 31 | } 32 | 33 | @Override 34 | public List toDomainList(List menuDOList) { 35 | return Menu2DOMapStruct.INSTANCE.toDomainList(menuDOList); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/Menu2DOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.Menu; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.MenuDO; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | import java.util.List; 10 | 11 | /** 12 | * 菜单表 13 | * @author mikey 14 | * @date 2021-12-03 17:18:36 15 | */ 16 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 17 | public interface Menu2DOMapStruct { 18 | 19 | Menu2DOMapStruct INSTANCE = Mappers.getMapper(Menu2DOMapStruct.class); 20 | 21 | @Mappings({}) 22 | MenuDO toDO(Menu menu); 23 | 24 | @Mappings({}) 25 | Menu toDomain(MenuDO menuDO); 26 | 27 | 28 | List toDOList(List menuList); 29 | 30 | 31 | List toDomainList(List menuDOList); 32 | } 33 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/Role2DOConvector.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.Role; 4 | import io.ddd.framework.infrastructure.common.convector.Convector; 5 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.RoleDO; 6 | import org.springframework.stereotype.Component; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * 角色表 12 | * @author mikey 13 | * @date 2021-12-03 17:27:04 14 | */ 15 | @Component 16 | public class Role2DOConvector implements Convector { 17 | 18 | public RoleDO toDO(Role role) { 19 | return Role2DOMapStruct.INSTANCE.toDO(role); 20 | } 21 | 22 | public Role toDomain(RoleDO dO) { 23 | return Role2DOMapStruct.INSTANCE.toDomain(dO); 24 | } 25 | 26 | @Override 27 | public List toDOList(List roleList) { 28 | return Role2DOMapStruct.INSTANCE.toDOList(roleList); 29 | } 30 | 31 | @Override 32 | public List toDomainList(List roleDOList) { 33 | return Role2DOMapStruct.INSTANCE.toDomainList(roleDOList); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/Role2DOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.Role; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.RoleDO; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * 角色表 14 | * @author mikey 15 | * @date 2021-12-03 17:27:04 16 | */ 17 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 18 | public interface Role2DOMapStruct { 19 | 20 | Role2DOMapStruct INSTANCE = Mappers.getMapper(Role2DOMapStruct.class); 21 | 22 | @Mappings({}) 23 | RoleDO toDO(Role role); 24 | 25 | List toDOList(List roleList); 26 | @Mappings({}) 27 | Role toDomain(RoleDO roleDO); 28 | 29 | List toDomainList(List roleDOList); 30 | } 31 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/RoleOfMenu2DOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.RoleOfMenu; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.RoleOfMenuDO; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * 角色关联菜单表 14 | * @author mikey 15 | * @date 2021-12-03 17:39:58 16 | */ 17 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 18 | public interface RoleOfMenu2DOMapStruct { 19 | 20 | RoleOfMenu2DOMapStruct INSTANCE = Mappers.getMapper(RoleOfMenu2DOMapStruct.class); 21 | 22 | @Mappings({}) 23 | RoleOfMenuDO toDO(RoleOfMenu roleOfMenu); 24 | 25 | 26 | List toDOList(List roleOfMenuList); 27 | 28 | @Mappings({}) 29 | RoleOfMenu toDomain(RoleOfMenuDO roleOfMenuDO); 30 | 31 | 32 | List toDomainList(List roleOfMenuDOList); 33 | } 34 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/User2DOConvector.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.User; 4 | import io.ddd.framework.infrastructure.common.convector.Convector; 5 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.UserDO; 6 | import org.springframework.stereotype.Component; 7 | 8 | import java.util.List; 9 | 10 | @Component 11 | public class User2DOConvector implements Convector { 12 | 13 | public UserDO toDO(User user) { 14 | return User2DOMapStruct.INSTANCE.toDO(user); 15 | } 16 | 17 | public User toDomain(UserDO userDO) { 18 | return User2DOMapStruct.INSTANCE.toDomain(userDO); 19 | } 20 | 21 | @Override 22 | public List toDOList(List userList) { 23 | return User2DOMapStruct.INSTANCE.toDOList(userList); 24 | } 25 | 26 | @Override 27 | public List toDomainList(List userDOList) { 28 | return User2DOMapStruct.INSTANCE.toDomainList(userDOList); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/User2DOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.User; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.UserDO; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * 14 | */ 15 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 16 | public interface User2DOMapStruct { 17 | 18 | User2DOMapStruct INSTANCE = Mappers.getMapper(User2DOMapStruct.class); 19 | 20 | @Mappings({}) 21 | UserDO toDO(User user); 22 | 23 | 24 | List toDOList(List userList); 25 | 26 | @Mappings({}) 27 | User toDomain(UserDO userDO); 28 | 29 | 30 | List toDomainList(List userDOList); 31 | } 32 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/convertor/UserOfRole2DOMapStruct.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.convertor; 2 | 3 | import io.ddd.framework.domain.domain.sys.UserOfRole; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.UserOfRoleDO; 5 | import org.mapstruct.Mapper; 6 | import org.mapstruct.Mappings; 7 | import org.mapstruct.ReportingPolicy; 8 | import org.mapstruct.factory.Mappers; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * 用户关联角色表 14 | * @author mikey 15 | * @date 2021-12-03 17:56:55 16 | */ 17 | @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) 18 | public interface UserOfRole2DOMapStruct { 19 | 20 | UserOfRole2DOMapStruct INSTANCE = Mappers.getMapper(UserOfRole2DOMapStruct.class); 21 | 22 | @Mappings({}) 23 | UserOfRoleDO toDO(UserOfRole userOfRole); 24 | 25 | List toDOList(List userOfRoleList); 26 | 27 | @Mappings({}) 28 | UserOfRole toDomain(UserOfRoleDO userOfRoleDO); 29 | 30 | List toDomainList(List userOfRoleDOList); 31 | } 32 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/dataobject/BaseDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject; 2 | 3 | 4 | /** 5 | * BaseDO 6 | * 7 | * @date 2020-07-02 10:03 AM 8 | */ 9 | 10 | public class BaseDO { 11 | 12 | private String creator; 13 | private String modifier; 14 | 15 | public String getCreator() { 16 | return creator; 17 | } 18 | 19 | public void setCreator(String creator) { 20 | this.creator = creator; 21 | } 22 | 23 | public String getModifier() { 24 | return modifier; 25 | } 26 | 27 | public void setModifier(String modifier) { 28 | this.modifier = modifier; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/dataobject/CaptchaDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject; 2 | 3 | 4 | import com.baomidou.mybatisplus.annotation.TableId; 5 | import com.baomidou.mybatisplus.annotation.TableName; 6 | import lombok.Data; 7 | 8 | import java.util.Date; 9 | 10 | /** 11 | * UserDO 12 | * 13 | * @date 2019-02-27 5:00 PM 14 | */ 15 | @Data 16 | @TableName("sys_captcha") 17 | public class CaptchaDO { 18 | @TableId 19 | public String uuid; 20 | /** 21 | * 验证码 22 | */ 23 | private String code; 24 | /** 25 | * 过期时间 26 | */ 27 | private Date expireTime; 28 | } 29 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/dataobject/DictionaryDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject; 2 | 3 | import com.baomidou.mybatisplus.annotation.TableName; 4 | import io.ddd.framework.domain.common.CommonEntity; 5 | import lombok.Data; 6 | /** 7 | * 8 | * @author mikey 9 | * @date 2022-01-28 21:50:48 10 | */ 11 | @Data 12 | @TableName("sys_dictionary") 13 | public class DictionaryDO extends CommonEntity { 14 | /** 15 | * 查询的key 16 | */ 17 | private String uniqueKey; 18 | /** 19 | * 字典值 20 | */ 21 | private String value; 22 | /** 23 | * 备注 24 | */ 25 | private String remark; 26 | /** 27 | * 是否可更改 28 | */ 29 | private Integer fixed; 30 | } 31 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/dataobject/LogDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject; 2 | 3 | import com.baomidou.mybatisplus.annotation.TableName; 4 | import lombok.Data; 5 | 6 | import java.util.Date; 7 | 8 | /** 9 | * 系统日志 10 | * @author mikey 11 | * @date 2021-11-20 23:04:11 12 | */ 13 | @Data 14 | @TableName("sys_log") 15 | public class LogDO { 16 | /** 17 | * 用户名 18 | */ 19 | private String username; 20 | /** 21 | * 用户操作 22 | */ 23 | private String operation; 24 | /** 25 | * 请求方法 26 | */ 27 | private String method; 28 | /** 29 | * 请求参数 30 | */ 31 | private String params; 32 | /** 33 | * 执行时长(毫秒) 34 | */ 35 | private Long executeTime; 36 | /** 37 | * IP地址 38 | */ 39 | private String ip; 40 | /** 41 | * 发生时间 42 | */ 43 | private Date occurTime; 44 | } 45 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/dataobject/MenuDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject; 2 | 3 | import com.baomidou.mybatisplus.annotation.TableName; 4 | import io.ddd.framework.domain.common.CommonEntity; 5 | import lombok.Data; 6 | 7 | /** 8 | * 菜单表 9 | * @author mikey 10 | * @date 2021-11-17 14:43:50 11 | */ 12 | @Data 13 | @TableName("sys_menu") 14 | public class MenuDO extends CommonEntity { 15 | /** 16 | * 父菜单uuid 17 | */ 18 | private String menuParentUuid; 19 | /** 20 | * 菜单名 21 | */ 22 | private String menuName; 23 | /** 24 | * 菜单url 25 | */ 26 | private String menuUrl; 27 | /** 28 | * 授权标识 29 | */ 30 | private String menuPerms; 31 | /** 32 | * 0:目录 1:菜单 2:按钮 33 | */ 34 | private Integer menuType; 35 | /** 36 | * 图标 37 | */ 38 | private String menuIcon; 39 | /** 40 | * 排序 41 | */ 42 | private Integer menuOrder; 43 | /** 44 | * 备注 45 | */ 46 | private String menuRemark; 47 | } 48 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/dataobject/MetricDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class MetricDO extends BaseDO{ 7 | 8 | private String id; 9 | /** 10 | * 域账号 11 | */ 12 | private String userId; 13 | /** 14 | * 主度量 15 | */ 16 | private String mainMetric; 17 | /** 18 | * 子度量 19 | */ 20 | private String subMetric; 21 | /** 22 | * 度量条目 23 | */ 24 | private String metricItem; 25 | } 26 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/dataobject/RoleDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject; 2 | 3 | import com.baomidou.mybatisplus.annotation.TableName; 4 | import io.ddd.framework.domain.common.CommonEntity; 5 | import lombok.Data; 6 | 7 | /** 8 | * 角色表 9 | * @author mikey 10 | * @date 2021-11-17 14:27:15 11 | */ 12 | @Data 13 | @TableName("sys_role") 14 | public class RoleDO extends CommonEntity { 15 | /** 16 | * 角色名 17 | */ 18 | private String roleName; 19 | /** 20 | * 备注 21 | */ 22 | private String roleRemark; 23 | } 24 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/dataobject/RoleOfMenuDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject; 2 | 3 | 4 | import com.baomidou.mybatisplus.annotation.TableId; 5 | import com.baomidou.mybatisplus.annotation.TableName; 6 | import io.ddd.framework.domain.common.CommonEntity; 7 | import lombok.Data; 8 | 9 | /** 10 | * 角色关联菜单表 11 | * @author mikey 12 | * @date 2021-11-19 14:47:31 13 | */ 14 | @Data 15 | @TableName("sys_role_of_menu") 16 | public class RoleOfMenuDO extends CommonEntity { 17 | /** 18 | * 角色UUID 19 | */ 20 | @TableId 21 | private String roleUuid; 22 | /** 23 | * 菜单UUID 24 | */ 25 | private String menuUuid; 26 | } 27 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/dataobject/UserDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject; 2 | 3 | 4 | import com.baomidou.mybatisplus.annotation.TableName; 5 | import io.ddd.framework.domain.common.CommonEntity; 6 | import lombok.Data; 7 | 8 | /** 9 | * UserDO 10 | * 11 | * @date 2019-02-27 5:00 PM 12 | */ 13 | @Data 14 | @TableName("sys_user") 15 | public class UserDO extends CommonEntity { 16 | /** 17 | * 域账号 18 | */ 19 | private String userId; 20 | /** 21 | * 密码 22 | */ 23 | private String userPassword; 24 | /** 25 | * 姓名 26 | */ 27 | private String userName; 28 | /** 29 | * 邮箱 30 | */ 31 | private String email; 32 | /** 33 | * 状态 34 | */ 35 | private Integer status; 36 | /** 37 | * 头像 38 | */ 39 | private String avatar; 40 | } 41 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/dataobject/UserOfDeptDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject; 2 | 3 | 4 | import com.baomidou.mybatisplus.annotation.TableId; 5 | import com.baomidou.mybatisplus.annotation.TableName; 6 | import io.ddd.framework.domain.common.CommonEntity; 7 | import lombok.Data; 8 | 9 | /** 10 | * 用户关联部门表 11 | * @author mikey 12 | * @date 2021-11-21 09:20:42 13 | */ 14 | @Data 15 | @TableName("sys_user_of_dept") 16 | public class UserOfDeptDO extends CommonEntity { 17 | /** 18 | * 用户UUID 19 | */ 20 | @TableId 21 | private String userUuid; 22 | /** 23 | * 部门UUID 24 | */ 25 | private String deptUuid; 26 | } 27 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/dataobject/UserOfRoleDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject; 2 | 3 | 4 | import com.baomidou.mybatisplus.annotation.TableId; 5 | import com.baomidou.mybatisplus.annotation.TableName; 6 | import io.ddd.framework.domain.common.CommonEntity; 7 | import lombok.Data; 8 | 9 | /** 10 | * 用户关联角色表 11 | * @author mikey 12 | * @date 2021-11-19 15:22:41 13 | */ 14 | @Data 15 | @TableName("sys_user_of_role") 16 | public class UserOfRoleDO extends CommonEntity { 17 | /** 18 | * 用户UUID 19 | */ 20 | @TableId 21 | private String userUuid; 22 | /** 23 | * 角色UUID 24 | */ 25 | private String roleUuid; 26 | } 27 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/mapper/CaptchaMapper.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.CaptchaDO; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | * UserMapper 9 | * 10 | * @date 2019-02-27 5:03 PM 11 | */ 12 | @Mapper 13 | public interface CaptchaMapper extends BaseMapper { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/mapper/CodeGeneratorMapper.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.mapper; 2 | 3 | import org.apache.ibatis.annotations.Mapper; 4 | 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | /** 9 | * @Author: 麦奇 10 | * @Date: 21-11-14 下午10:56 11 | */ 12 | @Mapper 13 | public interface CodeGeneratorMapper { 14 | 15 | Map queryTable(String tableName); 16 | 17 | List> queryColumns(String tableName); 18 | } 19 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/mapper/DictionaryMapper.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.DictionaryDO; 5 | import org.apache.ibatis.annotations.Mapper; 6 | /** 7 | * 8 | * @author mikey 9 | * @date 2022-01-28 21:50:48 10 | */ 11 | @Mapper 12 | public interface DictionaryMapper extends BaseMapper { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/mapper/LogMapper.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.LogDO; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | * 系统日志 9 | * @author mikey 10 | * @date 2021-11-20 23:04:11 11 | */ 12 | @Mapper 13 | public interface LogMapper extends BaseMapper { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/mapper/MenuMapper.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.mapper; 2 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 3 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.MenuDO; 4 | import org.apache.ibatis.annotations.Mapper; 5 | 6 | /** 7 | * 菜单表 8 | * @author mikey 9 | * @date 2021-11-17 14:43:50 10 | */ 11 | @Mapper 12 | public interface MenuMapper extends BaseMapper { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/mapper/RoleMapper.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.RoleDO; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | * 角色表 9 | * @author mikey 10 | * @date 2021-11-17 14:27:15 11 | */ 12 | @Mapper 13 | public interface RoleMapper extends BaseMapper { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/mapper/RoleOfMenuMapper.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.RoleOfMenuDO; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | * 角色关联菜单表 9 | * @author mikey 10 | * @date 2021-11-19 14:47:31 11 | */ 12 | @Mapper 13 | public interface RoleOfMenuMapper extends BaseMapper { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/mapper/UserMapper.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.UserDO; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | * UserMapper 9 | * 10 | * @date 2019-02-27 5:03 PM 11 | */ 12 | @Mapper 13 | public interface UserMapper extends BaseMapper { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/mapper/UserOfDeptMapper.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.UserOfDeptDO; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | * 用户关联部门表 9 | * @author mikey 10 | * @date 2021-11-21 09:20:42 11 | */ 12 | @Mapper 13 | public interface UserOfDeptMapper extends BaseMapper { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/database/mapper/UserOfRoleMapper.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.database.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import io.ddd.framework.infrastructure.repositoryimpl.sys.database.dataobject.UserOfRoleDO; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | * 用户关联角色表 9 | * @author mikey 10 | * @date 2021-11-19 15:22:41 11 | */ 12 | @Mapper 13 | public interface UserOfRoleMapper extends BaseMapper { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/rpc/RPCUserMapper.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.rpc; 2 | 3 | import io.ddd.framework.infrastructure.repositoryimpl.sys.rpc.dataobject.UserDO; 4 | import org.springframework.stereotype.Component; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | 9 | @Component 10 | public class RPCUserMapper { 11 | /** 12 | * Dummy RPC Call 13 | */ 14 | public List listByUserId(String userId){ 15 | List userDOList = new ArrayList<>(); 16 | UserDO userDO1 = new UserDO(); 17 | userDO1.setUsername("mikey"); 18 | return userDOList; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/java/io/ddd/framework/infrastructure/repositoryimpl/sys/rpc/dataobject/UserDO.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.infrastructure.repositoryimpl.sys.rpc.dataobject; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class UserDO { 7 | private String username; 8 | } 9 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/resources/mybatis-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/resources/mybatis/CaptchaMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/resources/mybatis/DictionaryMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/resources/mybatis/LogMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/resources/mybatis/MenuMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/resources/mybatis/RoleOfMenuMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/resources/mybatis/UserMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /core/infrastructure/src/main/resources/mybatis/UserOfRoleMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /core/infrastructure/src/test/resources/mybatis-config-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /core/share-dataobject/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | core 7 | io.ddd.framework 8 | 0.0.1-SNAPSHOT 9 | 10 | 4.0.0 11 | 12 | share-dataobject 13 | 14 | 15 | 8 16 | 8 17 | 18 | 19 | -------------------------------------------------------------------------------- /core/share-dataobject/src/main/java/io/ddd/framework/sharedataobject/common/validator/group/Delete.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.sharedataobject.common.validator.group; 2 | 3 | public interface Delete { 4 | } 5 | -------------------------------------------------------------------------------- /core/share-dataobject/src/main/java/io/ddd/framework/sharedataobject/common/validator/group/Insert.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.sharedataobject.common.validator.group; 2 | 3 | public interface Insert { 4 | } 5 | -------------------------------------------------------------------------------- /core/share-dataobject/src/main/java/io/ddd/framework/sharedataobject/common/validator/group/Query.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.sharedataobject.common.validator.group; 2 | 3 | public interface Query { 4 | } 5 | -------------------------------------------------------------------------------- /core/share-dataobject/src/main/java/io/ddd/framework/sharedataobject/common/validator/group/Update.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.sharedataobject.common.validator.group; 2 | 3 | public interface Update { 4 | } 5 | -------------------------------------------------------------------------------- /core/share-dataobject/src/main/java/io/ddd/framework/sharedataobject/common/validator/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * see https://docs.jboss.org/hibernate/validator/5.4/reference/en-US/html_single/ 3 | */ 4 | package io.ddd.framework.sharedataobject.common.validator; -------------------------------------------------------------------------------- /core/share-dataobject/src/main/java/io/ddd/framework/sharedataobject/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * share-data object 3 | */ 4 | package io.ddd.framework.sharedataobject; -------------------------------------------------------------------------------- /doc/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - add validation group with plugin -------------------------------------------------------------------------------- /doc/ddd-layer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/doc/ddd-layer.png -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-authorize-default/src/main/java/io/ddd/framework/acl/authorize/config/JWTConfig.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.authorize.config; 2 | 3 | import org.springframework.beans.factory.InitializingBean; 4 | import org.springframework.beans.factory.annotation.Value; 5 | import org.springframework.stereotype.Component; 6 | 7 | @Component 8 | public class JWTConfig implements InitializingBean { 9 | 10 | private static JWTConfig jwtConfig = null; 11 | 12 | @Value("${jwt.token-expire-time:60}") 13 | private Integer jwtTokenExpireTime; 14 | 15 | @Override 16 | public void afterPropertiesSet() { 17 | jwtConfig = this; 18 | } 19 | 20 | public static Integer getJwtTokenExpireTime(){ 21 | return jwtConfig.jwtTokenExpireTime; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-authorize-default/src/main/java/io/ddd/framework/acl/authorize/config/KaptchaConfig.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.authorize.config; 2 | 3 | import com.google.code.kaptcha.impl.DefaultKaptcha; 4 | import com.google.code.kaptcha.util.Config; 5 | import org.springframework.context.annotation.Bean; 6 | import org.springframework.context.annotation.Configuration; 7 | 8 | import java.util.Properties; 9 | 10 | /** 11 | * @Author: 麦奇 12 | * @Date: 21-11-21 下午12:12 13 | */ 14 | @Configuration 15 | public class KaptchaConfig { 16 | 17 | @Bean 18 | public DefaultKaptcha producer() { 19 | Properties properties = new Properties(); 20 | properties.put("kaptcha.border", "no"); 21 | properties.put("kaptcha.textproducer.font.color", "black"); 22 | properties.put("kaptcha.textproducer.char.space", "5"); 23 | properties.put("kaptcha.textproducer.font.names", "Arial,Courier,cmr10,宋体,楷体,微软雅黑"); 24 | Config config = new Config(properties); 25 | DefaultKaptcha defaultKaptcha = new DefaultKaptcha(); 26 | defaultKaptcha.setConfig(config); 27 | return defaultKaptcha; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-authorize-default/src/main/java/io/ddd/framework/acl/authorize/constant/Constant.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.authorize.constant; 2 | 3 | public class Constant { 4 | public static final String SIGNING_KEY = "spring-security-@Jwt!&Secret^#"; 5 | public static final String PREFIX = "Bearer "; 6 | public static final String AUTHORIZATION = "authorization"; 7 | public static final String REFRESH_TOKEN = "refreshToken"; 8 | /** 9 | * 验证码过期时间 10 | */ 11 | public static final Integer captchaExpireTime = 5; 12 | } 13 | -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-authorize-default/src/main/java/io/ddd/framework/acl/authorize/handler/CustomAuthenticationEntryPoint.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.authorize.handler; 2 | 3 | import io.ddd.framework.acl.authorize.util.ResponseUtil; 4 | import io.ddd.framework.coreclient.dto.common.response.Response; 5 | import org.springframework.security.core.AuthenticationException; 6 | import org.springframework.security.web.AuthenticationEntryPoint; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | import static io.ddd.framework.coreclient.exception.code.AuthErrorCode.NEED_LOGIN; 10 | 11 | /** 12 | * @Description: 自定义认证拦截器 13 | */ 14 | public class CustomAuthenticationEntryPoint implements AuthenticationEntryPoint { 15 | 16 | private final String headerValue; 17 | 18 | public CustomAuthenticationEntryPoint(String headerValue) { 19 | this.headerValue = headerValue; 20 | } 21 | 22 | 23 | public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) { 24 | //response.setHeader(Constant.AUTHORIZATION, this.headerValue); 25 | ResponseUtil.add(response, Response.of(NEED_LOGIN)); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-authorize-default/src/main/java/io/ddd/framework/acl/authorize/impl/GrantedAuthorityImpl.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.authorize.impl; 2 | 3 | import org.springframework.security.core.GrantedAuthority; 4 | 5 | /** 6 | * 权限类型,负责存储权限和角色 7 | */ 8 | public class GrantedAuthorityImpl implements GrantedAuthority { 9 | 10 | private String authority; 11 | 12 | public GrantedAuthorityImpl(String authority) { 13 | this.authority = authority; 14 | } 15 | 16 | public void setAuthority(String authority) { 17 | this.authority = authority; 18 | } 19 | 20 | 21 | public String getAuthority() { 22 | return this.authority; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-authorize-default/src/main/java/io/ddd/framework/acl/authorize/util/ResponseUtil.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.authorize.util; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | import com.alibaba.fastjson.serializer.SerializerFeature; 5 | import io.ddd.framework.coreclient.dto.common.response.Response; 6 | 7 | import javax.servlet.http.HttpServletResponse; 8 | 9 | /** 10 | * @Author: 麦奇 11 | * @Date: 21-11-13 上午12:00 12 | */ 13 | public class ResponseUtil { 14 | public static void add(HttpServletResponse response, Response message){ 15 | try { 16 | response.setContentType("application/json; charset=utf-8"); 17 | response.getWriter().print(JSONObject.toJSONString(message, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteDateUseDateFormat)); 18 | response.getWriter().flush(); 19 | }catch (Exception e){ 20 | e.printStackTrace(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-cached-default/src/main/java/io/ddd/framework/acl/impl/cached/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * cached-default 3 | */ 4 | package io.ddd.framework.acl.impl.cached; -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-database-default/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | acl-implements 7 | io.ddd.framework 8 | 0.0.1-SNAPSHOT 9 | 10 | 4.0.0 11 | 12 | acl-impl-database-default 13 | 14 | 15 | 16 | org.springframework.boot 17 | spring-boot-starter-web 18 | 19 | 20 | -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-database-default/src/main/java/io/ddd/framework/acl/impl/database/config/Config.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.impl.database.config; 2 | 3 | 4 | import org.springframework.context.annotation.Configuration; 5 | 6 | @Configuration 7 | public class Config { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-database-default/src/main/java/io/ddd/framework/acl/impl/database/package-info.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.impl.database; -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-event-default/src/main/java/io/ddd/framework/acl/impl/event/EventConsumerImpl.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.impl.event; 2 | 3 | import io.ddd.framework.acl.event.Consumer; 4 | import io.ddd.framework.application.common.event.EventBus; 5 | import io.ddd.framework.coreclient.dto.common.event.EventI; 6 | import org.springframework.stereotype.Service; 7 | 8 | import javax.annotation.Resource; 9 | import java.util.LinkedList; 10 | import java.util.List; 11 | 12 | @Service 13 | public class EventConsumerImpl implements Consumer { 14 | 15 | @Resource 16 | private EventBus eventBus; 17 | 18 | @Override 19 | public void consumer() { 20 | //1.pull event 21 | //TODO 22 | List eventIList = new LinkedList<>(); 23 | //2.execute event 24 | eventIList.forEach(e->{ 25 | eventBus.publishAll(e); 26 | }); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /extensions/acl-implements/acl-impl-event-default/src/main/java/io/ddd/framework/acl/impl/event/EventProducerImpl.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework.acl.impl.event; 2 | 3 | import io.ddd.framework.acl.event.Producer; 4 | import org.springframework.stereotype.Service; 5 | 6 | import java.util.Map; 7 | 8 | /** 9 | * the default event producer for another application 10 | */ 11 | @Service 12 | public class EventProducerImpl implements Producer { 13 | @Override 14 | public void produce(String messageKey, byte[] message, Map attributes) throws Exception { 15 | //TODO:produce app 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /extensions/pom.xml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | ddd-framework 7 | io.ddd.framework 8 | 0.0.1-SNAPSHOT 9 | 10 | 11 | pom 12 | 4.0.0 13 | 14 | extensions 15 | 16 | 17 | acl-implements 18 | 19 | 20 | 21 | 22 | 23 | ${groupId} 24 | dependencies 25 | 0.0.1-SNAPSHOT 26 | pom 27 | import 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /starter/src/main/java/io/ddd/framework/Application.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework; 2 | 3 | import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties; 4 | import org.mybatis.spring.annotation.MapperScan; 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | import org.springframework.web.bind.annotation.RequestMapping; 8 | import org.springframework.web.bind.annotation.ResponseBody; 9 | import org.springframework.web.bind.annotation.RestController; 10 | 11 | @RestController 12 | @SpringBootApplication(scanBasePackages = { "io.ddd.framework"}) 13 | @MapperScan("io.ddd.framework.infrastructure") 14 | @EnableEncryptableProperties 15 | public class Application { 16 | @RequestMapping({"/ok", "/ok.htm"}) 17 | @ResponseBody 18 | public String ok() { 19 | return "ok"; 20 | } 21 | public static void main(String[] args) { 22 | SpringApplication.run(Application.class, args); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /starter/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # 应用名称 2 | spring.application.name=ddd-framework 3 | # 应用服务 WEB 访问端口 4 | server.port=8088 5 | # 请求路径 6 | server.servlet.context-path=/api 7 | # 激活配置文件 8 | spring.profiles.active=dev -------------------------------------------------------------------------------- /starter/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | ________ ________ ________ ________ ________ ________ _____ ______ _______ ___ __ ________ ________ ___ __ 2 | |\ ___ \|\ ___ \|\ ___ \ |\ _____\\ __ \|\ __ \|\ _ \ _ \|\ ___ \ |\ \ |\ \|\ __ \|\ __ \|\ \|\ \ 3 | \ \ \_|\ \ \ \_|\ \ \ \_|\ \ ____________\ \ \__/\ \ \|\ \ \ \|\ \ \ \\\__\ \ \ \ __/|\ \ \ \ \ \ \ \|\ \ \ \|\ \ \ \/ /|_ 4 | \ \ \ \\ \ \ \ \\ \ \ \ \\ \|\____________\ \ __\\ \ _ _\ \ __ \ \ \\|__| \ \ \ \_|/_\ \ \ __\ \ \ \ \\\ \ \ _ _\ \ ___ \ 5 | \ \ \_\\ \ \ \_\\ \ \ \_\\ \|____________|\ \ \_| \ \ \\ \\ \ \ \ \ \ \ \ \ \ \ \_|\ \ \ \|\__\_\ \ \ \\\ \ \ \\ \\ \ \\ \ \ 6 | \ \_______\ \_______\ \_______\ \ \__\ \ \__\\ _\\ \__\ \__\ \__\ \ \__\ \_______\ \____________\ \_______\ \__\\ _\\ \__\\ \__\ 7 | \|_______|\|_______|\|_______| \|__| \|__|\|__|\|__|\|__|\|__| \|__|\|_______|\|____________|\|_______|\|__|\|__|\|__| \|__| 8 | -------------------------------------------------------------------------------- /starter/src/main/resources/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/starter/src/main/resources/messages.properties -------------------------------------------------------------------------------- /starter/src/main/resources/messages_en.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/starter/src/main/resources/messages_en.properties -------------------------------------------------------------------------------- /starter/src/main/resources/messages_zh_CN.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ken-xue/ddd-framework/82c8f489436b74a2f9eae572288c305820b50e38/starter/src/main/resources/messages_zh_CN.properties -------------------------------------------------------------------------------- /starter/src/test/java/io/ddd/framework/ApplicationTests.java: -------------------------------------------------------------------------------- 1 | package io.ddd.framework; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class ApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | --------------------------------------------------------------------------------