|
@@ -5,7 +5,9 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.ruoyi.common.constant.StatusConstant;
|
|
|
+import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
import com.sd.business.entity.bom.bo.BomBo;
|
|
|
+import com.sd.business.entity.bom.po.BomSpec;
|
|
|
import com.sd.business.entity.department.po.Department;
|
|
|
import com.sd.business.entity.order.enums.OrderStatusEnum;
|
|
|
import com.sd.business.entity.order.po.OrderInfo;
|
|
@@ -15,6 +17,7 @@ import com.sd.business.entity.order.po.OrderSkuBom;
|
|
|
import com.sd.business.entity.price.po.PriceBillingStandardDetail;
|
|
|
import com.sd.business.entity.sku.po.SkuSpec;
|
|
|
import com.sd.business.entity.sku.po.SkuSpecLink;
|
|
|
+import com.sd.business.service.bom.BomSpecService;
|
|
|
import com.sd.business.service.order.OrderPackageBomService;
|
|
|
import com.sd.business.service.order.OrderService;
|
|
|
import com.sd.business.service.order.OrderSkuBomService;
|
|
@@ -62,6 +65,9 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
@Autowired
|
|
|
private SkuSpecLinkService skuSpecLinkService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private BomSpecService bomSpecService;
|
|
|
+
|
|
|
@Override
|
|
|
public void syncOrder() {
|
|
|
|
|
@@ -237,8 +243,8 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
Map<Long, List<SkuSpecLink>> skuSpecLinkMap = list.stream().collect(Collectors.groupingBy(SkuSpecLink::getSkuSpecId));
|
|
|
|
|
|
// 根据sku规格id获取bomId和bom规格id
|
|
|
- List<Long> skuSpecIdList = list.stream().map(SkuSpecLink::getSkuSpecId).distinct().collect(Collectors.toList());
|
|
|
- Map<Long, BomBo> bomBoMap = skuSpecService.getBomBySkuSpecIdList(skuSpecIdList);
|
|
|
+ List<Long> bomSpecIdList = list.stream().map(SkuSpecLink::getBomSpecId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
+ Map<Long, BomSpec> map = bomSpecService.mapKEntity(BaseIdPo::getId, q -> q.in(BaseIdPo::getId, bomSpecIdList));
|
|
|
|
|
|
return orderSkuList.stream().flatMap(orderSku -> {
|
|
|
|
|
@@ -253,11 +259,11 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
orderSkuBom.setBomSpecId(item.getBomSpecId());
|
|
|
orderSkuBom.setQuantity(item.getQuantity());
|
|
|
|
|
|
- BomBo bomBo = bomBoMap.get(item.getBomSpecId());
|
|
|
- if (bomBo == null) {
|
|
|
+ BomSpec bomSpec = map.get(item.getBomSpecId());
|
|
|
+ if (bomSpec == null) {
|
|
|
orderSkuBom.setUnitPrice(BigDecimal.ZERO);
|
|
|
} else {
|
|
|
- orderSkuBom.setUnitPrice(ObjectUtil.defaultIfNull(bomBo.getInternalSellingPrice(), BigDecimal.ZERO));
|
|
|
+ orderSkuBom.setUnitPrice(ObjectUtil.defaultIfNull(bomSpec.getInternalSellingPrice(), BigDecimal.ZERO));
|
|
|
}
|
|
|
|
|
|
return orderSkuBom;
|