...
|
...
|
@@ -1050,11 +1050,29 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
|
String depositCode = dscNode.getDepositCode();
|
|
|
StorageDeposit psd = dscNode.getPsd();
|
|
|
Integer ownerUid = psd.getOwnerUid();
|
|
|
logger.info("processOrderDeliverByDepositGoods orderCode {} depositCode {}", orderCode, depositCode);
|
|
|
Integer sellerUid = buyerOrder.getSellerUid();
|
|
|
Integer skup;
|
|
|
boolean isExistSkup = Objects.nonNull(skup = psd.getNewSkup()) && skup>0;
|
|
|
logger.info("processOrderDeliverByDepositGoods orderCode {} depositCode {} skup {}", orderCode, depositCode, skup);
|
|
|
|
|
|
//寄存商品 出库准备
|
|
|
int rows = depositService.updateDepositWaitToPick(ownerUid, depositCode, orderCode, Optional.ofNullable(preparedData.getBuyerOrderGoods())
|
|
|
.map(BuyerOrderGoods::getSkup).orElse(0));
|
|
|
logger.info("processOrderDeliverByDepositGoods orderCode {} depositCode {} updateDepositWaitToPick {}", orderCode, depositCode, rows);
|
|
|
int rows = 0;
|
|
|
boolean isInstockDepositOrder = dscNode.isInstockDepositOrder();
|
|
|
if (isInstockDepositOrder){
|
|
|
if(isExistSkup)
|
|
|
try {
|
|
|
rows = depositService.changeOwner(sellerUid, skup, orderCode, buyerUid, true) ? 1 : 0;
|
|
|
}catch (Exception ex){
|
|
|
logger.warn("processOrderDeliverByDepositGoods fail, processInstockDepositOrderAfterDeliver invoke depositService.changeOwner fail, sellerUid {}, orderCode {},skup {}",
|
|
|
sellerUid, orderCode, skup, ex);
|
|
|
rows = 0;
|
|
|
}
|
|
|
}else {
|
|
|
rows = depositService.updateDepositWaitToPick(ownerUid, depositCode, orderCode, Optional.ofNullable(preparedData.getBuyerOrderGoods())
|
|
|
.map(BuyerOrderGoods::getSkup).orElse(0));
|
|
|
logger.info("processOrderDeliverByDepositGoods orderCode {} depositCode {} updateDepositWaitToPick {}", orderCode, depositCode, rows);
|
|
|
}
|
|
|
|
|
|
if (rows>0){
|
|
|
//bind deposit code 2 buyer order
|
|
|
buyerOrderMetaService.saveDepositCode(depositCode, buyerUid, orderCode);
|
...
|
...
|
@@ -1064,10 +1082,8 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
|
//互斥:申请一个分布锁,锁定订单,防止与发货后取消并发
|
|
|
|
|
|
//skup 下架
|
|
|
Integer skup;
|
|
|
Integer productId;
|
|
|
//skup 竟然在数据库有默认值0,什么鬼!!!
|
|
|
if (Objects.nonNull(skup = psd.getNewSkup()) && skup>0){
|
|
|
if (isExistSkup){
|
|
|
// 减库存
|
|
|
asyncExecutePrdTask(psd);
|
|
|
//
|
...
|
...
|
|