|
|
@@ -1,5 +1,7 @@
|
|
|
package cn.reghao.oss.console.app.service;
|
|
|
|
|
|
+import cn.reghao.jutil.jdk.converter.ByteConverter;
|
|
|
+import cn.reghao.jutil.jdk.converter.ByteType;
|
|
|
import cn.reghao.jutil.jdk.result.Result;
|
|
|
import cn.reghao.oss.console.app.db.repository.StoreNodeRepository;
|
|
|
import cn.reghao.oss.console.app.db.repository.UserNodeRepository;
|
|
|
@@ -7,7 +9,11 @@ import cn.reghao.oss.console.app.model.dto.NodeUpdateDto;
|
|
|
import cn.reghao.oss.console.app.model.po.StoreDisk;
|
|
|
import cn.reghao.oss.console.app.model.po.StoreNode;
|
|
|
import cn.reghao.oss.console.app.model.vo.KeyValue;
|
|
|
+import cn.reghao.oss.console.app.model.vo.StoreDiskVO;
|
|
|
+import cn.reghao.oss.console.app.model.vo.StoreNodeVO;
|
|
|
import cn.reghao.oss.console.app.rpc.RpcService;
|
|
|
+import cn.reghao.oss.store.api.dto.StoreDiskDto;
|
|
|
+import cn.reghao.oss.store.api.dto.StoreInfo;
|
|
|
import cn.reghao.oss.store.api.dto.StoreNodeDto;
|
|
|
import cn.reghao.oss.store.api.dto.StoreProperties;
|
|
|
import cn.reghao.oss.store.api.iface.StoreService;
|
|
|
@@ -28,6 +34,7 @@ public class StoreNodeService {
|
|
|
private final StoreNodeRepository storeNodeRepository;
|
|
|
private final RpcService rpcService;
|
|
|
private final UserNodeRepository userNodeRepository;
|
|
|
+ private ByteConverter byteConverter = new ByteConverter();
|
|
|
|
|
|
public StoreNodeService(StoreNodeRepository storeNodeRepository, RpcService rpcService,
|
|
|
UserNodeRepository userNodeRepository) {
|
|
|
@@ -126,4 +133,32 @@ public class StoreNodeService {
|
|
|
return new KeyValue(nodeId+"", domain);
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
|
+
|
|
|
+ public StoreNodeVO getDetail(int nodeId) {
|
|
|
+ StoreNode storeNode = storeNodeRepository.findById(nodeId).orElse(null);
|
|
|
+ if (storeNode == null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ StoreService storeService = rpcService.getStoreService(storeNode);
|
|
|
+ StoreInfo storeInfo = storeService.getStoreInfo();
|
|
|
+ List<StoreDiskDto> storeDiskDtos = storeInfo.getStoreDisks();
|
|
|
+ /*List<StoreDisk> list = storeDiskDtos.stream()
|
|
|
+ .map(StoreDisk::new)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ storeNode.setStoreDisks(list);
|
|
|
+ storeNodeRepository.save(storeNode);*/
|
|
|
+
|
|
|
+ List<StoreDiskVO> storeDisks = storeDiskDtos.stream()
|
|
|
+ .map(storeDisk -> {
|
|
|
+ String diskDir = storeDisk.getDiskDir();
|
|
|
+ long total = storeDisk.getTotal();
|
|
|
+ String totalStr = byteConverter.convert(ByteType.Bytes, total);
|
|
|
+ long avail = storeDisk.getAvail();
|
|
|
+ String availStr = byteConverter.convert(ByteType.Bytes, avail);
|
|
|
+ return new StoreDiskVO(diskDir, totalStr, availStr);
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ return new StoreNodeVO(storeNode, storeDisks, storeInfo);
|
|
|
+ }
|
|
|
}
|