From 2a21827887410dc7dd06fd07f1ccc30ee1360a82 Mon Sep 17 00:00:00 2001 From: kaede10 Date: Tue, 5 Mar 2024 11:26:26 +0800 Subject: [PATCH] update maintainer info and icon url --- pom.xml | 7 +++++ .../ApplicationPackageServiceImpl.java | 16 +++++++++--- .../epkgpackage/EPKGPackageServiceImpl.java | 26 ++++++++++++++++++- .../rpmpackage/RPMPackageServiceImpl.java | 25 ++++++++++++++++++ 4 files changed, 69 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 90a0be6..169f8ac 100644 --- a/pom.xml +++ b/pom.xml @@ -110,6 +110,13 @@ 2.8.1 + + + com.huaweicloud + esdk-obs-java-bundle + 3.21.8 + + org.apache.httpcomponents httpclient diff --git a/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java b/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java index ec3cc7d..3775285 100644 --- a/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java @@ -1,7 +1,6 @@ package com.easysoftware.application.applicationpackage; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -13,10 +12,7 @@ import org.springframework.stereotype.Service; import com.easysoftware.application.applicationpackage.dto.ApplicationPackageSearchCondition; import com.easysoftware.application.applicationpackage.dto.InputApplicationPackage; -import com.easysoftware.application.applicationpackage.vo.ApplicationPackageDetailVo; -import com.easysoftware.application.applicationpackage.vo.ApplicationPackageMenuVo; import com.easysoftware.common.entity.MessageCode; -import com.easysoftware.common.exception.enumvalid.AppCategoryEnum; import com.easysoftware.common.utils.ApiUtil; import com.easysoftware.common.utils.ResultUtil; import com.easysoftware.domain.applicationpackage.ApplicationPackage; @@ -35,6 +31,12 @@ public class ApplicationPackageServiceImpl implements ApplicationPackageService @Value("${api.repoInfo}") String repoInfoApi; + @Value("${obs.endpoint}") + String obsEndpoint; + + @Value("${obs.bucket}") + String obsBucketName; + @Override public ResponseEntity insertAppPkg(InputApplicationPackage inputAppPkg) { // 数据库中是否已存在该包 @@ -121,6 +123,12 @@ public class ApplicationPackageServiceImpl implements ApplicationPackageService appPkg.setBinDownloadUrl(info.get("binDownloadUrl")); appPkg.setSrcDownloadUrl(info.get("srcDownloadUrl")); appPkg.setSrcRepo(info.get("srcRepo")); + appPkg.setIconUrl(generateUrl(appPkg.getName() + ".png")); return appPkg; } + + private String generateUrl(String objectKey) { + String publicUrl = "https://" + obsBucketName + "." + obsEndpoint + "/" + objectKey; + return publicUrl; + } } diff --git a/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java b/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java index 7d77da9..c42add9 100644 --- a/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java @@ -6,6 +6,7 @@ import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; @@ -13,6 +14,7 @@ import org.springframework.stereotype.Service; import com.easysoftware.application.epkgpackage.dto.EPKGPackageSearchCondition; import com.easysoftware.application.epkgpackage.dto.InputEPKGPackage; import com.easysoftware.common.entity.MessageCode; +import com.easysoftware.common.utils.ApiUtil; import com.easysoftware.common.utils.Base64Util; import com.easysoftware.common.utils.ResultUtil; import com.easysoftware.domain.epkgpackage.EPKGPackage; @@ -28,6 +30,12 @@ import jakarta.annotation.Resource; public class EPKGPackageServiceImpl implements EPKGPackageService { @Resource EPKGPackageGateway ePKGPackageGateway; + + @Value("${api.repoMaintainer}") + String repoMaintainerApi; + + @Value("${api.repoInfo}") + String repoInfoApi; @Override public ResponseEntity deleteEPKGPkg(List ids) { @@ -70,6 +78,7 @@ public class EPKGPackageServiceImpl implements EPKGPackageService { EPKGPackage epkgPkg = new EPKGPackage(); BeanUtils.copyProperties(inputEPKGPackage, epkgPkg); + epkgPkg = addEPKGInfo(epkgPkg); boolean succeed = ePKGPackageGateway.save(epkgPkg); if (!succeed) { @@ -104,6 +113,7 @@ public class EPKGPackageServiceImpl implements EPKGPackageService { } EPKGPackage epkgPkg = new EPKGPackage(); BeanUtils.copyProperties(inputEPKGPackage, epkgPkg); + epkgPkg = addEPKGInfo(epkgPkg); boolean succeed = ePKGPackageGateway.update(epkgPkg); if (!succeed) { @@ -111,5 +121,19 @@ public class EPKGPackageServiceImpl implements EPKGPackageService { } return ResultUtil.success(HttpStatus.OK); } - + + public EPKGPackage addEPKGInfo(EPKGPackage epkgPkg) { + Map maintainer = ApiUtil.getApiResponse(String.format(repoMaintainerApi, epkgPkg.getName())); + epkgPkg.setMaintainerGiteeId(maintainer.get("gitee_id")); + epkgPkg.setMaintianerEmail(maintainer.get("email")); + + Map info = ApiUtil.getApiResponse(String.format(repoInfoApi, epkgPkg.getName(), "rpm_openeuler")); + epkgPkg.setOs(info.get("os")); + epkgPkg.setArch(info.get("arch")); + epkgPkg.setBinDownloadUrl(info.get("binDownloadUrl")); + epkgPkg.setSrcDownloadUrl(info.get("srcDownloadUrl")); + epkgPkg.setSrcRepo(info.get("srcRepo")); + epkgPkg.setEpkgSize(info.get("appSize")); + return epkgPkg; + } } diff --git a/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java b/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java index 8797fb0..6a03c98 100644 --- a/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java @@ -6,6 +6,7 @@ import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; @@ -16,6 +17,7 @@ import com.easysoftware.application.rpmpackage.dto.RPMPackageSearchCondition; import com.easysoftware.application.rpmpackage.vo.RPMPackageDetailVo; import com.easysoftware.application.rpmpackage.vo.RPMPackageMenuVo; import com.easysoftware.common.entity.MessageCode; +import com.easysoftware.common.utils.ApiUtil; import com.easysoftware.common.utils.Base64Util; import com.easysoftware.common.utils.ResultUtil; import com.easysoftware.domain.rpmpackage.RPMPackage; @@ -29,6 +31,12 @@ public class RPMPackageServiceImpl implements RPMPackageService { @Resource RPMPackageGateway rPMPkgGateway; + @Value("${api.repoMaintainer}") + String repoMaintainerApi; + + @Value("${api.repoInfo}") + String repoInfoApi; + @Override public Map queryAllRPMPkgMenu(RPMPackageSearchCondition condition) { Map rPMMenu = rPMPkgGateway.queryMenuByName(condition); @@ -74,6 +82,7 @@ public class RPMPackageServiceImpl implements RPMPackageService { } RPMPackage rPMPkg = new RPMPackage(); BeanUtils.copyProperties(inputrPMPackage, rPMPkg); + rPMPkg = addRPMPkgInfo(rPMPkg); boolean succeed = rPMPkgGateway.save(rPMPkg); if (!succeed) { @@ -102,6 +111,7 @@ public class RPMPackageServiceImpl implements RPMPackageService { } RPMPackage rPMPkg = new RPMPackage(); BeanUtils.copyProperties(inputrPMPackage, rPMPkg); + rPMPkg = addRPMPkgInfo(rPMPkg); boolean succeed = rPMPkgGateway.update(rPMPkg); if (!succeed) { @@ -109,4 +119,19 @@ public class RPMPackageServiceImpl implements RPMPackageService { } return ResultUtil.success(HttpStatus.OK); } + + public RPMPackage addRPMPkgInfo(RPMPackage rPMPkg) { + Map maintainer = ApiUtil.getApiResponse(String.format(repoMaintainerApi, rPMPkg.getName())); + rPMPkg.setMaintainerGiteeId(maintainer.get("gitee_id")); + rPMPkg.setMaintianerEmail(maintainer.get("email")); + + Map info = ApiUtil.getApiResponse(String.format(repoInfoApi, rPMPkg.getName(), "rpm_openeuler")); + rPMPkg.setOs(info.get("os")); + rPMPkg.setArch(info.get("arch")); + rPMPkg.setBinDownloadUrl(info.get("binDownloadUrl")); + rPMPkg.setSrcDownloadUrl(info.get("srcDownloadUrl")); + rPMPkg.setSrcRepo(info.get("srcRepo")); + rPMPkg.setRpmSize(info.get("appSize")); + return rPMPkg; + } } -- Gitee