Browse Source

订单调整

v1.0
Yen 2 years ago
parent
commit
8d07689c6e
  1. 5
      src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderSkuBo.java
  2. 53
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java

5
src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderSkuBo.java

@ -37,9 +37,14 @@ public class OmsOrderSkuBo {
@Data
public static class SpuParam{
/** skuId */
private Long spuId;
private Long skuId;
private Long skuCode;
/** 数量 */
private Integer qty;

53
src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java

@ -136,28 +136,40 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
//构建Sku
List<Long> spuIds = confirmOrder.getSpuParamList().stream()
.map(OmsOrderSkuBo.SpuParam::getSpuId).collect(Collectors.toList());
//构建Sku
List<Long> skuIds = confirmOrder.getSpuParamList().stream()
.map(OmsOrderSkuBo.SpuParam::getSkuId).collect(Collectors.toList());
//防止空指针
spuIds.add(0L);
skuIds.add(0L);
List<GoodsSpu> spuList = goodsSpuService.listByIds(spuIds);
List<GoodsSku> skuList = goodsSkuService.listByIds(skuIds);
//通过当前函数获取当前账套对于的skuID,默认全部转化为开平(001)的sku
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_PlaCE,spuCodeList);
Map<String,String> spuGetSkuMap = new HashMap<>(spuToSkuKeys.size());
for (OmsSpuToSkuKey toSkuKey : spuToSkuKeys) {
spuGetSkuMap.put(toSkuKey.getSkuCode(),toSkuKey.getInvCode());
}
// 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_PlaCE,spuCodeList);
// Map<String,String> spuGetSkuMap = new HashMap<>(spuToSkuKeys.size());
// for (OmsSpuToSkuKey toSkuKey : spuToSkuKeys) {
// spuGetSkuMap.put(toSkuKey.getSkuCode(),toSkuKey.getInvCode());
// }
//构建临时购物车列表
List<OmsShoppingCart> shoppingCartList = new ArrayList<>();
for (GoodsSpu goodsSpu : spuList) {
String skuCode = spuGetSkuMap.get(goodsSpu.getSpuCode());
GoodsSku goodsSku = goodsSkuService.getByCode(skuCode);
for (GoodsSku goodsSku : skuList) {
GoodsSpu goodsSpu = null;
for (GoodsSpu spu : spuList) {
if(goodsSku.getSpuId().equals(spu.getId())){
goodsSpu = spu;
}
}
if(goodsSku==null){
Assert.throwEx("商品档案有更新,请刷新页面再试");
}
OmsShoppingCart shoppingCart = new OmsShoppingCart();
shoppingCart.setSpuId(goodsSpu.getId());
shoppingCart.setSpuCode(goodsSpu.getSpuCode());
@ -277,11 +289,11 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
orderItem.setSpuId(goodsSpu.getId());
orderItem.setSpuCode(goodsSpu.getSpuCode());
orderItem.setSpuTitle(goodsSpu.getName());
orderItem.setSkuTitle(goodsSku.getSkuName());
orderItem.setWeight(modifyItem.getWeight());
orderItem.setVolume(modifyItem.getVolume());
if(goodsSku!=null){
orderItem.setSkuId(goodsSku.getId());
orderItem.setSkuTitle(goodsSku.getSkuName());
orderItem.setSkuCode(goodsSku.getSkuCode());
orderItem.setSpecValues(goodsSku.getSpecInfos());
orderItem.setSkuUnit(goodsSku.getUnitName());
@ -393,19 +405,22 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
orderItem.setVolume(shoppingCart.getVolume());
if(confirmOrder.getLatitudeFrom()!=null&&confirmOrder.getLatitudeFrom().equals("SPU")){
// spu维度
GoodsSku goodsSku = goodsSkuService.getByCode(orderItem.getSkuCode());
GoodsSku goodsSku = goodsSkuService.getById(shoppingCart.getSkuId());
orderItem.setSpuId(shoppingCart.getSpuId());
orderItem.setSpuTitle(shoppingCart.getSpecInfo());
orderItem.setSkuTitle(goodsSku.getSkuName());
orderItem.setSkuId(shoppingCart.getId());
orderItem.setSkuCode(shoppingCart.getSkuCode());
orderItem.setSkuUnit(null);
orderItem.setSkuImg(shoppingCart.getPicUrl());
orderItem.setSpecValues(shoppingCart.getSpecInfo());
orderItem.setSpuCode(shoppingCart.getSpuCode());
orderItem.setMarketPrice(goodsSku.getMarketPrice());
orderItem.setSalesPrice(goodsSku.getSalesPrice());
orderItem.setCusPrice(goodsSku.getSalesPrice());
if(goodsSku!=null){
log.warn("shoppingCart json =>"+JsonUtil.objectToJson(shoppingCart));
orderItem.setSkuTitle(goodsSku.getSkuName());
orderItem.setMarketPrice(goodsSku.getMarketPrice());
orderItem.setSalesPrice(goodsSku.getSalesPrice());
orderItem.setCusPrice(goodsSku.getSalesPrice());
}
}else {
// 默认sku
GoodSkuVo goodSkuVo = shoppingCart.getGoodSkuVo();

Loading…
Cancel
Save