fix: relocate cwos-portal decompiled output to correct path; remove nested directory

Former-commit-id: dc30d42a8c55ed8b2382a41dc2434233fbed9930
This commit is contained in:
反编译工作区
2026-04-29 12:09:48 +08:00
parent ea8e492076
commit e8672a3c7b
1759 changed files with 547735 additions and 280 deletions
@@ -0,0 +1,43 @@
package cn.cloudwalk.elevator.common;
import cn.cloudwalk.client.cwoscomponent.intelligent.sysetting.result.AreaTreeResult;
import cn.cloudwalk.cloud.context.CloudwalkCallContext;
import cn.cloudwalk.cloud.session.company.CompanyContext;
import cn.cloudwalk.cloud.session.user.UserContext;
import cn.cloudwalk.cloud.utils.CloudwalkDateUtils;
import cn.cloudwalk.elevator.config.FeignThreadLocalUtil;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 设备相关服务的抽象基类:提供区域树扁平化、以及为远程调用组装的 {@link CloudwalkCallContext}(含 Feign 线程本地传参)。
*/
public class AbstractAcsDeviceService extends AbstractCloudwalkService {
protected void getAreaMap(List<AreaTreeResult> areaTreeResultList, Map<String, String> areaMap) {
for (AreaTreeResult areaTree : areaTreeResultList) {
areaMap.put(areaTree.getId(), areaTree.getName());
if (areaTree.getChildren() != null) {
getAreaMap(areaTree.getChildren(), areaMap);
}
}
}
public CloudwalkCallContext getCloudwalkContext(String businessId) {
CloudwalkCallContext context = new CloudwalkCallContext();
CompanyContext companyContext = new CompanyContext();
companyContext.setCompanyId(businessId);
context.setCompany(companyContext);
UserContext userContext = new UserContext();
userContext.setCaller("defaultUserId");
userContext.setCallerName("defaultUserName");
context.setUser(userContext);
context.setCallTime(CloudwalkDateUtils.getCurrentDate());
Map<String, String> feignThreadLoaclMap = new HashMap<>(3);
feignThreadLoaclMap.put("businessid", businessId);
feignThreadLoaclMap.put("platformuserid", "defaultUserId");
feignThreadLoaclMap.put("username", "defaultUserName");
FeignThreadLocalUtil.set(feignThreadLoaclMap);
return context;
}
}
@@ -0,0 +1,81 @@
package cn.cloudwalk.elevator.common;
import cn.cloudwalk.cloud.context.CloudwalkCallContext;
import cn.cloudwalk.cloud.context.CloudwalkCallContextBuilder;
import cn.cloudwalk.cloud.context.CloudwalkSessionContextHolder;
import cn.cloudwalk.cloud.session.extend.DefaultExtendContext;
import cn.cloudwalk.cloud.session.extend.ExtendContext;
import cn.cloudwalk.elevator.context.CloudWalkExtendContextValue;
import java.net.URLEncoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
public abstract class AbstractCloudwalkController {
protected final Logger LOGGER = LoggerFactory.getLogger(getClass());
@Autowired
private MessageSource messageSource;
@Autowired
private CloudwalkSessionContextHolder cloudwalkSessionContextHolder;
public CloudwalkCallContext getCloudwalkContext() {
CloudwalkCallContext cloudwalkCallContext =
CloudwalkCallContextBuilder.buildContext(this.cloudwalkSessionContextHolder);
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
if (null != attributes) {
DefaultExtendContext<CloudWalkExtendContextValue> extendContext = new DefaultExtendContext();
CloudWalkExtendContextValue cloudWalkExtendContextValue = new CloudWalkExtendContextValue();
HttpServletRequest request = attributes.getRequest();
cloudWalkExtendContextValue.setLoginId(request.getHeader("loginid"));
cloudWalkExtendContextValue.setAuthorization(request.getHeader("authorization"));
extendContext.setValue(cloudWalkExtendContextValue);
cloudwalkCallContext.setExt((ExtendContext)extendContext);
}
return cloudwalkCallContext;
}
public String getToken() {
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
if (null != attributes) {
return attributes.getRequest().getHeader("authorization");
}
return null;
}
protected HttpServletRequest getHttpServletRequest() {
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
if (attributes == null) {
return null;
}
return attributes.getRequest();
}
public String getMessage(String code, String defaultMsg) {
return this.messageSource.getMessage(code, null, defaultMsg, LocaleContextHolder.getLocale());
}
public String getMessage(String code) {
return getMessage(code, "");
}
protected void makeExcelresponse(HttpServletRequest request, HttpServletResponse response, String fileName) {
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=" + encodeFileName(fileName, request));
}
protected String encodeFileName(String fileNames, HttpServletRequest request) {
String codedFilename = null;
try {
codedFilename = URLEncoder.encode(fileNames, "UTF-8");
} catch (Exception e) {
this.LOGGER.error("转换文件名字符类型失败,原因:", e);
}
return codedFilename != null ? codedFilename : fileNames;
}
}
@@ -0,0 +1,39 @@
package cn.cloudwalk.elevator.common;
import cn.cloudwalk.client.cwoscomponent.intelligent.device.service.DeviceService;
import cn.cloudwalk.cloud.serial.UUIDSerial;
import cn.cloudwalk.cloud.utils.CloudwalkDateUtils;
import cn.cloudwalk.serial.code.AbstractGeneralCode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
public class AbstractCloudwalkService {
@Autowired
protected DeviceService deviceService;
protected final Logger logger = LoggerFactory.getLogger(getClass());
private static final int GENGRAL_CODE_LENGTH = 8;
@Autowired
private MessageSource messageSource;
@Autowired
protected AbstractGeneralCode generalCode;
@Autowired(required = false)
private UUIDSerial uuidSerial;
public String getMessage(String code) {
return this.messageSource.getMessage(code, null, "", LocaleContextHolder.getLocale());
}
public String createGeneralCode() {
return this.generalCode.generalCode(CloudwalkDateUtils.getDate8YMD(), Integer.valueOf(8));
}
public String genUUID() {
if (null != this.uuidSerial) {
return this.uuidSerial.uuid();
}
return CloudwalkDateUtils.getUUID();
}
}
@@ -0,0 +1,41 @@
package cn.cloudwalk.elevator.common;
import cn.cloudwalk.client.resource.application.param.ApplicationQueryParam;
import cn.cloudwalk.client.resource.application.result.ApplicationResult;
import cn.cloudwalk.client.resource.application.service.ApplicationService;
import cn.cloudwalk.cloud.exception.ServiceException;
import cn.cloudwalk.cloud.result.CloudwalkResult;
import cn.cloudwalk.elevator.common.service.AcsApplicationService;
import java.util.Collection;
import java.util.List;
import javax.annotation.Resource;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
@Service
public class AcsApplicationServiceImpl implements AcsApplicationService {
private static final Logger logger = LoggerFactory.getLogger(AcsApplicationServiceImpl.class);
@Resource
private ApplicationService applicationService;
@Cacheable(cacheNames = {"ACS_Applicationids"},
key = "T(cn.cloudwalk.biz.ninca.accesscontrol.cache.CacheOverrideConfig).CACHE_KEY_APPLICATION_IDS_PREFIX + #businessId")
public String getApplicationId(String businessId) throws ServiceException {
ApplicationQueryParam param = new ApplicationQueryParam();
param.setBusinessId(businessId);
param.setServiceCode("elevator-app");
CloudwalkResult<List<ApplicationResult>> cloudwalkResult = this.applicationService.query(param);
if (cloudwalkResult.isSuccess()) {
if (CollectionUtils.isNotEmpty((Collection)cloudwalkResult.getData())) {
return ((ApplicationResult)((List<ApplicationResult>)cloudwalkResult.getData()).get(0)).getId();
}
logger.info("未查到applicationId");
throw new ServiceException("76260005", "未查到applicationId");
}
logger.info("查询applicationId失败");
throw new ServiceException("76260006", "查询applicationId失败");
}
}
@@ -0,0 +1,3 @@
package cn.cloudwalk.elevator.common;
public class CloudwalkCallNewContext {}
@@ -0,0 +1,27 @@
package cn.cloudwalk.elevator.common;
import java.util.concurrent.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
@Configuration
public class ElevatorRemoteIoExecutorConfig {
@Autowired
private ElevatorRemoteIoPoolProperties elevatorRemoteIoPoolProperties;
@Bean(name = {"elevatorRemoteBoundedExecutor"})
public ThreadPoolTaskExecutor elevatorRemoteBoundedExecutor() {
ThreadPoolTaskExecutor ex = new ThreadPoolTaskExecutor();
ex.setCorePoolSize(this.elevatorRemoteIoPoolProperties.getCorePoolSize());
ex.setMaxPoolSize(this.elevatorRemoteIoPoolProperties.getMaxPoolSize());
ex.setQueueCapacity(this.elevatorRemoteIoPoolProperties.getQueueCapacity());
ex.setKeepAliveSeconds(this.elevatorRemoteIoPoolProperties.getKeepAliveSeconds());
ex.setAllowCoreThreadTimeOut(this.elevatorRemoteIoPoolProperties.isAllowCoreThreadTimeOut());
ex.setThreadNamePrefix("elevator-remote-io-");
ex.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
ex.initialize();
return ex;
}
}
@@ -0,0 +1,55 @@
package cn.cloudwalk.elevator.common;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConfigurationProperties(prefix = "ninca.elevator.remote-io.pool")
public class ElevatorRemoteIoPoolProperties {
/** 约定 §3.2 / §3.3 / §3.4:有界并行建议 4~8,默认 6 */
private int corePoolSize = 6;
private int maxPoolSize = 6;
private int queueCapacity = 512;
private int keepAliveSeconds = 60;
private boolean allowCoreThreadTimeOut = true;
public int getCorePoolSize() {
return this.corePoolSize;
}
public void setCorePoolSize(int corePoolSize) {
this.corePoolSize = corePoolSize;
}
public int getMaxPoolSize() {
return this.maxPoolSize;
}
public void setMaxPoolSize(int maxPoolSize) {
this.maxPoolSize = maxPoolSize;
}
public int getQueueCapacity() {
return this.queueCapacity;
}
public void setQueueCapacity(int queueCapacity) {
this.queueCapacity = queueCapacity;
}
public int getKeepAliveSeconds() {
return this.keepAliveSeconds;
}
public void setKeepAliveSeconds(int keepAliveSeconds) {
this.keepAliveSeconds = keepAliveSeconds;
}
public boolean isAllowCoreThreadTimeOut() {
return this.allowCoreThreadTimeOut;
}
public void setAllowCoreThreadTimeOut(boolean allowCoreThreadTimeOut) {
this.allowCoreThreadTimeOut = allowCoreThreadTimeOut;
}
}
@@ -0,0 +1,54 @@
package cn.cloudwalk.elevator.common;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConfigurationProperties(prefix = "ninca.update.floor.pool")
public class UpdateFloorsPoolProperties {
private int corePoolSize = 3;
private int maxPoolSize = 5;
private int keepAliveSeconds = 150;
private int queueCapacity = 100;
private boolean allowCoreThreadTimeOut = true;
public int getCorePoolSize() {
return this.corePoolSize;
}
public void setCorePoolSize(int corePoolSize) {
this.corePoolSize = corePoolSize;
}
public int getMaxPoolSize() {
return this.maxPoolSize;
}
public void setMaxPoolSize(int maxPoolSize) {
this.maxPoolSize = maxPoolSize;
}
public int getKeepAliveSeconds() {
return this.keepAliveSeconds;
}
public void setKeepAliveSeconds(int keepAliveSeconds) {
this.keepAliveSeconds = keepAliveSeconds;
}
public int getQueueCapacity() {
return this.queueCapacity;
}
public void setQueueCapacity(int queueCapacity) {
this.queueCapacity = queueCapacity;
}
public boolean isAllowCoreThreadTimeOut() {
return this.allowCoreThreadTimeOut;
}
public void setAllowCoreThreadTimeOut(boolean allowCoreThreadTimeOut) {
this.allowCoreThreadTimeOut = allowCoreThreadTimeOut;
}
}
@@ -0,0 +1,27 @@
package cn.cloudwalk.elevator.common;
import java.util.concurrent.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
@Configuration
public class UpdateFloorsTaskExecutor {
@Autowired
private UpdateFloorsPoolProperties updateFloorsPoolProperties;
@Bean(name = {"updateFloorsExecutor"})
public ThreadPoolTaskExecutor pictureRevisionTaskExecutor() {
ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();
threadPoolTaskExecutor.setCorePoolSize(this.updateFloorsPoolProperties.getCorePoolSize());
threadPoolTaskExecutor.setAllowCoreThreadTimeOut(this.updateFloorsPoolProperties.isAllowCoreThreadTimeOut());
threadPoolTaskExecutor.setMaxPoolSize(this.updateFloorsPoolProperties.getMaxPoolSize());
threadPoolTaskExecutor.setQueueCapacity(this.updateFloorsPoolProperties.getQueueCapacity());
threadPoolTaskExecutor.setKeepAliveSeconds(this.updateFloorsPoolProperties.getKeepAliveSeconds());
threadPoolTaskExecutor.setThreadNamePrefix("update-floors-pool-");
threadPoolTaskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy());
threadPoolTaskExecutor.initialize();
return threadPoolTaskExecutor;
}
}
@@ -0,0 +1,6 @@
/**
* 电梯应用业务编排层中的公共抽象与基础服务实现(与 common 模块中的“工具型 common”区分)。
* <p>
* 放置跨领域的服务基类、模板方法等,供本模块内各子包复用。
*/
package cn.cloudwalk.elevator.common;
@@ -0,0 +1,7 @@
package cn.cloudwalk.elevator.common.service;
import cn.cloudwalk.cloud.exception.ServiceException;
public interface AcsApplicationService {
String getApplicationId(String paramString) throws ServiceException;
}