|
|
@ -3,6 +3,7 @@ package com.qs.serve.modules.oms.service.impl; |
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
|
import com.qs.serve.common.util.AuthContextUtils; |
|
|
|
import com.qs.serve.common.util.CollectionUtil; |
|
|
|
import com.qs.serve.common.util.StringUtils; |
|
|
|
import com.qs.serve.modules.bms.entity.BmsSupplier; |
|
|
|
import com.qs.serve.modules.bms.entity.BmsSupplierAddress; |
|
|
|
import com.qs.serve.modules.bms.service.BmsSupplierAddressService; |
|
|
@ -10,12 +11,14 @@ import com.qs.serve.modules.goods.entity.GoodsSku; |
|
|
|
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo; |
|
|
|
import com.qs.serve.modules.goods.service.GoodsSkuService; |
|
|
|
import com.qs.serve.modules.goods.service.GoodsSpuService; |
|
|
|
import com.qs.serve.modules.oms.entity.OmsOrderItem; |
|
|
|
import com.qs.serve.modules.oms.entity.OmsShoppingCart; |
|
|
|
import com.qs.serve.modules.oms.entity.bo.OmsOrderBo; |
|
|
|
import com.qs.serve.modules.oms.entity.bo.OmsOrderBo.*; |
|
|
|
import com.qs.serve.modules.oms.entity.dto.OmsCalcAmount; |
|
|
|
import com.qs.serve.modules.oms.entity.dto.ShoppingCartsCheckResult; |
|
|
|
import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderResult; |
|
|
|
import com.qs.serve.modules.oms.service.OmsOrderItemService; |
|
|
|
import com.qs.serve.modules.oms.service.OmsShoppingCartService; |
|
|
|
import com.qs.serve.modules.sys.entity.SysUser; |
|
|
|
import com.qs.serve.modules.sys.service.SysUserService; |
|
|
@ -28,6 +31,7 @@ import com.qs.serve.modules.oms.mapper.OmsOrderMapper; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
@ -46,6 +50,7 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im |
|
|
|
private GoodsSpuService goodsSpuService; |
|
|
|
private BmsSupplierAddressService bmsSupplierAddressService; |
|
|
|
private SysUserService sysUserService; |
|
|
|
private OmsOrderItemService omsOrderItemService; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@ -71,13 +76,11 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im |
|
|
|
OmsCalcAmount calcAmount = new OmsCalcAmount(); |
|
|
|
BigDecimal totalAmount = BigDecimal.ZERO; |
|
|
|
for (OmsShoppingCart shoppingCart : shoppingCarts) { |
|
|
|
BigDecimal salePrice = null; |
|
|
|
for (GoodSkuVo goodSkuVo : cartsCheckResult.getGoodsSkus()) { |
|
|
|
if(shoppingCart.getSkuId().equals(goodSkuVo.getId())){ |
|
|
|
salePrice = goodSkuVo.getSalesPrice(); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
GoodSkuVo goodSkuVo = shoppingCart.getGoodSkuVo(); |
|
|
|
//todo 客户特殊价
|
|
|
|
BigDecimal salePrice = goodSkuVo.getSalesPrice(); |
|
|
|
shoppingCart.setSupplierSalesPrice(salePrice); |
|
|
|
|
|
|
|
BigDecimal itemPrice = new BigDecimal(shoppingCart.getQuantity()).multiply(salePrice); |
|
|
|
shoppingCart.setItemSaleAmount(itemPrice); |
|
|
|
totalAmount.add(itemPrice); |
|
|
@ -103,9 +106,9 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im |
|
|
|
SysUser user = sysUserService.getById(AuthContextUtils.getSysUserId()); |
|
|
|
BmsSupplier supplier = confirmOrder.getSupplier(); |
|
|
|
BmsSupplierAddress address = confirmOrder.getDefaultAddress(); |
|
|
|
List<GoodSkuVo> goodSkuVos = confirmOrder.getCartsCheckResult().getGoodsSkus(); |
|
|
|
List<OmsShoppingCart> shoppingCarts = confirmOrder.getShoppingCarts(); |
|
|
|
OmsOrder order = new OmsOrder(); |
|
|
|
order.setOrderSn(""); |
|
|
|
order.setOrderSn(StringUtils.generateOrderNo()); |
|
|
|
order.setSupplierId(Long.parseLong(supplier.getId())); |
|
|
|
order.setSupplierCode(supplier.getCode()); |
|
|
|
order.setSupplierName(supplier.getName()); |
|
|
@ -119,7 +122,27 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im |
|
|
|
order.setUrgentFlag(createOrderParam.getUrgentFlag()); |
|
|
|
} |
|
|
|
this.save(order); |
|
|
|
|
|
|
|
List<OmsOrderItem> orderItems = new ArrayList<>(); |
|
|
|
for (OmsShoppingCart shoppingCart : shoppingCarts) { |
|
|
|
GoodSkuVo goodSkuVo = shoppingCart.getGoodSkuVo(); |
|
|
|
OmsOrderItem orderItem = new OmsOrderItem(); |
|
|
|
orderItem.setOrderId(order.getId()); |
|
|
|
orderItem.setOrderSn(order.getOrderSn()); |
|
|
|
orderItem.setSpuId(goodSkuVo.getSpuId()); |
|
|
|
orderItem.setSpuCode(goodSkuVo.getSpuCode()); |
|
|
|
orderItem.setSpuTitle(goodSkuVo.getName()); |
|
|
|
orderItem.setSkuId(goodSkuVo.getId()); |
|
|
|
orderItem.setSkuCode(goodSkuVo.getSkuCode()); |
|
|
|
orderItem.setSkuUnit(goodSkuVo.getUnitName()); |
|
|
|
orderItem.setSkuImg(goodSkuVo.getPicUrl()); |
|
|
|
orderItem.setSpecValues(goodSkuVo.getSpecInfos()); |
|
|
|
orderItem.setQuantity(shoppingCart.getQuantity()); |
|
|
|
orderItem.setMarketPrice(goodSkuVo.getMarketPrice()); |
|
|
|
orderItem.setSalesPrice(goodSkuVo.getSalesPrice()); |
|
|
|
orderItem.setCusPrice(shoppingCart.getSupplierSalesPrice()); |
|
|
|
orderItems.add(orderItem); |
|
|
|
} |
|
|
|
omsOrderItemService.saveBatch(orderItems); |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|