Commit 345de1bc authored by huangjiamin's avatar huangjiamin

Wool mattress

parent 595c04a9
......@@ -7,12 +7,11 @@ import com.edgec.browserbackend.account.repository.*;
import com.edgec.browserbackend.account.service.AdministratorService;
import com.edgec.browserbackend.auth.service.UserService;
import com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode;
import com.edgec.browserbackend.browser.domain.IpCountRecord;
import com.edgec.browserbackend.browser.domain.IpResource;
import com.edgec.browserbackend.browser.domain.ProxyConfig;
import com.edgec.browserbackend.browser.domain.*;
import com.edgec.browserbackend.browser.repository.IpCountRecordRepository;
import com.edgec.browserbackend.browser.repository.IpResourceRepository;
import com.edgec.browserbackend.browser.repository.ProxyConfigRepository;
import com.edgec.browserbackend.browser.repository.ShopRepository;
import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
......@@ -32,6 +31,7 @@ import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.concurrent.atomic.AtomicLong;
......@@ -76,6 +76,9 @@ public class AdministratorServiceImpl implements AdministratorService {
@Autowired
private IpCountRecordRepository ipCountRecordRepository;
@Autowired
private ShopRepository shopRepository;
@Override
public Administrator createAdministrator(Administrator administrator) {
......@@ -295,7 +298,7 @@ public class AdministratorServiceImpl implements AdministratorService {
companyEarningsDto.setPayStatus(userPrePaidBilling.getStatus());
Account account = accountRepository.findByName(userPrePaidBilling.getUsername())
.orElseThrow(() -> new ClientRequestException(AccountErrorCode.NAMENOTEXIST));
.orElseThrow(() -> new ClientRequestException(AccountErrorCode.NAMENOTEXIST));
companyEarningsDto.setCompanyShouldEarning(userPrePaidBilling.getTotal());
......@@ -705,7 +708,7 @@ public class AdministratorServiceImpl implements AdministratorService {
userBalanceList.forEach(x -> {
UserUsedDto userUsedDto = new UserUsedDto();
Account account = accountRepository.findByName(x.getUsername())
.orElseThrow(() -> new ClientRequestException(AccountErrorCode.NAMENOTEXIST));
.orElseThrow(() -> new ClientRequestException(AccountErrorCode.NAMENOTEXIST));
userUsedDto.setPromotionCode(account.getPromotionCode());
userUsedDto.setUserBalance(x);
......@@ -729,10 +732,44 @@ public class AdministratorServiceImpl implements AdministratorService {
@Override
public List<String> ipMigration(String owner, String newOwner, String ips) {
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);
}
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