From 7606d74620ce905b7145018f6ebe1c9f4de3c547 Mon Sep 17 00:00:00 2001 From: gouzhonglin Date: Thu, 29 Feb 2024 11:47:46 +0800 Subject: [PATCH] update query --- .../ApplicationPackageService.java | 3 +- .../ApplicationPackageServiceImpl.java | 10 ++--- .../vo/ApplicationPackageMenuVo.java | 6 ++- .../DomainPackageServiceImpl.java | 27 +++++------ .../domainpackage/vo/DomainPackageMenuVo.java | 17 ------- .../rpmpackage/RPMPackageService.java | 4 +- .../rpmpackage/RPMPackageServiceImpl.java | 7 +-- .../gateway/ApplicationPackageGateway.java | 5 ++- .../rpmpackage/gateway/RPMPackageGateway.java | 6 +-- .../ApplicationPackageGatewayImpl.java | 45 +++++++++++++------ .../ApplicationPackageConvertor.java | 3 ++ .../gatewayimpl/RPMPackageGatewayImpl.java | 26 +++++++---- 12 files changed, 84 insertions(+), 75 deletions(-) delete mode 100644 src/main/java/com/easysoftware/application/domainpackage/vo/DomainPackageMenuVo.java diff --git a/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageService.java b/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageService.java index c299a33..dba09dc 100644 --- a/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageService.java +++ b/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageService.java @@ -6,12 +6,11 @@ import org.springframework.http.ResponseEntity; import com.easysoftware.application.applicationpackage.dto.ApplicationPackageSearchCondition; import com.easysoftware.application.applicationpackage.dto.InputApplicationPackage; -import com.easysoftware.application.applicationpackage.vo.ApplicationPackageMenuVo; public interface ApplicationPackageService { ResponseEntity insertAppPkg(InputApplicationPackage listApp); ResponseEntity updateAppPkg(InputApplicationPackage inputAppPackage); ResponseEntity deleteAppPkg(List names); ResponseEntity searchAppPkg(ApplicationPackageSearchCondition condition); - List queryAllAppPkgMenu(ApplicationPackageSearchCondition condition); + Map queryAllAppPkgMenu(ApplicationPackageSearchCondition condition); } diff --git a/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java b/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java index 2791242..743af10 100644 --- a/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/applicationpackage/ApplicationPackageServiceImpl.java @@ -101,16 +101,14 @@ public class ApplicationPackageServiceImpl implements ApplicationPackageService @Override public ResponseEntity searchAppPkg(ApplicationPackageSearchCondition condition) { - - // 查找详情页 - List res = appPkgGateway.queryDetailByName(condition); + Map res = appPkgGateway.queryDetailByName(condition); return ResultUtil.success(HttpStatus.OK, res); } @Override - public List queryAllAppPkgMenu(ApplicationPackageSearchCondition condition) { - List menuList = appPkgGateway.queryMenuByName(condition); + public Map queryAllAppPkgMenu(ApplicationPackageSearchCondition condition) { + Map res = appPkgGateway.queryMenuByName(condition); - return menuList; + return res; } } diff --git a/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageMenuVo.java b/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageMenuVo.java index 4bc54ef..2448cb3 100644 --- a/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageMenuVo.java +++ b/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageMenuVo.java @@ -1,4 +1,6 @@ package com.easysoftware.application.applicationpackage.vo; +import java.util.List; + import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -7,9 +9,9 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @NoArgsConstructor public class ApplicationPackageMenuVo { - private String appCategory; + private String category; private String name; private String description; private String iconUrl; - private String type; + private List tags; } diff --git a/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java b/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java index 9f0c1ba..36f290b 100644 --- a/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java @@ -15,7 +15,6 @@ import com.easysoftware.application.applicationpackage.ApplicationPackageService import com.easysoftware.application.applicationpackage.dto.ApplicationPackageSearchCondition; import com.easysoftware.application.applicationpackage.vo.ApplicationPackageMenuVo; import com.easysoftware.application.domainpackage.dto.DomainSearchCondition; -import com.easysoftware.application.domainpackage.vo.DomainPackageMenuVo; import com.easysoftware.application.rpmpackage.RPMPackageService; import com.easysoftware.application.rpmpackage.dto.RPMPackageSearchCondition; import com.easysoftware.application.rpmpackage.vo.RPMPackageMenuVo; @@ -36,36 +35,32 @@ public class DomainPackageServiceImpl implements DomainPackageService { if ("apppkg".equals(condition.getName())) { ApplicationPackageSearchCondition appCon = new ApplicationPackageSearchCondition(); BeanUtils.copyProperties(condition, appCon); - List appMenuList = appPkgService.queryAllAppPkgMenu(appCon); - List domainMenuList = new ArrayList<>(); + Map map = appPkgService.queryAllAppPkgMenu(appCon); + List appMenus = (List) map.get("list"); - for (ApplicationPackageMenuVo appMenu : appMenuList) { - DomainPackageMenuVo domainMenu = new DomainPackageMenuVo(); - BeanUtils.copyProperties(appMenu, domainMenu); - domainMenu.setCategory(appMenu.getAppCategory()); - domainMenu.setTags(new ArrayList(Arrays.asList(appMenu.getType()))); - domainMenuList.add(domainMenu); - } - - List> res = groupByCategory(domainMenuList); + List> appCate = groupByCategory(appMenus); + Map res = Map.ofEntries( + Map.entry("total", map.get("total")), + Map.entry("list", appCate) + ); return ResultUtil.success(HttpStatus.OK, res); } else if ("rpmpkg".equals(condition.getName())) { RPMPackageSearchCondition rPMCon = new RPMPackageSearchCondition(); BeanUtils.copyProperties(condition, rPMCon); - List appMenuList = rPMPkgService.queryAllRPMPkgMenu(rPMCon); + Map appMenuList = rPMPkgService.queryAllRPMPkgMenu(rPMCon); return ResultUtil.success(HttpStatus.OK, appMenuList); } return null; } - private List> groupByCategory(List menuList) { - Map> map = new HashMap<>(); + private List> groupByCategory(List menuList) { + Map> map = new HashMap<>(); for (AppCategoryEnum categoryEnum : AppCategoryEnum.values()) { String category = categoryEnum.getAlias(); map.put(category, new ArrayList<>()); } - for (DomainPackageMenuVo menu: menuList) { + for (ApplicationPackageMenuVo menu: menuList) { map.get(menu.getCategory()).add(menu); } diff --git a/src/main/java/com/easysoftware/application/domainpackage/vo/DomainPackageMenuVo.java b/src/main/java/com/easysoftware/application/domainpackage/vo/DomainPackageMenuVo.java deleted file mode 100644 index 42da05b..0000000 --- a/src/main/java/com/easysoftware/application/domainpackage/vo/DomainPackageMenuVo.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.easysoftware.application.domainpackage.vo; -import java.util.List; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class DomainPackageMenuVo { - private String category; - private String name; - private String description; - private String iconUrl; - private List tags; -} diff --git a/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageService.java b/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageService.java index 6e9ed6f..8d4ebcf 100644 --- a/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageService.java +++ b/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageService.java @@ -1,17 +1,17 @@ package com.easysoftware.application.rpmpackage; import java.util.List; +import java.util.Map; import org.springframework.http.ResponseEntity; import com.easysoftware.application.rpmpackage.dto.InputRPMPackage; import com.easysoftware.application.rpmpackage.dto.RPMPackageSearchCondition; -import com.easysoftware.application.rpmpackage.vo.RPMPackageMenuVo; public interface RPMPackageService { ResponseEntity insertRPMPkg(InputRPMPackage inputrPMPackage); ResponseEntity updateRPMPkg(InputRPMPackage inputrPMPackage); ResponseEntity deleteRPMPkg(List names); ResponseEntity searchRPMPkg(RPMPackageSearchCondition condition); - List queryAllRPMPkgMenu(RPMPackageSearchCondition condition); + Map queryAllRPMPkgMenu(RPMPackageSearchCondition condition); } diff --git a/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java b/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java index 713967f..89f3aa2 100644 --- a/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java @@ -2,6 +2,7 @@ package com.easysoftware.application.rpmpackage; import java.util.ArrayList; import java.util.List; +import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -28,8 +29,8 @@ public class RPMPackageServiceImpl implements RPMPackageService { RPMPackageGateway rPMPkgGateway; @Override - public List queryAllRPMPkgMenu(RPMPackageSearchCondition condition) { - List rPMMenu = rPMPkgGateway.queryMenuByName(condition); + public Map queryAllRPMPkgMenu(RPMPackageSearchCondition condition) { + Map rPMMenu = rPMPkgGateway.queryMenuByName(condition); return rPMMenu; } @@ -80,7 +81,7 @@ public class RPMPackageServiceImpl implements RPMPackageService { @Override public ResponseEntity searchRPMPkg(RPMPackageSearchCondition condition) { - List res = rPMPkgGateway.queryDetailByName(condition); + Map res = rPMPkgGateway.queryDetailByName(condition); return ResultUtil.success(HttpStatus.OK, res); } diff --git a/src/main/java/com/easysoftware/domain/applicationpackage/gateway/ApplicationPackageGateway.java b/src/main/java/com/easysoftware/domain/applicationpackage/gateway/ApplicationPackageGateway.java index 3c6998a..ed98706 100644 --- a/src/main/java/com/easysoftware/domain/applicationpackage/gateway/ApplicationPackageGateway.java +++ b/src/main/java/com/easysoftware/domain/applicationpackage/gateway/ApplicationPackageGateway.java @@ -1,6 +1,7 @@ package com.easysoftware.domain.applicationpackage.gateway; import java.util.List; +import java.util.Map; import com.easysoftware.application.applicationpackage.dto.ApplicationPackageSearchCondition; import com.easysoftware.application.applicationpackage.vo.ApplicationPackageDetailVo; @@ -12,6 +13,6 @@ public interface ApplicationPackageGateway { boolean save(ApplicationPackage appPkg); boolean update(ApplicationPackage appPkg); boolean delete(String name); - List queryMenuByName(ApplicationPackageSearchCondition condition); - List queryDetailByName(ApplicationPackageSearchCondition condition); + Map queryMenuByName(ApplicationPackageSearchCondition condition); + Map queryDetailByName(ApplicationPackageSearchCondition condition); } diff --git a/src/main/java/com/easysoftware/domain/rpmpackage/gateway/RPMPackageGateway.java b/src/main/java/com/easysoftware/domain/rpmpackage/gateway/RPMPackageGateway.java index fc1fcfa..93da221 100644 --- a/src/main/java/com/easysoftware/domain/rpmpackage/gateway/RPMPackageGateway.java +++ b/src/main/java/com/easysoftware/domain/rpmpackage/gateway/RPMPackageGateway.java @@ -1,10 +1,10 @@ package com.easysoftware.domain.rpmpackage.gateway; import java.util.List; +import java.util.Map; import com.easysoftware.application.rpmpackage.dto.RPMPackageSearchCondition; import com.easysoftware.application.rpmpackage.vo.RPMPackageDetailVo; -import com.easysoftware.application.rpmpackage.vo.RPMPackageMenuVo; import com.easysoftware.domain.rpmpackage.RPMPackage; import com.easysoftware.domain.rpmpackage.RPMPackageUnique; @@ -14,6 +14,6 @@ public interface RPMPackageGateway { boolean save(RPMPackage appPkg); boolean update(RPMPackage appPkg); boolean delete(String id); - List queryDetailByName(RPMPackageSearchCondition condition); - List queryMenuByName(RPMPackageSearchCondition condition); + Map queryDetailByName(RPMPackageSearchCondition condition); + Map queryMenuByName(RPMPackageSearchCondition condition); } 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 80d0f6f..bbc8678 100644 --- a/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/ApplicationPackageGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/ApplicationPackageGatewayImpl.java @@ -1,20 +1,26 @@ package com.easysoftware.infrastructure.applicationpackage.gatewayimpl; +import java.util.HashMap; import java.util.List; +import java.util.Map; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.easysoftware.application.applicationpackage.dto.ApplicationPackageSearchCondition; import com.easysoftware.application.applicationpackage.vo.ApplicationPackageDetailVo; import com.easysoftware.application.applicationpackage.vo.ApplicationPackageMenuVo; +import com.easysoftware.application.rpmpackage.dto.RPMPackageSearchCondition; import com.easysoftware.domain.applicationpackage.ApplicationPackage; import com.easysoftware.domain.applicationpackage.gateway.ApplicationPackageGateway; import com.easysoftware.infrastructure.applicationpackage.gatewayimpl.converter.ApplicationPackageConvertor; import com.easysoftware.infrastructure.applicationpackage.gatewayimpl.dataobject.ApplicationPackageDO; import com.easysoftware.infrastructure.mapper.ApplicationPackageDOMapper; +import com.easysoftware.infrastructure.rpmpackage.gatewayimpl.dataobject.RPMPackageDO; @Component public class ApplicationPackageGatewayImpl implements ApplicationPackageGateway { @@ -61,36 +67,47 @@ public class ApplicationPackageGatewayImpl implements ApplicationPackageGateway } @Override - public List queryMenuByName(ApplicationPackageSearchCondition condition) { + public Map queryMenuByName(ApplicationPackageSearchCondition condition) { int pageNum = condition.getPageNum(); int pageSize = condition.getPageSize(); - Page page = new Page<>(pageNum, pageSize); QueryWrapper wrapper = new QueryWrapper<>(); - Page resPage = appPkgMapper.selectPage(page, wrapper); + IPage resPage = appPkgMapper.selectPage(page, wrapper); List appDOs = resPage.getRecords(); - List res = ApplicationPackageConvertor.toMenu(appDOs); + long total = resPage.getPages(); + List menus = ApplicationPackageConvertor.toMenu(appDOs); + Map res = new HashMap<>(); + res.put("total", total); + res.put("list", menus); return res; } @Override - public List queryDetailByName(ApplicationPackageSearchCondition condition) { - int pageNum = condition.getPageNum(); - int pageSize = condition.getPageSize(); - String name = condition.getName(); - - Page page = new Page<>(pageNum, pageSize); - + public Map queryDetailByName(ApplicationPackageSearchCondition condition) { + Page page = createPage(condition); QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("name", name); + String name = condition.getName(); + wrapper.eq("name", condition.getName()); - Page resPage = appPkgMapper.selectPage(page, wrapper); + IPage resPage = appPkgMapper.selectPage(page, wrapper); List appDOs = resPage.getRecords(); - List res = ApplicationPackageConvertor.toDetail(appDOs); + List appDetails = ApplicationPackageConvertor.toDetail(appDOs); + long total = resPage.getPages(); + Map res = Map.ofEntries( + Map.entry("total", total), + Map.entry("list", appDetails) + ); return res; } + + private Page createPage(ApplicationPackageSearchCondition condition) { + int pageNum = condition.getPageNum(); + int pageSize = condition.getPageSize(); + Page page = new Page<>(pageNum, pageSize); + return page; + } } diff --git a/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/converter/ApplicationPackageConvertor.java b/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/converter/ApplicationPackageConvertor.java index 2a84604..ae6b681 100644 --- a/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/converter/ApplicationPackageConvertor.java +++ b/src/main/java/com/easysoftware/infrastructure/applicationpackage/gatewayimpl/converter/ApplicationPackageConvertor.java @@ -2,6 +2,7 @@ package com.easysoftware.infrastructure.applicationpackage.gatewayimpl.converter import java.sql.Timestamp; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import org.springframework.beans.BeanUtils; @@ -34,6 +35,8 @@ public class ApplicationPackageConvertor { for (ApplicationPackageDO app: appPkgDOs) { ApplicationPackageMenuVo menu = new ApplicationPackageMenuVo(); BeanUtils.copyProperties(app, menu); + menu.setTags(List.of(app.getType())); + menu.setCategory(app.getAppCategory()); res.add(menu); } return res; 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 1134454..3aff7fd 100644 --- a/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/RPMPackageGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/RPMPackageGatewayImpl.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Component; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.easysoftware.application.rpmpackage.dto.RPMPackageSearchCondition; @@ -63,16 +64,21 @@ public class RPMPackageGatewayImpl implements RPMPackageGateway { } @Override - public List queryDetailByName(RPMPackageSearchCondition condition) { + public Map queryDetailByName(RPMPackageSearchCondition condition) { Page page = createPage(condition); - QueryWrapper wrapper = new QueryWrapper<>(); String name = condition.getName(); wrapper.eq("name", name); - Page resPage = rPMPkgMapper.selectPage(page, wrapper); + IPage resPage = rPMPkgMapper.selectPage(page, wrapper); List rPMDOs = resPage.getRecords(); - List res = RPMPackageConverter.toDetail(rPMDOs); + List rPMDetails = RPMPackageConverter.toDetail(rPMDOs); + long total = resPage.getPages(); + + Map res = Map.ofEntries( + Map.entry("total", total), + Map.entry("list", rPMDetails) + ); return res; } @@ -103,15 +109,19 @@ public class RPMPackageGatewayImpl implements RPMPackageGateway { } @Override - public List queryMenuByName(RPMPackageSearchCondition condition) { + public Map queryMenuByName(RPMPackageSearchCondition condition) { Page page = createPage(condition); - QueryWrapper wrapper = new QueryWrapper<>(); - Page resPage = rPMPkgMapper.selectPage(page, wrapper); + IPage resPage = rPMPkgMapper.selectPage(page, wrapper); List rpmDOs = resPage.getRecords(); - List res = RPMPackageConverter.toMenu(rpmDOs); + List rPMMenus = RPMPackageConverter.toMenu(rpmDOs); + long total = resPage.getPages(); + Map res = Map.ofEntries( + Map.entry("total", total), + Map.entry("list", rPMMenus) + ); return res; } -- Gitee