package com.sobey.cmop.mvc.service.iaas.imp; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.sobey.cmop.mvc.comm.BaseSevcie; import com.sobey.cmop.mvc.constant.CPConstant; import com.sobey.cmop.mvc.constant.ComputeConstant; import com.sobey.cmop.mvc.constant.MdnConstant; import com.sobey.cmop.mvc.constant.MonitorConstant; import com.sobey.cmop.mvc.constant.NetworkConstant; import com.sobey.cmop.mvc.constant.ResourcesConstant; import com.sobey.cmop.mvc.constant.StorageConstant; import com.sobey.cmop.mvc.entity.ComputeItem; import com.sobey.cmop.mvc.entity.CpItem; import com.sobey.cmop.mvc.entity.MdnItem; import com.sobey.cmop.mvc.entity.MdnLiveItem; import com.sobey.cmop.mvc.entity.MdnVodItem; import com.sobey.cmop.mvc.entity.MonitorCompute; import com.sobey.cmop.mvc.entity.MonitorElb; import com.sobey.cmop.mvc.entity.NetworkDnsItem; import com.sobey.cmop.mvc.entity.NetworkEipItem; import com.sobey.cmop.mvc.entity.NetworkElbItem; import com.sobey.cmop.mvc.entity.Resources; import com.sobey.cmop.mvc.entity.StorageItem; import com.sobey.cmop.mvc.entity.ToJson.ComputeJson; import com.sobey.cmop.mvc.entity.ToJson.CpJson; import com.sobey.cmop.mvc.entity.ToJson.DnsJson; import com.sobey.cmop.mvc.entity.ToJson.EipJson; import com.sobey.cmop.mvc.entity.ToJson.ElbJson; import com.sobey.cmop.mvc.entity.ToJson.MdnJson; import com.sobey.cmop.mvc.entity.ToJson.MdnLiveJson; import com.sobey.cmop.mvc.entity.ToJson.MdnVodJson; import com.sobey.cmop.mvc.entity.ToJson.MonitorComputeJson; import com.sobey.cmop.mvc.entity.ToJson.MonitorElbJson; import com.sobey.cmop.mvc.entity.ToJson.ResourcesJson; import com.sobey.cmop.mvc.entity.ToJson.StorageJson; import com.sobey.cmop.mvc.service.iaas.IResourcesJsonService; import com.sobey.framework.utils.StringCommonUtils; @Service @Transactional(readOnly = true) public class ResourcesJsonServiceImp extends BaseSevcie implements IResourcesJsonService { @Override public ResourcesJson convertResourcesJsonToResourcesJson(Resources resources) { ResourcesJson json = new ResourcesJson(); json.setId(resources.getId()); json.setUser(resources.getUser().getName()); json.setServiceType(resources.getServiceType()); json.setServiceTag(resources.getServiceTag().getName()); json.setServiceId(resources.getServiceId()); json.setServiceIdentifier(resources.getServiceIdentifier()); json.setCreateTime(resources.getCreateTime()); json.setStatus(ResourcesConstant.Status.get(resources.getStatus())); json.setOldIp(resources.getOldIp()); json.setIpAddress(resources.getIpAddress()); return json; } @Override public ComputeJson convertComputeJsonToComputeItem(ComputeItem computeItem) { ComputeJson json = new ComputeJson(); json.setId(computeItem.getId()); json.setIdentifier(computeItem.getIdentifier()); json.setComputeType(ComputeConstant.ComputeType.get(computeItem.getComputeType())); json.setOsType(ComputeConstant.OS_TYPE_MAP.get(computeItem.getOsType())); json.setOsBit(ComputeConstant.OS_BIT_MAP.get(computeItem.getOsBit())); if (ComputeConstant.ComputeType.PCS.toInteger().equals(computeItem.getComputeType())) { // PCS json.setServerType(ComputeConstant.PCSServerType.get(computeItem.getServerType())); } else { // ECS json.setServerType(ComputeConstant.ECSServerType.get(computeItem.getServerType())); } json.setRemark(computeItem.getRemark()); json.setInnerIp(computeItem.getInnerIp()); json.setOldIp(computeItem.getOldIp()); json.setHostName(computeItem.getHostName()); json.setOsStorageAlias(computeItem.getOsStorageAlias()); json.setMountESG(computeItem.getMountESG()); return json; } @Override public StorageJson convertStorageJsonToComputeItem(StorageItem storageItem) { StorageJson json = new StorageJson(); json.setId(storageItem.getId()); json.setIdentifier(storageItem.getIdentifier()); json.setMountPoint(storageItem.getMountPoint()); json.setSpace(storageItem.getSpace()); json.setStorageType(StorageConstant.StorageType.get(storageItem.getStorageType())); json.setVolume(storageItem.getVolume()); json.setMountComputes(storageItem.getMountComputes()); return json; } @Override public ElbJson convertElbJsonToNetworkElbItem(NetworkElbItem elbItem) { ElbJson json = new ElbJson(); json.setId(elbItem.getId()); json.setIdentifier(elbItem.getIdentifier()); json.setKeepSession(NetworkConstant.KeepSession.get(elbItem.getKeepSession())); json.setVirtualIp(elbItem.getVirtualIp()); json.setOldIp(elbItem.getOldIp()); json.setMountComputes(elbItem.getMountComputes()); return json; } @Override public EipJson convertEipJsonToNetworkEipItem(NetworkEipItem networkEipItem) { EipJson json = new EipJson(); String link = ""; Integer linkType = null; json.setId(networkEipItem.getId()); json.setIdentifier(networkEipItem.getIdentifier()); json.setIpAddress(networkEipItem.getIpAddress()); json.setOldIp(networkEipItem.getOldIp()); json.setIspType(NetworkConstant.ISPType.get(networkEipItem.getIspType())); if (networkEipItem.getNetworkElbItem() != null) { linkType = NetworkConstant.LinkType.关联ELB.toInteger(); link += networkEipItem.getNetworkElbItem().getIdentifier() + "(" + networkEipItem.getNetworkElbItem().getVirtualIp() + ")【" + networkEipItem.getNetworkElbItem().getMountComputes() + "】  "; } if (networkEipItem.getComputeItem() != null) { linkType = NetworkConstant.LinkType.关联实例.toInteger(); link += networkEipItem.getComputeItem().getIdentifier() + "(" + networkEipItem.getComputeItem().getInnerIp() + ")  "; } json.setLink(link); json.setLinkType(linkType); return json; } @Override public DnsJson convertDnsJsonToNetworkDnsItem(NetworkDnsItem networkDnsItem) { DnsJson json = new DnsJson(); json.setId(networkDnsItem.getId()); json.setIdentifier(networkDnsItem.getIdentifier()); json.setDomainName(networkDnsItem.getDomainName()); json.setDomainType(NetworkConstant.DomainType.get(networkDnsItem.getDomainType())); if (NetworkConstant.DomainType.CNAME.toInteger().equals(networkDnsItem.getDomainType())) { // CNAME json.setCnameDomain(networkDnsItem.getCnameDomain()); } else { // GSLB,A List<NetworkEipItem> networkEipItems = networkDnsItem.getNetworkEipItemList(); String targetEip = ""; for (NetworkEipItem networkEipItem : networkEipItems) { targetEip += networkEipItem.getIdentifier() + "(" + networkEipItem.getIpAddress() + ")  "; } json.setTargetEip(targetEip); } return json; } @Override public MonitorElbJson convertMonitorElbJsonToMonitorElb(MonitorElb monitorElb) { MonitorElbJson json = new MonitorElbJson(); json.setId(monitorElb.getId()); json.setIdentifier(monitorElb.getIdentifier()); json.setNetworkElbItem(monitorElb.getNetworkElbItem().getIdentifier() + "(" + monitorElb.getNetworkElbItem().getVirtualIp() + ")"); return json; } @Override public MonitorComputeJson convertMonitorComputeJsonToMonitorCompute(MonitorCompute monitorCompute) { MonitorComputeJson json = new MonitorComputeJson(); json.setId(monitorCompute.getId()); json.setIdentifier(monitorCompute.getIdentifier()); json.setIpAddress(monitorCompute.getIpAddress()); json.setPort(monitorCompute.getPort()); json.setProcess(monitorCompute.getProcess()); json.setMountPoint(monitorCompute.getMountPoint()); json.setCpuWarn(MonitorConstant.THRESHOLD_GT_STRING_KEY.get(monitorCompute.getCpuWarn())); json.setCpuCritical(MonitorConstant.THRESHOLD_GT_STRING_KEY.get(monitorCompute.getCpuCritical())); json.setMemoryWarn(MonitorConstant.THRESHOLD_GT_STRING_KEY.get(monitorCompute.getMemoryWarn())); json.setMemoryCritical(MonitorConstant.THRESHOLD_GT_STRING_KEY.get(monitorCompute.getMemoryCritical())); json.setPingLossWarn(MonitorConstant.THRESHOLD_GT_STRING_KEY.get(monitorCompute.getPingLossWarn())); json.setPingLossCritical(MonitorConstant.THRESHOLD_GT_STRING_KEY.get(monitorCompute.getPingLossCritical())); json.setDiskWarn(MonitorConstant.THRESHOLD_LT_STRING_KEY.get(monitorCompute.getDiskWarn())); json.setDiskCritical(MonitorConstant.THRESHOLD_LT_STRING_KEY.get(monitorCompute.getDiskCritical())); json.setPingDelayWarn(MonitorConstant.THRESHOLD_NET_GT_STRING_KEY.get(monitorCompute.getPingDelayWarn())); json.setPingDelayCritical(MonitorConstant.THRESHOLD_NET_GT_STRING_KEY.get(monitorCompute.getPingDelayCritical())); json.setMaxProcessWarn(MonitorConstant.MAX_PROCESS_STRING_KEY.get(monitorCompute.getMaxProcessWarn())); json.setMaxProcessCritical(MonitorConstant.MAX_PROCESS_STRING_KEY.get(monitorCompute.getMaxProcessCritical())); return json; } @Override public MdnJson convertMdnJsonToMdn(MdnItem mdnItem) { MdnJson json = new MdnJson(); json.setId(mdnItem.getId()); json.setIdentifier(mdnItem.getIdentifier()); json.setCoverArea(mdnItem.getCoverArea()); json.setCoverIsp(comm.mdnService.wrapStringByMDNCoverIsp(mdnItem.getCoverIsp())); json.setBandwidth(mdnItem.getBandwidth()); if (!mdnItem.getMdnLiveItems().isEmpty()) { List<MdnLiveJson> mdnLiveJsons = new ArrayList<MdnLiveJson>(); for (MdnLiveItem mdnLiveItem : mdnItem.getMdnLiveItems()) { MdnLiveJson mdnLiveJson = new MdnLiveJson(); mdnLiveJson.setId(mdnLiveItem.getId()); mdnLiveJson.setLiveDomain(mdnLiveItem.getLiveDomain()); mdnLiveJson.setLiveProtocol(mdnLiveItem.getLiveProtocol()); mdnLiveJson.setName(mdnLiveItem.getName()); mdnLiveJson.setGuid(mdnLiveItem.getGuid()); mdnLiveJson.setBandwidth(mdnLiveItem.getBandwidth()); mdnLiveJson.setEncoderMode(MdnConstant.EncoderMode.get(mdnLiveItem.getEncoderMode())); mdnLiveJson.setHttpUrl(mdnLiveItem.getHttpUrl()); mdnLiveJson.setHttpBitrate(mdnLiveItem.getHttpBitrate()); mdnLiveJson.setHlsUrl(mdnLiveItem.getHlsUrl()); mdnLiveJson.setHlsBitrate(mdnLiveItem.getHlsBitrate()); mdnLiveJsons.add(mdnLiveJson); } json.setMdnLiveJsons(mdnLiveJsons); } if (!mdnItem.getMdnVodItems().isEmpty()) { List<MdnVodJson> mdnVodJsons = new ArrayList<MdnVodJson>(); for (MdnVodItem mdnVodItem : mdnItem.getMdnVodItems()) { MdnVodJson mdnVodJson = new MdnVodJson(); mdnVodJson.setId(mdnVodItem.getId()); mdnVodJson.setVodDomain(mdnVodItem.getVodDomain()); mdnVodJson.setVodProtocol(mdnVodItem.getVodProtocol()); mdnVodJson.setSourceStreamerUrl(mdnVodItem.getSourceStreamerUrl()); mdnVodJson.setSourceOutBandwidth(mdnVodItem.getSourceOutBandwidth()); mdnVodJsons.add(mdnVodJson); } json.setMdnVodJsons(mdnVodJsons); } return json; } @Override public CpJson convertCpJsonToCpItem(CpItem cpItem) { CpJson json = new CpJson(); json.setId(cpItem.getId()); json.setIdentifier(cpItem.getIdentifier()); json.setRecordStreamUrl(cpItem.getRecordStreamUrl()); json.setRecordBitrate(CPConstant.RECORDBITRATE_MAP_STRING_KEY.get(cpItem.getRecordBitrate())); String[] exportEncodes = StringUtils.split(cpItem.getExportEncode(), ","); String exportEncode = ""; for (String key : exportEncodes) { exportEncode += CPConstant.EXPORTENCODE_MAP_STRING_KEY.get(key) + ","; } json.setExportEncode(StringCommonUtils.replaceAndSubstringText(exportEncode, ",", ",")); json.setRecordType(CPConstant.RecordType.get(cpItem.getRecordType())); json.setRecordTime(cpItem.getRecordTime()); json.setPublishUrl(cpItem.getPublishUrl()); json.setIsPushCtp(CPConstant.IsPushCtp.get(cpItem.getIsPushCtp())); json.setVideoFtpIp(cpItem.getVideoFtpIp()); json.setVideoFtpPort(cpItem.getVideoFtpPort()); json.setVideoFtpUsername(cpItem.getVideoFtpUsername()); json.setVideoFtpPassword(cpItem.getVideoFtpPassword()); json.setVideoFtpRootpath(cpItem.getVideoFtpRootpath()); json.setVideoFtpUploadpath(cpItem.getVideoFtpUploadpath()); json.setVideoOutputGroup(cpItem.getVideoOutputGroup()); json.setVideoOutputWay(CPConstant.VideoOutputWay.mapKeyStr.get(cpItem.getVideoOutputWay())); json.setPictrueFtpIp(cpItem.getPictrueFtpIp()); json.setPictrueFtpPort(cpItem.getPictrueFtpPort()); json.setPictrueFtpUsername(cpItem.getPictrueFtpUsername()); json.setPictrueFtpPassword(cpItem.getPictrueFtpPassword()); json.setPictrueFtpRootpath(cpItem.getPictrueFtpRootpath()); json.setPictrueFtpUploadpath(cpItem.getPictrueFtpUploadpath()); json.setPictrueOutputGroup(cpItem.getPictrueOutputGroup()); json.setPictrueOutputMedia(cpItem.getPictrueOutputMedia()); return json; } }