From a35d519f8767c8a23966dc0c61e2f3587b83206e Mon Sep 17 00:00:00 2001 From: kaede10 Date: Wed, 20 Mar 2024 17:11:39 +0800 Subject: [PATCH] update query statements --- .../ApplicationPackageServiceImpl.java | 4 +-- .../dto/InputApplicationPackage.java | 2 +- .../vo/ApplicationPackageDetailVo.java | 2 +- .../DomainPackageServiceImpl.java | 2 +- .../domainpackage/dto/InputDomainPackage.java | 2 +- .../epkgpackage/EPKGPackageServiceImpl.java | 4 +-- .../dto/EPKGPackageSearchCondition.java | 2 +- .../epkgpackage/dto/InputEPKGPackage.java | 4 +-- .../epkgpackage/vo/EPKGPackageDetailVo.java | 2 +- .../epkgpackage/vo/EPKGPackageMenuVo.java | 2 +- .../common/config/KafkaConsumerConfig.java | 1 - .../easysoftware/common/utils/ClassField.java | 25 +++++++++++++++++++ .../ApplicationPackage.java | 2 +- .../domain/epkgpackage/EPKGPackage.java | 2 +- .../domain/epkgpackage/EPKGPackageUnique.java | 2 +- .../ApplicationPackageGatewayImpl.java | 4 +++ .../ApplicationPackageConverter.java | 6 +++-- .../dataobject/ApplicationPackageDO.java | 2 +- .../gatewayimpl/EPKGPackageGatewayImpl.java | 6 ++++- .../gatewayimpl/dataobject/EPKGPackageDO.java | 2 +- .../gatewayimpl/RPMPackageGatewayImpl.java | 7 ++++++ 21 files changed, 63 insertions(+), 22 deletions(-) create mode 100644 src/main/java/com/easysoftware/common/utils/ClassField.java diff --git a/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java b/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java index 595fe03..f8d7748 100644 --- a/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java @@ -147,9 +147,9 @@ public class ApplicationPackageServiceImpl implements ApplicationPackageService public ApplicationPackage addAppkgRepoSig(ApplicationPackage appPkg) { String resp = ApiUtil.getApiResponseData(String.format(repoSigApi, appPkg.getName())); if (resp != null && MapConstant.CATEGORY_MAP.containsKey(resp)) { - appPkg.setAppCategory(MapConstant.CATEGORY_MAP.get(resp)); + appPkg.setCategory(MapConstant.CATEGORY_MAP.get(resp)); } else { - appPkg.setAppCategory(MapConstant.CATEGORY_MAP.get("Other")); + appPkg.setCategory(MapConstant.CATEGORY_MAP.get("Other")); } return appPkg; } diff --git a/src/main/java/com/easysoftware/application/applicationpackage/dto/InputApplicationPackage.java b/src/main/java/com/easysoftware/application/applicationpackage/dto/InputApplicationPackage.java index bc0e2e4..60901d8 100644 --- a/src/main/java/com/easysoftware/application/applicationpackage/dto/InputApplicationPackage.java +++ b/src/main/java/com/easysoftware/application/applicationpackage/dto/InputApplicationPackage.java @@ -39,7 +39,7 @@ public class InputApplicationPackage { private String dependencyPkgs; @EnumValue(enumClass = AppCategoryEnum.class, enumMethod = "isValidCategory") - private String appCategory; + private String category; @Size(max = 100, message = "the length of type can not exceed 100") private String type; diff --git a/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageDetailVo.java b/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageDetailVo.java index 1b5e3aa..48e9694 100644 --- a/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageDetailVo.java +++ b/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageDetailVo.java @@ -23,7 +23,7 @@ public class ApplicationPackageDetailVo { private String similarPkgs; - private String appCategory; + private String category; private String dependencyPkgs; diff --git a/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java b/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java index e771775..482297e 100644 --- a/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java @@ -126,7 +126,7 @@ public class DomainPackageServiceImpl implements DomainPackageService { EPKGPackageSearchCondition eCon = new EPKGPackageSearchCondition(); BeanUtils.copyProperties(condition, eCon); eCon.setName(""); - eCon.setEpkgCategory(condition.getCategory()); + eCon.setCategory(condition.getCategory()); Map epkgMenu = epkgPackageService.queryAllEPKGPkgMenu(eCon); return ResultUtil.success(HttpStatus.OK, epkgMenu); } else if ("all".equals(condition.getName())) { diff --git a/src/main/java/com/easysoftware/application/domainpackage/dto/InputDomainPackage.java b/src/main/java/com/easysoftware/application/domainpackage/dto/InputDomainPackage.java index 9ef632b..4a4d008 100644 --- a/src/main/java/com/easysoftware/application/domainpackage/dto/InputDomainPackage.java +++ b/src/main/java/com/easysoftware/application/domainpackage/dto/InputDomainPackage.java @@ -39,7 +39,7 @@ public class InputDomainPackage { private String dependencyPkgs; @EnumValue(enumClass = AppCategoryEnum.class, enumMethod = "isValidCategory") - private String appCategory; + private String category; @Size(max = 100, message = "the length of type can not exceed 100") private String type; diff --git a/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java b/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java index 38f9852..4b5e251 100644 --- a/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java @@ -134,9 +134,9 @@ public class EPKGPackageServiceImpl implements EPKGPackageService { public EPKGPackage addRPMPkgRepoSig(EPKGPackage epkgPkg) { String resp = ApiUtil.getApiResponseData(String.format(repoSigApi, epkgPkg.getName())); if (resp != null && MapConstant.CATEGORY_MAP.containsKey(resp)) { - epkgPkg.setEpkgCategory(MapConstant.CATEGORY_MAP.get(resp)); + epkgPkg.setCategory(MapConstant.CATEGORY_MAP.get(resp)); } else { - epkgPkg.setEpkgCategory(MapConstant.CATEGORY_MAP.get("Other")); + epkgPkg.setCategory(MapConstant.CATEGORY_MAP.get("Other")); } return epkgPkg; } 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 f03a1ab..c9e761f 100644 --- a/src/main/java/com/easysoftware/application/epkgpackage/dto/EPKGPackageSearchCondition.java +++ b/src/main/java/com/easysoftware/application/epkgpackage/dto/EPKGPackageSearchCondition.java @@ -38,7 +38,7 @@ public class EPKGPackageSearchCondition { private String arch; @Size(max = 50) - private String epkgCategory; + private String category; @Size(max = 50) private String epkgUpdateAt; diff --git a/src/main/java/com/easysoftware/application/epkgpackage/dto/InputEPKGPackage.java b/src/main/java/com/easysoftware/application/epkgpackage/dto/InputEPKGPackage.java index 5160f83..1d1d047 100644 --- a/src/main/java/com/easysoftware/application/epkgpackage/dto/InputEPKGPackage.java +++ b/src/main/java/com/easysoftware/application/epkgpackage/dto/InputEPKGPackage.java @@ -26,8 +26,8 @@ public class InputEPKGPackage { @Size(max = 255, message = "the length of arch can not exceed 255") private String arch; - @Size(max = 255, message = "the length of epkgCategory can not exceed 255") - private String epkgCategory; + @Size(max = 255, message = "the length of category can not exceed 255") + private String category; @Size(max = 255, message = "the length of epkgUpdateAt can not exceed 255") private String epkgUpdateAt; diff --git a/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageDetailVo.java b/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageDetailVo.java index ce59886..a59d38f 100644 --- a/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageDetailVo.java +++ b/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageDetailVo.java @@ -18,7 +18,7 @@ public class EPKGPackageDetailVo { private String arch; - private String epkgCategory; + private String category; private String epkgUpdateAt; diff --git a/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageMenuVo.java b/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageMenuVo.java index 1fba722..2782983 100644 --- a/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageMenuVo.java +++ b/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageMenuVo.java @@ -13,7 +13,7 @@ public class EPKGPackageMenuVo { private String version; private String os; private String arch; - private String epkgCategory; + private String category; private String epkgUpdateAt; private String srcRepo; private String epkgSize; diff --git a/src/main/java/com/easysoftware/common/config/KafkaConsumerConfig.java b/src/main/java/com/easysoftware/common/config/KafkaConsumerConfig.java index a2b0ae0..6a167fe 100644 --- a/src/main/java/com/easysoftware/common/config/KafkaConsumerConfig.java +++ b/src/main/java/com/easysoftware/common/config/KafkaConsumerConfig.java @@ -37,7 +37,6 @@ public class KafkaConsumerConfig { public ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory() { ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory<>(); factory.setConsumerFactory(consumerFactory()); - factory.setBatchListener(true); return factory; } diff --git a/src/main/java/com/easysoftware/common/utils/ClassField.java b/src/main/java/com/easysoftware/common/utils/ClassField.java new file mode 100644 index 0000000..fd87f4b --- /dev/null +++ b/src/main/java/com/easysoftware/common/utils/ClassField.java @@ -0,0 +1,25 @@ +package com.easysoftware.common.utils; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; + +public class ClassField { + public static List getFieldNames(Object obj) { + List columnNames = new ArrayList<>(); + + Class clazz = obj.getClass(); + Field[] fields = clazz.getDeclaredFields(); + + for (Field field : fields) { + if (List.class.isAssignableFrom(field.getType())) { + continue; + } + String fieldName = field.getName(); + String columnName = fieldName.replaceAll("([A-Z])", "_$1").toLowerCase(); + columnNames.add(columnName); + } + + return columnNames; + } +} diff --git a/src/main/java/com/easysoftware/domain/applicationpackage/ApplicationPackage.java b/src/main/java/com/easysoftware/domain/applicationpackage/ApplicationPackage.java index d7b7eb8..3943920 100644 --- a/src/main/java/com/easysoftware/domain/applicationpackage/ApplicationPackage.java +++ b/src/main/java/com/easysoftware/domain/applicationpackage/ApplicationPackage.java @@ -27,7 +27,7 @@ public class ApplicationPackage { private String similarPkgs; - private String appCategory; + private String category; private String dependencyPkgs; diff --git a/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackage.java b/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackage.java index 0519e9b..c7546c9 100644 --- a/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackage.java +++ b/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackage.java @@ -20,7 +20,7 @@ public class EPKGPackage { private String arch; - private String epkgCategory; + private String category; private String epkgUpdateAt; diff --git a/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackageUnique.java b/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackageUnique.java index fca34f0..1064b82 100644 --- a/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackageUnique.java +++ b/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackageUnique.java @@ -11,7 +11,7 @@ public class EPKGPackageUnique { private String version; private String os; private String arch; - private String epkgCategory; + private String category; private String epkgUpdateAt; } diff --git a/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/ApplicationPackageGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/ApplicationPackageGatewayImpl.java index add6bd9..fed3282 100644 --- a/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/ApplicationPackageGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/ApplicationPackageGatewayImpl.java @@ -15,6 +15,7 @@ import com.easysoftware.application.applicationpackage.dto.ApplicationPackageSea import com.easysoftware.application.applicationpackage.vo.ApplicationPackageDetailVo; import com.easysoftware.application.applicationpackage.vo.ApplicationPackageMenuVo; import com.easysoftware.application.rpmpackage.dto.RPMPackageSearchCondition; +import com.easysoftware.common.utils.ClassField; import com.easysoftware.domain.applicationpackage.ApplicationPackage; import com.easysoftware.domain.applicationpackage.gateway.ApplicationPackageGateway; import com.easysoftware.infrastructure.applicationpackage.gatewayimpl.converter.ApplicationPackageConverter; @@ -73,6 +74,9 @@ public class ApplicationPackageGatewayImpl implements ApplicationPackageGateway Page page = new Page<>(pageNum, pageSize); QueryWrapper wrapper = new QueryWrapper<>(); + ApplicationPackageMenuVo pkgVo = new ApplicationPackageMenuVo(); + List columns = ClassField.getFieldNames(pkgVo); + wrapper.select(columns); IPage resPage = appPkgMapper.selectPage(page, wrapper); List appDOs = resPage.getRecords(); diff --git a/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/converter/ApplicationPackageConverter.java b/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/converter/ApplicationPackageConverter.java index 8deec8f..85668d4 100644 --- a/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/converter/ApplicationPackageConverter.java +++ b/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/converter/ApplicationPackageConverter.java @@ -35,8 +35,10 @@ public class ApplicationPackageConverter { for (ApplicationPackageDO app: appPkgDOs) { ApplicationPackageMenuVo menu = new ApplicationPackageMenuVo(); BeanUtils.copyProperties(app, menu); - menu.setTags(List.of(app.getType())); - menu.setCategory(app.getAppCategory()); + if (app.getType() != null) { + menu.setTags(List.of(app.getType())); + } + menu.setCategory(app.getCategory()); res.add(menu); } return res; diff --git a/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/dataobject/ApplicationPackageDO.java b/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/dataobject/ApplicationPackageDO.java index 0648e2d..05e2c41 100644 --- a/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/dataobject/ApplicationPackageDO.java +++ b/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/dataobject/ApplicationPackageDO.java @@ -25,7 +25,7 @@ public class ApplicationPackageDO { private String download; - private String appCategory; + private String category; private String environment; diff --git a/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/EPKGPackageGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/EPKGPackageGatewayImpl.java index 88e83e0..c415992 100644 --- a/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/EPKGPackageGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/EPKGPackageGatewayImpl.java @@ -19,6 +19,7 @@ import com.easysoftware.application.epkgpackage.vo.EPKGPackageMenuVo; 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.utils.ClassField; import com.easysoftware.common.utils.QueryWrapperUtil; import com.easysoftware.domain.epkgpackage.EPKGPackage; import com.easysoftware.domain.epkgpackage.EPKGPackageUnique; @@ -94,6 +95,9 @@ public class EPKGPackageGatewayImpl implements EPKGPackageGateway{ Page page = createPage(condition); QueryWrapper wrapper = QueryWrapperUtil.createQueryWrapper(new EPKGPackageDO(), condition, "epkg_update_at"); + EPKGPackageMenuVo pkgVo = new EPKGPackageMenuVo(); + List columns = ClassField.getFieldNames(pkgVo); + wrapper.select(columns); IPage resPage = ePKGPkgMapper.selectPage(page, wrapper); List rpmDOs = resPage.getRecords(); List rPMMenus = EPKGPackageConverter.toMenu(rpmDOs); @@ -133,7 +137,7 @@ public class EPKGPackageGatewayImpl implements EPKGPackageGateway{ @Override public List queryColumn(String column) { - column = "category".equals(column) ? "epkg_category" : column; + column = "category".equals(column) ? "category" : column; QueryWrapper wrapper = new QueryWrapper<>(); wrapper.select("distinct " + column); List rpmColumn = ePKGPkgMapper.selectList(wrapper); diff --git a/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/dataobject/EPKGPackageDO.java b/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/dataobject/EPKGPackageDO.java index e0829f0..0db844f 100644 --- a/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/dataobject/EPKGPackageDO.java +++ b/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/dataobject/EPKGPackageDO.java @@ -31,7 +31,7 @@ public class EPKGPackageDO { private String arch; - private String epkgCategory; + private String category; private String epkgUpdateAt; diff --git a/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/RPMPackageGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/RPMPackageGatewayImpl.java index 15c1467..bd2303c 100644 --- a/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/RPMPackageGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/RPMPackageGatewayImpl.java @@ -25,6 +25,7 @@ import com.easysoftware.application.rpmpackage.vo.RPMPackageDetailVo; import com.easysoftware.application.rpmpackage.vo.RPMPackageDomainVo; import com.easysoftware.application.rpmpackage.vo.RPMPackageMenuVo; import com.easysoftware.common.entity.MessageCode; +import com.easysoftware.common.utils.ClassField; import com.easysoftware.common.utils.ObjectMapperUtil; import com.easysoftware.common.utils.QueryWrapperUtil; import com.easysoftware.domain.applicationpackage.ApplicationPackage; @@ -125,6 +126,9 @@ public class RPMPackageGatewayImpl implements RPMPackageGateway { Page page = createPage(condition); QueryWrapper wrapper = QueryWrapperUtil.createQueryWrapper(new RPMPackageDO(), condition, "rpm_update_at"); + RPMPackageMenuVo pkgVo = new RPMPackageMenuVo(); + List columns = ClassField.getFieldNames(pkgVo); + wrapper.select(columns); IPage resPage = rPMPkgMapper.selectPage(page, wrapper); List rpmDOs = resPage.getRecords(); List rPMMenus = RPMPackageConverter.toMenu(rpmDOs); @@ -180,6 +184,9 @@ public class RPMPackageGatewayImpl implements RPMPackageGateway { @Override public Map queryPartRPMPkgMenu(RPMPackageSearchCondition condition) { QueryWrapper wrapper = new QueryWrapper<>(); + RPMPackageDomainVo pkgVo = new RPMPackageDomainVo(); + List columns = ClassField.getFieldNames(pkgVo); + wrapper.select(columns); wrapper.in("category", List.of("AI", "大数据", "分布式存储", "数据库", "云服务", "HPC")); List rpmList = rPMPkgMapper.selectList(wrapper); List menus = RPMPackageConverter.toDomain(rpmList); -- Gitee