Commit 51b2248f authored by xuxin's avatar xuxin

查看当前vps已经绑定的子用户

parent ef47d02e
......@@ -14,6 +14,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.security.Principal;
import java.util.List;
/**
* @author xuxin
......@@ -94,5 +95,19 @@ public class VpsController {
return resultDto;
}
/**
* 查看当前vps已经绑定的 子用户
*/
@GetMapping("/list/{id}")
public ResultDto getVpsList(Principal principal, @PathVariable String id) {
ResultDto resultDto = new ResultDto();
List<String> list = vpsService.queryAssignUserList(principal.getName(), id);
resultDto.setData(list);
resultDto.setStatus(0);
return resultDto;
}
}
......@@ -3,6 +3,7 @@ package com.edgec.browserbackend.browser.dto;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.List;
......@@ -18,6 +19,7 @@ import java.util.List;
@JsonIgnoreProperties(ignoreUnknown = true)
public class UserVpsDto {
@Id
private String userId;
private List<String> vpsIdList;
......
......@@ -3,6 +3,8 @@ package com.edgec.browserbackend.browser.repository;
import com.edgec.browserbackend.browser.dto.UserVpsDto;
import org.springframework.data.mongodb.repository.MongoRepository;
import java.util.List;
/**
* @author xuxin
* @date 2020/8/15 17:35
......@@ -10,4 +12,6 @@ import org.springframework.data.mongodb.repository.MongoRepository;
*/
public interface UserVpsRepository extends MongoRepository<UserVpsDto, String> {
List<UserVpsDto> findByUserIdLikeAndVpsIdListIn(String id, String vpsId);
}
......@@ -6,6 +6,7 @@ import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository;
import java.util.List;
import java.util.Optional;
/**
* @author xuxin
......@@ -18,4 +19,6 @@ public interface VpsRepository extends MongoRepository<Vps, String> {
List<Vps> findByOwner1OrOwner2(String userId1, String userId2);
Optional<Vps> findByIdAndOwner1AndOwner2(String id, String owner1, String owner2);
}
......@@ -170,4 +170,10 @@ public class VpsServiceImpl implements VpsService {
userVpsRepository.saveAll(list);
}
@Override
public List<String> queryAssignUserList(String user, String vpsId) {
Vps vps = vpsRepository.findByIdAndOwner1AndOwner2(vpsId, user, null).orElseThrow(() -> new ClientRequestException(VpsErrorCode.VPS_NOT_EXIST));
return userVpsRepository.findByUserIdLikeAndVpsIdListIn(user, vps.getId()).stream().map(u -> u.getUserId()).collect(Collectors.toList());
}
}
......@@ -5,6 +5,8 @@ import com.edgec.browserbackend.browser.dto.AssignVpsDto;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;
/**
* @author xuxin
* @date 2020/8/13 11:45
......@@ -22,4 +24,6 @@ public interface VpsService {
Page<Vps> queryPage(String user, Pageable pageable);
void assignVpsList(String userId, AssignVpsDto assignVpsDto);
List<String> queryAssignUserList(String user, String vpsId);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment