|
@@ -6,12 +6,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
import com.sd.business.entity.artwork.po.ArtworkLibrary;
|
|
|
+import com.sd.business.entity.bom.po.BomSpec;
|
|
|
import com.sd.business.entity.sku.dto.SkuDto;
|
|
|
import com.sd.business.entity.sku.dto.SkuSelectDto;
|
|
|
import com.sd.business.entity.sku.dto.SkuSpecDto;
|
|
|
import com.sd.business.entity.sku.po.Sku;
|
|
|
import com.sd.business.entity.sku.po.SkuSpec;
|
|
|
import com.sd.business.entity.sku.po.SkuSpecLink;
|
|
|
+import com.sd.business.entity.sku.vo.SkuSpecLinkVo;
|
|
|
import com.sd.business.entity.sku.vo.SkuSpecVo;
|
|
|
import com.sd.business.entity.sku.vo.SkuVo;
|
|
|
import com.sd.business.mapper.sku.SkuMapper;
|
|
@@ -106,16 +108,38 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements SkuSe
|
|
|
.selectAll(SkuSpec.class)
|
|
|
.selectAs(ArtworkLibrary::getImgUrl, SkuSpecVo::getDesignImgUrl)
|
|
|
.selectAs(ArtworkLibrary::getFileUrl, SkuSpecVo::getSharedFolder)
|
|
|
- .from(SkuSpecVo.class)
|
|
|
+ .selectAs(BomSpec::getCode, SkuSpecVo::getBomSpecCode)
|
|
|
+ .selectAs(BomSpec::getName, SkuSpecVo::getBomSpecName)
|
|
|
+
|
|
|
+ .from(SkuSpec.class)
|
|
|
.leftJoin(ArtworkLibrary.class, ArtworkLibrary::getId, SkuSpec::getArtworkLibraryId)
|
|
|
+ .leftJoin(BomSpec.class, BaseIdPo::getId, SkuSpec::getBomSpecId)
|
|
|
+
|
|
|
.eq(SkuSpec::getSkuId, id)
|
|
|
.list();
|
|
|
vo.setSkuSpecList(skuSpecList);
|
|
|
|
|
|
// 复制包材和快递包材
|
|
|
- //Sql.create(SkuSpecLinkVo.class)
|
|
|
- // .selectAll(SkuSpecLink.class)
|
|
|
- // .selectAs()
|
|
|
+ Map<Long, Map<Integer, List<SkuSpecLinkVo>>> map = Sql.create(SkuSpecLinkVo.class)
|
|
|
+ .selectAll(SkuSpecLink.class)
|
|
|
+ .selectAs(BomSpec::getCode, SkuSpecLinkVo::getBomSpecCode)
|
|
|
+ .selectAs(BomSpec::getName, SkuSpecLinkVo::getBomSpecName)
|
|
|
+
|
|
|
+ .from(SkuSpecLink.class)
|
|
|
+ .leftJoin(BomSpec.class, BomSpec::getId, SkuSpecLink::getBomSpecId)
|
|
|
+
|
|
|
+ .eq(SkuSpecLink::getSkuId, id)
|
|
|
+ .list()
|
|
|
+
|
|
|
+ .stream()
|
|
|
+ .collect(Collectors.groupingBy(SkuSpecLink::getSkuSpecId, Collectors.groupingBy(SkuSpecLink::getType)));
|
|
|
+
|
|
|
+ for (SkuSpecVo skuSpecVo : skuSpecList) {
|
|
|
+ Map<Integer, List<SkuSpecLinkVo>> typeSkuSpecLinkMap = map.getOrDefault(skuSpecVo.getId(), Collections.emptyMap());
|
|
|
+
|
|
|
+ skuSpecVo.setPackagingMaterialList(typeSkuSpecLinkMap.getOrDefault(1, Collections.emptyList()));
|
|
|
+ skuSpecVo.setExpressPackingList(typeSkuSpecLinkMap.getOrDefault(2, Collections.emptyList()));
|
|
|
+ }
|
|
|
|
|
|
return vo;
|
|
|
}
|