|
@@ -1,8 +1,11 @@
|
|
package com.yonge.cooleshow.admin.service.impl;
|
|
package com.yonge.cooleshow.admin.service.impl;
|
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
+import com.ym.mec.common.entity.GoodsSubStockModel;
|
|
|
|
+import com.ym.mec.common.entity.HttpResponseResult;
|
|
import com.ym.mec.common.exception.BizException;
|
|
import com.ym.mec.common.exception.BizException;
|
|
import com.ym.mec.util.date.DateUtil;
|
|
import com.ym.mec.util.date.DateUtil;
|
|
|
|
+import com.ym.mec.web.WebFeignService;
|
|
import com.yonge.cooleshow.admin.dao.OmsOrderDao;
|
|
import com.yonge.cooleshow.admin.dao.OmsOrderDao;
|
|
import com.yonge.cooleshow.admin.dao.OmsOrderOperateHistoryDao;
|
|
import com.yonge.cooleshow.admin.dao.OmsOrderOperateHistoryDao;
|
|
import com.yonge.cooleshow.admin.dao.PmsProductSkuStockRecordDao;
|
|
import com.yonge.cooleshow.admin.dao.PmsProductSkuStockRecordDao;
|
|
@@ -11,6 +14,7 @@ import com.yonge.cooleshow.admin.dto.search.OrderStatisticalSearch;
|
|
import com.yonge.cooleshow.admin.dto.search.UserStatisticalSearch;
|
|
import com.yonge.cooleshow.admin.dto.search.UserStatisticalSearch;
|
|
import com.yonge.cooleshow.admin.service.OmsOrderReturnApplyService;
|
|
import com.yonge.cooleshow.admin.service.OmsOrderReturnApplyService;
|
|
import com.yonge.cooleshow.admin.service.PmsProductService;
|
|
import com.yonge.cooleshow.admin.service.PmsProductService;
|
|
|
|
+import com.yonge.cooleshow.admin.service.PmsSkuStockService;
|
|
import com.yonge.cooleshow.mbg.mapper.OmsOrderItemMapper;
|
|
import com.yonge.cooleshow.mbg.mapper.OmsOrderItemMapper;
|
|
import com.yonge.cooleshow.mbg.mapper.OmsOrderMapper;
|
|
import com.yonge.cooleshow.mbg.mapper.OmsOrderMapper;
|
|
import com.yonge.cooleshow.mbg.mapper.OmsOrderOperateHistoryMapper;
|
|
import com.yonge.cooleshow.mbg.mapper.OmsOrderOperateHistoryMapper;
|
|
@@ -62,6 +66,12 @@ public class OmsOrderServiceImpl implements OmsOrderService {
|
|
@Autowired
|
|
@Autowired
|
|
private PmsProductSkuStockRecordMapper pmsProductSkuStockRecordMapper;
|
|
private PmsProductSkuStockRecordMapper pmsProductSkuStockRecordMapper;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private WebFeignService webFeignService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private PmsSkuStockService pmsSkuStockService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<OrderVo> list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum) {
|
|
public List<OrderVo> list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum) {
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
@@ -183,6 +193,32 @@ public class OmsOrderServiceImpl implements OmsOrderService {
|
|
return history;
|
|
return history;
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
orderOperateHistoryDao.insertList(operateHistoryList);
|
|
orderOperateHistoryDao.insertList(operateHistoryList);
|
|
|
|
+
|
|
|
|
+ // 调用三方发货通知接口
|
|
|
|
+ OmsOrderExample orderExample = new OmsOrderExample();
|
|
|
|
+ orderExample.createCriteria().andIdIn(orderIds);
|
|
|
|
+ List<OmsOrder> omsOrders = orderMapper.selectByExample(orderExample);
|
|
|
|
+ // 订单号
|
|
|
|
+ List<String> orderSnList = omsOrders.stream().map(OmsOrder::getOrderSn).collect(Collectors.toList());
|
|
|
|
+ HttpResponseResult httpResponseResult = webFeignService.updateShippedStatus(orderSnList);
|
|
|
|
+ if (httpResponseResult.getCode() != 200 && !httpResponseResult.getStatus()) {
|
|
|
|
+ throw new BizException("发货通知失败");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 调用三方库存更新接口
|
|
|
|
+ Map<Long, PmsSkuStock> skuStockMap = pmsSkuStockService.getMapByIds(skuIds);
|
|
|
|
+ List<GoodsSubStockModel> modelList = skuStockMap.values().stream().map(skuStock -> {
|
|
|
|
+ GoodsSubStockModel stockModel = new GoodsSubStockModel();
|
|
|
|
+ stockModel.setMallGoodsId(skuStock.getProductId().intValue());
|
|
|
|
+ stockModel.setSku(skuStock.getId().intValue());
|
|
|
|
+ stockModel.setStock(skuStock.getStock());
|
|
|
|
+ return stockModel;
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ HttpResponseResult<Boolean> booleanHttpResponseResult = webFeignService.goodsStockCountSynchronize(modelList);
|
|
|
|
+ if (booleanHttpResponseResult.getCode() != 200 && !booleanHttpResponseResult.getStatus()) {
|
|
|
|
+ throw new BizException("库存同步失败");
|
|
|
|
+ }
|
|
|
|
+
|
|
return count;
|
|
return count;
|
|
}
|
|
}
|
|
|
|
|