|
|
@@ -59,6 +59,7 @@ import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
@@ -114,7 +115,9 @@ public class GoodsDescController extends BladeController {
|
|
|
lambdaQueryWrapper.in(PjGoodsDesc::getGoodsTypeId, goodsIdList);
|
|
|
}
|
|
|
|
|
|
- lambdaQueryWrapper.eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
|
|
|
+ lambdaQueryWrapper.select(PjGoodsDesc::getId,PjGoodsDesc::getCname,PjGoodsDesc::getCode,PjGoodsDesc::getSpecificationAndModel,PjGoodsDesc::getBrandItem,
|
|
|
+ PjGoodsDesc::getBrandName,PjGoodsDesc::getGoodsSize,PjGoodsDesc::getInventoryAlert,PjGoodsDesc::getGoodsDescription,
|
|
|
+ PjGoodsDesc::getStatus).eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjGoodsDesc::getIsDeleted, 0)
|
|
|
.eq(PjGoodsDesc::getSalesCompanyId, AuthUtil.getDeptId())//公司
|
|
|
.like(StringUtils.isNotBlank(goods.getSpecificationAndModel()), PjGoodsDesc::getSpecificationAndModel, goods.getSpecificationAndModel())//规格型号
|
|
|
@@ -131,7 +134,7 @@ public class GoodsDescController extends BladeController {
|
|
|
}
|
|
|
lambdaQueryWrapper.orderByDesc(PjGoodsDesc::getCreateTime);
|
|
|
IPage<PjGoodsDesc> pages = goodsDescService.page(Condition.getPage(query), lambdaQueryWrapper);
|
|
|
- if (!pages.getRecords().isEmpty()) {
|
|
|
+ /*if (!pages.getRecords().isEmpty()) {
|
|
|
String typeId = pages.getRecords().stream().map(PjGoodsDesc::getGoodsTypeId).collect(Collectors.joining(","));
|
|
|
// String typeId = e.getGoodsTypeId();
|
|
|
String[] split = typeId.split(",");
|
|
|
@@ -146,7 +149,7 @@ public class GoodsDescController extends BladeController {
|
|
|
}
|
|
|
|
|
|
});
|
|
|
- }
|
|
|
+ }*/
|
|
|
return R.data(pages);
|
|
|
}
|
|
|
|
|
|
@@ -455,47 +458,62 @@ public class GoodsDescController extends BladeController {
|
|
|
} else {
|
|
|
return R.data(new Page<>());
|
|
|
}
|
|
|
+
|
|
|
IPage<PjGoodsDesc> list = goodsDescService.page(Condition.getPage(query), lambdaQueryWrapper);
|
|
|
- for (PjGoodsDesc item : list.getRecords()) {
|
|
|
- if (!pjProductLaunchList.isEmpty()) {
|
|
|
- PjProductLaunch pjProductLaunch = pjProductLaunchList.stream().filter(e -> e.getGoodsId().equals(item.getId())).findFirst().orElse(new PjProductLaunch());
|
|
|
- if ("售价1".equals(priceSystem)) {
|
|
|
- item.setPrice(pjProductLaunch.getPriceOne());
|
|
|
- } else if ("售价2".equals(priceSystem)) {
|
|
|
- item.setPrice(pjProductLaunch.getPriceTwo());
|
|
|
- } else if ("售价3".equals(priceSystem)) {
|
|
|
- item.setPrice(pjProductLaunch.getPriceThree());
|
|
|
- } else if ("售价4".equals(priceSystem)) {
|
|
|
- item.setPrice(pjProductLaunch.getPriceFour());
|
|
|
- }
|
|
|
- item.setSharedCompanyId(pjProductLaunch.getSourceCompanyId());
|
|
|
- item.setSharedCompanyName(pjProductLaunch.getSourceCompanyName());
|
|
|
- item.setInventory(pjProductLaunch.getInventory());
|
|
|
- }
|
|
|
- String typeId = item.getGoodsTypeId();
|
|
|
+ if (!list.getRecords().isEmpty()){
|
|
|
+ String typeId = list.getRecords().stream().map(PjGoodsDesc::getGoodsTypeId).filter(Objects::nonNull).collect(Collectors.joining(","));
|
|
|
String[] split = typeId.split(",");
|
|
|
List<String> stringList = Arrays.asList(split);
|
|
|
LambdaQueryWrapper<PjGoodsType> goodsTypeLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
goodsTypeLambdaQueryWrapper.in(PjGoodsType::getId, stringList);
|
|
|
- List<PjGoodsType> types = goodsDescType.list(goodsTypeLambdaQueryWrapper);
|
|
|
- if (CollectionUtils.isNotEmpty(types)) {
|
|
|
- List<String> typeStr = types.stream().map(PjGoodsType::getCname).collect(Collectors.toList());
|
|
|
- item.setGoodsTypeName(typeStr.toString().replace("[", "").replace("]", ""));
|
|
|
- }
|
|
|
+ List<PjGoodsType> pjGoodsTypeList = goodsDescType.list(goodsTypeLambdaQueryWrapper);
|
|
|
List<PjGoodsFiles> goodsFilesList = new ArrayList<>();
|
|
|
+ List<PjBrandFiles> pjBrandFilesList = new ArrayList<>();
|
|
|
+ List<Long> goodsId = list.getRecords().stream().map(PjGoodsDesc::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
+ List<Long> brandIds = list.getRecords().stream().map(PjGoodsDesc::getBrandId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
goodsFilesList = goodsFilesService.list(new LambdaQueryWrapper<PjGoodsFiles>()
|
|
|
.eq(PjGoodsFiles::getMainImage, 0)
|
|
|
- .eq(PjGoodsFiles::getPid, item.getId())
|
|
|
+ .in(PjGoodsFiles::getPid, goodsId)
|
|
|
.eq(PjGoodsFiles::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjGoodsFiles::getIsDeleted, 0));
|
|
|
- if (goodsFilesList.size() == 0 && ObjectUtils.isNotNull(item.getBrandId())) {
|
|
|
- goodsFilesList = BeanUtil.copy(brandFilesService.list(new LambdaQueryWrapper<PjBrandFiles>()
|
|
|
+ if (goodsFilesList.isEmpty()) {
|
|
|
+ pjBrandFilesList = brandFilesService.list(new LambdaQueryWrapper<PjBrandFiles>()
|
|
|
.eq(PjBrandFiles::getMainImage, 0)
|
|
|
- .eq(PjBrandFiles::getPid, item.getBrandId())
|
|
|
+ .in(PjBrandFiles::getPid, brandIds)
|
|
|
.eq(PjBrandFiles::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PjBrandFiles::getIsDeleted, 0)), PjGoodsFiles.class);
|
|
|
+ .eq(PjBrandFiles::getIsDeleted, 0));
|
|
|
+ }
|
|
|
+ for (PjGoodsDesc item : list.getRecords()) {
|
|
|
+ if (!pjProductLaunchList.isEmpty()) {
|
|
|
+ PjProductLaunch pjProductLaunch = pjProductLaunchList.stream().filter(e -> e.getGoodsId().equals(item.getId())).findFirst().orElse(new PjProductLaunch());
|
|
|
+ if ("售价1".equals(priceSystem)) {
|
|
|
+ item.setPrice(pjProductLaunch.getPriceOne());
|
|
|
+ } else if ("售价2".equals(priceSystem)) {
|
|
|
+ item.setPrice(pjProductLaunch.getPriceTwo());
|
|
|
+ } else if ("售价3".equals(priceSystem)) {
|
|
|
+ item.setPrice(pjProductLaunch.getPriceThree());
|
|
|
+ } else if ("售价4".equals(priceSystem)) {
|
|
|
+ item.setPrice(pjProductLaunch.getPriceFour());
|
|
|
+ }
|
|
|
+ item.setSharedCompanyId(pjProductLaunch.getSourceCompanyId());
|
|
|
+ item.setSharedCompanyName(pjProductLaunch.getSourceCompanyName());
|
|
|
+ item.setInventory(pjProductLaunch.getInventory());
|
|
|
+ }
|
|
|
+ String typeIds = item.getGoodsTypeId();
|
|
|
+ String[] typeIdsArry = typeIds.split(",");
|
|
|
+ List<String> typeList = Arrays.asList(typeIdsArry);
|
|
|
+ List<PjGoodsType> types = pjGoodsTypeList.stream().filter(e-> typeList.contains(e.getId()+"")).collect(Collectors.toList());
|
|
|
+ if (CollectionUtils.isNotEmpty(types)) {
|
|
|
+ List<String> typeStr = types.stream().map(PjGoodsType::getCname).collect(Collectors.toList());
|
|
|
+ item.setGoodsTypeName(typeStr.toString().replace("[", "").replace("]", ""));
|
|
|
+ }
|
|
|
+ List<PjGoodsFiles> goodsFilesList1 = new ArrayList<>();
|
|
|
+ goodsFilesList1 = goodsFilesList.stream().filter(e-> e.getPid().equals(item.getId())).collect(Collectors.toList());
|
|
|
+ if (goodsFilesList1.isEmpty() && ObjectUtils.isNotNull(item.getBrandId())) {
|
|
|
+ goodsFilesList1 = BeanUtil.copy(pjBrandFilesList.stream().filter(e->e.getPid().equals(item.getBrandId())).collect(Collectors.toList()), PjGoodsFiles.class);
|
|
|
+ }
|
|
|
+ item.setGoodsFilesList(goodsFilesList1);
|
|
|
}
|
|
|
- item.setGoodsFilesList(goodsFilesList);
|
|
|
}
|
|
|
return R.data(list);
|
|
|
}
|