临时提交
This commit is contained in:
@@ -117,7 +117,7 @@ public class CatalogDataCatch {
|
||||
// 超过五秒收不到消息任务超时, 只更新这一部分数据, 收到数据与声明的总数一致,则重置通道数据,数据不全则只对收到的数据做更新操作
|
||||
if (catalogData.getStatus().equals(CatalogData.CatalogDataStatus.runIng)) {
|
||||
if (catalogData.getTotal() == catalogData.getChannelList().size()) {
|
||||
deviceChannelService.resetChannels(catalogData.getDevice().getDeviceId(), catalogData.getChannelList());
|
||||
deviceChannelService.resetChannels(catalogData.getDevice().getId(), catalogData.getChannelList());
|
||||
}else {
|
||||
deviceChannelService.updateChannels(catalogData.getDevice(), catalogData.getChannelList());
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ public class CatalogResponseMessageHandler extends SIPRequestProcessorParent imp
|
||||
if (catalogDataCatch.get(take.getDevice().getDeviceId()).size() == sumNum) {
|
||||
// 数据已经完整接收, 此时可能存在某个设备离线变上线的情况,但是考虑到性能,此处不做处理,
|
||||
// 目前支持设备通道上线通知时和设备上线时向上级通知
|
||||
boolean resetChannelsResult = deviceChannelService.resetChannels(take.getDevice().getDeviceId(), catalogDataCatch.get(take.getDevice().getDeviceId()));
|
||||
boolean resetChannelsResult = deviceChannelService.resetChannels(device.getId(), catalogDataCatch.get(take.getDevice().getDeviceId()));
|
||||
if (!resetChannelsResult) {
|
||||
String errorMsg = "接收成功,写入失败,共" + sumNum + "条,已接收" + catalogDataCatch.get(take.getDevice().getDeviceId()).size() + "条";
|
||||
catalogDataCatch.setChannelSyncEnd(take.getDevice().getDeviceId(), errorMsg);
|
||||
|
||||
@@ -105,7 +105,7 @@ public interface IDeviceChannelService {
|
||||
|
||||
void cleanChannelsForDevice(int deviceId);
|
||||
|
||||
boolean resetChannels(String deviceId, List<DeviceChannel> deviceChannels);
|
||||
boolean resetChannels(int deviceDbId, List<DeviceChannel> deviceChannels);
|
||||
|
||||
PageInfo<DeviceChannel> getSubChannels(int deviceDbId, String channelId, String query, Boolean channelType, Boolean online, int page, int count);
|
||||
|
||||
|
||||
@@ -422,15 +422,11 @@ public class DeviceChannelServiceImpl implements IDeviceChannelService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean resetChannels(String deviceId, List<DeviceChannel> deviceChannelList) {
|
||||
public boolean resetChannels(int deviceDbId, List<DeviceChannel> deviceChannelList) {
|
||||
if (CollectionUtils.isEmpty(deviceChannelList)) {
|
||||
return false;
|
||||
}
|
||||
Device device = deviceMapper.getDeviceByDeviceId(deviceId);
|
||||
if (device == null) {
|
||||
throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到设备: " +deviceId);
|
||||
}
|
||||
List<DeviceChannel> allChannels = channelMapper.queryAllChannels(device.getId());
|
||||
List<DeviceChannel> allChannels = channelMapper.queryAllChannels(deviceDbId);
|
||||
Map<String,DeviceChannel> allChannelMap = new ConcurrentHashMap<>();
|
||||
if (!allChannels.isEmpty()) {
|
||||
for (DeviceChannel deviceChannel : allChannels) {
|
||||
@@ -507,7 +503,7 @@ public class DeviceChannelServiceImpl implements IDeviceChannelService {
|
||||
}
|
||||
int limitCount = 50;
|
||||
boolean result = false;
|
||||
if (!result && !addChannels.isEmpty()) {
|
||||
if (!addChannels.isEmpty()) {
|
||||
if (addChannels.size() > limitCount) {
|
||||
for (int i = 0; i < addChannels.size(); i += limitCount) {
|
||||
int toIndex = i + limitCount;
|
||||
|
||||
Reference in New Issue
Block a user