|
|
@@ -15,6 +15,7 @@ import cn.reghao.tnb.file.app.zoss.model.po.StoreVolume;
|
|
|
import cn.reghao.tnb.common.db.SelectOption;
|
|
|
import cn.reghao.tnb.file.app.zoss.model.vo.StoreNodeInfo;
|
|
|
import cn.reghao.tnb.file.app.zoss.rpc.StoreServiceWrapper;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.List;
|
|
|
@@ -24,6 +25,7 @@ import java.util.stream.Collectors;
|
|
|
* @author reghao
|
|
|
* @date 2024-02-23 13:01:38
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
public class StoreNodeService {
|
|
|
private final ByteConverter byteConverter;
|
|
|
@@ -33,11 +35,12 @@ public class StoreNodeService {
|
|
|
private final StoreServiceWrapper storeServiceWrapper;
|
|
|
private final StoreRepository storeRepository;
|
|
|
private final UserNodeService userNodeService;
|
|
|
+ private final UploadChannelService uploadChannelService;
|
|
|
|
|
|
public StoreNodeService(ByteConverter byteConverter, StoreNodeMapper storeNodeMapper,
|
|
|
StoreVolumeMapper storeVolumeMapper, UserNodeMapper userNodeMapper,
|
|
|
StoreServiceWrapper storeServiceWrapper, StoreRepository storeRepository,
|
|
|
- UserNodeService userNodeService) {
|
|
|
+ UserNodeService userNodeService, UploadChannelService uploadChannelService) {
|
|
|
this.byteConverter = byteConverter;
|
|
|
this.storeNodeMapper = storeNodeMapper;
|
|
|
this.storeVolumeMapper = storeVolumeMapper;
|
|
|
@@ -45,6 +48,7 @@ public class StoreNodeService {
|
|
|
this.storeServiceWrapper = storeServiceWrapper;
|
|
|
this.storeRepository = storeRepository;
|
|
|
this.userNodeService = userNodeService;
|
|
|
+ this.uploadChannelService = uploadChannelService;
|
|
|
}
|
|
|
|
|
|
public void addOrUpdate(StoreNodeDto storeNodeDto) {
|
|
|
@@ -53,12 +57,7 @@ public class StoreNodeService {
|
|
|
StoreNode storeNode = storeNodeMapper.findByNodeAddrAndHttpPort(nodeAddr, httpPort);
|
|
|
if (storeNode == null) {
|
|
|
storeRepository.saveStoreNode(storeNodeDto);
|
|
|
-
|
|
|
- // 没有 UserNode
|
|
|
- int total = userNodeMapper.findAll().size();
|
|
|
- if (total == 0) {
|
|
|
- userNodeService.initUserNode();
|
|
|
- }
|
|
|
+ init();
|
|
|
} else {
|
|
|
int storeNodeId = storeNode.getId();
|
|
|
List<StoreVolume> storeVolumes = storeNodeDto.getDiskVolumes().stream()
|
|
|
@@ -68,6 +67,19 @@ public class StoreNodeService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void init() {
|
|
|
+ // 没有 UserNode
|
|
|
+ int total = userNodeMapper.findAll().size();
|
|
|
+ if (total == 0) {
|
|
|
+ userNodeService.initUserNode();
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ uploadChannelService.initUploadChannel();
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("初始化 UploadChannel 异常: {}", e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public Result updateStatus(int storeNodeId) {
|
|
|
StoreNode storeNode = storeNodeMapper.findById(storeNodeId);
|
|
|
if (storeNode != null) {
|