fix(v0.11): 兼容优先的走查整改——SnowFlake/BeanCopy 卫生与电梯编码批量查询

- 不改 AES 模式、不重命名 KafkaProducter,避免影响旧客户端与二进制兼容。
- SnowFlakeSerialCode:中断等待改恢复中断标志 + Slf4j 替代 printStackTrace。
- BeanCopyUtils:实例化仅捕获 ReflectiveOperationException,copyProperties 异常仍按运行时上抛,对外行为与旧版一致。
- 电梯 39202:新增 MyBatis listByZoneIds 与 AcsElevatorCodeService.mapByZoneIds(增量 API),树接口仍逐条组装 DTO,仅将循环内多次 get 合并为一次 IN 查询,HTTP 契约不变。

验证:maven-cloudwalk-legacy-public 全量 compile;cw-elevator-application-data 单模块 compile 通过。

Made-with: Cursor
This commit is contained in:
反编译工作区
2026-04-25 00:41:26 +08:00
parent ef030407c0
commit 57270a7ac5
9 changed files with 85 additions and 21 deletions
@@ -7,6 +7,10 @@ import cn.cloudwalk.elevator.codeElevatorArea.dto.AcsElevatorCodeDTO;
import cn.cloudwalk.elevator.codeElevatorArea.dto.AcsElevatorCodeResultDTO;
import cn.cloudwalk.elevator.codeElevatorArea.param.AcsElevatorCodeParam;
import cn.cloudwalk.elevator.codeElevatorArea.service.AcsElevatorCodeService;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,4 +50,21 @@ public class AcsElevatorCodeServiceImpl implements AcsElevatorCodeService {
public AcsElevatorCodeResultDTO getFirstByParentId(String parentId) throws ServiceException {
return this.acsElevatorCodeDao.getFirstByParentId(parentId);
}
public Map<String, AcsElevatorCodeResultDTO> mapByZoneIds(List<String> zoneIds) throws ServiceException {
if (zoneIds == null || zoneIds.isEmpty()) {
return Collections.emptyMap();
}
List<AcsElevatorCodeResultDTO> list = this.acsElevatorCodeDao.listByZoneIds(zoneIds);
if (list == null || list.isEmpty()) {
return Collections.emptyMap();
}
Map<String, AcsElevatorCodeResultDTO> map = new HashMap<>(list.size() * 2);
for (AcsElevatorCodeResultDTO row : list) {
if (row != null && row.getZoneId() != null) {
map.put(row.getZoneId(), row);
}
}
return map;
}
}
@@ -3,6 +3,8 @@ package cn.cloudwalk.elevator.codeElevatorArea.service;
import cn.cloudwalk.cloud.exception.ServiceException;
import cn.cloudwalk.elevator.codeElevatorArea.dto.AcsElevatorCodeResultDTO;
import cn.cloudwalk.elevator.codeElevatorArea.param.AcsElevatorCodeParam;
import java.util.List;
import java.util.Map;
public interface AcsElevatorCodeService {
Integer insertNew(AcsElevatorCodeParam paramAcsElevatorCodeParam) throws ServiceException;
@@ -12,4 +14,10 @@ public interface AcsElevatorCodeService {
AcsElevatorCodeResultDTO get(AcsElevatorCodeParam paramAcsElevatorCodeParam) throws ServiceException;
AcsElevatorCodeResultDTO getFirstByParentId(String paramString) throws ServiceException;
/**
* 按区域 ID 批量查询电梯编码,供树形接口一次拉取,避免循环内逐条查询。
* 不改变 {@link #get} 语义;入参去重由调用方控制。
*/
Map<String, AcsElevatorCodeResultDTO> mapByZoneIds(List<String> zoneIds) throws ServiceException;
}