From 4699871df0c7148d6145b49212634ce5df2aacae Mon Sep 17 00:00:00 2001 From: gouzhonglin Date: Tue, 5 Mar 2024 09:18:44 +0800 Subject: [PATCH] update domain package --- .../query/DomainPackageQueryAdapter.java | 2 + .../ApplicationPackageSearchCondition.java | 2 +- .../ApplicationVersionSearchCondition.java | 2 +- .../DomainPackageServiceImpl.java | 59 ++++++++++++++++++- .../dto/DomainSearchCondition.java | 6 +- .../dto/EPKGPackageSearchCondition.java | 2 +- .../dto/RPMPackageSearchCondition.java | 2 +- 7 files changed, 68 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/easysoftware/adapter/query/DomainPackageQueryAdapter.java b/src/main/java/com/easysoftware/adapter/query/DomainPackageQueryAdapter.java index 1fe59fc..b4a94c6 100644 --- a/src/main/java/com/easysoftware/adapter/query/DomainPackageQueryAdapter.java +++ b/src/main/java/com/easysoftware/adapter/query/DomainPackageQueryAdapter.java @@ -4,12 +4,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.easysoftware.application.domainpackage.DomainPackageService; import com.easysoftware.application.domainpackage.dto.DomainSearchCondition; import jakarta.validation.Valid; +import jakarta.validation.constraints.Size; @RestController @RequestMapping("/domain") diff --git a/src/main/java/com/easysoftware/application/applicationpackage/dto/ApplicationPackageSearchCondition.java b/src/main/java/com/easysoftware/application/applicationpackage/dto/ApplicationPackageSearchCondition.java index 6dd95b6..23eb832 100644 --- a/src/main/java/com/easysoftware/application/applicationpackage/dto/ApplicationPackageSearchCondition.java +++ b/src/main/java/com/easysoftware/application/applicationpackage/dto/ApplicationPackageSearchCondition.java @@ -16,7 +16,7 @@ public class ApplicationPackageSearchCondition { @NotBlank private String name; - @Range(min = 1, max = 1000, message = "page must be greater than 0 and less than 1000 ") + @Range(min = 1, max = 10000, message = "page must be greater than 0 and less than 10000 ") private Integer pageNum = 1; @Range(min = 5, max = 50, message = "page must be greater than 5 and less than 50 ") diff --git a/src/main/java/com/easysoftware/application/applicationversion/dto/ApplicationVersionSearchCondition.java b/src/main/java/com/easysoftware/application/applicationversion/dto/ApplicationVersionSearchCondition.java index 3845c36..7a0e4b0 100644 --- a/src/main/java/com/easysoftware/application/applicationversion/dto/ApplicationVersionSearchCondition.java +++ b/src/main/java/com/easysoftware/application/applicationversion/dto/ApplicationVersionSearchCondition.java @@ -18,7 +18,7 @@ public class ApplicationVersionSearchCondition { @Pattern(regexp = "^[\\u4E00-\\u9FA5A-Za-z0-9.()$\\-_ ]+$", message = "Include only letters, digits, and special characters(_-()$.)") private String name; - @Range(min = 1, max = 1000, message = "page must be greater than 0 and less than 1000 ") + @Range(min = 1, max = 10000, message = "page must be greater than 0 and less than 10000 ") private Integer pageNum = 1; @Range(min = 5, max = 50, message = "page must be greater than 5 and less than 50 ") diff --git a/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java b/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java index 6588927..82d377a 100644 --- a/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -23,6 +24,8 @@ import com.easysoftware.application.rpmpackage.dto.RPMPackageSearchCondition; import com.easysoftware.application.rpmpackage.vo.RPMPackageMenuVo; import com.easysoftware.common.exception.enumvalid.AppCategoryEnum; import com.easysoftware.common.utils.ResultUtil; +import com.easysoftware.domain.epkgpackage.EPKGPackageUnique; +import com.easysoftware.domain.epkgpackage.gateway.EPKGPackageGateway; import com.easysoftware.domain.rpmpackage.RPMPackageUnique; import com.easysoftware.domain.rpmpackage.gateway.RPMPackageGateway; @@ -42,8 +45,52 @@ public class DomainPackageServiceImpl implements DomainPackageService { @Resource RPMPackageGateway rpmPackageGateway; + @Resource + EPKGPackageGateway epkgPackageGateway; + @Override public ResponseEntity searchDomain(DomainSearchCondition condition) { + String name = condition.getName(); + String entity = condition.getEntity(); + // 搜索domain页面 + if (StringUtils.isBlank(entity) && StringUtils.isNotBlank(name)) { + return searchDomainPage(condition); + // 搜索单个domain包 + } else if (StringUtils.isBlank(name) && StringUtils.isNotBlank(entity)) { + return searchDomainEntity(condition); + } else { + return null; + } + } + + private ResponseEntity searchDomainEntity(DomainSearchCondition conditon) { + String entity = conditon.getEntity(); + DomainPackageMenuVo domain = new DomainPackageMenuVo(); + domain.setTags(new ArrayList()); + domain.getTags().add("image"); + + RPMPackageUnique unique = new RPMPackageUnique(); + unique.setName(entity); + boolean rpmExisted = rpmPackageGateway.existRPM(unique); + if (rpmExisted) { + domain.getTags().add("RPM"); + } + + EPKGPackageUnique epkg = new EPKGPackageUnique(); + epkg.setName(entity); + boolean epkgExisted = epkgPackageGateway.existEPKG(epkg); + if (epkgExisted) { + domain.getTags().add("EPKG"); + } + + Map res = Map.ofEntries( + Map.entry("total", "-1"), + Map.entry("list", domain) + ); + return ResultUtil.success(HttpStatus.OK, res); + } + + private ResponseEntity searchDomainPage(DomainSearchCondition condition) { if ("apppkg".equals(condition.getName())) { ApplicationPackageSearchCondition appCon = new ApplicationPackageSearchCondition(); BeanUtils.copyProperties(condition, appCon); @@ -84,7 +131,8 @@ public class DomainPackageServiceImpl implements DomainPackageService { for (ApplicationPackageMenuVo app: appMenus) { DomainPackageMenuVo domain = new DomainPackageMenuVo(); BeanUtils.copyProperties(app, domain); - domain.setTags(new ArrayList<>(app.getTags())); + domain.setTags(new ArrayList()); + domain.getTags().add("image"); String name = domain.getName(); @@ -95,6 +143,15 @@ public class DomainPackageServiceImpl implements DomainPackageService { if (rpmExisted) { domain.getTags().add("RPM"); } + + // search RPM + EPKGPackageUnique epkg = new EPKGPackageUnique(); + epkg.setName(name); + boolean epkgExisted = epkgPackageGateway.existEPKG(epkg); + if (epkgExisted) { + domain.getTags().add("EPKG"); + } + domainMenus.add(domain); } diff --git a/src/main/java/com/easysoftware/application/domainpackage/dto/DomainSearchCondition.java b/src/main/java/com/easysoftware/application/domainpackage/dto/DomainSearchCondition.java index 6c9c8c2..dd98e71 100644 --- a/src/main/java/com/easysoftware/application/domainpackage/dto/DomainSearchCondition.java +++ b/src/main/java/com/easysoftware/application/domainpackage/dto/DomainSearchCondition.java @@ -13,10 +13,12 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class DomainSearchCondition { @Size(max = 50) - @NotBlank private String name; - @Range(min = 1, max = 1000, message = "page must be greater than 0 and less than 1000 ") + @Size(max = 50) + private String entity; + + @Range(min = 1, max = 10000, message = "page must be greater than 0 and less than 10000 ") private Integer pageNum = 1; @Range(min = 5, max = 50, message = "page must be greater than 5 and less than 50 ") diff --git a/src/main/java/com/easysoftware/application/epkgpackage/dto/EPKGPackageSearchCondition.java b/src/main/java/com/easysoftware/application/epkgpackage/dto/EPKGPackageSearchCondition.java index 279b09e..0cb2bdb 100644 --- a/src/main/java/com/easysoftware/application/epkgpackage/dto/EPKGPackageSearchCondition.java +++ b/src/main/java/com/easysoftware/application/epkgpackage/dto/EPKGPackageSearchCondition.java @@ -16,7 +16,7 @@ public class EPKGPackageSearchCondition { @NotBlank private String name; - @Range(min = 1, max = 1000, message = "page must be greater than 0 and less than 1000 ") + @Range(min = 1, max = 10000, message = "page must be greater than 0 and less than 10000 ") private Integer pageNum = 1; @Range(min = 5, max = 50, message = "page must be greater than 5 and less than 50 ") diff --git a/src/main/java/com/easysoftware/application/rpmpackage/dto/RPMPackageSearchCondition.java b/src/main/java/com/easysoftware/application/rpmpackage/dto/RPMPackageSearchCondition.java index c6bf949..de2079f 100644 --- a/src/main/java/com/easysoftware/application/rpmpackage/dto/RPMPackageSearchCondition.java +++ b/src/main/java/com/easysoftware/application/rpmpackage/dto/RPMPackageSearchCondition.java @@ -15,7 +15,7 @@ public class RPMPackageSearchCondition { @NotBlank private String name; - @Range(min = 1, max = 1000, message = "page must be greater than 0 and less than 1000 ") + @Range(min = 1, max = 10000, message = "page must be greater than 0 and less than 10000 ") private Integer pageNum = 1; @Range(min = 5, max = 50, message = "page must be greater than 5 and less than 50 ") -- Gitee