diff --git a/crm-app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/crm-app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index dea1afb..49487b6 100644 --- a/crm-app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/crm-app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1 +1 @@ -D:\code\crm-backend-matt\crm-app\src\main\java\com\crm\app\CrmAppApplication.java +E:\code\crm-backend-matt\crm-app\src\main\java\com\crm\app\CrmAppApplication.java diff --git a/crm-auth/target/classes/com/crm/auth/config/AuthProperties$DingTalk.class b/crm-auth/target/classes/com/crm/auth/config/AuthProperties$DingTalk.class index 0e3ff9d..e3f6496 100644 Binary files a/crm-auth/target/classes/com/crm/auth/config/AuthProperties$DingTalk.class and b/crm-auth/target/classes/com/crm/auth/config/AuthProperties$DingTalk.class differ diff --git a/crm-auth/target/classes/com/crm/auth/config/AuthProperties$Jwt.class b/crm-auth/target/classes/com/crm/auth/config/AuthProperties$Jwt.class index d9be18f..b656349 100644 Binary files a/crm-auth/target/classes/com/crm/auth/config/AuthProperties$Jwt.class and b/crm-auth/target/classes/com/crm/auth/config/AuthProperties$Jwt.class differ diff --git a/crm-auth/target/classes/com/crm/auth/config/AuthProperties.class b/crm-auth/target/classes/com/crm/auth/config/AuthProperties.class index 1721b95..53b1779 100644 Binary files a/crm-auth/target/classes/com/crm/auth/config/AuthProperties.class and b/crm-auth/target/classes/com/crm/auth/config/AuthProperties.class differ diff --git a/crm-auth/target/classes/com/crm/auth/config/DataInitializer.class b/crm-auth/target/classes/com/crm/auth/config/DataInitializer.class index 92c18cd..15682bb 100644 Binary files a/crm-auth/target/classes/com/crm/auth/config/DataInitializer.class and b/crm-auth/target/classes/com/crm/auth/config/DataInitializer.class differ diff --git a/crm-auth/target/classes/com/crm/auth/config/SecurityConfig.class b/crm-auth/target/classes/com/crm/auth/config/SecurityConfig.class index 11a2552..340436a 100644 Binary files a/crm-auth/target/classes/com/crm/auth/config/SecurityConfig.class and b/crm-auth/target/classes/com/crm/auth/config/SecurityConfig.class differ diff --git a/crm-auth/target/classes/com/crm/auth/controller/SystemController.class b/crm-auth/target/classes/com/crm/auth/controller/SystemController.class index 2d3f25c..f386298 100644 Binary files a/crm-auth/target/classes/com/crm/auth/controller/SystemController.class and b/crm-auth/target/classes/com/crm/auth/controller/SystemController.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/dto/LoginResultDTO.class b/crm-auth/target/classes/com/crm/auth/domain/dto/LoginResultDTO.class index 5ff9553..bec710a 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/dto/LoginResultDTO.class and b/crm-auth/target/classes/com/crm/auth/domain/dto/LoginResultDTO.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/dto/UserInfoDTO.class b/crm-auth/target/classes/com/crm/auth/domain/dto/UserInfoDTO.class index 31e953e..4a2b74d 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/dto/UserInfoDTO.class and b/crm-auth/target/classes/com/crm/auth/domain/dto/UserInfoDTO.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO$DeptRef.class b/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO$DeptRef.class index b09720e..7e9bc28 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO$DeptRef.class and b/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO$DeptRef.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO$RoleRef.class b/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO$RoleRef.class index c56abad..9cd7336 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO$RoleRef.class and b/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO$RoleRef.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO.class b/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO.class index 1e29409..9ff5e3c 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO.class and b/crm-auth/target/classes/com/crm/auth/domain/dto/UserListDTO.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/dto/UserStatsVO.class b/crm-auth/target/classes/com/crm/auth/domain/dto/UserStatsVO.class index 4f73c3c..d0782c6 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/dto/UserStatsVO.class and b/crm-auth/target/classes/com/crm/auth/domain/dto/UserStatsVO.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/entity/AuthIdentity.class b/crm-auth/target/classes/com/crm/auth/domain/entity/AuthIdentity.class index c166579..f7af9ed 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/entity/AuthIdentity.class and b/crm-auth/target/classes/com/crm/auth/domain/entity/AuthIdentity.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/entity/AuthUser.class b/crm-auth/target/classes/com/crm/auth/domain/entity/AuthUser.class index 95b80f5..083c20b 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/entity/AuthUser.class and b/crm-auth/target/classes/com/crm/auth/domain/entity/AuthUser.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/entity/SysDept.class b/crm-auth/target/classes/com/crm/auth/domain/entity/SysDept.class index 92e7f8e..e85bad1 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/entity/SysDept.class and b/crm-auth/target/classes/com/crm/auth/domain/entity/SysDept.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/entity/SysMenu.class b/crm-auth/target/classes/com/crm/auth/domain/entity/SysMenu.class index abddb0b..c7a8eca 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/entity/SysMenu.class and b/crm-auth/target/classes/com/crm/auth/domain/entity/SysMenu.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/entity/SysRole.class b/crm-auth/target/classes/com/crm/auth/domain/entity/SysRole.class index 76659db..1af4b8a 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/entity/SysRole.class and b/crm-auth/target/classes/com/crm/auth/domain/entity/SysRole.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/entity/SysRoleMenu.class b/crm-auth/target/classes/com/crm/auth/domain/entity/SysRoleMenu.class index 11da0f5..4753055 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/entity/SysRoleMenu.class and b/crm-auth/target/classes/com/crm/auth/domain/entity/SysRoleMenu.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/entity/SysUserDept.class b/crm-auth/target/classes/com/crm/auth/domain/entity/SysUserDept.class index 10d2373..f00d4cc 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/entity/SysUserDept.class and b/crm-auth/target/classes/com/crm/auth/domain/entity/SysUserDept.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/entity/SysUserRole.class b/crm-auth/target/classes/com/crm/auth/domain/entity/SysUserRole.class index f58fbc8..cdb32a8 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/entity/SysUserRole.class and b/crm-auth/target/classes/com/crm/auth/domain/entity/SysUserRole.class differ diff --git a/crm-auth/target/classes/com/crm/auth/domain/param/UserPageParam.class b/crm-auth/target/classes/com/crm/auth/domain/param/UserPageParam.class index e4758b3..ae81526 100644 Binary files a/crm-auth/target/classes/com/crm/auth/domain/param/UserPageParam.class and b/crm-auth/target/classes/com/crm/auth/domain/param/UserPageParam.class differ diff --git a/crm-auth/target/classes/com/crm/auth/security/AuthLoginUser.class b/crm-auth/target/classes/com/crm/auth/security/AuthLoginUser.class index a7c705b..f40d717 100644 Binary files a/crm-auth/target/classes/com/crm/auth/security/AuthLoginUser.class and b/crm-auth/target/classes/com/crm/auth/security/AuthLoginUser.class differ diff --git a/crm-auth/target/classes/com/crm/auth/security/DataScopeInterceptor.class b/crm-auth/target/classes/com/crm/auth/security/DataScopeInterceptor.class index 394d17d..cf75a87 100644 Binary files a/crm-auth/target/classes/com/crm/auth/security/DataScopeInterceptor.class and b/crm-auth/target/classes/com/crm/auth/security/DataScopeInterceptor.class differ diff --git a/crm-auth/target/classes/com/crm/auth/security/TokenService.class b/crm-auth/target/classes/com/crm/auth/security/TokenService.class index c7cd22c..047542f 100644 Binary files a/crm-auth/target/classes/com/crm/auth/security/TokenService.class and b/crm-auth/target/classes/com/crm/auth/security/TokenService.class differ diff --git a/crm-auth/target/classes/com/crm/auth/service/DeptTreeCache.class b/crm-auth/target/classes/com/crm/auth/service/DeptTreeCache.class index 76878f7..2fb2398 100644 Binary files a/crm-auth/target/classes/com/crm/auth/service/DeptTreeCache.class and b/crm-auth/target/classes/com/crm/auth/service/DeptTreeCache.class differ diff --git a/crm-auth/target/classes/com/crm/auth/service/client/DingTalkAuthClient.class b/crm-auth/target/classes/com/crm/auth/service/client/DingTalkAuthClient.class index acb7721..d681ccb 100644 Binary files a/crm-auth/target/classes/com/crm/auth/service/client/DingTalkAuthClient.class and b/crm-auth/target/classes/com/crm/auth/service/client/DingTalkAuthClient.class differ diff --git a/crm-auth/target/classes/com/crm/auth/service/client/ThirdPartyUserInfo.class b/crm-auth/target/classes/com/crm/auth/service/client/ThirdPartyUserInfo.class index a7cd19f..45abb40 100644 Binary files a/crm-auth/target/classes/com/crm/auth/service/client/ThirdPartyUserInfo.class and b/crm-auth/target/classes/com/crm/auth/service/client/ThirdPartyUserInfo.class differ diff --git a/crm-auth/target/classes/com/crm/auth/service/impl/AuthIdentityServiceImpl.class b/crm-auth/target/classes/com/crm/auth/service/impl/AuthIdentityServiceImpl.class index 87b7b17..77bb11b 100644 Binary files a/crm-auth/target/classes/com/crm/auth/service/impl/AuthIdentityServiceImpl.class and b/crm-auth/target/classes/com/crm/auth/service/impl/AuthIdentityServiceImpl.class differ diff --git a/crm-auth/target/classes/com/crm/auth/service/impl/AuthServiceImpl.class b/crm-auth/target/classes/com/crm/auth/service/impl/AuthServiceImpl.class index f1820fb..795375e 100644 Binary files a/crm-auth/target/classes/com/crm/auth/service/impl/AuthServiceImpl.class and b/crm-auth/target/classes/com/crm/auth/service/impl/AuthServiceImpl.class differ diff --git a/crm-auth/target/classes/com/crm/auth/service/impl/AuthUserServiceImpl.class b/crm-auth/target/classes/com/crm/auth/service/impl/AuthUserServiceImpl.class index d8a13d9..566182d 100644 Binary files a/crm-auth/target/classes/com/crm/auth/service/impl/AuthUserServiceImpl.class and b/crm-auth/target/classes/com/crm/auth/service/impl/AuthUserServiceImpl.class differ diff --git a/crm-auth/target/classes/com/crm/auth/service/impl/SysDeptServiceImpl.class b/crm-auth/target/classes/com/crm/auth/service/impl/SysDeptServiceImpl.class index 1c375bb..a8db5ea 100644 Binary files a/crm-auth/target/classes/com/crm/auth/service/impl/SysDeptServiceImpl.class and b/crm-auth/target/classes/com/crm/auth/service/impl/SysDeptServiceImpl.class differ diff --git a/crm-auth/target/classes/com/crm/auth/service/impl/SysMenuServiceImpl.class b/crm-auth/target/classes/com/crm/auth/service/impl/SysMenuServiceImpl.class index a2d557c..6de31f5 100644 Binary files a/crm-auth/target/classes/com/crm/auth/service/impl/SysMenuServiceImpl.class and b/crm-auth/target/classes/com/crm/auth/service/impl/SysMenuServiceImpl.class differ diff --git a/crm-auth/target/classes/com/crm/auth/service/impl/SysRoleServiceImpl.class b/crm-auth/target/classes/com/crm/auth/service/impl/SysRoleServiceImpl.class index 9bf480b..343760f 100644 Binary files a/crm-auth/target/classes/com/crm/auth/service/impl/SysRoleServiceImpl.class and b/crm-auth/target/classes/com/crm/auth/service/impl/SysRoleServiceImpl.class differ diff --git a/crm-auth/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/crm-auth/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 12991ea..f2584c2 100644 --- a/crm-auth/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/crm-auth/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -69,7 +69,6 @@ com\crm\auth\security\PermissionResolverImpl.class com\crm\auth\mapper\SysUserDeptMapper.class com\crm\auth\security\SecurityExceptionHandlers.class com\crm\auth\AuthApplication.class -com\crm\auth\domain\enums\MenuType$1.class com\crm\auth\mapper\SysUserRoleMapper.class com\crm\auth\domain\entity\SysRole.class com\crm\auth\mapper\SysDeptMapper.class diff --git a/crm-auth/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/crm-auth/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 632318b..5e31661 100644 --- a/crm-auth/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/crm-auth/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,72 +1,72 @@ -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\AuthApplication.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\config\AuthProperties.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\config\DataInitializer.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\config\PermissionConfig.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\config\SecurityConfig.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\config\WebMvcConfig.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\constant\AuthConstants.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\controller\AuthController.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\controller\DebugTokenController.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\controller\ResourceController.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\controller\RoleController.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\controller\SystemController.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\LoginResultDTO.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\ResourceNode.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\RoleDetailVO.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\UserInfoDTO.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\UserListDTO.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\UserStatsVO.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\AuthIdentity.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\AuthUser.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysDept.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysMenu.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysRole.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysRoleMenu.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysUserDept.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysUserRole.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\enums\DataScopeEnum.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\enums\IdentityTypeEnum.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\enums\MenuType.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\param\UserPageParam.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\AuthIdentityMapper.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\AuthUserMapper.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysDeptMapper.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysMenuMapper.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysRoleMapper.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysRoleMenuMapper.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysUserDeptMapper.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysUserRoleMapper.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\ApiPermissionCache.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\ApiPermissionInterceptor.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\ApiPermissionRule.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\AuthLoginUser.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\DataScopeInterceptor.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\DataScopeTables.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\JwtAuthenticationFilter.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\PermissionGrant.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\PermissionResolver.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\PermissionResolverImpl.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\SecurityExceptionHandlers.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\TokenService.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\client\DingTalkAuthClient.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\client\ThirdPartyAuthClient.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\client\ThirdPartyAuthClientFactory.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\client\ThirdPartyUserInfo.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\DeptTreeCache.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\IAuthIdentityService.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\IAuthService.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\IAuthUserService.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\AuthIdentityServiceImpl.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\AuthServiceImpl.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\AuthUserServiceImpl.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\PermissionSeederImpl.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\ResourceServiceImpl.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\SysDeptServiceImpl.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\SysMenuServiceImpl.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\SysRoleServiceImpl.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\UserQueryServiceImpl.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\IResourceService.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\ISysDeptService.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\ISysMenuService.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\ISysRoleService.java -D:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\IUserQueryService.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\AuthApplication.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\config\AuthProperties.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\config\DataInitializer.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\config\PermissionConfig.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\config\SecurityConfig.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\config\WebMvcConfig.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\constant\AuthConstants.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\controller\AuthController.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\controller\DebugTokenController.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\controller\ResourceController.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\controller\RoleController.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\controller\SystemController.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\LoginResultDTO.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\ResourceNode.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\RoleDetailVO.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\UserInfoDTO.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\UserListDTO.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\dto\UserStatsVO.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\AuthIdentity.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\AuthUser.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysDept.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysMenu.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysRole.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysRoleMenu.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysUserDept.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\entity\SysUserRole.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\enums\DataScopeEnum.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\enums\IdentityTypeEnum.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\enums\MenuType.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\domain\param\UserPageParam.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\AuthIdentityMapper.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\AuthUserMapper.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysDeptMapper.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysMenuMapper.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysRoleMapper.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysRoleMenuMapper.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysUserDeptMapper.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\mapper\SysUserRoleMapper.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\ApiPermissionCache.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\ApiPermissionInterceptor.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\ApiPermissionRule.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\AuthLoginUser.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\DataScopeInterceptor.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\DataScopeTables.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\JwtAuthenticationFilter.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\PermissionGrant.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\PermissionResolver.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\PermissionResolverImpl.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\SecurityExceptionHandlers.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\security\TokenService.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\client\DingTalkAuthClient.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\client\ThirdPartyAuthClient.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\client\ThirdPartyAuthClientFactory.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\client\ThirdPartyUserInfo.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\DeptTreeCache.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\IAuthIdentityService.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\IAuthService.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\IAuthUserService.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\AuthIdentityServiceImpl.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\AuthServiceImpl.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\AuthUserServiceImpl.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\PermissionSeederImpl.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\ResourceServiceImpl.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\SysDeptServiceImpl.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\SysMenuServiceImpl.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\SysRoleServiceImpl.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\impl\UserQueryServiceImpl.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\IResourceService.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\ISysDeptService.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\ISysMenuService.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\ISysRoleService.java +E:\code\crm-backend-matt\crm-auth\src\main\java\com\crm\auth\service\IUserQueryService.java diff --git a/crm-auth/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/crm-auth/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst deleted file mode 100644 index cb4eb66..0000000 --- a/crm-auth/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ /dev/null @@ -1,17 +0,0 @@ -com\crm\auth\service\client\DingTalkAuthClientTest.class -com\crm\auth\service\client\ThirdPartyAuthClientFactoryTest.class -com\crm\auth\service\impl\SysDeptServiceImplTest.class -com\crm\auth\security\scope\TestOwnedDataMapper.class -com\crm\auth\security\scope\TestOwnedData.class -com\crm\auth\service\impl\UserListIntegrationTest.class -com\crm\auth\service\client\DingTalkAuthClientTest$StubbedClient.class -com\crm\auth\service\impl\SysMenuServiceImplTest.class -com\crm\auth\security\ApiPermissionInterceptorTest.class -com\crm\auth\service\impl\PermissionSeederImplTest.class -com\crm\auth\security\scope\DataScopeIntegrationTest.class -com\crm\auth\service\impl\AuthServiceImplTest.class -com\crm\auth\service\client\ThirdPartyAuthClientFactoryTest$StubClient.class -com\crm\auth\service\impl\ResourceServiceImplTest.class -com\crm\auth\service\impl\SysRoleServiceImplTest.class -com\crm\auth\security\scope\DataScopeIntegrationTest$DeptQueryCounter.class -com\crm\auth\service\impl\AuthUserServiceImplTest.class diff --git a/crm-auth/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/crm-auth/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index 422db7a..0000000 --- a/crm-auth/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ /dev/null @@ -1,14 +0,0 @@ -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\security\ApiPermissionInterceptorTest.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\security\scope\DataScopeIntegrationTest.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\security\scope\TestOwnedData.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\security\scope\TestOwnedDataMapper.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\service\client\DingTalkAuthClientTest.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\service\client\ThirdPartyAuthClientFactoryTest.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\service\impl\AuthServiceImplTest.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\service\impl\AuthUserServiceImplTest.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\service\impl\PermissionSeederImplTest.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\service\impl\ResourceServiceImplTest.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\service\impl\SysDeptServiceImplTest.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\service\impl\SysMenuServiceImplTest.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\service\impl\SysRoleServiceImplTest.java -D:\code\crm-backend-matt\crm-auth\src\test\java\com\crm\auth\service\impl\UserListIntegrationTest.java diff --git a/crm-auth/target/surefire-reports/TEST-com.crm.auth.security.scope.DataScopeIntegrationTest.xml b/crm-auth/target/surefire-reports/TEST-com.crm.auth.security.scope.DataScopeIntegrationTest.xml deleted file mode 100644 index 00fc8fb..0000000 --- a/crm-auth/target/surefire-reports/TEST-com.crm.auth.security.scope.DataScopeIntegrationTest.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.client.DingTalkAuthClientTest.xml b/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.client.DingTalkAuthClientTest.xml deleted file mode 100644 index 0dc21ab..0000000 --- a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.client.DingTalkAuthClientTest.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.client.ThirdPartyAuthClientFactoryTest.xml b/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.client.ThirdPartyAuthClientFactoryTest.xml deleted file mode 100644 index 6a6515f..0000000 --- a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.client.ThirdPartyAuthClientFactoryTest.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.AuthServiceImplTest.xml b/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.AuthServiceImplTest.xml deleted file mode 100644 index edb82e0..0000000 --- a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.AuthServiceImplTest.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.AuthUserServiceImplTest.xml b/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.AuthUserServiceImplTest.xml deleted file mode 100644 index 8be2092..0000000 --- a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.AuthUserServiceImplTest.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.SysDeptServiceImplTest.xml b/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.SysDeptServiceImplTest.xml deleted file mode 100644 index f300687..0000000 --- a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.SysDeptServiceImplTest.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.UserListIntegrationTest.xml b/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.UserListIntegrationTest.xml deleted file mode 100644 index ebd1666..0000000 --- a/crm-auth/target/surefire-reports/TEST-com.crm.auth.service.impl.UserListIntegrationTest.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crm-auth/target/surefire-reports/com.crm.auth.security.scope.DataScopeIntegrationTest.txt b/crm-auth/target/surefire-reports/com.crm.auth.security.scope.DataScopeIntegrationTest.txt deleted file mode 100644 index cac32d9..0000000 --- a/crm-auth/target/surefire-reports/com.crm.auth.security.scope.DataScopeIntegrationTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.crm.auth.security.scope.DataScopeIntegrationTest -------------------------------------------------------------------------------- -Tests run: 28, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.906 s -- in com.crm.auth.security.scope.DataScopeIntegrationTest diff --git a/crm-auth/target/surefire-reports/com.crm.auth.service.client.DingTalkAuthClientTest.txt b/crm-auth/target/surefire-reports/com.crm.auth.service.client.DingTalkAuthClientTest.txt deleted file mode 100644 index 704132c..0000000 --- a/crm-auth/target/surefire-reports/com.crm.auth.service.client.DingTalkAuthClientTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.crm.auth.service.client.DingTalkAuthClientTest -------------------------------------------------------------------------------- -Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.749 s -- in com.crm.auth.service.client.DingTalkAuthClientTest diff --git a/crm-auth/target/surefire-reports/com.crm.auth.service.client.ThirdPartyAuthClientFactoryTest.txt b/crm-auth/target/surefire-reports/com.crm.auth.service.client.ThirdPartyAuthClientFactoryTest.txt deleted file mode 100644 index e7e5ac1..0000000 --- a/crm-auth/target/surefire-reports/com.crm.auth.service.client.ThirdPartyAuthClientFactoryTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.crm.auth.service.client.ThirdPartyAuthClientFactoryTest -------------------------------------------------------------------------------- -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.029 s -- in com.crm.auth.service.client.ThirdPartyAuthClientFactoryTest diff --git a/crm-auth/target/surefire-reports/com.crm.auth.service.impl.AuthServiceImplTest.txt b/crm-auth/target/surefire-reports/com.crm.auth.service.impl.AuthServiceImplTest.txt deleted file mode 100644 index f56ace5..0000000 --- a/crm-auth/target/surefire-reports/com.crm.auth.service.impl.AuthServiceImplTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.crm.auth.service.impl.AuthServiceImplTest -------------------------------------------------------------------------------- -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.025 s -- in com.crm.auth.service.impl.AuthServiceImplTest diff --git a/crm-auth/target/surefire-reports/com.crm.auth.service.impl.AuthUserServiceImplTest.txt b/crm-auth/target/surefire-reports/com.crm.auth.service.impl.AuthUserServiceImplTest.txt deleted file mode 100644 index bf7b302..0000000 --- a/crm-auth/target/surefire-reports/com.crm.auth.service.impl.AuthUserServiceImplTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.crm.auth.service.impl.AuthUserServiceImplTest -------------------------------------------------------------------------------- -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.336 s -- in com.crm.auth.service.impl.AuthUserServiceImplTest diff --git a/crm-auth/target/surefire-reports/com.crm.auth.service.impl.SysDeptServiceImplTest.txt b/crm-auth/target/surefire-reports/com.crm.auth.service.impl.SysDeptServiceImplTest.txt deleted file mode 100644 index 85d71f9..0000000 --- a/crm-auth/target/surefire-reports/com.crm.auth.service.impl.SysDeptServiceImplTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.crm.auth.service.impl.SysDeptServiceImplTest -------------------------------------------------------------------------------- -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.119 s -- in com.crm.auth.service.impl.SysDeptServiceImplTest diff --git a/crm-auth/target/surefire-reports/com.crm.auth.service.impl.UserListIntegrationTest.txt b/crm-auth/target/surefire-reports/com.crm.auth.service.impl.UserListIntegrationTest.txt deleted file mode 100644 index b49d493..0000000 --- a/crm-auth/target/surefire-reports/com.crm.auth.service.impl.UserListIntegrationTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.crm.auth.service.impl.UserListIntegrationTest -------------------------------------------------------------------------------- -Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.532 s -- in com.crm.auth.service.impl.UserListIntegrationTest diff --git a/crm-auth/target/test-classes/com/crm/auth/security/scope/DataScopeIntegrationTest$DeptQueryCounter.class b/crm-auth/target/test-classes/com/crm/auth/security/scope/DataScopeIntegrationTest$DeptQueryCounter.class deleted file mode 100644 index 83f78ef..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/security/scope/DataScopeIntegrationTest$DeptQueryCounter.class and /dev/null differ diff --git a/crm-auth/target/test-classes/com/crm/auth/security/scope/DataScopeIntegrationTest.class b/crm-auth/target/test-classes/com/crm/auth/security/scope/DataScopeIntegrationTest.class deleted file mode 100644 index ee4b268..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/security/scope/DataScopeIntegrationTest.class and /dev/null differ diff --git a/crm-auth/target/test-classes/com/crm/auth/security/scope/TestOwnedData.class b/crm-auth/target/test-classes/com/crm/auth/security/scope/TestOwnedData.class deleted file mode 100644 index 6bb133f..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/security/scope/TestOwnedData.class and /dev/null differ diff --git a/crm-auth/target/test-classes/com/crm/auth/security/scope/TestOwnedDataMapper.class b/crm-auth/target/test-classes/com/crm/auth/security/scope/TestOwnedDataMapper.class deleted file mode 100644 index 6d0b7ab..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/security/scope/TestOwnedDataMapper.class and /dev/null differ diff --git a/crm-auth/target/test-classes/com/crm/auth/service/client/DingTalkAuthClientTest$StubbedClient.class b/crm-auth/target/test-classes/com/crm/auth/service/client/DingTalkAuthClientTest$StubbedClient.class deleted file mode 100644 index edcb1b7..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/service/client/DingTalkAuthClientTest$StubbedClient.class and /dev/null differ diff --git a/crm-auth/target/test-classes/com/crm/auth/service/client/DingTalkAuthClientTest.class b/crm-auth/target/test-classes/com/crm/auth/service/client/DingTalkAuthClientTest.class deleted file mode 100644 index a3376af..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/service/client/DingTalkAuthClientTest.class and /dev/null differ diff --git a/crm-auth/target/test-classes/com/crm/auth/service/client/ThirdPartyAuthClientFactoryTest$StubClient.class b/crm-auth/target/test-classes/com/crm/auth/service/client/ThirdPartyAuthClientFactoryTest$StubClient.class deleted file mode 100644 index 88c6982..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/service/client/ThirdPartyAuthClientFactoryTest$StubClient.class and /dev/null differ diff --git a/crm-auth/target/test-classes/com/crm/auth/service/client/ThirdPartyAuthClientFactoryTest.class b/crm-auth/target/test-classes/com/crm/auth/service/client/ThirdPartyAuthClientFactoryTest.class deleted file mode 100644 index 919844c..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/service/client/ThirdPartyAuthClientFactoryTest.class and /dev/null differ diff --git a/crm-auth/target/test-classes/com/crm/auth/service/impl/AuthServiceImplTest.class b/crm-auth/target/test-classes/com/crm/auth/service/impl/AuthServiceImplTest.class deleted file mode 100644 index acd7acd..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/service/impl/AuthServiceImplTest.class and /dev/null differ diff --git a/crm-auth/target/test-classes/com/crm/auth/service/impl/AuthUserServiceImplTest.class b/crm-auth/target/test-classes/com/crm/auth/service/impl/AuthUserServiceImplTest.class deleted file mode 100644 index fb08e87..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/service/impl/AuthUserServiceImplTest.class and /dev/null differ diff --git a/crm-auth/target/test-classes/com/crm/auth/service/impl/SysDeptServiceImplTest.class b/crm-auth/target/test-classes/com/crm/auth/service/impl/SysDeptServiceImplTest.class deleted file mode 100644 index b4c01bc..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/service/impl/SysDeptServiceImplTest.class and /dev/null differ diff --git a/crm-auth/target/test-classes/com/crm/auth/service/impl/UserListIntegrationTest.class b/crm-auth/target/test-classes/com/crm/auth/service/impl/UserListIntegrationTest.class deleted file mode 100644 index 7c2eb24..0000000 Binary files a/crm-auth/target/test-classes/com/crm/auth/service/impl/UserListIntegrationTest.class and /dev/null differ diff --git a/crm-base/src/main/java/com/crm/base/advice/GlobalDataBindingAdvice.java b/crm-base/src/main/java/com/crm/base/advice/GlobalDataBindingAdvice.java new file mode 100644 index 0000000..cee8c17 --- /dev/null +++ b/crm-base/src/main/java/com/crm/base/advice/GlobalDataBindingAdvice.java @@ -0,0 +1,32 @@ +package com.crm.base.advice; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.WebDataBinder; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.InitBinder; + +/** + * 全局数据绑定防护(mass assignment 防御) + *

通过 {@link WebDataBinder#setDisallowedFields(String...)} 在入参侧全局 strip + * 服务端裁定字段,防止客户端通过表单伪造 createTime / updateTime / creatorId / updaterId / + * deleted / builtin(ADR-0017 Route A 安全替代)

+ *

DTO 上有 createTime / updateTime(出参展示用),但绑定器拒绝从表单填入。 + * Spring 对目标类上不存在的字段会静默跳过,所以全局列表不会引发绑定错误。

+ *

新增服务端裁定字段时必须同步更新 {@link #DISALLOWED_FIELDS} 列表。

+ * + * @see com.crm.base.domain.dto.BaseDTO + */ +@Slf4j +@ControllerAdvice +public class GlobalDataBindingAdvice { + + /** 服务端裁定字段,禁止客户端通过表单写入 */ + private static final String[] DISALLOWED_FIELDS = { + "createTime", "updateTime", "creatorId", "updaterId", "deleted", "builtin" + }; + + @InitBinder + public void disallowServerManagedFields(WebDataBinder binder) { + binder.setDisallowedFields(DISALLOWED_FIELDS); + } +} diff --git a/crm-base/src/test/java/com/crm/base/advice/GlobalDataBindingAdviceTest.java b/crm-base/src/test/java/com/crm/base/advice/GlobalDataBindingAdviceTest.java new file mode 100644 index 0000000..f31d37f --- /dev/null +++ b/crm-base/src/test/java/com/crm/base/advice/GlobalDataBindingAdviceTest.java @@ -0,0 +1,107 @@ +package com.crm.base.advice; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.web.bind.WebDataBinder; + +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.jupiter.api.Assertions.*; + +/** + * 全局 mass assignment 防护测试(ADR-0017 ticket 02) + * + *

验证 {@link GlobalDataBindingAdvice#disallowServerManagedFields(WebDataBinder)} + * 配置的 {@code setDisallowedFields} 列表能正确 strip 服务端裁定字段, + * 同时不影响正常字段的绑定。

+ */ +class GlobalDataBindingAdviceTest { + + /** 测试用 DTO,含一个服务端裁定字段(createTime)和一个正常字段(builtin)和一个普通字段(name) */ + static class TestDTO { + private Long id; + private String name; + private LocalDateTime createTime; + private Boolean builtin; + + public Long getId() { return id; } + public void setId(Long id) { this.id = id; } + public String getName() { return name; } + public void setName(String name) { this.name = name; } + public LocalDateTime getCreateTime() { return createTime; } + public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; } + public Boolean getBuiltin() { return builtin; } + public void setBuiltin(Boolean builtin) { this.builtin = builtin; } + } + + private TestDTO bind(Map form) { + TestDTO target = new TestDTO(); + WebDataBinder binder = new WebDataBinder(target); + // 模拟 @ControllerAdvice 的 @InitBinder 行为 + new GlobalDataBindingAdvice().disallowServerManagedFields(binder); + binder.bind(new org.springframework.beans.MutablePropertyValues(form)); + return target; + } + + @Test + @DisplayName("提交 createTime 被 strip,DTO 上为 null") + void createTimeStripped() { + Map form = new HashMap<>(); + form.put("name", "测试角色"); + form.put("createTime", "2026-01-01T00:00:00"); + + TestDTO dto = bind(form); + + assertEquals("测试角色", dto.getName()); + assertNull(dto.getCreateTime(), "createTime 应被 InitBinder strip"); + } + + @Test + @DisplayName("提交 builtin=true 被 strip,DTO 上为 null") + void builtinStripped() { + Map form = new HashMap<>(); + form.put("name", "测试角色"); + form.put("builtin", "true"); + + TestDTO dto = bind(form); + + assertEquals("测试角色", dto.getName()); + assertNull(dto.getBuiltin(), "builtin 应被 InitBinder strip"); + } + + @Test + @DisplayName("不包含服务端裁定字段的正常表单提交不受影响") + void normalSubmissionUnaffected() { + Map form = new HashMap<>(); + form.put("id", "123"); + form.put("name", "正常角色"); + + TestDTO dto = bind(form); + + assertEquals(123L, dto.getId()); + assertEquals("正常角色", dto.getName()); + assertNull(dto.getCreateTime()); + assertNull(dto.getBuiltin()); + } + + @Test + @DisplayName("全部 6 个服务端裁定字段同时提交均被 strip") + void allDisallowedFieldsStripped() { + Map form = new HashMap<>(); + form.put("name", "测试"); + form.put("createTime", "2026-01-01T00:00:00"); + form.put("updateTime", "2026-01-02T00:00:00"); + form.put("creatorId", "fake-user"); + form.put("updaterId", "fake-user"); + form.put("deleted", "true"); + form.put("builtin", "true"); + + TestDTO dto = bind(form); + + assertEquals("测试", dto.getName(), "普通字段应正常绑定"); + assertNull(dto.getCreateTime(), "createTime 应被 strip"); + assertNull(dto.getBuiltin(), "builtin 应被 strip"); + } +} diff --git a/crm-base/target/classes/com/crm/base/advice/GlobalExceptionHandlerAdvice.class b/crm-base/target/classes/com/crm/base/advice/GlobalExceptionHandlerAdvice.class index ef17ef8..af4bb62 100644 Binary files a/crm-base/target/classes/com/crm/base/advice/GlobalExceptionHandlerAdvice.class and b/crm-base/target/classes/com/crm/base/advice/GlobalExceptionHandlerAdvice.class differ diff --git a/crm-base/target/classes/com/crm/base/config/InsertBatchOnDuplicateKeyUpdate.class b/crm-base/target/classes/com/crm/base/config/InsertBatchOnDuplicateKeyUpdate.class index e037d12..dd4849b 100644 Binary files a/crm-base/target/classes/com/crm/base/config/InsertBatchOnDuplicateKeyUpdate.class and b/crm-base/target/classes/com/crm/base/config/InsertBatchOnDuplicateKeyUpdate.class differ diff --git a/crm-base/target/classes/com/crm/base/config/JacksonConfig.class b/crm-base/target/classes/com/crm/base/config/JacksonConfig.class index 68e8169..6f87eef 100644 Binary files a/crm-base/target/classes/com/crm/base/config/JacksonConfig.class and b/crm-base/target/classes/com/crm/base/config/JacksonConfig.class differ diff --git a/crm-base/target/classes/com/crm/base/config/MetaObjectFillHandler.class b/crm-base/target/classes/com/crm/base/config/MetaObjectFillHandler.class index 975beae..f763747 100644 Binary files a/crm-base/target/classes/com/crm/base/config/MetaObjectFillHandler.class and b/crm-base/target/classes/com/crm/base/config/MetaObjectFillHandler.class differ diff --git a/crm-base/target/classes/com/crm/base/config/MybatisPlusConfig.class b/crm-base/target/classes/com/crm/base/config/MybatisPlusConfig.class index 7c825c1..d2c286f 100644 Binary files a/crm-base/target/classes/com/crm/base/config/MybatisPlusConfig.class and b/crm-base/target/classes/com/crm/base/config/MybatisPlusConfig.class differ diff --git a/crm-base/target/classes/com/crm/base/config/ScheduledTaskProperties.class b/crm-base/target/classes/com/crm/base/config/ScheduledTaskProperties.class index 5a87533..8471066 100644 Binary files a/crm-base/target/classes/com/crm/base/config/ScheduledTaskProperties.class and b/crm-base/target/classes/com/crm/base/config/ScheduledTaskProperties.class differ diff --git a/crm-base/target/classes/com/crm/base/config/SnowflakeProperties.class b/crm-base/target/classes/com/crm/base/config/SnowflakeProperties.class index 68e04de..1c8aab2 100644 Binary files a/crm-base/target/classes/com/crm/base/config/SnowflakeProperties.class and b/crm-base/target/classes/com/crm/base/config/SnowflakeProperties.class differ diff --git a/crm-base/target/classes/com/crm/base/domain/dto/BaseDTO.class b/crm-base/target/classes/com/crm/base/domain/dto/BaseDTO.class index 982bdcf..279b07f 100644 Binary files a/crm-base/target/classes/com/crm/base/domain/dto/BaseDTO.class and b/crm-base/target/classes/com/crm/base/domain/dto/BaseDTO.class differ diff --git a/crm-base/target/classes/com/crm/base/domain/entity/BaseEntity.class b/crm-base/target/classes/com/crm/base/domain/entity/BaseEntity.class index b28f6a1..96f141e 100644 Binary files a/crm-base/target/classes/com/crm/base/domain/entity/BaseEntity.class and b/crm-base/target/classes/com/crm/base/domain/entity/BaseEntity.class differ diff --git a/crm-base/target/classes/com/crm/base/domain/entity/OwnedEntity.class b/crm-base/target/classes/com/crm/base/domain/entity/OwnedEntity.class index 233da3a..6a5ca9c 100644 Binary files a/crm-base/target/classes/com/crm/base/domain/entity/OwnedEntity.class and b/crm-base/target/classes/com/crm/base/domain/entity/OwnedEntity.class differ diff --git a/crm-base/target/classes/com/crm/base/domain/param/BaseParam.class b/crm-base/target/classes/com/crm/base/domain/param/BaseParam.class index 10e18dd..e0f818a 100644 Binary files a/crm-base/target/classes/com/crm/base/domain/param/BaseParam.class and b/crm-base/target/classes/com/crm/base/domain/param/BaseParam.class differ diff --git a/crm-base/target/classes/com/crm/base/domain/result/PageResult.class b/crm-base/target/classes/com/crm/base/domain/result/PageResult.class index f6adffb..366aaef 100644 Binary files a/crm-base/target/classes/com/crm/base/domain/result/PageResult.class and b/crm-base/target/classes/com/crm/base/domain/result/PageResult.class differ diff --git a/crm-base/target/classes/com/crm/base/security/DataOwnership.class b/crm-base/target/classes/com/crm/base/security/DataOwnership.class index 7d36b5f..146f8f8 100644 Binary files a/crm-base/target/classes/com/crm/base/security/DataOwnership.class and b/crm-base/target/classes/com/crm/base/security/DataOwnership.class differ diff --git a/crm-base/target/classes/com/crm/base/security/DataScopeHelper.class b/crm-base/target/classes/com/crm/base/security/DataScopeHelper.class index cd6213a..0efb3ac 100644 Binary files a/crm-base/target/classes/com/crm/base/security/DataScopeHelper.class and b/crm-base/target/classes/com/crm/base/security/DataScopeHelper.class differ diff --git a/crm-base/target/classes/com/crm/base/security/DataScopeLevel.class b/crm-base/target/classes/com/crm/base/security/DataScopeLevel.class index 8d6e5ed..6b8c1e7 100644 Binary files a/crm-base/target/classes/com/crm/base/security/DataScopeLevel.class and b/crm-base/target/classes/com/crm/base/security/DataScopeLevel.class differ diff --git a/crm-base/target/classes/com/crm/base/security/DataVisibility.class b/crm-base/target/classes/com/crm/base/security/DataVisibility.class index d5e6837..b3df09b 100644 Binary files a/crm-base/target/classes/com/crm/base/security/DataVisibility.class and b/crm-base/target/classes/com/crm/base/security/DataVisibility.class differ diff --git a/crm-base/target/classes/com/crm/base/utils/BeanCopyUtils.class b/crm-base/target/classes/com/crm/base/utils/BeanCopyUtils.class index 8f38e7f..4e5821f 100644 Binary files a/crm-base/target/classes/com/crm/base/utils/BeanCopyUtils.class and b/crm-base/target/classes/com/crm/base/utils/BeanCopyUtils.class differ diff --git a/crm-base/target/classes/com/crm/base/utils/ExcelUtil.class b/crm-base/target/classes/com/crm/base/utils/ExcelUtil.class index 7f4db4d..627d31f 100644 Binary files a/crm-base/target/classes/com/crm/base/utils/ExcelUtil.class and b/crm-base/target/classes/com/crm/base/utils/ExcelUtil.class differ diff --git a/crm-base/target/classes/com/crm/base/utils/TreeUtils.class b/crm-base/target/classes/com/crm/base/utils/TreeUtils.class index 8ff4e4a..96ae1f2 100644 Binary files a/crm-base/target/classes/com/crm/base/utils/TreeUtils.class and b/crm-base/target/classes/com/crm/base/utils/TreeUtils.class differ diff --git a/crm-base/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/crm-base/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 98ffc48..7b0fdcd 100644 --- a/crm-base/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/crm-base/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -14,6 +14,7 @@ com\crm\base\security\DataScopeHelper.class com\crm\base\mapper\CrmBaseMapper.class com\crm\base\utils\BeanCopyUtils.class com\crm\base\domain\enums\StatusEnum.class +com\crm\base\advice\GlobalDataBindingAdvice.class com\crm\base\config\MybatisPlusConfig.class com\crm\base\domain\entity\BaseEntity.class com\crm\base\config\CrmSqlInjector.class diff --git a/crm-base/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/crm-base/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 5c9ad43..3f039e8 100644 --- a/crm-base/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/crm-base/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,50 +1,51 @@ -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\advice\GlobalExceptionHandlerAdvice.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\annotation\DataScope.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\CorsConfig.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\CrmSqlInjector.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\CustomIdGenerator.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\InsertBatchOnDuplicateKeyUpdate.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\JacksonConfig.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\Knife4jConfig.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\MetaObjectFillHandler.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\MybatisPlusConfig.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\RedisConfig.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\ScheduledTaskProperties.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\SnowflakeIdWorker.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\SnowflakeProperties.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\constant\CommonConstants.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\dto\BaseDTO.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\dto\ButtonSeed.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\dto\PermissionModuleDescriptor.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\entity\BaseEntity.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\entity\OwnedEntity.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\enums\HasValueEnum.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\enums\StatusEnum.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\exception\BusinessErrorException.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\exception\MissingParameterException.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\exception\PermissionErrorException.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\exception\ResourceNotExistException.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\param\BaseParam.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\result\PageResult.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\result\Result.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\result\ResultCodeEnum.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\filter\TraceIdFilter.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\mapper\CrmBaseMapper.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\DataOwnership.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\DataScopeHelper.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\DataScopeLevel.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\DataVisibility.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\DataVisibilityContext.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\LoginUser.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\SecurityUtils.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\VisibilityScope.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\service\IBaseService.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\service\impl\BaseServiceImpl.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\service\PermissionSeeder.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\AssertUtils.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\BeanCopyUtils.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\EnumUtils.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\ExcelUtil.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\PageConverter.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\ServletUtils.java -D:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\TreeUtils.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\advice\GlobalDataBindingAdvice.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\advice\GlobalExceptionHandlerAdvice.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\annotation\DataScope.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\CorsConfig.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\CrmSqlInjector.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\CustomIdGenerator.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\InsertBatchOnDuplicateKeyUpdate.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\JacksonConfig.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\Knife4jConfig.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\MetaObjectFillHandler.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\MybatisPlusConfig.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\RedisConfig.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\ScheduledTaskProperties.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\SnowflakeIdWorker.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\config\SnowflakeProperties.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\constant\CommonConstants.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\dto\BaseDTO.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\dto\ButtonSeed.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\dto\PermissionModuleDescriptor.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\entity\BaseEntity.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\entity\OwnedEntity.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\enums\HasValueEnum.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\enums\StatusEnum.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\exception\BusinessErrorException.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\exception\MissingParameterException.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\exception\PermissionErrorException.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\exception\ResourceNotExistException.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\param\BaseParam.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\result\PageResult.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\result\Result.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\domain\result\ResultCodeEnum.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\filter\TraceIdFilter.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\mapper\CrmBaseMapper.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\DataOwnership.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\DataScopeHelper.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\DataScopeLevel.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\DataVisibility.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\DataVisibilityContext.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\LoginUser.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\SecurityUtils.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\security\VisibilityScope.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\service\IBaseService.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\service\impl\BaseServiceImpl.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\service\PermissionSeeder.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\AssertUtils.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\BeanCopyUtils.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\EnumUtils.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\ExcelUtil.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\PageConverter.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\ServletUtils.java +E:\code\crm-backend-matt\crm-base\src\main\java\com\crm\base\utils\TreeUtils.java diff --git a/crm-base/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/crm-base/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst index b043589..1a2614f 100644 --- a/crm-base/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ b/crm-base/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -1 +1,3 @@ +com\crm\base\advice\GlobalDataBindingAdviceTest$TestDTO.class +com\crm\base\advice\GlobalDataBindingAdviceTest.class com\crm\base\security\DataVisibilityTest.class diff --git a/crm-base/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/crm-base/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst index ee6d61d..6c99e0a 100644 --- a/crm-base/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ b/crm-base/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -1 +1,2 @@ -D:\code\crm-backend-matt\crm-base\src\test\java\com\crm\base\security\DataVisibilityTest.java +E:\code\crm-backend-matt\crm-base\src\test\java\com\crm\base\advice\GlobalDataBindingAdviceTest.java +E:\code\crm-backend-matt\crm-base\src\test\java\com\crm\base\security\DataVisibilityTest.java diff --git a/crm-base/target/surefire-reports/TEST-com.crm.base.security.DataVisibilityTest.xml b/crm-base/target/surefire-reports/TEST-com.crm.base.security.DataVisibilityTest.xml index 429f1b2..3fb3ce9 100644 --- a/crm-base/target/surefire-reports/TEST-com.crm.base.security.DataVisibilityTest.xml +++ b/crm-base/target/surefire-reports/TEST-com.crm.base.security.DataVisibilityTest.xml @@ -1,77 +1,81 @@ - + - + - - + + - + - + - - + + - + - + - + - + - + + + - - + + + - - - - + + + + + - - - + + + - + - - - + + + - + - + - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + +testsuite> \ No newline at end of file diff --git a/crm-base/target/surefire-reports/com.crm.base.security.DataVisibilityTest.txt b/crm-base/target/surefire-reports/com.crm.base.security.DataVisibilityTest.txt index 00789a0..abbe7e7 100644 --- a/crm-base/target/surefire-reports/com.crm.base.security.DataVisibilityTest.txt +++ b/crm-base/target/surefire-reports/com.crm.base.security.DataVisibilityTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: com.crm.base.security.DataVisibilityTest ------------------------------------------------------------------------------- -Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.198 s -- in com.crm.base.security.DataVisibilityTest +Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.060 s -- in com.crm.base.security.DataVisibilityTest diff --git a/crm-base/target/test-classes/com/crm/base/security/DataVisibilityTest.class b/crm-base/target/test-classes/com/crm/base/security/DataVisibilityTest.class index f11a7a8..040328c 100644 Binary files a/crm-base/target/test-classes/com/crm/base/security/DataVisibilityTest.class and b/crm-base/target/test-classes/com/crm/base/security/DataVisibilityTest.class differ diff --git a/crm-dict/src/main/java/com/crm/dict/controller/DictGroupController.java b/crm-dict/src/main/java/com/crm/dict/controller/DictGroupController.java index 32c9a26..310fe85 100644 --- a/crm-dict/src/main/java/com/crm/dict/controller/DictGroupController.java +++ b/crm-dict/src/main/java/com/crm/dict/controller/DictGroupController.java @@ -3,8 +3,7 @@ package com.crm.dict.controller; import com.crm.base.domain.result.PageResult; import com.crm.base.domain.result.Result; import com.crm.dict.constant.DictConstants; -import com.crm.dict.domain.dto.DictGroupVO; -import com.crm.dict.domain.entity.DictGroup; +import com.crm.dict.domain.dto.DictGroupDTO; import com.crm.dict.domain.param.GroupPageParam; import com.crm.dict.service.IDictGroupService; import io.swagger.v3.oas.annotations.Operation; @@ -33,15 +32,15 @@ public class DictGroupController { @Operation(summary = "分组分页(keyword 匹配名称/编码,status 筛选)") @PreAuthorize("hasAuthority('" + DictConstants.PERM_GROUP_LIST + "')") @PostMapping("/page") - public Result> page(GroupPageParam param) { + public Result> page(GroupPageParam param) { return Result.success(dictGroupService.pageGroups(param)); } @Operation(summary = "新建/编辑分组(新建编码必填;编辑时编码/内置标记/状态只读)") @PreAuthorize("hasAuthority('" + DictConstants.PERM_GROUP_SAVE + "')") @PostMapping("/saveOrUpdate") - public Result saveOrUpdate(DictGroup group) { - dictGroupService.saveGroup(group); + public Result saveOrUpdate(DictGroupDTO dto) { + dictGroupService.saveGroup(dto); return Result.success(); } @@ -64,7 +63,7 @@ public class DictGroupController { @Operation(summary = "启用分组列表(新建字典项选分组用)") @PreAuthorize("hasAuthority('" + DictConstants.PERM_GROUP_LIST + "')") @GetMapping("/enabled-list") - public Result> enabledList() { + public Result> enabledList() { return Result.success(dictGroupService.listEnabled()); } } diff --git a/crm-dict/src/main/java/com/crm/dict/controller/DictItemController.java b/crm-dict/src/main/java/com/crm/dict/controller/DictItemController.java index 8ca736e..2e2809c 100644 --- a/crm-dict/src/main/java/com/crm/dict/controller/DictItemController.java +++ b/crm-dict/src/main/java/com/crm/dict/controller/DictItemController.java @@ -3,8 +3,7 @@ package com.crm.dict.controller; import com.crm.base.domain.result.PageResult; import com.crm.base.domain.result.Result; import com.crm.dict.constant.DictConstants; -import com.crm.dict.domain.dto.DictItemVO; -import com.crm.dict.domain.entity.DictItem; +import com.crm.dict.domain.dto.DictItemDTO; import com.crm.dict.domain.param.ItemPageParam; import com.crm.dict.service.DictQueryService; import com.crm.dict.service.IDictItemService; @@ -35,15 +34,15 @@ public class DictItemController { @Operation(summary = "字典项分页(groupId/keyword/status 筛选,附带默认/引用/有效可选标记)") @PreAuthorize("hasAuthority('" + DictConstants.PERM_ITEM_LIST + "')") @PostMapping("/page") - public Result> page(ItemPageParam param) { + public Result> page(ItemPageParam param) { return Result.success(dictItemService.pageItems(param)); } @Operation(summary = "新建/编辑字典项(新建编码空自动生成;分组/编码创建后只读;值被引用后只读)") @PreAuthorize("hasAuthority('" + DictConstants.PERM_ITEM_SAVE + "')") @PostMapping("/saveOrUpdate") - public Result saveOrUpdate(DictItem item) { - dictItemService.saveItem(item); + public Result saveOrUpdate(DictItemDTO dto) { + dictItemService.saveItem(dto); return Result.success(); } @@ -83,7 +82,7 @@ public class DictItemController { @Operation(summary = "某分组启用项列表(业务选择器渲染用,走 10s 本地缓存)") @PreAuthorize("hasAuthority('" + DictConstants.PERM_ITEM_LIST + "')") @GetMapping("/enabled-list") - public Result> enabledList(@RequestParam("groupCode") String groupCode) { + public Result> enabledList(@RequestParam("groupCode") String groupCode) { return Result.success(dictQueryService.listEnabledItems(groupCode)); } } diff --git a/crm-dict/src/main/java/com/crm/dict/domain/dto/DictGroupDTO.java b/crm-dict/src/main/java/com/crm/dict/domain/dto/DictGroupDTO.java new file mode 100644 index 0000000..4f88a95 --- /dev/null +++ b/crm-dict/src/main/java/com/crm/dict/domain/dto/DictGroupDTO.java @@ -0,0 +1,50 @@ +package com.crm.dict.domain.dto; + +import com.crm.base.domain.dto.BaseDTO; +import com.crm.dict.domain.entity.DictGroup; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 字典分组传输对象(写入参 + 出参双向,ADR-0017 Route A) + *

继承 {@link BaseDTO} 白拿 id/createTime/updateTime; + * builtin 由全局 @InitBinder 在入参侧 strip,出参侧展示原值

+ */ +@Data +@EqualsAndHashCode(callSuper = true) +public class DictGroupDTO extends BaseDTO { + + private String name; + + private String code; + + private Integer sortNo; + + private Integer status; + + private String description; + + private Boolean builtin; + + @Schema(description = "分组下未删除的字典项数量(含启用+停用)") + private Long itemCount; + + /** + * Entity → DTO(出参转换,Service 层调用) + */ + public static DictGroupDTO fromEntity(DictGroup entity) { + DictGroupDTO dto = new DictGroupDTO(); + org.springframework.beans.BeanUtils.copyProperties(entity, dto); + return dto; + } + + /** + * DTO → Entity(入参转换,Service 层调用) + */ + public DictGroup toEntity() { + DictGroup entity = new DictGroup(); + org.springframework.beans.BeanUtils.copyProperties(this, entity); + return entity; + } +} diff --git a/crm-dict/src/main/java/com/crm/dict/domain/dto/DictGroupVO.java b/crm-dict/src/main/java/com/crm/dict/domain/dto/DictGroupVO.java deleted file mode 100644 index 8d127af..0000000 --- a/crm-dict/src/main/java/com/crm/dict/domain/dto/DictGroupVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.crm.dict.domain.dto; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 字典分组视图对象:分页列表展示用 - *

独立字段(不继承实体),只暴露前端需要的业务字段 + createTime, - * 排除审计字段(creatorId/updaterId/updateTime/deleted)和软删内部字段(deleteKey)。

- */ -@Data -public class DictGroupVO { - - private Long id; - - private String name; - - private String code; - - private Integer sortNo; - - private Integer status; - - private String description; - - private Boolean builtin; - - private LocalDateTime createTime; - - @Schema(description = "分组下未删除的字典项数量(含启用+停用)") - private Long itemCount; -} diff --git a/crm-dict/src/main/java/com/crm/dict/domain/dto/DictItemDTO.java b/crm-dict/src/main/java/com/crm/dict/domain/dto/DictItemDTO.java new file mode 100644 index 0000000..dbac985 --- /dev/null +++ b/crm-dict/src/main/java/com/crm/dict/domain/dto/DictItemDTO.java @@ -0,0 +1,65 @@ +package com.crm.dict.domain.dto; + +import com.crm.base.domain.dto.BaseDTO; +import com.crm.dict.domain.entity.DictItem; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 字典项传输对象(写入参 + 出参双向,ADR-0017 Route A) + *

继承 {@link BaseDTO} 白拿 id/createTime/updateTime; + * builtin 由全局 @InitBinder 在入参侧 strip,出参侧展示原值

+ *

referenced 读实时引用计数(绝不进缓存);effectiveSelectable 供前端对 + * "自身启用但所属分组已停用"的失活项做视觉标记

+ */ +@Data +@EqualsAndHashCode(callSuper = true) +public class DictItemDTO extends BaseDTO { + + private Long groupId; + + private String name; + + private String code; + + private String value; + + private Integer sortNo; + + private Integer status; + + private String description; + + private Boolean builtin; + + @Schema(description = "所属分组名称") + private String groupName; + + @Schema(description = "是否为分组默认项") + private Boolean isDefault; + + @Schema(description = "是否被业务引用(实时计数)") + private Boolean referenced; + + @Schema(description = "是否有效可选(分组与项均启用)") + private Boolean effectiveSelectable; + + /** + * Entity → DTO(出参转换,Service 层调用) + */ + public static DictItemDTO fromEntity(DictItem entity) { + DictItemDTO dto = new DictItemDTO(); + org.springframework.beans.BeanUtils.copyProperties(entity, dto); + return dto; + } + + /** + * DTO → Entity(入参转换,Service 层调用) + */ + public DictItem toEntity() { + DictItem entity = new DictItem(); + org.springframework.beans.BeanUtils.copyProperties(this, entity); + return entity; + } +} diff --git a/crm-dict/src/main/java/com/crm/dict/domain/dto/DictItemVO.java b/crm-dict/src/main/java/com/crm/dict/domain/dto/DictItemVO.java deleted file mode 100644 index 524d088..0000000 --- a/crm-dict/src/main/java/com/crm/dict/domain/dto/DictItemVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.crm.dict.domain.dto; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 字典项视图对象:分页列表展示用 - *

referenced 读实时引用计数(绝不进缓存);effectiveSelectable 供前端对 - * "自身启用但所属分组已停用"的失活项做视觉标记。 - * 独立字段(不继承实体),只暴露前端需要的业务字段 + createTime, - * 排除审计字段(creatorId/updaterId/updateTime/deleted)和软删内部字段(deleteKey)。

- */ -@Data -public class DictItemVO { - - private Long id; - - private Long groupId; - - private String name; - - private String code; - - private String value; - - private Integer sortNo; - - private Integer status; - - private String description; - - private Boolean builtin; - - private LocalDateTime createTime; - - @Schema(description = "所属分组名称") - private String groupName; - - @Schema(description = "是否为分组默认项") - private Boolean isDefault; - - @Schema(description = "是否被业务引用(实时计数)") - private Boolean referenced; - - @Schema(description = "是否有效可选(分组与项均启用)") - private Boolean effectiveSelectable; -} diff --git a/crm-dict/src/main/java/com/crm/dict/service/DictQueryService.java b/crm-dict/src/main/java/com/crm/dict/service/DictQueryService.java index c99d833..b69a807 100644 --- a/crm-dict/src/main/java/com/crm/dict/service/DictQueryService.java +++ b/crm-dict/src/main/java/com/crm/dict/service/DictQueryService.java @@ -1,5 +1,6 @@ package com.crm.dict.service; +import com.crm.dict.domain.dto.DictItemDTO; import com.crm.dict.domain.entity.DictItem; import java.util.List; @@ -8,7 +9,7 @@ import java.util.List; * 字典读路径服务(业务模块读契约,ADR-0015) *

带 Caffeine 本地缓存:10s TTL 正结果 + 2s 空结果防穿透,扛高频读; * 变更写入不主动 evict,接受多副本 10 秒最终一致。不含任何写方法。

- *

注意:本服务返回的实体是缓存快照(可能滞后 10s),只可用于渲染/校验; + *

注意:本服务返回的对象是缓存快照(可能滞后 10s),只可用于渲染/校验; * 需要实时数据(如删除判定)请走 {@link DictReferenceService}。

*/ public interface DictQueryService { @@ -22,7 +23,7 @@ public interface DictQueryService { * 某分组下的启用字典项列表(业务选择器渲染用):只返回分组与项均启用的项; * 分组不存在或分组停用时返回空列表,按 sort_no 排序(空排最后) */ - List listEnabledItems(String groupCode); + List listEnabledItems(String groupCode); /** * 分组当前默认项:联查 group.status,分组停用(休眠)或未设默认时返回 null diff --git a/crm-dict/src/main/java/com/crm/dict/service/IDictGroupService.java b/crm-dict/src/main/java/com/crm/dict/service/IDictGroupService.java index 8be532d..dfdb8ca 100644 --- a/crm-dict/src/main/java/com/crm/dict/service/IDictGroupService.java +++ b/crm-dict/src/main/java/com/crm/dict/service/IDictGroupService.java @@ -2,7 +2,7 @@ package com.crm.dict.service; import com.crm.base.domain.result.PageResult; import com.crm.base.service.IBaseService; -import com.crm.dict.domain.dto.DictGroupVO; +import com.crm.dict.domain.dto.DictGroupDTO; import com.crm.dict.domain.entity.DictGroup; import com.crm.dict.domain.param.GroupPageParam; @@ -16,13 +16,13 @@ public interface IDictGroupService extends IBaseService { /** * 分组分页(keyword 匹配名称/编码;status 筛选;itemCount 一次聚合查询) */ - PageResult pageGroups(GroupPageParam param); + PageResult pageGroups(GroupPageParam param); /** * 新建/编辑分组:新建编码必填且全局唯一、builtin 强制 false、status 默认启用; * 编辑时编码/builtin/status 保留原值(编码创建后不可改,启停走独立端点) */ - void saveGroup(DictGroup group); + void saveGroup(DictGroupDTO dto); /** * 删除分组:builtin 阻断;分组下仍有未删除字典项则阻断;软删除 + 复用键 @@ -37,5 +37,5 @@ public interface IDictGroupService extends IBaseService { /** * 启用分组列表(新建字典项选分组用),按 sort_no 排序 */ - List listEnabled(); + List listEnabled(); } diff --git a/crm-dict/src/main/java/com/crm/dict/service/IDictItemService.java b/crm-dict/src/main/java/com/crm/dict/service/IDictItemService.java index d4f2e5f..875d41b 100644 --- a/crm-dict/src/main/java/com/crm/dict/service/IDictItemService.java +++ b/crm-dict/src/main/java/com/crm/dict/service/IDictItemService.java @@ -2,7 +2,7 @@ package com.crm.dict.service; import com.crm.base.domain.result.PageResult; import com.crm.base.service.IBaseService; -import com.crm.dict.domain.dto.DictItemVO; +import com.crm.dict.domain.dto.DictItemDTO; import com.crm.dict.domain.entity.DictItem; import com.crm.dict.domain.param.ItemPageParam; @@ -14,13 +14,13 @@ public interface IDictItemService extends IBaseService { /** * 字典项分页(groupId/keyword/status 筛选;附带 groupName/isDefault/referenced/effectiveSelectable) */ - PageResult pageItems(ItemPageParam param); + PageResult pageItems(ItemPageParam param); /** * 新建/编辑字典项:新建时分组必选且须启用、编码空则自动生成 dict_+32位hex、组内唯一、 * 同事务预建引用计数行;编辑时分组/编码只读、被引用后字典值只读、builtin/status 保留原值 */ - void saveItem(DictItem item); + void saveItem(DictItemDTO dto); /** * 删除字典项:builtin 阻断;被引用阻断;软删除 + 复用键,同事务清默认项记录与引用计数行 diff --git a/crm-dict/src/main/java/com/crm/dict/service/impl/DictGroupServiceImpl.java b/crm-dict/src/main/java/com/crm/dict/service/impl/DictGroupServiceImpl.java index ee3d5ca..879f142 100644 --- a/crm-dict/src/main/java/com/crm/dict/service/impl/DictGroupServiceImpl.java +++ b/crm-dict/src/main/java/com/crm/dict/service/impl/DictGroupServiceImpl.java @@ -12,7 +12,7 @@ import com.crm.base.domain.result.PageResult; import com.crm.base.service.impl.BaseServiceImpl; import com.crm.base.utils.PageConverter; import com.crm.dict.constant.DictConstants; -import com.crm.dict.domain.dto.DictGroupVO; +import com.crm.dict.domain.dto.DictGroupDTO; import com.crm.dict.domain.entity.DictGroup; import com.crm.dict.domain.entity.DictGroupDefault; import com.crm.dict.domain.entity.DictItem; @@ -44,7 +44,7 @@ public class DictGroupServiceImpl extends BaseServiceImpl pageGroups(GroupPageParam param) { + public PageResult pageGroups(GroupPageParam param) { // 分组分页排序固定:sort_no 空排最后、再按创建时间;不支持前端自定义排序(spec 端点表) param.setOrderBy(null); param.setAsc(null); @@ -57,24 +57,21 @@ public class DictGroupServiceImpl extends BaseServiceImpl result = new PageResult<>(page) - .convert(g -> g.toDTO(DictGroupVO::new)); + PageResult result = new PageResult<>(page) + .convert(DictGroupDTO::fromEntity); fillItemCount(result.getContent()); return result; } @Override @Transactional(rollbackFor = Exception.class) - public void saveGroup(DictGroup group) { - if (group == null) { + public void saveGroup(DictGroupDTO dto) { + if (dto == null) { throw new BusinessErrorException(DictConstants.CODE_DICT_INVALID, "请求参数缺失"); } - // 审计字段由框架 strictInsertFill/strictUpdateFill 自动填充(仅 null 时填充), - // 客户端传入的审计值不可信且会被保留,统一清空防止伪造 - group.setCreateTime(null); - group.setUpdateTime(null); - group.setCreatorId(null); - group.setUpdaterId(null); + DictGroup group = dto.toEntity(); + // 审计字段(createTime/updateTime/creatorId/updaterId/deleted/builtin) + // 由全局 @InitBinder 在入参侧 strip,此处不再手工清空 if (StrUtil.isBlank(group.getName())) { throw new BusinessErrorException(DictConstants.CODE_DICT_INVALID, "分组名称不能为空"); } @@ -96,7 +93,7 @@ public class DictGroupServiceImpl extends BaseServiceImpl listEnabled() { + public List listEnabled() { return this.lambdaQuery() .eq(DictGroup::getStatus, DictConstants.STATUS_ENABLED) .last("ORDER BY sort_no IS NULL, sort_no ASC, create_time ASC") - .list(); + .list().stream() + .map(DictGroupDTO::fromEntity) + .collect(Collectors.toList()); } /** 填充当前页各分组的字典项数量(一次聚合查询) */ - private void fillItemCount(List vos) { + private void fillItemCount(List vos) { if (CollUtil.isEmpty(vos)) { return; } - List ids = vos.stream().map(DictGroupVO::getId).collect(Collectors.toList()); + List ids = vos.stream().map(DictGroupDTO::getId).collect(Collectors.toList()); List> counts = dictItemMapper.selectMaps(new QueryWrapper() .select("group_id AS group_id", "COUNT(*) AS item_count") .in("group_id", ids) diff --git a/crm-dict/src/main/java/com/crm/dict/service/impl/DictItemServiceImpl.java b/crm-dict/src/main/java/com/crm/dict/service/impl/DictItemServiceImpl.java index e1f7c8e..1f518c0 100644 --- a/crm-dict/src/main/java/com/crm/dict/service/impl/DictItemServiceImpl.java +++ b/crm-dict/src/main/java/com/crm/dict/service/impl/DictItemServiceImpl.java @@ -11,7 +11,7 @@ import com.crm.base.domain.result.PageResult; import com.crm.base.service.impl.BaseServiceImpl; import com.crm.base.utils.PageConverter; import com.crm.dict.constant.DictConstants; -import com.crm.dict.domain.dto.DictItemVO; +import com.crm.dict.domain.dto.DictItemDTO; import com.crm.dict.domain.entity.DictGroup; import com.crm.dict.domain.entity.DictGroupDefault; import com.crm.dict.domain.entity.DictItem; @@ -51,7 +51,7 @@ public class DictItemServiceImpl extends BaseServiceImpl pageItems(ItemPageParam param) { + public PageResult pageItems(ItemPageParam param) { // 字典项分页排序固定:sort_no 空排最后、再按创建时间;不支持前端自定义排序(spec 端点表) param.setOrderBy(null); param.setAsc(null); @@ -67,24 +67,21 @@ public class DictItemServiceImpl extends BaseServiceImpl result = new PageResult<>(page) - .convert(i -> i.toDTO(DictItemVO::new)); + PageResult result = new PageResult<>(page) + .convert(DictItemDTO::fromEntity); enrich(result.getContent()); return result; } @Override @Transactional(rollbackFor = Exception.class) - public void saveItem(DictItem item) { - if (item == null) { + public void saveItem(DictItemDTO dto) { + if (dto == null) { throw new BusinessErrorException(DictConstants.CODE_DICT_INVALID, "请求参数缺失"); } - // 审计字段由框架 strictInsertFill/strictUpdateFill 自动填充(仅 null 时填充), - // 客户端传入的审计值不可信且会被保留,统一清空防止伪造 - item.setCreateTime(null); - item.setUpdateTime(null); - item.setCreatorId(null); - item.setUpdaterId(null); + DictItem item = dto.toEntity(); + // 审计字段(createTime/updateTime/creatorId/updaterId/deleted/builtin) + // 由全局 @InitBinder 在入参侧 strip,此处不再手工清空 if (item.getGroupId() == null) { if (item.getId() == null) { throw new BusinessErrorException(DictConstants.CODE_DICT_INVALID, "请选择所属分组"); @@ -126,7 +123,7 @@ public class DictItemServiceImpl extends BaseServiceImpl vos) { + private void enrich(List vos) { if (CollUtil.isEmpty(vos)) { return; } - Set groupIds = vos.stream().map(DictItemVO::getGroupId).collect(Collectors.toSet()); + Set groupIds = vos.stream().map(DictItemDTO::getGroupId).collect(Collectors.toSet()); Map groups = dictGroupMapper.selectBatchIds(groupIds).stream() .collect(Collectors.toMap(DictGroup::getId, g -> g)); Map defaultMap = dictGroupDefaultMapper.selectList( @@ -314,11 +307,11 @@ public class DictItemServiceImpl extends BaseServiceImpl queryReferencedKeys(List vos, Map groups) { + private Set queryReferencedKeys(List vos, Map groups) { QueryWrapper qw = new QueryWrapper<>(); qw.and(w -> { boolean first = true; - for (DictItemVO v : vos) { + for (DictItemDTO v : vos) { DictGroup g = groups.get(v.getGroupId()); if (g == null) { continue; diff --git a/crm-dict/src/main/java/com/crm/dict/service/impl/DictQueryServiceImpl.java b/crm-dict/src/main/java/com/crm/dict/service/impl/DictQueryServiceImpl.java index 124f906..4824aa4 100644 --- a/crm-dict/src/main/java/com/crm/dict/service/impl/DictQueryServiceImpl.java +++ b/crm-dict/src/main/java/com/crm/dict/service/impl/DictQueryServiceImpl.java @@ -3,6 +3,7 @@ package com.crm.dict.service.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.crm.dict.constant.DictConstants; +import com.crm.dict.domain.dto.DictItemDTO; import com.crm.dict.domain.entity.DictGroup; import com.crm.dict.domain.entity.DictGroupDefault; import com.crm.dict.domain.entity.DictItem; @@ -65,11 +66,12 @@ public class DictQueryServiceImpl implements DictQueryService { } @Override - public List listEnabledItems(String groupCode) { + public List listEnabledItems(String groupCode) { String key = "enabledItems:" + groupCode; Object cached = valueCache.getIfPresent(key); if (cached != null) { - return cached == EMPTY ? List.of() : castItems(cached); + return cached == EMPTY ? List.of() : castItems(cached).stream() + .map(DictItemDTO::fromEntity).toList(); } if (emptyCache.getIfPresent(key) == EMPTY) { return List.of(); @@ -92,7 +94,7 @@ public class DictQueryServiceImpl implements DictQueryService { } else { valueCache.put(key, items); } - return items; + return items.stream().map(DictItemDTO::fromEntity).toList(); } @Override diff --git a/crm-dict/src/test/java/com/crm/dict/AbstractDictH2Test.java b/crm-dict/src/test/java/com/crm/dict/AbstractDictH2Test.java index 656bcce..ebee953 100644 --- a/crm-dict/src/test/java/com/crm/dict/AbstractDictH2Test.java +++ b/crm-dict/src/test/java/com/crm/dict/AbstractDictH2Test.java @@ -8,8 +8,10 @@ import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.crm.base.config.MetaObjectFillHandler; import com.crm.base.domain.exception.BusinessErrorException; +import com.crm.dict.constant.DictConstants; import com.crm.dict.domain.entity.DictGroup; import com.crm.dict.domain.entity.DictItem; +import com.crm.dict.domain.entity.DictRefCount; import com.crm.dict.mapper.DictGroupDefaultMapper; import com.crm.dict.mapper.DictGroupMapper; import com.crm.dict.mapper.DictItemMapper; @@ -137,7 +139,10 @@ public abstract class AbstractDictH2Test { DictGroup g = new DictGroup(); g.setCode(code); g.setName(name); - dictGroupService.saveGroup(g); + g.setStatus(DictConstants.STATUS_ENABLED); + g.setBuiltin(false); + g.setDeleteKey(0L); + dictGroupMapper.insert(g); return g; } @@ -147,7 +152,17 @@ public abstract class AbstractDictH2Test { i.setCode(code); i.setValue(value); i.setName("项-" + code); - dictItemService.saveItem(i); + i.setStatus(DictConstants.STATUS_ENABLED); + i.setBuiltin(false); + i.setDeleteKey(0L); + dictItemMapper.insert(i); + // 同事务预建引用计数行(与 saveItem 逻辑一致) + DictGroup group = dictGroupMapper.selectById(groupId); + DictRefCount ref = new DictRefCount(); + ref.setGroupCode(group.getCode()); + ref.setItemCode(code); + ref.setRefCount(0); + dictRefCountMapper.insert(ref); return i; } diff --git a/crm-dict/src/test/java/com/crm/dict/service/impl/DictGroupServiceTest.java b/crm-dict/src/test/java/com/crm/dict/service/impl/DictGroupServiceTest.java index 4e4ea39..62afd6e 100644 --- a/crm-dict/src/test/java/com/crm/dict/service/impl/DictGroupServiceTest.java +++ b/crm-dict/src/test/java/com/crm/dict/service/impl/DictGroupServiceTest.java @@ -2,7 +2,7 @@ package com.crm.dict.service.impl; import com.crm.dict.AbstractDictH2Test; import com.crm.dict.constant.DictConstants; -import com.crm.dict.domain.dto.DictGroupVO; +import com.crm.dict.domain.dto.DictGroupDTO; import com.crm.dict.domain.entity.DictGroup; import com.crm.dict.domain.param.GroupPageParam; import com.crm.base.domain.result.PageResult; @@ -31,7 +31,7 @@ class DictGroupServiceTest extends AbstractDictH2Test { GroupPageParam param = new GroupPageParam(); param.setCurrent(1); param.setSize(10); - PageResult result = dictGroupService.pageGroups(param); + PageResult result = dictGroupService.pageGroups(param); assertThat(result.getContent()).hasSize(1); assertThat(result.getContent().get(0).getItemCount()).isEqualTo(3); @@ -45,29 +45,29 @@ class DictGroupServiceTest extends AbstractDictH2Test { GroupPageParam byName = new GroupPageParam(); byName.setKeyword("来源"); - assertThat(dictGroupService.pageGroups(byName).getContent()).extracting(DictGroupVO::getCode) + assertThat(dictGroupService.pageGroups(byName).getContent()).extracting(DictGroupDTO::getCode) .containsExactly("lead_source"); GroupPageParam byCode = new GroupPageParam(); byCode.setKeyword("industry"); - assertThat(dictGroupService.pageGroups(byCode).getContent()).extracting(DictGroupVO::getCode) + assertThat(dictGroupService.pageGroups(byCode).getContent()).extracting(DictGroupDTO::getCode) .containsExactly("industry"); dictGroupService.updateGroupStatus(g1.getId(), DictConstants.STATUS_DISABLED); GroupPageParam onlyEnabled = new GroupPageParam(); onlyEnabled.setStatus(DictConstants.STATUS_ENABLED); - assertThat(dictGroupService.pageGroups(onlyEnabled).getContent()).extracting(DictGroupVO::getCode) + assertThat(dictGroupService.pageGroups(onlyEnabled).getContent()).extracting(DictGroupDTO::getCode) .containsExactly("industry"); } @Test @DisplayName("新建:编码必填且格式校验") void saveGroup_requiredAndFormat() { - DictGroup noCode = new DictGroup(); + DictGroupDTO noCode = new DictGroupDTO(); noCode.setName("缺编码"); assertDictError(() -> dictGroupService.saveGroup(noCode), DictConstants.CODE_DICT_INVALID); - DictGroup badCode = new DictGroup(); + DictGroupDTO badCode = new DictGroupDTO(); badCode.setCode("bad code!"); badCode.setName("坏格式"); assertDictError(() -> dictGroupService.saveGroup(badCode), DictConstants.CODE_DICT_INVALID); @@ -77,7 +77,7 @@ class DictGroupServiceTest extends AbstractDictH2Test { @DisplayName("新建:编码全局唯一,重复被拒") void saveGroup_codeDuplicate() { newGroup("lead_source", "客户来源"); - DictGroup dup = new DictGroup(); + DictGroupDTO dup = new DictGroupDTO(); dup.setCode("lead_source"); dup.setName("重复分组"); assertDictError(() -> dictGroupService.saveGroup(dup), DictConstants.CODE_GROUP_CODE_DUPLICATE); @@ -97,7 +97,7 @@ class DictGroupServiceTest extends AbstractDictH2Test { @DisplayName("编辑:改名成功,编码保持原值(前端传新编码也被忽略)") void saveGroup_updateKeepsCode() { DictGroup g = newGroup("lead_source", "客户来源"); - DictGroup edit = new DictGroup(); + DictGroupDTO edit = new DictGroupDTO(); edit.setId(g.getId()); edit.setCode("hacked_code"); edit.setName("改过的名称"); @@ -111,7 +111,7 @@ class DictGroupServiceTest extends AbstractDictH2Test { @Test @DisplayName("编辑:不存在的分组抛 63011") void saveGroup_updateNotExist() { - DictGroup edit = new DictGroup(); + DictGroupDTO edit = new DictGroupDTO(); edit.setId(999999L); edit.setName("不存在"); assertDictError(() -> dictGroupService.saveGroup(edit), DictConstants.CODE_GROUP_NOT_EXIST); @@ -156,13 +156,13 @@ class DictGroupServiceTest extends AbstractDictH2Test { DictGroup g2 = newGroup("g2", "分组二"); DictGroup g3 = newGroup("g3", "分组三"); - DictGroup edit = new DictGroup(); + DictGroupDTO edit = new DictGroupDTO(); edit.setId(g2.getId()); edit.setName("分组二"); edit.setSortNo(1); dictGroupService.saveGroup(edit); - DictGroup edit3 = new DictGroup(); + DictGroupDTO edit3 = new DictGroupDTO(); edit3.setId(g3.getId()); edit3.setName("分组三"); edit3.setSortNo(0); @@ -171,9 +171,9 @@ class DictGroupServiceTest extends AbstractDictH2Test { // 停用 g1 dictGroupService.updateGroupStatus(g1.getId(), DictConstants.STATUS_DISABLED); - List enabled = dictGroupService.listEnabled(); - assertThat(enabled).extracting(DictGroup::getCode) + List enabled = dictGroupService.listEnabled(); + assertThat(enabled).extracting(DictGroupDTO::getCode) .containsExactly("g3", "g2"); // sort_no 升序,g1 已停用 - assertThat(enabled).extracting(DictGroup::getCode).doesNotContain("g1"); + assertThat(enabled).extracting(DictGroupDTO::getCode).doesNotContain("g1"); } } diff --git a/crm-dict/src/test/java/com/crm/dict/service/impl/DictItemServiceTest.java b/crm-dict/src/test/java/com/crm/dict/service/impl/DictItemServiceTest.java index b547855..6c38962 100644 --- a/crm-dict/src/test/java/com/crm/dict/service/impl/DictItemServiceTest.java +++ b/crm-dict/src/test/java/com/crm/dict/service/impl/DictItemServiceTest.java @@ -2,7 +2,7 @@ package com.crm.dict.service.impl; import com.crm.dict.AbstractDictH2Test; import com.crm.dict.constant.DictConstants; -import com.crm.dict.domain.dto.DictItemVO; +import com.crm.dict.domain.dto.DictItemDTO; import com.crm.dict.domain.entity.DictGroup; import com.crm.dict.domain.entity.DictItem; import com.crm.dict.domain.param.ItemPageParam; @@ -22,12 +22,12 @@ class DictItemServiceTest extends AbstractDictH2Test { @DisplayName("新建:编码空自动生成 dict_+32位hex,并同事务预建引用计数行") void saveItem_autoCodeAndRefCountRow() { DictGroup g = newGroup("lead_source", "客户来源"); - DictItem item = new DictItem(); - item.setGroupId(g.getId()); - item.setName("未填编码"); - dictItemService.saveItem(item); + DictItemDTO dto = new DictItemDTO(); + dto.setGroupId(g.getId()); + dto.setName("未填编码"); + dictItemService.saveItem(dto); - DictItem saved = dictItemMapper.selectById(item.getId()); + DictItem saved = dictItemMapper.selectList(null).get(0); assertThat(saved.getCode()).startsWith(DictConstants.CODE_AUTO_PREFIX); assertThat(saved.getCode()).hasSize(DictConstants.CODE_AUTO_PREFIX.length() + 32); // 预建行:计数 0 且"未被引用" @@ -42,13 +42,13 @@ class DictItemServiceTest extends AbstractDictH2Test { DictGroup g2 = newGroup("g2", "分组二"); newItem(g1.getId(), "shared_code", "A"); - DictItem dup = new DictItem(); + DictItemDTO dup = new DictItemDTO(); dup.setGroupId(g1.getId()); dup.setCode("shared_code"); dup.setName("重复"); assertDictError(() -> dictItemService.saveItem(dup), DictConstants.CODE_ITEM_CODE_DUPLICATE); - DictItem cross = new DictItem(); + DictItemDTO cross = new DictItemDTO(); cross.setGroupId(g2.getId()); cross.setCode("shared_code"); cross.setName("跨组同名"); @@ -61,7 +61,7 @@ class DictItemServiceTest extends AbstractDictH2Test { DictGroup g = newGroup("g", "分组"); newItem(g.getId(), "a", "VALUE_A"); - DictItem dupValue = new DictItem(); + DictItemDTO dupValue = new DictItemDTO(); dupValue.setGroupId(g.getId()); dupValue.setCode("b"); dupValue.setName("重复值"); @@ -69,12 +69,12 @@ class DictItemServiceTest extends AbstractDictH2Test { assertDictError(() -> dictItemService.saveItem(dupValue), DictConstants.CODE_ITEM_VALUE_DUPLICATE); // 两个空值项共存(空串与 null 归一化) - DictItem nullValue = new DictItem(); + DictItemDTO nullValue = new DictItemDTO(); nullValue.setGroupId(g.getId()); nullValue.setCode("c"); nullValue.setName("空值一"); dictItemService.saveItem(nullValue); - DictItem blankValue = new DictItem(); + DictItemDTO blankValue = new DictItemDTO(); blankValue.setGroupId(g.getId()); blankValue.setCode("d"); blankValue.setName("空值二"); @@ -86,7 +86,7 @@ class DictItemServiceTest extends AbstractDictH2Test { @Test @DisplayName("新建:分组不存在 63011;分组停用 63005") void saveItem_groupNotAvailable() { - DictItem noGroup = new DictItem(); + DictItemDTO noGroup = new DictItemDTO(); noGroup.setGroupId(999999L); noGroup.setCode("x"); noGroup.setName("无分组"); @@ -94,7 +94,7 @@ class DictItemServiceTest extends AbstractDictH2Test { DictGroup g = newGroup("g", "分组"); dictGroupService.updateGroupStatus(g.getId(), DictConstants.STATUS_DISABLED); - DictItem disabledGroup = new DictItem(); + DictItemDTO disabledGroup = new DictItemDTO(); disabledGroup.setGroupId(g.getId()); disabledGroup.setCode("y"); disabledGroup.setName("停用分组"); @@ -108,19 +108,19 @@ class DictItemServiceTest extends AbstractDictH2Test { DictGroup g2 = newGroup("g2", "分组二"); DictItem item = newItem(g1.getId(), "item_a", "VALUE_A"); - DictItem edit = new DictItem(); + DictItemDTO edit = new DictItemDTO(); edit.setId(item.getId()); edit.setName("改名后"); dictItemService.saveItem(edit); assertThat(dictItemMapper.selectById(item.getId()).getName()).isEqualTo("改名后"); - DictItem move = new DictItem(); + DictItemDTO move = new DictItemDTO(); move.setId(item.getId()); move.setGroupId(g2.getId()); move.setName("改名后"); assertDictError(() -> dictItemService.saveItem(move), DictConstants.CODE_ITEM_IDENTITY_READONLY); - DictItem recode = new DictItem(); + DictItemDTO recode = new DictItemDTO(); recode.setId(item.getId()); recode.setCode("item_b"); recode.setName("改名后"); @@ -134,7 +134,7 @@ class DictItemServiceTest extends AbstractDictH2Test { DictItem item = newItem(g.getId(), "item_a", "OLD"); // 未引用:可改值 - DictItem edit = new DictItem(); + DictItemDTO edit = new DictItemDTO(); edit.setId(item.getId()); edit.setName("项-a"); edit.setValue("NEW"); @@ -143,19 +143,19 @@ class DictItemServiceTest extends AbstractDictH2Test { // 被引用:改值被拒;清空也被拒;名称仍可改 dictReferenceService.increment(g.getCode(), "item_a"); - DictItem edit2 = new DictItem(); + DictItemDTO edit2 = new DictItemDTO(); edit2.setId(item.getId()); edit2.setName("项-a"); edit2.setValue("ANOTHER"); assertDictError(() -> dictItemService.saveItem(edit2), DictConstants.CODE_ITEM_REFERENCED); - DictItem edit3 = new DictItem(); + DictItemDTO edit3 = new DictItemDTO(); edit3.setId(item.getId()); edit3.setName("项-a"); edit3.setValue(""); assertDictError(() -> dictItemService.saveItem(edit3), DictConstants.CODE_ITEM_REFERENCED); - DictItem edit4 = new DictItem(); + DictItemDTO edit4 = new DictItemDTO(); edit4.setId(item.getId()); edit4.setName("改名仍允许"); edit4.setValue("NEW"); @@ -170,7 +170,7 @@ class DictItemServiceTest extends AbstractDictH2Test { newItem(g.getId(), "a", "VALUE_A"); DictItem itemB = newItem(g.getId(), "b", "VALUE_B"); - DictItem edit = new DictItem(); + DictItemDTO edit = new DictItemDTO(); edit.setId(itemB.getId()); edit.setName("项-b"); edit.setValue("VALUE_A"); @@ -198,11 +198,13 @@ class DictItemServiceTest extends AbstractDictH2Test { assertDictError(() -> dictItemService.deleteItem(rebuilt.getId()), DictConstants.CODE_ITEM_REFERENCED); // 内置阻断 - DictItem builtin = new DictItem(); - builtin.setGroupId(g.getId()); - builtin.setCode("builtin_item"); - builtin.setName("内置项"); - dictItemService.saveItem(builtin); + DictItemDTO builtinDto = new DictItemDTO(); + builtinDto.setGroupId(g.getId()); + builtinDto.setCode("builtin_item"); + builtinDto.setName("内置项"); + dictItemService.saveItem(builtinDto); + DictItem builtin = dictItemMapper.selectList(null).stream() + .filter(i -> "builtin_item".equals(i.getCode())).findFirst().orElseThrow(); builtin.setBuiltin(true); dictItemMapper.updateById(builtin); assertDictError(() -> dictItemService.deleteItem(builtin.getId()), DictConstants.CODE_BUILTIN_DICT_PROTECTED); @@ -268,22 +270,22 @@ class DictItemServiceTest extends AbstractDictH2Test { ItemPageParam param = new ItemPageParam(); param.setGroupId(g.getId()); - PageResult result = dictItemService.pageItems(param); + PageResult result = dictItemService.pageItems(param); assertThat(result.getContent()).hasSize(2); - DictItemVO voA = result.getContent().get(0); + DictItemDTO voA = result.getContent().get(0); assertThat(voA.getGroupName()).isEqualTo("分组"); assertThat(voA.getIsDefault()).isTrue(); assertThat(voA.getReferenced()).isTrue(); assertThat(voA.getEffectiveSelectable()).isTrue(); - DictItemVO voB = result.getContent().get(1); + DictItemDTO voB = result.getContent().get(1); assertThat(voB.getIsDefault()).isFalse(); assertThat(voB.getReferenced()).isFalse(); assertThat(voB.getEffectiveSelectable()).isTrue(); // 分组停用后:项自身启用但整组失活(US-32 视觉标记数据源) dictGroupService.updateGroupStatus(g.getId(), DictConstants.STATUS_DISABLED); - PageResult after = dictItemService.pageItems(param); + PageResult after = dictItemService.pageItems(param); assertThat(after.getContent()).allMatch(v -> !v.getEffectiveSelectable()); } } diff --git a/crm-file/target/classes/com/crm/file/config/FileProperties$Minio.class b/crm-file/target/classes/com/crm/file/config/FileProperties$Minio.class index 7f9cda2..0cc4b6e 100644 Binary files a/crm-file/target/classes/com/crm/file/config/FileProperties$Minio.class and b/crm-file/target/classes/com/crm/file/config/FileProperties$Minio.class differ diff --git a/crm-file/target/classes/com/crm/file/config/FileProperties$Preview.class b/crm-file/target/classes/com/crm/file/config/FileProperties$Preview.class index a009ad0..069487c 100644 Binary files a/crm-file/target/classes/com/crm/file/config/FileProperties$Preview.class and b/crm-file/target/classes/com/crm/file/config/FileProperties$Preview.class differ diff --git a/crm-file/target/classes/com/crm/file/config/FileProperties.class b/crm-file/target/classes/com/crm/file/config/FileProperties.class index 3b406c4..46c51c9 100644 Binary files a/crm-file/target/classes/com/crm/file/config/FileProperties.class and b/crm-file/target/classes/com/crm/file/config/FileProperties.class differ diff --git a/crm-file/target/classes/com/crm/file/config/MinioConfig.class b/crm-file/target/classes/com/crm/file/config/MinioConfig.class index bbf1055..d9f8cef 100644 Binary files a/crm-file/target/classes/com/crm/file/config/MinioConfig.class and b/crm-file/target/classes/com/crm/file/config/MinioConfig.class differ diff --git a/crm-file/target/classes/com/crm/file/controller/FileController.class b/crm-file/target/classes/com/crm/file/controller/FileController.class index 6104701..4c33e27 100644 Binary files a/crm-file/target/classes/com/crm/file/controller/FileController.class and b/crm-file/target/classes/com/crm/file/controller/FileController.class differ diff --git a/crm-file/target/classes/com/crm/file/domain/dto/FileDownloadDTO$FileDownloadDTOBuilder.class b/crm-file/target/classes/com/crm/file/domain/dto/FileDownloadDTO$FileDownloadDTOBuilder.class index be98865..b8a617a 100644 Binary files a/crm-file/target/classes/com/crm/file/domain/dto/FileDownloadDTO$FileDownloadDTOBuilder.class and b/crm-file/target/classes/com/crm/file/domain/dto/FileDownloadDTO$FileDownloadDTOBuilder.class differ diff --git a/crm-file/target/classes/com/crm/file/domain/dto/FileInfoDTO.class b/crm-file/target/classes/com/crm/file/domain/dto/FileInfoDTO.class index e197860..70bf0e8 100644 Binary files a/crm-file/target/classes/com/crm/file/domain/dto/FileInfoDTO.class and b/crm-file/target/classes/com/crm/file/domain/dto/FileInfoDTO.class differ diff --git a/crm-file/target/classes/com/crm/file/domain/dto/MultipartInitDTO.class b/crm-file/target/classes/com/crm/file/domain/dto/MultipartInitDTO.class index b9e832a..f68625b 100644 Binary files a/crm-file/target/classes/com/crm/file/domain/dto/MultipartInitDTO.class and b/crm-file/target/classes/com/crm/file/domain/dto/MultipartInitDTO.class differ diff --git a/crm-file/target/classes/com/crm/file/domain/dto/UploadSession.class b/crm-file/target/classes/com/crm/file/domain/dto/UploadSession.class index 877bdb0..0eff4f5 100644 Binary files a/crm-file/target/classes/com/crm/file/domain/dto/UploadSession.class and b/crm-file/target/classes/com/crm/file/domain/dto/UploadSession.class differ diff --git a/crm-file/target/classes/com/crm/file/domain/entity/FileInfo.class b/crm-file/target/classes/com/crm/file/domain/entity/FileInfo.class index 41f6423..5c5558a 100644 Binary files a/crm-file/target/classes/com/crm/file/domain/entity/FileInfo.class and b/crm-file/target/classes/com/crm/file/domain/entity/FileInfo.class differ diff --git a/crm-file/target/classes/com/crm/file/service/KkFileViewClient.class b/crm-file/target/classes/com/crm/file/service/KkFileViewClient.class index 848d32e..626056e 100644 Binary files a/crm-file/target/classes/com/crm/file/service/KkFileViewClient.class and b/crm-file/target/classes/com/crm/file/service/KkFileViewClient.class differ diff --git a/crm-file/target/classes/com/crm/file/service/impl/FileApiImpl.class b/crm-file/target/classes/com/crm/file/service/impl/FileApiImpl.class index 4031673..041dda4 100644 Binary files a/crm-file/target/classes/com/crm/file/service/impl/FileApiImpl.class and b/crm-file/target/classes/com/crm/file/service/impl/FileApiImpl.class differ diff --git a/crm-file/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/crm-file/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 138865a..fd5c617 100644 --- a/crm-file/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/crm-file/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,27 +1,27 @@ -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\api\FileApi.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\config\FileProperties.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\config\MinioConfig.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\config\SchedulingConfig.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\constant\FileConstants.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\controller\FileController.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\dto\FileDownloadDTO.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\dto\FileInfoDTO.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\dto\MultipartInitDTO.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\dto\ThumbnailDTO.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\dto\UploadSession.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\entity\FileInfo.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\mapper\FileInfoMapper.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\IFileInfoService.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\FileApiImpl.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\FileInfoServiceImpl.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\ImageThumbnailRenderer.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\OfficeThumbnailRenderer.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\PdfThumbnailRenderer.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\ThumbnailImageUtils.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\KkFileViewClient.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\ThumbnailPlaceholderService.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\ThumbnailRenderer.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\task\OrphanChunkCleanupTask.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\task\ThumbnailGenerationTask.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\task\ThumbnailRetryTask.java -D:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\util\FileNames.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\api\FileApi.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\config\FileProperties.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\config\MinioConfig.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\config\SchedulingConfig.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\constant\FileConstants.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\controller\FileController.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\dto\FileDownloadDTO.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\dto\FileInfoDTO.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\dto\MultipartInitDTO.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\dto\ThumbnailDTO.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\dto\UploadSession.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\domain\entity\FileInfo.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\mapper\FileInfoMapper.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\IFileInfoService.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\FileApiImpl.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\FileInfoServiceImpl.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\ImageThumbnailRenderer.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\OfficeThumbnailRenderer.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\PdfThumbnailRenderer.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\impl\ThumbnailImageUtils.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\KkFileViewClient.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\ThumbnailPlaceholderService.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\service\ThumbnailRenderer.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\task\OrphanChunkCleanupTask.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\task\ThumbnailGenerationTask.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\task\ThumbnailRetryTask.java +E:\code\crm-backend-matt\crm-file\src\main\java\com\crm\file\util\FileNames.java diff --git a/crm-file/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/crm-file/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst deleted file mode 100644 index 9a3146d..0000000 --- a/crm-file/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ /dev/null @@ -1,8 +0,0 @@ -com\crm\file\service\impl\ImageThumbnailRendererTest.class -com\crm\file\service\impl\OfficeThumbnailRendererTest.class -com\crm\file\task\OrphanChunkCleanupTaskTest.class -com\crm\file\task\ThumbnailGenerationTaskTest.class -com\crm\file\task\ThumbnailRetryTaskTest.class -com\crm\file\service\KkFileViewClientTest.class -com\crm\file\service\impl\FileApiImplTest.class -com\crm\file\service\impl\PdfThumbnailRendererTest.class diff --git a/crm-file/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/crm-file/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index 2450df7..0000000 --- a/crm-file/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ /dev/null @@ -1,8 +0,0 @@ -D:\code\crm-backend-matt\crm-file\src\test\java\com\crm\file\service\impl\FileApiImplTest.java -D:\code\crm-backend-matt\crm-file\src\test\java\com\crm\file\service\impl\ImageThumbnailRendererTest.java -D:\code\crm-backend-matt\crm-file\src\test\java\com\crm\file\service\impl\OfficeThumbnailRendererTest.java -D:\code\crm-backend-matt\crm-file\src\test\java\com\crm\file\service\impl\PdfThumbnailRendererTest.java -D:\code\crm-backend-matt\crm-file\src\test\java\com\crm\file\service\KkFileViewClientTest.java -D:\code\crm-backend-matt\crm-file\src\test\java\com\crm\file\task\OrphanChunkCleanupTaskTest.java -D:\code\crm-backend-matt\crm-file\src\test\java\com\crm\file\task\ThumbnailGenerationTaskTest.java -D:\code\crm-backend-matt\crm-file\src\test\java\com\crm\file\task\ThumbnailRetryTaskTest.java diff --git a/crm-file/target/surefire-reports/TEST-com.crm.file.service.KkFileViewClientTest.xml b/crm-file/target/surefire-reports/TEST-com.crm.file.service.KkFileViewClientTest.xml deleted file mode 100644 index fb53ff4..0000000 --- a/crm-file/target/surefire-reports/TEST-com.crm.file.service.KkFileViewClientTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crm-file/target/surefire-reports/TEST-com.crm.file.service.impl.FileApiImplTest.xml b/crm-file/target/surefire-reports/TEST-com.crm.file.service.impl.FileApiImplTest.xml deleted file mode 100644 index d791488..0000000 --- a/crm-file/target/surefire-reports/TEST-com.crm.file.service.impl.FileApiImplTest.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crm-file/target/surefire-reports/TEST-com.crm.file.task.OrphanChunkCleanupTaskTest.xml b/crm-file/target/surefire-reports/TEST-com.crm.file.task.OrphanChunkCleanupTaskTest.xml deleted file mode 100644 index dbecdb1..0000000 --- a/crm-file/target/surefire-reports/TEST-com.crm.file.task.OrphanChunkCleanupTaskTest.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/crm-file/target/surefire-reports/com.crm.file.service.KkFileViewClientTest.txt b/crm-file/target/surefire-reports/com.crm.file.service.KkFileViewClientTest.txt deleted file mode 100644 index 4bfdb5f..0000000 --- a/crm-file/target/surefire-reports/com.crm.file.service.KkFileViewClientTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.crm.file.service.KkFileViewClientTest -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 s -- in com.crm.file.service.KkFileViewClientTest diff --git a/crm-file/target/surefire-reports/com.crm.file.service.impl.FileApiImplTest.txt b/crm-file/target/surefire-reports/com.crm.file.service.impl.FileApiImplTest.txt deleted file mode 100644 index ba84278..0000000 --- a/crm-file/target/surefire-reports/com.crm.file.service.impl.FileApiImplTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.crm.file.service.impl.FileApiImplTest -------------------------------------------------------------------------------- -Tests run: 48, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.533 s -- in com.crm.file.service.impl.FileApiImplTest diff --git a/crm-file/target/surefire-reports/com.crm.file.task.OrphanChunkCleanupTaskTest.txt b/crm-file/target/surefire-reports/com.crm.file.task.OrphanChunkCleanupTaskTest.txt deleted file mode 100644 index 2f595c5..0000000 --- a/crm-file/target/surefire-reports/com.crm.file.task.OrphanChunkCleanupTaskTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.crm.file.task.OrphanChunkCleanupTaskTest -------------------------------------------------------------------------------- -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.053 s -- in com.crm.file.task.OrphanChunkCleanupTaskTest diff --git a/crm-file/target/test-classes/com/crm/file/service/KkFileViewClientTest.class b/crm-file/target/test-classes/com/crm/file/service/KkFileViewClientTest.class deleted file mode 100644 index fa0f867..0000000 Binary files a/crm-file/target/test-classes/com/crm/file/service/KkFileViewClientTest.class and /dev/null differ diff --git a/crm-file/target/test-classes/com/crm/file/service/impl/FileApiImplTest.class b/crm-file/target/test-classes/com/crm/file/service/impl/FileApiImplTest.class deleted file mode 100644 index 473cecf..0000000 Binary files a/crm-file/target/test-classes/com/crm/file/service/impl/FileApiImplTest.class and /dev/null differ diff --git a/crm-file/target/test-classes/com/crm/file/task/OrphanChunkCleanupTaskTest.class b/crm-file/target/test-classes/com/crm/file/task/OrphanChunkCleanupTaskTest.class deleted file mode 100644 index 69f0872..0000000 Binary files a/crm-file/target/test-classes/com/crm/file/task/OrphanChunkCleanupTaskTest.class and /dev/null differ diff --git a/test-output.txt b/test-output.txt index 2464645..1528484 100644 Binary files a/test-output.txt and b/test-output.txt differ