|
|
@@ -788,35 +788,12 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Boolean updateSwitchStatus(UpdateSwitchStatusDTO dto) {
|
|
|
- Assert.notBlank(dto.getPointNfc(), "隔离点nfc不能为空!");
|
|
|
- Assert.notBlank(dto.getSwitchStatus(), "隔离点开关状态不能为空!");
|
|
|
- IsRfidToken rfidToken = iIsRfidTokenService.getOne(Wrappers.<IsRfidToken>lambdaQuery()
|
|
|
- .eq(IsRfidToken::getRfid, dto.getPointNfc()));
|
|
|
- Assert.isTrue(rfidToken != null, "该点位nfc失效!");
|
|
|
- return iIsIsolationPointService.update(Wrappers.<IsIsolationPoint>lambdaUpdate()
|
|
|
- .eq(IsIsolationPoint::getRfidId, rfidToken.getRfidId())
|
|
|
- .set(IsIsolationPoint::getSwitchStatus, dto.getSwitchStatus()));
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public Boolean updateSwitchList(UpdateSwitchParam dto) {
|
|
|
Assert.isFalse(dto.getList().isEmpty(), "点位开关数据不可为空!");
|
|
|
- Date date = new Date();
|
|
|
- List<String> collect = dto.getList().stream().map(UpdateSwitchStatusDTO::getPointSerialNumber).collect(Collectors.toList());
|
|
|
- Assert.isFalse(collect.isEmpty(), "请提供硬件序列号!");
|
|
|
- List<IsIsolationPoint> list = iIsIsolationPointService.list(Wrappers.<IsIsolationPoint>lambdaQuery()
|
|
|
- .in(IsIsolationPoint::getPointSerialNumber, collect));
|
|
|
- for (UpdateSwitchStatusDTO updateSwitchStatusDTO : dto.getList()) {
|
|
|
- Assert.notBlank(updateSwitchStatusDTO.getPointSerialNumber(), "存在序列号为空的数据!");
|
|
|
- updateSwitchStatusDTO.setSwitchLastUpdateTime(date);
|
|
|
- for (IsIsolationPoint isIsolationPoint : list) {
|
|
|
- if (updateSwitchStatusDTO.getPointSerialNumber().equals(isIsolationPoint.getPointSerialNumber())) {
|
|
|
- updateSwitchStatusDTO.setPointNfc(isIsolationPoint.getPointNfc());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ dto.getList().forEach(o -> {
|
|
|
+ Assert.notBlank(o.getPointSerialNumber(), "序列号不可为空!");
|
|
|
+ });
|
|
|
redisCache.setCacheList(SYS_ATTR + "sys.points.switch.last", dto.getList());
|
|
|
redisCache.expire(SYS_ATTR + "sys.points.switch.last", 60, TimeUnit.SECONDS);
|
|
|
redisCache.deleteObject(SYS_ATTR + "sys.points.switch.records");
|