|
@@ -2,6 +2,8 @@ package com.yonge.cooleshow.admin.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
+import com.ym.mec.common.dto.PmsProductDto;
|
|
|
+import com.ym.mec.common.dto.PmsProductQueryParamDto;
|
|
|
import com.ym.mec.common.entity.GoodsSubModel;
|
|
|
import com.ym.mec.common.entity.GoodsSubStockModel;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
@@ -12,6 +14,8 @@ import com.yonge.cooleshow.admin.dto.HomeStatistical;
|
|
|
import com.yonge.cooleshow.admin.dto.PmsProductParam;
|
|
|
import com.yonge.cooleshow.admin.dto.PmsProductQueryParam;
|
|
|
import com.yonge.cooleshow.admin.dto.PmsProductResult;
|
|
|
+import com.yonge.cooleshow.admin.service.PmsBrandService;
|
|
|
+import com.yonge.cooleshow.admin.service.PmsProductCategoryService;
|
|
|
import com.yonge.cooleshow.admin.service.PmsProductService;
|
|
|
import com.yonge.cooleshow.mbg.mapper.*;
|
|
|
import com.yonge.cooleshow.mbg.model.*;
|
|
@@ -71,9 +75,15 @@ public class PmsProductServiceImpl implements PmsProductService {
|
|
|
private PmsProductDao productDao;
|
|
|
@Autowired
|
|
|
private PmsProductVertifyRecordDao productVertifyRecordDao;
|
|
|
- @Resource
|
|
|
+ @Autowired
|
|
|
private WebFeignService webFeignService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PmsBrandService brandService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PmsProductCategoryService productCategoryService;
|
|
|
+
|
|
|
@Override
|
|
|
public int create(PmsProductParam productParam) {
|
|
|
if (productParam.getPrice().compareTo(BigDecimal.ZERO) <=0 ) {
|
|
@@ -362,6 +372,39 @@ public class PmsProductServiceImpl implements PmsProductService {
|
|
|
return pmsProducts.stream().collect(Collectors.toMap(PmsProduct::getId, pmsProduct -> pmsProduct));
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<PmsProductDto> getFeignProductList(PmsProductQueryParamDto productQueryParam) {
|
|
|
+ PageHelper.startPage(productQueryParam.getPageNum(), productQueryParam.getPageSize());
|
|
|
+ List<PmsProductDto> feignProductList = productDao.getFeignProductList(productQueryParam);
|
|
|
+ if (CollectionUtils.isEmpty(feignProductList)) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ // 品牌ID集合
|
|
|
+ List<Long> brandIds = feignProductList.stream().map(PmsProductDto::getBrandId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ Map<Long, PmsBrand> brandMap = brandService.getMapByIds(brandIds);
|
|
|
+
|
|
|
+ // 商品分类ID集合
|
|
|
+ List<Long> categoryIds = feignProductList.stream().map(PmsProductDto::getProductCategoryId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ Map<Long, PmsProductCategory> categoryMap = productCategoryService.getMapByIds(categoryIds);
|
|
|
+
|
|
|
+ // merge
|
|
|
+ for (PmsProductDto pmsProductDto : feignProductList) {
|
|
|
+
|
|
|
+ PmsBrand pmsBrand = brandMap.get(pmsProductDto.getBrandId());
|
|
|
+ if (pmsBrand != null) {
|
|
|
+ pmsProductDto.setBrandName(pmsBrand.getName());
|
|
|
+ }
|
|
|
+ PmsProductCategory pmsProductCategory = categoryMap.get(pmsProductDto.getProductCategoryId());
|
|
|
+ if (pmsProductCategory != null) {
|
|
|
+ pmsProductDto.setProductCategoryName(pmsProductCategory.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return feignProductList;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 建立和插入关系表操作
|
|
|
*
|