|
@@ -813,9 +813,9 @@ public class OmsOrderServiceImpl implements OmsOrderService {
|
|
if (detail == null) {
|
|
if (detail == null) {
|
|
throw new BizException("订单不存在");
|
|
throw new BizException("订单不存在");
|
|
}
|
|
}
|
|
- if (detail.getStatus() != 1 ) {
|
|
|
|
- throw new BizException("当前订单状态不允许修改");
|
|
|
|
- }
|
|
|
|
|
|
+// if (detail.getStatus() != 1 ) {
|
|
|
|
+// throw new BizException("当前订单状态不允许修改");
|
|
|
|
+// }
|
|
OmsOrder omsOrder = new OmsOrder();
|
|
OmsOrder omsOrder = new OmsOrder();
|
|
omsOrder.setId(detail.getId());
|
|
omsOrder.setId(detail.getId());
|
|
omsOrder.setStatus(status);
|
|
omsOrder.setStatus(status);
|
|
@@ -826,9 +826,9 @@ public class OmsOrderServiceImpl implements OmsOrderService {
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
|
|
- // 直接修改订单状态为完成
|
|
|
|
|
|
+ // 直接修改订单状态为完成/关闭
|
|
@Override
|
|
@Override
|
|
- @Transactional
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
public int updateStatus(OmsOrderWrapper.OrderStatusUpdate orderStatusUpdate) {
|
|
public int updateStatus(OmsOrderWrapper.OrderStatusUpdate orderStatusUpdate) {
|
|
|
|
|
|
|
|
|
|
@@ -843,34 +843,40 @@ public class OmsOrderServiceImpl implements OmsOrderService {
|
|
orderItemExample.createCriteria().andOrderIdIn(orderIds);
|
|
orderItemExample.createCriteria().andOrderIdIn(orderIds);
|
|
List<OmsOrderItem> omsOrderItems = omsOrderItemMapper.selectByExample(orderItemExample);
|
|
List<OmsOrderItem> omsOrderItems = omsOrderItemMapper.selectByExample(orderItemExample);
|
|
List<String> stockJsons = omsOrderItems.stream().map(OmsOrderItem::getStockJson)
|
|
List<String> stockJsons = omsOrderItems.stream().map(OmsOrderItem::getStockJson)
|
|
- .filter(o ->!StringUtils.isEmpty(o)).collect(Collectors.toList());
|
|
|
|
- List<OrderSkuSync.SkuSync> skuSyncList = new ArrayList<>();
|
|
|
|
- for (String stockJson : stockJsons) {
|
|
|
|
- List<OrderSkuSync.SkuSync> skuSyncs = JSON.parseArray(stockJson, OrderSkuSync.SkuSync.class);
|
|
|
|
- skuSyncList.addAll(skuSyncs);
|
|
|
|
- }
|
|
|
|
- Map<Long, Integer> internalMap = skuSyncList.stream().filter(o -> "INTERNAL".equals(o.getType()))
|
|
|
|
- .collect(Collectors.groupingBy(OrderSkuSync.SkuSync::getRecordId, Collectors.summingInt(OrderSkuSync.SkuSync::getCount)));
|
|
|
|
- Map<Long, Integer> taxMap = skuSyncList.stream().filter(o -> "TAX".equals(o.getType()))
|
|
|
|
- .collect(Collectors.groupingBy(OrderSkuSync.SkuSync::getRecordId, Collectors.summingInt(OrderSkuSync.SkuSync::getCount)));
|
|
|
|
- List<PmsProductSkuStockRecord> updateList = new ArrayList<>();
|
|
|
|
- for (Map.Entry<Long, Integer> entry : internalMap.entrySet()) {
|
|
|
|
- PmsProductSkuStockRecord skuStockRecord = new PmsProductSkuStockRecord();
|
|
|
|
- skuStockRecord.setId(entry.getKey());
|
|
|
|
- skuStockRecord.setInternalSaleStock(entry.getValue());
|
|
|
|
- updateList.add(skuStockRecord);
|
|
|
|
- }
|
|
|
|
- for (Map.Entry<Long, Integer> entry : taxMap.entrySet()) {
|
|
|
|
- PmsProductSkuStockRecord skuStockRecord = new PmsProductSkuStockRecord();
|
|
|
|
- skuStockRecord.setId(entry.getKey());
|
|
|
|
- skuStockRecord.setTaxSaleStock(entry.getValue());
|
|
|
|
- updateList.add(skuStockRecord);
|
|
|
|
- }
|
|
|
|
- for (PmsProductSkuStockRecord pmsProductSkuStockRecord : updateList) {
|
|
|
|
- pmsProductSkuStockRecordMapper.updateStock(pmsProductSkuStockRecord);
|
|
|
|
- }
|
|
|
|
|
|
+ .filter(o -> !StringUtils.isEmpty(o)).collect(Collectors.toList());
|
|
|
|
+ if (!CollectionUtils.isEmpty(stockJsons)) {
|
|
|
|
+ List<OrderSkuSync.SkuSync> skuSyncList = new ArrayList<>();
|
|
|
|
+ for (String stockJson : stockJsons) {
|
|
|
|
+ List<OrderSkuSync.SkuSync> skuSyncs = JSON.parseArray(stockJson, OrderSkuSync.SkuSync.class);
|
|
|
|
+ skuSyncList.addAll(skuSyncs);
|
|
|
|
+ }
|
|
|
|
+ Map<Long, Integer> internalMap = skuSyncList.stream().filter(o -> "INTERNAL".equals(o.getType()))
|
|
|
|
+ .collect(Collectors.groupingBy(OrderSkuSync.SkuSync::getRecordId, Collectors.summingInt(OrderSkuSync.SkuSync::getCount)));
|
|
|
|
+ Map<Long, Integer> taxMap = skuSyncList.stream().filter(o -> "TAX".equals(o.getType()))
|
|
|
|
+ .collect(Collectors.groupingBy(OrderSkuSync.SkuSync::getRecordId, Collectors.summingInt(OrderSkuSync.SkuSync::getCount)));
|
|
|
|
+ List<PmsProductSkuStockRecord> updateList = new ArrayList<>();
|
|
|
|
+ for (Map.Entry<Long, Integer> entry : internalMap.entrySet()) {
|
|
|
|
+ PmsProductSkuStockRecord skuStockRecord = new PmsProductSkuStockRecord();
|
|
|
|
+ skuStockRecord.setId(entry.getKey());
|
|
|
|
+ skuStockRecord.setInternalSaleStock(entry.getValue());
|
|
|
|
+ updateList.add(skuStockRecord);
|
|
|
|
+ }
|
|
|
|
+ for (Map.Entry<Long, Integer> entry : taxMap.entrySet()) {
|
|
|
|
+ PmsProductSkuStockRecord skuStockRecord = new PmsProductSkuStockRecord();
|
|
|
|
+ skuStockRecord.setId(entry.getKey());
|
|
|
|
+ skuStockRecord.setTaxSaleStock(entry.getValue());
|
|
|
|
+ updateList.add(skuStockRecord);
|
|
|
|
+ }
|
|
|
|
+ for (PmsProductSkuStockRecord pmsProductSkuStockRecord : updateList) {
|
|
|
|
+ pmsProductSkuStockRecordMapper.updateStock(pmsProductSkuStockRecord);
|
|
|
|
+ }
|
|
|
|
+ List<Long> skuIds = updateList.stream().map(PmsProductSkuStockRecord::getProductSkuId).collect(Collectors.toList());
|
|
|
|
+ if (!CollectionUtils.isEmpty(skuIds)) {
|
|
|
|
+ syncSkuStock(skuIds);
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
OmsOrder record = new OmsOrder();
|
|
OmsOrder record = new OmsOrder();
|