Commit a0f11293 authored by renjie's avatar renjie

自有ip

parent 85756f9e
...@@ -48,7 +48,7 @@ public class IpResource implements Serializable { ...@@ -48,7 +48,7 @@ public class IpResource implements Serializable {
private String unit; private String unit;
private int period; private int period;
private String tid; private boolean specialLine;
public String getDetails() { public String getDetails() {
return details; return details;
...@@ -226,14 +226,6 @@ public class IpResource implements Serializable { ...@@ -226,14 +226,6 @@ public class IpResource implements Serializable {
this.period = period; this.period = period;
} }
public String getTid() {
return tid;
}
public void setTid(String tid) {
this.tid = tid;
}
public double getPrice() { public double getPrice() {
return price; return price;
} }
...@@ -281,4 +273,12 @@ public class IpResource implements Serializable { ...@@ -281,4 +273,12 @@ public class IpResource implements Serializable {
public void setProxyUsername(String proxyUsername) { public void setProxyUsername(String proxyUsername) {
this.proxyUsername = proxyUsername; this.proxyUsername = proxyUsername;
} }
public boolean isSpecialLine() {
return specialLine;
}
public void setSpecialLine(boolean specialLine) {
this.specialLine = specialLine;
}
} }
...@@ -174,15 +174,15 @@ public class IpResourceServiceImpl implements IpResourceService { ...@@ -174,15 +174,15 @@ public class IpResourceServiceImpl implements IpResourceService {
throw new ClientRequestException(BrowserErrorCode.INFORMATIONNOTCOMPELETE); throw new ClientRequestException(BrowserErrorCode.INFORMATIONNOTCOMPELETE);
if (ipResourceRequestDto.getRegionCn() == null) if (ipResourceRequestDto.getRegionCn() == null)
throw new ClientRequestException(BrowserErrorCode.INFORMATIONNOTCOMPELETE); throw new ClientRequestException(BrowserErrorCode.INFORMATIONNOTCOMPELETE);
List<String> vendorPrices; double newprice = 0;
if (!ipResourceRequestDto.getVendor().equals("own")) if (!ipResourceRequestDto.getVendor().equals("own")) {
vendorPrices = priceList.get(ipResourceRequestDto.getRegionCn()); List<String> vendorPrices = priceList.get(ipResourceRequestDto.getRegionCn());
else
vendorPrices = priceList.get("自有");
String price = vendorPrices.stream() String price = vendorPrices.stream()
.filter(x -> Vendor.valueOf(ipResourceRequestDto.getVendor()).getValue().equals(x.substring(0, x.indexOf("-")))) .filter(x -> Vendor.valueOf(ipResourceRequestDto.getVendor()).getValue().equals(x.substring(0, x.indexOf("-"))))
.map(x -> x.substring(x.lastIndexOf("-") + 1)).collect(Collectors.joining()); .map(x -> x.substring(x.lastIndexOf("-") + 1)).collect(Collectors.joining());
double newprice = ipResourceRequestDto.getUnit().equals("week") ? (Integer.valueOf(price)/3) : Integer.valueOf(price); newprice = ipResourceRequestDto.getUnit().equals("week") ? (Integer.valueOf(price)/3) : Integer.valueOf(price);
}
IpChargeResultDto ipChargeResultDto = accountService.preChargeByMoney(username, newprice * ipResourceRequestDto.getAmount() * ipResourceRequestDto.getPeriod()); IpChargeResultDto ipChargeResultDto = accountService.preChargeByMoney(username, newprice * ipResourceRequestDto.getAmount() * ipResourceRequestDto.getPeriod());
if (!ipChargeResultDto.isSuccess()) { if (!ipChargeResultDto.isSuccess()) {
throw new ClientRequestException(AccountErrorCode.NOTENOUGHBALANCE); throw new ClientRequestException(AccountErrorCode.NOTENOUGHBALANCE);
...@@ -219,10 +219,7 @@ public class IpResourceServiceImpl implements IpResourceService { ...@@ -219,10 +219,7 @@ public class IpResourceServiceImpl implements IpResourceService {
ipResource.setVendorCn("自有"); ipResource.setVendorCn("自有");
ipResource.setStatus(4); ipResource.setStatus(4);
ipResource.setUsername(ipResourceRequestDto.getAccount()); ipResource.setUsername(ipResourceRequestDto.getAccount());
if (ipResourceRequestDto.getUnit().equals("week")) ipResource.setValidTime(Instant.now().atZone(ZoneOffset.UTC).toInstant().toEpochMilli());
ipResource.setValidTime(Instant.now().atZone(ZoneOffset.UTC).plusWeeks(ipResourceRequestDto.getPeriod()).toInstant().toEpochMilli());
else
ipResource.setValidTime(Instant.now().atZone(ZoneOffset.UTC).plusMonths(ipResourceRequestDto.getPeriod()).toInstant().toEpochMilli());
} else { } else {
ipResource.setAddr(""); ipResource.setAddr("");
ipResource.setIpType(IpType.VENDOR); ipResource.setIpType(IpType.VENDOR);
...@@ -290,7 +287,11 @@ public class IpResourceServiceImpl implements IpResourceService { ...@@ -290,7 +287,11 @@ public class IpResourceServiceImpl implements IpResourceService {
AtomicReference<Double> totalprice = new AtomicReference<>((double) 0); AtomicReference<Double> totalprice = new AtomicReference<>((double) 0);
ipResourceRequestDto.getAddr().stream().map(x -> ipResourceRepository.findByAddrAndIsDeleted(x, false)) ipResourceRequestDto.getAddr().stream().map(x -> ipResourceRepository.findByAddrAndIsDeleted(x, false))
.forEach(ipResource -> { .forEach(ipResource -> {
List<String> prices = priceList.get(ipResource.getRegionCn()); List<String> prices;
if (!ipResourceRequestDto.getVendor().equals("own"))
prices = priceList.get(ipResource.getRegionCn());
else
prices = priceList.get("自有");
for(String vendorprice:prices) { for(String vendorprice:prices) {
if (ipResource.getVendor().getValue().equals(vendorprice.substring(0, vendorprice.indexOf("-")))) if (ipResource.getVendor().getValue().equals(vendorprice.substring(0, vendorprice.indexOf("-"))))
totalprice.updateAndGet(v -> new Double( v + Double.valueOf(vendorprice.substring(vendorprice.lastIndexOf("-") + 1)))); totalprice.updateAndGet(v -> new Double( v + Double.valueOf(vendorprice.substring(vendorprice.lastIndexOf("-") + 1))));
...@@ -348,7 +349,11 @@ public class IpResourceServiceImpl implements IpResourceService { ...@@ -348,7 +349,11 @@ public class IpResourceServiceImpl implements IpResourceService {
if (ipResourceRequestDto.getIpId() != null && ipResourceRequestDto.getIpId().size() > 0) { if (ipResourceRequestDto.getIpId() != null && ipResourceRequestDto.getIpId().size() > 0) {
ipResourceRequestDto.getIpId().forEach(x -> { ipResourceRequestDto.getIpId().forEach(x -> {
IpResource ipResource = ipResourceRepository.findByIdAndIsDeleted(x, false); IpResource ipResource = ipResourceRepository.findByIdAndIsDeleted(x, false);
List<String> vendorPrices = priceList.get(ipResource.getRegionCn()); List<String> vendorPrices;
if (!ipResourceRequestDto.getVendor().equals("own"))
vendorPrices = priceList.get(ipResource.getRegionCn());
else
vendorPrices = priceList.get("自有");
String price = vendorPrices.stream() String price = vendorPrices.stream()
.filter(vendorprice -> ipResource.getVendor().getValue().equals(vendorprice.substring(0, vendorprice.indexOf("-")))) .filter(vendorprice -> ipResource.getVendor().getValue().equals(vendorprice.substring(0, vendorprice.indexOf("-"))))
.map(vendorprice -> vendorprice.substring(vendorprice.lastIndexOf("-") + 1)).collect(Collectors.joining()); .map(vendorprice -> vendorprice.substring(vendorprice.lastIndexOf("-") + 1)).collect(Collectors.joining());
......
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