feat(dms): 添加文件服务降级处理并优化查询条件

- 为RemoteFileService添加mock降级支持
- 实现文件服务异常时的降级处理逻辑
-优化设备类型关联查询条件
- 增加machineId精确查询条件支持
master
zangch@mesnac.com 3 months ago
parent bf79c07c5b
commit 24182347f5

@ -18,6 +18,7 @@ import org.dromara.dms.domain.vo.DmsBaseMachineInfoVo;
import org.dromara.dms.mapper.DmsBaseMachineInfoMapper;
import org.dromara.dms.service.IDmsBaseMachineInfoService;
import org.dromara.resource.api.RemoteFileService;
import org.dromara.resource.api.RemoteFileServiceMock;
import org.springframework.stereotype.Service;
import java.util.Collection;
@ -37,7 +38,7 @@ public class DmsBaseMachineInfoServiceImpl implements IDmsBaseMachineInfoService
private final DmsBaseMachineInfoMapper baseMapper;
@DubboReference
@DubboReference(mock = "true")
private RemoteFileService remoteFileService;
@ -118,8 +119,15 @@ public class DmsBaseMachineInfoServiceImpl implements IDmsBaseMachineInfoService
String photoUrl = remoteFileService.selectUrlByIds(vo.getOssId());
vo.setPhotoAddress(photoUrl);
} catch (Exception e) {
// 忽略异常,不影响主要业务
vo.setPhotoAddress(null);
// 使用降级处理
RemoteFileService mockService = new RemoteFileServiceMock();
try {
String photoUrl = mockService.selectUrlByIds(vo.getOssId());
vo.setPhotoAddress(photoUrl);
} catch (Exception ex) {
// 忽略异常,不影响主要业务
vo.setPhotoAddress(null);
}
}
}
}
@ -155,6 +163,7 @@ public class DmsBaseMachineInfoServiceImpl implements IDmsBaseMachineInfoService
.select(DmsBaseDeviceType::getDeviceTypeName)
.leftJoin(DmsBaseDeviceType.class, DmsBaseDeviceType::getDeviceTypeId, DmsBaseMachineInfo::getMachineType)
.eq(bo.getMachineId() != null, DmsBaseMachineInfo::getMachineId, bo.getMachineId())
.like(StringUtils.isNotBlank(bo.getMachineCode()), DmsBaseMachineInfo::getMachineCode, bo.getMachineCode())
.like(StringUtils.isNotBlank(bo.getMachineName()), DmsBaseMachineInfo::getMachineName, bo.getMachineName())

Loading…
Cancel
Save