mirror of
https://github.com/ctripcorp/zeus.git
synced 2024-09-21 08:06:08 +08:00
Merge branch 'github_dev' of github.com:ctripcorp/zeus into github_dev
This commit is contained in:
commit
d60ebbf15c
|
@ -16,13 +16,13 @@ public class AutoFiller {
|
|||
|
||||
public void autofill(Group group) throws Exception {
|
||||
for (GroupVirtualServer gvs : group.getGroupVirtualServers()) {
|
||||
VirtualServer tvs = gvs.getVirtualServer();
|
||||
VirtualServer vs = virtualServerRepository.getById(gvs.getVirtualServer().getId());
|
||||
tvs.setName(vs.getName()).setSlbId(vs.getSlbId()).setPort(vs.getPort()).setSsl(vs.getSsl());
|
||||
tvs.getDomains().clear();
|
||||
for (Domain domain : vs.getDomains()) {
|
||||
tvs.getDomains().add(domain);
|
||||
}
|
||||
gvs.setVirtualServer(virtualServerRepository.getById(gvs.getVirtualServer().getId()));
|
||||
}
|
||||
autofillEmptyFields(group);
|
||||
}
|
||||
|
||||
public void autofillEmptyFields(Group group) {
|
||||
for (GroupVirtualServer gvs : group.getGroupVirtualServers()) {
|
||||
if (gvs.getPriority() == null) {
|
||||
if (gvs.getPath().endsWith(RegexRootPath))
|
||||
gvs.setPriority(Integer.MIN_VALUE);
|
||||
|
|
|
@ -7,9 +7,13 @@ import com.ctrip.zeus.service.model.handler.GroupSync;
|
|||
import com.ctrip.zeus.service.model.handler.GroupValidator;
|
||||
import com.ctrip.zeus.service.model.handler.VGroupValidator;
|
||||
import com.ctrip.zeus.service.query.GroupCriteriaQuery;
|
||||
import com.ctrip.zeus.service.query.VirtualServerCriteriaQuery;
|
||||
import com.ctrip.zeus.service.status.StatusService;
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.collect.Maps;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
|
||||
|
@ -28,23 +32,32 @@ public class GroupRepositoryImpl implements GroupRepository {
|
|||
@Resource
|
||||
private ArchiveService archiveService;
|
||||
@Resource
|
||||
private VirtualServerRepository virtualServerRepository;
|
||||
@Resource
|
||||
private GroupValidator groupModelValidator;
|
||||
@Resource
|
||||
private VGroupValidator vGroupValidator;
|
||||
@Resource
|
||||
private StatusService statusService;
|
||||
@Resource
|
||||
private VirtualServerRepository virtualServerRepository;
|
||||
@Resource
|
||||
private VirtualServerCriteriaQuery virtualServerCriteriaQuery;
|
||||
|
||||
@Override
|
||||
public List<Group> list(Long[] ids) throws Exception {
|
||||
Set<Long> vsIds = virtualServerCriteriaQuery.queryByGroupIds(ids);
|
||||
Map<Long, VirtualServer> dic = Maps.uniqueIndex(virtualServerRepository.listAll(vsIds.toArray(new Long[vsIds.size()])), new Function<VirtualServer, Long>() {
|
||||
@Nullable
|
||||
@Override
|
||||
public Long apply(VirtualServer virtualServer) {
|
||||
return virtualServer.getId();
|
||||
}
|
||||
});
|
||||
List<Group> result = archiveService.getLatestGroups(ids);
|
||||
for (Group group : result) {
|
||||
for (GroupVirtualServer groupVirtualServer : group.getGroupVirtualServers()) {
|
||||
groupVirtualServer.setVirtualServer(
|
||||
virtualServerRepository.getById(groupVirtualServer.getVirtualServer().getId()));
|
||||
groupVirtualServer.setVirtualServer(dic.get(groupVirtualServer.getVirtualServer().getId()));
|
||||
}
|
||||
autoFiller.autofill(group);
|
||||
autoFiller.autofillEmptyFields(group);
|
||||
hideVirtualValue(group);
|
||||
}
|
||||
return result;
|
||||
|
@ -54,10 +67,6 @@ public class GroupRepositoryImpl implements GroupRepository {
|
|||
public Group getById(Long id) throws Exception {
|
||||
if (groupModelValidator.exists(id) || vGroupValidator.exists(id)) {
|
||||
Group result = archiveService.getLatestGroup(id);
|
||||
for (GroupVirtualServer groupVirtualServer : result.getGroupVirtualServers()) {
|
||||
groupVirtualServer.setVirtualServer(
|
||||
virtualServerRepository.getById(groupVirtualServer.getVirtualServer().getId()));
|
||||
}
|
||||
autoFiller.autofill(result);
|
||||
hideVirtualValue(result);
|
||||
return result;
|
||||
|
|
Loading…
Reference in a new issue