Commit ee2e3236 authored by chen's avatar chen

轻量级服务器自测

parent 7ff8ded8
...@@ -1169,17 +1169,38 @@ public class IpResourceServiceImpl implements IpResourceService { ...@@ -1169,17 +1169,38 @@ public class IpResourceServiceImpl implements IpResourceService {
} }
}else if("tenCent".equals(cloudPlatformOrder.getPlatformType())){ }else if("tenCent".equals(cloudPlatformOrder.getPlatformType())){
RenewInstancesResponse response = TenCentEcsClient.renewInstance( CloudPlatformConfig config = cloudPlatformConfigRepository.findByPlatformAndRegionId(
ipResource.getOwner(), cloudPlatformOrder.getRegionId(), "tenCent",
cloudPlatformOrder.getPlatformOrderId(), period); cloudPlatformOrder.getRegionId());
if (null ==response) { if (StringUtils.isNotEmpty(config.getTemplateId())) {
logger.error("fail to renew ip : {}", JSON.toJSON(response)); RenewInstancesResponse response = TenCentEcsClient.renewInstance(
}else if(Objects.nonNull(response.getRequestId())){ ipResource.getOwner(), cloudPlatformOrder.getRegionId(),
IPData ipData = new IPData(); cloudPlatformOrder.getPlatformOrderId(), period);
ipData.setIp(ipResource.getAddr());
ipDataList.add(ipData); if (null ==response) {
logger.error("fail to renew ip : {}", JSON.toJSON(response));
}else if(Objects.nonNull(response.getRequestId())){
IPData ipData = new IPData();
ipData.setIp(ipResource.getAddr());
ipDataList.add(ipData);
}
}else {
com.tencentcloudapi.lighthouse.v20200324.models.RenewInstancesResponse response = TenCentEcsClient.renewInstanceLight(
ipResource.getOwner(), cloudPlatformOrder.getRegionId(),
cloudPlatformOrder.getPlatformOrderId(), period);
if (null ==response) {
logger.error("fail to renew ip : {}", JSON.toJSON(response));
}else if(Objects.nonNull(response.getRequestId())){
IPData ipData = new IPData();
ipData.setIp(ipResource.getAddr());
ipDataList.add(ipData);
}
} }
} }
} }
if(CollectionUtils.isNotEmpty(ipDataList)) { if(CollectionUtils.isNotEmpty(ipDataList)) {
......
...@@ -243,7 +243,7 @@ public class BrowserTask { ...@@ -243,7 +243,7 @@ public class BrowserTask {
CreateInstancesResponse response1 = TenCentEcsClient.createInstances( CreateInstancesResponse response1 = TenCentEcsClient.createInstances(
ipResource.getOwner(), ipResource.getUsername(), ipResource.getOwner(), ipResource.getUsername(),
ipResource.getPassword(), config); ipResource.getPassword(), config);
if (null != response1 && null == response1.getInstanceIdSet()) { if (null != response1 && null != response1.getInstanceIdSet()) {
instanceId = response1.getInstanceIdSet()[0]; instanceId = response1.getInstanceIdSet()[0];
} }
} }
...@@ -431,7 +431,7 @@ public class BrowserTask { ...@@ -431,7 +431,7 @@ public class BrowserTask {
CloudPlatformConfig config = cloudPlatformConfigRepository.findByPlatformAndRegionId( CloudPlatformConfig config = cloudPlatformConfigRepository.findByPlatformAndRegionId(
"tenCent", "tenCent",
cloudPlatformOrder.getRegionId()); cloudPlatformOrder.getRegionId());
if (StringUtils.isEmpty(config.getPlatform())) { if (StringUtils.isEmpty(config.getTemplateId())) {
//轻量级服务器 //轻量级服务器
com.tencentcloudapi.lighthouse.v20200324.models.DescribeInstancesResponse describeInstancesLight = TenCentEcsClient.getDescribeInstancesLight( com.tencentcloudapi.lighthouse.v20200324.models.DescribeInstancesResponse describeInstancesLight = TenCentEcsClient.getDescribeInstancesLight(
ipResource.getOwner(), ipResource.getOwner(),
...@@ -446,8 +446,7 @@ public class BrowserTask { ...@@ -446,8 +446,7 @@ public class BrowserTask {
if (instance.getInstanceState().equals("RUNNING")) { if (instance.getInstanceState().equals("RUNNING")) {
ipResource.setAddr(instance.getPublicAddresses()[0]); ipResource.setAddr(instance.getPublicAddresses()[0]);
ipResource.setStatus(0); ipResource.setStatus(0);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( DateTimeFormatter formatter = DateTimeFormatter.ISO_INSTANT;
"yyyy-MM-dd'T'HH:mmX");
Instant instant = Instant.from( Instant instant = Instant.from(
formatter.parse(instance.getExpiredTime())); formatter.parse(instance.getExpiredTime()));
ipResource.setValidTime(instant.toEpochMilli()); ipResource.setValidTime(instant.toEpochMilli());
...@@ -620,6 +619,28 @@ public class BrowserTask { ...@@ -620,6 +619,28 @@ public class BrowserTask {
} }
} else if ("tenCent".equals(cloudPlatformOrder.getPlatformType())) { } else if ("tenCent".equals(cloudPlatformOrder.getPlatformType())) {
//判断是否为轻量级
CloudPlatformConfig config = cloudPlatformConfigRepository.findByPlatformAndRegionId(
"tenCent",
cloudPlatformOrder.getRegionId());
if (StringUtils.isEmpty(config.getTemplateId())) {
com.tencentcloudapi.lighthouse.v20200324.models.DescribeInstancesResponse describeInstancesLight = TenCentEcsClient.getDescribeInstancesLight(ipResource.getOwner(), cloudPlatformOrder.getPlatformOrderId(),
cloudPlatformOrder.getRegionId());
if (Objects.nonNull(describeInstancesLight.getInstanceSet())) {
//判断是否重复购买
com.tencentcloudapi.lighthouse.v20200324.models.Instance instance = describeInstancesLight.getInstanceSet()[0];
if (instance.getInstanceState().equals("RUNNING")) {
//包年包夜 更新ip状态
ipResource.setStatus(0);
DateTimeFormatter formatter = DateTimeFormatter.ISO_INSTANT;
Instant instant = Instant.from(
formatter.parse(instance.getExpiredTime()));
ipResource.setValidTime(instant.toEpochMilli());
ipResourceRepository.save(ipResource);
}
}
return;
}
com.tencentcloudapi.cvm.v20170312.models.DescribeInstancesResponse describeInstances = TenCentEcsClient.getDescribeInstances( com.tencentcloudapi.cvm.v20170312.models.DescribeInstancesResponse describeInstances = TenCentEcsClient.getDescribeInstances(
ipResource.getOwner(), cloudPlatformOrder.getPlatformOrderId(), ipResource.getOwner(), cloudPlatformOrder.getPlatformOrderId(),
cloudPlatformOrder.getRegionId()); cloudPlatformOrder.getRegionId());
......
...@@ -291,4 +291,31 @@ public class TenCentEcsClient { ...@@ -291,4 +291,31 @@ public class TenCentEcsClient {
return describeInstancesResponse; return describeInstancesResponse;
} }
/**
* 续费轻量级实例
*/
public static com.tencentcloudapi.lighthouse.v20200324.models.RenewInstancesResponse renewInstanceLight(String owner, String regionId, String instanceId,
Integer period){
LighthouseClient cvmClient = createLightHouseClient(regionId);
com.tencentcloudapi.lighthouse.v20200324.models.RenewInstancesResponse response = null;
try {
com.tencentcloudapi.lighthouse.v20200324.models.RenewInstancesRequest req =
new com.tencentcloudapi.lighthouse.v20200324.models.RenewInstancesRequest();
String[] instanceIds = {""+ instanceId + ""};
req.setInstanceIds(instanceIds);
com.tencentcloudapi.lighthouse.v20200324.models.InstanceChargePrepaid instanceChargePrepaid1 = new com.tencentcloudapi.lighthouse.v20200324.models.InstanceChargePrepaid();
instanceChargePrepaid1.setPeriod((long)period);
req.setInstanceChargePrepaid(instanceChargePrepaid1);
log.info("调用TenCentEcs续费轻量级实例,入参:owner:{},regionId:{},instanceId:{},period:{}", owner, regionId, instanceId, period);
response = cvmClient.RenewInstances(req);
log.info("调用TenCentEcs续费轻量级实例,响应参数:owner:{},response:{}", owner, JSON.toJSON(response));
} catch (Exception e) {
log.error("fail to TenCentEcs renewInstance {}", e.getMessage());
}
return response;
}
} }
package com.edgec.browserbackend.common.enums; package com.edgec.browserbackend.common.enums;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Random; import java.util.Random;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import org.thymeleaf.expression.Lists;
/** /**
* @Description //地区映射枚举 * @Description //地区映射枚举
...@@ -31,22 +33,22 @@ public enum RegionMappingEnum { ...@@ -31,22 +33,22 @@ public enum RegionMappingEnum {
US_CALIFORNIA("california","加利福尼亚","",""),//待确认 US_CALIFORNIA("california","加利福尼亚","",""),//待确认
US_VIRGINIA("virginia","弗吉尼亚","us-east-1",""), US_VIRGINIA("virginia","弗吉尼亚","us-east-1",""),
EU_UK("uk","英国-伦敦","eu-west-1",""), EU_UK("uk","英国-伦敦","eu-west-1",""),
EU_CENTRAL("germany","德国-法兰克福","eu-central-1",""), EU_CENTRAL("germany","德国-法兰克福","eu-central-1","eu-frankfurt"),
JAPAN("japan","日本-东京","ap-northeast-1",""), JAPAN("japan","日本-东京","ap-northeast-1","ap-tokyo"),
SINGAPORE("singapore","新加坡","ap-southeast-1",""), SINGAPORE("singapore","新加坡","ap-southeast-1","ap-singapore"),
AUSTRALIA("australia","澳大利亚-悉尼","",""),//待确认 AUSTRALIA("australia","澳大利亚-悉尼","",""),//待确认
MALAYSIA("malaysia","马来西亚-吉隆坡","ap-southeast-3",""), MALAYSIA("malaysia","马来西亚-吉隆坡","ap-southeast-3",""),
YAJIADA("yajiada","印度尼西亚-雅加达","ap-southeast-5",""), YAJIADA("yajiada","印度尼西亚-雅加达","ap-southeast-5","ap-jakarta"),
INDIA("india","孟买","",""),//待确认 INDIA("india","孟买","","ap-mumbai"),//待确认
MEAST("meast","迪拜","me-east-1",""), MEAST("meast","迪拜","me-east-1",""),
BRAZIL("brazil","巴西-圣保罗","","sa-saopaulo"),
ULANNQAB("ulanqab","乌兰察布","cn-wulanchabu",""), ULANNQAB("ulanqab","乌兰察布","cn-wulanchabu",""),
SILICON("silicon","美国(硅谷)","us-west-1",""), SILICON("silicon","美国(硅谷)","us-west-1","na-siliconvalley"),
NANJING("nanjing","南京","","ap-nanjing"), NANJING("nanjing","南京","","ap-nanjing"),
BANGKOK("bangkok","泰国(曼谷)","ap-southeast-7",""), BANGKOK("bangkok","泰国(曼谷)","ap-southeast-7",""),
MANILA("manila","菲律宾-马尼拉","ap-southeast-6",""), MANILA("manila","菲律宾-马尼拉","ap-southeast-6",""),
SEOUL("seoul","韩国-首尔","ap-northeast-2",""), SEOUL("seoul","韩国-首尔","ap-northeast-2","ap-seoul"),
; ;
...@@ -117,17 +119,17 @@ public enum RegionMappingEnum { ...@@ -117,17 +119,17 @@ public enum RegionMappingEnum {
* @date 2024/7/30 21:40 * @date 2024/7/30 21:40
*/ */
public static String getTenCentRegion(String region) { public static String getTenCentRegion(String region) {
String aliResion = ""; String tenCentResion = "";
RegionMappingEnum byRegion = getByRegion(region); RegionMappingEnum byRegion = getByRegion(region);
if(Objects.isNull(byRegion)){ if(Objects.isNull(byRegion)){
return aliResion; return tenCentResion;
} }
if(region.equals("mainland")){ if(region.equals("mainland")){
RegionMappingEnum regionMappingEnum = RegionMappingEnum.getCnRandom(); RegionMappingEnum regionMappingEnum = RegionMappingEnum.getCnRandom();
aliResion = regionMappingEnum.getTenCentRegionApi(); tenCentResion = regionMappingEnum.getTenCentRegionApi();
}else { }else {
aliResion = byRegion.getTenCentRegionApi(); tenCentResion = byRegion.getTenCentRegionApi();
} }
return aliResion; return tenCentResion;
} }
} }
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