Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add getProductDtoListFromProductList method
  • Loading branch information
yennanliu committed Oct 15, 2023
commit 29d9c2b7c932998b036a69d879dbd062653b6da9
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ public String list(@RequestParam(value="pageNo", required=false, defaultValue="1

Page<Product> page = productService.getProductPage(helper, pageNo, PAGE_SIZE);
map.put("productTypeList", productTypeService.list());
map.put("merchantList", merchantService.list());
map.put("page", page);
map.put("helper", helper);
log.info("(ProductController list) map = {}", map);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.yen.springWarehouse.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProductDto {

private int id;

private String name;

private int typeId;

private int price;

private int merchantId;

private String productStatus;

private int amount;

private String productTypeName;

private String merchantName;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,16 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yen.springWarehouse.bean.Product;
import com.yen.springWarehouse.dto.ProductDto;
import com.yen.springWarehouse.util.ProductQueryHelper;

import java.util.List;

public interface ProductService extends IService<Product> {

/** Pagination */
Page<Product> getProductPage(ProductQueryHelper helper, Integer pageNo, Integer pageSize);

List<ProductDto> getProductDtoListFromProductList(List<Product> productList);

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,24 @@
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yen.springWarehouse.bean.Merchant;
import com.yen.springWarehouse.bean.Product;
import com.yen.springWarehouse.bean.ProductType;
import com.yen.springWarehouse.dto.ProductDto;
import com.yen.springWarehouse.mapper.ProductMapper;
import com.yen.springWarehouse.mapper.ProductTypeMapper;
import com.yen.springWarehouse.service.MerchantService;
import com.yen.springWarehouse.service.ProductService;
import com.yen.springWarehouse.service.ProductTypeService;
import com.yen.springWarehouse.util.ProductQueryHelper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.beans.BeanUtils;

import java.util.List;
import java.util.stream.Collectors;

@Service
@Transactional(rollbackFor = Exception.class)
Expand All @@ -23,6 +30,12 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
@Autowired
ProductTypeMapper productTypeMapper;

@Autowired
MerchantService merchantService;

@Autowired
ProductTypeService productTypeService;

@Override
public Page<Product> getProductPage(ProductQueryHelper helper, Integer pageNo, Integer pageSize) {

Expand Down Expand Up @@ -54,6 +67,7 @@ public Page<Product> getProductPage(ProductQueryHelper helper, Integer pageNo, I
// );

if(CollectionUtils.isNotEmpty(productList)){
//List<ProductDto> productDtoList = getProductDtoListFromProductList(productList);
page.setRecords(productList);
return page;
}
Expand All @@ -62,4 +76,22 @@ public Page<Product> getProductPage(ProductQueryHelper helper, Integer pageNo, I

}

@Override
public List<ProductDto> getProductDtoListFromProductList(List<Product> productList) {

List<ProductDto> productDtoList = productList.stream().map(
product -> {
ProductDto productDto = new ProductDto();
Merchant merchant = merchantService.getById(product.getMerchantId());
ProductType productType = productTypeService.getById(product.getTypeId());
BeanUtils.copyProperties(productDto, product);
productDto.setMerchantName(merchant.getName());
productDto.setProductTypeName(productType.getTypeName());
return productDto;
}
).collect(Collectors.toList());

return productDtoList;
}

}