Commit 0dd7193e authored by renjie's avatar renjie

ip接口

修改shop接口
parent 3b90dd11
...@@ -71,7 +71,7 @@ public class ShopController { ...@@ -71,7 +71,7 @@ public class ShopController {
public ResultDto deleteShop(Principal principal, @RequestBody ShopRequestDto shopRequestDto) { public ResultDto deleteShop(Principal principal, @RequestBody ShopRequestDto shopRequestDto) {
ResultDto resultDto = new ResultDto(); ResultDto resultDto = new ResultDto();
try { try {
shopService.deleteShop(principal.getName(), shopRequestDto.getId()); shopService.deleteShop(principal.getName(), shopRequestDto.getShopId());
resultDto.setStatus(0); resultDto.setStatus(0);
}catch (ClientRequestException e) { }catch (ClientRequestException e) {
resultDto.setStatus(-1); resultDto.setStatus(-1);
...@@ -87,7 +87,7 @@ public class ShopController { ...@@ -87,7 +87,7 @@ public class ShopController {
public ResultDto bindShop(Principal principal, @RequestBody ShopRequestDto shopRequestDto) { public ResultDto bindShop(Principal principal, @RequestBody ShopRequestDto shopRequestDto) {
ResultDto resultDto = new ResultDto(); ResultDto resultDto = new ResultDto();
try { try {
shopService.bindShop(principal.getName(), shopRequestDto.getId(), shopRequestDto.getIpAddr()); shopService.bindShop(principal.getName(), shopRequestDto.getShopId(), shopRequestDto.getIpAddr());
resultDto.setStatus(0); resultDto.setStatus(0);
}catch (ClientRequestException e) { }catch (ClientRequestException e) {
resultDto.setStatus(-1); resultDto.setStatus(-1);
...@@ -103,7 +103,7 @@ public class ShopController { ...@@ -103,7 +103,7 @@ public class ShopController {
public ResultDto unBindShop(Principal principal, @RequestBody ShopRequestDto shopRequestDto) { public ResultDto unBindShop(Principal principal, @RequestBody ShopRequestDto shopRequestDto) {
ResultDto resultDto = new ResultDto(); ResultDto resultDto = new ResultDto();
try { try {
shopService.unBindShop(principal.getName(), shopRequestDto.getId(), shopRequestDto.getIpAddr()); shopService.unBindShop(principal.getName(), shopRequestDto.getShopId(), shopRequestDto.getIpAddr());
resultDto.setStatus(0); resultDto.setStatus(0);
}catch (ClientRequestException e) { }catch (ClientRequestException e) {
resultDto.setStatus(-1); resultDto.setStatus(-1);
......
package com.edgec.browserbackend.browser.dto;
public class IpInfoResultDto {
private String username;
private long createdWhen;
private long validTill;
private String status;
private String eipIPAddr;
private String region;
private String errorCode;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getRegion() {
return region;
}
public void setRegion(String region) {
this.region = region;
}
public String getErrorCode() {
return errorCode;
}
public void setStatus(String status) {
this.status = status;
}
public long getCreatedWhen() {
return createdWhen;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
public long getValidTill() {
return validTill;
}
public void setValidTill(long validTill) {
this.validTill = validTill;
}
public String getEipIPAddr() {
return eipIPAddr;
}
public void setCreatedWhen(long createdWhen) {
this.createdWhen = createdWhen;
}
public String getStatus() {
return status;
}
public void setEipIPAddr(String eipIPAddr) {
this.eipIPAddr = eipIPAddr;
}
}
...@@ -7,8 +7,6 @@ import java.util.List; ...@@ -7,8 +7,6 @@ import java.util.List;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class ShopRequestDto { public class ShopRequestDto {
private String id;
private String shopId; private String shopId;
private String shopName; private String shopName;
...@@ -33,14 +31,6 @@ public class ShopRequestDto { ...@@ -33,14 +31,6 @@ public class ShopRequestDto {
private FilterDto filter; private FilterDto filter;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getIpAddr() { public String getIpAddr() {
return ipAddr; return ipAddr;
} }
......
...@@ -4,26 +4,24 @@ import com.edgec.browserbackend.account.domain.Account; ...@@ -4,26 +4,24 @@ import com.edgec.browserbackend.account.domain.Account;
import com.edgec.browserbackend.account.repository.AccountRepository; import com.edgec.browserbackend.account.repository.AccountRepository;
import com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode; import com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode;
import com.edgec.browserbackend.browser.domain.IpResource; import com.edgec.browserbackend.browser.domain.IpResource;
import com.edgec.browserbackend.browser.dto.FilterDto; import com.edgec.browserbackend.browser.dto.*;
import com.edgec.browserbackend.browser.dto.IpBuyResultDto;
import com.edgec.browserbackend.browser.dto.IpResourceDto;
import com.edgec.browserbackend.browser.dto.IpResourceRequestDto;
import com.edgec.browserbackend.browser.repository.IpResourceRepository; import com.edgec.browserbackend.browser.repository.IpResourceRepository;
import com.edgec.browserbackend.browser.service.IpResourceService; import com.edgec.browserbackend.browser.service.IpResourceService;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity; import org.springframework.http.*;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
public class IpResourceServiceImpl implements IpResourceService { public class IpResourceServiceImpl implements IpResourceService {
...@@ -31,7 +29,7 @@ public class IpResourceServiceImpl implements IpResourceService { ...@@ -31,7 +29,7 @@ public class IpResourceServiceImpl implements IpResourceService {
private final Logger logger = LoggerFactory.getLogger(IpResourceServiceImpl.class); private final Logger logger = LoggerFactory.getLogger(IpResourceServiceImpl.class);
private static String CLOUDAMURL = "https://www.cloudam.cn"; private static String CLOUDAMURL = "https://www.cloudam.cn";
private static String TESTURL = "https://112.74.13.2"; private static String TESTURL = "http://112.74.13.2";
@Autowired @Autowired
private AccountRepository accountRepository; private AccountRepository accountRepository;
...@@ -39,34 +37,61 @@ public class IpResourceServiceImpl implements IpResourceService { ...@@ -39,34 +37,61 @@ public class IpResourceServiceImpl implements IpResourceService {
@Autowired @Autowired
private IpResourceRepository ipResourceRepository; private IpResourceRepository ipResourceRepository;
public HttpHeaders buildHeader() { public HttpHeaders buildPostHeader() {
HttpHeaders header = new HttpHeaders(); HttpHeaders header = new HttpHeaders();
header.setContentType(MediaType.APPLICATION_JSON); header.setContentType(MediaType.APPLICATION_JSON);
header.setBearerAuth("5aFM6ntBcLDD8e8PGMXBybx1UsWYYWvQ0jKOal28XoMhaz7gJyxX5GtayPcY6vec"); header.setBearerAuth("5aFM6ntBcLDD8e8PGMXBybx1UsWYYWvQ0jKOal28XoMhaz7gJyxX5GtayPcY6vec");
return header; return header;
} }
@Override public HttpHeaders buildGetHeader() {
public IpResource getIpResourceByIpAddr(String ipAddr) { HttpHeaders headers = new HttpHeaders();
IpResource ipResource = ipResourceRepository.findByAddrAndIsDeleted(ipAddr, false); headers.setBearerAuth("5aFM6ntBcLDD8e8PGMXBybx1UsWYYWvQ0jKOal28XoMhaz7gJyxX5GtayPcY6vec");
if (ipResource == null) return headers;
throw new ClientRequestException(BrowserErrorCode.IPNOTEXIST);
return ipResource;
} }
@Override @Override
public IpBuyResultDto buyIp(String username, IpResourceRequestDto ipResourceRequestDto) { public IpBuyResultDto buyIp(String username, IpResourceRequestDto ipResourceRequestDto) {
RestTemplate restTemplate = new RestTemplate(); RestTemplate restTemplate = new RestTemplate();
HttpHeaders header = buildHeader(); HttpHeaders header = buildPostHeader();
MultiValueMap<String, String> map = new LinkedMultiValueMap<>(); HashMap<String, Object> map = new HashMap<>();
map.add("username", "superbrowser"); map.put("name", ipResourceRequestDto.getName());
map.add("name", ipResourceRequestDto.getName()); map.put("region", ipResourceRequestDto.getRegion());
map.add("region", ipResourceRequestDto.getRegion()); map.put("period", String.valueOf(ipResourceRequestDto.getPeriod()));
map.add("provider", ipResourceRequestDto.getVendor()); map.put("provider", ipResourceRequestDto.getVendor());
map.add("unit", ipResourceRequestDto.getUnit()); map.put("unit", ipResourceRequestDto.getUnit());
map.add("amount", String.valueOf(ipResourceRequestDto.getAmount())); map.put("amount", String.valueOf(ipResourceRequestDto.getAmount()));
HttpEntity<MultiValueMap<String, String>> httpEntity = new HttpEntity<>(map, header); map.put("instanceSpecKey", String.valueOf(ipResourceRequestDto.getInstanceSpecKey()));
IpBuyResultDto ipBuyResultDto = restTemplate.postForObject(TESTURL + "/intelligroup/ipresources?accountId={username}", httpEntity, IpBuyResultDto.class); HttpEntity<Map<String, Object>> httpEntity = new HttpEntity<>(map, header);
IpBuyResultDto ipBuyResultDto = null;
try {
ipBuyResultDto = restTemplate.postForObject(TESTURL + "/intelligroup/ipresources?accountId=superbrowser", httpEntity, IpBuyResultDto.class);
} catch (Exception e) {
logger.error("fail to post request", e.getMessage());
logger.error(e.getMessage());
throw new ClientRequestException(BrowserErrorCode.INFORMATIONNOTCOMPELETE);
}
try {
if (ipBuyResultDto != null && ipBuyResultDto.getIplist() != null && ipBuyResultDto.getIplist().size() < 1) {
ipBuyResultDto.getIplist().forEach(x -> {
IpInfoResultDto ipInfoResultDto = new IpInfoResultDto();
Map<String, String> params = new HashMap<String, String>();
params.put("accountId", "superbrowser");
params.put("ip", x.getIp());
HttpHeaders headers = buildGetHeader();
HttpEntity<Map<String, String>> entity = new HttpEntity<>(params, headers);
ResponseEntity<String> result = restTemplate.exchange(TESTURL + "/ecc/ipinfo?accountId={accountId}&ip={ip}", HttpMethod.GET, entity, String.class);
if (ipInfoResultDto != null && StringUtils.isBlank(ipInfoResultDto.getErrorCode())) {
IpResource ipResource = new IpResource();
}
});
}
} catch (Exception e) {
logger.error("fail to post request", e.getMessage());
logger.error(e.getMessage());
throw new ClientRequestException(BrowserErrorCode.UNKNOWN);
}
return ipBuyResultDto; return ipBuyResultDto;
} }
......
...@@ -18,6 +18,7 @@ import com.edgec.browserbackend.browser.repository.ShopRepository; ...@@ -18,6 +18,7 @@ import com.edgec.browserbackend.browser.repository.ShopRepository;
import com.edgec.browserbackend.browser.repository.UserShopRepository; import com.edgec.browserbackend.browser.repository.UserShopRepository;
import com.edgec.browserbackend.browser.service.ShopService; import com.edgec.browserbackend.browser.service.ShopService;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import com.edgec.browserbackend.common.commons.error.ErrorCode;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -98,6 +99,9 @@ public class ShopServiceImpl implements ShopService { ...@@ -98,6 +99,9 @@ public class ShopServiceImpl implements ShopService {
if (account == null) { if (account == null) {
throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST); throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST);
} }
if (shopDto == null || StringUtils.isBlank(shopDto.getShopId())) {
throw new ClientRequestException(AccountErrorCode.OTHERS);
}
UserShop userShop = userShopRepository.findByUsernameAndShopId(username, shopDto.getShopId()); UserShop userShop = userShopRepository.findByUsernameAndShopId(username, shopDto.getShopId());
if (account.getPermission() < 4 || userShop == null) { if (account.getPermission() < 4 || userShop == null) {
throw new ClientRequestException(AccountErrorCode.NOPERMISSION); throw new ClientRequestException(AccountErrorCode.NOPERMISSION);
...@@ -121,6 +125,10 @@ public class ShopServiceImpl implements ShopService { ...@@ -121,6 +125,10 @@ public class ShopServiceImpl implements ShopService {
if (account == null) { if (account == null) {
throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST); throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST);
} }
if (shopId == null) {
throw new ClientRequestException(AccountErrorCode.OTHERS);
}
logger.error(username, shopId);
UserShop userShop = userShopRepository.findByUsernameAndShopId(username, shopId); UserShop userShop = userShopRepository.findByUsernameAndShopId(username, shopId);
if (account.getPermission() < 4 || userShop == null) { if (account.getPermission() < 4 || userShop == null) {
throw new ClientRequestException(AccountErrorCode.NOPERMISSION); throw new ClientRequestException(AccountErrorCode.NOPERMISSION);
...@@ -278,8 +286,13 @@ public class ShopServiceImpl implements ShopService { ...@@ -278,8 +286,13 @@ public class ShopServiceImpl implements ShopService {
throw new ClientRequestException(AccountErrorCode.NOPERMISSION); throw new ClientRequestException(AccountErrorCode.NOPERMISSION);
} }
List<String> shopIds = new ArrayList<>(); List<String> shopIds = new ArrayList<>();
shopIds = userShopRepository.findByUsernameAndGroupId(username, groupId).stream(). if (groupId.equals("-1")) {
shopIds = userShopRepository.findByUsername(username).stream().
map(x -> x.getShopId()).collect(Collectors.toList()); map(x -> x.getShopId()).collect(Collectors.toList());
} else {
shopIds = userShopRepository.findByUsernameAndGroupId(username, groupId).stream().
map(x -> x.getShopId()).collect(Collectors.toList());
}
Page<Shop> shops; Page<Shop> shops;
if (filterDto != null && StringUtils.isNotBlank(filterDto.getIpRegion())) if (filterDto != null && StringUtils.isNotBlank(filterDto.getIpRegion()))
shops = shopRepository.findByShopIdInAndIpRegionLike(shopIds, filterDto.getIpRegion(), pageable); shops = shopRepository.findByShopIdInAndIpRegionLike(shopIds, filterDto.getIpRegion(), pageable);
......
...@@ -10,8 +10,6 @@ import java.util.List; ...@@ -10,8 +10,6 @@ import java.util.List;
public interface IpResourceService { public interface IpResourceService {
IpResource getIpResourceByIpAddr(String ipAddr);
IpBuyResultDto buyIp(String username, IpResourceRequestDto ipResourceRequestDto); IpBuyResultDto buyIp(String username, IpResourceRequestDto ipResourceRequestDto);
void renewIp(String username, IpResourceRequestDto ipResourceRequestDto); void renewIp(String username, IpResourceRequestDto ipResourceRequestDto);
......
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