|
|
@@ -661,24 +661,25 @@ public class DomainOrderService {
|
|
|
}
|
|
|
|
|
|
public void addHyperLink(Long assetId, boolean openHyperLink, HyperLinkType hyperLinkType, String address) {
|
|
|
+ // 获取目标资产
|
|
|
Asset asset = assetRepo.findByIdAndStatus(assetId, AssetStatus.NORMAL)
|
|
|
- .orElseThrow(new BusinessException("没找到记录"));
|
|
|
- String domainName = asset.getName().substring(9);
|
|
|
- DomainOrder domainOrder = domainOrderRepo
|
|
|
- .findFirstByDomainNameAndOrderStatus(domainName, OrderStatus.FINISH);
|
|
|
- if(openHyperLink==false){
|
|
|
- domainOrder.setHyperLinkType(null);
|
|
|
- domainOrder.setOpenHyperLink(false);
|
|
|
- domainOrder.setAddress(null);
|
|
|
- domainOrder.setCurrentOwnerId(null);
|
|
|
- domainOrderRepo.save(domainOrder);
|
|
|
- }else {
|
|
|
- domainOrder.setOpenHyperLink(openHyperLink);
|
|
|
- domainOrder.setHyperLinkType(hyperLinkType);
|
|
|
- domainOrder.setAddress(address);
|
|
|
- domainOrder.setCurrentOwnerId(SecurityUtils.getAuthenticatedUser().getId());
|
|
|
- domainOrderRepo.save(domainOrder);
|
|
|
- }
|
|
|
+ .orElseThrow(() -> new BusinessException("未找到具有指定ID的正常状态资产"));
|
|
|
+
|
|
|
+ // 获取目标域名,并通过 Optional 避免可能的 NullPointerException
|
|
|
+ String domainName = Optional.ofNullable(asset.getName())
|
|
|
+ .filter(n -> n.length() >= 9)
|
|
|
+ .map(n -> n.substring(9))
|
|
|
+ .orElseThrow(() -> new BusinessException("无法获取资产的域名信息"));
|
|
|
+
|
|
|
+ // 获取目标订单
|
|
|
+ DomainOrder domainOrder = domainOrderRepo.findFirstByDomainNameAndOrderStatus(domainName, OrderStatus.FINISH);
|
|
|
|
|
|
+
|
|
|
+ // 更新订单信息
|
|
|
+ domainOrder.setOpenHyperLink(openHyperLink);
|
|
|
+ domainOrder.setHyperLinkType(openHyperLink ? hyperLinkType : null);
|
|
|
+ domainOrder.setAddress(openHyperLink ? address : null);
|
|
|
+ domainOrder.setCurrentOwnerId(openHyperLink ? SecurityUtils.getAuthenticatedUser().getId() : null);
|
|
|
+ domainOrderRepo.save(domainOrder);
|
|
|
}
|
|
|
}
|