|
@@ -26,6 +26,7 @@ import com.yonge.cooleshow.portal.dao.PortalOrderDao;
|
|
|
import com.yonge.cooleshow.portal.dao.PortalOrderItemDao;
|
|
|
import com.yonge.cooleshow.portal.dao.PortalProductDao;
|
|
|
import com.yonge.cooleshow.portal.domain.*;
|
|
|
+import com.yonge.cooleshow.portal.dto.OrderCreate;
|
|
|
import com.yonge.cooleshow.portal.dto.StockOperateModel;
|
|
|
import com.yonge.cooleshow.portal.service.*;
|
|
|
import org.redisson.api.RedissonClient;
|
|
@@ -101,6 +102,8 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
@Autowired
|
|
|
private UserOrderPaymentService userOrderPaymentService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private UmsMemberService umsMemberService;
|
|
|
|
|
|
@Autowired
|
|
|
private PortalProductDao productDao;
|
|
@@ -1434,4 +1437,108 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
return calcAmount;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public void mecProductOrderCreate(OrderCreate order) {
|
|
|
+
|
|
|
+
|
|
|
+ // 查询订单是否已存在
|
|
|
+ OmsOrder detail = orderMapper.getByOrderSn(order.getOrderNo());
|
|
|
+ if (detail != null) {
|
|
|
+ throw new BizException("订单已存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ UmsMember umsMember = umsMemberService.getById(order.getMemberId());
|
|
|
+
|
|
|
+
|
|
|
+ // 创建订单
|
|
|
+
|
|
|
+ //设置自动收货天数
|
|
|
+ List<OmsOrderSetting> orderSettings = orderSettingMapper.selectByExample(new OmsOrderSettingExample());
|
|
|
+
|
|
|
+
|
|
|
+ detail = new OmsOrder();
|
|
|
+ detail.setMemberId(order.getMemberId());
|
|
|
+ detail.setPlatformType(order.getPlatformType());
|
|
|
+ detail.setOrderSn(order.getOrderNo());
|
|
|
+ detail.setCreateTime(new Date());
|
|
|
+ if (umsMember !=null) {
|
|
|
+ detail.setMemberUsername(umsMember.getUsername());
|
|
|
+ }
|
|
|
+ detail.setTotalAmount(order.getTotalAmount());
|
|
|
+ detail.setPayAmount(order.getTotalAmount());
|
|
|
+ detail.setFreightAmount(BigDecimal.ZERO);
|
|
|
+ detail.setPromotionAmount(BigDecimal.ZERO);
|
|
|
+ detail.setIntegrationAmount(BigDecimal.ZERO);
|
|
|
+ detail.setCouponAmount(BigDecimal.ZERO);
|
|
|
+ detail.setDiscountAmount(BigDecimal.ZERO);
|
|
|
+ detail.setPayType(order.getPayType());
|
|
|
+ detail.setConfirmStatus(0);
|
|
|
+ detail.setSourceType(1);
|
|
|
+ detail.setStatus(1);
|
|
|
+ detail.setOrderType(0);
|
|
|
+ if (CollUtil.isNotEmpty(orderSettings)) {
|
|
|
+ detail.setAutoConfirmDay(orderSettings.get(0).getConfirmOvertime());
|
|
|
+ }
|
|
|
+ detail.setReceiverName(order.getReceiverName());
|
|
|
+ detail.setReceiverPhone(order.getReceiverPhone());
|
|
|
+ detail.setReceiverPostCode(order.getReceiverPostCode());
|
|
|
+ detail.setReceiverProvince(order.getReceiverProvince());
|
|
|
+ detail.setReceiverCity(order.getReceiverCity());
|
|
|
+ detail.setReceiverRegion(order.getReceiverRegion());
|
|
|
+ detail.setReceiverDetailAddress(order.getReceiverDetailAddress());
|
|
|
+ detail.setDeleteStatus(0);
|
|
|
+ detail.setPaymentTime(new Date());
|
|
|
+ detail.setAfterSale(1);
|
|
|
+ detail.setModifyTime(new Date());
|
|
|
+ orderMapper.insert(detail);
|
|
|
+
|
|
|
+ List<OmsOrderItem> orderItemList = new ArrayList<>();
|
|
|
+ // 创建订单详情
|
|
|
+ for (OrderCreate.OrderItem orderItem : order.getOrderItemList()) {
|
|
|
+
|
|
|
+ // 获取商品信息
|
|
|
+ PmsSkuStock pmsSkuStock = skuStockMapper.selectByPrimaryKey(orderItem.getProductSkuId());
|
|
|
+ if (pmsSkuStock == null) {
|
|
|
+ throw new BizException("商品规格不存在");
|
|
|
+ }
|
|
|
+ PmsProduct pmsProduct = pmsProductMapper.selectByPrimaryKey(pmsSkuStock.getProductId());
|
|
|
+
|
|
|
+ if (pmsProduct == null) {
|
|
|
+ throw new BizException("商品不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ OmsOrderItem omsOrderItem = new OmsOrderItem();
|
|
|
+ omsOrderItem.setOrderId(detail.getId());
|
|
|
+ omsOrderItem.setOrderSn(detail.getOrderSn());
|
|
|
+ omsOrderItem.setProductId(pmsProduct.getId());
|
|
|
+ omsOrderItem.setProductPic(pmsProduct.getPic());
|
|
|
+ omsOrderItem.setProductName(pmsProduct.getName());
|
|
|
+ omsOrderItem.setProductBrand(pmsProduct.getBrandName());
|
|
|
+ omsOrderItem.setProductPrice(pmsProduct.getPrice());
|
|
|
+ omsOrderItem.setProductQuantity(1);
|
|
|
+ omsOrderItem.setProductSkuId(pmsSkuStock.getId());
|
|
|
+ omsOrderItem.setProductSkuCode(pmsSkuStock.getSkuCode());
|
|
|
+ omsOrderItem.setProductCategoryId(pmsProduct.getProductCategoryId());
|
|
|
+ omsOrderItem.setPromotionAmount(BigDecimal.ZERO);
|
|
|
+ omsOrderItem.setCouponAmount(BigDecimal.ZERO);
|
|
|
+ omsOrderItem.setIntegrationAmount(BigDecimal.ZERO);
|
|
|
+ omsOrderItem.setRealAmount(orderItem.getRealAmount());
|
|
|
+ omsOrderItem.setProductAttr(pmsSkuStock.getSpData());
|
|
|
+ omsOrderItem.setReturnStatus(-1);
|
|
|
+
|
|
|
+ orderItemList.add(omsOrderItem);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 保存数据
|
|
|
+ if (!CollectionUtils.isEmpty(orderItemList)) {
|
|
|
+ orderItemDao.insertList(orderItemList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
}
|