Просмотр исходного кода

[电表][修复]:电表没有配导致数据库查询错误

release_toaliyun_real
hupeng 7 лет назад
Родитель
Сommit
ea54aad7ab
2 измененных файлов: 23 добавлений и 6 удалений
  1. +2
    -1
      mallinkCallback/src/main/java/com/iformall/controller/device/KwBoxV1Controller.java
  2. +21
    -5
      mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java

+ 2
- 1
mallinkCallback/src/main/java/com/iformall/controller/device/KwBoxV1Controller.java Просмотреть файл

@@ -83,7 +83,8 @@ public class KwBoxV1Controller extends BaseController {
record.setStatus(EnumBoxStatus.REGISTERED.getCode());
kwBoxService.saveOrUpdate(record);
Map<String,Object> data = new HashMap<>();
data.put("config",kwBox.getConfig());
if (kwBox.getConfig() != null)
data.put("config",kwBox.getConfig() );
List<String> meters = kwBoxService.findMeters(kwBox);
data.put("meters",meters);
return new ResultData(data);


+ 21
- 5
mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java Просмотреть файл

@@ -117,11 +117,23 @@ public class KwBoxServiceImpl implements KwBoxService {

List<KwBoxMeter> kwBoxMeters = kwBoxMeterService.findList(kwBoxMeter);

if (kwBoxMeters.isEmpty()) {
logger.info("没找到盒子表关联项: boxId="+kwBoxMeter.getBoxId());
return null;
}
KwMeter kwMeter = new KwMeter();
kwMeter.setIds(kwBoxMeters.stream().map(KwBoxMeter::getMeterId).collect(Collectors.toList()));

if (kwMeter.getIds().isEmpty()) {
logger.info("没找到盒子关联的表: boxId="+kwBoxMeter.getBoxId());
return null;
}
List<KwMeter> kwMeters = kwMeterService.findList(kwMeter);

if (kwMeter.getIds().isEmpty()) {
logger.info("没找到盒子关联的表: ids=" + kwBoxMeter.getIds());
return null;
}
return kwMeters.stream().map(KwMeter::getAddress).collect(Collectors.toList());
}

@@ -134,17 +146,21 @@ public class KwBoxServiceImpl implements KwBoxService {

List<KwBoxMeter> kwBoxMeters = kwBoxMeterService.findList(kwBoxMeter);

if (kwBoxMeters.isEmpty()) {
logger.info("没找到盒子表关联项: boxId="+kwBoxMeter.getBoxId());
return null;
}

KwMeter kwMeter = new KwMeter();
kwMeter.setAddress(addr);
kwMeter.setIds(kwBoxMeters.stream().map(KwBoxMeter::getMeterId).collect(Collectors.toList()));

List<KwMeter> kwMeters = kwMeterService.findList(kwMeter);


if (kwMeters.size() > 0)
return kwMeters.get(0);
else
if (kwMeters.isEmpty()) {
logger.info("没找到盒子关联的表: ids="+kwBoxMeter.getIds() +",addr=",kwMeter.getAddress());
return null;
}

return kwMeters.get(0);
}
}

Загрузка…
Отмена
Сохранить