fix(v0.11): 第三轮走查——ResourceClient 懒加载、包名 authentication、DTO UID

- cwos-resource:ResourceClient 去掉字段初始化期 getBean,改为各 getter 懒解析并校验 ApplicationContext
- cwos-device-authentication:目录与包 authetication → authentication,同步修正 import
- device-sdk:DeviceV2CommonBaseDTO 补充 serialVersionUID(序列化规约示例)

Made-with: Cursor

Former-commit-id: 3858664d8a
This commit is contained in:
反编译工作区
2026-04-25 00:02:34 +08:00
parent baecc2f9c0
commit b2f30dfeb7
10 changed files with 125 additions and 189 deletions
@@ -6,6 +6,9 @@ import java.io.Serializable;
import org.hibernate.validator.constraints.NotBlank;
public class DeviceV2CommonBaseDTO implements Serializable {
private static final long serialVersionUID = 1L;
@NotBlank(message = "52001000")
@JsonProperty("device_id")
@JSONField(name = "device_id")
@@ -1,4 +1,4 @@
package cn.cloudwalk.client.device.auth.authetication.param;
package cn.cloudwalk.client.device.auth.authentication.param;
import com.fasterxml.jackson.annotation.JsonProperty;
import javax.validation.constraints.NotNull;
@@ -1,4 +1,4 @@
package cn.cloudwalk.client.device.auth.authetication.param;
package cn.cloudwalk.client.device.auth.authentication.param;
import com.fasterxml.jackson.annotation.JsonProperty;
import javax.validation.constraints.NotNull;
@@ -1,4 +1,4 @@
package cn.cloudwalk.client.device.auth.authetication.param;
package cn.cloudwalk.client.device.auth.authentication.param;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -1,4 +1,4 @@
package cn.cloudwalk.client.device.auth.authetication.result;
package cn.cloudwalk.client.device.auth.authentication.result;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -1,10 +1,10 @@
package cn.cloudwalk.client.device.auth.authetication.service;
package cn.cloudwalk.client.device.auth.authentication.service;
import cn.cloudwalk.client.device.auth.authetication.param.DeviceAuthFormParam;
import cn.cloudwalk.client.device.auth.authetication.param.DeviceAuthParam;
import cn.cloudwalk.client.device.auth.authetication.param.DeviceJsonContentParam;
import cn.cloudwalk.client.device.auth.authetication.result.DeviceAuthResult;
import cn.cloudwalk.client.device.auth.authetication.result.TokenInfoResult;
import cn.cloudwalk.client.device.auth.authentication.param.DeviceAuthFormParam;
import cn.cloudwalk.client.device.auth.authentication.param.DeviceAuthParam;
import cn.cloudwalk.client.device.auth.authentication.param.DeviceJsonContentParam;
import cn.cloudwalk.client.device.auth.authentication.result.DeviceAuthResult;
import cn.cloudwalk.client.device.auth.authentication.result.TokenInfoResult;
import cn.cloudwalk.client.device.auth.common.CloudwalkDeviceAuthResult;
import cn.cloudwalk.cloud.result.CloudwalkResult;
import cn.cloudwalk.device.sdk.protocol.entity.v2proto.http.result.AuthenticationResult;
@@ -1,9 +1,9 @@
package cn.cloudwalk.client.device.auth.authetication.service;
package cn.cloudwalk.client.device.auth.authentication.service;
import cn.cloudwalk.client.device.auth.authetication.param.DeviceAuthFormParam;
import cn.cloudwalk.client.device.auth.authetication.param.DeviceJsonContentParam;
import cn.cloudwalk.client.device.auth.authetication.result.DeviceAuthResult;
import cn.cloudwalk.client.device.auth.authetication.result.TokenInfoResult;
import cn.cloudwalk.client.device.auth.authentication.param.DeviceAuthFormParam;
import cn.cloudwalk.client.device.auth.authentication.param.DeviceJsonContentParam;
import cn.cloudwalk.client.device.auth.authentication.result.DeviceAuthResult;
import cn.cloudwalk.client.device.auth.authentication.result.TokenInfoResult;
import cn.cloudwalk.client.device.auth.common.CloudwalkDeviceAuthResult;
import cn.cloudwalk.cloud.result.CloudwalkResult;
import cn.cloudwalk.device.sdk.protocol.entity.v2proto.tcp.param.CheckTokenParam;
@@ -1,7 +1,7 @@
package cn.cloudwalk.client.device.auth.device.validator.service;
import cn.cloudwalk.client.device.auth.authetication.param.DeviceJsonContentParam;
import cn.cloudwalk.client.device.auth.authetication.result.TokenInfoResult;
import cn.cloudwalk.client.device.auth.authentication.param.DeviceJsonContentParam;
import cn.cloudwalk.client.device.auth.authentication.result.TokenInfoResult;
import cn.cloudwalk.client.device.auth.device.validator.result.DeviceAuthCheckResult;
public interface DeviceAuthCheckService {
@@ -25,204 +25,137 @@ import cn.cloudwalk.client.resource.user.service.UserResService;
import cn.cloudwalk.client.resource.user.service.UserRoleService;
import cn.cloudwalk.client.resource.user.service.UserService;
import cn.cloudwalk.cwos.client.resource.component.SpringContext;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
/**
* 资源域 SDK 门面:通过懒加载从 {@link SpringContext} 取 Bean,避免在 {@link #getInstance()} 构造阶段触发容器尚未就绪的
* {@code getBean}。
*/
public class ResourceClient {
private static volatile ResourceClient resourceClient;
private static <T> T requireBean(Class<T> type) {
ApplicationContext ctx = SpringContext.getApplicationContext();
if (ctx == null) {
throw new IllegalStateException("Spring ApplicationContext 尚未注入,无法获取 " + type.getName());
}
try {
return ctx.getBean(type);
} catch (BeansException e) {
throw new IllegalStateException("无法从容器解析 Bean: " + type.getName(), e);
}
}
public static ResourceClient getInstance() {
if (resourceClient == null) {
synchronized (ResourceClient.class) {
if (resourceClient == null) {
resourceClient = new ResourceClient();
}
}
}
return resourceClient;
}
public static ResourceClient getResourceClient() {
return resourceClient;
}
public ApiService getApiService() {
return requireBean(ApiService.class);
}
public ApplicationService getApplicationService() {
return requireBean(ApplicationService.class);
}
public ApplicationApiService getApplicationApiService() {
return requireBean(ApplicationApiService.class);
}
public AuthApiService getAuthApiService() {
return requireBean(AuthApiService.class);
}
public AuthorizationService getAuthorizationService() {
return requireBean(AuthorizationService.class);
}
public AuthResourceService getAuthResourceService() {
return requireBean(AuthResourceService.class);
}
public DictService getDictService() {
return requireBean(DictService.class);
}
public DictTypeService getDictTypeService() {
return requireBean(DictTypeService.class);
}
public GroupRoleService getGroupRoleService() {
return requireBean(GroupRoleService.class);
}
public GroupInfoService getGroupInfoService() {
return requireBean(GroupInfoService.class);
}
public ResourceApiService getResourceApiService() {
return requireBean(ResourceApiService.class);
}
public ResourceService getResourceService() {
return requireBean(ResourceService.class);
}
public RoleAuthService getRoleAuthService() {
return requireBean(RoleAuthService.class);
}
public RoleResourceService getRoleResourceService() {
return requireBean(RoleResourceService.class);
}
public RoleService getRoleService() {
return requireBean(RoleService.class);
}
public ServiceService getServiceService() {
return requireBean(ServiceService.class);
}
public UserService getUserService() {
return requireBean(UserService.class);
}
public UserApiService getUserApiService() {
return requireBean(UserApiService.class);
}
public UserApplicationService getUserApplicationService() {
return requireBean(UserApplicationService.class);
}
public UserGroupService getUserGroupService() {
return requireBean(UserGroupService.class);
}
public UserResService getUserResService() {
return requireBean(UserResService.class);
}
public UserRoleService getUserRoleService() {
return requireBean(UserRoleService.class);
}
public PortalEnterpriseService getPortalEnterpriseService() {
return requireBean(PortalEnterpriseService.class);
}
public class ResourceClient
{
/* 90 */ private final ApiService apiService = (ApiService)SpringContext.getBean(ApiService.class);
/* 91 */ private final ApplicationApiService applicationApiService = (ApplicationApiService)SpringContext.getBean(ApplicationApiService.class);
/* 92 */ private final ApplicationService applicationService = (ApplicationService)SpringContext.getBean(ApplicationService.class);
/* 93 */ private final AuthApiService authApiService = (AuthApiService)SpringContext.getBean(AuthApiService.class);
/* 94 */ private final AuthorizationService authorizationService = (AuthorizationService)SpringContext.getBean(AuthorizationService.class);
/* 95 */ private final AuthResourceService authResourceService = (AuthResourceService)SpringContext.getBean(AuthResourceService.class);
/* 96 */ private final DictService dictService = (DictService)SpringContext.getBean(DictService.class);
/* 97 */ private final DictTypeService dictTypeService = (DictTypeService)SpringContext.getBean(DictTypeService.class);
/* 98 */ private final GroupInfoService groupInfoService = (GroupInfoService)SpringContext.getBean(GroupInfoService.class);
/* 99 */ private final GroupRoleService groupRoleService = (GroupRoleService)SpringContext.getBean(GroupRoleService.class);
private final ResourceApiService resourceApiService = (ResourceApiService)SpringContext.getBean(ResourceApiService.class);
private final ResourceService resourceService = (ResourceService)SpringContext.getBean(ResourceService.class);
private final RoleAuthService roleAuthService = (RoleAuthService)SpringContext.getBean(RoleAuthService.class);
private final RoleResourceService roleResourceService = (RoleResourceService)SpringContext.getBean(RoleResourceService.class);
private final RoleService roleService = (RoleService)SpringContext.getBean(RoleService.class);
private final ServiceService serviceService = (ServiceService)SpringContext.getBean(ServiceService.class);
private final UserService userService = (UserService)SpringContext.getBean(UserService.class);
private final UserApiService userApiService = (UserApiService)SpringContext.getBean(UserApiService.class);
private final UserApplicationService userApplicationService = (UserApplicationService)SpringContext.getBean(UserApplicationService.class);
private final UserGroupService userGroupService = (UserGroupService)SpringContext.getBean(UserGroupService.class);
private final UserResService userResService = (UserResService)SpringContext.getBean(UserResService.class);
private final UserRoleService userRoleService = (UserRoleService)SpringContext.getBean(UserRoleService.class);
private final PortalEnterpriseService portalEnterpriseService = (PortalEnterpriseService)SpringContext.getBean(PortalEnterpriseService.class);
private final PortalUserService portalUserService = (PortalUserService)SpringContext.getBean(PortalUserService.class);
private static volatile ResourceClient resourceClient;
public static ResourceClient getInstance() {
if (null == resourceClient) {
synchronized (ResourceClient.class) {
if (null == resourceClient) {
resourceClient = new ResourceClient();
public PortalUserService getPortalUserService() {
return requireBean(PortalUserService.class);
}
}
}
}
return resourceClient;
}
public ApiService getApiService() {
return this.apiService;
}
public ApplicationService getApplicationService() {
return this.applicationService;
}
public ApplicationApiService getApplicationApiService() {
return this.applicationApiService;
}
public AuthApiService getAuthApiService() {
return this.authApiService;
}
public AuthorizationService getAuthorizationService() {
return this.authorizationService;
}
public AuthResourceService getAuthResourceService() {
return this.authResourceService;
}
public DictService getDictService() {
return this.dictService;
}
public DictTypeService getDictTypeService() {
return this.dictTypeService;
}
public GroupRoleService getGroupRoleService() {
return this.groupRoleService;
}
public GroupInfoService getGroupInfoService() {
return this.groupInfoService;
}
public ResourceApiService getResourceApiService() {
return this.resourceApiService;
}
public ResourceService getResourceService() {
return this.resourceService;
}
public RoleAuthService getRoleAuthService() {
return this.roleAuthService;
}
public RoleResourceService getRoleResourceService() {
return this.roleResourceService;
}
public RoleService getRoleService() {
return this.roleService;
}
public ServiceService getServiceService() {
return this.serviceService;
}
public UserService getUserService() {
return this.userService;
}
public UserApiService getUserApiService() {
return this.userApiService;
}
public UserApplicationService getUserApplicationService() {
return this.userApplicationService;
}
public UserGroupService getUserGroupService() {
return this.userGroupService;
}
public UserResService getUserResService() {
return this.userResService;
}
public UserRoleService getUserRoleService() {
return this.userRoleService;
}
public static ResourceClient getResourceClient() {
return resourceClient;
}
public PortalEnterpriseService getPortalEnterpriseService() {
return this.portalEnterpriseService;
}
public PortalUserService getPortalUserService() {
return this.portalUserService;
}
}