|
@ -2,6 +2,7 @@ package com.qs.serve.modules.oms.service.impl; |
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
|
|
|
import com.qs.serve.common.config.properties.ProjectApisProperties; |
|
|
import com.qs.serve.common.util.*; |
|
|
import com.qs.serve.common.util.*; |
|
|
import com.qs.serve.modules.bms.entity.BmsRegion; |
|
|
import com.qs.serve.modules.bms.entity.BmsRegion; |
|
|
import com.qs.serve.modules.bms.entity.BmsSupplier; |
|
|
import com.qs.serve.modules.bms.entity.BmsSupplier; |
|
@ -9,6 +10,7 @@ import com.qs.serve.modules.bms.entity.BmsSupplierAddress; |
|
|
import com.qs.serve.modules.bms.mapper.BmsRegionMapper; |
|
|
import com.qs.serve.modules.bms.mapper.BmsRegionMapper; |
|
|
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; |
|
|
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; |
|
|
import com.qs.serve.modules.bms.service.BmsSupplierAddressService; |
|
|
import com.qs.serve.modules.bms.service.BmsSupplierAddressService; |
|
|
|
|
|
import com.qs.serve.modules.goods.common.GoodsConst; |
|
|
import com.qs.serve.modules.goods.entity.GoodsCategoryRule; |
|
|
import com.qs.serve.modules.goods.entity.GoodsCategoryRule; |
|
|
import com.qs.serve.modules.goods.entity.GoodsSku; |
|
|
import com.qs.serve.modules.goods.entity.GoodsSku; |
|
|
import com.qs.serve.modules.goods.entity.GoodsSpu; |
|
|
import com.qs.serve.modules.goods.entity.GoodsSpu; |
|
@ -209,6 +211,20 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im |
|
|
order.setUrgentFlag(param.getUrgentFlag()); |
|
|
order.setUrgentFlag(param.getUrgentFlag()); |
|
|
order.setRemark(param.getRemark()); |
|
|
order.setRemark(param.getRemark()); |
|
|
|
|
|
|
|
|
|
|
|
//通过当前函数获取当前账套对于的skuID,默认全部转化为开平(001)的sku
|
|
|
|
|
|
List<Long> spuIds = param.getOrderItems().stream().map(OmsOrderModifyParam.OmsOrderItemModifyBo::getSpuId).collect(Collectors.toList()); |
|
|
|
|
|
List<GoodsSpu> spuList = goodsSpuService.listByIds(spuIds); |
|
|
|
|
|
Map<Long,GoodsSpu> goodsSpuMap = new HashMap<>(spuList.size()); |
|
|
|
|
|
for (GoodsSpu goodsSpu : spuList) { |
|
|
|
|
|
goodsSpuMap.put(goodsSpu.getId(),goodsSpu); |
|
|
|
|
|
} |
|
|
|
|
|
List<String> spuCodeList = spuList.stream().map(GoodsSpu::getSpuCode).collect(Collectors.toList()); |
|
|
|
|
|
List<OmsSpuToSkuKey> spuToSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_BOOK,spuCodeList); |
|
|
|
|
|
Map<String,String> spuGetSkuMap = new HashMap<>(spuToSkuKeys.size()); |
|
|
|
|
|
for (OmsSpuToSkuKey toSkuKey : spuToSkuKeys) { |
|
|
|
|
|
spuGetSkuMap.put(toSkuKey.getSpuCode(),toSkuKey.getSkuCode()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
//构建新的item
|
|
|
//构建新的item
|
|
|
List<OmsOrderItem> newOrderItemList = new ArrayList<>(); |
|
|
List<OmsOrderItem> newOrderItemList = new ArrayList<>(); |
|
|
List<OmsOrderModifyParam.OmsOrderItemModifyBo> orderModifyItems = param.getOrderItems(); |
|
|
List<OmsOrderModifyParam.OmsOrderItemModifyBo> orderModifyItems = param.getOrderItems(); |
|
@ -221,7 +237,10 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im |
|
|
goodsSpu = goodsSpuService.getById(goodsSku.getSpuId()); |
|
|
goodsSpu = goodsSpuService.getById(goodsSku.getSpuId()); |
|
|
}else { |
|
|
}else { |
|
|
//PC下单
|
|
|
//PC下单
|
|
|
goodsSpu = goodsSpuService.getById(modifyItem.getSpuId()); |
|
|
//goodsSpu = goodsSpuService.getById(modifyItem.getSpuId());
|
|
|
|
|
|
goodsSpu = goodsSpuMap.get(modifyItem.getSpuId()); |
|
|
|
|
|
String skuCode = spuGetSkuMap.get(goodsSpu.getSpuCode()); |
|
|
|
|
|
goodsSku = goodsSkuService.getByCode(skuCode); |
|
|
} |
|
|
} |
|
|
OmsOrderItem orderItem = new OmsOrderItem(); |
|
|
OmsOrderItem orderItem = new OmsOrderItem(); |
|
|
orderItem.setOrderId(order.getId()); |
|
|
orderItem.setOrderId(order.getId()); |
|
@ -401,36 +420,11 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im |
|
|
List<OmsOrderItem> orderItemList = omsOrderItemService.list(iteLqw); |
|
|
List<OmsOrderItem> orderItemList = omsOrderItemService.list(iteLqw); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<Long> spuIds = orderItemList.stream().map(OmsOrderItem::getSpuId).collect(Collectors.toList()); |
|
|
//List<Long> spuIds = orderItemList.stream().map(OmsOrderItem::getSpuId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
//通过当前函数获取当前账套对于的skuID,默认全部转化为开平的sku
|
|
|
|
|
|
List<OmsSpuToSkuKey> spuToSkuKeys = this.getSpuToSkuInfo("001",spuIds); |
|
|
|
|
|
|
|
|
|
|
|
for (OmsOrderItem orderItem : orderItemList) { |
|
|
|
|
|
if( orderItem.getSkuId()!=null && !orderItem.getSkuId().equals(0L) ){ |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
//设置订单的sku信息
|
|
|
|
|
|
GoodsSku goodsSku = null; |
|
|
|
|
|
for (OmsSpuToSkuKey toSkuKey : spuToSkuKeys) { |
|
|
|
|
|
if(orderItem.getSpuId().equals(toSkuKey.getSpuId())){ |
|
|
|
|
|
goodsSku = goodsSkuService.getById(toSkuKey.getSkuId()); |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if(goodsSku==null){ |
|
|
|
|
|
Assert.throwEx("未能匹配当前账号的产品信息:"+orderItem.getSpuCode()); |
|
|
|
|
|
}else { |
|
|
|
|
|
orderItem.setSkuId(goodsSku.getId()); |
|
|
|
|
|
orderItem.setSkuCode(goodsSku.getSkuCode()); |
|
|
|
|
|
orderItem.setSpecValues(goodsSku.getSpecInfos()); |
|
|
|
|
|
orderItem.setSalesPrice(goodsSku.getSalesPrice()); |
|
|
|
|
|
orderItem.setSalesPrice(goodsSku.getSalesPrice()); |
|
|
|
|
|
orderItem.setMarketPrice(goodsSku.getSalesPrice()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
//更新设置sku后的信息
|
|
|
//更新设置sku后的信息
|
|
|
omsOrderItemService.updateBatchById(orderItemList); |
|
|
//omsOrderItemService.updateBatchById(orderItemList);
|
|
|
|
|
|
|
|
|
//直接调用U8接口生成
|
|
|
//直接调用U8接口生成
|
|
|
//SysUser sysUser = sysUserService.getById(userId);
|
|
|
//SysUser sysUser = sysUserService.getById(userId);
|
|
@ -483,6 +477,7 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im |
|
|
for (OmsOrderItem orderItem : orderItemList) { |
|
|
for (OmsOrderItem orderItem : orderItemList) { |
|
|
OmsXltOrderItem xltOrderItem = new OmsXltOrderItem(); |
|
|
OmsXltOrderItem xltOrderItem = new OmsXltOrderItem(); |
|
|
xltOrderItem.setDingDanID(xltOrder.getId()); |
|
|
xltOrderItem.setDingDanID(xltOrder.getId()); |
|
|
|
|
|
xltOrderItem.setSpuCode(orderItem.getSpuCode()); |
|
|
xltOrderItem.setChanPinBianHao(orderItem.getSkuCode()); |
|
|
xltOrderItem.setChanPinBianHao(orderItem.getSkuCode()); |
|
|
xltOrderItem.setChanPinDanWei(orderItem.getSkuUnit()); |
|
|
xltOrderItem.setChanPinDanWei(orderItem.getSkuUnit()); |
|
|
xltOrderItem.setDingHuoShuLiang(orderItem.getQuantity()); |
|
|
xltOrderItem.setDingHuoShuLiang(orderItem.getQuantity()); |
|
@ -538,39 +533,5 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im |
|
|
offerOrder.setMakerName(sysUser.getName()); |
|
|
offerOrder.setMakerName(sysUser.getName()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* TODO: 根据账套,获取spuId对应的skuId |
|
|
|
|
|
* @param book 账套 |
|
|
|
|
|
* @param spuIds 嘉士利的SKU-CODE |
|
|
|
|
|
* @return 嘉士利的invCode |
|
|
|
|
|
*/ |
|
|
|
|
|
public List<OmsSpuToSkuKey> getSpuToSkuInfo(String book, List<Long> spuIds){ |
|
|
|
|
|
//TODO 测试数据
|
|
|
|
|
|
List<OmsSpuToSkuKey> rs = new ArrayList<>(); |
|
|
|
|
|
Long[] skuIds = {2315912284L, |
|
|
|
|
|
2315912286L, |
|
|
|
|
|
2315912287L, |
|
|
|
|
|
2315912288L, |
|
|
|
|
|
2315912289L, |
|
|
|
|
|
2315912290L, |
|
|
|
|
|
2315912291L, |
|
|
|
|
|
2315912292L, |
|
|
|
|
|
2315912293L, |
|
|
|
|
|
2315912294L, |
|
|
|
|
|
2315912295L, |
|
|
|
|
|
2315912296L, |
|
|
|
|
|
2315912297L, |
|
|
|
|
|
2315912298L, |
|
|
|
|
|
2315912300L,}; |
|
|
|
|
|
for (int i = 0; i < spuIds.size(); i++) { |
|
|
|
|
|
OmsSpuToSkuKey skuKey = new OmsSpuToSkuKey(); |
|
|
|
|
|
skuKey.setSpuId(spuIds.get(i)); |
|
|
|
|
|
skuKey.setSkuId(skuIds[i]); |
|
|
|
|
|
rs.add(skuKey); |
|
|
|
|
|
} |
|
|
|
|
|
return rs; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|