Browse Source

update oss-console

reghao 1 năm trước cách đây
mục cha
commit
56d03cbc35

+ 4 - 4
oss-console/src/main/java/cn/reghao/oss/console/app/controller/page/StoreNodeController.java

@@ -26,11 +26,11 @@ public class StoreNodeController {
         this.storeNodeService = storeNodeService;
     }
 
-    @ApiOperation(value = "设置存储节点的域名")
+    @ApiOperation(value = "设置存储节点的状态")
     @PostMapping(value = "/update", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String updateStoreNodeDomain(@Validated NodeUpdateDto nodeUpdateDto) {
-        Result result = storeNodeService.updateDomain(nodeUpdateDto);
-        return WebResult.result(result);
+    public String updateStoreNodeDomain() {
+        storeNodeService.updateStatus();
+        return WebResult.success();
     }
 
     @ApiOperation(value = "删除存储节点")

+ 1 - 0
oss-console/src/main/java/cn/reghao/oss/console/app/controller/page/UploadChannelPageController.java

@@ -91,6 +91,7 @@ public class UploadChannelPageController {
         List<KeyValue> storeNodes = userNodeService.getUserStoreNodes().stream()
                 .map(storeNode -> {
                     int nodeId = storeNode.getId();
+                    String nodeAddr = storeNode.getNodeAddr();
                     String domain = userNodeService.getUserNode(nodeId, loginUser).getDomain();
                     return new KeyValue(nodeId+"", domain);
                 }).collect(Collectors.toList());

+ 1 - 13
oss-console/src/main/java/cn/reghao/oss/console/app/controller/page/UserKeyPageController.java

@@ -1,8 +1,6 @@
 package cn.reghao.oss.console.app.controller.page;
 
-import cn.reghao.oss.console.app.model.vo.KeyValue;
 import cn.reghao.oss.console.app.model.vo.UserKeyVo;
-import cn.reghao.oss.console.app.service.StoreNodeService;
 import cn.reghao.oss.console.app.service.UserKeyService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -21,11 +19,9 @@ import java.util.List;
 @Controller
 @RequestMapping("/store/my/key")
 public class UserKeyPageController {
-    private final StoreNodeService storeNodeService;
     private final UserKeyService userKeyService;
 
-    public UserKeyPageController(StoreNodeService storeNodeService, UserKeyService userKeyService) {
-        this.storeNodeService = storeNodeService;
+    public UserKeyPageController(UserKeyService userKeyService) {
         this.userKeyService = userKeyService;
     }
 
@@ -36,12 +32,4 @@ public class UserKeyPageController {
         model.addAttribute("list", list);
         return "/userkey/index1";
     }
-
-    @ApiOperation(value = "帐号创建页面")
-    @GetMapping(value = "/add")
-    public String userKeyAddPage(Model model) {
-        List<KeyValue> storeNodes = storeNodeService.getNodeKeyValues();
-        model.addAttribute("storeNodes", storeNodes);
-        return "/userkey/add";
-    }
 }

+ 2 - 2
oss-console/src/main/java/cn/reghao/oss/console/app/db/repository/UserNodeRepository.java

@@ -11,8 +11,8 @@ import java.util.List;
  */
 public interface UserNodeRepository extends JpaRepository<UserNode, Integer> {
     int countByNodeId(int nodeId);
-    UserNode findByNodeIdAndUserId(int nodeId, int userId);
+    UserNode findByUserIdAndNodeId(int nodeId, int userId);
+    List<UserNode> findByUserId(int userId);
     UserNode findByDomain(String domain);
     UserNode findById(int id);
-    List<UserNode> findByUserId(int userId);
 }

+ 1 - 1
oss-console/src/main/java/cn/reghao/oss/console/app/rpc/ConsoleServiceImpl.java

@@ -36,7 +36,7 @@ public class ConsoleServiceImpl implements ConsoleService {
 
     @Override
     public void registerNode(StoreNodeDto storeNodeDto) {
-        storeNodeService.add(storeNodeDto);
+        storeNodeService.addOrUpdate(storeNodeDto);
     }
 
     @Override

+ 4 - 0
oss-console/src/main/java/cn/reghao/oss/console/app/rpc/StoreServiceWrapperImpl.java

@@ -41,6 +41,10 @@ public class StoreServiceWrapperImpl implements StoreServiceWrapper {
             throw new Exception(errMsg);
         }
 
+        return getStoreService(storeNode);
+    }
+
+    public StoreService getStoreService(StoreNode storeNode) {
         RemoteService<StoreService> remoteService = new RemoteService<>();
         String host = storeNode.getNodeAddr();
         int port = storeNode.getRpcPort();

+ 13 - 7
oss-console/src/main/java/cn/reghao/oss/console/app/service/StoreChannelService.java

@@ -5,16 +5,17 @@ import cn.reghao.jutil.jdk.converter.ByteType;
 import cn.reghao.jutil.jdk.result.Result;
 import cn.reghao.oss.api.dto.StoreDiskDto;
 import cn.reghao.oss.api.dto.StoreInfo;
-import cn.reghao.oss.api.iface.StoreServiceWrapper;
 import cn.reghao.oss.console.account.service.UserContext;
 import cn.reghao.oss.console.app.db.repository.StoreNodeRepository;
 import cn.reghao.oss.console.app.db.repository.UploadChannelRepository;
 import cn.reghao.oss.console.app.model.dto.UploadChannelDto;
+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.po.UploadChannel;
 import cn.reghao.oss.console.app.model.po.UserNode;
 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.StoreServiceWrapperImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -31,10 +32,10 @@ public class StoreChannelService {
     private final UploadChannelRepository uploadChannelRepository;
     private final StoreNodeRepository storeNodeRepository;
     private final UserNodeService userNodeService;
-    private final StoreServiceWrapper storeServiceWrapper;
+    private final StoreServiceWrapperImpl storeServiceWrapper;
 
     public StoreChannelService(UploadChannelRepository uploadChannelRepository, StoreNodeRepository storeNodeRepository,
-                               UserNodeService userNodeService, StoreServiceWrapper storeServiceWrapper) {
+                               UserNodeService userNodeService, StoreServiceWrapperImpl storeServiceWrapper) {
         this.uploadChannelRepository = uploadChannelRepository;
         this.storeNodeRepository = storeNodeRepository;
         this.userNodeService = userNodeService;
@@ -77,14 +78,19 @@ public class StoreChannelService {
 
     public StoreNodeVO getStoreDetail(int nodeId) {
         StoreNode storeNode = storeNodeRepository.findById(nodeId);
-        int channelId = 1;
-        StoreInfo storeInfo = storeServiceWrapper.getStoreInfo(channelId);
+        if (storeNode == null) {
+            return null;
+        }
+
+
+
+        StoreInfo storeInfo = storeServiceWrapper.getStoreService(storeNode).getStoreInfo();
         List<StoreDiskDto> storeDiskDtos = storeInfo.getStoreDisks();
-        /*List<StoreDisk> list = storeDiskDtos.stream()
+        List<StoreDisk> list = storeDiskDtos.stream()
                 .map(StoreDisk::new)
                 .collect(Collectors.toList());
         storeNode.setStoreDisks(list);
-        storeNodeRepository.save(storeNode);*/
+        storeNodeRepository.save(storeNode);
 
         List<StoreDiskVO> storeDisks = storeDiskDtos.stream()
                 .map(storeDisk -> {

+ 5 - 36
oss-console/src/main/java/cn/reghao/oss/console/app/service/StoreNodeService.java

@@ -1,17 +1,13 @@
 package cn.reghao.oss.console.app.service;
 
 import cn.reghao.jutil.jdk.result.Result;
-import cn.reghao.oss.console.account.service.UserContext;
 import cn.reghao.oss.console.app.db.repository.StoreNodeRepository;
 import cn.reghao.oss.console.app.db.repository.UserNodeRepository;
-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.po.UserNode;
 import cn.reghao.oss.console.app.model.vo.KeyValue;
 import cn.reghao.oss.api.dto.StoreNodeDto;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -30,7 +26,7 @@ public class StoreNodeService {
         this.userNodeRepository = userNodeRepository;
     }
 
-    public void add(StoreNodeDto storeNodeDto) {
+    public void addOrUpdate(StoreNodeDto storeNodeDto) {
         String nodeAddr = storeNodeDto.getNodeAddr();
         StoreNode storeNode = storeNodeRepository.findByNodeAddr(nodeAddr);
         if (storeNode == null) {
@@ -45,23 +41,7 @@ public class StoreNodeService {
         }
     }
 
-    @Transactional(rollbackFor = Exception.class)
-    public Result updateDomain(NodeUpdateDto nodeUpdateDto) {
-        int id = nodeUpdateDto.getId();
-        StoreNode storeNode = storeNodeRepository.findById(id);
-        if (storeNode == null) {
-            return Result.fail(String.format("id %s not exist", id));
-        }
-
-        String domain = nodeUpdateDto.getDomain();
-        /*StoreNode entity = storeNodeRepository.findByDomain(domain);
-        if (entity != null) {
-            return Result.fail(String.format("domain %s exist", domain));
-        }
-
-        storeNode.setEnabled(true);
-        storeNodeRepository.save(storeNode);*/
-
+    public Result updateStatus() {
         return Result.success();
     }
 
@@ -73,7 +53,7 @@ public class StoreNodeService {
 
         int total = userNodeRepository.countByNodeId(nodeId);
         if (total > 0) {
-            return Result.fail("someone user the node");
+            return Result.fail("someone uses the node");
         }
 
         storeNodeRepository.delete(storeNode);
@@ -84,27 +64,16 @@ public class StoreNodeService {
         return storeNodeRepository.findAll();
     }
 
-    public List<StoreNode> getByIds(List<Integer> list) {
-        return storeNodeRepository.findAllById(list);
-    }
-
-    public StoreNode getByDomain(String domain) {
-        UserNode userNode = userNodeRepository.findByDomain(domain);
-        int id = userNode.getNodeId();
-        return storeNodeRepository.findById(id);
-    }
-
     public StoreNode getById(int id) {
         return storeNodeRepository.findById(id);
     }
 
     public List<KeyValue> getNodeKeyValues() {
-        int loginUser = UserContext.getUserId();
         return storeNodeRepository.findAll().stream()
                 .map(storeNode -> {
                     int nodeId = storeNode.getId();
-                    String domain = userNodeRepository.findByNodeIdAndUserId(nodeId, loginUser).getDomain();
-                    return new KeyValue(nodeId+"", domain);
+                    String nodeAddr = storeNode.getNodeAddr();
+                    return new KeyValue(nodeId+"", nodeAddr);
                 }).collect(Collectors.toList());
     }
 

+ 3 - 6
oss-console/src/main/java/cn/reghao/oss/console/app/service/UploadChannelService.java

@@ -25,13 +25,10 @@ public class UploadChannelService {
     private final ByteConverter byteConverter = new ByteConverter();
     private final UploadChannelRepository uploadChannelRepository;
     private final UserNodeService userNodeService;
-    private final StoreNodeService storeNodeService;
 
-    public UploadChannelService(UploadChannelRepository uploadChannelRepository, UserNodeService userNodeService,
-                                StoreNodeService storeNodeService) {
+    public UploadChannelService(UploadChannelRepository uploadChannelRepository, UserNodeService userNodeService) {
         this.uploadChannelRepository = uploadChannelRepository;
         this.userNodeService = userNodeService;
-        this.storeNodeService = storeNodeService;
     }
 
     public void updateScope(ChannelScopeDto channelScopeDto) {
@@ -115,7 +112,7 @@ public class UploadChannelService {
         String ossUrl = String.format("//%s", domain);
         long maxSize = uploadChannel.getMaxSize();
 
-        StoreNode storeNode = storeNodeService.getByDomain(domain);
+        StoreNode storeNode = userNodeService.getByDomain(domain);
         if (storeNode == null) {
             String errMsg = String.format("store_node %s not exist", domain);
             throw new Exception(errMsg);
@@ -129,7 +126,7 @@ public class UploadChannelService {
     }
 
     public List<UploadChannel> getByDomainAndCreateBy(String domain, int createBy) {
-        StoreNode storeNode = storeNodeService.getByDomain(domain);
+        StoreNode storeNode = userNodeService.getByDomain(domain);
         int nodeId = storeNode.getId();
         return getByNodeIdAndUserId(nodeId, createBy);
     }

+ 15 - 9
oss-console/src/main/java/cn/reghao/oss/console/app/service/UserNodeService.java

@@ -2,6 +2,7 @@ package cn.reghao.oss.console.app.service;
 
 import cn.reghao.jutil.jdk.result.Result;
 import cn.reghao.oss.console.account.service.UserContext;
+import cn.reghao.oss.console.app.db.repository.StoreNodeRepository;
 import cn.reghao.oss.console.app.db.repository.UploadChannelRepository;
 import cn.reghao.oss.console.app.db.repository.UserNodeRepository;
 import cn.reghao.oss.console.app.model.dto.UserNodeDto;
@@ -22,25 +23,25 @@ import java.util.stream.Collectors;
 @Service
 public class UserNodeService {
     private final UserNodeRepository userNodeRepository;
+    private final StoreNodeRepository storeNodeRepository;
     private final UploadChannelRepository uploadChannelRepository;
-    private final StoreNodeService storeNodeService;
 
-    public UserNodeService(UserNodeRepository userNodeRepository, StoreNodeService storeNodeService,
+    public UserNodeService(UserNodeRepository userNodeRepository, StoreNodeRepository storeNodeRepository,
                            UploadChannelRepository uploadChannelRepository) {
         this.userNodeRepository = userNodeRepository;
-        this.storeNodeService = storeNodeService;
+        this.storeNodeRepository = storeNodeRepository;
         this.uploadChannelRepository = uploadChannelRepository;
     }
 
     public Result add(UserNodeDto userNodeDto) {
         int nodeId = userNodeDto.getNodeId();
         Integer userId = UserContext.getUserId();
-        UserNode userNode = userNodeRepository.findByNodeIdAndUserId(nodeId, userId);
+        UserNode userNode = userNodeRepository.findByUserIdAndNodeId(userId, nodeId);
         if (userNode != null) {
             return Result.fail("UserNode exist");
         }
 
-        StoreNode storeNode = storeNodeService.getById(nodeId);
+        StoreNode storeNode = storeNodeRepository.findById(nodeId);
         if (storeNode == null) {
             return Result.success("StoreNode not exist");
         }
@@ -54,7 +55,6 @@ public class UserNodeService {
         UserNode userNode = userNodeRepository.findById(id);
         if (userNode != null) {
             int nodeId = userNode.getNodeId();
-
             int userId = UserContext.getUserId();
             List<UploadChannel> uploadChannels = uploadChannelRepository.findByNodeIdAndCreateBy(nodeId, userId);
             if (!uploadChannels.isEmpty()) {
@@ -72,6 +72,12 @@ public class UserNodeService {
         return userNodeRepository.findByUserId(userId);
     }
 
+    public StoreNode getByDomain(String domain) {
+        UserNode userNode = userNodeRepository.findByDomain(domain);
+        int id = userNode.getNodeId();
+        return storeNodeRepository.findById(id);
+    }
+
     public List<StoreNode> getUserStoreNodes() {
         int loginUser = UserContext.getUserId();
         List<UserNode> list = userNodeRepository.findByUserId(loginUser);
@@ -80,7 +86,7 @@ public class UserNodeService {
         }
 
         List<Integer> nodeIds = list.stream().map(UserNode::getNodeId).collect(Collectors.toList());
-        return storeNodeService.getByIds(nodeIds);
+        return storeNodeRepository.findAllById(nodeIds);
     }
 
     public List<UserNodeVO> getUserStoreNodes1() {
@@ -93,7 +99,7 @@ public class UserNodeService {
         return list.stream()
                 .map(userNode -> {
                     int nodeId = userNode.getNodeId();
-                    StoreNode storeNode = storeNodeService.getById(nodeId);
+                    StoreNode storeNode = storeNodeRepository.findById(nodeId);
                     String nodeAddr = storeNode.getNodeAddr();
                     String domain = userNode.getDomain();
                     return new UserNodeVO(nodeId, nodeId, nodeAddr, domain);
@@ -102,6 +108,6 @@ public class UserNodeService {
     }
 
     public UserNode getUserNode(int nodeId, int loginUser) {
-        return userNodeRepository.findByNodeIdAndUserId(nodeId, loginUser);
+        return userNodeRepository.findByUserIdAndNodeId(loginUser, nodeId);
     }
 }

+ 2 - 1
oss-console/src/main/resources/application.yml

@@ -13,7 +13,8 @@ server:
   servlet:
     session:
       # 超时时间为一周
-      timeout: 604800
+      timeout: 7d
+    persistent: true
 spring:
   application:
     name: oss-console