Commit 8452b2d7495e77a89d7b8ce5710fbdac071385d9

Authored by boyang
1 parent 2d4b3f38

优化商品分类查询及静态页面生成

shop/src/main/java/com/canrd/shop/controller/ProductController.java
@@ -109,13 +109,14 @@ public class ProductController { @@ -109,13 +109,14 @@ public class ProductController {
109 return ServerResult.fail("secret error"); 109 return ServerResult.fail("secret error");
110 } 110 }
111 if(StringUtils.isNotBlank(productQueryVO.getProductCategoryName())){ 111 if(StringUtils.isNotBlank(productQueryVO.getProductCategoryName())){
112 - Optional<ProductCategoryDO> productCategoryDOOpt = productCategoryService.lambdaQuery() 112 + List<ProductCategoryDO> productCategoryDList = productCategoryService.lambdaQuery()
113 .eq(ProductCategoryDO::getName, productQueryVO.getProductCategoryName()) 113 .eq(ProductCategoryDO::getName, productQueryVO.getProductCategoryName())
114 - .oneOpt();  
115 - productQueryVO  
116 - .setProductCategoryId(productCategoryDOOpt  
117 - .orElseThrow(()-> new BusinessException("productCategoryName not exist"))  
118 - .getId()); 114 + .list();
  115 + if (CollUtil.isNotEmpty(productCategoryDList)){
  116 + productQueryVO.setProductCategoryId(productCategoryDList.get(0).getId());
  117 + }else {
  118 + throw new BusinessException("productCategoryName not exist");
  119 + }
119 } 120 }
120 if(StringUtils.isNotBlank(productQueryVO.getRootProductCategoryName())){ 121 if(StringUtils.isNotBlank(productQueryVO.getRootProductCategoryName())){
121 Optional<ProductCategoryDO> productCategoryDOOpt = productCategoryService.lambdaQuery() 122 Optional<ProductCategoryDO> productCategoryDOOpt = productCategoryService.lambdaQuery()
@@ -167,7 +168,7 @@ public class ProductController { @@ -167,7 +168,7 @@ public class ProductController {
167 } 168 }
168 169
169 System.out.println("文件已成功保存到 " + outputFile.getAbsolutePath()); 170 System.out.println("文件已成功保存到 " + outputFile.getAbsolutePath());
170 - return ServerResult.success(fileName); 171 + return ServerResult.success(fileName+".html");
171 } 172 }
172 173
173 /** 174 /**
shop/src/main/java/com/canrd/shop/service/impl/ProductServiceImpl.java
@@ -168,7 +168,15 @@ public class ProductServiceImpl extends ServiceImpl&lt;ProductMapper, ProductDO&gt; im @@ -168,7 +168,15 @@ public class ProductServiceImpl extends ServiceImpl&lt;ProductMapper, ProductDO&gt; im
168 private void suppleProducts(List<ProductDO> records) { 168 private void suppleProducts(List<ProductDO> records) {
169 Boolean productPriceShow = switchControlService.getEnabledByName(SwitchControlConstants.PRODUCT_PRICE_SHOW); 169 Boolean productPriceShow = switchControlService.getEnabledByName(SwitchControlConstants.PRODUCT_PRICE_SHOW);
170 List<String> productIds = records.stream().map(ProductDO::getId).collect(Collectors.toList()); 170 List<String> productIds = records.stream().map(ProductDO::getId).collect(Collectors.toList());
171 - List<TicketTypeDO> tickeyTypeDOList = ticketTypeService.lambdaQuery().in(TicketTypeDO::getProductId, productIds).list(); 171 + List<TicketTypeDO> tickeyTypeDOList = ticketTypeService.lambdaQuery()
  172 + .func(wrapper -> {
  173 + if (CollUtil.isEmpty(productIds)){
  174 + wrapper.apply("1!=1");
  175 + }else {
  176 + wrapper.in(TicketTypeDO::getProductId, productIds);
  177 + }
  178 + })
  179 + .list();
172 Map<String,BigDecimal> pId2ttMinPriceMap = new HashMap<>(); 180 Map<String,BigDecimal> pId2ttMinPriceMap = new HashMap<>();
173 for (TicketTypeDO ticketTypeDO : tickeyTypeDOList) { 181 for (TicketTypeDO ticketTypeDO : tickeyTypeDOList) {
174 if (Objects.isNull(pId2ttMinPriceMap.get(ticketTypeDO.getProductId()))){ 182 if (Objects.isNull(pId2ttMinPriceMap.get(ticketTypeDO.getProductId()))){