Commit 345de1bc authored by huangjiamin's avatar huangjiamin

Wool mattress

parent 595c04a9
...@@ -7,12 +7,11 @@ import com.edgec.browserbackend.account.repository.*; ...@@ -7,12 +7,11 @@ import com.edgec.browserbackend.account.repository.*;
import com.edgec.browserbackend.account.service.AdministratorService; import com.edgec.browserbackend.account.service.AdministratorService;
import com.edgec.browserbackend.auth.service.UserService; import com.edgec.browserbackend.auth.service.UserService;
import com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode; import com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode;
import com.edgec.browserbackend.browser.domain.IpCountRecord; import com.edgec.browserbackend.browser.domain.*;
import com.edgec.browserbackend.browser.domain.IpResource;
import com.edgec.browserbackend.browser.domain.ProxyConfig;
import com.edgec.browserbackend.browser.repository.IpCountRecordRepository; import com.edgec.browserbackend.browser.repository.IpCountRecordRepository;
import com.edgec.browserbackend.browser.repository.IpResourceRepository; import com.edgec.browserbackend.browser.repository.IpResourceRepository;
import com.edgec.browserbackend.browser.repository.ProxyConfigRepository; import com.edgec.browserbackend.browser.repository.ProxyConfigRepository;
import com.edgec.browserbackend.browser.repository.ShopRepository;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
...@@ -32,6 +31,7 @@ import java.text.SimpleDateFormat; ...@@ -32,6 +31,7 @@ import java.text.SimpleDateFormat;
import java.time.Instant; import java.time.Instant;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicLong;
...@@ -76,6 +76,9 @@ public class AdministratorServiceImpl implements AdministratorService { ...@@ -76,6 +76,9 @@ public class AdministratorServiceImpl implements AdministratorService {
@Autowired @Autowired
private IpCountRecordRepository ipCountRecordRepository; private IpCountRecordRepository ipCountRecordRepository;
@Autowired
private ShopRepository shopRepository;
@Override @Override
public Administrator createAdministrator(Administrator administrator) { public Administrator createAdministrator(Administrator administrator) {
...@@ -729,10 +732,44 @@ public class AdministratorServiceImpl implements AdministratorService { ...@@ -729,10 +732,44 @@ public class AdministratorServiceImpl implements AdministratorService {
@Override @Override
public List<String> ipMigration(String owner, String newOwner, String ips) { public List<String> ipMigration(String owner, String newOwner, String ips) {
accountRepository.findByName(newOwner).orElseThrow(() -> new ClientRequestException(AccountErrorCode.NAMENOTEXIST)); accountRepository.findByName(newOwner).orElseThrow(() -> new ClientRequestException(AccountErrorCode.NAMENOTEXIST));
Arrays.asList(ips.split(";")).forEach(ip ->ipResourceRepository.ipMigration(owner, newOwner, ip)); Arrays.asList(ips.split(";")).forEach(ip -> unbindAndMigration(owner, newOwner, ip));
return getUsernameIpList(newOwner); return getUsernameIpList(newOwner);
} }
private void unbindAndMigration(String owner, String newOwner, String ip) {
String logs = "【unbindAndMigration】 ";
try {
IpResource ipResource = ipResourceRepository.findByAddrAndIsDeleted(ip, false);
List<String> shopIds = ipResource.getShopIds();
String id = ipResource.getId();
shopIds.forEach(shopId -> unbindAndSetHistory(ip, id, shopId));
ipResourceRepository.updateBind(id, false);
ipResourceRepository.ipMigration(owner, newOwner, ip);
} catch (ClientRequestException e) {
log.warn("{}, ClientRequestException : {}", logs, e.getErrorCode().getReason());
} catch (Exception e) {
log.error("{}, Exception : {}", logs, e.getMessage(), e);
}
}
private void unbindAndSetHistory(String ip, String id, String shopId) {
String logs = "【unbindAndSetHistory】 ";
try {
Shop shop = shopRepository.findById(shopId).orElseThrow(() -> new ClientRequestException(BrowserErrorCode.SHOPNOTEXIST));
BindHistory bindHistory = new BindHistory();
bindHistory.setIp(ip);
bindHistory.setPlatform(shop.getShopPlatform());
bindHistory.setShopName(shop.getShopName());
bindHistory.setUnbindTime(ZonedDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ipResourceRepository.deleteShopId(id, shopId, bindHistory);
} catch (ClientRequestException e) {
log.warn("{}, ClientRequestException : {}", logs, e.getErrorCode().getReason());
} catch (Exception e) {
log.error("{}, Exception : {}", logs, e.getMessage(), e);
}
}
} }
......
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